XML:BINA/OBJC/DOOR

From OniGalore
< XML:BINA‎ | OBJC
Revision as of 15:11, 8 December 2009 by Paradox-01 (talk | contribs)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

BINA/OBJC/DOOR: doors

general information

  • BINACJBODOOR.oni is level specific. (It can be found in edition/GameDataFolder/levelXX_... )
  • See HERE if you don't know how to convert an oni file into XML and vice versa.
  • 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" />