Highscore file format

From Stunts Wiki
Revision as of 23:25, 11 February 2022 by Duplode (talk | contribs) (moved Highscore File Format to Highscore file format: Capitalisation)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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)