18,700
edits
(→Backwards and garbage data: rewrite) |
(→Header: wording) |
||
Line 26: | Line 26: | ||
{{OBD_Table_Header}} | {{OBD_Table_Header}} | ||
{{OBDtr| 0x00 | int64 | | 1F 27 DC 33 DF BC 03 00 | 0x0003BCDF33DC271F | Windows level file template checksum; Windows demo and Mac retail/demo use 0x0003BCDF23C13061 instead }} | {{OBDtr| 0x00 | int64 | | 1F 27 DC 33 DF BC 03 00 | 0x0003BCDF33DC271F | Windows level file template checksum; Windows demo and Mac retail/demo use 0x0003BCDF23C13061 instead }} | ||
{{OBDtr| 0x08 | int32 | | 31 33 52 56 | 'VR31' | .dat version; .oni files use 'VR32' instead }} | {{OBDtr| 0x08 | int32 | | 31 33 52 56 | 'VR31' | .dat version; OniSplit's .oni files use 'VR32' instead }} | ||
{{OBDtr| 0x0C | int64 | | 40 00 14 00 10 00 08 00 | 0x0008001000140040 | signature }} | {{OBDtr| 0x0C | int64 | | 40 00 14 00 10 00 08 00 | 0x0008001000140040 | signature }} | ||
{{OBDtr| 0x14 | int32 | | 83 24 00 00 | 9347 | instance descriptor count }} | {{OBDtr| 0x14 | int32 | | 83 24 00 00 | 9347 | instance descriptor count }} | ||
Line 43: | Line 43: | ||
The file's '''template checksum''' tells us that this level data is in the .dat/.raw file scheme, as opposed to the .dat/.raw/.sep file scheme used by Mac Oni and the Windows demo of Oni. | The file's '''template checksum''' tells us that this level data is in the .dat/.raw file scheme, as opposed to the .dat/.raw/.sep file scheme used by Mac Oni and the Windows demo of Oni. | ||
The '''version''' of the instance file is the format version. Reading it backwards, as discussed under " | The '''version''' of the instance file is the format version. Reading it backwards, as discussed under the "Backwards and garbage data" section, we get "VR31", which is probably "version 31". This is the format version of all instance files in all releases of Oni, regardless of file scheme. | ||
The '''signature''' is identical in all instance files. | The '''signature''' is identical in all instance files. | ||
The '''descriptor counts''' are the sizes of | The '''descriptor counts''' are the sizes of arrays which are coming up soon in this file: the instance, name and template descriptors. For instance, the size of the instance descriptor array will be 0x2483, or 9,347 items, in length. | ||
Next we are told the addresses and sizes of the '''data and name tables''' in the instance file. The name table simply follows the data table, as you'll see if you add the data table offset plus the data table size, but that doesn't mean the name table offset is redundant; if its start was not 32-bit-aligned, it probably would be moved down to start at the next 32-bit word, but this is unnecessary because it happens to be aligned already. | Next we are told the addresses and sizes of the '''data and name tables''' in the instance file. The name table simply follows the data table, as you'll see if you add the data table offset plus the data table size, but that doesn't mean the name table offset is redundant; if its start was not 32-bit-aligned, it probably would be moved down to start at the next 32-bit word, but this is unnecessary because it happens to be aligned already. |