OBD talk:File types

From OniGalore
Revision as of 17:17, 9 November 2022 by Geyser (talk | contribs) (brain-dumping a comparison of template checksums, for a better understanding of the differences between engines/platforms)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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.

  • 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.

Note that some obsolete instances, such as OBLS, are worthy of interest, have been documented and may be revived.

Tag Description Checksum(s)
3CLA  RGB Color Array 00000004E6BE 
ABNA  [Akira] BSP Tree Node Array 000000126DA0 
AGDB  [Akira] Gunk Quad Debug Array 000000072E17 
AGQC  [Akira] Gunk Quad Collision Array 0000001CCB91 
AGQG  [Akira] Gunk Quad General Array Win: 0000001C03D2 
Mac: 0000001C03D2 
PS2: 00000027E7AD 
AGQM  [Akira] Gunk Quad Material Win: 000000044AA6 
Mac: 000000044AA6 
PS2: N/A          
AGQR  [Akira] Gunk Quad Render Array 000000083A3B 
AISA  AI Character Setup Array 002A224C6BE9 
AITR  AI Script Trigger Array 0000001AEA55 
AIWA  AI Imported Waypoint Array 000000107F03 
AKAA  [Akira] Adjacency Array 00000011DE77 
AKBA  [Akira] Side Array 0000003A2884 
AKBP  [Akira] BSP Node Array 0000000CF449 
AKDA  [Akira] Door Frame Array 0000002E5464 
AKEV  Akira Environment 00883014DE75 
AKOT  [Akira] Oct Tree 0011E7B8DA08 
AKVA  [Akira] BNV Node Array 000000DF05E0 
BINA  Binary Data Win: 00000000DB41 
Mac: 000000015E11 
PS2: 000000015E11 
CBPI  Character Body Part Impacts 000C0BF9D6C2 
CBPM  Character Body Part Material 00026BA4351F 
CONS  Console 0013DA8B0BDD 
CRSA  Corpse Array 000C1543D4CC 
DOOR  Door 00063172FD67 
DPge  Diary Page 0007BA8A686B 
EDIA  Edge Index Array 00000007B6F7 
ENVP  Env Particle Array 00000067C1C3 
FILM  Film 000B331B62AD 
FXLR  FX Laser Effect 00069583F8A9 
GMAN  Geometry Animation 0009A672F5A5 
HPge  Help Page 00044B2F713B 
IDXA  Index Array 00000002708F 
IGHH  IGUI HUD Help 0008E58E58DE 
IGPA  IGUI Page Array 0004DDBE0905 
IGPG  IGUI Page 0011CE67887D 
IGSA  IGUI String Array 0004DDBEA408 
IGSt  IGUI String Win: 0002A2A47725 
Mac: 0002A2A47725 
PS2: 0002A2A368F7 
Impt  Impact Tree 000000044F16 
IPge  Item Page 0002938369BA 
Tag Description Checksum(s)
KeyI  Key Icons 00403F4757AD 
M3GA  [Motoko] Geometry Array 0005206B20B2 
M3GM  [Motoko] Geometry Win: 0027A078E436 
Mac: 0027A078E436 
PS2: 0016C1058961 
M3TA  [Motoko] Triangle Array 00000002F7C1 
Mtrl  Material 000000028E0D 
NMSA  Network Spawn Point Array 0000000C099C 
OBAN  Object Animation 0000004E0C24 
OBDC  Door Class Array 0007BD9ECA0B 
OBLS  Object LS Data 0000000B703D 
OBOA  Starting Object Array 00134F8986E1 
OFGA  Object Furn Geom Array 001374FAC362 
ONCC  Oni Character Class 04A5AAC759EF 
ONCP  Oni Character Particle Array 0000002F7321 
ONCV  Oni Character Variant 0000000299F5 
ONFA  Imported Flag Node Array 0000001B0CE7 
ONGS  Oni Game Settings 00000226EBB6 
ONIA  Oni Character Impact Array 0000002B2F9A 
ONLD  Oni Game Level Descriptor 0000000412A1 
ONLV  Oni Game Level 007DB79A2EA3 
ONMA  Imported Marker Node Array 000000124779 
ONOA  Object Gunk Array 00064BE75C7C 
ONSA  Imported Spawn Array 000000044634 
ONSK  Oni Sky Class 0014C2261067 
ONTA  Trigger Array 000000A0FCC0 
ONVL  Oni Variant List 00054434C58A 
ONWC  Oni Weapon Class 0193A3E0EEB5 
OPge  Objective Page 00044B30BBFB 
OSBD  Oni Sound Binary Data Win: 00000000DB6C 
Mac: 000000015E3C 
PS2: 000000015E3C 
OTIT  Oct Tree Interior Node Array 0000000A51D2 
OTLF  Oct Tree Leaf Node Array 0000001EAC0B 
PLEA  Plane Equation Array 00000007BC38 
PNTA  3D Point Array 00000037676C 
PSpc  Part Specification 000000082648 
PSpL  Part Specification List 0000000CCC05 
PSUI  Part Specifications UI 03CD544E96FB 
QTNA  Quad Tree Node Array 000000066ECC 
QUDA  Quad Array 000000035E6A 
SNDD  Sound Data Win: 000000370578 
Mac: 0000000411EB 
PS2: 0000000411EB 
StNA  String Array 0005998CB520 
SUBT  Subtitle Array 000000046C68 
Tag Description Checksum(s)
TMFA  Float Array 000000025324 
TMRA  Template Reference Array 000000073521 
TRAC  [Totoro] Animation Collection 000F26E9FB2F 
TRAM  Totoro Animation Sequence Win: 00107E3CC918 
Mac: 00107E3CC918 
PS2: 00000086E7B1 
TRAS  Totoro Aiming Screen 0001FA21A930 
TRBS  Totoro Body Set 0002A2924239 
TRCM  Totoro Quaternion Body 002392DE054E 
TREX  Totoro Animation Extra Win: N/A          
Mac: N/A          
PS2: 002A2BF1612C 
TRFT  Totoro Facing Table 0000000221AF 
TRGA  Totoro Quaternion Body Geometry Array 0005206B20F8 
TRGE  Trigger Emitter 000871A6B93C 
TRIA  Totoro Quaternion Body Index Array 0000000AC482 
TRIG  Trigger 0021DCD0CD2C 
TRMA  [Totoro] Texture Map Array 000599DE6D57 
TRSC  [Totoro] Screen (aiming) Collection 000599786B17 
TRTA  Totoro Quaternion Body Translation Array 0000000759E8 
TSFF  Font Family 000A8A6C488A 
TSFL  Font Language 00000008DE29 
TSFT  Font Win: 0016BA91DEEA 
Mac: 0016BA91DEEA 
PS2: 0016BA8D6017 
TSGA  Glyph Array Win: 0000002A4E98 
Mac: 0000002A4E98 
PS2: 00000022DCA8 
TStr  String 0000000064A0 
TURR  Turret 0049C85805BE 
TXAN  Texture Map Animation 000A8B134387 
TXCA  Texture Coordinate Array 00000009141A 
TXMA  Texture Map Array 000599DE7F90 
TXMB  Texture Map Big 000A8B166A52 
TXMP  Texture Map Win: 000891187581 
Mac: 0008911EEB5F 
PS2: 00098E2E2E01 
TXPC  Texture Procedure Data 0000000BA77E 
TxtC  Text Console 0001B7AC8B27 
UUEA  Error Binding Array 0000000AEEBC 
UVDL  UV Data List 0000000A16E5 
VCRA  3D Vector Array 000000054739 
WMCL  WM Cursor List 00000009D076 
WMDD  WM Dialog Data 001C001DF3C4 
WMM_  WM Menu 0000000C1A38 
WMMB  WM Menu Bar 0006D20C6737 
WPge  Weapon Page 00046F5889B5