XML:BINA/OBJC/DOOR: Difference between revisions
Jump to navigation
Jump to search
Paradox-01 (talk | contribs) (xml tags table) |
Paradox-01 (talk | contribs) mNo edit summary |
||
(9 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
{{XML_OBJC_Header | type=DOOR | {{XML_OBJC_Header | prev=CONS| type=DOOR | next=FLAG | name=Door}} | ||
==General information== | |||
* The XML on this page was tested with OniSplit version 0.9.61.0 and 0.9.82.0. | |||
* A BINACJBODOOR is level-specific (level''x''_Final.dat). | |||
* All original doors and their locklights can be seen [http://ssg.oni2.net/subfold/doors/doors.htm HERE]. | |||
==File structure== | |||
== | |||
<?xml version="1.0" encoding="utf-8"?> | <?xml version="1.0" encoding="utf-8"?> | ||
<Oni> | <Oni> | ||
Line 18: | Line 14: | ||
</Oni> | </Oni> | ||
'''''[...]''''' means at least one door. Paste all your door data into there (this includes the '''<font color="#0A0"><DOOR Id="..."></font>'''/'''<font color="#0A0"></DOOR></font>''' tag). | |||
==Example== | |||
For level import via [[XML:ONLV|XML master file]], use a pre-compiled (*.oni) file as part of a relative file path, e.g. '''doors/wh_door1dbl.oni''' | |||
'''<font color="#0A0"><DOOR Id="7233"></font>''' | |||
<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> | |||
<nowiki><Center>-652 16.5 -753</Center></nowiki> | |||
<SquaredActivationRadius>900</SquaredActivationRadius> | |||
<Texture1></Texture1> | |||
<Texture2></Texture2> | |||
<Events> | |||
<ActivateTurret TargetId="1" /> | |||
</Events> | |||
</OSD> | |||
'''<font color="#0A0"></DOOR></font>''' | |||
== | ==Tags== | ||
{| class="wikitable" width=100% | {| class="wikitable" width=100% | ||
!width=280px| | !width=280px| Tag | ||
!width=60px| | !width=60px| Type | ||
! | ! Description | ||
|- | |- | ||
| <Objects> | | <Objects> | ||
Line 64: | Line 51: | ||
| <DOOR Id="..."> | | <DOOR Id="..."> | ||
| int32 | | int32 | ||
| Use any number | | Use any number; no need to for it be unique. — For level imports, use <Door>. | ||
|- | |- | ||
| <Header> | | <Header> | ||
Line 72: | Line 59: | ||
| <Flags> | | <Flags> | ||
| flag | | flag | ||
| Object flags. Used | | Object flags. Used during development, ignore them. — Optional tag for level import. | ||
|- | |- | ||
| <Position> | | <Position> | ||
| float x3 | | float x3 | ||
| | | XYZ position. For new doors, use a Y of 0 if the ground plane is 0. — Optional tag for level import, but should be used in any case. | ||
|- | |- | ||
| <Rotation> | | <Rotation> | ||
| float x3 | | float x3 | ||
| | | XYZ rotation. "chr_debug_characters = 1" shows the player's facing, which can be used for door's Y value. X and Z should be 0. — Optional tag for level import. | ||
|- | |- | ||
| <OSD> | | <OSD> | ||
Line 88: | Line 75: | ||
|valign="top"| <Class> | |valign="top"| <Class> | ||
|valign="top"| char[63] | |valign="top"| char[63] | ||
| <font color="#777777">DOOR</font>file<font color="#777777">.oni</font> <font color="#777777">(don't use file prefix/suffix)</font> For level import use | | <font color="#777777">DOOR</font>file<font color="#777777">.oni</font> <font color="#777777">(don't use file prefix/suffix)</font> For level import via [[XML:ONLV|XML master file]], use a pre-compiled (*.oni) file as part of a relative file path, e.g. '''doors/TCdouble.oni''' | ||
|- | |- | ||
| <DoorId> | | <DoorId> | ||
| int16 | | int16 | ||
| Can be used with [http://ssg.oni2.net/commands.htm#door BSL commands]. | | Can be used with [http://ssg.oni2.net/commands.htm#door BSL commands]. — Optional tag for level import but should be used in any case. | ||
|- | |- | ||
| <KeyId> | | <KeyId> | ||
| int16 | | int16 | ||
| Ignore it. | | Ignore it. — Optional tag for level import. | ||
|- | |- | ||
|valign="top"| <Flags> | |valign="top"| <Flags> | ||
Line 103: | Line 90: | ||
: None | : None | ||
: InitialLocked | : InitialLocked | ||
:: | :: Door is initially locked (at level load or after calling reset_mechanics) | ||
: InDoorFrame | : InDoorFrame | ||
:: ? (no visible effect) | :: ? (no visible effect) | ||
: Manual | : Manual | ||
:: | :: Require player to press action key to open door | ||
: DoubleDoor | : DoubleDoor | ||
:: | :: A door with two parts | ||
: Mirror | : Mirror | ||
:: | :: Mirrors door along its Z axis | ||
: OneWay | : OneWay | ||
:: | :: One side locked, other side unlocked | ||
: Reverse | : Reverse | ||
:: | :: One side unlocked, other side locked | ||
: Jammed | : Jammed | ||
:: | :: Freeze door (can't open/close) | ||
: InitialOpen | : InitialOpen | ||
|- | |- | ||
|valign="top"| <nowiki><Center></nowiki> | |valign="top"| <nowiki><Center></nowiki> | ||
|valign="top"| float x3 | |valign="top"| float x3 | ||
| X Y Z. <nowiki><Center></nowiki> Y is usually 15 units above door's <Position> Y. | | X Y Z. <nowiki><Center></nowiki> Y is usually 15 units above door's <Position> Y. — Optional tag for level import, but should be used in any case. | ||
|- | |- | ||
|valign="top"| <SquaredActivationRadius> | |valign="top"| <SquaredActivationRadius> | ||
Line 130: | Line 117: | ||
|valign="top"| <Texture1> | |valign="top"| <Texture1> | ||
|valign="top"| char[63] | |valign="top"| char[63] | ||
| <font color="#777777">TXMP</font>file<font color="#777777">.oni</font> <font color="#777777">(don't use file prefix/suffix)</font> Used to replaces the doors default texture coming with the M3GM. | | <font color="#777777">TXMP</font>file<font color="#777777">.oni</font> <font color="#777777">(don't use file prefix/suffix)</font> Used to replaces the doors default texture coming with the M3GM. — Optional tag for level import. | ||
'''Use a capitalized file name for this TXMP.''' | |||
|- | |- | ||
| <Texture2> | | <Texture2> | ||
| char[63] | | char[63] | ||
| <font color="#777777">TXMP</font>file<font color="#777777">.oni</font> <font color="#777777">(don't use file prefix/suffix)</font> Can be used with double doors. | | <font color="#777777">TXMP</font>file<font color="#777777">.oni</font> <font color="#777777">(don't use file prefix/suffix)</font> Can be used with double doors. — Optional tag for level import. | ||
'''Use a capitalized file name for this TXMP.''' | |||
|- | |- | ||
| <Events> | | <Events> | ||
| int16 | | int16 | ||
| You can use multiple events. | | You can use multiple events. — Optional tag for level import. | ||
|- | |- | ||
|valign="top"| <Script Function="call_this_BSL_function" /> | |valign="top"| <Script Function="call_this_BSL_function" /> | ||
|valign="top"| char[32] | |valign="top"| char[32] | ||
| Name of BSL function. For example if you use "call_this_BSL_function" here then write in BSL | | Name of BSL function. For example if you use "call_this_BSL_function" here, then write in your BSL script: | ||
''func call_this_BSL_function | ''func call_this_BSL_function | ||
{ | { | ||
Line 188: | Line 177: | ||
| | | | ||
|} | |} | ||
{{XML}} | {{XML}} |
Latest revision as of 15:54, 12 May 2024
DOOR : Door | ||
---|---|---|
XML
AKEV << Other file types >> CONS TMBD << Other BINA >> ONIE CONS << Other OBJC >> FLAG |
General information
- The XML on this page was tested with OniSplit version 0.9.61.0 and 0.9.82.0.
- A BINACJBODOOR is level-specific (levelx_Final.dat).
- All original doors and their locklights can be seen HERE.
File structure
<?xml version="1.0" encoding="utf-8"?> <Oni> <Objects> [...] </Objects> </Oni>
[...] means at least one door. Paste all your door data into there (this includes the <DOOR Id="...">/</DOOR> tag).
Example
For level import via XML master file, use a pre-compiled (*.oni) file as part of a relative file path, e.g. doors/wh_door1dbl.oni
<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" /> </Events> </OSD> </DOOR>
Tags
Tag | Type | Description |
---|---|---|
<Objects> | - | |
<DOOR Id="..."> | int32 | Use any number; no need to for it be unique. — For level imports, use <Door>. |
<Header> | - | |
<Flags> | flag | Object flags. Used during development, ignore them. — Optional tag for level import. |
<Position> | float x3 | XYZ position. For new doors, use a Y of 0 if the ground plane is 0. — Optional tag for level import, but should be used in any case. |
<Rotation> | float x3 | XYZ rotation. "chr_debug_characters = 1" shows the player's facing, which can be used for door's Y value. X and Z should be 0. — Optional tag for level import. |
<OSD> | - | |
<Class> | char[63] | DOORfile.oni (don't use file prefix/suffix) For level import via XML master file, use a pre-compiled (*.oni) file as part of a relative file path, e.g. doors/TCdouble.oni |
<DoorId> | int16 | Can be used with BSL commands. — Optional tag for level import but should be used in any case. |
<KeyId> | int16 | Ignore it. — Optional tag for level import. |
<Flags> | flag | Optional tag for level import.
|
<Center> | float x3 | X Y Z. <Center> Y is usually 15 units above door's <Position> Y. — Optional tag for level import, but should be used in any case. |
<SquaredActivationRadius> | float | Optional tag for level import; default value is 900. |
<Texture1> | char[63] | TXMPfile.oni (don't use file prefix/suffix) Used to replaces the doors default texture coming with the M3GM. — Optional tag for level import.
Use a capitalized file name for this TXMP. |
<Texture2> | char[63] | TXMPfile.oni (don't use file prefix/suffix) Can be used with double doors. — Optional tag for level import.
Use a capitalized file name for this TXMP. |
<Events> | int16 | You can use multiple events. — Optional tag for level import. |
<Script Function="call_this_BSL_function" /> | char[32] | Name of BSL function. For example if you use "call_this_BSL_function" here, then write in your BSL script:
func call_this_BSL_function { dmsg "hi" } |
<ActivateTurret TargetId="Id" /> | int16 | |
<DeactivateTurret TargetId="Id" /> | int16 | |
<ActivateConsole TargetId="Id" /> | int16 | |
<DeactivateConsole TargetId="Id" /> | int16 | |
<ActivateAlarm TargetId="Id" /> | int16 | |
<DeactivateAlaram TargetId="Id" /> | int16 | |
<ActivateTrigger TargetId="Id" /> | int16 | |
<DeactivateTrigger TargetId="Id" /> | int16 | |
<LockDoor TargetId="Id" /> | int16 | |
<UnlockDoor TargetId="Id" /> | int16 |