XML:ONLV: Difference between revisions

691 bytes removed ,  28 April 2013
m
so boring, why i'm doing this again?
m (link fix)
m (so boring, why i'm doing this again?)
Line 32: Line 32:


;Wiki pages about levels
;Wiki pages about levels
* [[New levels]]
* [[New_levels]]
* [[Lightmapping_levels]]
* [[Lightmapping_levels]]
* [[SketchUp_tutorials_and_tips|SketchUp tutorials and tips]]
* [[SketchUp_tutorials_and_tips|SketchUp tutorials and tips]]
Line 75: Line 75:
If the game crashes while loading (at ca. 5-10% progress), check if all textures were inside the "out" folder.
If the game crashes while loading (at ca. 5-10% progress), check if all textures were inside the "out" folder.


You can extract the AKEV file to xml, then search for "TXMP".
You can extract the AKEV file to xml, then search for the [[XML:AKEV#TXMA|TXMP array]].


"TXMP_marker_door" and "TXMP_marker_ghost" will be missing in the demo's "out" folder.
"TXMP_marker_door" and "TXMP_marker_ghost" will be missing in the demo's "out" folder.
Line 724: Line 724:
Results in flags: DoorFrame Transparent TwoSided NoCollision NoOcclusion
Results in flags: DoorFrame Transparent TwoSided NoCollision NoOcclusion


Appears not very useful. No effect to pathfinding creation.
Don't use this.
 




Line 884: Line 883:
:Animated
:Animated
:Newton (used with <Flags> FaceCollision to [http://www.youtube.com/watch?v=YICB7qugrtc make object pushable])
:Newton (used with <Flags> FaceCollision to [http://www.youtube.com/watch?v=YICB7qugrtc make object pushable])
:: For a pushable object don't use import sub-tags such as animation name, flags, etc. Just use <Import Path="..." '''/'''> or <Import Url="..." '''/'''>
|-
|-
| <Position>
| <Position>
Line 1,022: Line 1,022:
The most parts of an Oni level are made of ONLV and AKEV. For AKEV's xml tags see [[XML:AKEV|HERE]].
The most parts of an Oni level are made of ONLV and AKEV. For AKEV's xml tags see [[XML:AKEV|HERE]].


[...]
You would only want to export those two files as xml if you want to check if a texture or an object really made it into the level or not.




Line 1,048: Line 1,048:
|valign="top"| link
|valign="top"| link
| Link to [[#OBOA|OBOA]] via '''instance''' number (#''N'').
| Link to [[#OBOA|OBOA]] via '''instance''' number (#''N'').
: The OBOA instance holds doors, <strike>animated objects (usually for cut scenes) and pushable object (they are not used the original game)</strike>(wait for more tests).
: The OBOA instance holds doors, animated objects (usually for cut scenes) and pushable object (they are not used the original game).
|-
|-
|valign="top"| <SkyBox>
|valign="top"| <SkyBox>
Line 1,078: Line 1,078:


===OBOA===
===OBOA===
Mostly used by doors.
Used for movable/moving objects.


{| class="wikitable" width="100%"
{| class="wikitable" width="100%"
Line 1,162: Line 1,162:


===ONOA===
===ONOA===
Used by static objects (imported by object collections).
{| class="wikitable" width="100%"
{| class="wikitable" width="100%"
!width=150px| XML tag
!width=150px| XML tag
Line 1,290: Line 1,292:


===M3GA===
===M3GA===
One M3GA instance per animated object.
Animated meshes of doors are embedded in ONLV. All other animated meshes are stored outside as M3GM files.
{| class="wikitable" width="100%"
{| class="wikitable" width="100%"
!width=150px| XML tag
!width=150px| XML tag
Line 1,304: Line 1,310:
|-
|-
| <Link>
| <Link>
| link
|
|
|
: #''N'' (instance number) (for non-door)
: M3GM''name'' (for door)
|}
|}




===IDXA (from ONOA to AGQG elements)===
===M3GM===
Read on [[XML:M3GM|HERE]].
 
Note that M3GMs have their own instances: PNTA, VCRA (x2), VCRA (x2), TXCA, IDXA (x2), IDXA.
 
Animated doors have one part of their geometry embedded in ONLV including M3GM's own instances.
 
 
===IDXA===
{| class="wikitable" width="100%"
{| class="wikitable" width="100%"
!width=150px| XML tag
!width=150px| XML tag
Line 1,325: Line 1,341:
| <Int32>
| <Int32>
| int32
| int32
| Link to <AGQGQuad> in [[XML:AKEV#AGQG|AGQG]] by order. (The array in AGQG starts with 0, so for example <Int32>6</Int32> would link to 7th <AGQGQuad>.)
|
; From ONOA to AGQG elements
: Link to <AGQGQuad> in [[XML:AKEV#AGQG|AGQG]] by order. (The array in AGQG starts with 0, so for example <Int32>6</Int32> would link to 7th <AGQGQuad>.)
; From M3GM to PNTA elements ?
: [...]
; From M3GM to VCRA elements ?
: [...]
|}
|}


<!--


===IDXA (from M3GM to PNTA elements ?)===
===IDXA ===
Only used if OBOA has objects. (Tested with door.)
Only used if OBOA has objects. (Tested with door.)


Line 1,351: Line 1,374:




===IDXA (from M3GM to VCRA elements ?)===
===IDXA ===
Only used if OBOA has objects. (Tested with door.)
Only used if OBOA has objects. (Tested with door.)


Line 1,371: Line 1,394:
| Link to  
| Link to  
|}
|}
 
-->




Line 1,521: Line 1,544:
==temporary AKEV notes==
==temporary AKEV notes==
This goes later to XML:AKEV
This goes later to XML:AKEV
'''AGQG flags'''
<!-- : None -->
: DoorFrame (invisible quad that uses the TXMP_DOOR_FRAME texture), appears to have no relevance
: Ghost (pathfinding volume separator, see [[OBD:AKVA|AKVA]] etc)
: StairsUp
: StairsDown
: Stairs
: Triangle
: Transparent
: TwoSided (make polygons visible from both sides)
: NoCollision (no character collision, no particle collision)
: Invisible (makes polygons visible; tip: use two-faced wall for no transition, use one-faced wall for one-way transition)
: NoObjectCollision (no particle collision)
: NoCharacterCollision (characters can go through polygons)
: NoOcclusion
: Danger (automatic creation via _marker_danger texture)
: Horizontal (slope > 70°, automatic creation)
: Vertical (slope < 70°, automatic creation)
: GridIgnore (onisplit will ignore the object when it calculate the pathfinding grids, so the grids will be white)
: NoDecals (decals can't be applied to object, doors use this)
: Furniture (Cntl + Shift + s: makes furniture textures red)
: ProjectionBit0 (automatic creation)
: ProjectionBit1 (automatic creation)
: SoundTransparent
: Impassable


'''(Copied from hex page. Is this still up to date ?)'''
'''(Copied from hex page. Is this still up to date ?)'''
Line 1,598: Line 1,594:
;Impassable
;Impassable
:Probably used by forcefields and end of level boundaries (like in state archive level).
:Probably used by forcefields and end of level boundaries (like in state archive level).
----
vertex color shading at:
    <AGQG id="4">
        <Quads>
            <AGQGQuad>
                <Colors>RGB[A]
----
[[OBD:ONOA|Object type]] and object id are merged to one number.
<ObjectId>
Example 1: 251658333 -> hex: (0)f 00 00 5d -> 0f = type: console; 5d = id: 93
Example 2: 50331739 -> hex: (0)3 00 00 5b -> 03 = type: door; 5b = id: 91




8,452

edits