OBD:File types/Naming: Difference between revisions
m (spacing) |
m (Iritscen moved page OBD:File types/Named to OBD:File types/Naming without leaving a redirect: the article is not about named resources specifically but about the naming system) |
||
(9 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
*Except for TXMP and M3GM, files are either always named or always unnamed | *Except for [[TXMP]] and [[M3GM]], files are either always named or always unnamed | ||
*'''Unnamed files''' are necessarily linked to by file-ID from another file | *'''Unnamed files''' are necessarily linked to by file-ID from another file | ||
*'''Named files''' may or may not be linked to by file-ID from another file | *'''Named files''' may or may not be linked to by file-ID from another file | ||
Line 11: | Line 11: | ||
---- | ---- | ||
---- | ---- | ||
==TXMP== | ==[[TXMP]]== | ||
TXMP are generally ''named''; unnamed TXMP are always animation frames of a ''named'' TXMP. | TXMP are generally ''named''; unnamed TXMP are always animation frames of a ''named'' TXMP. | ||
===Unnamed TXMP=== | ===Unnamed TXMP=== | ||
;parent | ;parent | ||
:(unnamed) TXAN (part of (named) TXMP) | :(unnamed) [[TXAN]] (part of (named) TXMP) | ||
;children | ;children | ||
*<strike>(unnamed) TXAN (optional)</strike> | *<strike>(unnamed) TXAN (optional)</strike> | ||
*(named) TXMP (optional) | *(named) TXMP (optional) | ||
* | *.raw/.sep part | ||
Line 25: | Line 25: | ||
===Named TXMP=== | ===Named TXMP=== | ||
;parent | ;parent | ||
:(named) TRMA | :(named) [[TRMA]] | ||
:(unnamed) TXMA (part of (named) AKEV) | :(unnamed) [[TXMA]] (part of (named) [[AKEV]]) | ||
:(named) ONCC | :(named) [[ONCC]] | ||
:(named) ONWC | :(named) [[ONWC]] | ||
:(named) ONGS | :(named) [[ONGS]] | ||
:... (it's quite popular, actually ^^) | :... (it's quite popular, actually ^^) | ||
;children | ;children | ||
*(unnamed) TXAN (optional) | *(unnamed) [[TXAN]] (optional) | ||
*(named) TXMP (optional) | *(named) TXMP (optional) | ||
; | ;.raw/.sep part | ||
There are also orphan TXMPs (named TXMPs without a parent) | There are also orphan TXMPs (named TXMPs without a parent) | ||
====Orphan TXMP==== | ====Orphan TXMP==== | ||
Line 43: | Line 43: | ||
---- | ---- | ||
---- | ---- | ||
==M3GM== | ==[[M3GM]]== | ||
M3GM are generally ''unnamed'' (possible parents detailed below). | M3GM are generally ''unnamed'' (possible parents detailed below). | ||
;parent | ;parent | ||
:(see below) | :(see below) | ||
;children | ;children | ||
*(unnamed) PNTA | *(unnamed) [[PNTA]] | ||
*(unnamed) VCRA x2 | *(unnamed) [[VCRA]] x2 | ||
*(unnamed) TXCA | *(unnamed) [[TXCA]] | ||
*(unnamed) IDXA x2 | *(unnamed) [[IDXA]] x2 | ||
*(named) TXMP (optional, see below) | *(named) [[TXMP]] (optional, see below) | ||
===Named M3GM=== | ===Named M3GM=== | ||
Named M3GM can be orphans or part of the level hierarchy (ONLV/ONOA/M3GA/M3GM) | Named M3GM can be orphans or part of the level hierarchy ([[ONLV]]/[[ONOA]]/[[M3GA]]/M3GM) | ||
;children | ;children | ||
*... | *... | ||
Line 64: | Line 64: | ||
====Level M3GM==== | ====Level M3GM==== | ||
;parent | ;parent | ||
:(unnamed) M3GA (child of (unnamed) ONOA (child of (named) ONLV)) | :(unnamed) [[M3GA]] (child of (unnamed) [[ONOA]] (child of (named) [[ONLV]])) | ||
Some of those have OBAN named after them (auto-assigned animations) ^^ | Some of those have [[OBAN]] named after them (auto-assigned animations) ^^ | ||
Line 90: | Line 90: | ||
*... | *... | ||
The following 6 are linked by name from ONGS | The following 6 are linked by name from [[ONGS]] | ||
*powerup_ammo (level 0) | *powerup_ammo (level 0) | ||
*powerup_cell (level 0) | *powerup_cell (level 0) | ||
Line 114: | Line 114: | ||
---- | ---- | ||
===Unnamed M3GM=== | ===Unnamed M3GM=== | ||
Possible parents: CONS, CONS/OFGA, DOOR/OFGA, ONWC, TRIG, TRGE, TURR, TRBS/TRCM/TRGA | Possible parents: [[CONS]], CONS/[[OFGA]], [[DOOR]]/OFGA, [[ONWC]], [[TRIG]], [[TRGE]], [[TURR]], [[TRBS]]/[[TRCM]]/[[TRGA]] | ||
:depending on the parent, the TXMP child is either present or absent. | :depending on the parent, the [[TXMP]] child is either present or absent. | ||
;parent | ;parent | ||
:(unnamed) TRGA (child of (unnamed) TRCM (child of (named) TRBS)) | :(unnamed) TRGA (child of (unnamed) TRCM (child of (named) TRBS)) | ||
Line 137: | Line 137: | ||
==Always named== | ==Always named== | ||
===Orphans=== | ===Orphans=== | ||
====BINA==== | ====[[BINA]]==== | ||
looked up by name??? | looked up by name??? | ||
;no children | ;no children | ||
; | ;.raw/.sep part | ||
---- | ---- | ||
====CONS==== | ====[[CONS]]==== | ||
looked up by name??? | looked up by name??? | ||
;children | ;children | ||
Line 152: | Line 152: | ||
---- | ---- | ||
====DOOR==== | ====[[DOOR]]==== | ||
looked up by name??? | looked up by name??? | ||
;children | ;children | ||
Line 162: | Line 162: | ||
---- | ---- | ||
====DPge==== | ====[[DPge]]==== | ||
looked up by name??? | looked up by name??? | ||
;children | ;children | ||
Line 169: | Line 169: | ||
---- | ---- | ||
====FILM==== | ====[[FILM]]==== | ||
looked up by name??? | looked up by name??? | ||
;children | ;children | ||
Line 176: | Line 176: | ||
---- | ---- | ||
====HPge==== | ====[[HPge]]==== | ||
looked up by name??? | looked up by name??? | ||
;children | ;children | ||
Line 183: | Line 183: | ||
---- | ---- | ||
====IGHH==== | ====[[IGHH]]==== | ||
Only one IGHH, in level 0, called '''hud_help_info.IGHH''' | Only one IGHH, in level 0, called '''hud_help_info.IGHH''' | ||
;children | ;children | ||
Line 190: | Line 190: | ||
---- | ---- | ||
====IPge==== | ====[[IPge]]==== | ||
looked up by name??? | looked up by name??? | ||
;children | ;children | ||
:(unnamed) IGPG | :(unnamed) [[IGPG]] | ||
---- | ---- | ||
====KeyI==== | ====[[KeyI]]==== | ||
Only one KeyI, in level 0, called '''keyicons. | Only one KeyI, in level 0, called '''keyicons.KeyI''' | ||
;children | ;children | ||
:(named) TXMP | :(named) [[TXMP]] | ||
---- | ---- | ||
====ONGS==== | ====[[ONGS]]==== | ||
Only one ONGS, in level 0, called '''game_settings.ONGS''' | Only one ONGS, in level 0, called '''game_settings.ONGS''' | ||
;no children | ;no children | ||
;lookups | ;lookups | ||
:OSBD | :[[OSBD]] | ||
:M3GM (powerups) | :[[M3GM]] (powerups) | ||
:TXMP (powerup glow) | :[[TXMP]] (powerup glow) | ||
---- | ---- | ||
====ONLD==== | ====[[ONLD]]==== | ||
:One instance per level, names vary. | :One instance per level, names vary. | ||
looked up by name??? | looked up by name??? | ||
Line 221: | Line 221: | ||
---- | ---- | ||
====ONLV==== | ====[[ONLV]]==== | ||
:One instance per level, names vary. | :One instance per level, names vary. | ||
looked up by name??? | looked up by name??? | ||
;children | ;children | ||
*(named) AKEV (... children) (environment) | *(named) [[AKEV]] (... children) (environment) | ||
*(unnamed) OBOA (M3GA, OBAN, ENVP children) (starting objects) | *(unnamed) [[OBOA]] (M3GA, OBAN, ENVP children) (starting objects) | ||
*(unnamed) ONMA (no children) ("marker node") (useless?) | *(unnamed) [[ONMA]] (no children) ("marker node") (useless?) | ||
*(unnamed) ONFA (no children) ("flag node") (useless?) | *(unnamed) [[ONFA]] (no children) ("flag node") (useless?) | ||
*(unnamed) ONTA (no children) ("trigger") (useless?) | *(unnamed) [[ONTA]] (no children) ("trigger") (useless?) | ||
*(named) ONSK (TXMP children) (sky) | *(named) [[ONSK]] (TXMP children) (sky) | ||
*(named) AISA (ONCC, ONWC children) (AI spawn) | *(named) [[AISA]] (ONCC, ONWC children) (AI spawn) | ||
*(named) AITR (no children) (AI triggers) | *(named) [[AITR]] (no children) (AI triggers) | ||
*(named) ONSA (no children) ("spawn") (useless?) | *(named) [[ONSA]] (no children) ("spawn") (useless?) | ||
*(named) OBDC (OBAN children) ("door class") | *(named) [[OBDC]] (OBAN children) ("door class") | ||
*(unnamed) ONOA (IDXA children) (env groups) | *(unnamed) [[ONOA]] (IDXA children) (env groups) | ||
*(unnamed) ENVP (no children) (toggleable env particles) | *(unnamed) [[ENVP]] (no children) (toggleable env particles) | ||
*(unnamed) CRSA (ONCC children) (corpses) | *(unnamed) [[CRSA]] (ONCC children) (corpses) | ||
---- | ---- | ||
====ONVL==== | ====[[ONVL]]==== | ||
Only one ONVL, in level 0, called '''variant_list.ONVL''' | Only one ONVL, in level 0, called '''variant_list.ONVL''' | ||
;children | ;children | ||
:(named) ONCV | :(named) [[ONCV]] | ||
---- | ---- | ||
====OPge==== | ====[[OPge]]==== | ||
looked up by name??? | looked up by name??? | ||
;children | ;children | ||
:(unnamed) IGPA (IGPG and subtree...) | :(unnamed) [[IGPA]] ([[IGPG]] and subtree...) | ||
---- | ---- | ||
====OSBD==== | ====[[OSBD]]==== | ||
looked up by name??? | looked up by name??? | ||
;no children | ;no children | ||
; | ;.raw/.sep part | ||
;lookups | ;lookups | ||
:SNDD (by name from OSGr) | :[[OSBD]] (by name from [[OSAm]] and [[OSIm]]) | ||
:[[SNDD]] (by name from [[OSGr]]) | |||
---- | ---- | ||
====PSpL==== | ====[[PSpL]]==== | ||
Only one PSpL, in level 0, called '''partspec_list.PSpL''' | Only one PSpL, in level 0, called '''partspec_list.PSpL''' | ||
;children | ;children | ||
:(named) PSpc | :(named) [[PSpc]] | ||
---- | ---- | ||
====PSUI==== | |||
====[[PSUI]]==== | |||
looked up by name??? | looked up by name??? | ||
;children | ;children | ||
:(named) PSpc | :(named) [[PSpc]] | ||
---- | ---- | ||
====SNDD==== | ====[[SNDD]]==== | ||
looked up by name??? | looked up by name??? | ||
;no children | ;no children | ||
; | ;.raw/.sep part | ||
---- | ---- | ||
====StNA==== | ====[[StNA]]==== | ||
looked up by name??? | looked up by name??? | ||
;children | ;children | ||
:(unnamed) | :(unnamed) [[TStr]] | ||
---- | ---- | ||
====SUBT==== | ====[[SUBT]]==== | ||
looked up by name??? | looked up by name??? | ||
;no children | ;no children | ||
; | ;.raw/.sep part | ||
---- | ---- | ||
====TURR==== | ====[[TURR]]==== | ||
looked up by name??? | looked up by name??? | ||
;children | ;children | ||
*(unnamed) M3GM | *(unnamed) [[M3GM]] | ||
*OBLS (obsolete) | *OBLS (obsolete) | ||
;lookups | ;lookups | ||
:OSBD, BINA/PAR3 | :[[OSBD, [[BINA]]/[[PAR3]] | ||
---- | ---- | ||
====TXMB==== | ====[[TXMB]]==== | ||
looked up by name??? | looked up by name??? | ||
;children | ;children | ||
:(named) TXMP | :(named) [[TXMP]] | ||
---- | ---- | ||
====TxtC==== | ====[[TxtC]]==== | ||
looked up by name??? | looked up by name??? | ||
;children | ;children | ||
:(unnamed) IGPA (IGPG and subtree...) | :(unnamed) [[IGPA]] ([[IGPG]] and subtree...) | ||
---- | ---- | ||
====WMCL==== | ====[[WMCL]]==== | ||
Only one WMCL, in level 0, called '''cursor_list.WMCL''' | Only one WMCL, in level 0, called '''cursor_list.WMCL''' | ||
;children | ;children | ||
:(named) PSpc | :(named) [[PSpc]] | ||
---- | ---- | ||
====WMDD==== | ====[[WMDD]]==== | ||
looked up by name??? | looked up by name??? | ||
;children | ;children | ||
:(named) TSFF | :(named) [[TSFF]] | ||
---- | ---- | ||
====WPge==== | ====[[WPge]]==== | ||
looked up by name??? | looked up by name??? | ||
;children | ;children | ||
*(unnamed) IGPG | *(unnamed) [[IGPG]] | ||
*(named) ONWC !!! | *(named) [[ONWC]] !!! | ||
Line 347: | Line 349: | ||
===Semi-orphans=== | ===Semi-orphans=== | ||
Those only link to files of the same type as themselves. | Those only link to files of the same type as themselves. | ||
====Impt==== | ====[[Impt]]==== | ||
looked up by name??? | looked up by name??? | ||
;parent | ;parent | ||
Line 356: | Line 358: | ||
---- | ---- | ||
====Mtrl==== | ====[[Mtrl]]==== | ||
looked up by name??? | looked up by name??? | ||
;parent | ;parent | ||
Line 366: | Line 368: | ||
---- | ---- | ||
===Non-orphans=== | ===Non-orphans=== | ||
====AISA==== | ====[[AISA]]==== | ||
:One instance per level, called '''level#_scripts''' | :One instance per level, called '''level#_scripts''' | ||
looked up by name??? | looked up by name??? | ||
;parent | ;parent | ||
:(named) ONLV | :(named) [[ONLV]] | ||
;children | ;children | ||
*(named) ONCC | *(named) [[ONCC]] | ||
*(named) ONWC (optional) | *(named) [[ONWC]] (optional) | ||
Although ONCC and ONWC are not ''really'' "children" here... | Although ONCC and ONWC are not ''really'' "children" here... | ||
---- | ---- | ||
====AITR==== | ====[[AITR]]==== | ||
:One instance per level, called '''level#_scripts''' | :One instance per level, called '''level#_scripts''' | ||
:possibly obsolete (non-trivial only in '''level8_Final''') | :possibly obsolete (non-trivial only in '''level8_Final''') | ||
looked up by name??? | looked up by name??? | ||
;parent | ;parent | ||
:(named) ONLV | :(named) [[ONLV]] | ||
;no children | ;no children | ||
---- | ---- | ||
====AKEV==== | ====[[AKEV]]==== | ||
:One instance per level, names vary. | :One instance per level, names vary. | ||
looked up by name??? | looked up by name??? | ||
;parent | ;parent | ||
:(named) ONLV | :(named) [[ONLV]] | ||
;children | ;children | ||
*(unnamed) PNTA (no children) (vertices) | *(unnamed) [[PNTA]] (no children) (vertices) | ||
*(unnamed) PLEA (no children) (UVs) | *(unnamed) [[PLEA]] (no children) (UVs) | ||
*(unnamed) TXCA (no children) (quads) | *(unnamed) [[TXCA]] (no children) (quads) | ||
*(unnamed) AGQG (no children) (quads too) | *(unnamed) [[AGQG]] (no children) (quads too) | ||
*(unnamed) AGQR (no children) (quads too) | *(unnamed) [[AGQR]] (no children) (quads too) | ||
*(unnamed) AGQC (no children) (quads too) | *(unnamed) [[AGQC]] (no children) (quads too) | ||
*(unnamed) AGDB ( | *(unnamed) [[AGDB]] (.raw/.sep parts) (quads too) (absent on Mac) | ||
*(unnamed) TXMA (TXMP children) (textures) | *(unnamed) [[TXMA]] (TXMP children) (textures) | ||
*(unnamed) AKVA ( | *(unnamed) [[AKVA]] (.raw/.sep parts) (pathfinding grids) | ||
*(unnamed) AKBA (no children) ("side array" of pathfinding grids?) | *(unnamed) [[AKBA]] (no children) ("side array" of pathfinding grids?) | ||
*(unnamed) IDXA x2 (no children) ("gunk" lookup) | *(unnamed) [[IDXA]] x2 (no children) ("gunk" lookup) | ||
*(unnamed) AKBP (no children) ("BSP node" ???) | *(unnamed) [[AKBP]] (no children) ("BSP node" ???) | ||
*(unnamed) ABNA (no children) ("BSP tree" ???) | *(unnamed) [[ABNA]] (no children) ("BSP tree" ???) | ||
*(unnamed) AKOT (OTIT, OTLF, QTNA, IDXA x2) (oct tree) | *(unnamed) [[AKOT]] ([[OTIT, [[OTLF, [[QTNA, [[IDXA x2) (oct tree) | ||
*(unnamed) AKAA (no children) ("adjacency" of pathfinding grids?) | *(unnamed) [[AKAA]] (no children) ("adjacency" of pathfinding grids?) | ||
*(unnamed) AKDA (no children) (doorframes) | *(unnamed) [[AKDA]] (no children) (doorframes) | ||
---- | ---- | ||
====OBAN==== | ====[[OBAN]]==== | ||
;parent | ;parent | ||
:(named) OBDC | :(named) [[OBDC]] | ||
:(named) DOOR | :(named) [[DOOR]] | ||
:(named) TRIG | :(named) [[TRIG]] | ||
:(unnamed) OBOA (child of (named) ONLV) | :(unnamed) [[OBOA]] (child of (named) [[ONLV]]) | ||
::''orphans also exist'' | ::''orphans also exist'' | ||
;no children | ;no children | ||
Line 424: | Line 426: | ||
---- | ---- | ||
====OBDC==== | ====[[OBDC]]==== | ||
:One instance per level, called '''level#_scripts''' | :One instance per level, called '''level#_scripts''' | ||
looked up by name??? | looked up by name??? | ||
;parent | ;parent | ||
:(named) ONLV | :(named) [[ONLV]] | ||
;children | ;children | ||
:(named) OBAN | :(named) [[OBAN]] | ||
---- | ---- | ||
====ONCC==== | ====[[ONCC]]==== | ||
:no global instance in original Oni | :no global instance in original Oni | ||
looked up by name??? | looked up by name??? | ||
;parent | ;parent | ||
:(named) AISA (part of (named) ONLV) | :(named) [[AISA]] (part of (named) [[ONLV]]) | ||
:(unnamed) CRSA (part of (named) ONLV) | :(unnamed) [[CRSA]] (part of (named) ONLV) | ||
::''ONCC are actually standalone'' | ::''ONCC are actually standalone'' | ||
;children | ;children | ||
*(named) TXMP | *(named) [[TXMP]] | ||
*(named) ONCV | *(named) [[ONCV]] | ||
*(unnamed) ONCP | *(unnamed) [[ONCP]] | ||
*(unnamed) ONIA | *(unnamed) [[ONIA]] | ||
*(named) TRBS | *(named) [[TRBS]] | ||
*(named) TRMA | *(named) [[TRMA]] | ||
*(unnamed) CBPM | *(unnamed) [[CBPM]] | ||
*(unnamed) CBPI | *(unnamed) [[CBPI]] | ||
*(named) TRAC | *(named) [[TRAC]] | ||
*(named) TRSC | *(named) [[TRSC]] | ||
;lookups | ;lookups | ||
:OSBD | :[[OSBD]] | ||
---- | ---- | ||
====ONCV==== | ====[[ONCV]]==== | ||
:except for the linking from ONCC, this is actually a set of "semi-orphans" ^^ | :except for the linking from ONCC, this is actually a set of "semi-orphans" ^^ | ||
looked up by name??? | looked up by name??? | ||
;parent | ;parent | ||
:(named) ONCC (in levels) | :(named) [[ONCC]] (in levels) | ||
:(named) ONVL (level 0) or none | :(named) [[ONVL]] (level 0) or none | ||
;children | ;children | ||
:(named) ONCV (optional) | :(named) ONCV (optional) | ||
Line 468: | Line 470: | ||
---- | ---- | ||
====ONSA==== | ====[[ONSA]]==== | ||
:One instance per level, called '''level#_scripts''' | :One instance per level, called '''level#_scripts''' | ||
looked up by name??? | looked up by name??? | ||
;parent | ;parent | ||
:(named) ONLV | :(named) [[ONLV]] | ||
;no children | ;no children | ||
---- | ---- | ||
====ONSK==== | ====[[ONSK]]==== | ||
:One instance per level, names vary. | :One instance per level, names vary. | ||
looked up by name??? | looked up by name??? | ||
;parent | ;parent | ||
:(named) ONLV | :(named) [[ONLV]] | ||
;children | ;children | ||
*(named) TXMP x6 (skybox) | *(named) [[TXMP x6 (skybox) | ||
*(named) TXMP x8 (sun/moon/stars) | *(named) TXMP x8 (sun/moon/stars) | ||
*(named) TXMP (???) | *(named) TXMP (???) | ||
Line 490: | Line 492: | ||
---- | ---- | ||
====ONWC==== | ====[[ONWC]]==== | ||
:global instances only in original Oni | :global instances only in original Oni | ||
looked up by name??? | looked up by name??? | ||
;parent | ;parent | ||
:(named) WPge | :(named) [[WPge]] | ||
:(named) AISA (part of (named) ONLV) | :(named) [[AISA]] (part of (named) [[ONLV]]) | ||
::''ONWC are actually standalone'' | ::''ONWC are actually standalone'' | ||
;children | ;children | ||
*(named) TXMP x... (some optional) | *(named) [[TXMP]] x... (some optional) | ||
*(unnamed) M3GM | *(unnamed) [[M3GM]] | ||
;lookups | ;lookups | ||
:OSBD | :[[OSBD]] | ||
---- | ---- | ||
====PSpc==== | ====[[PSpc]]==== | ||
looked up by name??? | looked up by name??? | ||
;parent | ;parent | ||
:none (level 0 + 1 instance per level) ('''cinematic_border.PSpc''' of level 0 is an orphan ^^) | :none (level 0 + 1 instance per level) ('''cinematic_border.PSpc''' of level 0 is an orphan ^^) | ||
:(named) PSpL (level 0) | :(named) [[PSpL]] (level 0) | ||
:(named) PSUI (level 0) | :(named) [[PSUI]] (level 0) | ||
:(named) WMCL (level 0) | :(named) [[WMCL]] (level 0) | ||
;children | ;children | ||
:(named) TXMP | :(named) [[TXMP]] | ||
---- | ---- | ||
====TRAC==== | ====[[TRAC]]==== | ||
looked up by name??? | looked up by name??? | ||
;parent | ;parent | ||
:(named) ONCC | :(named) [[ONCC]] | ||
:(named) TRAC | :(named) TRAC | ||
;children | ;children | ||
*(named) TRAC (optional) | *(named) TRAC (optional) | ||
*(named) TRAM | *(named) [[TRAM]] | ||
---- | ---- | ||
====TRAM==== | ====[[TRAM]]==== | ||
looked up by name??? | looked up by name??? | ||
;parent | ;parent | ||
:(named) FILM | :(named) [[FILM]] | ||
:(named) TRAC | :(named) [[TRAC]] | ||
:(named) TRAM | :(named) TRAM | ||
:(named) TRAS | :(named) [[TRAS]] | ||
;children | ;children | ||
:(named) TRAM x2 (optional) | :(named) TRAM x2 (optional) | ||
; | ;.raw/.sep parts | ||
;lookups | ;lookups | ||
:ONCC/ONIA | :[[ONCC]]/[[ONIA]] | ||
---- | ---- | ||
====TRAS==== | ====[[TRAS]]==== | ||
looked up by name??? | looked up by name??? | ||
;parent | ;parent | ||
:(named) TRSC | :(named) [[TRSC]] | ||
;children | ;children | ||
:(named) TRAM | :(named) [[TRAM]] | ||
---- | ---- | ||
====TRBS==== | ====[[TRBS]]==== | ||
looked up by name??? | looked up by name??? | ||
;parent | ;parent | ||
:(named) ONCC | :(named) [[ONCC]] | ||
;children | ;children | ||
:(unnamed) TRCM | :(unnamed) [[TRCM]] | ||
---- | ---- | ||
====TRGE==== | ====[[TRGE]]==== | ||
looked up by name??? | looked up by name??? | ||
;parent | ;parent | ||
:(named) TRIG | :(named) [[TRIG]] | ||
;children | ;children | ||
:(unnamed) M3GM | :(unnamed) [[M3GM]] | ||
---- | ---- | ||
====TRIG==== | ====[[TRIG]]==== | ||
looked up by name??? | looked up by name??? | ||
;parent | ;parent | ||
:(named) TRIG | :(named) [[TRIG]] | ||
;children | ;children | ||
*(unnamed) M3GM | *(unnamed) [[M3GM]] | ||
*OBLS (obsolete) | *OBLS (obsolete) | ||
*(named) TRGE | *(named) [[TRGE]] | ||
*(named) OBAN | *(named) [[OBAN]] | ||
;lookups | ;lookups | ||
:OSBD | :[[OSBD]] | ||
---- | ---- | ||
====TRMA==== | ====[[TRMA]]==== | ||
looked up by name??? | looked up by name??? | ||
;parent | ;parent | ||
:(named) ONCC | :(named) [[ONCC]] | ||
;children | ;children | ||
:(named) TXMP | :(named) [[TXMP]] | ||
---- | ---- | ||
====TRSC==== | ====[[TRSC]]==== | ||
looked up by name??? | looked up by name??? | ||
;parent | ;parent | ||
:(named) ONCC | :(named) [[ONCC]] | ||
;children | ;children | ||
:(named) TRAS | :(named) [[TRAS]] | ||
---- | ---- | ||
====TSFF==== | ====[[TSFF]]==== | ||
:Only one instance in original Oni, in level 0, called '''Tahoma.TSFF''' | :Only one instance in original Oni, in level 0, called '''Tahoma.TSFF''' | ||
;parent | ;parent | ||
:(named) WMDD | :(named) [[WMDD]] | ||
:(unnamed) IGPG | :(unnamed) [[IGPG]] | ||
:... (popular ^^) | :... (popular ^^) | ||
;children | ;children | ||
*(named) TSFL | *(named) [[TSFL]] | ||
*(unnamed) TSFT | *(unnamed) [[TSFT]] | ||
---- | ---- | ||
====TSFL==== | ====[[TSFL]]==== | ||
:Only one instance in original Oni, in level 0, called '''Roman.TSFL''' | :Only one instance in original Oni, in level 0, called '''Roman.TSFL''' | ||
;parent | ;parent | ||
:(named) TSFF | :(named) [[TSFF]] | ||
;no children | ;no children | ||
---- | ---- | ||
====WMM_==== | ====[[WMM_]]==== | ||
looked up by name??? | looked up by name??? | ||
;parent | ;parent | ||
:WMMB or none | :[[WMMB]] or none | ||
;no children | ;no children | ||
---- | ---- | ||
====WMMB==== | ====[[WMMB]]==== | ||
:Only one instance in original Oni, in level 0, called '''menubar_oniwindow.WMMB''' | :Only one instance in original Oni, in level 0, called '''menubar_oniwindow.WMMB''' | ||
;children | ;children | ||
:(named) TSFF | :(named) [[TSFF]] | ||
Line 639: | Line 641: | ||
---- | ---- | ||
==Always unnamed== | ==Always unnamed== | ||
===ABNA=== | ===[[ABNA]]=== | ||
;part of (named) AKEV | ;part of (named) [[AKEV]] | ||
---- | ---- | ||
===AGDB=== | ===[[AGDB]]=== | ||
;part of (named) AKEV | ;part of (named) [[AKEV]] | ||
:( | :(.raw/.sep parts) | ||
---- | ---- | ||
===AGQC=== | ===[[AGQC]]=== | ||
;part of (named) AKEV | ;part of (named) [[AKEV]] | ||
---- | ---- | ||
===AGQG=== | ===[[AGQG]]=== | ||
;part of (named) AKEV | ;part of (named) [[AKEV]] | ||
---- | ---- | ||
===AGQR=== | ===[[AGQR]]=== | ||
;part of (named) AKEV | ;part of (named) [[AKEV]] | ||
---- | ---- | ||
===AKAA=== | ===[[AKAA]]=== | ||
;part of (named) AKEV | ;part of (named) [[AKEV]] | ||
---- | ---- | ||
===AKBA=== | ===[[AKBA]]=== | ||
;part of (named) AKEV | ;part of (named) [[AKEV]] | ||
---- | ---- | ||
===AKBP=== | ===[[AKBP]]=== | ||
;part of (named) AKEV | ;part of (named) [[AKEV]] | ||
---- | ---- | ||
===AKDA=== | ===[[AKDA]]=== | ||
;part of (named) AKEV | ;part of (named) [[AKEV]] | ||
---- | ---- | ||
===AKOT=== | ===[[AKOT]]=== | ||
;part of (named) AKEV | ;part of (named) [[AKEV]] | ||
:link to (unnamed) OTIT (no subtree) | :link to (unnamed) [[OTIT]] (no subtree) | ||
:link to (unnamed) OTLF (no subtree) | :link to (unnamed) [[OTLF]] (no subtree) | ||
:link to (unnamed) QTNA (no subtree) | :link to (unnamed) [[QTNA]] (no subtree) | ||
:link to (unnamed) IDXA (no subtree) | :link to (unnamed) [[IDXA]] (no subtree) | ||
:link to (unnamed) IDXA (no subtree) | :link to (unnamed) IDXA (no subtree) | ||
---- | ---- | ||
===AKVA=== | ===[[AKVA]]=== | ||
;part of (named) AKEV | ;part of (named) [[AKEV]] | ||
:( | :(.raw/.sep parts) | ||
---- | ---- | ||
===CBPI=== | ===[[CBPI]]=== | ||
;part of (named) ONCC | ;part of (named) [[ONCC]] | ||
:links to (named) Impt (global) | :links to (named) [[Impt]] (global) | ||
---- | ---- | ||
===CBPM=== | ===[[CBPM]]=== | ||
;part of (named) ONCC | ;part of (named) [[ONCC]] | ||
:links to (named) Mtrl (global) | :links to (named) [[Mtrl]] (global) | ||
---- | ---- | ||
===CRSA=== | ===[[CRSA]]=== | ||
;part of (named) ONLV | ;part of (named) [[ONLV]] | ||
---- | ---- | ||
===ENVP=== | ===[[ENVP]]=== | ||
;part of (named) ONLV | ;part of (named) [[ONLV]] | ||
;part of (unnamed) OBOA (part of (named) ONLV) | ;part of (unnamed) [[OBOA]] (part of (named) [[ONLV]]) | ||
---- | ---- | ||
===IDXA=== | ===[[IDXA]]=== | ||
;part of (named) AKEV ("gunk" lookup) | ;part of (named) [[AKEV]] ("gunk" lookup) | ||
;part of M3GM (part of ...) | ;part of [[M3GM]] (part of ...) | ||
;part of (unnamed) AKOT (part of (named) AKEV) | ;part of (unnamed) [[AKOT]] (part of (named) [[AKEV]]) | ||
;part of (unnamed) ONOA (part of (named) ONLV) | ;part of (unnamed) [[ONOA]] (part of (named) [[ONLV]]) | ||
---- | ---- | ||
===IGPA=== | ===[[IGPA]]=== | ||
;part of (named) OPge or TxtC | ;part of (named) [[OPge]] or [[TxtC]] | ||
:links to (unnamed) IGPG | :links to (unnamed) [[IGPG]] | ||
---- | ---- | ||
===IGPG=== | ===[[IGPG]]=== | ||
;part of (named) DPge or HPge or IPge or WPge | ;part of (named) [[DPge]] or [[HPge]] or [[IPge]] or [[WPge]] | ||
;part of (unnamed) IGPA (part of (named) OPge or TxtC) | ;part of (unnamed) [[IGPA]] (part of (named) [[OPge]] or [[TxtC]]) | ||
:link to (named) TSFF (optional) | :link to (named) [[TSFF]] (optional) | ||
:link to (named) PSpc/TXMP/WTF ???? (optional) | :link to (named) [[PSpc]]/[[TXMP]]/WTF ???? (optional) | ||
:links to (unnamed) IGSA | :links to (unnamed) [[IGSA]] | ||
---- | ---- | ||
===IGSA=== | ===[[IGSA]]=== | ||
;part of (unnamed) IGPG | ;part of (unnamed) [[IGPG]] | ||
:links to (unnamed) IGSt | :links to (unnamed) [[IGSt]] | ||
---- | ---- | ||
===IGSt=== | ===[[IGSt]]=== | ||
;part of (unnamed) IGSA | ;part of (unnamed) [[IGSA]] | ||
:link to (named) TSFF (optional) | :link to (named) [[TSFF]] (optional) | ||
---- | ---- | ||
===M3GA=== | ===[[M3GA]]=== | ||
;part of (unnamed) OBOA | ;part of (unnamed) [[OBOA]] | ||
:links to (named) M3GM | :links to (named) [[M3GM]] | ||
---- | ---- | ||
===OBOA=== | ===[[OBOA]]=== | ||
;part of (named) ONLV | ;part of (named) [[ONLV]] | ||
:link to (unnamed) M3GA | :link to (unnamed) [[M3GA]] | ||
:link to (named) OBAN | :link to (named) [[OBAN]] | ||
:link to (unnamed) ENVP (part of (named) ONLV) | :link to (unnamed) [[ENVP]] (part of (named) [[ONLV]]) | ||
---- | ---- | ||
===OFGA=== | ===[[OFGA]]=== | ||
;part of (named) CONS | ;part of (named) [[CONS]] | ||
;part of (named) DOOR | ;part of (named) [[DOOR]] | ||
:links to (unnamed) M3GM | :links to (unnamed) [[M3GM]] | ||
:links to OBLS (obsolete) | :links to OBLS (obsolete) | ||
---- | ---- | ||
===ONCP=== | ===[[ONCP]]=== | ||
;part of (named) ONCC | ;part of (named) [[ONCC]] | ||
:links by label... | :links by label... | ||
---- | ---- | ||
===ONIA=== | ===[[ONIA]]=== | ||
;part of (named) ONCC | ;part of (named) [[ONCC]] | ||
:links by label... | :links by label... | ||
---- | ---- | ||
===ONFA=== | ===[[ONFA]]=== | ||
;part of (named) ONLV | ;part of (named) [[ONLV]] | ||
---- | ---- | ||
===ONMA=== | ===[[ONMA]]=== | ||
;part of (named) ONLV | ;part of (named) [[ONLV]] | ||
---- | ---- | ||
===ONOA=== | ===[[ONOA]]=== | ||
;part of (named) ONLV | ;part of (named) [[ONLV]] | ||
:link to (unnamed) IDXA | :link to (unnamed) [[IDXA]] | ||
---- | ---- | ||
===ONTA=== | ===[[ONTA]]=== | ||
;part of (named) ONLV | ;part of (named) [[ONLV]] | ||
:(always empty, WTF) | :(always empty, WTF) | ||
---- | ---- | ||
===OTIT=== | ===[[OTIT]]=== | ||
;part of (unnamed) AKOT (part of (named) AKEV) | ;part of (unnamed) [[AKOT]] (part of (named) [[AKEV]]) | ||
---- | ---- | ||
===OTLF=== | ===[[OTLF]]=== | ||
;part of (unnamed) AKOT (part of (named) AKEV) | ;part of (unnamed) [[AKOT]] (part of (named) [[AKEV]]) | ||
---- | ---- | ||
===QTNA=== | ===[[QTNA]]=== | ||
;part of (unnamed) AKOT (part of (named) AKEV) | ;part of (unnamed) [[AKOT]] (part of (named) [[AKEV]]) | ||
---- | ---- | ||
===PLEA=== | ===[[PLEA]]=== | ||
;parent | ;parent | ||
:(named) AKEV | :(named) [[AKEV]] | ||
;no children | ;no children | ||
---- | ---- | ||
===PNTA=== | ===[[PNTA]]=== | ||
;parent | ;parent | ||
:(named) AKEV | :(named) [[AKEV]] | ||
:M3GM | :[[M3GM]] | ||
;no children | ;no children | ||
---- | ---- | ||
===TRCM=== | ===[[TRCM]]=== | ||
: | :'''Unnamed TRCM''' (the most common in Oni) belong to a "body set" (TRBS), and specify the geometry/hierarchy of body meshes for one LOD (a TRBS has space for 5 TRCM links, but a same TRCM is often used by several LODs). An unnamed TRCM is linked only from one TRBS, and typically each TRCM has its own unique unique TRGA (geometry array), whereas the TRIA and TRTA (skeleton data) are typically shared between all of a TRBS's TRCMs. | ||
:There are five (5) '''named TRCM''' occurring in Vanilla Oni, named '''bip_***'''. They are empty (filled with blanks) except for their 8-byte header (instance ID and level ID), i.e. they do not have valid TRTA, TRIA or TRGA links, and do not hold any information except for their name. However, they are related to '''unnamed orphan TRCM''' which occur immediately after the named TRCM and elsewhere in the level file: the instance name of the named TRCM is referenced in the comment field (a.k.a. "internal name") of the unnamed orphan TRCM, with the .MME suffix, e.g., in any Vanilla that has Shinatama in it, Shinatama's actual TRBS and TRCM will be preceded by '''TRCMbip_shinatama''' ''and'' by an unnamed orphan TRCM containing the string '''bip_shinatama.MME'''. The correspondence between the "internal name" of these TRCM and their geometrical properties are as follows: | |||
:*'''bip_konoko.MME''' corresponds to '''Kon002_xlow.mme''', i.e., the lowest LOD of '''TRBSkonoko_body_high''' (Konoko's main TCTF outfit); | |||
:*'''bip_comguy.MME''' corresponds to '''comguy_3_xlow.mme''', i.e., the lowest LOD of '''TRBScomguy_3_body_high''' (dark-skinned); | |||
:*'''bip_striker.MME''' corresponds to '''striker_10_xlow.mme''', i.e., the lowest LOD of '''TRBSstriker_10_body_high''' (the [[ai2_chump]] one); | |||
:*'''bip_shinatama.MME''' corresponds to '''SH_high.mme''', i.e., the only LOD of '''TRBSSH_body_high''' (Shinatama); | |||
:*'''bip_zombie.MME''' corresponds to '''Red1_high.mme''', i.e., the high LOD of '''TRBSRed1_body_high''' (Fury). | |||
:The '''unnamed orphan TRCM''' are lost when unpacking instance files, and the game is not affected by their absence after repacking. Judging from their location in the Vanilla Oni .dat's, they were apparently bundled with TRACs, or rather with ONCC groups (doctors, security guards, male civilians, etc) that were added to each level (perhaps intended as dummies for animation preview). | |||
:All of the characters except Shinatama and "Zomitama" are bundled with one of the three "main" named TRCM, consistent with the constitution of their [[TRTA]] (more specifically, leg length). The most notable oddity is the high-LOD Fury mesh being used for '''bip_zombie''', but there are a few more, like snipers being bundled with '''bip_striker''' even though they're Tanker/comguy-based. | |||
{{divhide|Named TRCM occurrence in Vanilla Oni}} | |||
{{table}} | |||
|- | |||
!TRCM name | |||
!L0 | |||
!L1 | |||
!L2 | |||
!L3 | |||
!L4 | |||
!L6 | |||
!L8 | |||
!L9 | |||
!L10 | |||
!L11 | |||
!L12 | |||
!L13 | |||
!L14 | |||
!L18 | |||
!L19 | |||
|- | |||
!bip_comguy | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
!bip_konoko | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
!bip_shinatama | |||
|bgcolor=black| | |||
| | |||
| | |||
|bgcolor=black| | |||
|bgcolor=black| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
|bgcolor=black| | |||
| | |||
| | |||
|bgcolor=black| | |||
|bgcolor=black| | |||
|- | |||
!bip_striker | |||
| | |||
|bgcolor=black| | |||
| | |||
| | |||
|bgcolor=black| | |||
| | |||
| | |||
|bgcolor=black| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
!bip_zombie | |||
|bgcolor=black| | |||
|bgcolor=black| | |||
|bgcolor=black| | |||
|bgcolor=black| | |||
|bgcolor=black| | |||
|bgcolor=black| | |||
|bgcolor=black| | |||
|bgcolor=black| | |||
|bgcolor=black| | |||
|bgcolor=black| | |||
|bgcolor=black| | |||
|bgcolor=black| | |||
|bgcolor=black| | |||
| | |||
|bgcolor=black| | |||
|} | |||
{{divhide|end}} | |||
;parent | ;parent | ||
:(named) TRBS | :(named) [[TRBS]] | ||
;children | ;children | ||
:(unnamed) TRGA | :(unnamed) [[TRGA]] | ||
:(unnamed) TRTA | :(unnamed) [[TRTA]] | ||
:(unnamed) TRIA | :(unnamed) [[TRIA]] | ||
---- | ---- | ||
===TRGA=== | |||
===[[TRGA]]=== | |||
;parent | ;parent | ||
:(unnamed) TRCM (child of (named) TRBS) | :(unnamed) [[TRCM]] (child of (named) [[TRBS]]) | ||
;children | ;children | ||
:(unnamed) M3GM | :(unnamed) [[M3GM]] | ||
---- | ---- | ||
===TRIA=== | ===[[TRIA]]=== | ||
;parent | ;parent | ||
:(unnamed) TRCM (child of (named) TRBS) | :(unnamed) [[TRCM]] (child of (named) [[TRBS]]) | ||
---- | ---- | ||
===TRTA=== | ===[[TRTA]]=== | ||
;part of (unnamed) TRCM (part of (named) TRBS) | ;part of (unnamed) [[TRCM]] (part of (named) [[TRBS]]) | ||
---- | ---- | ||
===TSFT=== | ===[[TSFT]]=== | ||
;part of (named) TSFF | ;part of (named) [[TSFF]] | ||
:link to (unnamed) TSGA | :link to (unnamed) [[TSGA]] | ||
---- | ---- | ||
===TSGA=== | ===[[TSGA]]=== | ||
;part of (unnamed) TSFT (part of (named) TSFF) | ;part of (unnamed) [[TSFT]] (part of (named) [[TSFF]]) | ||
---- | ---- | ||
===TStr=== | ===[[TStr]]=== | ||
;part of (named) StNA | ;part of (named) [[StNA]] | ||
---- | ---- | ||
===TXAN=== | ===[[TXAN]]=== | ||
;part of (named) TXMP | ;part of (named) [[TXMP]] | ||
;links to (unnamed) TXMP | ;links to (unnamed) [[TXMP]] | ||
---- | ---- | ||
===TXCA=== | ===[[TXCA]]=== | ||
;part of (named) AKEV | ;part of (named) [[AKEV]] | ||
;part of M3GM (part of ...) | ;part of [[M3GM]] (part of ...) | ||
---- | ---- | ||
===TXMA=== | ===[[TXMA]]=== | ||
;part of (named) AKEV | ;part of (named) [[AKEV]] | ||
:links to (named) | :links to (named) [[TXMP]]s | ||
---- | ---- | ||
===VCRA=== | ===[[VCRA]]=== | ||
;part of M3GM (part of...) | ;part of [[M3GM]] (part of...) | ||
{{OBD}} |
Latest revision as of 22:41, 5 December 2023
- Except for TXMP and M3GM, files are either always named or always unnamed
- Unnamed files are necessarily linked to by file-ID from another file
- Named files may or may not be linked to by file-ID from another file
- Named files are the only ones directly accessed by the engine
- Unnamed files are the "private" data of their respective parents
- (the fact that they can be "shared" doesn't make them "public")
Hierarchy (parents/children) is based on links-by-file-ID only.
- Additional information on links-by-filename and links-by-label is provided when appropriate.
TXMP
TXMP are generally named; unnamed TXMP are always animation frames of a named TXMP.
Unnamed TXMP
- parent
- (unnamed) TXAN (part of (named) TXMP)
- children
(unnamed) TXAN (optional)- (named) TXMP (optional)
- .raw/.sep part
Named TXMP
- parent
- (named) TRMA
- (unnamed) TXMA (part of (named) AKEV)
- (named) ONCC
- (named) ONWC
- (named) ONGS
- ... (it's quite popular, actually ^^)
- children
- (unnamed) TXAN (optional)
- (named) TXMP (optional)
- .raw/.sep part
There are also orphan TXMPs (named TXMPs without a parent)
Orphan TXMP
- cinematic panels (almost sure)
- GUI elements? (not so sure)
M3GM
M3GM are generally unnamed (possible parents detailed below).
- parent
- (see below)
- children
- (unnamed) PNTA
- (unnamed) VCRA x2
- (unnamed) TXCA
- (unnamed) IDXA x2
- (named) TXMP (optional, see below)
Named M3GM
Named M3GM can be orphans or part of the level hierarchy (ONLV/ONOA/M3GA/M3GM)
- children
- ...
- (named) TXMP (always provided for named M3GMs)
Level M3GM
Some of those have OBAN named after them (auto-assigned animations) ^^
Orphan M3GM
- Here's a tentative list
These are only in level 0 except for bloodyfoot (links by name?)
- axes (no idea when this one is used)
- sphere (no idea when this one is used)
- glow01
- blast_ring1
- blast_ring2
- toxic_bubble
- barab_swave
- bloodyfoot (duplicated in a few levels)
- notfound (no clear idea when the mesh is used)
The following are level-specific (links by name?)
- rat1
- rat2
- jet
- debris01
- debris02
- debris03
- ...
The following 6 are linked by name from ONGS
- powerup_ammo (level 0)
- powerup_cell (level 0)
- powerup_hypo (level 0)
- powerup_shield (level 0)
- powerup_invis (level 0)
- powerup_lsi (level-specific; black sphere by default?)
The following are weapon-related; level 0 only (links by name?)
- w3_blast1
- w5_blast1_geo
- w5_shot1_geo
- w5_shot2_geo
- w5_shot3_geo
- opendart
- closeddart
- w9_warhead
- w9_shell
- w9_case
- w11_grenade
- w11_shrapnel
Unnamed M3GM
Possible parents: CONS, CONS/OFGA, DOOR/OFGA, ONWC, TRIG, TRGE, TURR, TRBS/TRCM/TRGA
- depending on the parent, the TXMP child is either present or absent.
- parent
- (unnamed) TRGA (child of (unnamed) TRCM (child of (named) TRBS))
- children
- ...
(named) TXMP (optional)(textures are specified in ONCC's TRMA)
- parent
- (named) CONS
- (unnamed) OFGA (child of (named) CONS or DOOR)
- (named) ONWC
- (named) TRGE
- (named) TRIG
- (named) TURR
- children
- ...
- (named) TXMP (always for these parents)
Always named
Orphans
BINA
looked up by name???
- no children
- .raw/.sep part
CONS
looked up by name???
- children
- (unnamed) OFGA ((unnamed) M3GM children)
- (unnamed) M3GM
DOOR
looked up by name???
- children
- (unnamed) OFGA x2 ((unnamed) M3GM children) (only one OFGA child in original Oni)
- (named) OBAN
- lookups
- OSBD
DPge
looked up by name???
- children
- (unnamed) IGPG
FILM
looked up by name???
- children
- (named) TRAM x2 (optional)
HPge
looked up by name???
- children
- (unnamed) IGPG
IGHH
Only one IGHH, in level 0, called hud_help_info.IGHH
- children
- (named) TXMP
IPge
looked up by name???
- children
- (unnamed) IGPG
KeyI
Only one KeyI, in level 0, called keyicons.KeyI
- children
- (named) TXMP
ONGS
Only one ONGS, in level 0, called game_settings.ONGS
ONLD
- One instance per level, names vary.
looked up by name???
- no children
ONLV
- One instance per level, names vary.
looked up by name???
- children
- (named) AKEV (... children) (environment)
- (unnamed) OBOA (M3GA, OBAN, ENVP children) (starting objects)
- (unnamed) ONMA (no children) ("marker node") (useless?)
- (unnamed) ONFA (no children) ("flag node") (useless?)
- (unnamed) ONTA (no children) ("trigger") (useless?)
- (named) ONSK (TXMP children) (sky)
- (named) AISA (ONCC, ONWC children) (AI spawn)
- (named) AITR (no children) (AI triggers)
- (named) ONSA (no children) ("spawn") (useless?)
- (named) OBDC (OBAN children) ("door class")
- (unnamed) ONOA (IDXA children) (env groups)
- (unnamed) ENVP (no children) (toggleable env particles)
- (unnamed) CRSA (ONCC children) (corpses)
ONVL
Only one ONVL, in level 0, called variant_list.ONVL
- children
- (named) ONCV
OPge
looked up by name???
OSBD
looked up by name???
PSpL
Only one PSpL, in level 0, called partspec_list.PSpL
- children
- (named) PSpc
PSUI
looked up by name???
- children
- (named) PSpc
SNDD
looked up by name???
- no children
- .raw/.sep part
StNA
looked up by name???
- children
- (unnamed) TStr
SUBT
looked up by name???
- no children
- .raw/.sep part
TURR
looked up by name???
- children
- (unnamed) M3GM
- OBLS (obsolete)
TXMB
looked up by name???
- children
- (named) TXMP
TxtC
looked up by name???
WMCL
Only one WMCL, in level 0, called cursor_list.WMCL
- children
- (named) PSpc
WMDD
looked up by name???
- children
- (named) TSFF
WPge
looked up by name???
- children
Semi-orphans
Those only link to files of the same type as themselves.
Impt
looked up by name???
- parent
- (named) Impt (or none)
- children
- (named) Impt (or none)
Mtrl
looked up by name???
- parent
- (named) Mtrl (or none)
- children
- (named) Mtrl (or none)
Non-orphans
AISA
- One instance per level, called level#_scripts
looked up by name???
- parent
- (named) ONLV
- children
Although ONCC and ONWC are not really "children" here...
AITR
- One instance per level, called level#_scripts
- possibly obsolete (non-trivial only in level8_Final)
looked up by name???
- parent
- (named) ONLV
- no children
AKEV
- One instance per level, names vary.
looked up by name???
- parent
- (named) ONLV
- children
- (unnamed) PNTA (no children) (vertices)
- (unnamed) PLEA (no children) (UVs)
- (unnamed) TXCA (no children) (quads)
- (unnamed) AGQG (no children) (quads too)
- (unnamed) AGQR (no children) (quads too)
- (unnamed) AGQC (no children) (quads too)
- (unnamed) AGDB (.raw/.sep parts) (quads too) (absent on Mac)
- (unnamed) TXMA (TXMP children) (textures)
- (unnamed) AKVA (.raw/.sep parts) (pathfinding grids)
- (unnamed) AKBA (no children) ("side array" of pathfinding grids?)
- (unnamed) IDXA x2 (no children) ("gunk" lookup)
- (unnamed) AKBP (no children) ("BSP node" ???)
- (unnamed) ABNA (no children) ("BSP tree" ???)
- (unnamed) AKOT ([[OTIT, [[OTLF, [[QTNA, [[IDXA x2) (oct tree)
- (unnamed) AKAA (no children) ("adjacency" of pathfinding grids?)
- (unnamed) AKDA (no children) (doorframes)
OBAN
- parent
- (named) OBDC
- (named) DOOR
- (named) TRIG
- (unnamed) OBOA (child of (named) ONLV)
- orphans also exist
- no children
OBDC
- One instance per level, called level#_scripts
looked up by name???
ONCC
- no global instance in original Oni
looked up by name???
- parent
- (named) AISA (part of (named) ONLV)
- (unnamed) CRSA (part of (named) ONLV)
- ONCC are actually standalone
- children
- (named) TXMP
- (named) ONCV
- (unnamed) ONCP
- (unnamed) ONIA
- (named) TRBS
- (named) TRMA
- (unnamed) CBPM
- (unnamed) CBPI
- (named) TRAC
- (named) TRSC
- lookups
- OSBD
ONCV
- except for the linking from ONCC, this is actually a set of "semi-orphans" ^^
looked up by name???
ONSA
- One instance per level, called level#_scripts
looked up by name???
- parent
- (named) ONLV
- no children
ONSK
- One instance per level, names vary.
looked up by name???
- parent
- (named) ONLV
- children
- (named) [[TXMP x6 (skybox)
- (named) TXMP x8 (sun/moon/stars)
- (named) TXMP (???)
- (named) TXMP x5 (flares?)
ONWC
- global instances only in original Oni
looked up by name???
- children
- lookups
- OSBD
PSpc
looked up by name???
- parent
- none (level 0 + 1 instance per level) (cinematic_border.PSpc of level 0 is an orphan ^^)
- (named) PSpL (level 0)
- (named) PSUI (level 0)
- (named) WMCL (level 0)
- children
- (named) TXMP
TRAC
looked up by name???
- parent
- (named) ONCC
- (named) TRAC
- children
- (named) TRAC (optional)
- (named) TRAM
TRAM
looked up by name???
- parent
- (named) FILM
- (named) TRAC
- (named) TRAM
- (named) TRAS
- children
- (named) TRAM x2 (optional)
- .raw/.sep parts
- lookups
- ONCC/ONIA
TRAS
looked up by name???
TRBS
looked up by name???
TRGE
looked up by name???
TRIG
looked up by name???
- parent
- (named) TRIG
- children
- lookups
- OSBD
TRMA
looked up by name???
TRSC
looked up by name???
TSFF
- Only one instance in original Oni, in level 0, called Tahoma.TSFF
- parent
- (named) WMDD
- (unnamed) IGPG
- ... (popular ^^)
- children
TSFL
- Only one instance in original Oni, in level 0, called Roman.TSFL
- parent
- (named) TSFF
- no children
WMM_
looked up by name???
- parent
- WMMB or none
- no children
WMMB
- Only one instance in original Oni, in level 0, called menubar_oniwindow.WMMB
- children
- (named) TSFF
Always unnamed
ABNA
- part of (named) AKEV
AGDB
- part of (named) AKEV
- (.raw/.sep parts)
AGQC
- part of (named) AKEV
AGQG
- part of (named) AKEV
AGQR
- part of (named) AKEV
AKAA
- part of (named) AKEV
AKBA
- part of (named) AKEV
AKBP
- part of (named) AKEV
AKDA
- part of (named) AKEV
AKOT
- part of (named) AKEV
- link to (unnamed) OTIT (no subtree)
- link to (unnamed) OTLF (no subtree)
- link to (unnamed) QTNA (no subtree)
- link to (unnamed) IDXA (no subtree)
- link to (unnamed) IDXA (no subtree)
AKVA
- part of (named) AKEV
- (.raw/.sep parts)
CBPI
CBPM
CRSA
- part of (named) ONLV
ENVP
IDXA
- part of (named) AKEV ("gunk" lookup)
- part of M3GM (part of ...)
- part of (unnamed) AKOT (part of (named) AKEV)
- part of (unnamed) ONOA (part of (named) ONLV)
IGPA
IGPG
- part of (named) DPge or HPge or IPge or WPge
- part of (unnamed) IGPA (part of (named) OPge or TxtC)
- link to (named) TSFF (optional)
- link to (named) PSpc/TXMP/WTF ???? (optional)
- links to (unnamed) IGSA
IGSA
IGSt
M3GA
OBOA
- part of (named) ONLV
- link to (unnamed) M3GA
- link to (named) OBAN
- link to (unnamed) ENVP (part of (named) ONLV)
OFGA
ONCP
- part of (named) ONCC
- links by label...
ONIA
- part of (named) ONCC
- links by label...
ONFA
- part of (named) ONLV
ONMA
- part of (named) ONLV
ONOA
ONTA
- part of (named) ONLV
- (always empty, WTF)
OTIT
OTLF
QTNA
PLEA
- parent
- (named) AKEV
- no children
PNTA
TRCM
- Unnamed TRCM (the most common in Oni) belong to a "body set" (TRBS), and specify the geometry/hierarchy of body meshes for one LOD (a TRBS has space for 5 TRCM links, but a same TRCM is often used by several LODs). An unnamed TRCM is linked only from one TRBS, and typically each TRCM has its own unique unique TRGA (geometry array), whereas the TRIA and TRTA (skeleton data) are typically shared between all of a TRBS's TRCMs.
- There are five (5) named TRCM occurring in Vanilla Oni, named bip_***. They are empty (filled with blanks) except for their 8-byte header (instance ID and level ID), i.e. they do not have valid TRTA, TRIA or TRGA links, and do not hold any information except for their name. However, they are related to unnamed orphan TRCM which occur immediately after the named TRCM and elsewhere in the level file: the instance name of the named TRCM is referenced in the comment field (a.k.a. "internal name") of the unnamed orphan TRCM, with the .MME suffix, e.g., in any Vanilla that has Shinatama in it, Shinatama's actual TRBS and TRCM will be preceded by TRCMbip_shinatama and by an unnamed orphan TRCM containing the string bip_shinatama.MME. The correspondence between the "internal name" of these TRCM and their geometrical properties are as follows:
- bip_konoko.MME corresponds to Kon002_xlow.mme, i.e., the lowest LOD of TRBSkonoko_body_high (Konoko's main TCTF outfit);
- bip_comguy.MME corresponds to comguy_3_xlow.mme, i.e., the lowest LOD of TRBScomguy_3_body_high (dark-skinned);
- bip_striker.MME corresponds to striker_10_xlow.mme, i.e., the lowest LOD of TRBSstriker_10_body_high (the ai2_chump one);
- bip_shinatama.MME corresponds to SH_high.mme, i.e., the only LOD of TRBSSH_body_high (Shinatama);
- bip_zombie.MME corresponds to Red1_high.mme, i.e., the high LOD of TRBSRed1_body_high (Fury).
- The unnamed orphan TRCM are lost when unpacking instance files, and the game is not affected by their absence after repacking. Judging from their location in the Vanilla Oni .dat's, they were apparently bundled with TRACs, or rather with ONCC groups (doctors, security guards, male civilians, etc) that were added to each level (perhaps intended as dummies for animation preview).
- All of the characters except Shinatama and "Zomitama" are bundled with one of the three "main" named TRCM, consistent with the constitution of their TRTA (more specifically, leg length). The most notable oddity is the high-LOD Fury mesh being used for bip_zombie, but there are a few more, like snipers being bundled with bip_striker even though they're Tanker/comguy-based.
TRCM name | L0 | L1 | L2 | L3 | L4 | L6 | L8 | L9 | L10 | L11 | L12 | L13 | L14 | L18 | L19 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
bip_comguy | |||||||||||||||
bip_konoko | |||||||||||||||
bip_shinatama | |||||||||||||||
bip_striker | |||||||||||||||
bip_zombie |
TRGA
TRIA
TRTA
TSFT
TSGA
TStr
- part of (named) StNA
TXAN
TXCA
TXMA
VCRA
- part of M3GM (part of...)