Kelly Slater’s Pro Surfer ST2: Difference between revisions

From XentaxWiki
Jump to navigation Jump to search
imported>Ikskoks
imported>Ikskoks
Line 44: Line 44:
num_of_index_entries *
num_of_index_entries *
{
{
   32 bytes (char) - encrypted string
   32 bytes (char) - packed filename string // e.g. "KS_HAND.TM2"
   4 bytes (uint32) - file offset
   4 bytes (uint32) - file offset
   4 bytes (uint32) - file size
   4 bytes (uint32) - file size
Line 65: Line 65:
   4 bytes (uint32) - raw data pointer
   4 bytes (uint32) - raw data pointer
   4 bytes (uint32) - raw data size
   4 bytes (uint32) - raw data size
   12 bytes (char) - filename + padding  // e.g. "_hand.tm2"
   12 bytes (char) - padding  // may contain partial filenames but
                              // mostly it is filled with garbage text
}
}
</pre>
</pre>

Revision as of 21:33, 3 April 2021

Back to index | Edit this page

ST2


Format Specifications

// Kelly Slater’s Pro Surfer
// ST2 file format

// header (64 bytes)
4 bytes (uint32) - index offset
2 bytes (uint16) - signature // 0xFE 0x5A
2 bytes (uint16) - version // 4
4 bytes (uint32) - number of index entries
4 bytes (uint32) - size of the index entry
4 bytes (uint32) - data offset
4 bytes (uint32) - data size
4 bytes (uint32) - aram offset (?)
4 bytes (uint32) - aram size (?) // usually 0
4 bytes (uint32) - temp data offset (?)
4 bytes (uint32) - temp data size (?)
4 bytes (uint32) - compression flags // usually 0
                                     // 0x00000001 - compressed index
                                     // 0x00000002 - compressed data
                                     // 0x00000004 - compressed temp data
4 bytes (uint32) - index compressed size // usually 0
4 bytes (uint32) - data compressed size // usually 0
4 bytes (uint32) - temp data compressed size // usually 0
4 bytes (uint32) - reserved
4 bytes (uint32) - reserved2

// data
num_of_index_entries *
{
   x bytes - file data
}

// index
num_of_index_entries *
{
   32 bytes (char) - packed filename string  // e.g. "KS_HAND.TM2"
   4 bytes (uint32) - file offset
   4 bytes (uint32) - file size
   1 bytes (uint8) - file type  // 0 - unused
                                // 1 - raw
                                // 2 - ps2mesh
                                // 3 - xbmesh
                                // 4 - gcmesh
                                // 5 - anmx
                                // 6 - tex
                                // 7 - snmx
                                // 8 - misc

   1 byte (uint8) - file flags    // 0x1 - is_valid
                                  // 0x2 - is_stored
                                  // 0x4 - was_used
                                  // 0x8 - in_aram

   2 bytes (int16) - reserved // "EX"
   4 bytes (uint32) - raw data pointer
   4 bytes (uint32) - raw data size
   12 bytes (char) - padding  // may contain partial filenames but
                              // mostly it is filled with garbage text
}

MultiEx BMS Script

Not written yet.

Notes and Comments

  • "ST" in the file extension means "stash file".

Games

List of games using this file format:

  • Kelly Slater’s Pro Surfer

Compatible Programs

None.