Offset | Bytes | Meanings | Possible values |
0-0fh | 15 | I don't know - but 4th byte is always 64h=100 (maybe version 1.00 ?) | - |
18h | 4 | Session ID | 00 - ? 01 - practice 02 - qualification 03-05 - warmup 06 - race start 07 - race (resume) 08 - race over |
1ch | 4 | Right Front (RF) Tire Compound | 00 - soft, 01-medium, 02-hard |
20h | 4 | Right Front (RF) Tire Pressure | - |
24h | 4 | Right Rear (RR) Tire Compound | 00 - soft, 01-medium, 02-hard |
28h | 4 | Right Rear (RR) Tire Pressure | - |
2ch | 4 | Left Rear (LR) Tire Compound | 00 - soft, 01-medium, 02-hard |
30h | 4 | Left Rear (LR) Tire Pressure | - |
34h | 4 | Left Front (LF) Tire Compound | 00 - soft, 01-medium, 02-hard |
38h | 4 | Left Front (LF) Tire Pressure | - |
3ch | 4 | Fuel | value * 1000 |
40h | 4 | SPOILER: Front Air Dam | value * 10 |
44h | 4 | SPOILER: Rear | value * 1000 |
48h | 4 | Stagger | value * 1000 |
4ch | 4 | SUSPENSION: Right Front (RF) Camber | signed long |
58h | 4 | SUSPENSION: Left Front (LF) Camber | signed long |
5ch | 4 | SHOCKS: Right Front (RF) | - |
60h | 4 | SHOCKS: Right Rear (RR) | - |
64h | 4 | SHOCKS: Left Rear (LR) | - |
68h | 4 | SHOCKS: Left Front (LF) | - |
6ch | 4 | GEARS: 1st | value * 100 |
70h | 4 | GEARS: 2nd | value * 100 |
74h | 4 | GEARS: 3rd | value * 100 |
78h | 4 | GEARS: 4th | value * 100 |
7ch | 4 | GEARS: 5th (Indycar) | value * 100 |
80h | 4 | GEARS: 6th (Indycar) | value * 100 |
86h | 2 | Wheel lock (not sure) | - |
90h | 4 | WEIGHT JACK: Left | - |
94h | 4 | WEIGHT JACK: Cross | - |
98h | 4 | WEIGHT JACK: Right | - |
18f-22d | 4 for each car | Current position of the cars | Positions are calculated as follow: 00-user car, 01-next car from the drivers2.txt etc., so: 04,06,1a,00 means 4th car,6th car, 26th car and players car - this is not connected with starting grid - probably used only for display |
2f0h - 2f0h+51h * number of cars | 51h for each car | CAR's DATA | Each car section starts with 0ffffh Important data is stored at offset 3dh of each CAR DATA - current lap time (after qualifying - lap time - this is used to generate starting positions). I have not figured out why the time stored here is slightly different, than calculated using formula: time=(lap_length*3600)/speed. Simply the track length used here is different than track length from track.txt and even track.trk ! To calculate real track length I'm using STN file (speed) and this time value from offset 3dh Time is stored as: time*1000 (unsigned long) The times are stored in the same order as the cars in drivers2.txt file |
Offset | Bytes | Meanings | Possible values |
0h | 4 | GRAPHICS: grass texture | 0-OFF, 1-ON, 2-AUTOMATIC |
4h | 4 | GRAPHICS: Asphalt texture | 0-OFF, 1-ON, 2-AUTOMATIC |
8h | 4 | GRAPHICS: Objects | 0-OFF, 1-ON, 2-AUTOMATIC 3-NONE |
4 | GRAPHICS: Grandstands | 0-OFF, 1-ON, 2-AUTOMATIC | |
10h | 4 | GRAPHICS: Wall texture | 0-OFF, 1-ON, 2-AUTOMATIC |
14h | 4 | GRAPHICS: Horizon | 0-OFF, 1-ON, 2-AUTOMATIC |
18h | 4 | GRAPHICS: Car texture | 0-OFF, 1-ON, 2-AUTOMATIC |
1ch | 4 | GRAPHICS: Smoke/dirt | 0-OFF, 1-ON, 2-AUTOMATIC |
20h | 4 | GRAPHICS: Skid/Paint | 0-OFF, 1-ON, 2-AUTOMATIC |
34h | 4 | GRAPHICS: Min. frame rate | 0-1eh (30) |
38h | 4 | GRAPHICS: Max. frame rate | 0-1eh (30) |
28h | 4 | HELP: Shifting | 0-AUTOMATIC, 1-MANUAL |
2ch | 4 | Help: Breaking | 0-OFF, 1-ON |
69h | 4 | SOUND: Music loudness | - |
6dh | 4 | SOUND: Player's engine loudness | - |
71h | 4 | SOUND: Skidding loudness | - |
75h | 4 | SOUND: Opponents engines loudness | - |
79h | 4 | SOUND: Sounds loudness | - |
7dh | 4 | SOUND: Announcer voice loudness | - |
40h | 4 | Race Length (% of value from track.txt) | - |
55h | 4 | Car damage option | 0-OFF, 1-ON |
5dh | 4 | Yellow flags option | 0-OFF, 1-ON |
44h | 4 | Pace lap option | 0-OFF, 1-ON |
85h | 4 | Wather factor option | 0-CONSTANT, 1-RANDOM |
8dh | 4 | WEATHER: Temperature | value * 10 |
94h | 1 | WEATHER: Wind direction | 00-East 20h-North-East 40h-North 60h-North-West 80h-West 0a0h-South-West 0c0h-South 0e0h-South-East |
95h | 4 | WEATHER: Wind Speed | value * 10 |
51h | 4 | Number of opponents | - |
3ch | 4 | Opponents strength | - |
48h | 8 if shorter then ended with 0 | Carset name (the same as dir name) | - |
61h | 4 | Opponents: drawn ahead | - |
65h | 4 | Opponents: drawn after | - |
81h | 4 | Opponents: heard | - |