XML:File types: Difference between revisions

From OniGalore
Jump to navigation Jump to search
(Others section converted to template XMLtype; reviewing now for errors in conversion, and filling in type names)
m (two more examples of power-ups so it's clearer what PWRU is for)
 
(74 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[Image:XML.png|right]]
{{Hatnote|See [[Introduction to modding]] if you are new to modding.}}
:''See [[Modding Oni]] for an introduction to modding.''
{{XML Home}}
:''See [[XML]] for an introduction to XML modding.''
Following is an overview of each of the 65 significant data types (45 basic, 16 OBJC, and 4 BINA) and 43 sub-types that they rely on.
The '''XML''' namespace is devoted to explaining Oni's data types, originally documented in a technical byte-by-byte manner at [[OBD]], according to the more user-friendly format they appear in when exported by [[OniSplit]] as XML. Following is an overview of each data type's function, and whether it has XML documentation available.


Documentation status:
{|style="border:1px solid #AAA; float:left"
:[[Image:Aqua Dot-Green.png]] : available
|width="250px" style="text-align:center;"|'''Legend'''
:[[Image:Aqua Dot-Yellow.png]] : incomplete
|-
:[[Image:Aqua Dot-Red.png]] : not available, but that doesn't mean you cannot mod the file type
|Documentation status:
:[[Image:Aqua Dot-Green.png]] Available
:[[Image:Aqua Dot-Yellow.png]] Incomplete
:[[Image:Aqua Dot-Red.png]] Unavailable, see [[OBD:File types|OBD docs]]<br />if you wish to mod the file type
|-
|Location:
:vanilla: An un-modded retail copy of Oni
:AE: The [[AE]] reorganizes some data
:global: File(s) found in level0_Final
:local: File(s) may be in level[1-19]_Final
:both: File(s) may be in either place
|}
 
{|style="border:1px solid #AAA; margin-left:275px"
|colspan="4" style="text-align:center; max-width:950px"|'''Jump Table'''
|-
|style="vertical-align:top; border:1px solid #AAA; border-width:0px 0px 0px 0px; padding-right:20px"|
'''A-B''' • [[#AKEV|ABNA]], [[#AKEV|AGQC]], <br>[[#AKEV|AGQG]], [[#AKEV|AGQR]], <br>[[#AISA|AISA]], [[#AKEV|AKAA]], <br>[[#AKEV|AKBA]], [[#AKEV|AKBP]], <br>[[#AKEV|AKEV]], [[#AKEV|AKOT]], <br>[[#AKEV|AKVA]], '''[[#BINA|BINA]]'''
 
|style="vertical-align:top; border:1px solid #AAA; border-width:0px 0px 0px 0px; padding-right:20px"|
'''C-E''' • [[#ONCC|CBPI]], [[#ONCC|CBPM]], <br>[[#BINA/OBJC/CHAR|CHAR]], [[#BINA/OBJC/CMBT|CMBT]], <br>[[#CONS|CONS]], [[#BINA/OBJC/CONS|CONS <font size="1">'''(OBJC)'''</font>]], <br>[[#ONLV|CRSA]], [[#DOOR|DOOR]], <br>[[#BINA/OBJC/DOOR|DOOR <font size="1">'''(OBJC)'''</font>]], [[#DPge|DPge]], <br>[[#ONLV|ENVP]]
 
|style="vertical-align:top; border:1px solid #AAA; border-width:0px 0px 0px 0px; padding-right:20px"|
'''F-K''' • [[#FILM|FILM]], [[#BINA/OBJC/FLAG|FLAG]], <br>[[#BINA/OBJC/FURN|FURN]], [[#HPge|HPge]], <br>[[#IDXA|IDXA]], [[#IGHH|IGHH]], <br>[[#IGPA|IGPA]], [[#IGPG|IGPG]], <br>[[#IGSA|IGSA]], [[#IGSt|IGSt]], <br>[[#Impt|Impt]], [[#IPge|IPge]], [[#DPge|KeyI]]
 
|style="vertical-align:top; border:1px solid #AAA; border-width:0px 0px 0px 0px"|
'''M-N''' • [[#OBAN|M3GA]], [[#M3GM|M3GM]], <br>[[#BINA/OBJC/MELE|MELE]], [[#Mtrl|Mtrl]], [[#BINA/OBJC/NEUT|NEUT]]
 
|-
 
|style="vertical-align:top; border:1px solid #AAA; border-width:0px 0px 0px 0px; padding-right:20px"|
'''O''' • [[#OBAN|OBAN]], '''[[#BINA/OBJC|OBJC]]''', <br>[[#OBAN|OBOA]], [[#OFGA|OFGA]], <br>[[#ONCC|ONCC]], [[#ONCC|ONCP]], <br>[[#ONCV|ONCV]], [[#ONGS|ONGS]], <br>[[#ONCC|ONIA]], [[#BINA/ONIE|ONIE]], <br>[[#ONLD|ONLD]], [[#ONLV|ONLV]], <br>[[#ONLV|ONOA]], [[#ONSK|ONSK]], <br>[[#ONVL|ONVL]], [[#ONWC|ONWC]], <br>[[#OPge|OPge]], [[#SNDD|OSBD]], <br>[[#AKEV|OTIT]], [[#AKEV|OTLF]]
 
|style="vertical-align:top; border:1px solid #AAA; border-width:0px 0px 0px 0px; padding-right:20px"|
'''P-S''' • [[#BINA/PAR3|PAR3]], [[#BINA/OBJC/PART|PART]], <br>[[#BINA/OBJC/PATR|PATR]], [[#AKEV|PLEA]], <br>[[#PNTA|PNTA]], [[#PSpc|PSpc]], <br>[[#PSpL|PSpL]], [[#PSUI|PSUI]], <br>[[#BINA/OBJC/PWRU|PWRU]], [[#AKEV|QTNA]], <br>[[#BINA/SABD|SABD]], [[#SNDD|SNDD]], <br>[[#BINA/OBJC/SNDG|SNDG]], [[#StNA|StNA]], [[#SUBT|SUBT]]
 
|style="vertical-align:top; border:1px solid #AAA; border-width:0px 0px 0px 0px; padding-right:20px"|
'''T''' • [[#BINA/TMBD|TMBD]], [[#TRAC|TRAC]], <br>[[#TRAM|TRAM]], [[#TRAS|TRAS]], <br>[[#TRBS|TRBS]], [[#TRBS|TRCM]], <br>[[#TRBS|TRGA]], [[#TRGE|TRGE]], <br>[[#BINA/OBJC/TRGV|TRGV]], [[#TRBS|TRIA]], <br>[[#TRIG|TRIG]], [[#BINA/OBJC/TRIG|TRIG <font size="1">'''(OBJC)'''</font>]], <br>[[#TRMA|TRMA]], [[#TRSC|TRSC]], <br>[[#TRBS|TRTA]], [[#TSFF|TSFF]], <br>[[#TSFF|TSFL]], [[#TSFF|TSFT]], <br>[[#TSFF|TSGA]], [[#TURR|TURR]], <br>[[#BINA/OBJC/TURR|TURR <font size="1">'''(OBJC)'''</font>]], [[#TXMP|TXAN]], <br>[[#TXCA|TXCA]], [[#AKEV|TXMA]], <br>[[#TXMB|TXMB]], [[#TXMP|TXMP]], [[#TxtC|TxtC]]


==BINA==
|style="vertical-align:top; border:1px solid #AAA; border-width:0px 0px 0px 0px"|
{|width="100%" style="border-style:solid; background-color:#F9F9F9; border:1px solid #AAA"
'''V-W''' • [[#M3GM|VCRA]], [[#BINA/OBJC/WEAP|WEAP]], <br>[[#WMCL|WMCL]], [[#WMDD|WMDD]], <br>[[#WMM|WMM_]], [[#WMM|WMMB]], [[#WPge|WPge]]
!width="100px" align="left"|Tag
!width="250px" align="left"|Name
!width="50px" align="left"|Docs
!width="200px" align="left"|File
!align="left"|Loc.
{{XMLtype|BINA/ONIE|Oni Impact Effects
|some
|BINAEINOimpact_effects.oni
|yes
|A list of all impact effects which can happen in the game. That includes weapon particles, hand-to-hand combat, and footsteps. The impact effect is selected according the type of impact ([[#Impt|Impt]]) and the material ([[#Mtrl|Mtrl]]) which is hit.}}
{{XMLtype|BINA/PAR3|Particle class
|some
|
|
|A list of types of particles which can be spawned in the game, used by weapons to deal damage, for lighting effects, etc. A specific instance of a PAR3 class is a PART.}}
{{XMLtype|BINA/SABD|Sound Animation Binary Data
|some
|
|
|A list of the sounds to be played for each animation type, according to the character variant (ONCV) and the type of animation (TRAM) that they are playing.}}
{{XMLtype|BINA/TMBD|Texture Materials Binary Data
|some
|
|
|A list of the material (Mtrl) for each texture map (TXMP). Used by ONIE.}}
|}
|}


==OBJC==
{|width="100%" style="background-color:#F9F9F9; border:1px solid #AAA"
{|width="100%" style="border-style:solid; background-color:#F9F9F9; border:1px solid #AAA"
!width="10px" style="text-align:left; vertical-align:center; background-color:#EEEEEE"|Tag
!width="150px" align="left"|Tag
!style="text-align:left; vertical-align:center; background-color:#EEEEEE"|[[Image:Aqua Dot-Grey.png]]
!width="250px" align="left"|Name
!width="250px" style="text-align:left; vertical-align:center; background-color:#EEEEEE"|Name
!width="50px" align="left"|Docs
!width="200px" style="text-align:left; vertical-align:center; background-color:#EEEEEE"|File name(s)
!width="200px" align="left"|File
!width="125px" style="text-align:left; vertical-align:bottom; background-color:#EEEEEE"|Location (vanilla)
!align="left"|Loc.
!style="text-align:left; vertical-align:bottom; background-color:#EEEEEE"|Location (AE)
{{XMLtype|BINA/OBJC/CHAR|
{{XMLtype|AISA|AI Character Setup Array
|some
|
|yes
|yes
|List of characters in a specific level, containing their position, script function names, weapon, ammunition, items, team, combat, melee ID, etc.}}
|AISAlevel##_scripts
{{XMLtype|BINA/OBJC/CMBT|
|local
|local
|This file type was probably in the process of being replaced by [[#BINA/OBJC/CHAR|CHAR]] when Oni shipped, but it is still used for a few cutscene characters.}}
{{XMLtype|AKEV|Akira Environment
|some
|some
|
|AKEV...
|yes
|local
|List of combat profiles for global use, containing conditions that govern the AI's melee, weapon combat, and retreat behavior, based on factors like distance and the enemy's reactions.}}
|local
{{XMLtype|BINA/OBJC/CONS|
|It's the 3D level model. Many subtypes are used for the actual 3D data -- ABNA, AGDB, AGQG, AGQC, AGQR, AKAA, AKBA, AKBP, AKDA, AKOT (which in turn uses OTIT, OTLF, and QTNA), AKVA, IDXA, PLEA, PNTA, TXCA, and TXMA; these types do not have separate XML documentation because they export as a part of AKEV. Some of these types are also used by [[#M3GM|M3GM]]. AKEV exports as a Collada (.dae) file, meant to be edited in a 3D modeler like [[Blender]].}}
|yes
{{XMLtype|CONS|Console
|
|yes
|List of consoles in a specific level, containing their position, script name (ID), screen images, and script function names. Consoles are used to open doors, trigger alarms, or provide information.}}
{{XMLtype|BINA/OBJC/DOOR|
|yes
|
|yes
|List of doors in a specific level, containing their conditions for when a door opens (e.g., is the action key required?), and what events are triggered by a character who opens the door.}}
{{XMLtype|BINA/OBJC/FLAG|
|yes
|
|yes
|List of flags in a specific level, containing their position. Flags are used by level scripts and patrol paths.}}
{{XMLtype|BINA/OBJC/FURN|
|yes
|
|yes
|List of pieces of furniture in a specific level. This file type can be used to import level objects.}}
{{XMLtype|BINA/OBJC/MELE|
|some
|some
|
|CONSconsole...
|yes
|global
|List of melee profiles for global use. A melee profile contains a simple program that determines how the AI uses its combat moves.}}
|global
{{XMLtype|BINA/OBJC/NEUT|
|There are only three of these models for the consoles used in all of Oni, as documented in [[Data console]], though the picture ([[#TXMP|TXMP]]) displayed on a specific console varies.}}
|yes
{{XMLtype|DOOR|Door
|
|yes
|List of neutral character behaviors in a specific level. Every character has a melee, combat and neutral behavior ID. It determines whether a non-player character (NPC) talks to you and whether they give you a power-up.}}
{{XMLtype|BINA/OBJC/PART|
|yes
|
|yes
|List of particles in a specific level, containing their position, script name and scaling.}}
{{XMLtype|BINA/OBJC/PATR|
|yes
|
|yes
|List of patrol paths in a specific level, containing an ID which is used by CHAR and the scripting command "ai2_dopath".}}
{{XMLtype|BINA/OBJC/PWRU|
|yes
|
|yes
|yes
|List of power-ups (items, e.g. hypo sprays) in a specific level which are spawned at level load, containing their position.}}
|DOOR...
{{XMLtype|BINA/OBJC/SNDG|
|global
|global
|There are 48 types of doors, defined globally for use in the levels.}}
{{XMLtype|DPge|Diary Page
|yes
|yes
|
|DPgelev_##_pg_##
|global
|global
|As seen in the Diary tab of the Data Comlink. The actual text is in a linked IGPG (see [[#OPge|OPge]] for more info; also used by [[#HPge|HPge]], [[#IPge|IPge]], and [[#WPge|WPge]]). The diary page is used for both diary-style entries and move pages, which are both unlocked when reaching the level number contained in this data. When being used as a move page, the sequence of actions that produce the move can be conveyed with the use of icons ([[#TXMP|TXMP]]s provided by KeyI), however this functionality is unused in Oni's existing data.}}
{{XMLtype|FILM|Film
|yes
|yes
|List of sound groups in a specific level. Sound groups are the invisible spheres which contain ambient sounds. If you come near a machine and you hear a sound, that's because of SNDG.}}
|FILM...
{{XMLtype|BINA/OBJC/TRGV|
|local
|local
|A record of a character's movements, created by a developer recording his gameplay, and played back in cutscenes to make an AI perform complex actions. During playback, AIs have no AI. ^_^}}
{{XMLtype|HPge|Help Page
|yes
|yes
|
|HPgehelp_pg_01
|global
|global
|The Help tab of the Data Comlink labels the in-game UI and reminds the player of the controls (but only the default bindings, regardless of what the player is actually using...). The actual text is in a linked IGPG (also used by [[#DPge|DPge]], [[#OPge|OPge]], [[#IPge|IPge]], and [[#WPge|WPge]]).}}
{{XMLtype|IDXA|Index Array
|yes
|yes
|List of trigger volumes in a specific level. They are invisible areas which trigger functions in a script.}}
| --
{{XMLtype|BINA/OBJC/TRIG|
|both
|both
|This is just a disambiguation page which points to the higher-level types that use IDXA (AKEV, ONLV, M3GM), because IDXAs do not get exported as standalone files by OniSplit.}}
{{XMLtype|IGHH|IGUI HUD Help
|yes
|yes
|
|IGHHhud_help_info
|global
|global
|The Help tab of the Data Comlink labels the in-game UI using the text found here and the overlay textures it links to. (IGUI is "In-Game User Interface".)}}
{{XMLtype|IGPA|IGUI Page Array
|yes
|yes
|List of laser triggers in a specific level. There are several forms of triggers, and they can trigger not only turrets (TURR), but also script functions in the level.}}
| --
{{XMLtype|BINA/OBJC/TURR|
|both
|both
|This is just a disambiguation page which points to the higher-level types that use IGPA (DPge, HPge, IPge, OPge, WPge, TxtC), because IGPAs do not get exported as standalone files by OniSplit.}}
{{XMLtype|IGPG|IGUI Page
|yes
|yes
|
| --
|both
|both
|This is just a disambiguation page which points to the higher-level types that use IGPG (DPge, HPge, IPge, OPge, WPge, TxtC), because IGPGs do not get exported as standalone files by OniSplit.}}
{{XMLtype|IGSA|IGUI String Array
|yes
|yes
|List of turrets in a specific level. Note that their pods are part of the level geometry. Spawn one manually and it might be located somewhere in the air. Determines their head's position, the weapon inside the turret head, and the team ID to target.}}
| --
{{XMLtype|BINA/OBJC/WEAP|
|both
|both
|This is just a disambiguation page which points to the higher-level types that use IGSA (DPge, HPge, IPge, OPge, WPge, TxtC), because IGSAs do not get exported as standalone files by OniSplit.}}
{{XMLtype|IGSt|IGUI String
|yes
|yes
|
| --
|both
|both
|This is just a disambiguation page which points to the higher-level types that use IGSt (DPge, HPge, IPge, OPge, WPge, TxtC), because IGSts do not get exported as standalone files by OniSplit.}}
{{XMLtype|Impt|Impact
|yes
|yes
|List of weapons in a specific level, determining their spawn location at level load.}}
|Impt...
|}
|global
 
|global
==Others==
|This file is used to build up a hierarchy of impacts. See [[#BINA/ONIE|BINA/ONIE]] for more information.}}
{|width="100%" style="border-style:solid; background-color:#F9F9F9; border:1px solid #AAA"
{{XMLtype|IPge|Item Page
!width="100px" align="left"|Tag
!width="250px" align="left"|Name
!width="50px" align="left"|Docs
!width="200px" align="left"|File
!align="left"|Loc.
{{XMLtype|AISA|
|yes
|yes
|
|IPge...
|local
|local
|As items are picked up, their Item Pages are displayed on the Items tab of the Data Comlink. The actual text and image is found in a linked IGPG (see [[#OPge|OPge]] for more info; also used by [[#DPge|DPge]], [[#HPge|HPge]], and [[#WPge|WPge]]).}}
{{XMLtype|M3GM|Geometry
|yes
|yes
|This file type was probably in the process of being replaced by BINA/CJBO/[[#CHAR|CHAR]] when Oni shipped, but AISA is still used for a few cutscene characters.}}
|M3GM...
{{XMLtype|AKEV|
|both
|some
|both (more are global)
|
|A basic unit of 3D geometry used by anything that can have a physical shape, such as character models ([[#TRBS|TRBS]]), consoles ([[#CONS|CONS]]), animated objects ([[#OBAN|OBAN]]) and particles ([[#BINA/PAR3|PAR3]]). The building blocks of the geometry are the types IDXA, PNTA, TXCA and VCRA (these are all exported under M3GM so do not have separate XML documentation), and the texture is provided by [[#TXMP|TXMP]].}}
{{XMLtype|Mtrl|Material
|yes
|yes
|It's the 3D level model. The AKEV exports as a Collada (.dae) file, meant to be edited in a 3D modeler like [[Mod Tool]].}}
|Mtrl...
{{XMLtype|CONS|
|global
|some
|global
|
|These files are used to build up a hierarchy of materials. See [[#BINA/ONIE|BINA/ONIE]] for more information.}}
{{XMLtype|OBAN|Object Animation
|yes
|yes
|Console class.}}
|OBAN...
{{XMLtype|DOOR|
|both
|some
|both
|
|Yes, this is used to animate objects, but also characters and cutscene cameras. Uses OBOA (also used by [[#ONLV|ONLV]]) to store the physics settings, and the OBOA in turn uses an M3GA, which is an array of [[#M3GM|M3GMs]], to store the actual geometry.}}
{{XMLtype|OFGA|Object Furniture Geometry Array
|yes
|yes
|Door class.}}
|OFGA...
{{XMLtype|DPge|
|N/A
|N/A
|Used to import objects with no functions. (Doors, consoles, etc. get imported as [[#BINA/OBJC|object lists]]. See [[XML:ONLV]] for more information.)}}
{{XMLtype|ONCC|Oni Character Class
|yes
|yes
|
|ONCC...
|local
|global
|This is where a class of character (Konoko, Striker, etc.) is assigned its weapon skill, behavior ID, vision radius, jumping height, sounds, 3D model ([[#TRBS|TRBS]]), animation collection ([[#TRAC|TRAC]]), textures ([[#TRMA|TRMA]]), and much more. The XML file contains also the character's body part material (CBPM), body part impacts (CBPI), and particles for animations (ONCP and ONIA), so these types are also documented on this page.}}
{{XMLtype|ONCV|Oni Character Variant
|yes
|yes
|Diary page.}}
|ONCV...
{{XMLtype|FILM|
|global
|global
|Used to create a pool of characters from which an AI can be randomly spawned, in order to create a natural variation in appearance. A flag in a [[#BINA/OBJC/CHAR|CHAR]] determines which variant the character falls under. It can be also used to upgrade characters on the Hard difficulty level, also determined by a flag in the CHAR.}}
{{XMLtype|ONGS|Oni Game Settings
|yes
|yes
|
|ONGSgame_settings
|global
|global
|Here you can modify the game's health bar, hypo spray strength, [[Difficulty modes|game difficulty]], autoprompts (text messages when picking up a new kind of item), etc.}}
{{XMLtype|ONLD|Oni Game Level Descriptor
|yes
|yes
|A record of a character's movements, created by a developer recording his gameplay and played back in cutscenes to make an AI perform complex actions. During playback, AIs have no AI. ^_^}}
|ONLDlevel_##
{{XMLtype|HPge|
|global
|global
|Contains a level's number, the number of the next level, and the level's name as it appears on the Load Game screen.}}
{{XMLtype|ONLV|Oni Game Level
|yes
|yes
|
|ONLV...
|local
|local
|The top of the hierarchy when it comes to level data. Holds the name of the BSL folder with the scripts for this level, links to the environmental model ([[#AKEV|AKEV]]), animated objects ([[#OBAN|OBOA]]), skybox ([[#ONSK|ONSK]]) and AIs to spawn (well, the ones in [[#AISA|AISA]]; the ones in [[#BINA/OBJC/CHAR|CHAR]] need no link from here), and more. These type links as well as the corpse array (CRSA), environmental particles (ENVP), and gunk data (ONOA, which uses IDXA) will be exported together in XML. ONLV also links to six obsolete types which will not be exported: AITR, OBDC, ONFA, ONMA, [[XML:ONSA|ONSA]] and ONTA.}}
{{XMLtype|ONSK|Oni Sky Class
|yes
|yes
|Help page.}}
|ONSK...
{{XMLtype|IGHH|
|local
|global
|It's essentially a box of textures that surrounds the level, so you will need five images for the top, north, east, south and west. The bottom has no image.}}
{{XMLtype|ONVL|Oni Variant List
|yes
|yes
|
|ONVLvariant_list
|global
|global
|It's used to randomize characters' appearances in conjunction with [[#ONCV|ONCV]].}}
{{XMLtype|ONWC|Oni Weapon Class
|yes
|yes
|In-game HUD; your health bar, compass, etc.}}
|ONWCw...
{{XMLtype|Impt|
|global
|global
|Describes a weapon's primary and secondary firing mode and more, and links to its particles ([[#BINA/PAR3|PAR3]]), its 3D model ([[#M3GM|M3GM]]) and textures ([[#TXMP|TXMP]]).}}
{{XMLtype|OPge|Objective Page
|yes
|yes
|
|OPgelevel_##
|local
|local
|This is the wrapping type for the text that appears in the Objective tab of the Data Comlink. The actual text is found by following the objective page's link to an IGPA (also used by [[#TxtC|TxtC]]), which is an array of IGPGs (also used by [[#DPge|DPge]], [[#HPge|HPge]], [[#IPge|IPge]], and [[#WPge|WPge]]) which contain links to arrays of text strings (IGSA, which point to the individual strings, IGSt, which link to the font family, [[#WMDD|TSFF]]) and links to [[#TXMP|TXMPs]] for illustrations.}}
{{XMLtype|PNTA|3D Point Array
|yes
|yes
|This file is used to build up the hierarchy of impacts. See [[#BINA/ONIE|BINA/ONIE]] for more information.}}
| --
{{XMLtype|IPge|
|both
|both
|This is just a disambiguation page which points to the higher-level types that use PNTA (AKEV, M3GM), because PNTAs do not get exported as standalone files by OniSplit.}}
{{XMLtype|PSpc|Part Specification
|yes
|yes
|
|PSpc...
|both
|both
|Specifies coordinates in a certain [[#TXMP|TXMP]] which contains a collection of UI elements. The coordinates are used to cut out specific elements for use in drawing the windows in the game.}}
{{XMLtype|PSpL|Part Specification List
|yes
|yes
|Item page. If you have created a new item, you can describe it here.}}
|PSpLpartspec_list
{{XMLtype|M3GM|
|global
|global
|Links to the [[#PSpc|PSpc]] used for the plain-color background of a particular UI (the in-game UI uses black and the out-game UI uses transparency).}}
{{XMLtype|PSUI|Part Specification UI
|yes
|yes
|
|PSUIpsui_...
|global
|global
|Specifies the [[#PSpc|PSpcs]] used to paint a certain style of UI. There are only two of these files in Oni, and only PSUIpsui_oniUI is actually used.}}
{{XMLtype|SNDD|Sound Data
|yes
|yes
|Some of these 3D objects are used by OBANs and PAR3s.}}
|SNDD...
{{XMLtype|Mtrl|
|local
|global
|These are all the sounds and music tracks that Oni can play.}}
{{XMLtype|StNA|String Array
|yes
|yes
|
|StNA...
|global
|global
|StNA files are obsolete. However, on this XML page you'll find collections of flags used by [[#TRAM|TRAMs]].}}
{{XMLtype|SUBT|Subtitle Array
|yes
|yes
|This file is used to build up the hierarchy of materials. See [[XML:BINA/ONIE|BINA/ONIE]] for more information.}}
|SUBT...
{{XMLtype|OBAN|
|global
|global
|This is just here for informational purposes, because subtitle files are extracted to TXT files, not XML.}}
{{XMLtype|TRAC|Totoro Animation Collection
|yes
|yes
|
|TRAC...
|both
|global
|Used to build a hierarchy of moves ([[#TRAM|TRAMs]]) which form a weighted moveset in combination with any parent TRACs a character's TRAC inherits from.}}
{{XMLtype|TRAM|Totoro Animation Sequence
|some
|TRAM...
|both
|global
|The core 3D animation data for character moves. Exports to Collada (.dae) + XML. The XML file contains the animation's Oni-specific flags, links to particles, and so on.}}
{{XMLtype|TRAS|Totoro Aiming Screen
|yes
|yes
|Yes, used by objects but also for moving characters and cutscene cameras.}}
|TRAS...
{{XMLtype|OFGA|
|both
|global
|The pose keyframes defined here are interpolated and overlaid on characters when they aim with weapons.}}
{{XMLtype|TRBS|Totoro Body Set
|yes
|yes
|
|TRBS...
|local
|global
|The metadata for the 3D model of a character. Character classes ([[#ONCC|ONCCs]]) link to these. The 3D data can be imported/exported as Collada (.dae) files, but using the ONCC for this might be preferable so that you get all related character data in XML on the side. The structure of the body at each individual detail level is found in the linked TRCM, which links to TRGA for the geometry of each body part, to TRTA for the relative location of each body part, and to TRIA for the hierarchical relationship of the body parts.}}
{{XMLtype|TRGE|Trigger Emitter
|yes
|yes
|Used to import objects with no functions. (Door, consoles, etc. get imported by their [[#OBJC|object collections]]. See [[XML:ONLV|ONLV]] for more information.)}}
|TRGEtrigger_emitter_0
{{XMLtype|ONCC|
|global
|global
|This file links to the one 3D model ([[#M3GM|M3GM]]) used for all laser triggers. Used by [[#TRIG|TRIG]].}}
{{XMLtype|TRIG|Trigger
|some
|some
|
|TRIG...
|global
|global
|A laser trigger class.}}
{{XMLtype|TRMA|Texture Map Array
|yes
|yes
|Here a type of character (Konoko, Strikers, etc.) is assigned their weapon skill, behavior ID, vision radius, jumping height, sounds, 3D model (TRBS), animation collection (TRAC), textures (TRMA), and much more.
|TRMA...
: The XML file contains also the character's body part material (CBPM), body part impacts (CBPI), and particles for animations (ONCP and ONIA).)}}
|local
{{XMLtype|ONCV|
|global
|The list of textures used for each [[XML:TRBS#Standard_TRIA_hierarchy|body part]] of a certain character.}}
{{XMLtype|TRSC|Screen (aiming) Collection
|yes
|yes
|
|TRSC...
|both
|global
|Essentially just links to the [[#TRAS|TRAS]] (aiming screen) of a character.}}
{{XMLtype|TSFF|Font Family
|yes
|yes
|1) It's used to create a pool of characters from which an AI can be randomly spawned, in order to create a natural variance in appearance. A flag in a CHAR determines which ONCV the character falls under. 2) It can be also used to upgrade characters on the Hard difficulty level, also determined by a flag in the CHAR.)}}
|TSFFTahoma
{{XMLtype|ONGS|
|global
|global
|Oni's single font family, Tahoma, which in turn links to font language settings (TSFL) and the font data itself (TSFT, which links to TSGA for the coordinates of each letter in the TSFT data).}}
{{XMLtype|TURR|Turret
|yes
|yes
|
|TURR...
|global
|global
|A class of turret. The actual 3D geometry is in a linked [[#M3GM|M3GM]].}}
{{XMLtype|TXCA|Texture Coordinate Array
|yes
|yes
|There you can modify the game's health bar, hypo spray strength, game difficulty, autoprompts (text messages when picking up a new kind of item), etc.}}
| --
{{XMLtype|ONLD|
|both
|both
|This is just a disambiguation page which points to the higher-level types that use TXCA (AKEV, M3GM), because TXCAs do not get exported as standalone files by OniSplit.}}
{{XMLtype|TXMB|Texture Map Big
|yes
|yes
|
|TXMB...
|both
|both
|A series of [[#TXMP|TXMPs]] to join in order to display a splashscreen, like the Main Menu background and the level intro/win/loss screens.}}
{{XMLtype|TXMP|Texture Map
|yes
|yes
|The level name on the Load Game screen.}}
|TXMP...
{{XMLtype|ONLV|
|both
|global except for textures used by specific levels
|This type covers all images in Oni (except the ones larger than 256x256, which are built with [[#TXMB|TXMB]]). When a texture is animated, it will have a link to TXAN, which simply contains metadata about the animation; the actual image data is still in the TXMP.}}
{{XMLtype|TxtC|Text Console
|yes
|yes
|
|TxtClevel_...
|local
|local
|The source of the text for a given console. The actual text is found by following the link to an IGPA (also used by [[#OPge|OPge]]), which is an array of IGPG (also used by [[#DPge|DPge]], [[#HPge|HPge]], [[#IPge|IPge]], and [[#WPge|WPge]]) that contains the actual text.}}
{{XMLtype|WMCL|Window Manager Cursor List
|yes
|yes
|Holds among other things: the name of the BSL folder with the scripts for this level, and links to the AKEV, ONSK, and AISA.}}
|WMCLcursor_list
{{XMLtype|ONSK|
|global
|global
|Simply links to the [[#PSpc|PSpc]] which links to the image used for the mouse pointer that appears in Oni.}}
{{XMLtype|WMDD|Window Manager Dialog Data
|yes
|yes
|
|WMDD...
|global
|global
|Describes the layout of UI screens like the Main Menu. Uses [[#WMM|WMM_]] for pop-up menus, and links to the desired font family (TSFF, also used by [[#OPge|IGPG]]). Because Oni's UI is partially hardcoded, adding new buttons would require engine modding.}}
{{XMLtype|WMM|Window Manager Menu
|yes
|yes
|It's essentially a box of textures that sits on the level, so you will need five images for the top, north, east, south and west. The bottom has no image.}}
|WMM...
{{XMLtype|ONVL|
|global
|global
|Dropdown menus used in [[#WMDD|WMDDs]]. Most of the WMM_s and the sole WMMB in Oni (a menu bar that uses WMM_ for its menus) are development relics.|display=WMM_}}
{{XMLtype|position=bottom|WPge|Weapon Page
|yes
|yes
|
|WPgew...
|global
|global
|This is the source for the text and images that appear in the Weapons tab of the Data Comlink. The actual text and image is found in a linked IGPG (see [[#OPge|OPge]] for more info; also used by [[#DPge|DPge]], [[#HPge|HPge]], and [[#WPge|WPge]]).}}
|}
 
==BINA==
{|width="100%" style="background-color:#F9F9F9; border:1px solid #AAA"
!width="10px" align="left" style="background-color:#EEEEEE"|Tag
!align="left" style="background-color:#EEEEEE"|[[Image:Aqua Dot-Grey.png]]
!width="250px" align="left" style="background-color:#EEEEEE"|Name
!width="200px" align="left" style="background-color:#EEEEEE"|File name(s)
!width="125px" align="left" style="background-color:#EEEEEE"|Location (vanilla)
!align="left" style="background-color:#EEEEEE"|Location (AE)
{{XMLtype|BINA/ONIE|ImpactEffects
|some
|BINAEINOimpact_effects
|global
|global
|A list of all impact effects which can happen in the game; this includes weapon particles, hand-to-hand combat, and footsteps. The impact effect is selected according the type of impact ([[#Impt|Impt]]) and the material ([[#Mtrl|Mtrl]]) which is hit.}}
{{XMLtype|BINA/PAR3|Particles
|some
|BINA3RAP...
|global
|global
|A type of particle which can be spawned in the game, used by weapons to deal damage, used for lens flares, etc. The list of the specific particles spawned in a certain level is a [[#BINA/OBJC/PART|PART]].}}
{{XMLtype|BINA/SABD|SoundAnims
|some
|BINADBAS...
|global
|global
|A list of the sounds to be played for an animation type. There is one of these for each character variant ([[#ONCV|ONCV]]).}}
{{XMLtype|position=bottom|BINA/TMBD|TextureMaterials
|yes
|yes
|It's used to randomize characters' appearances.}}
|BINADBMTTextureMaterials
{{XMLtype|ONWC|
|global
|global
|A list of the materials ([[#Mtrl|Mtrl]]) assigned to each texture map ([[#TXMP|TXMP]]). Used by [[#BINA/ONIE|ONIE]].}}
|}
 
==BINA/OBJC==
{|width="100%" style="background-color:#F9F9F9; border:1px solid #AAA"
!width="10px" align="left" style="background-color:#EEEEEE"|Tag
!align="left" style="background-color:#EEEEEE"|[[Image:Aqua Dot-Grey.png]]
!width="250px" align="left" style="background-color:#EEEEEE"|Name
!width="200px" align="left" style="background-color:#EEEEEE"|File name(s)
!width="125px" align="left" style="background-color:#EEEEEE"|Location (vanilla)
!align="left" style="background-color:#EEEEEE"|Location (AE)
{{XMLtype|BINA/OBJC/CHAR|Character
|some
|BINACJBOCharacter
|local
|local
|List of characters in a specific level, containing their position, script function names, weapon, ammunition, items, team, melee ID, etc.}}
{{XMLtype|BINA/OBJC/CMBT|Combat
|some
|BINACJBOCombat
|global
|global
|List of combat profiles for global use, containing conditions that govern the AI's melee, weapon combat, and retreat behavior, based on factors like distance and the enemy's reactions.}}
{{XMLtype|BINA/OBJC/CONS|Console
|yes
|yes
|
|BINACJBOConsole
|local
|local
|List of consoles in a specific level, containing their position, script name (ID), screen images, and script function names. Consoles are used to open doors, trigger alarms, or provide information.}}
{{XMLtype|BINA/OBJC/DOOR|Door
|yes
|yes
|Describes the primary and secondary fire mode and more, and links to PAR3, a 3D model, and textures (TXMP).}}
|BINACJBODoor
{{XMLtype|OPge|
|local
|local
|List of doors in a specific level, containing their conditions for when a door opens (e.g., is the action key required?), and what events are triggered when the door is opened.}}
{{XMLtype|BINA/OBJC/FLAG|Flag
|yes
|yes
|
|BINACJBOFlag
|local
|local
|List of flags in a specific level, containing their position. Flags are used by level scripts and patrol paths.}}
{{XMLtype|BINA/OBJC/FURN|Furniture
|yes
|yes
|This is the source of the text that appears in the Objective tab of the Pause screen.}}
|BINACJBOFurniture
{{XMLtype|OSBD|
|local
|yes
|local
|
|List of pieces of furniture in a specific level. This file type can be used to import level objects.}}
|yes
{{XMLtype|BINA/OBJC/MELE|Melee Profile
|They determine how sounds (SNDD) get played.}}
{{XMLtype|PSpc|
|yes
|
|yes
|Oni can decorate a page (OPge, TxtC, maybe others) with images from one source. PSpc specifies the coordinates of these parts.}}
{{XMLtype|PSpL|
|yes
|
|yes
|Part specification list.}}
{{XMLtype|PSUI|
|no
|
|yes
|Part Specifications UI (User Interface).}}
{{XMLtype|StNA|
|yes
|
|yes
|StNA files are obsolete. However, on its page you'll find collections of flags used by TRAM.}}
{{XMLtype|SUBT|
|yes
|
|yes
|This is just here for informational purposes, because SUBTs are not extracted as to .xml files, but rather to .txt.}}
{{XMLtype|TRAC|
|yes
|
|yes
|Totoro Animation collection. Used to build a hierarchy of moves (TRAM) which form a weighted moveset, based on which parent TRAC(s) a character's TRAC inherits from.}}
{{XMLtype|TRAM|
|some
|some
|
|BINACJBOMelee Profile
|global
|global
|List of melee profiles for global use. A melee profile contains a simple program that determines how the AI uses its combat moves.}}
{{XMLtype|BINA/OBJC/NEUT|Neutral
|yes
|yes
|You can create new animations with Mod Tool. But for setting Oni-specific flags, links to particles, and so on, you need to edit the XML file afterwards, or create a precursor XML beforehand.}}
|BINACJBONeutral
{{XMLtype|TRAS|
|local
|no
|local
|
|List of neutral character behaviors in a specific level. Every character has a melee, combat and neutral behavior ID. It determines whether a non-player character (NPC) talks to you and whether they give you a power-up.}}
{{XMLtype|BINA/OBJC/PART|Particle
|yes
|yes
|Used for make characters aim with weapons.}}
|BINACJBOParticle
{{XMLtype|TRBS|
|local
|local
|List of particles in a specific level, containing their position, script name and scaling.}}
{{XMLtype|BINA/OBJC/PATR|Patrol Path
|yes
|yes
|
|BINACJBOPatrol Path
|local
|local
|List of patrol paths in a specific level, containing an ID which is used by [[#BINA/OBJC/CHAR|CHAR]] and the scripting command "ai2_dopath".}}
{{XMLtype|BINA/OBJC/PWRU|PowerUp
|yes
|yes
|Totoro Body Set, in other words the 3D model of a character. Character classes (ONCC) link to TRBS. The 3D data itself will be exported/imported as Collada (.dae) files.}}
|BINACJBOPowerUp
{{XMLtype|TRGE|
|local
|local
|List of power-ups (such as ammo, force shields and hypo sprays) in a specific level which are spawned at level load, containing their position.}}
{{XMLtype|BINA/OBJC/SNDG|Sound
|yes
|yes
|
|BINACJBOSound
|local
|local
|List of sound groups in a specific level. Sound groups are the invisible spheres which contain ambient sounds. If you get close to a machine and you hear a sound, that's because of a sound group.}}
{{XMLtype|BINA/OBJC/TRGV|Trigger Volume
|yes
|yes
|This file type holds the 3D model for a laser trigger and its coordinates. Used by TRIG.}}
|BINACJBOTrigger Volume
{{XMLtype|TRIG|
|local
|local
|List of trigger volumes in a specific level. They are invisible areas which trigger functions in a script when entered.}}
{{XMLtype|BINA/OBJC/TRIG|Trigger
|yes
|yes
|
|BINAJCBOTrigger
|local
|local
|List of laser triggers in a specific level. There are several forms of triggers, and they can trigger not only turrets ([[#TURR|TURR]]), but also script functions in the level.}}
{{XMLtype|BINA/OBJC/TURR|Turret
|yes
|yes
|(Laser) Trigger class.}}
|BINACJBOTurret
{{XMLtype|TRMA|
|local
|local
|List of turrets in a specific level. Note that their pods are part of the level geometry. Spawn one manually and it might be located somewhere in the air. Determines their head's position, the weapon inside the turret head, and the team ID to target.}}
{{XMLtype|position=bottom|BINA/OBJC/WEAP|Weapon
|yes
|yes
|
|BINACJBOWeapon
|yes
|local
|Texture Map Array. Every [[XML:TRIA#Bones|body part]] of a character is covered by a texture. This file type holds the links to those textures.}}
|local
{{XMLtype|TRSC|
|List of weapons in a specific level, determining their spawn location at level load.}}
|no
|
|yes
|Used for make characters aim with weapons.}}
{{XMLtype|TXMB|
|yes
|
|yes
|A series of concatenated TXMPs, used for creating splash screens, like the Main Menu background and level intro/win/loss screens.}}
{{XMLtype|TXMP|
|yes
|
|yes
|Well, this type covers all images in Oni (except the ones larger than 256x256, which are TXMB).}}
{{XMLtype|TxtC|
|yes
|
|yes
|Text (Console).}}
{{XMLtype|WMCL|
|yes
|
|yes
|Mouse pointer(s).}}
{{XMLtype|WMDD|
|yes
|
|yes
|It shapes pages like TxtC and WPge. However, new button functions would require engine modding.}}
{{XMLtype|WMM|
|yes
|
|yes
|Window Manager Menu.}}
{{XMLtype|WPge|
|yes
|
|yes
|This is the source for the text and images that appear in the Weapons tab of the pause screen.}}
|}
|}


[[Category:XML data docs]]
[[Category:XML data docs]]

Latest revision as of 16:26, 11 February 2024

See Introduction to modding if you are new to modding.
Click to return to the main XML page.

Following is an overview of each of the 65 significant data types (45 basic, 16 OBJC, and 4 BINA) and 43 sub-types that they rely on.

Legend
Documentation status:
Aqua Dot-Green.png Available
Aqua Dot-Yellow.png Incomplete
Aqua Dot-Red.png Unavailable, see OBD docs
if you wish to mod the file type
Location:
vanilla: An un-modded retail copy of Oni
AE: The AE reorganizes some data
global: File(s) found in level0_Final
local: File(s) may be in level[1-19]_Final
both: File(s) may be in either place
Jump Table

A-BABNA, AGQC,
AGQG, AGQR,
AISA, AKAA,
AKBA, AKBP,
AKEV, AKOT,
AKVA, BINA

C-ECBPI, CBPM,
CHAR, CMBT,
CONS, CONS (OBJC),
CRSA, DOOR,
DOOR (OBJC), DPge,
ENVP

F-KFILM, FLAG,
FURN, HPge,
IDXA, IGHH,
IGPA, IGPG,
IGSA, IGSt,
Impt, IPge, KeyI

M-NM3GA, M3GM,
MELE, Mtrl, NEUT

OOBAN, OBJC,
OBOA, OFGA,
ONCC, ONCP,
ONCV, ONGS,
ONIA, ONIE,
ONLD, ONLV,
ONOA, ONSK,
ONVL, ONWC,
OPge, OSBD,
OTIT, OTLF

P-SPAR3, PART,
PATR, PLEA,
PNTA, PSpc,
PSpL, PSUI,
PWRU, QTNA,
SABD, SNDD,
SNDG, StNA, SUBT

TTMBD, TRAC,
TRAM, TRAS,
TRBS, TRCM,
TRGA, TRGE,
TRGV, TRIA,
TRIG, TRIG (OBJC),
TRMA, TRSC,
TRTA, TSFF,
TSFL, TSFT,
TSGA, TURR,
TURR (OBJC), TXAN,
TXCA, TXMA,
TXMB, TXMP, TxtC

V-WVCRA, WEAP,
WMCL, WMDD,
WMM_, WMMB, WPge

Tag Aqua Dot-Grey.png Name File name(s) Location (vanilla) Location (AE)
AISA Aqua Dot-Green.png AI Character Setup Array

AISAlevel##_scripts local local
This file type was probably in the process of being replaced by CHAR when Oni shipped, but it is still used for a few cutscene characters.
AKEV Aqua Dot-Yellow.png Akira Environment

AKEV... local local
It's the 3D level model. Many subtypes are used for the actual 3D data -- ABNA, AGDB, AGQG, AGQC, AGQR, AKAA, AKBA, AKBP, AKDA, AKOT (which in turn uses OTIT, OTLF, and QTNA), AKVA, IDXA, PLEA, PNTA, TXCA, and TXMA; these types do not have separate XML documentation because they export as a part of AKEV. Some of these types are also used by M3GM. AKEV exports as a Collada (.dae) file, meant to be edited in a 3D modeler like Blender.
CONS Aqua Dot-Yellow.png Console

CONSconsole... global global
There are only three of these models for the consoles used in all of Oni, as documented in Data console, though the picture (TXMP) displayed on a specific console varies.
DOOR Aqua Dot-Green.png Door

DOOR... global global
There are 48 types of doors, defined globally for use in the levels.
DPge Aqua Dot-Green.png Diary Page

DPgelev_##_pg_## global global
As seen in the Diary tab of the Data Comlink. The actual text is in a linked IGPG (see OPge for more info; also used by HPge, IPge, and WPge). The diary page is used for both diary-style entries and move pages, which are both unlocked when reaching the level number contained in this data. When being used as a move page, the sequence of actions that produce the move can be conveyed with the use of icons (TXMPs provided by KeyI), however this functionality is unused in Oni's existing data.
FILM Aqua Dot-Green.png Film

FILM... local local
A record of a character's movements, created by a developer recording his gameplay, and played back in cutscenes to make an AI perform complex actions. During playback, AIs have no AI. ^_^
HPge Aqua Dot-Green.png Help Page

HPgehelp_pg_01 global global
The Help tab of the Data Comlink labels the in-game UI and reminds the player of the controls (but only the default bindings, regardless of what the player is actually using...). The actual text is in a linked IGPG (also used by DPge, OPge, IPge, and WPge).
IDXA Aqua Dot-Green.png Index Array

-- both both
This is just a disambiguation page which points to the higher-level types that use IDXA (AKEV, ONLV, M3GM), because IDXAs do not get exported as standalone files by OniSplit.
IGHH Aqua Dot-Green.png IGUI HUD Help

IGHHhud_help_info global global
The Help tab of the Data Comlink labels the in-game UI using the text found here and the overlay textures it links to. (IGUI is "In-Game User Interface".)
IGPA Aqua Dot-Green.png IGUI Page Array

-- both both
This is just a disambiguation page which points to the higher-level types that use IGPA (DPge, HPge, IPge, OPge, WPge, TxtC), because IGPAs do not get exported as standalone files by OniSplit.
IGPG Aqua Dot-Green.png IGUI Page

-- both both
This is just a disambiguation page which points to the higher-level types that use IGPG (DPge, HPge, IPge, OPge, WPge, TxtC), because IGPGs do not get exported as standalone files by OniSplit.
IGSA Aqua Dot-Green.png IGUI String Array

-- both both
This is just a disambiguation page which points to the higher-level types that use IGSA (DPge, HPge, IPge, OPge, WPge, TxtC), because IGSAs do not get exported as standalone files by OniSplit.
IGSt Aqua Dot-Green.png IGUI String

-- both both
This is just a disambiguation page which points to the higher-level types that use IGSt (DPge, HPge, IPge, OPge, WPge, TxtC), because IGSts do not get exported as standalone files by OniSplit.
Impt Aqua Dot-Green.png Impact

Impt... global global
This file is used to build up a hierarchy of impacts. See BINA/ONIE for more information.
IPge Aqua Dot-Green.png Item Page

IPge... local local
As items are picked up, their Item Pages are displayed on the Items tab of the Data Comlink. The actual text and image is found in a linked IGPG (see OPge for more info; also used by DPge, HPge, and WPge).
M3GM Aqua Dot-Green.png Geometry

M3GM... both both (more are global)
A basic unit of 3D geometry used by anything that can have a physical shape, such as character models (TRBS), consoles (CONS), animated objects (OBAN) and particles (PAR3). The building blocks of the geometry are the types IDXA, PNTA, TXCA and VCRA (these are all exported under M3GM so do not have separate XML documentation), and the texture is provided by TXMP.
Mtrl Aqua Dot-Green.png Material

Mtrl... global global
These files are used to build up a hierarchy of materials. See BINA/ONIE for more information.
OBAN Aqua Dot-Green.png Object Animation

OBAN... both both
Yes, this is used to animate objects, but also characters and cutscene cameras. Uses OBOA (also used by ONLV) to store the physics settings, and the OBOA in turn uses an M3GA, which is an array of M3GMs, to store the actual geometry.
OFGA Aqua Dot-Green.png Object Furniture Geometry Array

OFGA... N/A N/A
Used to import objects with no functions. (Doors, consoles, etc. get imported as object lists. See XML:ONLV for more information.)
ONCC Aqua Dot-Green.png Oni Character Class

ONCC... local global
This is where a class of character (Konoko, Striker, etc.) is assigned its weapon skill, behavior ID, vision radius, jumping height, sounds, 3D model (TRBS), animation collection (TRAC), textures (TRMA), and much more. The XML file contains also the character's body part material (CBPM), body part impacts (CBPI), and particles for animations (ONCP and ONIA), so these types are also documented on this page.
ONCV Aqua Dot-Green.png Oni Character Variant

ONCV... global global
Used to create a pool of characters from which an AI can be randomly spawned, in order to create a natural variation in appearance. A flag in a CHAR determines which variant the character falls under. It can be also used to upgrade characters on the Hard difficulty level, also determined by a flag in the CHAR.
ONGS Aqua Dot-Green.png Oni Game Settings

ONGSgame_settings global global
Here you can modify the game's health bar, hypo spray strength, game difficulty, autoprompts (text messages when picking up a new kind of item), etc.
ONLD Aqua Dot-Green.png Oni Game Level Descriptor

ONLDlevel_## global global
Contains a level's number, the number of the next level, and the level's name as it appears on the Load Game screen.
ONLV Aqua Dot-Green.png Oni Game Level

ONLV... local local
The top of the hierarchy when it comes to level data. Holds the name of the BSL folder with the scripts for this level, links to the environmental model (AKEV), animated objects (OBOA), skybox (ONSK) and AIs to spawn (well, the ones in AISA; the ones in CHAR need no link from here), and more. These type links as well as the corpse array (CRSA), environmental particles (ENVP), and gunk data (ONOA, which uses IDXA) will be exported together in XML. ONLV also links to six obsolete types which will not be exported: AITR, OBDC, ONFA, ONMA, ONSA and ONTA.
ONSK Aqua Dot-Green.png Oni Sky Class

ONSK... local global
It's essentially a box of textures that surrounds the level, so you will need five images for the top, north, east, south and west. The bottom has no image.
ONVL Aqua Dot-Green.png Oni Variant List

ONVLvariant_list global global
It's used to randomize characters' appearances in conjunction with ONCV.
ONWC Aqua Dot-Green.png Oni Weapon Class

ONWCw... global global
Describes a weapon's primary and secondary firing mode and more, and links to its particles (PAR3), its 3D model (M3GM) and textures (TXMP).
OPge Aqua Dot-Green.png Objective Page

OPgelevel_## local local
This is the wrapping type for the text that appears in the Objective tab of the Data Comlink. The actual text is found by following the objective page's link to an IGPA (also used by TxtC), which is an array of IGPGs (also used by DPge, HPge, IPge, and WPge) which contain links to arrays of text strings (IGSA, which point to the individual strings, IGSt, which link to the font family, TSFF) and links to TXMPs for illustrations.
PNTA Aqua Dot-Green.png 3D Point Array

-- both both
This is just a disambiguation page which points to the higher-level types that use PNTA (AKEV, M3GM), because PNTAs do not get exported as standalone files by OniSplit.
PSpc Aqua Dot-Green.png Part Specification

PSpc... both both
Specifies coordinates in a certain TXMP which contains a collection of UI elements. The coordinates are used to cut out specific elements for use in drawing the windows in the game.
PSpL Aqua Dot-Green.png Part Specification List

PSpLpartspec_list global global
Links to the PSpc used for the plain-color background of a particular UI (the in-game UI uses black and the out-game UI uses transparency).
PSUI Aqua Dot-Green.png Part Specification UI

PSUIpsui_... global global
Specifies the PSpcs used to paint a certain style of UI. There are only two of these files in Oni, and only PSUIpsui_oniUI is actually used.
SNDD Aqua Dot-Green.png Sound Data

SNDD... local global
These are all the sounds and music tracks that Oni can play.
StNA Aqua Dot-Green.png String Array

StNA... global global
StNA files are obsolete. However, on this XML page you'll find collections of flags used by TRAMs.
SUBT Aqua Dot-Green.png Subtitle Array

SUBT... global global
This is just here for informational purposes, because subtitle files are extracted to TXT files, not XML.
TRAC Aqua Dot-Green.png Totoro Animation Collection

TRAC... both global
Used to build a hierarchy of moves (TRAMs) which form a weighted moveset in combination with any parent TRACs a character's TRAC inherits from.
TRAM Aqua Dot-Yellow.png Totoro Animation Sequence

TRAM... both global
The core 3D animation data for character moves. Exports to Collada (.dae) + XML. The XML file contains the animation's Oni-specific flags, links to particles, and so on.
TRAS Aqua Dot-Green.png Totoro Aiming Screen

TRAS... both global
The pose keyframes defined here are interpolated and overlaid on characters when they aim with weapons.
TRBS Aqua Dot-Green.png Totoro Body Set

TRBS... local global
The metadata for the 3D model of a character. Character classes (ONCCs) link to these. The 3D data can be imported/exported as Collada (.dae) files, but using the ONCC for this might be preferable so that you get all related character data in XML on the side. The structure of the body at each individual detail level is found in the linked TRCM, which links to TRGA for the geometry of each body part, to TRTA for the relative location of each body part, and to TRIA for the hierarchical relationship of the body parts.
TRGE Aqua Dot-Green.png Trigger Emitter

TRGEtrigger_emitter_0 global global
This file links to the one 3D model (M3GM) used for all laser triggers. Used by TRIG.
TRIG Aqua Dot-Yellow.png Trigger

TRIG... global global
A laser trigger class.
TRMA Aqua Dot-Green.png Texture Map Array

TRMA... local global
The list of textures used for each body part of a certain character.
TRSC Aqua Dot-Green.png Screen (aiming) Collection

TRSC... both global
Essentially just links to the TRAS (aiming screen) of a character.
TSFF Aqua Dot-Green.png Font Family

TSFFTahoma global global
Oni's single font family, Tahoma, which in turn links to font language settings (TSFL) and the font data itself (TSFT, which links to TSGA for the coordinates of each letter in the TSFT data).
TURR Aqua Dot-Green.png Turret

TURR... global global
A class of turret. The actual 3D geometry is in a linked M3GM.
TXCA Aqua Dot-Green.png Texture Coordinate Array

-- both both
This is just a disambiguation page which points to the higher-level types that use TXCA (AKEV, M3GM), because TXCAs do not get exported as standalone files by OniSplit.
TXMB Aqua Dot-Green.png Texture Map Big

TXMB... both both
A series of TXMPs to join in order to display a splashscreen, like the Main Menu background and the level intro/win/loss screens.
TXMP Aqua Dot-Green.png Texture Map

TXMP... both global except for textures used by specific levels
This type covers all images in Oni (except the ones larger than 256x256, which are built with TXMB). When a texture is animated, it will have a link to TXAN, which simply contains metadata about the animation; the actual image data is still in the TXMP.
TxtC Aqua Dot-Green.png Text Console

TxtClevel_... local local
The source of the text for a given console. The actual text is found by following the link to an IGPA (also used by OPge), which is an array of IGPG (also used by DPge, HPge, IPge, and WPge) that contains the actual text.
WMCL Aqua Dot-Green.png Window Manager Cursor List

WMCLcursor_list global global
Simply links to the PSpc which links to the image used for the mouse pointer that appears in Oni.
WMDD Aqua Dot-Green.png Window Manager Dialog Data

WMDD... global global
Describes the layout of UI screens like the Main Menu. Uses WMM_ for pop-up menus, and links to the desired font family (TSFF, also used by IGPG). Because Oni's UI is partially hardcoded, adding new buttons would require engine modding.
WMM_ Aqua Dot-Green.png Window Manager Menu

WMM... global global
Dropdown menus used in WMDDs. Most of the WMM_s and the sole WMMB in Oni (a menu bar that uses WMM_ for its menus) are development relics.
WPge Aqua Dot-Green.png Weapon Page

WPgew... global global
This is the source for the text and images that appear in the Weapons tab of the Data Comlink. The actual text and image is found in a linked IGPG (see OPge for more info; also used by DPge, HPge, and WPge).

BINA

Tag Aqua Dot-Grey.png Name File name(s) Location (vanilla) Location (AE)
BINA/ONIE Aqua Dot-Yellow.png ImpactEffects

BINAEINOimpact_effects global global
A list of all impact effects which can happen in the game; this includes weapon particles, hand-to-hand combat, and footsteps. The impact effect is selected according the type of impact (Impt) and the material (Mtrl) which is hit.
BINA/PAR3 Aqua Dot-Yellow.png Particles

BINA3RAP... global global
A type of particle which can be spawned in the game, used by weapons to deal damage, used for lens flares, etc. The list of the specific particles spawned in a certain level is a PART.
BINA/SABD Aqua Dot-Yellow.png SoundAnims

BINADBAS... global global
A list of the sounds to be played for an animation type. There is one of these for each character variant (ONCV).
BINA/TMBD Aqua Dot-Green.png TextureMaterials

BINADBMTTextureMaterials global global
A list of the materials (Mtrl) assigned to each texture map (TXMP). Used by ONIE.

BINA/OBJC

Tag Aqua Dot-Grey.png Name File name(s) Location (vanilla) Location (AE)
BINA/OBJC/CHAR Aqua Dot-Yellow.png Character

BINACJBOCharacter local local
List of characters in a specific level, containing their position, script function names, weapon, ammunition, items, team, melee ID, etc.
BINA/OBJC/CMBT Aqua Dot-Yellow.png Combat

BINACJBOCombat global global
List of combat profiles for global use, containing conditions that govern the AI's melee, weapon combat, and retreat behavior, based on factors like distance and the enemy's reactions.
BINA/OBJC/CONS Aqua Dot-Green.png Console

BINACJBOConsole local local
List of consoles in a specific level, containing their position, script name (ID), screen images, and script function names. Consoles are used to open doors, trigger alarms, or provide information.
BINA/OBJC/DOOR Aqua Dot-Green.png Door

BINACJBODoor local local
List of doors in a specific level, containing their conditions for when a door opens (e.g., is the action key required?), and what events are triggered when the door is opened.
BINA/OBJC/FLAG Aqua Dot-Green.png Flag

BINACJBOFlag local local
List of flags in a specific level, containing their position. Flags are used by level scripts and patrol paths.
BINA/OBJC/FURN Aqua Dot-Green.png Furniture

BINACJBOFurniture local local
List of pieces of furniture in a specific level. This file type can be used to import level objects.
BINA/OBJC/MELE Aqua Dot-Yellow.png Melee Profile

BINACJBOMelee Profile global global
List of melee profiles for global use. A melee profile contains a simple program that determines how the AI uses its combat moves.
BINA/OBJC/NEUT Aqua Dot-Green.png Neutral

BINACJBONeutral local local
List of neutral character behaviors in a specific level. Every character has a melee, combat and neutral behavior ID. It determines whether a non-player character (NPC) talks to you and whether they give you a power-up.
BINA/OBJC/PART Aqua Dot-Green.png Particle

BINACJBOParticle local local
List of particles in a specific level, containing their position, script name and scaling.
BINA/OBJC/PATR Aqua Dot-Green.png Patrol Path

BINACJBOPatrol Path local local
List of patrol paths in a specific level, containing an ID which is used by CHAR and the scripting command "ai2_dopath".
BINA/OBJC/PWRU Aqua Dot-Green.png PowerUp

BINACJBOPowerUp local local
List of power-ups (such as ammo, force shields and hypo sprays) in a specific level which are spawned at level load, containing their position.
BINA/OBJC/SNDG Aqua Dot-Green.png Sound

BINACJBOSound local local
List of sound groups in a specific level. Sound groups are the invisible spheres which contain ambient sounds. If you get close to a machine and you hear a sound, that's because of a sound group.
BINA/OBJC/TRGV Aqua Dot-Green.png Trigger Volume

BINACJBOTrigger Volume local local
List of trigger volumes in a specific level. They are invisible areas which trigger functions in a script when entered.
BINA/OBJC/TRIG Aqua Dot-Green.png Trigger

BINAJCBOTrigger local local
List of laser triggers in a specific level. There are several forms of triggers, and they can trigger not only turrets (TURR), but also script functions in the level.
BINA/OBJC/TURR Aqua Dot-Green.png Turret

BINACJBOTurret local local
List of turrets in a specific level. Note that their pods are part of the level geometry. Spawn one manually and it might be located somewhere in the air. Determines their head's position, the weapon inside the turret head, and the team ID to target.
BINA/OBJC/WEAP Aqua Dot-Green.png Weapon

BINACJBOWeapon local local
List of weapons in a specific level, determining their spawn location at level load.