OBD:File types/Naming: Difference between revisions

From OniGalore
Jump to navigation Jump to search
m (uuuugleeeee)
 
m (→‎TRCM: duh, left out the Striker)
(12 intermediate revisions by 2 users not shown)
Line 1: Line 1:
*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
*<strike>(unnamed) TXAN (optional)</strike>
*(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====
;parent
:(unnamed) [[M3GA]] (child of (unnamed) [[ONOA]] (child of (named) [[ONLV]]))
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
*...
*<strike>(named) TXMP (optional)</strike> (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==
==Always named==
===AISA===
===Orphans===
;part of (named) ONLV
====[[BINA]]====
;Linked to by name???
looked up by name???
;level#_scripts
;no children
;ONCC links
;.raw/.sep part
;ONWC links
 
 
----
====[[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'''
;no children
;lookups
:[[OSBD]]
:[[M3GM]] (powerups)
:[[TXMP]] (powerup glow)


===AITR===
;part of (named) ONLV
;Linked to by name???
;level#_scripts
;possibly obsolete (only present in level8_Final)
;no subtree


===AKEV===
----
;part of (named) ONLV
====[[ONLD]]====
;all children are unnamed
:One instance per level, names vary.
;PNTA link (vertices) (no subtree)
looked up by name???
;PLEA link (planes) (no subtree)
;no children
;TXCA link (UVs) (no subtree)
;AGQG link (quads) (no subtree)
;AGQR link (quads too) (no subtree)
;AGQC link (quads too) (no subtree)
;AGDB link (quads too) (no link on Mac?) (RAW/SEP parts)
;TXMA link (texture list) (TXMP links)
;AKVA link (pathfinding grids) (no subtree) (RAW/SEP parts)
;AKBA link ("side array" of pathfinding grids?) (no subtree)
;2 IDXA links ("gunk" lookup) (no subtree)
;AKBP link ("BSP node" ???) (no subtree)
;ABNA link ("BSP tree" ???) (no subtree)
;AKOT link (oct trees) (OTIT, OTLF, QTNA, IDXA, IDXA)
;AKAA link ("adjacency" of pathfinding grids?) (no subtree)
;AKDA link (doorframes) (no subtree)


===BINA===
;nothing links here
;Looked up by name (PAR3)
;Looked up by name or label (SABD)
;RAW/SEP part


===CONS===
----
;nothing links here
====[[ONLV]]====
;Linked to by name???
:One instance per level, names vary.
;All children unnamed
looked up by name???
;link to (unnamed) OFGA (M3GMs)
;children
;link to (unnamed) M3GM
*(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)


===DOOR===
;nothing links here
;2 OFGA links (only one used in original Oni)
;1 OBAN link
;2 sound links (by label?)


===DPge===
----
;nothing links here
====[[ONVL]]====
;links to (unnamed) IGPG
Only one ONVL, in level 0, called '''variant_list.ONVL'''
;children
:(named) [[ONCV]]


===FILM===
;nothing links here
;2 TRAM links


===HPge===
----
;nothing links here
====[[OPge]]====
;links to (unnamed) IGPG
looked up by name???
;children
:(unnamed) [[IGPA]] ([[IGPG]] and subtree...)


===IGHH===
;nothing links here
;one of its kind
;links to (named) TXMP


===Impt===
----
;linked to by other Impt
====[[OSBD]]====
;looked up by name...
looked up by name???
;links to (named) Impt
;no children
;.raw/.sep part
;lookups
:[[OSBD]] (by name from [[OSAm]] and [[OSIm]])
:[[SNDD]] (by name from [[OSGr]])


===IPge===
;nothing links here
;links to (unnamed) IGPG


===KeyI===
----
;nothing links here
====[[PSpL]]====
;one of its kind
Only one PSpL, in level 0, called '''partspec_list.PSpL'''
;links to (named) TXMP
;children
:(named) [[PSpc]]


===Mtrl===
;linked to by other Mtrl
;looked up by name...
;links to (named) Mtrl


===OBAN===
----
;part of (named) OBDC or (named) DOOR or (named) TRIG or (unnamed) OBOA (part of (named) ONLV)
;No subtree


===OBDC===
====[[PSUI]]====
;part of (named) ONLV
looked up by name???
;Linked to by name???
;children
;level#_scripts
:(named) [[PSpc]]
;links to (named) OBAN


===ONCC===
;linked to from (named) AISA (part of (named) ONLV) or (unnamed) CRSA (part of (named) ONLV)
;No global instance in original Oni
;link to (named) TXMP
;links by label (OSBD)
;link to (named) ONCV
;link to (unnamed) ONCP
;link to (unnamed) ONIA
;link to (named) TRBS
;link to (named) TRMA
;link to (unnamed) CBPM
;link to (unnamed) CBPI
;link to (named) TRAC
;link to (named) TRSC


===ONCV===
----
;linked to from ONCC (level)
====[[SNDD]]====
;linked to from ONVL (level 0)
looked up by name???
;Looked up by name???
;no children
;links to (named) ONCV
;.raw/.sep part


===ONGS===
;one of its kind
;nothing links here
:game settings (level0_Final)
;links to (named) M3GM
;links to (named) TXMP
;links by label (OSBD)


===ONLD===
----
;one per level
====[[StNA]]====
;nothing links here
looked up by name???
;no subtree
;children
:(unnamed) [[TStr]]


===ONLV===
;one per level
;nothing links here
;all children unnamed except AKEV, ONSK AISA, AITR, ONSA, OBDC
;AKEV link (environment) (...)
;OBOA link (starting object) (M3GA, OBAN, ENVP)
;ONMA link ("marker node") (useless?) (no subtree)
;ONFA link ("flag node") (useless?) (no subtree)
;ONTA link ("trigger") (useless?) (no subtree)
;ONSK link (sky) (TXMP)
;AISA link (AI scripts)
;AITR link (AI triggers) (no subtree)
;ONSA link ("spawn") (useless?) (no subtree)
;OBDC link ("door class") (OBAN)
;ONOA link (env groups) (IDXA)
;ENVP link (toggleable env particles)(no subtree)
;CRSA link (corpses) (ONCC)


===ONSA===
----
;part of (named) ONLV
====[[SUBT]]====
;Linked to by name???
looked up by name???
;level#_scripts
;no children
;.raw/.sep part


===ONSK===
;part of (named) ONLV
;Linked to by name???
;all children named
;6 TXMP links (skybox)
;8 TXMP link (sun/moon/stars)
;1 TXMP link (???)
;5 TXMP links (flares)


===ONVL===
----
;one of its kind
====[[TURR]]====
;nothing links here
looked up by name???
;links to (named) ONCV
;children
*(unnamed) [[M3GM]]
*OBLS (obsolete)
;lookups
:[[OSBD, [[BINA]]/[[PAR3]]


===ONWC===
;linked to from (named) WPge or (named) AISA (part of (named) ONLV)
;links to (named) TXMP
;link to (unnamed) M3GM
;links by label (OSBD)


===OPge===
----
;nothing links here
====[[TXMB]]====
;link to (unnamed) IGPA (IGPG and subtree...)
looked up by name???
;children
:(named) [[TXMP]]


===OSBD===
;nothing links here
;Looked up by name or label (OSAm/OSIm)
;Looked up by label (OSGr)
;RAW/SEP part


===PSpc===
----
;one per level (nothing links to them)
====[[TxtC]]====
;several in level 0 (linked to from (named) PSpL or PSUI or WMCL or nothing)
looked up by name???
:(cinematic_border.PSpc is an orphan ^^)
;children
;link to (named) TXMP
:(unnamed) [[IGPA]] ([[IGPG]] and subtree...)


===PSpL===
;one of its kind
;nothing links here
;links to (named) PSpc


===PSUI===
----
;nothing links here
====[[WMCL]]====
;links to (named) PSpc
Only one WMCL, in level 0, called '''cursor_list.WMCL'''
;children
:(named) [[PSpc]]


===SNDD===
;nothing links here
;RAW/SEP part


===StNA===
----
;nothing links here
====[[WMDD]]====
;links to (unnamed) Tstr
looked up by name???
;children
:(named) [[TSFF]]


===SUBT===
;nothing links here
;RAW/SEP part


===TRAC===
----
;linked to fom (named) ONCC or (named) TRAC
====[[WPge]]====
;link to (named) TRAC (optional)
looked up by name???
;links to (named) TRAM
;children
*(unnamed) [[IGPG]]
*(named) [[ONWC]] !!!


===TRAM===
;linked from (named) FILM or (named) TRAC or (named) TRAM or (named) TRAS
;links to (named) TRAM (optional)
;RAW/SEP children
;link by label to ONCC's ONIA entry


===TRAS===
----
;part of (named) TRSC
===Semi-orphans===
;link to (named) TRAM
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)


===TRBS===
;linked to from (named) ONCC
;links to (unnamed) TRCM


===TRGE===
----
;linked to from (named) TRIG
====[[Mtrl]]====
;link to (unnamed) M3GM
looked up by name???
;parent
:(named) Mtrl (or none)
;children
:(named) Mtrl (or none)


===TRIG===
;linked to from (named) TRIG
;link to (unnamed) M3GM
;link to OBLS (obsolete)
;link to (named) TRGE
;link to (named) OBAN
;links by label (OSBD)


===TRMA===
----
;linked to from (named) ONCC
===Non-orphans===
;links to (named) TXMP
====[[AISA]]====
:One instance per level, called '''level#_scripts'''
looked up by name???
;parent
:(named) [[ONLV]]
;children
*(named) [[ONCC]]
*(named) [[ONWC]] (optional)
Although ONCC and ONWC are not ''really'' "children" here...


===TRSC===
;linked to from (named) ONCC
;link to (named) TRAS


===TSFF===
----
;linked to by (named) WMDD and (unnamed) IGPG and ... !!!
====[[AITR]]====
;one of its kind
:One instance per level, called '''level#_scripts'''
:Tahoma (level0_Final)
:possibly obsolete (non-trivial only in '''level8_Final''')
;link to (named) TSFL
looked up by name???
;links to (unnamed) TSFT
;parent
:(named) [[ONLV]]
;no children


===TSFL===
;part of (named) TSFF
;one of its kind
;part of TSFF
:Roman (level0_Final)


===TURR===
----
;nothing links here
====[[AKEV]]====
;links to (unnamed) M3GM
:One instance per level, names vary.
;link to OBLS (obsolete)
looked up by name???
;links by label (OSBD, BINA/PAR3)
;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)


===TXMB===
;nothing links here
;links to (named) TXMP


===TxtC===
----
;nothing links here
====[[OBAN]]====
;link to (unnamed) IGPA (IGPG and subtree...)
;parent
:(named) [[OBDC]]
:(named) [[DOOR]]
:(named) [[TRIG]]
:(unnamed) [[OBOA]] (child of (named) [[ONLV]])
::''orphans also exist''
;no children


===WMCL===
;nothing links here
;one of its kind
;links to (named) PSpc


===WMDD===
----
;nothing links here
====[[OBDC]]====
;links to (named) TSFF
:One instance per level, called '''level#_scripts'''
looked up by name???
;parent
:(named) [[ONLV]]
;children
:(named) [[OBAN]]
 


===WPge===
----
;nothing links here
====[[ONCC]]====
;links to (unnamed) IGPG
:no global instance in original Oni
:links to (named) ONWC !!!
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]]


===WMM_===
;either WMMB or nothing links here


===WMMB===
----
;nothing links here
====[[ONCV]]====
;one of its kind
:except for the linking from ONCC, this is actually a set of "semi-orphans" ^^
;links to (named) TSFF
looked up by name???
;parent
:(named) [[ONCC]] (in levels)
:(named) [[ONVL]] (level 0) or none
;children
:(named) ONCV (optional)




----
----
==Unnamed TXMP==
====[[ONSA]]====
;part of (unnamed) TXAN (part of (named) TXMP)
:One instance per level, called '''level#_scripts'''
;*no* link to (unnamed) TXAN
looked up by name???
;link to (named) TXMP (optional)
;parent
;RAW/SEP part
:(named) [[ONLV]]
;no children


==Named TXMP==
 
;part of (named) TRMA or (unnamed) TXMA (part of (named) AKEV)
----
;also linked to from a lot of other resources (ONCC, ONWC, ONGS...)
====[[ONSK]]====
;link to (unnamed) TXAN (optional)
:One instance per level, names vary.
;link to (named) TXMP (optional)
looked up by name???
;RAW/SEP part
;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???
;parent
:(named) [[WPge]]
:(named) [[AISA]] (part of (named) [[ONLV]])
::''ONWC are actually standalone''
;children
*(named) [[TXMP]] x... (some optional)
*(unnamed) [[M3GM]]
;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???
;parent
:(named) [[TRSC]]
;children
:(named) [[TRAM]]




----
----
==Almost always unnamed==
====[[TRBS]]====
===M3GM===
looked up by name???
;Named when
;parent
:part of (unnamed) M3GA (part of (unnamed) OBAN) (same as (named) OBAN)
:(named) [[ONCC]]
:particle
;children
:projectile mesh
:(unnamed) [[TRCM]]
:powerup mesh
:axes
:sphere
:notfound
;Unnamed when
:part of (named) CONS
:part of (unnamed) OFGA (part of (named) CONS or DOOR)
:part of (named) ONWC
:part of (named) TRIG
:part of (named) TRGE
:part of (named) TURR
:part of (unnamed) TRGA (part of (unnamed) TRCM (part of (named) TRBS))
;Links
:(unnamed) PNTA
:(unnamed) VCRA
:(unnamed) VCRA
:(unnamed) TXCA
:(unnamed) IDXA
:(unnamed) IDXA
:(named) TXMP (optional)




----
====[[TRGE]]====
looked up by name???
;parent
:(named) [[TRIG]]
;children
:(unnamed) [[M3GM]]
----
====[[TRIG]]====
looked up by name???
;parent
:(named) [[TRIG]]
;children
*(unnamed) [[M3GM]]
*OBLS (obsolete)
*(named) [[TRGE]]
*(named) [[OBAN]]
;lookups
:[[OSBD]]
----
====[[TRMA]]====
looked up by name???
;parent
:(named) [[ONCC]]
;children
:(named) [[TXMP]]
----
====[[TRSC]]====
looked up by name???
;parent
:(named) [[ONCC]]
;children
:(named) [[TRAS]]
----
====[[TSFF]]====
:Only one instance in original Oni, in level 0, called '''Tahoma.TSFF'''
;parent
:(named) [[WMDD]]
:(unnamed) [[IGPG]]
:... (popular ^^)
;children
*(named) [[TSFL]]
*(unnamed) [[TSFT]]
----
====[[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==
==Always unnamed==
===ABNA===
===[[ABNA]]===
;part of (named) AKEV
;part of (named) [[AKEV]]


===AGDB===
;part of (named) AKEV
:(RAW/SEP parts)


===AGQC===
----
;part of (named) AKEV
===[[AGDB]]===
;part of (named) [[AKEV]]
:(.raw/.sep parts)


===AGQG===
;part of (named) AKEV


===AGQR===
----
;part of (named) AKEV
===[[AGQC]]===
;part of (named) [[AKEV]]


===AKAA===
;part of (named) AKEV


===AKBA===
----
;part of (named) AKEV
===[[AGQG]]===
;part of (named) [[AKEV]]


===AKBP===
;part of (named) AKEV


===AKDA===
----
;part of (named) AKEV
===[[AGQR]]===
;part of (named) [[AKEV]]


===AKOT===
 
;part of (named) AKEV
----
:link to (unnamed) OTIT (no subtree)
===[[AKAA]]===
:link to (unnamed) OTLF (no subtree)
;part of (named) [[AKEV]]
:link to (unnamed) QTNA (no subtree)
 
:link to (unnamed) IDXA (no subtree)
 
----
===[[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)
:link to (unnamed) IDXA (no subtree)


===AKVA===
;part of (named) AKEV
:(RAW/SEP parts)


===CBPI===
----
;part of (named) ONCC
===[[AKVA]]===
:links to (named) Impt (global)
;part of (named) [[AKEV]]
:(.raw/.sep parts)
 
 
----
===[[CBPI]]===
;part of (named) [[ONCC]]
:links to (named) [[Impt]] (global)
 
 
----
===[[CBPM]]===
;part of (named) [[ONCC]]
:links to (named) [[Mtrl]] (global)
 


===CBPM===
----
;part of (named) ONCC
===[[CRSA]]===
:links to (named) Mtrl (global)
;part of (named) [[ONLV]]


===CRSA===
;part of (named) ONLV


===ENVP===
----
;part of (named) ONLV
===[[ENVP]]===
;part of (unnamed) OBOA (part of (named) ONLV)
;part of (named) [[ONLV]]
;part of (unnamed) [[OBOA]] (part of (named) [[ONLV]])


===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===
----
;part of (named) OPge or TxtC
===[[IDXA]]===
:links to (unnamed) IGPG
;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]])


===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===
----
;part of (unnamed) IGPG
===[[IGPA]]===
:links to (unnamed) IGSt
;part of (named) [[OPge]] or [[TxtC]]
:links to (unnamed) [[IGPG]]


===IGSt===
;part of (unnamed) IGSA
:link to (named) TSFF (optional)


----
===[[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]]


===M3GA===
;part of (unnamed) OBOA
:links to (named) M3GM


===OBOA===
----
;part of (named) ONLV
===[[IGSA]]===
:link to (unnamed) M3GA
;part of (unnamed) [[IGPG]]
:link to (named) OBAN
:links to (unnamed) [[IGSt]]
:link to (unnamed) ENVP (part of (named) ONLV)
 
 
----
===[[IGSt]]===
;part of (unnamed) [[IGSA]]
:link to (named) [[TSFF]] (optional)


===OFGA===
 
;part of (named) CONS
----
;part of (named) DOOR
===[[M3GA]]===
:links to (unnamed) M3GM
;part of (unnamed) [[OBOA]]
:links to (named) [[M3GM]]
 
 
----
===[[OBOA]]===
;part of (named) [[ONLV]]
:link to (unnamed) [[M3GA]]
:link to (named) [[OBAN]]
:link to (unnamed) [[ENVP]] (part of (named) [[ONLV]])
 
 
----
===[[OFGA]]===
;part of (named) [[CONS]]
;part of (named) [[DOOR]]
:links to (unnamed) [[M3GM]]
:links to OBLS (obsolete)
:links to OBLS (obsolete)


===ONCP===
 
;part of (named) ONCC
----
===[[ONCP]]===
;part of (named) [[ONCC]]
:links by label...
:links by label...


===ONIA===
 
;part of (named) ONCC
----
===[[ONIA]]===
;part of (named) [[ONCC]]
:links by label...
:links by label...


===ONFA===
;part of (named) ONLV


===ONMA===
----
;part of (named) ONLV
===[[ONFA]]===
;part of (named) [[ONLV]]
 
 
----
===[[ONMA]]===
;part of (named) [[ONLV]]
 
 
----
===[[ONOA]]===
;part of (named) [[ONLV]]
:link to (unnamed) [[IDXA]]


===ONOA===
;part of (named) ONLV
:link to (unnamed) IDXA


===ONTA===
----
;part of (named) ONLV
===[[ONTA]]===
;part of (named) [[ONLV]]
:(always empty, WTF)
:(always empty, WTF)


===OTIT===
;part of (unnamed) AKOT (part of (named) AKEV)


===OTLF===
----
;part of (unnamed) AKOT (part of (named) AKEV)
===[[OTIT]]===
;part of (unnamed) [[AKOT]] (part of (named) [[AKEV]])
 
 
----
===[[OTLF]]===
;part of (unnamed) [[AKOT]] (part of (named) [[AKEV]])
 
 
----
===[[QTNA]]===
;part of (unnamed) [[AKOT]] (part of (named) [[AKEV]])
 
 
----
===[[PLEA]]===
;parent
:(named) [[AKEV]]
;no children
 
 
----
===[[PNTA]]===
;parent
:(named) [[AKEV]]
:[[M3GM]]
;no children
 
 
----
===[[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
:(named) [[TRBS]]
;children
:(unnamed) [[TRGA]]
:(unnamed) [[TRTA]]
:(unnamed) [[TRIA]]
 
 
----
 
===[[TRGA]]===
;parent
:(unnamed) [[TRCM]] (child of (named) [[TRBS]])
;children
:(unnamed) [[M3GM]]
 


===QTNA===
----
;part of (unnamed) AKOT (part of (named) AKEV)
===[[TRIA]]===
;parent
:(unnamed) [[TRCM]] (child of (named) [[TRBS]])


===PLEA===
;part of (named) AKEV


===PNTA===
----
;part of (named) AKEV
===[[TRTA]]===
;part of M3GM (part of ...)
;part of (unnamed) [[TRCM]] (part of (named) [[TRBS]])


===TRCM===
;part of (named) TRBS
;link to (unnamed) TRGA
;link to (unnamed) TRTA
;link to (unnamed) TRIA


===TRGA===
----
;part of (unnamed) TRCM (part of (named) TRBS)
===[[TSFT]]===
;links to (unnamed) M3GM
;part of (named) [[TSFF]]
:link to (unnamed) [[TSGA]]


===TRIA===
;part of (unnamed) TRCM (part of (named) TRBS)


===TRTA===
----
;part of (unnamed) TRCM (part of (named) TRBS)
===[[TSGA]]===
;part of (unnamed) [[TSFT]] (part of (named) [[TSFF]])


===TSFT===
;part of (named) TSFF
:link to (unnamed) TSGA


===TSGA===
----
;part of (unnamed) TSFT (part of (named) TSFF)
===[[TStr]]===
;part of (named) [[StNA]]


===TStr===
;part of (named) StNA


===TXAN===
----
;part of (named) TXMP
===[[TXAN]]===
;links to (unnamed) TXMP
;part of (named) [[TXMP]]
;links to (unnamed) [[TXMP]]


===TXCA===
;part of (named) AKEV
;part of M3GM (part of ...)


===TXMA===
----
;part of (named) AKEV
===[[TXCA]]===
:links to (named) TXMPs
;part of (named) [[AKEV]]
;part of [[M3GM]] (part of ...)
 
 
----
===[[TXMA]]===
;part of (named) [[AKEV]]
:links to (named) [[TXMP]]s
 
 
----
===[[VCRA]]===
;part of [[M3GM]] (part of...)


===VCRA===
{{OBD}}
;part of M3GM (part of...)

Revision as of 21:43, 8 September 2020

  • 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

parent
(unnamed) M3GA (child of (unnamed) ONOA (child of (named) ONLV))

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

no children
lookups
OSBD
M3GM (powerups)
TXMP (powerup glow)



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???

children
(unnamed) IGPA (IGPG and subtree...)



OSBD

looked up by name???

no children
.raw/.sep part
lookups
OSBD (by name from OSAm and OSIm)
SNDD (by name from OSGr)



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)
lookups
[[OSBD, BINA/PAR3



TXMB

looked up by name???

children
(named) TXMP



TxtC

looked up by name???

children
(unnamed) IGPA (IGPG and subtree...)



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???

parent
(named) ONLV
children
(named) OBAN



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
lookups
OSBD



ONCV

except for the linking from ONCC, this is actually a set of "semi-orphans" ^^

looked up by name???

parent
(named) ONCC (in levels)
(named) ONVL (level 0) or none
children
(named) ONCV (optional)



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???

parent
(named) WPge
(named) AISA (part of (named) ONLV)
ONWC are actually standalone
children
  • (named) TXMP x... (some optional)
  • (unnamed) M3GM
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???

parent
(named) TRSC
children
(named) TRAM



TRBS

looked up by name???

parent
(named) ONCC
children
(unnamed) TRCM



TRGE

looked up by name???

parent
(named) TRIG
children
(unnamed) M3GM



TRIG

looked up by name???

parent
(named) TRIG
children
lookups
OSBD



TRMA

looked up by name???

parent
(named) ONCC
children
(named) TXMP



TRSC

looked up by name???

parent
(named) ONCC
children
(named) TRAS



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

part of (named) ONCC
links to (named) Impt (global)



CBPM

part of (named) ONCC
links to (named) Mtrl (global)



CRSA

part of (named) ONLV



ENVP

part of (named) ONLV
part of (unnamed) OBOA (part of (named) ONLV)



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

part of (named) OPge or TxtC
links to (unnamed) IGPG



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

part of (unnamed) IGPG
links to (unnamed) IGSt



IGSt

part of (unnamed) IGSA
link to (named) TSFF (optional)



M3GA

part of (unnamed) OBOA
links to (named) M3GM



OBOA

part of (named) ONLV
link to (unnamed) M3GA
link to (named) OBAN
link to (unnamed) ENVP (part of (named) ONLV)



OFGA

part of (named) CONS
part of (named) DOOR
links to (unnamed) M3GM
links to OBLS (obsolete)



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

part of (named) ONLV
link to (unnamed) IDXA



ONTA

part of (named) ONLV
(always empty, WTF)



OTIT

part of (unnamed) AKOT (part of (named) AKEV)



OTLF

part of (unnamed) AKOT (part of (named) AKEV)



QTNA

part of (unnamed) AKOT (part of (named) AKEV)



PLEA

parent
(named) AKEV
no children



PNTA

parent
(named) AKEV
M3GM
no children



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.
parent
(named) TRBS
children
(unnamed) TRGA
(unnamed) TRTA
(unnamed) TRIA



TRGA

parent
(unnamed) TRCM (child of (named) TRBS)
children
(unnamed) M3GM



TRIA

parent
(unnamed) TRCM (child of (named) TRBS)



TRTA

part of (unnamed) TRCM (part of (named) TRBS)



TSFT

part of (named) TSFF
link to (unnamed) TSGA



TSGA

part of (unnamed) TSFT (part of (named) TSFF)



TStr

part of (named) StNA



TXAN

part of (named) TXMP
links to (unnamed) TXMP



TXCA

part of (named) AKEV
part of M3GM (part of ...)



TXMA

part of (named) AKEV
links to (named) TXMPs



VCRA

part of M3GM (part of...)