|
|
(26 intermediate revisions by 4 users not shown) |
Line 1: |
Line 1: |
| [[Main Page]] >> [[OBD:Oni Binary Data|Oni Binary Data]] >> [[OBD:File types|File types]] >> [[OBD:BINA|BINA]] >> Door.BINA
| | :''This is about door instances. For the door class resource, see [[OBD:DOOR]] |
| | {{OBD OBJC Header | align=center | type=DOOR | prev=CONS | next=FLAG | name=Door|onistuff=b_do}} |
|
| |
|
|
| |
|
| <CENTER>[[OBD:BINA/Console|<==]] <FONT SIZE=5>Door.BINA</FONT> [[OBD:BINA/Flag|==>]]</CENTER>
| | [[Image:bin_r_do.gif]] |
|
| |
|
|
| |
|
| http://www6.fh-eberswalde.de/user/dkriesch/onistuff/images/bin_r_do.gif
| | {{Table}} |
| | {{OBDth}} |
| | {{OBDtr| 0x00 | char[4] |FF0000| 43 4A 42 4F | OBJC | objects }} |
| | {{OBDtr| 0x04 | int32 |FFFF00| 08 38 00 00 | 14344 | size of the complete door part from this position in bytes }} |
| | {{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 }} |
| | {{OBDtrgroup}} |
| | {{OBDtrsubgroup}} |
| | {{OBDtr| 0x00 | char[4] |FFC8C8| 52 4F 4F 44 | DOOR | door }} |
| | {{OBDtr| 0x04 | int32 |FFFFC8| 15 19 00 00 | 6421 | object ID }} |
| | {{OBDtr| 0x08 | int32 |C8FFC8| 08 00 00 00 | 8 | object flags; only used at runtime in Tool mode }} |
| | {{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 }} |
| | {{OBDtr| 0x14 | float |C8FFFF| 98 7F CC C3 |-408.996826| z position of the bottom of the door }} |
| | {{OBDtr| 0x18 | float |FFC8FF| 00 00 00 00 | 0.000000 | rotation on the x axis in degrees }} |
| | {{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 }} |
| | {{OBDtrsubgroup|end}} |
| | {{OBDtr2|0x24 | char[63] |FFC800| TCdouble | door class name (reference to 00957-TCdouble.[[OBD:DOOR|DOOR]] of level 0) }} |
| | {{OBDtr| 0x63 | int16 |C800C8| 01 00 | 1 | door 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, 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'''02''' 00 - runtime: currently locked |
| | :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'''10''' 00 - "manual"; require player to press action key to open door |
| | :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'''80''' 00 - double door |
| | :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 is locked, other side unlocked) |
| | :0x00 '''04''' - one way door, reverse (now the other side is locked) |
| | :0x00 '''08''' - runtime: jammed (controlled by script via [[door_jam]] and [[door_unjam]]) |
| | :0x00 '''10''' - "initially open" (unimplemented feature) |
| | :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 |0x6D | float |FFDDDD| 00 00 F6 42 | 123.000000 | y-position (height) of the center of the door }} |
| | {{OBDtr |0x71 | float |FFDDDD| 98 7F CC C3 | -408.996826| z-position of the center of the door }} |
| | {{OBDtr |0x75 | float |64AAAA| 00 00 61 44 | 900.000000 | activation radius (squared) }} |
| | {{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) }} |
| | {{OBDtr |0xE7 | int16 |8C8CCC| 00 00 | 0 | number of event blocks following; see below }} |
| | {{OBDtr |0xE9 | uint32 |8C8CCC| 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 [[OBD:BINA/OBJC/CONS#Events|BINA/OBJC/CONS]] for examples and documentation of the event feature. |
|
| |
|
| {| BORDER=0 WIDTH=100% CELLPADDING=2 CELLSPACING=1 BGCOLOR="#000000" border=1
| | ==Some interesting doors== |
| |- BGCOLOR="#FFDDBB" ALIGN=CENTER
| | Doors below are given as "level #:door ID". |
| | WIDTH=15% | <B>Hex</B>
| | |
| | WIDTH=15% | <B>Translation</B>
| | ;Instances NOT using the "frame attachment" flag |
| | WIDTH=70% | <B>Meaning</B>
| | :2:26; 3:62; 6:1,41,42,43,45,46,47,48,49; 8:73; 18:97; 19:43,44 |
| |- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| | |
| | BGCOLOR="#FF0000" | 43 4A 42 4F
| | ;Instances using "mirrored door" flag: |
| | OBJC
| | :1:4,6,7,9,15,16,24,25,26,27,32,33,36,37,61,68,79,92,108; |
| | ALIGN=LEFT | object
| | :3:50; 6:29,31,33,46,47; 8:14; 10:11,14,18,20; 18:14,42,70 |
| |- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| | :The mirroring is complementary to the transformation in the [[ONLV]]'s [[OBOA]]. |
| | BGCOLOR="#FFFF00" | 08 38 00 00
| | |
| | 14344
| | ;Tool Mode dialog |
| | ALIGN=LEFT | 14344 bytes is the length of the following door part from this position
| |
| |- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| |
| | BGCOLOR="#00FF00" | 27 00 00 00
| |
| | 39
| |
| | ALIGN=LEFT | identification number for the weapon classes; in every level the same; do not change it
| |
| |- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| |
| | BGCOLOR="#00FFFF" | FC 00 00 00
| |
| | 252
| |
| | ALIGN=LEFT | 252 bytes (15.75 lines) is the lenght of the following package (area edged in black)
| |
| |- ALIGN=CENTER VALIGN=TOP BGCOLOR="#000000"
| |
| | COLSPAN=3 | <FONT SIZE=2 COLOR="#FFFFFF">Below follows the first package.</FONT>
| |
| |- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| |
| | BGCOLOR="#FFC8C8" | 52 4F 4F 44
| |
| | DOOR
| |
| | ALIGN=LEFT | door
| |
| |- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| |
| | BGCOLOR="#FFFFC8" | 15 19 00 00
| |
| | 6421
| |
| | ALIGN=LEFT | old file ID
| |
| |- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| |
| | BGCOLOR="#C8FFC8" | 08 00 00 00
| |
| | 8
| |
| | ALIGN=LEFT | unknown
| |
| |- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| |
| | BGCOLOR="#C8FFFF" | 00 00 4F 43
| |
| | 207.000000
| |
| | ALIGN=LEFT | x-position of the bottom of the door
| |
| |- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| |
| | BGCOLOR="#C8FFFF" | 00 00 D8 42
| |
| | 108.000000
| |
| | ALIGN=LEFT | y-position (height) of the bottom of the door
| |
| |- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| |
| | BGCOLOR="#C8FFFF" | <NOBR>98 7F CC C3</NOBR>
| |
| | -408.996826
| |
| | ALIGN=LEFT | z-position of the bottom of the door
| |
| |- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| |
| | BGCOLOR="#FFC8FF" | 00 00 00 00
| |
| | 0.000000
| |
| | ALIGN=LEFT | rotation on the x-axis in degrees
| |
| |- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| |
| | BGCOLOR="#FFC8FF" | 67 85 25 3D
| |
| | 0,040410
| |
| | ALIGN=LEFT | rotation on the y-axis in degrees
| |
| |- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| |
| | BGCOLOR="#FFC8FF" | 00 00 00 00
| |
| | 0.000000
| |
| | ALIGN=LEFT | rotation on the z-axis in degrees
| |
| |- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| |
| | BGCOLOR="#FFC800" COLSPAN=2 | <TT>TCdouble</TT>
| |
| | ALIGN=LEFT | name of the door type (00957-TCdouble.<A HREF="oni_door.htm">DOOR</A> of level 0)
| |
| |- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| |
| | BGCOLOR="#C800C8" | 01 00
| |
| | 1
| |
| | ALIGN=LEFT | door ID
| |
| |- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| |
| | BGCOLOR="#C87C64" | 00 00
| |
| | 0
| |
| | ALIGN=LEFT | unknown
| |
| |- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| |
| | BGCOLOR="#B0C3D4" | 15
| |
| | 21
| |
| | ALIGN=LEFT | option 1, it's a bitset, so the following options are possible (values in dec):
| |
| {| BORDER=0 CELLPADDING=0 CELLSPACING=0
| |
| |- VALIGN=TOP
| |
| | ALIGN=RIGHT | 0 -
| |
| | nothing
| |
| |- VALIGN=TOP
| |
| | ALIGN=RIGHT | 1 -
| |
| | door locked
| |
| |- VALIGN=TOP
| |
| | ALIGN=RIGHT | 2 -
| |
| | unknown
| |
| |- VALIGN=TOP
| |
| | ALIGN=RIGHT | 4 -
| |
| | unknown
| |
| |- VALIGN=TOP
| |
| | ALIGN=RIGHT | 8 -
| |
| | unknown
| |
| |- VALIGN=TOP
| |
| | ALIGN=RIGHT | 16 -
| |
| | open with [Ctrl]
| |
| |- VALIGN=TOP
| |
| | ALIGN=RIGHT | 32 -
| |
| | unknown
| |
| |- VALIGN=TOP
| |
| | ALIGN=RIGHT | 64 -
| |
| | unknown
| |
| |- VALIGN=TOP
| |
| | ALIGN=RIGHT | <NOBR>128 - </NOBR>
| |
| | double door
| |
| |}<P>
| |
| |- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| |
| | BGCOLOR="#E7CEA5" | 00
| |
| | 0
| |
| | ALIGN=LEFT | option 2, it's a bitset, so the following options are possible (values in dec):<P>
| |
| {| BORDER=0 CELLPADDING=0 CELLSPACING=0
| |
| |- VALIGN=TOP
| |
| | ALIGN=RIGHT | 0 -
| |
| | nothing
| |
| |- VALIGN=TOP
| |
| | ALIGN=RIGHT | 1 -
| |
| | unknown
| |
| |- VALIGN=TOP
| |
| | ALIGN=RIGHT | 2 -
| |
| | one way door (one side locked, other side unlocked)
| |
| |- VALIGN=TOP
| |
| | ALIGN=RIGHT | 4 -
| |
| | reverse of the one way door (now the other side is locked)
| |
| |- VALIGN=TOP
| |
| | ALIGN=RIGHT | 8 -
| |
| | unknown
| |
| |- VALIGN=TOP
| |
| | ALIGN=RIGHT | 16 -
| |
| | unknown
| |
| |- VALIGN=TOP
| |
| | ALIGN=RIGHT | 32 -
| |
| | unknown
| |
| |- VALIGN=TOP
| |
| | ALIGN=RIGHT | 64 -
| |
| | unknown
| |
| |- VALIGN=TOP
| |
| | ALIGN=RIGHT | <NOBR>128 - </NOBR>
| |
| | unknown
| |
| |}<P>
| |
| |- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| |
| | BGCOLOR="#FFDDDD" | 00 00 4F 43
| |
| | 207.000000
| |
| | ALIGN=LEFT | x-position of the center of the door
| |
| |- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| |
| | BGCOLOR="#FFDDDD" | 00 00 F6 42
| |
| | 123.000000
| |
| | ALIGN=LEFT | y-position (height) of the center of the door
| |
| |- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| |
| | BGCOLOR="#FFDDDD" | 98 7F CC C3
| |
| | -408.996826
| |
| | ALIGN=LEFT | z-position of the center of the door
| |
| |- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| |
| | BGCOLOR="#64AAAA" | 00 00 61 44
| |
| | 900.000000
| |
| | ALIGN=LEFT | activation radius
| |
| |- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| |
| | BGCOLOR="#EBEBEB" COLSPAN=2 | <TT>_DOOR_RL_FLOOR3</TT>
| |
| | ALIGN=LEFT | name of the first door texture (00216-_DOOR_RL_FLOOR3.<A HREF="oni.txmp.htm">TXMP</A>)
| |
| |- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| |
| | BGCOLOR="#8C8CCC" COLSPAN=2 | not used
| |
| | ALIGN=LEFT | name of the second door texture
| |
| |}
| |
|
| |
|
| | [[Image:Tool dialog - Door Properties.png]] |
|
| |
|
| <CENTER>[[OBD:BINA/Console|<==]] <FONT SIZE=5>Door.BINA</FONT> [[OBD:BINA/Flag|==>]]</CENTER>
| |
|
| |
|
| | {{OBD OBJC Footer | type=DOOR | prev=CONS | next=FLAG | name=Door | family=Level}} |
|
| |
|
| [[Main Page]] >> [[OBD:Oni Binary Data|Oni Binary Data]] >> [[OBD:File types|File types]] >> [[OBD:BINA|BINA]] >> Door.BINA
| | {{OBD}} |