OBD:File types/Naming: Difference between revisions

m
slightly less ugleee
m (uuuugleeeee)
 
m (slightly less ugleee)
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 (unnamed) ONOA))
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.IGHH'''
;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)


===AITR===
===ONVL===
;part of (named) ONLV
Only one ONVL, in level 0, called '''variant_list.ONVL'''
;Linked to by name???
;children
;level#_scripts
:(named) ONCV
;possibly obsolete (only present in level8_Final)
;no subtree


===AKEV===
====OPge====
;part of (named) ONLV
looked up by name???
;all children are unnamed
;children
;PNTA link (vertices) (no subtree)
:(unnamed) IGPA (IGPG and subtree...)
;PLEA link (planes) (no subtree)
;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===
====OSBD====
;nothing links here
looked up by name???
;Looked up by name (PAR3)
;no children
;Looked up by name or label (SABD)
;RAW/SEP part
;RAW/SEP part
;lookups
:SNDD (by name from OSGr)


===CONS===
====PSpL====
;nothing links here
Only one PSpL, in level 0, called '''partspec_list.PSpL'''
;Linked to by name???
;children
;All children unnamed
:(named) PSpc
;link to (unnamed) OFGA (M3GMs)
;link to (unnamed) M3GM


===DOOR===
====PSUI====
;nothing links here
looked up by name???
;2 OFGA links (only one used in original Oni)
;children
;1 OBAN link
:(named) PSpc
;2 sound links (by label?)


===DPge===
====SNDD====
;nothing links here
looked up by name???
;links to (unnamed) IGPG
;no children
;RAW/SEP part


===FILM===
====StNA====
;nothing links here
looked up by name???
;2 TRAM links
;children
:(unnamed) Tstr


===HPge===
====SUBT====
;nothing links here
looked up by name???
;links to (unnamed) IGPG
;no children
;RAW/SEP part


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


===Impt===
===TXMB===
;linked to by other Impt
looked up by name???
;looked up by name...
;children
;links to (named) Impt
:(named) TXMP


===IPge===
===TxtC===
;nothing links here
looked up by name???
;links to (unnamed) IGPG
;children
:(unnamed) IGPA (IGPG and subtree...)


===KeyI===
===WMCL===
;nothing links here
Only one WMCL, in level 0, called '''cursor_list.WMCL'''
;one of its kind
;children
;links to (named) TXMP
:(named) PSpc


===Mtrl===
===WMDD===
;linked to by other Mtrl
looked up by name???
;looked up by name...
;children
;links to (named) Mtrl
:(named) TSFF


===OBAN===
===WPge===
;part of (named) OBDC or (named) DOOR or (named) TRIG or (unnamed) OBOA (part of (named) ONLV)
looked up by name???
;No subtree
;children
*(unnamed) IGPG
*(named) ONWC !!!


===OBDC===
;part of (named) ONLV
;Linked to by name???
;level#_scripts
;links to (named) OBAN


===ONCC===
===Semi-orphans===
;linked to from (named) AISA (part of (named) ONLV) or (unnamed) CRSA (part of (named) ONLV)
Those only link to files of the same type as themselves.
;No global instance in original Oni
====Impt====
;link to (named) TXMP
looked up by name???
;links by label (OSBD)
;parent
;link to (named) ONCV
:(named) Impt (or none)
;link to (unnamed) ONCP
;children
;link to (unnamed) ONIA
:(named) Impt (or none)
;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===
===Mtrl===
;linked to from ONCC (level)
looked up by name???
;linked to from ONVL (level 0)
;parent
;Looked up by name???
:(named) Mtrl (or none)
;links to (named) ONCV
;children
:(named) Mtrl (or none)


===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===
===Non-orphans===
;one per level
====AISA====
;nothing links here
:One instance per level, called '''level#_scripts'''
;no subtree
looked up by name???
;parent
:(named) ONLV
;children
*(named) ONCC
*(named) ONWC (optional)
Although ONCC and ONWC are not ''really'' "children" here...


===ONLV===
====AITR====
;one per level
:One instance per level, called '''level#_scripts'''
;nothing links here
:possibly obsolete (non-trivial only in '''level8_Final''')
;all children unnamed except AKEV, ONSK AISA, AITR, ONSA, OBDC
looked up by name???
;AKEV link (environment) (...)
;parent
;OBOA link (starting object) (M3GA, OBAN, ENVP)
:(named) ONLV
;ONMA link ("marker node") (useless?) (no subtree)
;no children
;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===
====AKEV====
;part of (named) ONLV
:One instance per level, names vary.
;Linked to by name???
looked up by name???
;level#_scripts
;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)


===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===
====OBAN====
;one of its kind
;parent
;nothing links here
:(named) OBDC
;links to (named) ONCV
:(named) DOOR
:(named) TRIG
:(unnamed) OBOA (child of (named) ONLV)
::''orphans also exist''
;no children


===ONWC===
====OBDC====
;linked to from (named) WPge or (named) AISA (part of (named) ONLV)
:One instance per level, called '''level#_scripts'''
;links to (named) TXMP
looked up by name???
;link to (unnamed) M3GM
;parent
;links by label (OSBD)
:(named) ONLV
;children
:(named) OBAN


===OPge===
====ONCC====
;nothing links here
:no global instance in original Oni
;link to (unnamed) IGPA (IGPG and subtree...)
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


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


===PSpc===
====ONCV====
;one per level (nothing links to them)
:except for the linking from ONCC, this is actually a set of "semi-orphans" ^^
;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 ^^)
;parent
;link to (named) TXMP
:(named) ONCC (in levels)
:(named) ONVL (level 0) or none
;children
:(named) ONCV (optional)


===PSpL===
====ONSA====
;one of its kind
:One instance per level, called '''level#_scripts'''
;nothing links here
looked up by name???
;links to (named) PSpc
;parent
:(named) ONLV
;no children


===PSUI===
===ONSK===
;nothing links here
:One instance per level, names vary.
;links to (named) PSpc
looked up by name???
;parent
:(named) ONLV
;children
*(named) TXMP x6 (skybox)
*(named) TXMP x8 (sun/moon/stars)
*(named) TXMP (???)
*(named) TXMP x5 (flares?)


===SNDD===
===ONWC===
;nothing links here
:global instances only in original Oni
;RAW/SEP part
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


===StNA===
;nothing links here
;links to (unnamed) Tstr


===SUBT===
===PSpc===
;nothing links here
looked up by name???
;RAW/SEP part
;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===
===TRAC===
;linked to fom (named) ONCC or (named) TRAC
looked up by name???
;link to (named) TRAC (optional)
;parent
;links to (named) TRAM
:(named) ONCC
:(named) TRAC
;children
*(named) TRAC (optional)
*(named) TRAM


===TRAM===
===TRAM===
;linked from (named) FILM or (named) TRAC or (named) TRAM or (named) TRAS
looked up by name???
;links to (named) TRAM (optional)
;parent
;RAW/SEP children
:(named) FILM
;link by label to ONCC's ONIA entry
:(named) TRAC
:(named) TRAM
:(named) TRAS
;children
:(named) TRAM x2 (optional)
;RAW/SEP parts
;lookups
:ONCC/ONIA


===TRAS===
===TRAS===
;part of (named) TRSC
looked up by name???
;link to (named) TRAM
;parent
:(named) TRSC
;children
:(named) TRAM


===TRBS===
===TRBS===
;linked to from (named) ONCC
looked up by name???
;links to (unnamed) TRCM
;parent
:(named) ONCC
;children
:(unnamed) TRCM


===TRGE===
===TRGE===
;linked to from (named) TRIG
looked up by name???
;link to (unnamed) M3GM
;parent
:(named) TRIG
;children
:(unnamed) M3GM


===TRIG===
===TRIG===
;linked to from (named) TRIG
looked up by name???
;link to (unnamed) M3GM
;parent
;link to OBLS (obsolete)
:(named) TRIG
;link to (named) TRGE
;children
;link to (named) OBAN
*(unnamed) M3GM
;links by label (OSBD)
*OBLS (obsolete)
*(named) TRGE
*(named) OBAN
;lookups
:OSBD


===TRMA===
===TRMA===
;linked to from (named) ONCC
looked up by name???
;links to (named) TXMP
;parent
:(named) ONCC
;children
:(named) TXMP


===TRSC===
===TRSC===
;linked to from (named) ONCC
looked up by name???
;link to (named) TRAS
;parent
:(named) ONCC
;children
:(named) TRAS


===TSFF===
===TSFF===
;linked to by (named) WMDD and (unnamed) IGPG and ... !!!
:Only one instance in original Oni, in level 0, called '''Tahoma.TSFF'''
;one of its kind
;parent
:Tahoma (level0_Final)
:(named) WMDD
;link to (named) TSFL
:(unnamed) IGPG
;links to (unnamed) TSFT
:... (popular ^^)
;children
*(named) TSFL
*(unnamed) TSFT


===TSFL===
===TSFL===
;part of (named) TSFF
:Only one instance in original Oni, in level 0, called '''Roman.TSFL'''
;one of its kind
;parent
;part of TSFF
:(named) TSFF
:Roman (level0_Final)
;no children
 
===TURR===
;nothing links here
;links to (unnamed) M3GM
;link to OBLS (obsolete)
;links by label (OSBD, BINA/PAR3)
 
===TXMB===
;nothing links here
;links to (named) TXMP
 
===TxtC===
;nothing links here
;link to (unnamed) IGPA (IGPG and subtree...)
 
===WMCL===
;nothing links here
;one of its kind
;links to (named) PSpc
 
===WMDD===
;nothing links here
;links to (named) TSFF
 
===WPge===
;nothing links here
;links to (unnamed) IGPG
:links to (named) ONWC !!!


===WMM_===
===WMM_===
;either WMMB or nothing links here
looked up by name???
;parent
:WMMB or none
;no children


===WMMB===
===WMMB===
;nothing links here
:Only one instance in original Oni, in level 0, called '''menubar_oniwindow.WMMB'''
;one of its kind
;children
;links to (named) TSFF
:(named) TSFF
 
 
----
==Unnamed TXMP==
;part of (unnamed) TXAN (part of (named) TXMP)
;*no* link to (unnamed) TXAN
;link to (named) TXMP (optional)
;RAW/SEP part
 
==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...)
;link to (unnamed) TXAN (optional)
;link to (named) TXMP (optional)
;RAW/SEP part
 
 
----
==Almost always unnamed==
===M3GM===
;Named when
:part of (unnamed) M3GA (part of (unnamed) OBAN) (same as (named) OBAN)
:particle
:projectile mesh
: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)




Line 477: Line 659:


===PLEA===
===PLEA===
;part of (named) AKEV
;parent
:(named) AKEV
;no children


===PNTA===
===PNTA===
;part of (named) AKEV
;parent
;part of M3GM (part of ...)
:(named) AKEV
:M3GM
;no children


===TRCM===
===TRCM===
;part of (named) TRBS
:actually, there are both ''named'' (bip_****) and ''orphan'' TRCM (both in level 0 and levels) (but who cares? ^^)
;link to (unnamed) TRGA
;parent
;link to (unnamed) TRTA
:(named) TRBS
;link to (unnamed) TRIA
;children
:(unnamed) TRGA
:(unnamed) TRTA
:(unnamed) TRIA


===TRGA===
===TRGA===
;part of (unnamed) TRCM (part of (named) TRBS)
;parent
;links to (unnamed) M3GM
:(unnamed) TRCM (child of (named) TRBS)
;children
:(unnamed) M3GM


===TRIA===
===TRIA===
;part of (unnamed) TRCM (part of (named) TRBS)
;parent
:(unnamed) TRCM (child of (named) TRBS)


===TRTA===
===TRTA===