Project CARS Modding Questions & WIP

Quick test of exterior wiper swipe of windows on my tester car.
....and I blacked out the glass on purpose.
Well...looks like I got the modeling/mapping sorted out for this game.:)
pCARS_Ext_Rain.jpg
 
Last edited:
question about custom skin adding. I can only add one custom livery for car, or more? Im asking, because if I have two liveries for one car, they copy/owerwrite each other file and I have only one livery, but how to add two or more custom liveries in a folder of 'custom liveries'?
 
@Serj
I've haven't been dealing with liveries in the game, but I can steer you the right way...
There's a bit of work to setting it up....
The RCF files have to be edited to allow more liverys. Each car has 2 RCF files (standard res & high res)
In order to edit RCF files, you would have to force the game to use unpacked (loose) files for some portions of the game.
What I describe below would be best done as a Mod, applied via the mod enabler.

First, vehiclespersistent.bff has to be unpacked, those files renamed correctly, folders created and placing the renamed files into correct folders. A lot of the files in vehiclespersistent.bff are repeat files (such as HDT) that are contained in other BFFs (covered in unpacked boot files by Autoprophet). So, if you already are applying boot files by Autoprophet as a mod, you could just ignore any repeat files in vehiclespersistent.bff

Second, after getting all files/folders in order for unpacked vehiclespersistent.bff, a dummy BFF needs to be used. This is just a matter of copying a different BFF and renaming as vehiclespersistent.bff
It might require trial and error to find an existing BFF file that will work as a dummy BFF.
Note: if you are making changes directly in the game, without the use of mod enabler, always backup original BFF files before using a dummy BFF.

Third, the main vehicle BFF also contains the 2 RCF files and that BFF needs to be unpacked, files renamed and placed into correct folders, and a dummy BFF applied. The file names for most files in the vehicle BFF are easy to determine (either by hex editor, note pad, or XML editor depending on file extension). The textures (DDS files) take a little effort to sort out and rename.

After all that is done, you should be able to freely edit the RCF files to add entries for more liverys.
 
Last edited:
There is a member here that has decoded (translated) some of the physics files to the game. I'm hoping that this post will make him consider the idea of sharing the work he has done with others.
I will now provide the decode (translation) for the gearbox file, which was not decoded by the other member. There is a typical pattern to laying in the gears. So, it's very easy to add (or remove) data. Of course, a few registers need to be adjusted when expanding/contracting the data contained within the file. I've noted all registers that require adjustments, too.

Here is a pic of the Audi A1 Quattro gearbox data....
gearbox.jpg

Here is the decode (translation)....
Code:
Audi A1 Quattro Gearbox translation
by JDougNY
8/24/2015 Rev 1.0

This translation can be used to understand any gearbox file,
no matter the amount of gears contained within the file.

0x00-0x07 = common data for every GDF

0x08-0x0B = 66000000 (Little Endian) = 102 // (Decimal) Total byte length of entire file.
Can vary depending upon amount of primary and final gears you want to have.

0x0C-0x0F = 01000000 (Little Endian) = 1 // (Decimal) common data for every GDF

0x10-0x13 = BABA1010 // common data for every GDF

0x14-0x17 = 4A000000 (Little Endian) = 74 // (Decimal) Total # of bytes for gearbox/bevel/final data.
The byte count starts at address 0x1C and ends at the end of the file.
This value will vary based upon the amount of gears included in the file.

0x18-0x1B = 1C000000 // common data for every GDF

0x1C-0x20 = 60 88 DE 24 0F // common data for every GDF.
Indicates the beginning of primary gear data.

NOTE: Each primary gear is flagged by this string of bytes "24 9D 58 F9 64 02".
After that flag, the 2 bytes following represent the 2 cogs, which in the old text form
would read "ratio=(xx,xx)".  Each byte is in hex and needs to be converted to
decimal to get the correct cog value.

0x21-0x26 = 24 9D 58 F9 64 02 // Marker for 1st gear
0x27 = 0E = 14 // (Decimal) 1st gear cog #1
0x28 = 3C = 60 // (Decimal) 1st gear cog #2
1st gear Ratio=(14,60) // 4.2857

0x29-0x2E = 24 9D 58 F9 64 02 // Marker for 2nd gear
0x2F = 0C = 12 // (Decimal) 2nd gear cog #1
0x30 = 20 = 32 // (Decimal) 2nd gear cog #2
2nd gear Ratio=(12,32) // 2.6666

0x31-0x36 = 24 9D 58 F9 64 02 // Marker for 3rd gear
0x37 = 1C = 28 // (Decimal) 3rd gear cog #1
0x38 = 35 = 53 // (Decimal) 3rd gear cog #2
3rd gear Ratio=(28,53) // 1.8928

0x39-0x3E = 24 9D 58 F9 64 02 // Marker for 4th gear
0x3F = 12 = 18 // (Decimal) 4th gear cog #1
0x40 = 19 = 25 // (Decimal) 4th gear cog #2
4th gear Ratio=(18,25) // 1.3888

0x41-0x46 = 24 9D 58 F9 64 02 // Marker for 5th gear
0x47 = 1F = 31 // (Decimal) 5th gear cog #1
0x48 = 22 = 34 // (Decimal) 5th gear cog #2
5th gear Ratio=(31,34) // 1.0967

0x49-0x4E = 24 9D 58 F9 64 02 // Marker for 6th gear
0x4F = 22 = 34 // (Decimal) 6th gear cog #1
0x50 = 1F = 31 // (Decimal) 6th gear cog #2
6th gear Ratio=(34,31) // 0.9117

0x51-55 = E0 97 65 B7 AF // common data for every GDF.
Indicates the end of primary gear data.

NOTE: The bevel is flagged by this string of bytes "24 3C 5B EF 62 02".
After that flag, the 2 bytes following represent the 2 cogs, which in the old text form
would read "bevel=(xx,xx)".  Each byte is in hex and needs to be converted to
decimal to get the correct cog value.

0x56-0x5B = 24 3C 5B EF 62 02 // Marker for bevel
0x5C = 01 = 1 // (Decimal) bevel cog #1
0x5D = 01 = 1 // (Decimal) bevel cog #2
bevel=(1,1)

NOTE: Final drive gear(s) is(are) flagged by this string of bytes "24 9D 58 F9 64 02".
After that flag, the 2 bytes following represent the 2 cogs, which in the old text form
would read "ratio=(xx,xx)".  Each byte is in hex and needs to be converted to
decimal to get the correct cog value.

0x5E-0x63 = 24 9D 58 F9 64 02 // Marker for final gear
0x64 = 17 = 23 // (Decimal) Final gear cog #1
0x65 = 47 = 71 // (Decimal) Final gear cog #2
Final gear ratio=(23,71) // 3.0869
[/SIZE]
 
Last edited:
@Serj
I've haven't been dealing with liveries in the game, but I can steer you the right way...
There's a bit of work to setting it up....
The RCF files have to be edited to allow more liverys. Each car has 2 RCF files (standard res & high res)
In order to edit RCF files, you would have to force the game to use unpacked (loose) files for some portions of the game.
What I describe below would be best done as a Mod, applied via the mod enabler.

First, vehiclespersistent.bff has to be unpacked, those files renamed correctly, folders created and placing the renamed files into correct folders. A lot of the files in vehiclespersistent.bff are repeat files (such as HDT) that are contained in other BFFs (covered in unpacked boot files by Autoprophet). So, if you already are applying boot files by Autoprophet as a mod, you could just ignore any repeat files in vehiclespersistent.bff

Second, after getting all files/folders in order for unpacked vehiclespersistent.bff, a dummy BFF needs to be used. This is just a matter of copying a different BFF and renaming as vehiclespersistent.bff
It might require trial and error to find an existing BFF file that will work as a dummy BFF.
Note: if you are making changes directly in the game, without the use of mod enabler, always backup original BFF files before using a dummy BFF.

Third, the main vehicle BFF also contains the 2 RCF files and that BFF needs to be unpacked, files renamed and placed into correct folders, and a dummy BFF applied. The file names for most files in the vehicle BFF are easy to determine (either by hex editor, note pad, or XML editor depending on file extension). The textures (DDS files) take a little effort to sort out and rename.

After all that is done, you should be able to freely edit the RCF files to add entries for more liverys.
Thank you SO much for your work JDougNY...i too have been wanting to mod pcars...especially being able to have more skinnable cars. I am using unpacked boot files by Autoprophet does the above info apply the same when using this mod ? I am assuming vehiclespersistent.bff will not need unpacking when using this mod...and also will not need to do step 2 of the above ? would this mean all i would need to accomplish is the third step if using the Autoprophet mod ?
 
Last edited:
@Droid1968
Some of the files from vehiclespersistent.bff are needed (meaning they are not a part of the boot files by Autoprophet). So, it would be a matter of unpacking vehiclespersistent.bff and discarding the files already included in the boot files by Autoprophet.
So, files such as all of the tyre HDT files and all *.UDT files, unpacked from vehiclespersistent.bff, can be discarded. The remaining files would then be renamed and placed into proper folders, along with applying a dummy BFF for vehiclespersistent.bff. That would complete steps 1 and 2.

Then, you can proceed to the third step.

I do recommend testing the game, after completing steps 1 and 2, to make sure there are no problems (crashes, game freezing, etc).

If Aluigi could determine how to unpack pCars with proper filenames and folders, all of this would be much simpler.
 
Last edited:
F1 Livery Mod

Contains 9 2015 team liveries, 2014 Marussia MR03 liveries, 2014 Caterham CT01 liveries, 2013 McLaren Mercedes MP4/28 liveries, 2009 Renault R26 liveries, 2009 BMW Sauber F1.09 liveries, 2004 BAR Jenson Button livery

What do you think?

I didn't create the liveries (although I did slightly change some details),, but carried them together and made them available.

F1 Livery Mod 1.jpg
F1 Livery Mod 2.jpg

F1 Livery Mod 3.jpg
F1 Livery Mod 4.jpg
F1 Livery Mod 5.jpg
 
Last edited:
Anyone tried to mess with the tracks yet? How to save the .dds file correctly? I've tried modding the track textures (Emirates), but after importing back edited textures the game just won't launch.
Used DXT1 (ARGB 4 bpp | 1 bit alpha) to save the file and generated new MIP maps... but the game crashes.
 
There is a member here that has decoded (translated) some of the physics files to the game. I'm hoping that this post will make him consider the idea of sharing the work he has done with others.
I will now provide the decode (translation) for the gearbox file, which was not decoded by the other member. There is a typical pattern to laying in the gears. So, it's very easy to add (or remove) data. Of course, a few registers need to be adjusted when expanding/contracting the data contained within the file. I've noted all registers that require adjustments, too.

Great work on the gearbox files, I see there is four different *df or what I call data files:

gdf = Gearbox
edf = ? Engine
cdf = ???
sdf = ???

Any chance of a simple program for decoding these files? Or even a decoding string?
 
gdf = Gearbox
edf = ? Engine
cdf = ???
sdf = ???

Any chance of a simple program for decoding these files? Or even a decoding string?
Some of the files vary in byte length and content/parameters. So, there are gearboxes (GDFbin) with different amounts of gears, engines (EDFbin) that may have extended RPM range, chassis (CDFbin) with varying amount of parameters, VDFM files vary in byte length with tyre offset/dimension data not always at the same addresses, etc, etc.
Shiimis made a Python script to create physics files from a template set of files. However, those template files don't cover all of the parameters that exist in some of the files (such as CDFbin), and he didn't do anything for gearbox or tyre HDT (HDT being another file with varying parameters file to file.

Within the physics file, sections are marked with a byte string (such as 22 xx xx xx xx). In some files, the section flags are different file to file. So, again, each file requires it's own decode. Some files (such are gearbox) are consistent with section flags file to file.

So, I suppose it's safe to say, there is no easy way to handle the physics files. The Python script from Shiimis can help to get a decent baseline set of parameters established in each physics file. However, any additional parameters needed will require hunting for a different "donor" file and decoding/editing.
 
F1 Livery Mod

Contains 9 2015 team liveries, 2014 Marussia MR03 liveries, 2014 Caterham CT01 liveries, 2013 McLaren Mercedes MP4/28 liveries, 2009 Renault R26 liveries, 2009 BMW Sauber F1.09 liveries, 2004 BAR Jenson Button livery

What do you think?

I didn't create the liveries (although I did slightly change some details),, but carried them together and made them available.

View attachment 105161

Because some users are asking for it, I think about uploading this to RD. Just give me some days to look up the designers of the liveries again and ask them if it's okay to (re-)upload their (tweaked) content.

Some new previews, shot on my new rig:

2015-10-22_00002.jpg
2015-10-22_00001_rs.jpg
 
Because some users are asking for it, I think about uploading this to RD. Just give me some days to look up the designers of the liveries again and ask them if it's okay to (re-)upload their (tweaked) content.

Some new previews, shot on my new rig:

View attachment 108916 View attachment 108917
Hi
I don´t know if you already srote it , but how you were able to edit default skins ?? I mean, are there some folders to do it in ?? im making skins and liveries so i can really appreciate it.. Thanks and good luck mate ;)
 
Guys,

Please help! I've done the 2015 911 RSR Porsche team Manthey skin, to crown it off I have the tyre model and skin from the new bentley GT3 skin and a wheel from another.

How do I get them into the game?
 
So, I suppose it's safe to say, there is no easy way to handle the physics files. The Python script from Shiimis can help to get a decent baseline set of parameters established in each physics file. However, any additional parameters needed will require hunting for a different "donor" file and decoding/editing.

And if you change one setting in a file, I tried this with the final drive ratio in the gearbox file and the car wouldn't load, the files must be resigned or something.

This is why I love GTR2 etc because you can alter things and the game still works fine.
 
Back
Top