Highscore file format: Difference between revisions
From Stunts Wiki
No edit summary |
m moved Highscore File Format to Highscore file format: Capitalisation |
(No difference)
| |
Latest revision as of 22:25, 11 February 2022
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)
