19,584
edits
(added note about unused field in template descriptor) |
(corrected type of ints in header; it's really v1.0 and v1.1 of the engine, not "PC" and "Mac") |
||
Line 27: | Line 27: | ||
{{Table}} | {{Table}} | ||
{{OBD_Table_Header}} | {{OBD_Table_Header}} | ||
{{OBDtr| 0x00 | | {{OBDtr| 0x00 | uint64 | | 1F 27 DC 33 DF BC 03 00 | 0x0003BCDF33DC271F | Total template checksum (main indicator of engine compatibility): | ||
*0x0003BCDF33DC271F ( | *0x0003BCDF33DC271F (v1.0) - templates compatible with Windows retail engine(s) | ||
*0x0003BCDF23C13061 ( | *0x0003BCDF23C13061 (v1.1) - templates compatible with Windows demo and Mac engines | ||
*0x0003BA70A8D8AE11 ( | *0x0003BA70A8D8AE11 (PS2) - templates compatible with PlayStation 2 engine(s) | ||
*0x0000000000000000 (blank) - for use with [[OniX]] engine(s) (VR33), which handle data versioning using the 0x3C field below | *0x0000000000000000 (blank) - for use with [[OniX]] engine(s) (VR33), which handle data versioning using the 0x3C field below | ||
OniSplit's .oni files (VR32) use PC checksum by default and Mac/PS2 checksums where required (SNDD, TXMP, AGQG, M3GM, IGSt, TSFT/TSGA, TRAM/TREX) }} | OniSplit's .oni files (VR32) use PC checksum by default and Mac/PS2 checksums where required (SNDD, TXMP, AGQG, M3GM, IGSt, TSFT/TSGA, TRAM/TREX) }} | ||
{{OBDtr| 0x08 | | {{OBDtr| 0x08 | uint32 | | 31 33 52 56 | '13RV' | .dat version (meant to be read as "VR31")<br>OniSplit's .oni files use '23RV' ("VR32") instead<br>OniX's [[Oni (folder)|GDFX]] uses '33RV' ("VR33") to signify that the new data versioning system is in use }} | ||
{{OBDtr| 0x0C | | {{OBDtr| 0x0C | uint16 | | 40 00 | 64 | size of this header }} | ||
{{OBDtr| 0x0E | | {{OBDtr| 0x0E | uint16 | | 14 00 | 20 | size of instance descriptor }} | ||
{{OBDtr| 0x10 | | {{OBDtr| 0x10 | uint16 | | 10 00 | 16 | size of template descriptor }} | ||
{{OBDtr| 0x12 | | {{OBDtr| 0x12 | uint16 | | 08 00 | 8 | size of name descriptor }} | ||
{{OBDtr| 0x14 | | {{OBDtr| 0x14 | uint32 | | 83 24 00 00 | 9347 | instance descriptor count }} | ||
{{OBDtr| 0x18 | | {{OBDtr| 0x18 | uint32 | | D4 1B 00 00 | 7124 | name descriptor count }} | ||
{{OBDtr| 0x1C | | {{OBDtr| 0x1C | uint32 | | 38 00 00 00 | 56 | template descriptor count }} | ||
{{OBDtr| 0x20 | | {{OBDtr| 0x20 | uint32 | | A0 BC 03 00 | 0x03BCA0 | data table offset }} | ||
{{OBDtr| 0x24 | | {{OBDtr| 0x24 | uint32 | | A0 35 25 00 | 2438560 | data table size }} | ||
{{OBDtr| 0x28 | | {{OBDtr| 0x28 | uint32 | | 40 F2 28 00 | 0x28F240 | name table offset }} | ||
{{OBDtr| 0x2C | | {{OBDtr| 0x2C | uint32 | | 04 4F 02 00 | 151300 | name table size }} | ||
{{OBDtr| 0x30 | | {{OBDtr| 0x30 | uint32 | | 99 CF 40 00 | (garbage) | used by OniSplit for raw table offset }} | ||
{{OBDtr| 0x34 | | {{OBDtr| 0x34 | uint32 | | 90 4F 63 00 | (garbage) | used by OniSplit for raw table size }} | ||
{{OBDtr| 0x38 | | {{OBDtr| 0x38 | uint32 | | F4 55 5F 00 | (garbage) | unused }} | ||
{{OBDtr| 0x3C | | {{OBDtr| 0x3C | uint32 | | 90 4F 63 00 | (garbage) | used by OniX (three high bytes) for data versioning; contains the highest data version (timestamp) found in any instance in this .dat; see instance descriptor table's 0x10 for format }} | ||
|} | |} | ||