ArgDocs

F1GP GP.EXE

The GP.EXE file contains most data needed by the game, except for various graphical elements, sounds and the separate track files.

Data Locations

This represents the zero-based index of the byte in the file where the data (“Item”) begins.

In the data below, “dec” indicates a decompressed EXE (using UNP 4.11)

Item EU 1.05 US 1.05 EU 1.05 dec US 1.05 dec
Player Horsepower 19,848 19,848 24,600 24,548
AI Grip Level 20,183 20,183 24,935 24,919
Driver Numbers 154,936 154,892 180,210 180,146
Team Horsepower 158,380 158,336 183,996 183,932
Driver Performance Qual. 158,420 158,376 184,036 183,972
Driver Performance Race 158,460 158,416 184,076 184,012
Car Colors 158,500 158,456 184,116 184,052
Helmet Colors 158,795 158,751 184,436 184,372
Pit Crew Colors 159,421 159,377 185,076 185,012
Points System 158,341 158,297 183,940 183,876
Rain at 1st Track Flag 106,319 106,319 111,746 111,730
Chance of Rain 58,394 58,394 63,146 63,130
Yellow Flags period 23,517 23,517 28,269 28,253
Retired Cars removed 23,631 23,631 28,383 28,367
Retire after wall hit 125,420 125,376 131,948 131,884
Retire after car hit 125,422 125,378 131,950 131,886
Damage after wall hit 125,428 125,384 131,956 131,892
Damage after car hit 125,426 125,382 131,954 131,890
Driver Aids 124,159 129,990
Year Level text 193,671 423,759
Car 3D shape 159,915 ?
Internal track 128,261 (chksum offset?) 143,481 (chksum offset?)
...
Total File Length 321,878 321,716 600,480 600,304
Item Ita 1.05 EU 1.03 US 1.03
Total File Length 321,748 332,890 332,840

Player Horsepower

The player horsepower value is stored as a short (two bytes).

The default horsepower value for a player is 716, but the value that is actually stored is 16,384.

The formula for transforming a “normal” horsepower value into the value to store is:

value to store = normal hp * 22 + 632

Therefore, to convert a stored value to the “normal” horspower value, the formula is:

normal hp = (stored value - 632) / 22

Given this, the maximum value that can be stored is 1,460. Going above this value actually creates “negative” horsepower values, meaning that when accelerating in first gear, the player car will move backwards!

Driver Numbers

The driver numbers list is a list of 40 bytes, where each byte contains the driver number for that specific slot.

There are two slots for each team. When looking in the driver selection menu, they read from top to bottom and left to right. So the first two bytes set the numbers for the two drivers in the first team (default: McLaren), then Tyrrell, Williams, etc.

To disable a driver, set their number to 0.

A minimum of 26 active drivers is needed, otherwise the game will crash.

Also note that driver numbers cannot be higher than 40.

Drivers cannot share numbers.

Car Colors

Each car is made up of 16 bytes. The 16 bytes for each car repeat 18 times, once for each team. The team’s appear in the order in the game menu, reading from top to bottom and left to right, i.e. first McLaren, then Tyrrell, then Williams, etc.

Pos. Polygon Comment
0 Tyres, sidepod air intake, lower rear wing elements Always 33 (very dark gray) in default data
1 Engine cover Main/top part of engine cover
2 In front of cockpit Area at the top of the nose-cone, just in front of the cockpit. Diagonal Marlboro stripe for McLaren.
3 Front wing endplates
4 Rear wing sides
5 Side of nose cone
6 Sidepod
7 Front and rear wing These are always the same color
8 Nose top/center The top center part of the nose cone
9 Unknown Value varies
10/A Tyre accent color Always 36, except for Minardi which has 34 (slightly darker)
11/B Nose area Part between the top/center and side of the nose cone. Only visible from far on McLaren.
12/C Cockpit side
13/D Engine cover side The "stripe" beneath the main/top part of the engine cover
14/E Engine cover rear The end part of the "stripe" on the engine cover
15/F Sidepod top

Normal Car Shape

Normal car shape

Alternate Car Shape (McLaren)

Alternate car shape

When cars are far away, the “special” McLaren car shape appears in the same way as the normal car shape.

Helmet Colors

Most helmets are made up of 16 different bytes. In non-decompressed EXE files, the exceptions to this are the helmets for drivers with numbers #13, #16, #36, #37, #38, #39 and #40. These drivers have helmets where the bottom two-thirds will always have the same color.

Helmet color index

Index 1 is never visible.

The default visor (index 0) color is 0 (black) and the default visor surround (index 6) is 6.

Pit Crew Colors

Each pit crew has 16 colors. Most of the colors should not be edited, however, since they are the colors of the jack, skin, etc.

The interesting ones are:

Pos. Item Comment
3 Socks
4 Pants, secondary color
5 Shirt, secondary color
6 Shirt, primary color
11 Pants, primary color

Points System

The points system is stored as a list of bytes, where each value contains the number of points scored for that position. However, the default EXE file is compressed, which means that positions 7 to 26 are hard-coded to 0 due to the compression.

By default, the points are stored as:

0A 06 04 03 02 01 1C 00

This is 10, 6, 4, 3, 2 and 1 for the first six finishers. The 1C 00 combo means that the rest are 0.

After decompressing the EXE file, the values are instead stored like this:

0A 06 04 03 02 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

This allows you to edit the points system for each car.

It is important to note that if a driver fails to finish the race, it seems that they will not score points, even though the final position is a point scoring one. It has not yet been researched if this is due to the F1 rule about needing to completely a certain percentage of the race to be classified, or if it’s always like this.

Driver Aids

The driver aids data specifies which aids are available at each skill level (Rookie, Amateur, Semi-Pro, Pro, Ace)

The driver aids data is five bytes long.

For each level, the available aids are a bit flag in the byte (where the two top bits are ignored, since there are only six aids)

The bits are set from right to left, so considering the bits as flags:

Bit Aid
1 Auto-brakes Auto brakes
2 Auto-gears Auto gears
4 Self-correcting spin Self-correcting spin
8 Indestructible Indestructible
16 Ideal line Ideal line
32 Suggested gear Suggested gear

For instance, the rookie settings bits are:

00111111 meaning that all aids are available.

While the ace settings bits are:

00000010 meaning that only auto-gears is available.

Internal track

Each GP.EXE contains an instance of the Silverstone track (F1CT08.DAT) inside it.