19,499
edits
m (added family to footer template call) |
(separated header data from OSD; corrected/explained flags) |
||
Line 12: | Line 12: | ||
{{OBDtr| 0x08 | int32 |00FF00| 27 00 00 00 | 39 | object list version }} | {{OBDtr| 0x08 | int32 |00FF00| 27 00 00 00 | 39 | object list version }} | ||
{{OBDtr| 0x0C | int32 |00FFFF| FC 00 00 00 | 252 | size of the following element in bytes }} | {{OBDtr| 0x0C | int32 |00FFFF| FC 00 00 00 | 252 | size of the following element in bytes }} | ||
{{ | {{OBDtrgroup}} | ||
{{OBDtrsubgroup}} | |||
{{OBDtr| 0x00 | char[4] |FFC8C8| 52 4F 4F 44 | DOOR | door }} | {{OBDtr| 0x00 | char[4] |FFC8C8| 52 4F 4F 44 | DOOR | door }} | ||
{{OBDtr| 0x04 | int32 |FFFFC8| 57 12 00 00 | 6421 | object ID }} | {{OBDtr| 0x04 | int32 |FFFFC8| 57 12 00 00 | 6421 | object ID }} | ||
Line 23: | Line 24: | ||
{{OBDtr| 0x20 | float |FFC8FF| 00 00 00 00 | 0.000000 | rotation on the z-axis in degrees }} | {{OBDtr| 0x20 | float |FFC8FF| 00 00 00 00 | 0.000000 | rotation on the z-axis in degrees }} | ||
{{OBDtr2|0x24 | char[63] |FFC800| TCdouble | door type name (reference to 00957-TCdouble.[[OBD:DOOR|DOOR]] of level 0) }} | {{OBDtr2|0x24 | char[63] |FFC800| TCdouble | door type name (reference to 00957-TCdouble.[[OBD:DOOR|DOOR]] of level 0) }} | ||
{{OBDtrsubgroup|end}} | |||
{{OBDtr| 0x63 | int16 |C800C8| 01 00 | 1 | door ID }} | {{OBDtr| 0x63 | int16 |C800C8| 01 00 | 1 | door ID }} | ||
{{OBDtr| 0x65 | int16 |C87C64| 00 00 | 0 | key ID }} | {{OBDtr| 0x65 | int16 |C87C64| 00 00 | 0 | key ID }} | ||
{{OBDtr| 0x67 | bitset16 |B0C3D4| 15 00 | 21, 0 | door options; the following bits are possible: | {{OBDtr| 0x67 | bitset16 |B0C3D4| 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:<br> | ||
:0x'''01''' 00 - initially locked (at level load or after calling [[reset_mechanics]]) | |||
:0x'''01''' 00 - | :0x'''02''' 00 - runtime: currently locked | ||
:0x'''02''' 00 - | :0x'''04''' 00 - "in door frame"; door has a frame attachment (this is the norm, see below for exceptions; the frame geometry is defined in [[AKDA]] and will be looked up from DOOR's position above, which is identical to the related AKDA quads) | ||
:0x'''04''' 00 - | :0x'''10''' 00 - "manual"; require player to press action key to open door | ||
:0x''' | :0x'''20''' 00 - runtime: door is in process of opening/closing | ||
:0x'''40''' 00 - runtime: "test mode" (apparently was a test of new door code, but is now always on) | |||
:0x'''20''' 00 - | |||
:0x'''40''' 00 - | |||
:0x'''80''' 00 - double door | :0x'''80''' 00 - double door | ||
:0x00 '''01''' - | :0x00 '''01''' - mirrored door (one of the double doors is flipped along Y axis relative to the other) | ||
:0x00 '''02''' - one way door (one side locked, other side unlocked) | :0x00 '''02''' - one way door (one side is locked, other side unlocked) | ||
:0x00 '''04''' - | :0x00 '''04''' - one way door, reverse (now the other side is locked) | ||
:0x00 '''08''' - | :0x00 '''08''' - runtime: jammed (controlled by script via [[door_jam]] and [[door_unjam]]) | ||
:0x00 '''10''' - | :0x00 '''10''' - "initially open" (unimplemented feature) | ||
:0x00 '''20''' - | :0x00 '''20''' - runtime: "give up on collision" (unimplemented) | ||
: | |||
}} | }} | ||
{{OBDtr |0x69 | float |FFDDDD| 00 00 4F 43 | 207.000000 | x-position of the center of the door }} | {{OBDtr |0x69 | float |FFDDDD| 00 00 4F 43 | 207.000000 | x-position of the center of the door }} | ||
Line 54: | Line 51: | ||
{{OBDtr |0xE9 | |8C8CCC| | | padding }} | {{OBDtr |0xE9 | |8C8CCC| | | padding }} | ||
|} | |} | ||
;Instances NOT using | |||
==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 | :2:26; 3:62; 6:1,41,42,43,45,46,47,48,49; 8:73; 18:97; 19:43,44 | ||
;Instances using | ;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; | :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 | :3:50; 6:29,31,33,46,47; 8:14; 10:11,14,18,20; 18:14,42,70 |