Project CARS Modding Questions & WIP

I'd be happy to include anything you've tackled in the public folder.

Side note: looks like I've found a universal dummy BFF. Go to S2U and grab "GUIRIVALINSIGNIA.bff". I'm using/testing it on my unlocker to dummy out everything (will include change on future versions). It also seems to work perfectly for all vehicle related BFFs. File size of GUIRIVALINSIGNIA.bff is only 55.2kb, the few texture files within don't conflict with anything in pCars. Should I find no issues, this will really cut down the size of packages where 100's of BFF files are dummied out (such as my "final" unlocker and your mods).
Oh man that's fantastic, thank you. I'll include that dummy in the next version - that's a huge benefit - there's half a GB of dummy files in the Custom Livery Tool data folder. Will be sure to utilize that when I have to update for patch 10.

w.r.t. the career_championships.bin, not quite finished decoding/documenting yet, but some additional info for inquiring people:

Career Championships.bin - controls the parameters of each career path: what series are available, event configuration (contract required, car required), and session configuration (practice, quali, race, grid placement, time of day, weather). In my head, I've divided this up into 9 sections:
  • Header and global list of Race Series (contains record keeping for file length)
  • Data Section 1 - Event and session data
  • String Section 1 - Event names
  • Data Section 2 - List of addresses for Events within series
  • String Section 2 - Cars, Classes, Tracks
  • Data Section 3 - not quite sure yet, looks like a series of reference points and offset pointers
  • String Section 3 - Event Names, Weather Conditions, Session Types, misc.
  • Data Section 4 - List of pointers to weather conditions per session for each event
  • Footer

Most pointers have an offset of 0x50.

Things like location, time of day, weather can all be changed here. Note that the contract and teams are determined elsewhere though, so changing the cars in the career events is not quite so straight forward.

Career Motorsport Teams.bin - controls the cars for each series. Not quite as familiar with this yet, but it appears that there is a datablock for each series, with 72 byte blocks for each car to determine the car, the team and the livery, then a list of all liveries at the end of the series block.

I've had success getting the DLC cars into the Endurance series where they were left out - will be putting out a mod package for this soon.

Pointers for this file have an offset of 0x68.

Career Contracts.bin - determines the car and team and livery. This will need to be edited to allow access to series if they are modified for different cars or if new series are somehow added. Haven't dug into this file yet.
 
Last edited:
@Gambit74
Here is the RUF RGT8 GT3 wheel mod...that's what I've named it at least. http://www.mediafire.com/download/8f3k2opm6bxjxfv/RUF_RGT8_GT3_Wheel_Mod.rar

I had to open up more of the game to make the game use the new wheels. So, the exterior, cockpit and GUI BFF files for the car are unpacked and dummy BFF files are provided. Wheels from Radical have been resized and directly replace the original wheel models.
New material files for the wheels are MTX and named RUF_RGT8_GT3_RIM2xxxxx.mtx. New textures for the wheels are named ruf_rgt8_gt3_wheel2xxxxxx.dds

Instructions to use...
- Deactivate original exterior unlock package
- Transfer your edited RCF files and any new textures you had into this new mod
- Activate "_RUF_RGT8_GT3 Wheel Mod"

In the RCF files, there are texture replacements for the original wheel textures. Obviously, none of those entries will function, due to new textures named ruf_rgt8_gt3_wheel2xxxxxx.dds. Should you decide to color those wheel textures in various ways, you can always edit those texture replacement entries or just remove them all.

Additional note: SMS screwed up the deformation for the tyres (for this car at least). The inner bead of the tyre deforms into the wheel when accelerating and braking (inner bead shouldn't move at all). So, there is just a tiny bit of inner bead clipping at the very bottom of the wheel. I widened the wheels as far as is reasonable...any more and you would start to see daylight between the wheel/trye.

Thank you. :)
 
Hello, somebody can help me, in rainy weather, there's this and raindrops on the body look weird...
d60554ec33b5d7b83fd95c9b1019a689.jpg

but in sunny weather, all is well...
6552d2cd5c1ce2ae8e9375aac47e6bd6.jpg

MEB body files I edited in winhex, except the interior.
 
@Stlaker90
It appears you have some hex editing errors or some missing data in your exterior Mebs, because it looks like there are odd black spots being thrown on the track when in the rain.
At the minimum (for most exterior mebs), you should have data sections 2,2,0 2,4,0 2,5,0 UV0(1,3,0) UV2(1,3,2) and 0,3,3

If 2,4,0 and 2,5,0 are missing, you would make a copy of 2,2,0. Sometimes the copied data for missing sections 2,4,0 2,5,0 works as-is. Sometimes there's a need to replace the data with a pattern of 0000803F 00000000 00000000. There's a parameter rules document circulating with a different fill patten, but what I just listed is what I've seen in some original pCars files. Most times, when I export from Zmdodeler, I already have data written into 2,4,0 and 2,5,0 and it works without overwriting with any fill pattern.

Next, UV2(1,3,2) should be a copy of UV0(1,3,0). If you have a Meb with light data (external state ID set), you will already have UV4(1,3,4). In this case do not overwrite the data in UV4 ,because you will lose those external state ID. For body_LodX mebs you would copy UV0(1,3,0) to UV4(1,3,4). Later, you can UV map wiper mask for exterior window, exporting to a temporary meb, then copy UV0(1,3,0) from temporary meb pasting into UV4(1,3,4) of your good meb.

For 0,3,3, copy section 4,6,0 and paste at the end of UV2(1,3,2) section. Rename section as 00000000 03000000 03000000, then fill all data in section with zero in hex.

Cockpit windscreen has 2,2,0 2,4,0 2,5,0 UV0(1,3,0) UV1(1,3,1) UV2(1,3,2) 0,3,3 UV4(1,3,4). Front windscreen uses material with wiper support, side windscreen uses material without wiper support. Initial export of windscreen has front and side meshes mapped to reflection texture. If 2,4,0 and 2,5,0 are missing, then create them. Next, copy UV0(1,3,0) to UV1(1,3,1), UV2(1,3,2) and UV4(1,3,4). Create section 0,3,3 (if missing) with data all zeroes. Next, create a temporary meb that has front windscreen mapped to wiper trails texture. From the temporary meb, copy UV0(1,3,0) to UV4(1,3,4) of your good windscreen meb.

Note for windscreen: check the direction of normals, prior to exporting. Normals should be pointing inward (to the inside of the cockpit). If the normals are facing outwards, you should be able to easily choose "Surface\Normlals\Calculate" to make the normals point inward.

After you have successfully edited all mebs and have no graphical problems on the track, you may need to fine tune the size of raindrops and rain streaks. If using MTX, just edit rainTileScaleU, rainAtreakTileScaleV, rainStreakTileScaleU and rainAtreakTileScaleV. Lower value makes larger drops/steaks. Higher value makes smaller drops/streaks.

Also, exterior side windows use windows material without wiper support. Exterior front window uses window material with wiper support. Same thing for cockpit windscreen.

EDIT: depending on what you do in Zmodeler, Zmod might include UV3(1,3,3), which was supposed to be 0,3,3. To use as 0,3,3, 1/2 of the data in section has to be deleted from the file.
 
Last edited:
Hey there ! I'm beginning to work on physics editing, as I'd like to make the whole GT3 field more balanced ( as some people may know, some cars suffer from very poor engine HP ). As the future DLC will introduce Corvette and Cadillac ( which... are already IMO behing in terms of performance ), I'd love to know if some people were able to extract those BFFs like JDougNY can do ?
Would be really nice !

PM me if you want to talk about it. My aim is to upgrade : "Aston GTE, Ginetta, Corvette and Cadillac"
 
I deal with the problem, just as it turned out, on the disks converted from Forza completely absent section UV0(1,3,0) UV2(1,3,2)....
I my prior response, I said that most Mebs follow a similar format. Brake discs are a little different.
Discs have sections 2,2,0 2,4,0 2,5,0 and only UV1(1,3,1).
In Zmod, you would open material editor and add LIGHT for the User-defined property, under the extensions section. The shader and technique for material in Zmod is "wheels (Wheels_Opaque)". An example for disc material in Zmod is.....
aston_martin_db9_disc wheels (Wheels_Opaque)
Don't forget to set the external state ID's for each brake disc, before exporting.

After exporting, use disc material from pCars with shader "wheels.fx" and technique "Wheels"
Zmod will write to UV4(1,3,4). Just do a quick hex edit to change UV4 to UV1(1,3,1).

Also, the best thing to do is to compare your amount of data sections to a similar Meb from an original car in Pcars.
 
Okay guys. I acheived to unpack and sort almost all files for a car. But when trying to use it. I still lack some pieces ( the rear diffuser and the engine sounds ).

How are you able to clearly know what name the file is supposed to have ? And how do you make the difference between a .meb and a _dmg.meb ?
 
Hey there ! I'm beginning to work on physics editing, as I'd like to make the whole GT3 field more balanced ( as some people may know, some cars suffer from very poor engine HP ). As the future DLC will introduce Corvette and Cadillac ( which... are already IMO behing in terms of performance ), I'd love to know if some people were able to extract those BFFs like JDougNY can do ?
Would be really nice !
PM me if you want to talk about it. My aim is to upgrade : "Aston GTE, Ginetta, Corvette and Cadillac"
Regarding how correct file and folder names are acquired....

Some time ago, team Autoprophet posted instructions, tool and scripts here ... http://tieba.baidu.com/p/4148364163
Use a browser like Google Chrome to translate to a language you can understand.
The batch renaming strings don't translate correctly....

The batch renaming string (file name expression to change original file names to alphabetical characters in the order the files are loaded into game memory is....
${BASE}<scalar($&=~tr/a-f/K-P/,$&=~tr/0-9/A-J/,$&)>

The batch renaming string (file name expression) to change files renamed in above step to correct file names and move into correct folders per the cleaned up "index.txt" file is.....
#<file_line('index.txt',$match)>
=====================================================
Regarding what you want to change...
probably easier for me to provide you the renamed files. We can discuss the editing of EDFbin via P.M., see if that is something you want to tackle. If you are not familiar with interpreting existing torque curves and the use of a tool such as physicseditor to create a new torque curve, you might want me to handle this for you.
Also, if you are not familiar with reading hex code (little endian, byte, word, float, decimal, integer, expanding data registers, etc)....you might need me to handle this for you.

I do have a more recent Windows based tool from Shiimis (not his old Python version), which creates new coded physics files. However, files such as Chassis CDFbin and Engine EDFbin vary in format/properties and important data can be lost, when using a generic list of data to generate a new file. So, when I make an engine, I only use the RPMTorque data from EDFbin generated by Shiimis script and paste that into a donor EDFbin from a car with similar engine. I manually edit the data after the RPMTorque section. Sometimes, I need to add more bytes/words to expand the RPMTorque data section for higher revving engine. I explain in the translation the registers that need to be revised when adding in more data.
 
Last edited:
Crowtrobot is gonna love this :)
Of course - I did the decoding and annotations ;)

There will be more to come for the careermotorsportteams (which controls the grid for the career races) and career_championships which controls the setup for the career races (weather/track/etc). I'm going to release a mod soon that will allow use of the DLC cars in the Endurance career path.

It should be feasible to write some code to read in the binary files and populate structures to bring all this out into a GUI for people to edit the career, but to add to the career would be quite an endeavor.
 
Last edited:
@JDougNY, can I get you to do me one last favour...?
You know what a great job you did of modding the wheels for me on the RUF... Could you please cut the ruf badge off the bonnet for me, on the same mod as the wheels.... Please.
 
@JDougNY, . Could you please cut the ruf badge off the bonnet for me, on the same mod as the wheels.... Please.
Download link... http://www.mediafire.com/download/nypktjbqfr1mbdo/RUF_RGT8_GT3_Wheel_Mod_NoBadge.rar
I've only included the new bonnet files and new dummy BFF files (place BFF files in "Pakfiles\Vehicles\" folder of the mod). Just overwrite existing files with these new files. Remember to de-activate and re-activate the mod.

The reason for the new BFF files is that I supplied you with "experimental" BFFs in original mod. When I was running a test of edited bonnets with 19 AI in the rain, my save game corrupted. Just to be on the safe side, I supplied you with more typical dummy BFF files in this bonnet modification.
 
Back
Top