XML:BINA/OBJC/DOOR

From OniGalore
< XML:BINA‎ | OBJC
Revision as of 11:31, 7 August 2011 by Paradox-01 (talk | contribs)
Jump to navigation Jump to search

BINA/OBJC/DOOR: doors

Template:XMLModdingHints

general information

  • BINACJBODOOR.oni is level specific. (It can be found in edition/GameDataFolder/levelXX_... )
  • All original doors and their locklights can be seen HERE.


XML structure

<?xml version="1.0" encoding="utf-8"?>
<Oni Version="0.9.37.0">
    <ObjectCollection>
        [...]
   </ObjectCollection>
</Oni>


[...] means at least one door. Paste all door data into there (this includes <Object ...> and </Object> tag).

example

       <Object Id="2467" Type="DOOR">
           <Header>
               <Flags>9</Flags>
               <Position>-734 45 -172</Position>
               <Rotation>0 0 0</Rotation>
           </Header>
           <OSD>
               <Class>CM_3</Class>
               <DoorId>2</DoorId>
               <KeyId>0</KeyId>
               <Flags>132</Flags>
               <Center>-734 60 -172</Center>
               <SquaredActivationRadius>900</SquaredActivationRadius>
               <Texture1></Texture1>
               <Texture2></Texture2>
               <Events>
                   <ActivateTurret TargetId="1" />
                   <Script Function="door_test" />
               </Events>
           </OSD>
       </Object>


### in BSL file
func door_test
{
	dmsg "[r.door test]"
	dmsg "marked turret is set active and BSL function is triggered"
	dmsg "by any character which comes into specified radius"
}


flags

DEC	  HEX    description
1	= 01   = "initially locked" (at level load or after calling reset mechanics)
2	= 02   = unknown; never used
4	= 04   = unknown; probably "locked"
8	= 08   = unknown; never used
16	= 10   = require player to press action to open the door
32	= 20   = unknown; never used
64	= 40   = unknown; never used
128	= 80   = double door
256	= 0001 = "mirror door" (mirrored along door's Z axis)
512	= 0002 = one way door (one side locked, other side unlocked)
1024	= 0004 = reverse of the one way door (now the other side is locked)
2048	= 0008 = unknown; never used
4096	= 0010 = unknown; never used
8192	= 0020 = unknown; never used
16384	= 0040 = unknown; never used
32768	= 0080 = unknown; never used


events

<Script Function="calling_this_BSL_function" />
<ActivateTurret TargetId="Id" />
<DeactivateTurret TargetId="Id" />
<ActivateConsole TargetId="Id" />
<DeactivateConsole TargetId="Id" />
<ActivateAlarm TargetId="Id" />
<DeactivateAlaram TargetId="Id" />
<ActivateTrigger TargetId="Id" />
<DeactivateTrigger TargetId="Id" />
<LockDoor TargetId="Id" />
<UnlockDoor TargetId="Id" />