XML:File types: Difference between revisions

From OniGalore
Jump to navigation Jump to search
m (Updating the status of a few types. PS: Thanks for the on-going grammar checks.)
(first pass at a rewrite, more later)
Line 1: Line 1:
[[Image:XML.png|right]]
[[Image:XML.png|right]]
Following is an overview of each data type's function, and whether it has XML-based documentation available.
:''See [[Modding Oni]] for an introduction to modding.''
:''See [[XML]] for an introduction to XML modding.''
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:
Documentation status:
Line 10: Line 12:
{|class="wikitable" width="100%"
{|class="wikitable" width="100%"
|'''BINA/[[XML:BINA/ONIE|ONIE]]''' [[Image:Aqua Dot-Yellow.png]]
|'''BINA/[[XML:BINA/ONIE|ONIE]]''' [[Image:Aqua Dot-Yellow.png]]
: ONIE is a list of all impacts effects which can happen in the game. That includes weapon particle, hand-to-hand combat and movements. The impact effects depends on source type and the material which is hit.
: Oni Impact Effects. 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) and the material (Mtrl) which is hit.
|-
|-
|'''BINA/[[XML:BINA/PAR3#XML_section|PAR3]]''' [[Image:Aqua Dot-Yellow.png]]
|'''BINA/[[XML:BINA/PAR3#XML_section|PAR3]]''' [[Image:Aqua Dot-Yellow.png]]
: Particle (format version 3), also known as 3RAP and PART files. Particle are used as weapon's damage doer, decals and light effects.
: Particle class (the "3" referring to the Particle subsystem's version number). 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.
|-
|-
|'''BINA/[[XML:BINA/SABD|SABD]]''' [[Image:Aqua Dot-Yellow.png]]
|'''BINA/[[XML:BINA/SABD|SABD]]''' [[Image:Aqua Dot-Yellow.png]]
: Sound Animations Binary Data.
: Sound Animation Binary Data. 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.
|-
|-
|'''BINA/[[XML:BINA/TMBD|TMBD]]''' [[Image:Aqua Dot-Green.png]]
|'''BINA/[[XML:BINA/TMBD|TMBD]]''' [[Image:Aqua Dot-Green.png]]
: TMBD is a list of all materials in the game which groups texture map under them. That way environment gets materials which are used by ONIE.
: Texture Materials Binary Data. A list of the material (Mtrl) for each texture map (TXMP). Used by ONIE.
|}
|}


==OBJC==
==OBJC==
{|class="wikitable" width="100%"
{|class="wikitable" width="100%"
|'''BINA/OBCJ/[[XML:BINA/OBJC/CHAR|CHAR]]''' [[Image:Aqua Dot-Yellow.png]] {{Anchor|goto_CHAR}}
|'''BINA/OBJC/[[XML:BINA/OBJC/CHAR|CHAR]]''' [[Image:Aqua Dot-Yellow.png]] {{Anchor|goto_CHAR}}
: List of characters in a specific level. There you can setup their position, script name, weapon, ammunition, items, team, combat, melee id, etc..
: List of characters in a specific level, containing their position, script function names, weapon, ammunition, items, team, combat, melee ID, etc.
|-
|-
|'''BINA/OBCJ/[[XML:BINA/OBJC/CMBT|CMBT]]''' [[Image:Aqua Dot-Yellow.png]]
|'''BINA/OBJC/[[XML:BINA/OBJC/CMBT|CMBT]]''' [[Image:Aqua Dot-Yellow.png]]
: List of combat profiles for global use. There you can set AI's conditions for hand-to-hand, weapon combat, and retreat - in dependence of distances and enemy's counterattack.
: 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/OBCJ/[[XML:BINA/OBJC/CONS|CONS]]''' [[Image:Aqua Dot-Green.png]]
|'''BINA/OBJC/[[XML:BINA/OBJC/CONS|CONS]]''' [[Image:Aqua Dot-Green.png]]
: List of consoles in a specific level. There you can setup their position, script name (Id), screen images, and script functions. Basically they are used to open doors.
: 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/OBCJ/[[XML:BINA/OBJC/DOOR|DOOR]]''' [[Image:Aqua Dot-Green.png]]
|'''BINA/OBJC/[[XML:BINA/OBJC/DOOR|DOOR]]''' [[Image:Aqua Dot-Green.png]]
: List of doors in a specific level. There you write conditions when a door opens (or not), and what events are triggered by a character who passes/comes near the door.
: 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.
|-
|-
|'''BINA/OBCJ/[[XML:BINA/OBJC/FLAG|FLAG]]''' [[Image:Aqua Dot-Green.png]]
|'''BINA/OBJC/[[XML:BINA/OBJC/FLAG|FLAG]]''' [[Image:Aqua Dot-Green.png]]
: List of flags in a specific level. There you can setup their position. They are used by script commands and patrol paths.
: List of flags in a specific level, containing their position. Flags are used by level scripts and patrol paths.
|-
|-
|'''BINA/OBCJ/[[XML:BINA/OBJC/FURN|FURN]]''' [[Image:Aqua Dot-Green.png]]
|'''BINA/OBJC/[[XML:BINA/OBJC/FURN|FURN]]''' [[Image:Aqua Dot-Green.png]]
: List of furniture in a specific level. This file type can be useful to import level objects.
: List of pieces of furniture in a specific level. This file type can be used to import level objects.
|-
|-
|'''BINA/OBCJ/[[XML:BINA/OBJC/MELE|MELE]]''' [[Image:Aqua Dot-Yellow.png]]
|'''BINA/OBJC/[[XML:BINA/OBJC/MELE|MELE]]''' [[Image:Aqua Dot-Yellow.png]]
: List of melee profiles for global use. It means how the AI use it's combat moves.
: List of melee profiles for global use. A melee profile contains a simple program that determines how the AI uses its combat moves.
|-
|-
|'''BINA/OBCJ/[[XML:BINA/OBJC/NEUT|NEUT]]''' [[Image:Aqua Dot-Green.png]]
|'''BINA/OBJC/[[XML:BINA/OBJC/NEUT|NEUT]]''' [[Image:Aqua Dot-Green.png]]
: List of neutral behaviors in a specific level. Every character has melee, combat and netral behavior Id. It determines whether a non-player character (NPC) talks to you or not, this includes also rewards you could get from such characters.
: 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/OBCJ/[[XML:BINA/OBJC/PART|PART]]''' [[Image:Aqua Dot-Green.png]]
|'''BINA/OBJC/[[XML:BINA/OBJC/PART|PART]]''' [[Image:Aqua Dot-Green.png]]
: List of particle in a specific level. There you can setup their position, script name and scaling.
: List of particles in a specific level, containing their position, script name and scaling.
|-
|-
|'''BINA/OBCJ/[[XML:BINA/OBJC/PATR|PATR]]''' [[Image:Aqua Dot-Green.png]]
|'''BINA/OBJC/[[XML:BINA/OBJC/PATR|PATR]]''' [[Image:Aqua Dot-Green.png]]
: List of patrol paths in a specific level. A patrol path has an Id which is used by CHAR and script command "ai2_dopath".
: List of patrol paths in a specific level, containing an ID which is used by CHAR and the scripting command "ai2_dopath".
|-
|-
|'''BINA/OBCJ/[[XML:BINA/OBJC/PWRU|PWRU]]''' [[Image:Aqua Dot-Green.png]]
|'''BINA/OBJC/[[XML:BINA/OBJC/PWRU|PWRU]]''' [[Image:Aqua Dot-Green.png]]
: List of powerups (items, e.g. hyposprays) in a specific level which are spawned at level load. There you can setup their position.
: List of power-ups (items, e.g. hypo sprays) in a specific level which are spawned at level load, containing their position.
|-
|-
|'''BINA/OBCJ/[[XML:SNDD#BINACJBOSound.xml|SNDG]]''' [[Image:Aqua Dot-Yellow.png]]
|'''BINA/OBJC/[[XML:SNDD#BINACJBOSound.xml|SNDG]]''' [[Image:Aqua Dot-Yellow.png]]
: List of sound "groups" (spheres) in a specific level. It used to create sound spheres. Come near a machine and you might hear a sound, that's because of SNDG.
: 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.
|-
|-
|'''BINA/OBCJ/[[XML:BINA/OBJC/TRGV|TRGV]]''' [[Image:Aqua Dot-Green.png]]
|'''BINA/OBJC/[[XML:BINA/OBJC/TRGV|TRGV]]''' [[Image:Aqua Dot-Green.png]]
: List of trigger volumes in a specific level. They are invisible areas which trigger script functions, this depends on character's team Id.
: List of trigger volumes in a specific level. They are invisible areas which trigger functions in a script.
|-
|-
|'''BINA/OBCJ/[[XML:BINA/OBJC/TRIG|TRIG]]''' [[Image:Aqua Dot-Green.png]]
|'''BINA/OBJC/[[XML:BINA/OBJC/TRIG|TRIG]]''' [[Image:Aqua Dot-Green.png]]
: List of laser triggers in a specific level. There exist several forms and can trigger not only script functions.
: 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/OBCJ/[[XML:BINA/OBJC/TURR|TURR]]''' [[Image:Aqua Dot-Green.png]]
|'''BINA/OBJC/[[XML:BINA/OBJC/TURR|TURR]]''' [[Image:Aqua Dot-Green.png]]
: List of turrets in a specific level. Not that their pods are part of the level geometry. Spawn one additional and it might be located somewhere in the air. Basicly you can setup their head's position, the weapon inside the turrent head, and the team Id which is the target.
: 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/OBCJ/[[XML:BINA/OBJC/WEAP|WEAP]]''' [[Image:Aqua Dot-Green.png]]
|'''BINA/OBJC/[[XML:BINA/OBJC/WEAP|WEAP]]''' [[Image:Aqua Dot-Green.png]]
: List of weapons in a specific level which are spawned at level load. Actually only the position of them is set there.
: List of weapons in a specific level, determining their spawn location at level load.
|}
|}


==Others==
==Others==
{|class="wikitable" width="100%"
{|class="wikitable" width="100%"
| '''[[XML:AISA|AISA]]''' [[Image:Aqua Dot-Green.png]]
| '''[[XML:AISA|AISA]]''' [[Image:Aqua Dot-Green.png]]
: AI spawn array. AISA is still used for a few cutscene characters, even though BINA/CJBO/[[#goto_CHAR|CHAR]] has made it redundant.
: AI Spawn Array. This file type was probably in the process of being replaced by BINA/CJBO/[[#goto_CHAR|CHAR]] when Oni shipped, but AISA is still used for a few cutscene characters.
|-
|-
|'''[[XML:ONLV|AKEV]]''' [[Image:Aqua Dot-Yellow.png]]
|'''[[XML:ONLV|AKEV]]''' [[Image:Aqua Dot-Yellow.png]]
: Akira Environment. It's the 3D level model. You can take a look into it but it's not recommended to tweak this by hand. Instead edit the AKEV as dae file in a 3D editor like Mod Tool.
: Akira Environment. 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]].
|-
|-
|'''[[XML:CONS|CONS]]''' [[Image:Aqua Dot-Yellow.png]]
|'''[[XML:CONS|CONS]]''' [[Image:Aqua Dot-Yellow.png]]
Line 90: Line 90:
|-
|-
|'''[[XML:DPge|DPge]]''' [[Image:Aqua Dot-Green.png]]
|'''[[XML:DPge|DPge]]''' [[Image:Aqua Dot-Green.png]]
: Diary page. You what to write a page for a new level or alternative story then there you go.
: Diary page.
|-
|-
|'''[[XML:FILM|FILM]]''' [[Image:Aqua Dot-Green.png]]
|'''[[XML:FILM|FILM]]''' [[Image:Aqua Dot-Green.png]]
: Movement record. Usually used for cutscenes. During that time of animation, AIs have no AI. ^_^
: 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. ^_^
|-
|-
|'''[[XML:HPge|HPge]]''' [[Image:Aqua Dot-Green.png]]
|'''[[XML:HPge|HPge]]''' [[Image:Aqua Dot-Green.png]]
Line 99: Line 99:
|-
|-
|'''[[XML:IGHH|IGHH]]''' [[Image:Aqua Dot-Green.png]]
|'''[[XML:IGHH|IGHH]]''' [[Image:Aqua Dot-Green.png]]
: In-game HUD. That's your health bar, compass, etc.
: In-game HUD; your health bar, compass, etc.
|-
|-
|'''[[XML:Impt|Impt]]''' [[Image:Aqua Dot-Green.png]]
|'''[[XML:Impt|Impt]]''' [[Image:Aqua Dot-Green.png]]
Line 105: Line 105:
|-
|-
|'''[[XML:IPge|IPge]]''' [[Image:Aqua Dot-Green.png]]
|'''[[XML:IPge|IPge]]''' [[Image:Aqua Dot-Green.png]]
: Item page. If you have created a new item then there you can describe it, give warnings, whatever.
: Item page. If you have created a new item, you can describe it here.
|-
|-
|'''[[XML:M3GM|M3GM]]''' [[Image:Aqua Dot-Green.png]]
|'''[[XML:M3GM|M3GM]]''' [[Image:Aqua Dot-Green.png]]
:Geometry. Some of these 3D objects are used by OBANs and PAR3 files.
:Geometry. Some of these 3D objects are used by OBANs and PAR3s.
|-
|-
|'''[[XML:Mtrl|Mtrl]]''' [[Image:Aqua Dot-Green.png]]
|'''[[XML:Mtrl|Mtrl]]''' [[Image:Aqua Dot-Green.png]]
Line 114: Line 114:
|-
|-
|'''[[XML:OBAN|OBAN]]''' [[Image:Aqua Dot-Green.png]]
|'''[[XML:OBAN|OBAN]]''' [[Image:Aqua Dot-Green.png]]
:Object Animation. Yes, used by objects but also for moving characters and cutsceen cams.
:Object Animation. Yes, used by objects but also for moving characters and cutscene cameras.
|-
|-
|'''[[XML:OFGA|OFGA]]''' [[Image:Aqua Dot-Green.png]]
|'''[[XML:OFGA|OFGA]]''' [[Image:Aqua Dot-Green.png]]
:Object Furniture Geometry Array. Used to import objects with no functions. (Door, consoles, etc. becomes imported by their [[#OBJC|object collections]]. See [[XML:ONLV|ONLV]] for more information.)
:Object Furniture Geometry Array. Used to import objects with no functions. (Door, consoles, etc. get imported by their [[#OBJC|object collections]]. See [[XML:ONLV|ONLV]] for more information.)
|-
|-
|'''[[XML:ONCC|ONCC]]''' [[Image:Aqua Dot-Yellow.png]]
|'''[[XML:ONCC|ONCC]]''' [[Image:Aqua Dot-Yellow.png]]
: Character class. It contains weapon skills, behavior Ids, view radius, jump power, sounds, 3D model (TRBS), animation collection (TRAC), textures (TRMA), and much more.
: Oni Character Class. 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.
: The XML file contains also the character's body part material (CBPM), body part impacts (CBPI), and particles for animations (ONCP and ONIA).
: The XML file contains also the character's body part material (CBPM), body part impacts (CBPI), and particles for animations (ONCP and ONIA).
|-
|-
|'''[[XML:ONCV|ONCV]]''' [[Image:Aqua Dot-Green.png]]
|'''[[XML:ONCV|ONCV]]''' [[Image:Aqua Dot-Green.png]]
: Character variant. 1) It's used to build up the hierarchy of randomness pools. Some characters with different appearance can form a pool for randomness. A flag in CHAR determinze if a character use one of these pools. 2) It can be also used to upgrade characters on difficult level hard - enabled by a flag in CHAR.
: Character variant. 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.
|-
|-
|'''[[XML:ONGS|ONGS]]''' [[Image:Aqua Dot-Green.png]]
|'''[[XML:ONGS|ONGS]]''' [[Image:Aqua Dot-Green.png]]
: Game settings. There you can modify the values of the health bar, hypospray strength, game difficult setting, at what distance item glow is displayed, and autoprompts (text message when picking up a new kind of item).
: Game settings (global). 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.
|-
|-
|'''[[XML:ONLD|ONLD]]''' [[Image:Aqua Dot-Yellow.png]]
|'''[[XML:ONLD|ONLD]]''' [[Image:Aqua Dot-Yellow.png]]
: Level descriptor. In other words it is the level name in the save game menu.
: Level descriptor. The level name on the Load Game screen.
|-
|-
|'''[[XML:ONLV|ONLV]]''' [[Image:Aqua Dot-Yellow.png]]
|'''[[XML:ONLV|ONLV]]''' [[Image:Aqua Dot-Yellow.png]]
:Oni Game Level. Holds among other things: BSL folder name (<Name>), AKEV (Akira Environment) link, ONSK (Oni sky) link, and a link to AISA (AI Character Setup Array which is a bit obsolent because of [[XML:BINA/OBJC/CHAR|CHAR]]).
:Oni Level. Holds among other things: the name of the BSL folder with the scripts for this level, and links to the AKEV, ONSK, and AISA.
|-
|-
|'''[[XML:ONSK|ONSK]]''' [[Image:Aqua Dot-Green.png]]
|'''[[XML:ONSK|ONSK]]''' [[Image:Aqua Dot-Green.png]]
: Sky. It's designed as a box so you will need five images: for top, north, east, south and west. The bottom has no image.
: Sky. 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.
|-
|-
|'''[[XML:ONVL|ONVL]]''' [[Image:Aqua Dot-Green.png]]
|'''[[XML:ONVL|ONVL]]''' [[Image:Aqua Dot-Green.png]]
: Variant list of characters. It's used for randomize characters' appearance.
: Variant list of characters. It's used to randomize characters' appearances.
|-
|-
|'''[[XML:ONWC|ONWC]]''' [[Image:Aqua Dot-Green.png]]
|'''[[XML:ONWC|ONWC]]''' [[Image:Aqua Dot-Green.png]]
: Weapon class. Contains primary and secondary fire mode, more flags, particle, 3D model, and textures.
: Weapon class. Describes the primary and secondary fire mode and more, and links to PAR3, a 3D model, and textures (TXMP).
|-
|-
|'''[[XML:OPge|OPge]]''' [[Image:Aqua Dot-Green.png]]
|'''[[XML:OPge|OPge]]''' [[Image:Aqua Dot-Green.png]]
: Objective page. That's the place where you can write the objective for a new or modified level.
: Objective page. This is the source of the text that appears in the Objective tab of the Pause screen.
|-
|-
|'''[[XML:SNDD#OSBD_information|OSBD]] [[Image:Aqua Dot-Yellow.png]]
|'''[[XML:SNDD#OSBD_information|OSBD]] [[Image:Aqua Dot-Yellow.png]]
:Oni Sound Binary Data. They determine how (SNDD) sound files get played.
:Oni Sound Binary Data. They determine how sounds (SNDD) get played.
|-
|-
|'''[[XML:PSpc|PSpc]]''' [[Image:Aqua Dot-Green.png]]
|'''[[XML:PSpc|PSpc]]''' [[Image:Aqua Dot-Green.png]]
: Part specification. Oni can decorate a page (OPge, TxtC, maybe other too) with images from one source. You write  coordinates there which means these parts.
: Part Specification. Oni can decorate a page (OPge, TxtC, maybe others) with images from one source. PSpc specifies the coordinates of these parts.
|-
|-
|'''[[XML:PSpL|PSpL]]''' [[Image:Aqua Dot-Red.png]]
|'''[[XML:PSpL|PSpL]]''' [[Image:Aqua Dot-Red.png]]
Line 160: Line 160:
|-
|-
|'''[[XML:StNA‎|StNA]]''' [[Image:Aqua Dot-Green.png]]
|'''[[XML:StNA‎|StNA]]''' [[Image:Aqua Dot-Green.png]]
: StNA files are obsolete. However, on its name page are collections of flags used by TRAM.
: StNA files are obsolete. However, on its page you'll find collections of flags used by TRAM.
|-
|-
|'''[[XML:SUBT|SUBT]]''' [[Image:Aqua Dot-Green.png]]
|'''[[XML:SUBT|SUBT]]''' [[Image:Aqua Dot-Green.png]]
: Subtitle Array. Those SUBT files can't be extracted as xml but txt. SUBT has a link so you are simply aware of it.
: Subtitle Array. This is just here for informational purposes, because SUBTs are not extracted as to .xml files, but rather to .txt.
|-
|-
|'''[[XML:TRAC|TRAC]]''' [[Image:Aqua Dot-Green.png]]
|'''[[XML:TRAC|TRAC]]''' [[Image:Aqua Dot-Green.png]]
: Animation collection. Every character can move and fight thanks to a collection.
: 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.
|-
|-
|'''[[XML:TRAM#list_of_tags.2C_types.2C_and_flags|TRAM]]''' [[Image:Aqua Dot-Yellow.png]]
|'''[[XML:TRAM#list_of_tags.2C_types.2C_and_flags|TRAM]]''' [[Image:Aqua Dot-Yellow.png]]
: Animation. You can create new animations with Mod Tool. But for setting Oni-specific flags, links to particle and so on you need to edit the xml file afterwards or you create [http://oni.bungie.org/community/forum/viewtopic.php?pid=23230#p23230 precursor xml] before.
: Totoro Animation. 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 [http://oni.bungie.org/community/forum/viewtopic.php?pid=23230#p23230 precursor XML] beforehand.
|-
|-
| '''[[XML:TRAS|TRAS]]''' [[Image:Aqua Dot-Red.png]]
| '''[[XML:TRAS|TRAS]]''' [[Image:Aqua Dot-Red.png]]
Line 175: Line 175:
|-
|-
|'''[[XML:TRBS|TRBS]]''' [[Image:Aqua Dot-Green.png]]
|'''[[XML:TRBS|TRBS]]''' [[Image:Aqua Dot-Green.png]]
: Totoro Body Set, in other words the 3d model of a character. ONCC (character class) files links to TRBS. The 3d data itself will be exported/imported as dae files.
: 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.
|-
|-
|'''[[XML:TRGE|TRGE]]''' [[Image:Aqua Dot-Green.png]]
|'''[[XML:TRGE|TRGE]]''' [[Image:Aqua Dot-Green.png]]
: Laser trigger emitter class. This file type holds the 3D model and it's coordinates. Used by TRIG.
: Trigger Emitter class. This file type holds the 3D model for a laser trigger and its coordinates. Used by TRIG.
|-
|-
| '''[[XML:TRIG|TRIG]]'''
| '''[[XML:TRIG|TRIG]]'''
: Laser trigger class.
: (Laser) Trigger class.
|-
|-
|'''[[XML:TRMA#XML_area|TRMA]]''' [[Image:Aqua Dot-Green.png]]
|'''[[XML:TRMA#XML_area|TRMA]]''' [[Image:Aqua Dot-Green.png]]
: Character's texture map array. Every [[XML:TRIA#Bones|body part]] is covered by textures. This file type holds links to those textures.
: 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.
|-
|-
|'''[[XML:TRSC|TRSC]]''' [[Image:Aqua Dot-Red.png]]
|'''[[XML:TRSC|TRSC]]''' [[Image:Aqua Dot-Red.png]]
Line 190: Line 190:
|-
|-
|'''[[XML:TXMB|TXMB]]''' [[Image:Aqua Dot-Green.png]]
|'''[[XML:TXMB|TXMB]]''' [[Image:Aqua Dot-Green.png]]
: Big texture map. Only used for spalsh screens, you know .. these big Intro, WinLevel and LoseLevel images.
: Texture Map (Big). A series of concatenated TXMPs, used for creating splash screens, like the Main Menu background and level intro/win/loss screens.
|-
|-
|'''[[XML:TXMP#XML_section|TXMP]]''' [[Image:Aqua Dot-Green.png]]
|'''[[XML:TXMP#XML_section|TXMP]]''' [[Image:Aqua Dot-Green.png]]
: Texture map. Well, this type covers all images in Oni. (TXMB use multiple TXMPs to create a big texture.)
: Texture Map. Well, this type covers all images in Oni (except the ones larger than 256x256, which are TXMB).
|-
|-
|'''[[XML:TxtC|TxtC]]''' [[Image:Aqua Dot-Green.png]]
|'''[[XML:TxtC|TxtC]]''' [[Image:Aqua Dot-Green.png]]
: Console text. Each time you access a console you get a text page. That's TxtC.
: Text (Console).
|-
|-
|'''[[XML:WMCL|WMCL]]''' [[Image:Aqua Dot-Red.png]]
|'''[[XML:WMCL|WMCL]]''' [[Image:Aqua Dot-Red.png]]
: Window menu cursor list. Mouse pointer(s).
: Window Manager Cursor List. Mouse pointer(s).
|-
|-
|'''[[XML:WMDD|WMDD]]''' [[Image:Aqua Dot-Green.png]]
|'''[[XML:WMDD|WMDD]]''' [[Image:Aqua Dot-Green.png]]
: Window Menu Dialog Data. It shapes pages like TxtC and WPge. However, new button functions would require engine modding.
: Window Manager Dialog Data. It shapes pages like TxtC and WPge. However, new button functions would require engine modding.
|-
|-
|'''[[XML:WMM|WMM]]''' [[Image:Aqua Dot-Red.png]]
|'''[[XML:WMM|WMM]]''' [[Image:Aqua Dot-Red.png]]
: Window menu menu.
: Window Manager Menu.
|-
|-
|'''[[Xml:WPge|WPge]]''' [[Image:Aqua Dot-Green.png]]
|'''[[Xml:WPge|WPge]]''' [[Image:Aqua Dot-Green.png]]
: Weapon page. That's the place where you can write descriptions page about a specific weapon.
: Weapon Page. 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]]

Revision as of 22:18, 5 April 2014

XML.png
See Modding Oni for an introduction to modding.
See XML for an introduction to XML modding.

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:

Aqua Dot-Green.png : available
Aqua Dot-Yellow.png : incomplete
Aqua Dot-Red.png : not available, but that doesn't mean you cannot mod the file type

BINA

BINA/ONIE Aqua Dot-Yellow.png
Oni Impact Effects. 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) and the material (Mtrl) which is hit.
BINA/PAR3 Aqua Dot-Yellow.png
Particle class (the "3" referring to the Particle subsystem's version number). 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.
BINA/SABD Aqua Dot-Yellow.png
Sound Animation Binary Data. 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.
BINA/TMBD Aqua Dot-Green.png
Texture Materials Binary Data. A list of the material (Mtrl) for each texture map (TXMP). Used by ONIE.

OBJC

BINA/OBJC/CHAR Aqua Dot-Yellow.png
List of characters in a specific level, containing their position, script function names, weapon, ammunition, items, team, combat, melee ID, etc.
BINA/OBJC/CMBT Aqua Dot-Yellow.png
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
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
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.
BINA/OBJC/FLAG Aqua Dot-Green.png
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
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
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
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
List of particles in a specific level, containing their position, script name and scaling.
BINA/OBJC/PATR Aqua Dot-Green.png
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
List of power-ups (items, e.g. hypo sprays) in a specific level which are spawned at level load, containing their position.
BINA/OBJC/SNDG Aqua Dot-Yellow.png
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.
BINA/OBJC/TRGV Aqua Dot-Green.png
List of trigger volumes in a specific level. They are invisible areas which trigger functions in a script.
BINA/OBJC/TRIG Aqua Dot-Green.png
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
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
List of weapons in a specific level, determining their spawn location at level load.

Others

AISA Aqua Dot-Green.png
AI Spawn Array. This file type was probably in the process of being replaced by BINA/CJBO/CHAR when Oni shipped, but AISA is still used for a few cutscene characters.
AKEV Aqua Dot-Yellow.png
Akira Environment. 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.
CONS Aqua Dot-Yellow.png
Console class.
DOOR Aqua Dot-Green.png
Door class.
DPge Aqua Dot-Green.png
Diary page.
FILM Aqua Dot-Green.png
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.
IGHH Aqua Dot-Green.png
In-game HUD; your health bar, compass, etc.
Impt Aqua Dot-Green.png
Impact. This file is used to build up the hierarchy of impacts. See BINA/ONIE for more information.
IPge Aqua Dot-Green.png
Item page. If you have created a new item, you can describe it here.
M3GM Aqua Dot-Green.png
Geometry. Some of these 3D objects are used by OBANs and PAR3s.
Mtrl Aqua Dot-Green.png
Material. This file is used to build up the hierarchy of materials. See BINA/ONIE for more information.
OBAN Aqua Dot-Green.png
Object Animation. Yes, used by objects but also for moving characters and cutscene cameras.
OFGA Aqua Dot-Green.png
Object Furniture Geometry Array. Used to import objects with no functions. (Door, consoles, etc. get imported by their object collections. See ONLV for more information.)
ONCC Aqua Dot-Yellow.png
Oni Character Class. 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.
The XML file contains also the character's body part material (CBPM), body part impacts (CBPI), and particles for animations (ONCP and ONIA).
ONCV Aqua Dot-Green.png
Character variant. 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.
ONGS Aqua Dot-Green.png
Game settings (global). 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.
ONLD Aqua Dot-Yellow.png
Level descriptor. The level name on the Load Game screen.
ONLV Aqua Dot-Yellow.png
Oni Level. Holds among other things: the name of the BSL folder with the scripts for this level, and links to the AKEV, ONSK, and AISA.
ONSK Aqua Dot-Green.png
Sky. 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.
ONVL Aqua Dot-Green.png
Variant list of characters. It's used to randomize characters' appearances.
ONWC Aqua Dot-Green.png
Weapon class. Describes the primary and secondary fire mode and more, and links to PAR3, a 3D model, and textures (TXMP).
OPge Aqua Dot-Green.png
Objective page. This is the source of the text that appears in the Objective tab of the Pause screen.
OSBD Aqua Dot-Yellow.png
Oni Sound Binary Data. They determine how sounds (SNDD) get played.
PSpc Aqua Dot-Green.png
Part Specification. Oni can decorate a page (OPge, TxtC, maybe others) with images from one source. PSpc specifies the coordinates of these parts.
PSpL Aqua Dot-Red.png
Part specification list.
PSUI Aqua Dot-Red.png
Part Specifications UI (User Interface).
StNA Aqua Dot-Green.png
StNA files are obsolete. However, on its page you'll find collections of flags used by TRAM.
SUBT Aqua Dot-Green.png
Subtitle Array. This is just here for informational purposes, because SUBTs are not extracted as to .xml files, but rather to .txt.
TRAC Aqua Dot-Green.png
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.
TRAM Aqua Dot-Yellow.png
Totoro Animation. 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.
TRAS Aqua Dot-Red.png
Totoro Aiming Screen. Used for make characters aim with weapons.
TRBS Aqua Dot-Green.png
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.
TRGE Aqua Dot-Green.png
Trigger Emitter class. This file type holds the 3D model for a laser trigger and its coordinates. Used by TRIG.
TRIG
(Laser) Trigger class.
TRMA Aqua Dot-Green.png
Texture Map Array. Every body part of a character is covered by a texture. This file type holds the links to those textures.
TRSC Aqua Dot-Red.png
Totoro Aiming Screen Collection. Used for make characters aim with weapons.
TXMB Aqua Dot-Green.png
Texture Map (Big). A series of concatenated TXMPs, used for creating splash screens, like the Main Menu background and level intro/win/loss screens.
TXMP Aqua Dot-Green.png
Texture Map. Well, this type covers all images in Oni (except the ones larger than 256x256, which are TXMB).
TxtC Aqua Dot-Green.png
Text (Console).
WMCL Aqua Dot-Red.png
Window Manager Cursor List. Mouse pointer(s).
WMDD Aqua Dot-Green.png
Window Manager Dialog Data. It shapes pages like TxtC and WPge. However, new button functions would require engine modding.
WMM Aqua Dot-Red.png
Window Manager Menu.
WPge Aqua Dot-Green.png
Weapon Page. This is the source for the text and images that appear in the Weapons tab of the pause screen.