|
|
Line 1,131: |
Line 1,131: |
| : None | | : None |
| : Static | | : Static |
| : Linear | | : Linear (?) |
| : Animated | | : Animated (animated via OBAN) |
| : Newton | | : Newton (pushable object) |
| |- | | |- |
| | <ScriptId> | | | <ScriptId> |
Line 1,225: |
Line 1,225: |
| | <Transform> | | | <Transform> |
| | | | | |
| | | | | the last 3 values are the position (x, y, z) |
| |- | | |- |
| | <DecalScale> | | | <DecalScale> |
Line 1,234: |
Line 1,234: |
| | | | | |
| | | | | |
| | : None |
| | : NotInitiallyCreated |
| |} | | |} |
|
| |
|
Line 1,306: |
Line 1,308: |
| |- | | |- |
| | <Geometries> | | | <Geometries> |
| | | | | - |
| | | | | This is an int32 array for the <Link> tags. |
| |- | | |- |
| | <Link> | | | <Link> |
Line 1,322: |
Line 1,324: |
| Note that M3GMs have their own instances: PNTA, VCRA (x2), VCRA (x2), TXCA, IDXA (x2), IDXA. | | 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.
| | Doors store their animated geometry in ONLV while the static part comes from BINACJBODOOR.oni. |
|
| |
|
|
| |
|
Line 1,339: |
Line 1,341: |
| | This is an Int32 array for the <Int32> tags. | | | This is an Int32 array for the <Int32> tags. |
| |- | | |- |
| | <Int32> | | |valign="top"| <Int32> |
| | int32 | | |valign="top"| int32 |
| | | | | |
| ; From ONOA to AGQG elements | | ; 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>.) | | : 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 PNTA elements |
| : [...] | | : Read on [[XML:M3GM#PNTA|HERE]]. |
| ; From M3GM to VCRA elements ? | | ; From M3GM to VCRA elements |
| : [...] | | : Read on [[XML:M3GM#PNTA|HERE]]. |
| |} | | |} |
|
| |
| <!--
| |
|
| |
| ===IDXA ===
| |
| Only used if OBOA has objects. (Tested with door.)
| |
|
| |
| {| class="wikitable" width="100%"
| |
| !width=150px| XML tag
| |
| !width=120px| content type
| |
| ! description
| |
| |-
| |
| | <IDXA id="...">
| |
| | integer
| |
| | Instance Id.
| |
| |-
| |
| | <Indices>
| |
| | -
| |
| | This is an Int32 array for the <Int32> tags.
| |
| |-
| |
| | <Int32>
| |
| | int32
| |
| | Link to
| |
| |}
| |
|
| |
|
| |
| ===IDXA ===
| |
| Only used if OBOA has objects. (Tested with door.)
| |
|
| |
| {| class="wikitable" width="100%"
| |
| !width=150px| XML tag
| |
| !width=120px| content type
| |
| ! description
| |
| |-
| |
| | <IDXA id="...">
| |
| | integer
| |
| | Instance Id.
| |
| |-
| |
| | <Indices>
| |
| | -
| |
| | This is an Int32 array for the <Int32> tags.
| |
| |-
| |
| | <Int32>
| |
| | int32
| |
| | Link to
| |
| |}
| |
| -->
| |
|
| |
|
| |
| * ONLV instance
| |
| : <Name> - this is your BSL folder (save game slot and level number are defined inside [[OBD_talk:ONLD|ONLD]])
| |
| : <Environment> - link to AKEV file (solid level geometry)
| |
| : <Objects> - link to OBOA instance (animated level geometry, sometimes particles)
| |
| : <SkyBox> - link to ONSK file, originally there are 4 files in level 0: crapsky, night, sunset, afternoon
| |
| : <Characters> - link to AISA file (pendant of [[OBD_talk:BINA/OBJC/CHAR#XML|BINACJBOCharacter file]]), holds character spawn collection
| |
| : <ObjectQuadMap> - link to ONOA instance (maybe spawnable / function holding objects ?)
| |
| : <Particles> - link to ENVP instance (pendant of [[XML:BINA/OBJC/PART|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
| |
| : ...
| |
| * M3GA
| |
| : ...
| |
| * IDXA
| |
| : ...
| |
|
| |
|
| |
|
| |
| '''Flags in the <OBOAObject> section'''
| |
|
| |
| These are also used for the physics.xml file
| |
| : '''<Flags>'''
| |
| :: <!-- None -->
| |
| :: InUse
| |
| :: NoCollision
| |
| :: NoGravity
| |
| :: FaceCollision
| |
| : '''<PhysicsType>'''
| |
| :: None
| |
| :: Static
| |
| :: Linear
| |
| :: Animated
| |
| :: Newton
| |
|
| |
|
| |
|
| |
| Sample code from a trimmed warehouse level.
| |
|
| |
| <font color="#FF0000">'''''[...]'''''</font> 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>
| |
| <ONLV id="0">
| |
| <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>
| |
| </ONLV>
| |
| <OBOA id="1">
| |
| <Objects />
| |
| </OBOA>
| |
| <ONOA id="2">
| |
| <Elements />
| |
| </ONOA>
| |
| <ENVP id="3">
| |
| <Particles />
| |
| </ENVP>
| |
| <CRSA id="4">
| |
| <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>
| |
| <font color="#FF0000">'''''[...]'''''</font>
| |
| </Corpses>
| |
| </CRSA>
| |
| </Oni>
| |
|
| |
| '''not empty OBOA - example from level 19'''
| |
|
| |
| (exported ONLV files seem to contain 32 empty <OBOAObject> sections)
| |
|
| |
| If I remember correctly this one is only an object for the cutscene. Maybe the real floor(s) (those with collision) can be tracked down with the id used by bsl.
| |
|
| |
|
| |
|
| |
| <OBOAObject>
| |
| <Geometry>#347</Geometry>
| |
| <Animation>OBANDishFloor01</Animation>
| |
| <Particle></Particle>
| |
| <Flags>InUse</Flags>
| |
| <DoorGunkId>0</DoorGunkId>
| |
| <DoorId>0</DoorId>
| |
| <PhysicsType>Animated</PhysicsType>
| |
| <ScriptId>204</ScriptId>
| |
| <Position>-183 99.59154 -2501.25</Position>
| |
| <Rotation>0.7071067 -1.545431E-08 1.545431E-08 0.7071068</Rotation>
| |
| <Scale>1</Scale>
| |
| <Transform>1 -4.371139E-08 -5.21253064E-16 0 1.19248806E-08 -1 4.371139E-08 1 1.19248806E-08 -183 99.5815353 -2501.25</Transform>
| |
| <Name>object_DishFloor01</Name>
| |
| </OBOAObject>
| |
|
| |
|
| |
| '''not empty ENVP - example from level 19'''
| |
| <ENVPParticle>
| |
| <Class>locklight</Class>
| |
| <Tag>mainchamber_locklight01</Tag>
| |
| <Transform>1 -4.559326E-08 1.35404189E-05 -1.354042E-05 -2.03512554E-05 1 -4.53176945E-08 -1 -2.03512554E-05 -391.790527 58.0480423 -1364.412</Transform>
| |
| <DecalScale>1 1</DecalScale>
| |
| <Flags></Flags>
| |
| </ENVPParticle>
| |
|
| |
| <Transform> - the last 3 values are the position (x, y, z)
| |
|
| |
| <Flags>
| |
| : <!-- None -->
| |
| : NotInitiallyCreated
| |
|
| |
|
|
| |
|