XML:File types

Revision as of 18:01, 9 April 2014 by Iritscen (talk | contribs) (filling in file names and location, correcting (hopefully all of) my mistakes)
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

Location:

global: File(s) found in level0_Final
local: File(s) found in level[1-19]_Final
both: File(s) found in all level files

BINA

Tag Name Docs File Location
BINA/ONIE   Oni Impact Effects

BINAEINOimpact_effects global 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.
{{{7}}}
BINA/PAR3   Particle class

BINA3RAP... global A type of particle which can be spawned in the game, used by weapons to deal damage, for lighting effects, etc. The list of the specific particles spawned in a certain level is a PART.
{{{7}}}
BINA/SABD   Sound Animation Binary Data

BINADBAS... global A list of the sounds to be played for an animation type. There is one of these for each character variant (ONCV).
{{{7}}}
BINA/TMBD   Texture Materials Binary Data

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

OBJC

Tag Name Docs File Location
BINA/OBJC/CHAR  

BINACJBOCharacter local List of characters in a specific level, containing their position, script function names, weapon, ammunition, items, team, combat, melee ID, etc.
{{{7}}}
BINA/OBJC/CMBT  

BINACJBOCombat 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.
{{{7}}}
BINA/OBJC/CONS  

BINACJBOConsole 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.
{{{7}}}
BINA/OBJC/DOOR  

BINACJBODoor 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 by a character who opens the door.
{{{7}}}
BINA/OBJC/FLAG  

BINACJBOFlag local List of flags in a specific level, containing their position. Flags are used by level scripts and patrol paths.
{{{7}}}
BINA/OBJC/FURN  

BINACJBOFurniture local List of pieces of furniture in a specific level. This file type can be used to import level objects.
{{{7}}}
BINA/OBJC/MELE  

BINACJBOMelee Profile global List of melee profiles for global use. A melee profile contains a simple program that determines how the AI uses its combat moves.
{{{7}}}
BINA/OBJC/NEUT  

BINACJBONeutral 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.
{{{7}}}
BINA/OBJC/PART  

BINACJBOParticle local List of particles in a specific level, containing their position, script name and scaling.
{{{7}}}
BINA/OBJC/PATR  

BINACJBOPatrol Path local List of patrol paths in a specific level, containing an ID which is used by CHAR and the scripting command "ai2_dopath".
{{{7}}}
BINA/OBJC/PWRU  

BINACJBOPowerUp local List of power-ups (items, e.g. hypo sprays) in a specific level which are spawned at level load, containing their position.
{{{7}}}
BINA/OBJC/SNDG  

BINACJBOSound local 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.
{{{7}}}
BINA/OBJC/TRGV  

BINACJBOTrigger Volume local List of trigger volumes in a specific level. They are invisible areas which trigger functions in a script.
{{{7}}}
BINA/OBJC/TRIG  

BINAJCBOTrigger 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.
{{{7}}}
BINA/OBJC/TURR  

BINACJBOTurret 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.
{{{7}}}
BINA/OBJC/WEAP  

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

Others

Tag Name Docs File Location
AISA  

AISAlevel##_scripts local 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.
{{{7}}}
AKEV  

AKEV... local 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.
{{{7}}}
CONS  

CONSconsole... global Console class.
{{{7}}}
DOOR  

DOOR... global Door class.
{{{7}}}
DPge  

DPgelev_##_pg_## global Diary page.
{{{7}}}
FILM  

FILM... 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. ^_^
{{{7}}}
HPge  

HPgehelp_pg_01 global Help page. There is only one.
{{{7}}}
IGHH  

IGHHhud_help_info global In-game HUD; your health bar, compass, etc.
{{{7}}}
Impt  

Impt... global This file is used to build up the hierarchy of impacts. See BINA/ONIE for more information.
{{{7}}}
IPge  

IPge... local Item page. If you have created a new item, you can describe it here.
{{{7}}}
M3GM  

M3GM... both Some of these 3D objects are used by OBANs and PAR3s.
{{{7}}}
Mtrl  

Mtrl... global This file is used to build up the hierarchy of materials. See BINA/ONIE for more information.
{{{7}}}
OBAN  

OBAN... both Yes, used by objects but also for moving characters and cutscene cameras.
{{{7}}}
OFGA  

OFGA... N/A Used to import objects with no functions. (Door, consoles, etc. get imported by their object collections. See ONLV for more information.)
{{{7}}}
ONCC  

ONCC... local 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).)
{{{7}}}
ONCV  

ONCV... global 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.)
{{{7}}}
ONGS  

ONGSgame_settings 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.
{{{7}}}
ONLD  

ONLDlevel_## global The level name on the Load Game screen.
{{{7}}}
ONLV  

ONLV... local Holds among other things: the name of the BSL folder with the scripts for this level, and links to the AKEV, ONSK, and AISA.
{{{7}}}
ONSK  

ONSK... local 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.
{{{7}}}
ONVL  

ONVLvariant_list global It's used to randomize characters' appearances.
{{{7}}}
ONWC  

ONWCw... global Describes the primary and secondary fire mode and more, and links to PAR3, a 3D model, and textures (TXMP).
{{{7}}}
OPge  

OPgelevel_## local This is the source of the text that appears in the Objective tab of the Pause screen.
{{{7}}}
OSBD  

OSBD... global They determine how sounds (SNDD) get played.
{{{7}}}
PSpc  

PSpc... both Oni can decorate a page (OPge, TxtC, maybe others) with images from one source. PSpc specifies the coordinates of these parts.
{{{7}}}
PSpL  

PSpLpartspec_list global Part specification list.
{{{7}}}
PSUI  

PSUIpsui_... global Part Specifications UI (User Interface).
{{{7}}}
StNA  

StNA... global StNA files are obsolete. However, on its page you'll find collections of flags used by TRAM.
{{{7}}}
SUBT  

SUBT... global This is just here for informational purposes, because SUBTs are not extracted as to .xml files, but rather to .txt.
{{{7}}}
TRAC  

TRAC... both 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.
{{{7}}}
TRAM  

TRAM... both 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.
{{{7}}}
TRAS  

TRAS... both Used for make characters aim with weapons.
{{{7}}}
TRBS  

TRBS... local 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.
{{{7}}}
TRGE  

TRGEtrigger_emitter_0 global This file type holds the 3D model for a laser trigger and its coordinates. Used by TRIG.
{{{7}}}
TRIG  

TRIG... global (Laser) Trigger class.
{{{7}}}
TRMA  

TRMA... local Texture Map Array. Every body part of a character is covered by a texture. This file type holds the links to those textures.
{{{7}}}
TRSC  

TRSC both Used for making characters aim with weapons.
{{{7}}}
TXMB  

TXMB... both A series of concatenated TXMPs, used for creating splash screens, like the Main Menu background and level intro/win/loss screens.
{{{7}}}
TXMP  

TXMP... both Well, this type covers all images in Oni (except the ones larger than 256x256, which are TXMB).
{{{7}}}
TxtC  

TxtClevel_... local Text (Console).
{{{7}}}
WMCL  

WMCLcursor_list global Mouse pointer(s).
{{{7}}}
WMDD  

WMDD... global It shapes pages like TxtC and WPge. However, new button functions would require engine modding.
{{{7}}}
WMM  

WMM... global Window Manager Menu.
{{{7}}}
WPge  

WPgew... global This is the source for the text and images that appear in the Weapons tab of the pause screen.
{{{7}}}