OBD:BINA/OBJC/DOOR: Difference between revisions

From OniGalore
< OBD:BINA‎ | OBJC
Jump to navigation Jump to search
mNo edit summary
m (added family to footer template call)
 
(15 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{OBD OBJC Header|align=right|type=DOOR|prev=CONS|next=FLAG|name=Door|onistuff=b_do}}
:''This is about door instances. For the door class resource, see [[OBD:DOOR]]
;Blue Box Beta WMDD
{{OBD OBJC Header | align=center | type=DOOR | prev=CONS | next=FLAG | name=Door|onistuff=b_do}}
http://www6.fh-eberswalde.de/user/dkriesch/oni/bina_door.gif




----
[[Image:bin_r_do.gif]]
----
http://www6.fh-eberswalde.de/user/dkriesch/onistuff/images/bin_r_do.gif




{|{{OBDtable}}
{{Table}}
|align=center|
{{OBDth}}
{|{{OBDtable}}
{{OBDtr| 0x00 | char[4]  |FF0000| 43 4A 42 4F | OBJC      | objects }}
|- bgcolor="#FFDDBB" align="CENTER"
{{OBDtr| 0x04 | int32    |FFFF00| 15 19 00 00 | 14344    | size of the complete door part from this position in bytes }}
!width="15%" | Hex
{{OBDtr| 0x08 | int32    |00FF00| 27 00 00 00 | 39        | object list version }}
!width="15%" | Translation
{{OBDtr| 0x0C | int32    |00FFFF| FC 00 00 00 | 252      | size of the following element in bytes }}
!width="70%" | Meaning
{{OBDtrBK}}
|-
{{OBDtr| 0x00 | char[4]  |FFC8C8| 52 4F 4F 44 | DOOR     | door }}
| bgcolor="#FFC8C8" | 52 4F 4F 44
{{OBDtr| 0x04 | int32    |FFFFC8| 57 12 00 00 | 6421     | object ID }}
| DOOR
{{OBDtr| 0x08 | int32    |C8FFC8| 08 00 00 00 | 8         | object flags }}
| align="LEFT" | door
{{OBDtr| 0x0C | float    |C8FFFF| 00 00 4F 43 | 207.000000| x-position of the bottom of the door }}
|-
{{OBDtr| 0x10 | float    |C8FFFF| 00 00 D8 42 | 108.000000| y-position (height) of the bottom of the door }}
| bgcolor="#FFFFC8" | 15 19 00 00
{{OBDtr| 0x14 | float    |C8FFFF| 98 7F CC C3 |-408.996826| z-position of the bottom of the door }}
| 6421
{{OBDtr| 0x18 | float    |FFC8FF| 00 00 00 00 | 0.000000 | rotation on the x-axis in degrees }}
| align="LEFT" | old file ID
{{OBDtr| 0x1C | float    |FFC8FF| 67 85 25 3D | 0.040410 | rotation on the y-axis in degrees }}
|-
{{OBDtr| 0x20 | float    |FFC8FF| 00 00 00 00 | 0.000000 | rotation on the z-axis in degrees }}
| bgcolor="#C8FFC8" | 08 00 00 00
{{OBDtr2|0x24 | char[63] |FFC800| TCdouble               | door type name (reference to 00957-TCdouble.[[OBD:DOOR|DOOR]] of level 0) }}
| 8
{{OBDtr| 0x63 | int16    |C800C8| 01 00       | 1         | door ID }}
| align="LEFT" | unknown
{{OBDtr| 0x65 | int16    |C87C64| 00 00       | 0         | key ID }}
|-
{{OBDtr| 0x67 | bitset16 |B0C3D4| 15 00      | 21, 0    | door options; the following bits are possible:
| bgcolor="#C8FFFF" | 00 00 4F 43
 
| 207.000000
:0x'''01''' 00 - "initially locked" (at level load or after calling [[reset_mechanics]])
| align="LEFT" | x-position of the bottom of the door
:0x'''02''' 00 - unknown; never used
|-
:0x'''04''' 00 - unknown; probably "locked" (whatever that means)?
| bgcolor="#C8FFFF" | 00 00 D8 42
:0x'''08''' 00 - unknown; never used
| 108.000000
:0x'''10''' 00 - require player to press '''action''' to open door
| align="LEFT" | y-position (height) of the bottom of the door
:0x'''20''' 00 - unknown; never used
|-
:0x'''40''' 00 - unknown; never used
| bgcolor="#C8FFFF" |
:0x'''80''' 00 - double door
98 7F CC C3
:0x00 '''01''' - "mirror door" (mirrored along door's Z axis)
| -408.996826
:0x00 '''02''' - one way door (one side locked, other side unlocked)
| align="LEFT" | z-position of the bottom of the door
:0x00 '''04''' - reverse of the one way door (now the other side is locked)
|-
:0x00 '''08''' - unknown; never used
| bgcolor="#FFC8FF" | 00 00 00 00
:0x00 '''10''' - unknown; never used
| 0.000000
:0x00 '''20''' - unknown; never used
| align="LEFT" | rotation on the x-axis in degrees
:0x00 '''40''' - unknown; never used
|-
:0x00 '''80''' - unknown; never used
| bgcolor="#FFC8FF" | 67 85 25 3D
 
| 0,040410
}}
| align="LEFT" | rotation on the y-axis in degrees
{{OBDtr |0x69 | float    |FFDDDD| 00 00 4F 43 | 207.000000 | x-position of the center of the door }}
|-
{{OBDtr |0x6D | float    |FFDDDD| 00 00 F6 42 | 123.000000 | y-position (height) of the center of the door }}
| bgcolor="#FFC8FF" | 00 00 00 00
{{OBDtr |0x71 | float    |FFDDDD| 98 7F CC C3 | -408.996826| z-position of the center of the door }}
| 0.000000
{{OBDtr |0x75 | float    |64AAAA| 00 00 61 44 | 900.000000 | activation radius (squared) }}
| align="LEFT" | rotation on the z-axis in degrees
{{OBDtr2|0x79 | char[63] |EBEBEB| _DOOR_RL_FLOOR3         | first door texture (reference to 00216-_DOOR_RL_FLOOR3.[[OBD:TXMP|TXMP]]) }}
|-
{{OBDtr2|0xA8 | char[63] |8C8CCC| unused                  | second door texture (reference to a [[OBD:TXMP|TXMP]] file) }}
| colspan="2" bgcolor="#FFC800" | <tt>TCdouble</tt>
{{OBDtr |0xE7 | int16    |8C8CCC| 00 00      | 0          | number of events (executed when the door is opened) }}
| align="LEFT" |link by name to global door class (TCdouble.[[OBD:DOOR|DOOR]])
{{OBDtr |0xE9 |          |8C8CCC|            |            | padding }}
|-
| bgcolor="#C800C8" | 01 00
| 1
| align="LEFT" | door ID
|-
| bgcolor="#C87C64" | 00 00
| 0
| align="LEFT" | unknown
|-
| bgcolor="#B0C3D4" | 15
| 21
| align="LEFT" |option bitset 1 (see below)
|-
| bgcolor="#E7CEA5" | 00
| 0
| align="LEFT" |option bitset 2 (see below)
|-
| bgcolor="#FFDDDD" | 00 00 4F 43
| 207.000000
| align="LEFT" | x-position of the center of the door
|-
| bgcolor="#FFDDDD" | 00 00 F6 42
| 123.000000
| align="LEFT" | y-position (height) of the center of the door
|-
| bgcolor="#FFDDDD" | 98 7F CC C3
| -408.996826
| align="LEFT" | z-position of the center of the door
|-
| bgcolor="#64AAAA" | 00 00 61 44
| 900.000000
| align="LEFT" | activation radius
|-
| colspan="2" bgcolor="#EBEBEB" | <tt>_DOOR_RL_FLOOR3</tt>
| align="LEFT" |first door texture; link by name to local TXMP (00216-_DOOR_RL_FLOOR3.[[OBD:TXMP|TXMP]])
|-
| colspan="2" bgcolor="#8C8CCC" | not used
| align="LEFT" | name of the second door texture
|}
|}
|}
;Instances NOT using bit 0x04 of bitset 0x67 ("locked"?)
;Textures
:(level:door)
:Do global TXMP names work?
:2:26; 3:62; 6:1,41,42,43,45,46,47,48,49; 8:73; 18:97; 19:43,44
;Option bitset 1
:It's not clear what the effect of a "locked" bit would be; "initially locked" is what matters at level load and when calling [[reset_mechanics]]. Maybe "locked" was part of a runtime dump, but is ignored by the engine?
:1 - door locked
;Instances using bit 0x100 of bitset 0x67 ("mirror door")
:2 - unknown
:(level:door)
:4 - unknown
:1:4,6,7,9,15,16,24,25,26,27,32,33,36,37,61,68,79,92,108;
:8 - unknown
:3:50; 6:29,31,33,46,47; 8:14; 10:11,14,18,20; 18:14,42,70
:16 - require player to press '''action''' to open door
:The mirroring is complementary to the transformation in the [[ONLV]]'s [[OBOA]].
:32 - unknown
 
:64 - unknown
;Tool Mode dialog
:128 - double door
 
;Option bitset 2
[[Image:Tool dialog - Door Properties.png]]
:1 - unknown
 
:2 - one way door (one side locked, other side unlocked)
:4 - reverse of the one way door (now the other side is locked)
:8 - unknown
:16 - unknown
:32 - unknown
:64 - unknown
:128 - unknown


{{OBD OBJC Footer | type=DOOR | prev=CONS | next=FLAG | name=Door | family=Level}}


----
{{OBD}}
----
{{OBD TXT|align=center|size=53|onistuff=bina_doors}}
----
----
{{OBD OBJC Footer|type=DOOR|prev=CONS|next=FLAG|name=Door}}

Latest revision as of 21:18, 9 December 2023

This is about door instances. For the door class resource, see OBD:DOOR
ONI BINARY DATA
AKVA << Other file types >> CBPI
BINA : Binary data
TMBD << Other BINA >> ONIE
OBJC : Objects
CONS << Other OBJC >> FLAG
DOOR : Door
XML tutorial
Overview @ Oni Stuff
OBD.png


Bin r do.gif


Offset Type Raw Hex Value Description
0x00 char[4] 43 4A 42 4F OBJC objects
0x04 int32 15 19 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)
0x00 char[4] 52 4F 4F 44 DOOR door
0x04 int32 57 12 00 00 6421 object ID
0x08 int32 08 00 00 00 8 object flags
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
0x24 char[63] TCdouble door type 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:
0x01 00 - "initially locked" (at level load or after calling reset_mechanics)
0x02 00 - unknown; never used
0x04 00 - unknown; probably "locked" (whatever that means)?
0x08 00 - unknown; never used
0x10 00 - require player to press action to open door
0x20 00 - unknown; never used
0x40 00 - unknown; never used
0x80 00 - double door
0x00 01 - "mirror door" (mirrored along door's Z axis)
0x00 02 - one way door (one side locked, other side unlocked)
0x00 04 - reverse of the one way door (now the other side is locked)
0x00 08 - unknown; never used
0x00 10 - unknown; never used
0x00 20 - unknown; never used
0x00 40 - unknown; never used
0x00 80 - unknown; never used


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 events (executed when the door is opened)
0xE9 padding
Instances NOT using bit 0x04 of bitset 0x67 ("locked"?)
(level:door)
2:26; 3:62; 6:1,41,42,43,45,46,47,48,49; 8:73; 18:97; 19:43,44
It's not clear what the effect of a "locked" bit would be; "initially locked" is what matters at level load and when calling reset_mechanics. Maybe "locked" was part of a runtime dump, but is ignored by the engine?
Instances using bit 0x100 of bitset 0x67 ("mirror door")
(level:door)
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

Tool dialog - Door Properties.png


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