Highscore file format
From Stunts Wiki
This article describes the file format of the highscore files used by all versions of Stunts. Each track has its own highscore table, stored in a file which shares the name of the track file; only with .HIG extension instead of .TRK .
Offset | Data Type | Length | Field Name | Description |
---|---|---|---|---|
0 | CHAR[17] (ASCIIZ) | 17 | Name | Driver's Name, terminated with a NUL Character |
17 | CHAR[21] (ASCIIZ) | 21 | Car | Driver's Car, terminated with a NUL Character |
38 | CHAR[4] | 4 | Unknown | Unknown Data is stored Here |
42 | CHAR[8] (ASCIIZ) | 8 | Opponent | |
50 | UCHAR[2] | 2 | Time |
The 4th field (Opponent) has the following structure:
Offset | Data Type | Length | Field Name (or constant) | Description |
---|---|---|---|---|
0 | CHAR[2] | 2 | Opponent ID | |
2 | CHAR | 1 | Character '/' | |
3 | CHAR[4] | 4 | Opponent Car | |
7 | CHAR | 1 | NUL Character |
The size of an entry is 52 bytes. Every highscore file contains exactly 7 Entries = 364 Bytes per File. The 5th field (Time) is expressed in Hundreds of a Second, and is calculated as follows:
TIME = time [1] * 1280 + time [0] * 5
To convert this time to normal min:sec:hundredths format, use the following calculations (hundr contains the time in hundreds):
hundreds = (hundr % 100) hundr /= 100 sec = (hundr % 60) min = (hundr / 60)