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
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 ?@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.
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.
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.gdf = Gearbox
edf = ? Engine
cdf = ???
sdf = ???
Any chance of a simple program for decoding these files? Or even a decoding string?
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
HiBecause 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
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.