OBD talk:File types: Difference between revisions
m (alignment) |
(Filling in template sizes; not a big deal, but I got thrown off by how a .dat file only lists the padded sizes and how (because of that) we have been ignoring the fact that Mac TXMPs are 4 bytes larger than PC ones.) |
||
Line 12: | Line 12: | ||
;PS2 checksum:0x0003BA70A8DBAE11 (doesn't include AGQM template) | ;PS2 checksum:0x0003BA70A8DBAE11 (doesn't include AGQM template) | ||
Below are all 115 known templates in alphabetic order. | Below are all 115 known templates in alphabetic order, with their checksums and data sizes. | ||
*A black background indicates those instance types that do not occur in Vanilla .dat files. | *A black background indicates those instance types that do not occur in Vanilla .dat files. | ||
*A grey background indicates those that are present but are not used (by Win/Mac engines). | *A grey background indicates those that are present but are not used (by Win/Mac engines). | ||
Line 18: | Line 18: | ||
*A yellow checksum background indicates files that have a different checksum in the PS2 iteration. | *A yellow checksum background indicates files that have a different checksum in the PS2 iteration. | ||
*A red checksum background indicates files that have a different checksum in all three iterations. | *A red checksum background indicates files that have a different checksum in all three iterations. | ||
The data sizes in the below table are extracted from the respective engine executables (along with the checksums) and include the 8 leading bytes (instance ID and level ID). The number in square brackets is the size of the variable array element where applicable. Note the difference with the padded size featured in an instance descriptor (which includes the actual array elements, if any, and the 32-byte padding). | |||
Note that some obsolete instances, such as [[OBLS]], are worthy of interest, have been documented and may be revived. | Note that some obsolete instances, such as [[OBLS]], are worthy of interest, have been documented and may be revived. | ||
{| style="white-space:nowrap" width=100% | {| style="white-space:nowrap;font-size:75%" width=100% | ||
|style="vertical-align:top"| | |style="vertical-align:top"| | ||
{| border="1" cellpadding="0" cellspacing="0" style="background:#f9f9f9" width=100% | {| border="1" cellpadding="0" cellspacing="0" style="background:#f9f9f9" width=100% | ||
Line 26: | Line 29: | ||
!Description | !Description | ||
!Checksum(s) | !Checksum(s) | ||
!Size(s) | |||
|-style="background:black;color:white" | |-style="background:black;color:white" | ||
!3CLA | !3CLA | ||
|font-family=Arial| RGB Color Array | |font-family=Arial| RGB Color Array | ||
!align=right style="font-family:Consolas"|00000004E6BE | !align=right style="font-family:Consolas"|00000004E6BE | ||
!align=left style="font-family:Consolas"| 0x20 [0x0C] | |||
|- | |- | ||
![[ABNA]] | ![[ABNA]] | ||
| [Akira] BSP Tree Node Array | | [Akira] BSP Tree Node Array | ||
!align=right style="font-family:Consolas"|000000126DA0 | !align=right style="font-family:Consolas"|000000126DA0 | ||
!align=left style="font-family:Consolas"| 0x20 [0x10] | |||
|-style="background:silver" | |-style="background:silver" | ||
![[AGDB]] | ![[AGDB]] | ||
| [Akira] Gunk Quad Debug Array | | [Akira] Gunk Quad Debug Array | ||
!align=right style="font-family:Consolas"|000000072E17 | !align=right style="font-family:Consolas"|000000072E17 | ||
!align=left style="font-family:Consolas"| 0x20 [0x08] | |||
|- | |- | ||
![[AGQC]] | ![[AGQC]] | ||
| [Akira] Gunk Quad Collision Array | | [Akira] Gunk Quad Collision Array | ||
!align=right style="font-family:Consolas"|0000001CCB91 | !align=right style="font-family:Consolas"|0000001CCB91 | ||
!align=left style="font-family:Consolas"| 0x20 [0x1C] | |||
|-valign=top | |-valign=top | ||
![[AGQG]] | ![[AGQG]] | ||
| [Akira] Gunk Quad General Array | | [Akira] Gunk Quad General Array | ||
!align=right bgcolor=yellow style="font-family:Consolas"|Win: 0000001C03D2 <br/>Mac: 0000001C03D2 <br/>PS2: 00000027E7AD | !align=right bgcolor=yellow style="font-family:Consolas"|Win: 0000001C03D2 <br/>Mac: 0000001C03D2 <br/>PS2: 00000027E7AD | ||
!align=left bgcolor=yellow style="font-family:Consolas"| 0x20 [0x38]<br/> 0x20 [0x38]<br/> 0x20 [0x3C] | |||
|-valign=top bgcolor=black style="color:white" | |-valign=top bgcolor=black style="color:white" | ||
!AGQM | !AGQM | ||
| [Akira] Gunk Quad Material | | [Akira] Gunk Quad Material | ||
!align=right bgcolor=yellow style="color:black;font-family:Consolas"|Win: 000000044AA6 <br/>Mac: 000000044AA6 <br/>PS2: N/A | !align=right bgcolor=yellow style="color:black;font-family:Consolas"|Win: 000000044AA6 <br/>Mac: 000000044AA6 <br/>PS2: N/A | ||
!align=left bgcolor=yellow style="color:black;font-family:Consolas"| 0x10<br/> 0x10<br/> N/A | |||
|- | |- | ||
![[AGQR]] | ![[AGQR]] | ||
| [Akira] Gunk Quad Render Array | | [Akira] Gunk Quad Render Array | ||
!align=right style="font-family:Consolas"|000000083A3B | !align=right style="font-family:Consolas"|000000083A3B | ||
!align=left style="font-family:Consolas"| 0x20 [0x04] | |||
|- | |- | ||
![[AISA]] | ![[AISA]] | ||
| AI Character Setup Array | | AI Character Setup Array | ||
!align=right style="font-family:Consolas"|002A224C6BE9 | !align=right style="font-family:Consolas"|002A224C6BE9 | ||
!align=left style="font-family:Consolas"| 0x20 [0x160] | |||
|-style="background:silver" | |-style="background:silver" | ||
![[AITR]] | ![[AITR]] | ||
| AI Script Trigger Array | | AI Script Trigger Array | ||
!align=right style="font-family:Consolas"|0000001AEA55 | !align=right style="font-family:Consolas"|0000001AEA55 | ||
!align=left style="font-family:Consolas"| 0x20 [0x54] | |||
|-style="background:black;color:white" | |-style="background:black;color:white" | ||
!AIWA | !AIWA | ||
| AI Imported Waypoint Array | | AI Imported Waypoint Array | ||
!align=right style="font-family:Consolas"|000000107F03 | !align=right style="font-family:Consolas"|000000107F03 | ||
!align=left style="font-family:Consolas"| 0x20 [0x1C] | |||
|- | |- | ||
![[AKAA]] | ![[AKAA]] | ||
| [Akira] Adjacency Array | | [Akira] Adjacency Array | ||
!align=right style="font-family:Consolas"|00000011DE77 | !align=right style="font-family:Consolas"|00000011DE77 | ||
!align=left style="font-family:Consolas"| 0x20 [0x0C] | |||
|- | |- | ||
![[AKBA]] | ![[AKBA]] | ||
| [Akira] Side Array | | [Akira] Side Array | ||
!align=right style="font-family:Consolas"|0000003A2884 | !align=right style="font-family:Consolas"|0000003A2884 | ||
!align=left style="font-family:Consolas"| 0x20 [0x1C] | |||
|- | |- | ||
![[AKBP]] | ![[AKBP]] | ||
| [Akira] BSP Node Array | | [Akira] BSP Node Array | ||
!align=right style="font-family:Consolas"|0000000CF449 | !align=right style="font-family:Consolas"|0000000CF449 | ||
!align=left style="font-family:Consolas"| 0x20 [0x0C] | |||
|-style="background:silver" | |-style="background:silver" | ||
![[AKDA]] | ![[AKDA]] | ||
| [Akira] Door Frame Array | | [Akira] Door Frame Array | ||
!align=right style="font-family:Consolas"|0000002E5464 | !align=right style="font-family:Consolas"|0000002E5464 | ||
!align=left style="font-family:Consolas"| 0x20 [0x34] | |||
|- | |- | ||
![[AKEV]] | ![[AKEV]] | ||
| Akira Environment | | Akira Environment | ||
!align=right style="font-family:Consolas"|00883014DE75 | !align=right style="font-family:Consolas"|00883014DE75 | ||
!align=left style="font-family:Consolas"| 0x80 | |||
|- | |- | ||
![[AKOT]] | ![[AKOT]] | ||
| [Akira] Oct Tree | | [Akira] Oct Tree | ||
!align=right style="font-family:Consolas"|0011E7B8DA08 | !align=right style="font-family:Consolas"|0011E7B8DA08 | ||
!align=left style="font-family:Consolas"| 0x1C | |||
|- | |- | ||
![[AKVA]] | ![[AKVA]] | ||
| [Akira] BNV Node Array | | [Akira] BNV Node Array | ||
!align=right style="font-family:Consolas"|000000DF05E0 | !align=right style="font-family:Consolas"|000000DF05E0 | ||
!align=left style="font-family:Consolas"| 0x20 [0x74] | |||
|-valign=top | |-valign=top | ||
![[BINA]] | ![[BINA]] | ||
| Binary Data | | Binary Data | ||
!align=right bgcolor=lime style="font-family:Consolas"|Win: 00000000DB41 <br/>Mac: 000000015E11 <br/>PS2: 000000015E11 | !align=right bgcolor=lime style="font-family:Consolas"|Win: 00000000DB41 <br/>Mac: 000000015E11 <br/>PS2: 000000015E11 | ||
!align=left bgcolor=lime style="font-family:Consolas"| 0x10<br/> 0x10<br/> 0x10 | |||
|- | |- | ||
![[CBPI]] | ![[CBPI]] | ||
| Character Body Part Impacts | | Character Body Part Impacts | ||
!align=right style="font-family:Consolas"|000C0BF9D6C2 | !align=right style="font-family:Consolas"|000C0BF9D6C2 | ||
!align=left style="font-family:Consolas"| 0xEC | |||
|- | |- | ||
![[CBPM]] | ![[CBPM]] | ||
| Character Body Part Material | | Character Body Part Material | ||
!align=right style="font-family:Consolas"|00026BA4351F | !align=right style="font-family:Consolas"|00026BA4351F | ||
!align=left style="font-family:Consolas"| 0x54 | |||
|- | |- | ||
![[CONS]] | ![[CONS]] | ||
| Console | | Console | ||
!align=right style="font-family:Consolas"|0013DA8B0BDD | !align=right style="font-family:Consolas"|0013DA8B0BDD | ||
!align=left style="font-family:Consolas"| 0x90 | |||
|- | |- | ||
![[CRSA]] | ![[CRSA]] | ||
| Corpse Array | | Corpse Array | ||
!align=right style="font-family:Consolas"|000C1543D4CC | !align=right style="font-family:Consolas"|000C1543D4CC | ||
!align=left style="font-family:Consolas"| 0x20 [0x44C] | |||
|- | |- | ||
![[DOOR]] | ![[DOOR]] | ||
| Door | | Door | ||
!align=right style="font-family:Consolas"|00063172FD67 | !align=right style="font-family:Consolas"|00063172FD67 | ||
!align=left style="font-family:Consolas"| 0x6C | |||
|- | |- | ||
![[DPge]] | ![[DPge]] | ||
| Diary Page | | Diary Page | ||
!align=right style="font-family:Consolas"|0007BA8A686B | !align=right style="font-family:Consolas"|0007BA8A686B | ||
!align=left style="font-family:Consolas"| 0x44 | |||
|-style="background:black;color:white" | |-style="background:black;color:white" | ||
!EDIA | !EDIA | ||
| Edge Index Array | | Edge Index Array | ||
!align=right style="font-family:Consolas"|00000007B6F7 | !align=right style="font-family:Consolas"|00000007B6F7 | ||
!align=left style="font-family:Consolas"| 0x20 [0x08] | |||
|- | |- | ||
![[ENVP]] | ![[ENVP]] | ||
| Env Particle Array | | Env Particle Array | ||
!align=right style="font-family:Consolas"|00000067C1C3 | !align=right style="font-family:Consolas"|00000067C1C3 | ||
!align=left style="font-family:Consolas"| 0x20 [0xD0] | |||
|- | |- | ||
![[FILM]] | ![[FILM]] | ||
| Film | | Film | ||
!align=right style="font-family:Consolas"|000B331B62AD | !align=right style="font-family:Consolas"|000B331B62AD | ||
!align=left style="font-family:Consolas"| 0x40 [0x18] | |||
|-style="background:black;color:white" | |-style="background:black;color:white" | ||
!FXLR | !FXLR | ||
| FX Laser Effect | | FX Laser Effect | ||
!align=right style="font-family:Consolas"|00069583F8A9 | !align=right style="font-family:Consolas"|00069583F8A9 | ||
!align=left style="font-family:Consolas"| 0x14 | |||
|-style="background:black;color:white" | |-style="background:black;color:white" | ||
!GMAN | !GMAN | ||
| Geometry Animation | | Geometry Animation | ||
!align=right style="font-family:Consolas"|0009A672F5A5 | !align=right style="font-family:Consolas"|0009A672F5A5 | ||
!align=left style="font-family:Consolas"| 0x20 [0x04] | |||
|- | |- | ||
![[HPge]] | ![[HPge]] | ||
| Help Page | | Help Page | ||
!align=right style="font-family:Consolas"|00044B2F713B | !align=right style="font-family:Consolas"|00044B2F713B | ||
!align=left style="font-family:Consolas"| 0x10 | |||
|- | |- | ||
![[IDXA]] | ![[IDXA]] | ||
| Index Array | | Index Array | ||
!align=right style="font-family:Consolas"|00000002708F | !align=right style="font-family:Consolas"|00000002708F | ||
!align=left style="font-family:Consolas"| 0x20 [0x04] | |||
|- | |- | ||
![[IGHH]] | ![[IGHH]] | ||
| IGUI HUD Help | | IGUI HUD Help | ||
!align=right style="font-family:Consolas"|0008E58E58DE | !align=right style="font-family:Consolas"|0008E58E58DE | ||
!align=left style="font-family:Consolas"| 0x40 [0x44] | |||
|- | |- | ||
![[IGPA]] | ![[IGPA]] | ||
| IGUI Page Array | | IGUI Page Array | ||
!align=right style="font-family:Consolas"|0004DDBE0905 | !align=right style="font-family:Consolas"|0004DDBE0905 | ||
!align=left style="font-family:Consolas"| 0x20 [0x04] | |||
|- | |- | ||
![[IGPG]] | ![[IGPG]] | ||
| IGUI Page | | IGUI Page | ||
!align=right style="font-family:Consolas"|0011CE67887D | !align=right style="font-family:Consolas"|0011CE67887D | ||
!align=left style="font-family:Consolas"| 0x24 | |||
|- | |- | ||
![[IGSA]] | ![[IGSA]] | ||
| IGUI String Array | | IGUI String Array | ||
!align=right style="font-family:Consolas"|0004DDBEA408 | !align=right style="font-family:Consolas"|0004DDBEA408 | ||
!align=left style="font-family:Consolas"| 0x20 [0x04] | |||
|-valign=top | |-valign=top | ||
![[IGSt]] | ![[IGSt]] | ||
| IGUI String | | IGUI String | ||
!align=right bgcolor=yellow style="font-family:Consolas"|Win: 0002A2A47725 <br/>Mac: 0002A2A47725 <br/>PS2: 0002A2A368F7 | !align=right bgcolor=yellow style="font-family:Consolas"|Win: 0002A2A47725 <br/>Mac: 0002A2A47725 <br/>PS2: 0002A2A368F7 | ||
!align=left bgcolor=yellow style="font-family:Consolas"| 0x198<br/> 0x198<br/> 0x1C | |||
|- | |- | ||
![[Impt]] | ![[Impt]] | ||
| Impact | | Impact [tree] | ||
!align=right style="font-family:Consolas"|000000044F16 | !align=right style="font-family:Consolas"|000000044F16 | ||
!align=left style="font-family:Consolas"| 0x14 | |||
|- | |- | ||
![[IPge]] | ![[IPge]] | ||
| Item Page | | Item Page | ||
!align=right style="font-family:Consolas"|0002938369BA | !align=right style="font-family:Consolas"|0002938369BA | ||
!align=left style="font-family:Consolas"| 0x10 | |||
|} | |} | ||
|style="vertical-align:top"| | |style="vertical-align:top"| | ||
Line 185: | Line 227: | ||
!Description | !Description | ||
!Checksum(s) | !Checksum(s) | ||
!Size(s) | |||
|- | |- | ||
![[KeyI]] | ![[KeyI]] | ||
| Key Icons | | Key Icons | ||
!align=right style="font-family:Consolas"|00403F4757AD | !align=right style="font-family:Consolas"|00403F4757AD | ||
!align=left style="font-family:Consolas"| 0x30 | |||
|- | |- | ||
![[M3GA]] | ![[M3GA]] | ||
| [Motoko] Geometry Array | | [Motoko] Geometry Array | ||
!align=right style="font-family:Consolas"|0005206B20B2 | !align=right style="font-family:Consolas"|0005206B20B2 | ||
!align=left style="font-family:Consolas"| 0x20 [0x04] | |||
|-valign=top | |-valign=top | ||
![[M3GM]] | ![[M3GM]] | ||
| [Motoko] Geometry | | [Motoko] Geometry | ||
!align=right bgcolor=yellow style="font-family:Consolas"|Win: 0027A078E436 <br/>Mac: 0027A078E436 <br/>PS2: 0016C1058961 | !align=right bgcolor=yellow style="font-family:Consolas"|Win: 0027A078E436 <br/>Mac: 0027A078E436 <br/>PS2: 0016C1058961 | ||
!align=left style="font-family:Consolas"| 0x2C<br/> 0x2C<br/> 0x2C | |||
|-style="background:black;color:white" | |-style="background:black;color:white" | ||
!M3TA | !M3TA | ||
| [Motoko] Triangle Array | | [Motoko] Triangle Array | ||
!align=right style="font-family:Consolas"|00000002F7C1 | !align=right style="font-family:Consolas"|00000002F7C1 | ||
!align=left style="font-family:Consolas"| 0x20 [0x0C] | |||
|- | |- | ||
![[Mtrl]] | ![[Mtrl]] | ||
| Material | | Material | ||
!align=right style="font-family:Consolas"|000000028E0D | !align=right style="font-family:Consolas"|000000028E0D | ||
!align=left style="font-family:Consolas"| 0x14 | |||
|-style="background:black;color:white" | |-style="background:black;color:white" | ||
!NMSA | !NMSA | ||
| Network Spawn Point Array | | Network Spawn Point Array | ||
|align=right style="font-family:Consolas"|0000000C099C | |align=right style="font-family:Consolas"|0000000C099C | ||
!align=left style="font-family:Consolas"| 0x20 [0x10] | |||
|- | |- | ||
![[OBAN]] | ![[OBAN]] | ||
| Object Animation | | Object Animation | ||
!align=right style="font-family:Consolas"|0000004E0C24 | !align=right style="font-family:Consolas"|0000004E0C24 | ||
!align=left style="font-family:Consolas"| 0x80 [0x20] | |||
|-style="background:silver" | |-style="background:silver" | ||
![[OBDC]] | ![[OBDC]] | ||
| Door Class Array | | Door Class Array | ||
!align=right style="font-family:Consolas"|0007BD9ECA0B | !align=right style="font-family:Consolas"|0007BD9ECA0B | ||
!align=left style="font-family:Consolas"| 0x20 [0x18] | |||
|-style="background:black;color:white" | |-style="background:black;color:white" | ||
!OBLS | !OBLS | ||
| Object LS Data | | Object LS Data | ||
!align=right style="font-family:Consolas"|0000000B703D | !align=right style="font-family:Consolas"|0000000B703D | ||
!align=left style="font-family:Consolas"| 0x28 | |||
|- | |- | ||
![[OBOA]] | ![[OBOA]] | ||
| Starting Object Array | | Starting Object Array | ||
!align=right style="font-family:Consolas"|00134F8986E1 | !align=right style="font-family:Consolas"|00134F8986E1 | ||
!align=left style="font-family:Consolas"| 0x20 [0xF0] | |||
|- | |- | ||
![[OFGA]] | ![[OFGA]] | ||
| Object Furn Geom Array | | Object Furn Geom Array | ||
!align=right style="font-family:Consolas"|001374FAC362 | !align=right style="font-family:Consolas"|001374FAC362 | ||
!align=left style="font-family:Consolas"| 0x20 [0x0C] | |||
|- | |- | ||
![[ONCC]] | ![[ONCC]] | ||
| Oni Character Class | | Oni Character Class | ||
!align=right style="font-family:Consolas"|04A5AAC759EF | !align=right style="font-family:Consolas"|04A5AAC759EF | ||
!align=left style="font-family:Consolas"| 0xC98 | |||
|- | |- | ||
![[ONCP]] | ![[ONCP]] | ||
| Oni Character Particle Array | | Oni Character Particle Array | ||
!align=right style="font-family:Consolas"|0000002F7321 | !align=right style="font-family:Consolas"|0000002F7321 | ||
!align=left style="font-family:Consolas"| 0x20 [0x58] | |||
|- | |- | ||
![[ONCV]] | ![[ONCV]] | ||
| Oni Character Variant | | Oni Character Variant | ||
!align=right style="font-family:Consolas"|0000000299F5 | !align=right style="font-family:Consolas"|0000000299F5 | ||
!align=left style="font-family:Consolas"| 0x4C | |||
|-style="background:silver" | |-style="background:silver" | ||
![[ONFA]] | ![[ONFA]] | ||
| Imported Flag Node Array | | Imported Flag Node Array | ||
!align=right style="font-family:Consolas"|0000001B0CE7 | !align=right style="font-family:Consolas"|0000001B0CE7 | ||
!align=left style="font-family:Consolas"| 0x20 [0x44] | |||
|- | |- | ||
![[ONGS]] | ![[ONGS]] | ||
| Oni Game Settings | | Oni Game Settings | ||
!align=right style="font-family:Consolas"|00000226EBB6 | !align=right style="font-family:Consolas"|00000226EBB6 | ||
!align=left style="font-family:Consolas"| 0xF44 | |||
|- | |- | ||
![[ONIA]] | ![[ONIA]] | ||
| Oni Character Impact Array | | Oni Character Impact Array | ||
!align=right style="font-family:Consolas"|0000002B2F9A | !align=right style="font-family:Consolas"|0000002B2F9A | ||
!align=left style="font-family:Consolas"| 0x20 [0xA4] | |||
|- | |- | ||
![[ONLD]] | ![[ONLD]] | ||
| Oni Game Level Descriptor | | Oni Game Level Descriptor | ||
!align=right style="font-family:Consolas"|0000000412A1 | !align=right style="font-family:Consolas"|0000000412A1 | ||
!align=left style="font-family:Consolas"| 0x4C | |||
|- | |- | ||
![[ONLV]] | ![[ONLV]] | ||
| Oni Game Level | | Oni Game Level | ||
!align=right style="font-family:Consolas"|007DB79A2EA3 | !align=right style="font-family:Consolas"|007DB79A2EA3 | ||
!align=left style="font-family:Consolas"| 0x304 | |||
|-style="background:silver" | |-style="background:silver" | ||
![[ONMA]] | ![[ONMA]] | ||
| Imported Marker Node Array | | Imported Marker Node Array | ||
!align=right style="font-family:Consolas"|000000124779 | !align=right style="font-family:Consolas"|000000124779 | ||
!align=left style="font-family:Consolas"| 0x20 [0x58] | |||
|- | |- | ||
![[ONOA]] | ![[ONOA]] | ||
| Object Gunk Array | | Object Gunk Array | ||
!align=right style="font-family:Consolas"|00064BE75C7C | !align=right style="font-family:Consolas"|00064BE75C7C | ||
!align=left style="font-family:Consolas"| 0x20 [0x08] | |||
|-style="background:silver" | |-style="background:silver" | ||
![[ONSA]] | ![[ONSA]] | ||
| Imported Spawn Array | | Imported Spawn Array | ||
!align=right style="font-family:Consolas"|000000044634 | !align=right style="font-family:Consolas"|000000044634 | ||
!align=left style="font-family:Consolas"| 0x20 [0x02] | |||
|- | |- | ||
![[ONSK]] | ![[ONSK]] | ||
| Oni Sky Class | | Oni Sky Class | ||
!align=right style="font-family:Consolas"|0014C2261067 | !align=right style="font-family:Consolas"|0014C2261067 | ||
!align=left style="font-family:Consolas"| 0xF4 | |||
|-style="background:silver" | |-style="background:silver" | ||
![[ONTA]] | ![[ONTA]] | ||
| Trigger Array | | Trigger Array | ||
!align=right style="font-family:Consolas"|000000A0FCC0 | !align=right style="font-family:Consolas"|000000A0FCC0 | ||
!align=left style="font-family:Consolas"| 0x20 [0x1A0] | |||
|- | |- | ||
![[ONVL]] | ![[ONVL]] | ||
| Oni Variant List | | Oni Variant List | ||
!align=right style="font-family:Consolas"|00054434C58A | !align=right style="font-family:Consolas"|00054434C58A | ||
!align=left style="font-family:Consolas"| 0x20 [0x04] | |||
|- | |- | ||
![[ONWC]] | ![[ONWC]] | ||
| Oni Weapon Class | | Oni Weapon Class | ||
!align=right style="font-family:Consolas"|0193A3E0EEB5 | !align=right style="font-family:Consolas"|0193A3E0EEB5 | ||
!align=left style="font-family:Consolas"| 0x71C | |||
|- | |- | ||
![[OPge]] | ![[OPge]] | ||
| Objective Page | | Objective Page | ||
!align=right style="font-family:Consolas"|00044B30BBFB | !align=right style="font-family:Consolas"|00044B30BBFB | ||
!align=left style="font-family:Consolas"| 0x10 | |||
|-valign=top | |-valign=top | ||
![[OSBD]] | ![[OSBD]] | ||
| Oni Sound Binary Data | | Oni Sound Binary Data | ||
!align=right bgcolor=lime style="font-family:Consolas"|Win: 00000000DB6C <br/>Mac: 000000015E3C <br/>PS2: 000000015E3C | !align=right bgcolor=lime style="font-family:Consolas"|Win: 00000000DB6C <br/>Mac: 000000015E3C <br/>PS2: 000000015E3C | ||
!align=left bgcolor=lime style="font-family:Consolas"| 0x10<br/> 0x10<br/> 0x10 | |||
|- | |- | ||
![[OTIT]] | ![[OTIT]] | ||
| Oct Tree Interior Node Array | | Oct Tree Interior Node Array | ||
!align=right style="font-family:Consolas"|0000000A51D2 | !align=right style="font-family:Consolas"|0000000A51D2 | ||
!align=left style="font-family:Consolas"| 0x20 [0x20] | |||
|- | |- | ||
![[OTLF]] | ![[OTLF]] | ||
| Oct Tree Leaf Node Array | | Oct Tree Leaf Node Array | ||
!align=right style="font-family:Consolas"|0000001EAC0B | !align=right style="font-family:Consolas"|0000001EAC0B | ||
!align=left style="font-family:Consolas"| 0x20 [0x24] | |||
|- | |- | ||
![[PLEA]] | ![[PLEA]] | ||
| Plane Equation Array | | Plane Equation Array | ||
!align=right style="font-family:Consolas"|00000007BC38 | !align=right style="font-family:Consolas"|00000007BC38 | ||
!align=left style="font-family:Consolas"| 0x20 [0x10] | |||
|- | |- | ||
![[PNTA]] | ![[PNTA]] | ||
| 3D Point Array | | 3D Point Array | ||
!align=right style="font-family:Consolas"|00000037676C | !align=right style="font-family:Consolas"|00000037676C | ||
!align=left style="font-family:Consolas"| 0x40 [0x0C] | |||
|- | |- | ||
![[PSpc]] | ![[PSpc]] | ||
| Part Specification | | Part Specification | ||
!align=right style="font-family:Consolas"|000000082648 | !align=right style="font-family:Consolas"|000000082648 | ||
!align=left style="font-family:Consolas"| 0x54 | |||
|- | |- | ||
![[PSpL]] | ![[PSpL]] | ||
| Part Specification List | | Part Specification List | ||
!align=right style="font-family:Consolas"|0000000CCC05 | !align=right style="font-family:Consolas"|0000000CCC05 | ||
!align=left style="font-family:Consolas"| 0x20 [0x08] | |||
|- | |- | ||
![[PSUI]] | ![[PSUI]] | ||
| Part Specifications UI | | Part Specifications UI | ||
!align=right style="font-family:Consolas"|03CD544E96FB | !align=right style="font-family:Consolas"|03CD544E96FB | ||
!align=left style="font-family:Consolas"| 0xB8 | |||
|- | |- | ||
![[QTNA]] | ![[QTNA]] | ||
| Quad Tree Node Array | | Quad Tree Node Array | ||
!align=right style="font-family:Consolas"|000000066ECC | !align=right style="font-family:Consolas"|000000066ECC | ||
!align=left style="font-family:Consolas"| 0x20 [0x10] | |||
|-style="background:black;color:white" | |-style="background:black;color:white" | ||
!QUDA | !QUDA | ||
| Quad Array | | Quad Array | ||
!align=right style="font-family:Consolas"|000000035E6A | !align=right style="font-family:Consolas"|000000035E6A | ||
!align=left style="font-family:Consolas"| 0x20 [0x10] | |||
|-valign=top | |-valign=top | ||
![[SNDD]] | ![[SNDD]] | ||
| Sound Data | | Sound Data | ||
!align=right bgcolor=lime style="font-family:Consolas"|Win: 000000370578 <br/>Mac: 0000000411EB <br/>PS2: 0000000411EB | !align=right bgcolor=lime style="font-family:Consolas"|Win: 000000370578 <br/>Mac: 0000000411EB <br/>PS2: 0000000411EB | ||
!align=left bgcolor=lime style="font-family:Consolas"| 0x48<br/> 0x18<br/> 0x18 | |||
|-style="background:silver" | |-style="background:silver" | ||
![[StNA]] | ![[StNA]] | ||
| String Array | | String Array | ||
!align=right style="font-family:Consolas"|0005998CB520 | !align=right style="font-family:Consolas"|0005998CB520 | ||
!align=left style="font-family:Consolas"| 0x20 [0x04] | |||
|- | |- | ||
![[SUBT]] | ![[SUBT]] | ||
| Subtitle Array | | Subtitle Array | ||
!align=right style="font-family:Consolas"|000000046C68 | !align=right style="font-family:Consolas"|000000046C68 | ||
!align=left style="font-family:Consolas"| 0x20 [0x04] | |||
|} | |} | ||
|style="vertical-align:top"| | |style="vertical-align:top"| | ||
Line 352: | Line 435: | ||
!Description | !Description | ||
!Checksum(s) | !Checksum(s) | ||
!Size(s) | |||
|-style="background:black;color:white" | |-style="background:black;color:white" | ||
!TMFA | !TMFA | ||
| Float Array | | Float Array | ||
!align=right style="font-family:Consolas"|000000025324 | !align=right style="font-family:Consolas"|000000025324 | ||
!align=left style="font-family:Consolas"| 0x20 [0x04] | |||
|-style="background:black;color:white" | |-style="background:black;color:white" | ||
!TMRA | !TMRA | ||
| Template Reference Array | | Template Reference Array | ||
!align=right style="font-family:Consolas"|000000073521 | !align=right style="font-family:Consolas"|000000073521 | ||
!align=left style="font-family:Consolas"| 0x20 [0x20] | |||
|- | |- | ||
![[TRAC]] | ![[TRAC]] | ||
| [Totoro] Animation Collection | | [Totoro] Animation Collection | ||
!align=right style="font-family:Consolas"|000F26E9FB2F | !align=right style="font-family:Consolas"|000F26E9FB2F | ||
!align=left style="font-family:Consolas"| 0x20 [0x0C] | |||
|-valign=top | |-valign=top | ||
![[TRAM]] | ![[TRAM]] | ||
| Totoro Animation Sequence | | Totoro Animation Sequence | ||
!align=right bgcolor=yellow style="font-family:Consolas"|Win: 00107E3CC918 <br/>Mac: 00107E3CC918 <br/>PS2: 00000086E7B1 | !align=right bgcolor=yellow style="font-family:Consolas"|Win: 00107E3CC918 <br/>Mac: 00107E3CC918 <br/>PS2: 00000086E7B1 | ||
!align=left bgcolor=yellow style="font-family:Consolas"| 0x188<br/> 0x188<br/> 0x50 | |||
|- | |- | ||
![[TRAS]] | ![[TRAS]] | ||
| Totoro Aiming Screen | | Totoro Aiming Screen | ||
!align=right style="font-family:Consolas"|0001FA21A930 | !align=right style="font-family:Consolas"|0001FA21A930 | ||
!align=left style="font-family:Consolas"| 0x24 | |||
|- | |- | ||
![[TRBS]] | ![[TRBS]] | ||
| Totoro Body Set | | Totoro Body Set | ||
!align=right style="font-family:Consolas"|0002A2924239 | !align=right style="font-family:Consolas"|0002A2924239 | ||
!align=left style="font-family:Consolas"| 0x1C | |||
|- | |- | ||
![[TRCM]] | ![[TRCM]] | ||
| Totoro Quaternion Body | | Totoro Quaternion Body | ||
!align=right style="font-family:Consolas"|002392DE054E | !align=right style="font-family:Consolas"|002392DE054E | ||
!align=left style="font-family:Consolas"| 0x68 | |||
|-valign=top | |-valign=top | ||
![[TREX]] | ![[TREX]] | ||
| Totoro Animation Extra | | Totoro Animation Extra | ||
!align=right bgcolor=yellow style="font-family:Consolas"|Win: N/A <br/>Mac: N/A <br/>PS2: 002A2BF1612C | !align=right bgcolor=yellow style="font-family:Consolas"|Win: N/A <br/>Mac: N/A <br/>PS2: 002A2BF1612C | ||
!align=left bgcolor=yellow style="font-family:Consolas"| N/A<br/> N/A<br/> 0x13C | |||
|-style="background:black;color:white" | |-style="background:black;color:white" | ||
!TRFT | !TRFT | ||
| Totoro Facing Table | | Totoro Facing Table | ||
!align=right style="font-family:Consolas"|0000000221AF | !align=right style="font-family:Consolas"|0000000221AF | ||
!align=left style="font-family:Consolas"| 0x20 [0x04] | |||
|- | |- | ||
![[TRGA]] | ![[TRGA]] | ||
| Totoro Quaternion Body Geometry Array | | Totoro Quaternion Body Geometry Array | ||
!align=right style="font-family:Consolas"|0005206B20F8 | !align=right style="font-family:Consolas"|0005206B20F8 | ||
!align=left style="font-family:Consolas"| 0x20 [0x04] | |||
|- | |- | ||
![[TRGE]] | ![[TRGE]] | ||
| Trigger Emitter | | Trigger Emitter | ||
!align=right style="font-family:Consolas"|000871A6B93C | !align=right style="font-family:Consolas"|000871A6B93C | ||
!align=left style="font-family:Consolas"| 0x28 | |||
|- | |- | ||
![[TRIA]] | ![[TRIA]] | ||
| Totoro Quaternion Body Index Array | | Totoro Quaternion Body Index Array | ||
!align=right style="font-family:Consolas"|0000000AC482 | !align=right style="font-family:Consolas"|0000000AC482 | ||
!align=left style="font-family:Consolas"| 0x20 [0x04] | |||
|- | |- | ||
![[TRIG]] | ![[TRIG]] | ||
| Trigger | | Trigger | ||
!align=right style="font-family:Consolas"|0021DCD0CD2C | !align=right style="font-family:Consolas"|0021DCD0CD2C | ||
!align=left style="font-family:Consolas"| 0x74 | |||
|- | |- | ||
![[TRMA]] | ![[TRMA]] | ||
| [Totoro] Texture Map Array | | [Totoro] Texture Map Array | ||
!align=right style="font-family:Consolas"|000599DE6D57 | !align=right style="font-family:Consolas"|000599DE6D57 | ||
!align=left style="font-family:Consolas"| 0x20 [0x04] | |||
|- | |- | ||
![[TRSC]] | ![[TRSC]] | ||
| [Totoro] Screen (aiming) Collection | | [Totoro] Screen (aiming) Collection | ||
!align=right style="font-family:Consolas"|000599786B17 | !align=right style="font-family:Consolas"|000599786B17 | ||
!align=left style="font-family:Consolas"| 0x20 [0x04] | |||
|- | |- | ||
![[TRTA]] | ![[TRTA]] | ||
| Totoro Quaternion Body Translation Array | | Totoro Quaternion Body Translation Array | ||
!align=right style="font-family:Consolas"|0000000759E8 | !align=right style="font-family:Consolas"|0000000759E8 | ||
!align=left style="font-family:Consolas"| 0x20 [0x0C] | |||
|- | |- | ||
![[TSFF]] | ![[TSFF]] | ||
| Font Family | | Font Family | ||
!align=right style="font-family:Consolas"|000A8A6C488A | !align=right style="font-family:Consolas"|000A8A6C488A | ||
!align=left style="font-family:Consolas"| 0x20 [0x04] | |||
|- | |- | ||
![[TSFL]] | ![[TSFL]] | ||
| Font Language | | Font Language | ||
!align=right style="font-family:Consolas"|00000008DE29 | !align=right style="font-family:Consolas"|00000008DE29 | ||
!align=left style="font-family:Consolas"| 0x148 | |||
|-valign=top | |-valign=top | ||
![[TSFT]] | ![[TSFT]] | ||
| Font | | Font | ||
!align=right bgcolor=yellow style="font-family:Consolas"|Win: 0016BA91DEEA <br/>Mac: 0016BA91DEEA <br/>PS2: 0016BA8D6017 | !align=right bgcolor=yellow style="font-family:Consolas"|Win: 0016BA91DEEA <br/>Mac: 0016BA91DEEA <br/>PS2: 0016BA8D6017 | ||
!align=left bgcolor=yellow style="font-family:Consolas"| 0x420 [0x04]<br/> 0x420 [0x04]<br/> 0x420 | |||
|-valign=top | |-valign=top | ||
![[TSGA]] | ![[TSGA]] | ||
| Glyph Array | | Glyph Array | ||
!align=right bgcolor=yellow style="font-family:Consolas"|Win: 0000002A4E98 <br/>Mac: 0000002A4E98 <br/>PS2: 00000022DCA8 | !align=right bgcolor=yellow style="font-family:Consolas"|Win: 0000002A4E98 <br/>Mac: 0000002A4E98 <br/>PS2: 00000022DCA8 | ||
!align=left bgcolor=yellow style="font-family:Consolas"| 0x1408<br/> 0x1408<br/> 0x1408 | |||
|-style="background:silver" | |-style="background:silver" | ||
![[TStr]] | ![[TStr]] | ||
| String | | String | ||
!align=right style="font-family:Consolas"|0000000064A0 | !align=right style="font-family:Consolas"|0000000064A0 | ||
!align=left style="font-family:Consolas"| 0x88 | |||
|- | |- | ||
![[TURR]] | ![[TURR]] | ||
| Turret | | Turret | ||
!align=right style="font-family:Consolas"|0049C85805BE | !align=right style="font-family:Consolas"|0049C85805BE | ||
!align=left style="font-family:Consolas"| 0x648 | |||
|- | |- | ||
![[TXAN]] | ![[TXAN]] | ||
| Texture Map Animation | | Texture Map Animation | ||
!align=right style="font-family:Consolas"|000A8B134387 | !align=right style="font-family:Consolas"|000A8B134387 | ||
!align=left style="font-family:Consolas"| 0x20 [0x04] | |||
|- | |- | ||
![[TXCA]] | ![[TXCA]] | ||
| Texture Coordinate Array | | Texture Coordinate Array | ||
!align=right style="font-family:Consolas"|00000009141A | !align=right style="font-family:Consolas"|00000009141A | ||
!align=left style="font-family:Consolas"| 0x20 [0x08] | |||
|- | |- | ||
![[TXMA]] | ![[TXMA]] | ||
| Texture Map Array | | Texture Map Array | ||
!align=right style="font-family:Consolas"|000599DE7F90 | !align=right style="font-family:Consolas"|000599DE7F90 | ||
!align=left style="font-family:Consolas"| 0x20 [0x04] | |||
|- | |- | ||
![[TXMB]] | ![[TXMB]] | ||
| Texture Map Big | | Texture Map Big | ||
!align=right style="font-family:Consolas"|000A8B166A52 | !align=right style="font-family:Consolas"|000A8B166A52 | ||
!align=left style="font-family:Consolas"| 0x20 [0x04] | |||
|-valign=top | |-valign=top | ||
![[TXMP]] | ![[TXMP]] | ||
| Texture Map | | Texture Map | ||
!align=right bgcolor=red style="font-family:Consolas"|Win: 000891187581 <br/>Mac: 0008911EEB5F <br/>PS2: 00098E2E2E01 | !align=right bgcolor=red style="font-family:Consolas"|Win: 000891187581 <br/>Mac: 0008911EEB5F <br/>PS2: 00098E2E2E01 | ||
!align=left bgcolor=red style="font-family:Consolas"| 0xAC<br/> 0xB0<br/> 0xB4 | |||
|-style="background:black;color:white" | |-style="background:black;color:white" | ||
!TXPC | !TXPC | ||
| Texture Procedure Data | | Texture Procedure Data | ||
!align=right style="font-family:Consolas"|0000000BA77E | !align=right style="font-family:Consolas"|0000000BA77E | ||
!align=left style="font-family:Consolas"| 0x20 [0x04] | |||
|- | |- | ||
![[TxtC]] | ![[TxtC]] | ||
| Text Console | | Text Console | ||
!align=right style="font-family:Consolas"|0001B7AC8B27 | !align=right style="font-family:Consolas"|0001B7AC8B27 | ||
!align=left style="font-family:Consolas"| 0x0C | |||
|-style="background:black;color:white" | |-style="background:black;color:white" | ||
!UUEA | !UUEA | ||
| Error Binding Array | | Error Binding Array | ||
!align=right style="font-family:Consolas"|0000000AEEBC | !align=right style="font-family:Consolas"|0000000AEEBC | ||
!align=left style="font-family:Consolas"| 0x20 [0x80] | |||
|-style="background:black;color:white" | |-style="background:black;color:white" | ||
!UVDL | !UVDL | ||
| UV Data List | | UV Data List | ||
!align=right style="font-family:Consolas"|0000000A16E5 | !align=right style="font-family:Consolas"|0000000A16E5 | ||
!align=left style="font-family:Consolas"| 0x20 [0x40] | |||
|- | |- | ||
![[VCRA]] | ![[VCRA]] | ||
| 3D Vector Array | | 3D Vector Array | ||
!align=right style="font-family:Consolas"|000000054739 | !align=right style="font-family:Consolas"|000000054739 | ||
!align=left style="font-family:Consolas"| 0x20 [0x0C] | |||
|- | |- | ||
![[WMCL]] | ![[WMCL]] | ||
| WM Cursor List | | WM Cursor List | ||
!align=right style="font-family:Consolas"|00000009D076 | !align=right style="font-family:Consolas"|00000009D076 | ||
!align=left style="font-family:Consolas"| 0x20 [0x08] | |||
|- | |- | ||
![[WMDD]] | ![[WMDD]] | ||
| WM Dialog Data | | WM Dialog Data | ||
!align=right style="font-family:Consolas"|001C001DF3C4 | !align=right style="font-family:Consolas"|001C001DF3C4 | ||
!align=left style="font-family:Consolas"| 0x120 [0x124] | |||
|- | |- | ||
![[WMM_]] | ![[WMM_]] | ||
| WM Menu | | WM Menu | ||
!align=right style="font-family:Consolas"|0000000C1A38 | !align=right style="font-family:Consolas"|0000000C1A38 | ||
!align=left style="font-family:Consolas"| 0x60 [0x44] | |||
|- | |- | ||
![[WMMB]] | ![[WMMB]] | ||
| WM Menu Bar | | WM Menu Bar | ||
!align=right style="font-family:Consolas"|0006D20C6737 | !align=right style="font-family:Consolas"|0006D20C6737 | ||
!align=left style="font-family:Consolas"| 0x20 [0x04] | |||
|- | |- | ||
![[WPge]] | ![[WPge]] | ||
| Weapon Page | | Weapon Page | ||
!align=right style="font-family:Consolas"|00046F5889B5 | !align=right style="font-family:Consolas"|00046F5889B5 | ||
!align=left style="font-family:Consolas"| 0x10 | |||
|} | |} | ||
|} | |} |
Latest revision as of 19:54, 13 November 2022
Below is an overview of individual template checksums, extracted from the three engine types (Windows retail, Windows demo or Mac, and PS2). For conciseness, we may refer to the three iterations "Win", "Mac" and "PS2" (Windows demo and Mac differ only in the ADPCM algorithm used for the waveforms stored in a SNDD's .raw part, which does not affect the template structure or checksum, and is outside the scope of this analysis).
Our knowledge-so-far suggests that Windows retail was the first iteration, followed by the concommittent development of Windows demo and Mac versions. The PS2 iteration apparently came last, being closer to the "Mac" iteration but also having many novel features (color palettes, text system, but also AGQG, M3GM and TRAM). At the time of writing, we have yet to document the PS2 "novelties" and determine whether or not they constitute an improvement.
The instance files are labeled as VR31 for all three iterations of the template system, even though Windows retail doesn't use .sep files, and PS2 seems to be using additional .pal files (palettes of all the texel colors occurring in a level; not yet documented).
It must be noted that the PS2 build includes an auxiliary set of sound files, grouped by level into .dat/.raw/.sep file triplets (i.e., 15 such triplets in total). However, these auxiliary .dat/.raw/.sep files are nothing like VR31 instance files, and seem to be using a much simpler lookup system (undocumented as of now).
For most templates the checksums are identical, as well as the data itself. One template, TREX (Totoro Animation Extra) is unique to PS2 (apparently some of the TRAM data was split off to a separate, unnamed file; possibly new TRAM features were implemented in the process as well). Another template, AGQM (Gunk Quad Material) is missing from the PS2 engine, so that each engine lists exactly 114 individual template checksums, plus the global checksum. The global checksums aggregated from these 114 templates are as follows:
- "Win" checksum (Windows retail)
- 0x0003BCDF33DC271F (doesn't include TREX template)
- "Mac" checksum (also Windows demo)
- 0x0003BCDF23C13061 (doesn't include TREX template)
- PS2 checksum
- 0x0003BA70A8DBAE11 (doesn't include AGQM template)
Below are all 115 known templates in alphabetic order, with their checksums and data sizes.
- A black background indicates those instance types that do not occur in Vanilla .dat files.
- A grey background indicates those that are present but are not used (by Win/Mac engines).
- A green checksum background indicates files that have a different checksum in the Win iteration.
- A yellow checksum background indicates files that have a different checksum in the PS2 iteration.
- A red checksum background indicates files that have a different checksum in all three iterations.
The data sizes in the below table are extracted from the respective engine executables (along with the checksums) and include the 8 leading bytes (instance ID and level ID). The number in square brackets is the size of the variable array element where applicable. Note the difference with the padded size featured in an instance descriptor (which includes the actual array elements, if any, and the 32-byte padding).
Note that some obsolete instances, such as OBLS, are worthy of interest, have been documented and may be revived.
|
|
|