- This is about door instances. For the door class resource, see OBD:DOOR
|
![]() |
Offset | Type | Raw Hex | Value | Description |
---|---|---|---|---|
0x00 | char[4] | 43 4A 42 4F | OBJC | objects |
0x04 | int32 | 08 38 00 00 | 14344 | size of the complete door part from this position in bytes |
0x08 | int32 | 27 00 00 00 | 39 | object list version |
0x0C | int32 | FC 00 00 00 | 252 | size of the following element in bytes |
First element (black outline) | ||||
Generic object data | ||||
0x00 | char[4] | 52 4F 4F 44 | DOOR | door |
0x04 | int32 | 15 19 00 00 | 6421 | object ID |
0x08 | int32 | 08 00 00 00 | 8 | object flags; only used at runtime in Tool mode |
0x0C | float | 00 00 4F 43 | 207.000000 | x position of the bottom of the door |
0x10 | float | 00 00 D8 42 | 108.000000 | y position (height) of the bottom of the door |
0x14 | float | 98 7F CC C3 | -408.996826 | z position of the bottom of the door |
0x18 | float | 00 00 00 00 | 0.000000 | rotation on the x axis in degrees |
0x1C | float | 67 85 25 3D | 0.040410 | rotation on the y axis in degrees |
0x20 | float | 00 00 00 00 | 0.000000 | rotation on the z axis in degrees |
Object-specific data | ||||
0x24 | char[63] | TCdouble | door class name (reference to 00957-TCdouble.DOOR of level 0) | |
0x63 | int16 | 01 00 | 1 | door ID |
0x65 | int16 | 00 00 | 0 | key ID |
0x67 | bitset16 | 15 00 | 21, 0 | door options; the following bits are possible, but note that the "runtime" flags are not stored in data but only used by the engine at runtime to track door states:
|
0x69 | float | 00 00 4F 43 | 207.000000 | x-position of the center of the door |
0x6D | float | 00 00 F6 42 | 123.000000 | y-position (height) of the center of the door |
0x71 | float | 98 7F CC C3 | -408.996826 | z-position of the center of the door |
0x75 | float | 00 00 61 44 | 900.000000 | activation radius (squared) |
0x79 | char[63] | _DOOR_RL_FLOOR3 | first door texture (reference to 00216-_DOOR_RL_FLOOR3.TXMP) | |
0xA8 | char[63] | unused | second door texture (reference to a TXMP file) | |
0xE7 | int16 | 00 00 | 0 | number of event blocks following; see below |
0xE9 | uint32 | 00 00 00 | alignment padding |
Events
An event can be executed when a door is locked or unlocked. No events are attached to this sample DOOR, so see BINA/OBJC/CONS for examples and documentation of the event feature.
Some interesting doors
Doors below are given as "level #:door ID".
- Instances NOT using the "frame attachment" flag
- 2:26; 3:62; 6:1,41,42,43,45,46,47,48,49; 8:73; 18:97; 19:43,44
- Instances using "mirrored door" flag
- 1:4,6,7,9,15,16,24,25,26,27,32,33,36,37,61,68,79,92,108;
- 3:50; 6:29,31,33,46,47; 8:14; 10:11,14,18,20; 18:14,42,70
- The mirroring is complementary to the transformation in the ONLV's OBOA.
- Tool Mode dialog
ONI BINARY DATA |
---|
AKVA << Other file types >> CBPI |
BINA : Binary data |
TMBD << Other BINA >> ONIE |
OBJC : Objects |
CONS << Other OBJC >> FLAG |
DOOR : Door |
Level file |