OBD:File types/Naming
- 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
- actually, there are both named (bip_****) and orphan TRCM (both in level 0 and levels) (but who cares? ^^)
- parent
- (named) TRBS
- children
- (unnamed) TRGA
- (unnamed) TRTA
- (unnamed) TRIA
TRGA
TRIA
TRTA
TSFT
TSGA
TStr
- part of (named) StNA
TXAN
TXCA
TXMA
VCRA
- part of M3GM (part of...)