XML:BINA/OBJC/DOOR: Difference between revisions
m (copy-edit) |
Paradox-01 (talk | contribs) mNo edit summary |
||
| Line 17: | Line 17: | ||
==Example== | ==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>''' | '''<font color="#0A0"><DOOR Id="7233"></font>''' | ||
<Header> | <Header> | ||
| Line 24: | Line 25: | ||
</Header> | </Header> | ||
<OSD> | <OSD> | ||
<Class>wh_door1dbl</Class> | '''<Class>wh_door1dbl</Class>''' | ||
<DoorId>1</DoorId> | <DoorId>1</DoorId> | ||
<KeyId>0</KeyId> | <KeyId>0</KeyId> | ||
| Line 74: | 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> | ||
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 |
