NFSAddons Forums

Main Menu

NFS4 Career Editing

Started by DrSpeed, May 31, 2022, 9:56 AM

DrSpeed

Hello!
I'm here again with more hex editing magic. This time it's the career mode for NFS4. The game is working with two files: CircDef.cdb and TierDef.cdb, both located in the Text folder.

Let's start with CircDef.cdb, One Circuit is 150 blocks big.
In this example, we're gonna look into the all addresses that define European Tour - Circuit 1.

00000150
Circuit ID number. I highly recommend you only look at this address.

00000154
Event type. The known values here is not the same as the replay/ghost files. Which means Hot Pursuit can't be loaded in the career mode unfortunately.
00 = Tournament
01 = Knockout
02 = High Stakes

00000158
Entry fee, written in float.

0000015C
Number of tracks, can't be more than 8.

00000160
Number of opponents. Max number in tournament is 7, you can have 11, but the point system breaks and the game will crash after the last race. Knockout can safely have 8 opponents. High Stakes better have 1.

00000164
Number of laps, normally set to 2, 4 or 8. Other values is untested.

00000168
This sets the restriction of the Circuit. The next address depends on what value this have.
00 = Class
01 = Class and under
02 = Open Entry
03 = Model
04 = Manufacturer

0000016C
If you set "Class" or "Class and under" these are the possible values:
00 = Class AAA
01 = Class AA
02 = Class A
03 = Class B

If it's set to "Model" you can restrict the circuit to one specific model (like in Porsche Pro Cup). The known values are the same as the serial number of the car.
01 = Ferrari F50
02 = McLaren F1 GTR
03 = BMW Z3
04 = Mercedes SLK-230
05 = Chevrolet Camaro
06 = BMW M5
0D = Pontiac Firebird
0E = Porsche 911 Turbo
10 = Lamborghini Diablo SV
12 = Mercedes CLK-GTR
13 = Chevrolet Corvette
1F = Ferrari 550 Maranello
23 = Jaguar XKR

And if it's set to "Manufacturer", the game only accept cars with the specific manufacturer (Chevrolet Pro Cup for example). These values comes from MAN.DAT, also in the Text folder. You can modify that file to add more manufacturers.
00 = Ferrari
01 = Lamborghini
02 = Ford
03 = Mercedes
04 = Italdesign
05 = McLaren
06 = Jaguar
07 = BMW
08 = Porsche
09 = Chevrolet
0A = Pontiac
0B = Nissan

00000170-0000018C
Price money for 1st to 8th place, written in float. Only first place can have a car as a price. This address will also set what your opponent will drive in High Stakes mode.

Pro Cup price cars:
01 = Bonus Camaro
02 = Bonus Porsche
09 = La Niña

High Stakes opponent:
03 = Mercedes SLK 230
04 = Jaguar XKR
05 = Ferrari 550 Maranello
06 = Lamborghini Diablo SV
07 = Mercedes CLK-GTR
08 = McLaren F1 GTR

00000190-000001AC
Possible it's price money for 9th to 16th place.

000001B0
Unknown. Values that are used here are: 0, 1, 3.

000001B4
Opponent skill level.
02 = Beginner
05 = Pro
08 = Champion

000001B8
Unknown. Values that are used here are: 1, 3, 4, 6, 8.

000001BC
Unknown. No idea what this is.

000001C0
The first track of a Tournament and Knockout or the one track for High Stakes mode.
00 = Celtic Ruins
01 = Landstrasse
02 = Dolphin Cove
03 = Kindiak Park
04 = Route Adonf
05 = Durham Road
06 = Snowy Ridge
07 = Raceway 1
08 = Raceway 2
09 = Raceway 3
0A = Hometown
0B = Redrock Ridge
0C = Atlantica
0D = Rocky Pass
0E = Country Woods
0F = Lost Canyons
10 = Aquatica
11 = Summit
12 = Empire City

000001C4
Weather.
0 = Off
1 = On

000001C8
Time of day.
0 = Day
1 = Night

000001C
Mirrored.
0 = Off
1 = On

000001D0
Direction.
0 = Forward
1 = Backward

000001D4
Unknown.

000001D8
Unknown.

000001DC
And this is the second track in a Tournament or Knockout. You should now see the pattern (1C from the first track).


Next file is TierDef.cdb. This controls where each circuit shows up in a Tier.

0000006C
This is most likely the ID of the Event.

00000070
This is the name of the Event. I've tested 28 long sting of text with no problems.

00000098
I thought this controlled if the event was locked or not, but doens't seem to work correctly. So I stopped bothering with it.

0000009C
This is the number of Circuits in the Event. Can't be more than 5.

000000A0-000000B0
The ID number of the 1-5 circuits (4 bytes each). European Tour has nr 1 and 2. High Stakes Tour has 3, 4 and 5, and so on. The ID's comes from CircDef.cdb.

000000D0 and 000000D4
This unlocks the next tier (second address is if you're unlocking a Pro Cup). This also doens't work half the time if you edit it.


And that's pretty much it. Be aware that your game will crash if you're not careful (sometimes it will simply return to the menu). I decided to post my research so far and hopefully we can have a fully documented list of these files.

Before I forget, I've discovered it's possible to expand career mode so it's even longer. I'm playtesting it as I'm writing this post.

bug110

DAAAMN, this is interesting
maybe after im done with PU ill start a HS career mod :)

Zipper

Have you tried KMEdit? If I recall correctly it claims to edit career mode. It's old AF, and only German so I couldn't do much with it.
Always looking for NFSIISE source code

DrSpeed

Yes I have, and I also couldn't understand much of it. Which is the reason why I did this complicated workaround.