XML:ONLV: Difference between revisions

From OniGalore
Jump to navigation Jump to search
mNo edit summary
(page needs an update! -- adding a link to Edt's "moveable furniture" post. -- btw, do you make a difference between "movable" and "moveable"? Or maybe is it a british vs. american thing?)
Line 17: Line 17:
* [http://oni.bungie.org/community/forum/viewtopic.php?id=2000 "More questions about levels"]
* [http://oni.bungie.org/community/forum/viewtopic.php?id=2000 "More questions about levels"]
* [http://oni.bungie.org/community/forum/viewtopic.php?id=2003 "Sketchup tutorials for making levels"]
* [http://oni.bungie.org/community/forum/viewtopic.php?id=2003 "Sketchup tutorials for making levels"]
* [http://oni.bungie.org/community/forum/viewtopic.php?pid=37252#p37252 "Modding Existing levels - Beta" (Moveable furniture)


wiki pages about levels:
wiki pages about levels:
Line 22: Line 23:
* [[AE:Lightmapping_levels]]
* [[AE:Lightmapping_levels]]
* [[AE:Lightmapping]]
* [[AE:Lightmapping]]
* [[SketchUp_tutorials_and_tips|SketchUp tutorials and tips]]




===xml section===
===xml section===
Gosh. Already outdated. ^_^'<br>
Better see at "Creating the Lair - A level tutorial" link.
ONLV = Oni Level file
ONLV = Oni Level file



Revision as of 23:03, 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>