Difference between revisions of "XML:BINA/OBJC/DOOR"

From OniGalore
< XML:BINA‎ | OBJC
Jump to navigation Jump to search
m
m
Line 8: Line 8:
  
  
'''XML structure'''
+
'''XML structure'''<br>for onisplit 0.9.59.0
 +
 
 
  <?xml version="1.0" encoding="utf-8"?>
 
  <?xml version="1.0" encoding="utf-8"?>
  <Oni Version="0.9.37.0">
+
  <Oni>
    <ObjectCollection>
+
    <Objects>
 
         '''''[...]'''''
 
         '''''[...]'''''
     </ObjectCollection>
+
     </Objects>
 
  </Oni>
 
  </Oni>
  
  
'''''[...]''''' means at least one door. Paste all door data into there (this includes '''<font color="#0A0"><Object ...></font>''' and '''<font color="#0A0"></Object></font>''' tag).
+
'''''[...]''''' means at least one door. Paste all door data into there (this includes '''<font color="#0A0"><DOOR Id="..."></font>''' and '''<font color="#0A0"></DOOR></font>''' tag).
  
 
'''example'''
 
'''example'''
         <Object Id="2467" Type="DOOR">
+
         '''<font color="#0A0"><DOOR Id="7233"></font>'''
 
             <Header>
 
             <Header>
                 <Flags>9</Flags>
+
                 <Flags>Gunk</Flags>
                 <Position>-734 45 -172</Position>
+
                 <Position>-652 0 -753</Position>
 
                 <Rotation>0 0 0</Rotation>
 
                 <Rotation>0 0 0</Rotation>
 
             </Header>
 
             </Header>
 
             <OSD>
 
             <OSD>
                 <Class>CM_3</Class>
+
                 <Class>wh_door1dbl</Class>
                 <DoorId>2</DoorId>
+
                 <DoorId>1</DoorId>
 
                 <KeyId>0</KeyId>
 
                 <KeyId>0</KeyId>
                 <Flags>132</Flags>
+
                 <Flags>InitialLocked InDoorFrame DoubleDoor</Flags>
                 <nowiki><Center>-734 60 -172</Center></nowiki>
+
                 <nowiki><Center>-652 16.5 -753</Center></nowiki>
 
                 <SquaredActivationRadius>900</SquaredActivationRadius>
 
                 <SquaredActivationRadius>900</SquaredActivationRadius>
 
                 <Texture1></Texture1>
 
                 <Texture1></Texture1>
Line 40: Line 41:
 
                 </Events>
 
                 </Events>
 
             </OSD>
 
             </OSD>
         </Object>
+
         '''<font color="#0A0"></DOOR></font>'''
  
  
Line 47: Line 48:
 
  {
 
  {
 
  dmsg "[r.door test]"
 
  dmsg "[r.door test]"
  dmsg "marked turret is set active and BSL function is triggered"
+
  dmsg "target turret is set active and BSL function is triggered"
 
  dmsg "by any character which comes into specified radius"
 
  dmsg "by any character which comes into specified radius"
 
  }
 
  }
  
  
'''flags'''
+
'''OSD flags'''
  DEC   HEX    description
+
  None
  1 = 01  = "initially locked" (at level load or after calling reset mechanics)
+
  InitialLocked
  2 = 02  = unknown; never used
+
  InDoorFrame
  4 = 04  = unknown; probably "locked"
+
  Manual
  8 = 08  = unknown; never used
+
  DoubleDoor
  16 = 10  = require player to press action to open the door
+
  Mirror
  32 = 20  = unknown; never used
+
  OneWay
  64 = 40  = unknown; never used
+
  Reverse
  128 = 80  = double door
+
  Jammed
  256 = 0001 = "mirror door" (mirrored along door's Z axis)
+
  InitialOpen
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'''
 
'''events'''
: <Script Function="''calling_this_BSL_function''" />
+
<Script Function="''calling_this_BSL_function''" />
: <ActivateTurret TargetId="''Id''" />
+
<ActivateTurret TargetId="''Id''" />
: <DeactivateTurret TargetId="''Id''" />
+
<DeactivateTurret TargetId="''Id''" />
: <ActivateConsole TargetId="''Id''" />
+
<ActivateConsole TargetId="''Id''" />
: <DeactivateConsole TargetId="''Id''" />
+
<DeactivateConsole TargetId="''Id''" />
: <ActivateAlarm TargetId="''Id''" />
+
<ActivateAlarm TargetId="''Id''" />
: <DeactivateAlaram TargetId="''Id''" />
+
<DeactivateAlaram TargetId="''Id''" />
: <ActivateTrigger TargetId="''Id''" />
+
<ActivateTrigger TargetId="''Id''" />
: <DeactivateTrigger TargetId="''Id''" />
+
<DeactivateTrigger TargetId="''Id''" />
: <LockDoor TargetId="''Id''" />
+
<LockDoor TargetId="''Id''" />
: <UnlockDoor TargetId="''Id''" />
+
<UnlockDoor TargetId="''Id''" />

Revision as of 14:13, 27 August 2011

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
for onisplit 0.9.59.0

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


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

example

       <DOOR Id="7233">
           <Header>
               <Flags>Gunk</Flags>
               <Position>-652 0 -753</Position>
               <Rotation>0 0 0</Rotation>
           </Header>
           <OSD>
               <Class>wh_door1dbl</Class>
               <DoorId>1</DoorId>
               <KeyId>0</KeyId>
               <Flags>InitialLocked InDoorFrame DoubleDoor</Flags>
               <Center>-652 16.5 -753</Center>
               <SquaredActivationRadius>900</SquaredActivationRadius>
               <Texture1></Texture1>
               <Texture2></Texture2>
               <Events>
                   <ActivateTurret TargetId="1" />
                   <Script Function="door_test" />
               </Events>
           </OSD>
       </DOOR>


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


OSD flags

None
InitialLocked
InDoorFrame
Manual
DoubleDoor
Mirror
OneWay
Reverse
Jammed
InitialOpen


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" />