XML:ONLV: Difference between revisions

From OniGalore
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
Line 2: Line 2:




At the moment we can't import animated / function holding objects (like door) to levels. This will hopefully change in the future.
<s>At the moment we can't import animated / function holding objects (like door) to levels. This will hopefully change in the future.</s>


But nonetheless we got some levels for our fun:
But nonetheless we got some levels for our fun:
Line 12: Line 12:


OCF threads about level creation:
OCF threads about level creation:
* [http://oni.bungie.org/community/forum/viewtopic.php?id=2087 "Creating the Lair - A level tutorial"]
* '''[http://oni.bungie.org/community/forum/viewtopic.php?id=2087 "Creating the Lair - A level tutorial"]'''
* [http://oni.bungie.org/community/forum/viewtopic.php?id=1515 "Creating new levels"]
* [http://oni.bungie.org/community/forum/viewtopic.php?id=1515 "Creating new levels"]
* [http://oni.bungie.org/community/forum/viewtopic.php?pid=33838 "Create levels with pathfinding grids"]
* [http://oni.bungie.org/community/forum/viewtopic.php?pid=33838 "Create levels with pathfinding grids"]

Revision as of 23:05, 6 January 2012

Unfinished building-60px.jpg

This page is unfinished. Can you fill in any missing information?
If it is not clear which part of the page is unfinished, ask on the talk page.


At the moment we can't import animated / function holding objects (like door) to levels. This will hopefully change in the future.

But nonetheless we got some levels for our fun:

OCF threads about level creation:

wiki pages about levels:


xml section

Gosh. Already outdated. ^_^'
Better see at "Creating the Lair - A level tutorial" link.


ONLV = Oni Level file


file structure

  • ONLV instance
<Name> - this is your BSL folder (save game slot and level number are defined inside ONLD)
<Environment> - link to AKEV file (solid level geometry)
<Objects> - link to OBOA instance (animated level geometry, sometimes particles)
<SkyBox> - link to skybox file
<Characters> - link to AISA file (pendant of BINACJBOCharacter file), holds character spawn collection
<ObjectQuadMap> - link to ONOA instance (maybe spawnable / function holding objects ?)
<Particles> - link to ENVP instance (pendant of BINACJBOParticle), holds particle spawn collection, door lock lights are typically stored inside ENVP
<Corpses> - link to CRSA instance (corpses consist of 19 body parts)
  • OBOA instance
...
  • ONOA instance
...
  • ENVP instance
...
  • CRSA instance
...


Sample code from a trimmed warehouse level.

[...] mean another Corpse code block. There are usually 20 in total. They are somehow needed to prevent bugs.

<?xml version="1.0" encoding="utf-8"?>
<Oni Version="0.9.56.0">
   <Instance id="0" type="ONLV">
       <Name>EnvWarehouse</Name>
       <Environment>AKEVEnvWarehouse</Environment>
       <Objects>#1</Objects>
       <SkyBox>ONSKafternoon</SkyBox>
       <Characters>AISAlevel1_scripts</Characters>
       <ObjectQuadMap>#2</ObjectQuadMap>
       <Particles>#3</Particles>
       <Corpses>#4</Corpses>
   </Instance>
   <Instance id="1" type="OBOA">
       <Objects />
   </Instance>
   <Instance id="2" type="ONOA">
       <Elements />
   </Instance>
   <Instance id="3" type="ENVP">
       <Particles />
   </Instance>
   <Instance id="4" type="CRSA">
       <FixedCount>0</FixedCount>
       <UsedCount>0</UsedCount>
       <Corpses>
           <CRSACorpse>
               <CharacterClass></CharacterClass>
               <Transforms>
                   <Matrix4x3>0 0 0 0 0 0 0 0 0 0 0 0</Matrix4x3>
                   <Matrix4x3>0 0 0 0 0 0 0 0 0 0 0 0</Matrix4x3>
                   <Matrix4x3>0 0 0 0 0 0 0 0 0 0 0 0</Matrix4x3>
                   <Matrix4x3>0 0 0 0 0 0 0 0 0 0 0 0</Matrix4x3>
                   <Matrix4x3>0 0 0 0 0 0 0 0 0 0 0 0</Matrix4x3>
                   <Matrix4x3>0 0 0 0 0 0 0 0 0 0 0 0</Matrix4x3>
                   <Matrix4x3>0 0 0 0 0 0 0 0 0 0 0 0</Matrix4x3>
                   <Matrix4x3>0 0 0 0 0 0 0 0 0 0 0 0</Matrix4x3>
                   <Matrix4x3>0 0 0 0 0 0 0 0 0 0 0 0</Matrix4x3>
                   <Matrix4x3>0 0 0 0 0 0 0 0 0 0 0 0</Matrix4x3>
                   <Matrix4x3>0 0 0 0 0 0 0 0 0 0 0 0</Matrix4x3>
                   <Matrix4x3>0 0 0 0 0 0 0 0 0 0 0 0</Matrix4x3>
                   <Matrix4x3>0 0 0 0 0 0 0 0 0 0 0 0</Matrix4x3>
                   <Matrix4x3>0 0 0 0 0 0 0 0 0 0 0 0</Matrix4x3>
                   <Matrix4x3>0 0 0 0 0 0 0 0 0 0 0 0</Matrix4x3>
                   <Matrix4x3>0 0 0 0 0 0 0 0 0 0 0 0</Matrix4x3>
                   <Matrix4x3>0 0 0 0 0 0 0 0 0 0 0 0</Matrix4x3>
                   <Matrix4x3>0 0 0 0 0 0 0 0 0 0 0 0</Matrix4x3>
                   <Matrix4x3>0 0 0 0 0 0 0 0 0 0 0 0</Matrix4x3>
               </Transforms>
               <BoundingBox>
                   <Min>0 0 0</Min>
                   <Max>0 0 0</Max>
               </BoundingBox>
           </CRSACorpse>
          [...]
       </Corpses>
   </Instance>
</Oni>