XML:BINA/OBJC/DOOR: Difference between revisions

From OniGalore
< XML:BINA‎ | OBJC
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
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 13: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" />