OBD:DOOR: Difference between revisions
| No edit summary | m (...) | ||
| (19 intermediate revisions by 6 users not shown) | |||
| Line 1: | Line 1: | ||
| :''This is about the door class resource. For door instances, see [[OBD:BINA/OBJC/DOOR]]. | |||
| {{OBD_File_Header | type=DOOR | prev=CRSA | next=DPge | name=Door | family=Level | align=center}} | |||
| [[image:door_all.gif]] | |||
| {{Table}} | |||
| {{OBDth}} | |||
| {{OBDtr| 0x00 | res_id   |FF0000| 01 2B 03 00 | 811      | 00811-wh_door1side.DOOR }} | |||
| {|  | {{OBDtr| 0x04 | lev_id   |FFFF00| 01 00 00 00 | 0        | level 0 }} | ||
| {{OBDtr| 0x08 | link     |FFC8C8| 01 2C 03 00 | 812      | link to 00812-.[[OBD:OFGA|OFGA]] }} | |||
| {{OBDtr| 0x0C | link     |FFFFC8| 00 00 00 00 | unused   | link to another [[OBD:OFGA|OFGA]] file; never used in Oni }} | |||
| |  | {{OBDtr| 0x10 | link     |C8FFC8| 01 28 03 00 | 808      | link to 00808-small_anim.[[OBD:OBAN|OBAN]] }} | ||
| {{OBDtr| 0x14 | float    |C8FFFF| 00 00 00 3F | 0.500000 | passable sound attenuation;  0 - no effect, 1 - completely attenuated }} | |||
| {{OBDtr| 0x18 | int32    |FFC8FF| 02 00 00 00 | 2        | AI sound types which are allowed to pass, see below }} | |||
| {{OBDtr| 0x1C | int32    |FFC800| FF FF FF FF | -1       | AI sound type: | |||
| | 811 | :-1 - no sound | ||
| :0 - unimportant | |||
| | | :1 - interest | ||
| |  | :2 - danger | ||
| | 0 | :3 - melee | ||
| :4 - gunfire }} | |||
| | | {{OBDtr| 0x20 | float    |C800C8| 00 00 C8 42 |100.000000| AI sound radius }} | ||
| |  | {{OBDtr2|0x24 | char[32] |C87C64| door2_shrt             | door open sound (reference to 08355-door2_shrt.[[OBD:OSBD/OSIm|imp.OSBD]]) }} | ||
| | 812 | {{OBDtr2|0x44 | char[32] |B0C3D4| door2_shrt             | door close sound (reference to 08355-door2_shrt.[[OBD:OSBD/OSIm|imp.OSBD]]) }} | ||
| {{OBDtr| 0x64 | offset |E7CEA5| 00 00 00 00 | 0        | raw offset for open impulse sound; runtime only }} | |||
| | | {{OBDtr| 0x68 | offset |FFDDDD| 00 00 00 00 | 0        | raw offset for close impulse sound; runtime only }} | ||
| |  | |||
| |  | |||
| |  | |||
| | | |||
| |  | |||
| | 808 | |||
| | | |||
| |  | |||
| | 0.500000 | |||
| |  | |||
| | | |||
| |  | |||
| | 2 | |||
| |  | |||
| | | |||
| |  | |||
| |  | |||
| | 100.000000 | |||
| |  | |||
| |  | |||
| | | |||
| |  | |||
| | | |||
| |  | |||
| | 0 | |||
| |  | |||
| | | |||
| |  | |||
| | 0 | |||
| |  | |||
| |} | |} | ||
| '''Geometry and animation''' | |||
| *The geometry referenced here is normally used only when a level is designed. Once a level is created the geometry is baked into the [[OBD:AKEV|environment]] and it is also copied into a separate geometry that is referenced by an [[OBD:OBOA|object]]. The texture referenced by the door geometry may be overridden by the texture specified in the [[OBD:BINA/OBJC/DOOR|door object]]. | |||
| *In contrast, the door animation is used in-game. Unlike other object animations, door animations are "local" or relative; they do not contain the absolute door position, and as a result they can be used for doors in different locations. | |||
| '''About passable sounds''' (fields 0x14, 0x18) | |||
| *Selected sound types (field 0x18) are allowed to pass through a door while the rest of the sound types are halted as if the door were a wall. To be clear, this is in reference to the sound spheres used by the AI; it does not affect a player's ability to hear the actual sounds. | |||
| *0x18: | |||
| :*0 - all sound types allowed through | |||
| :*1 - '''unimportant''' and '''interest''' sound types halted, rest allowed through | |||
| :*2 - '''unimportant''', '''interest''', '''danger''','''melee''' sound types halted, '''gunfire''' type allowed through | |||
| :*3 - all sound types halted | |||
| *When an AI2 sound sphere is allowed to pass, it is "attenuated" (field 0x14) — its reach is shortened. This shortening is not visible via '''ai2_showsounds=1''' (the command will show the whole AI2 sound sphere). The attenuation does not depend on how far from the door the source of the sound is. | |||
| {{OBD_File_Footer | type=DOOR | prev=CRSA | next=DPge | name=Door | family=Level}} | |||
| {{OBD}} | |||
Latest revision as of 03:43, 12 May 2025
- This is about the door class resource. For door instances, see OBD:BINA/OBJC/DOOR.
| 
 |   | 
| Offset | Type | Raw Hex | Value | Description | 
|---|---|---|---|---|
| 0x00 | res_id | 01 2B 03 00 | 811 | 00811-wh_door1side.DOOR | 
| 0x04 | lev_id | 01 00 00 00 | 0 | level 0 | 
| 0x08 | link | 01 2C 03 00 | 812 | link to 00812-.OFGA | 
| 0x0C | link | 00 00 00 00 | unused | link to another OFGA file; never used in Oni | 
| 0x10 | link | 01 28 03 00 | 808 | link to 00808-small_anim.OBAN | 
| 0x14 | float | 00 00 00 3F | 0.500000 | passable sound attenuation; 0 - no effect, 1 - completely attenuated | 
| 0x18 | int32 | 02 00 00 00 | 2 | AI sound types which are allowed to pass, see below | 
| 0x1C | int32 | FF FF FF FF | -1 | AI sound type: 
 | 
| 0x20 | float | 00 00 C8 42 | 100.000000 | AI sound radius | 
| 0x24 | char[32] | door2_shrt | door open sound (reference to 08355-door2_shrt.imp.OSBD) | |
| 0x44 | char[32] | door2_shrt | door close sound (reference to 08355-door2_shrt.imp.OSBD) | |
| 0x64 | offset | 00 00 00 00 | 0 | raw offset for open impulse sound; runtime only | 
| 0x68 | offset | 00 00 00 00 | 0 | raw offset for close impulse sound; runtime only | 
Geometry and animation
- The geometry referenced here is normally used only when a level is designed. Once a level is created the geometry is baked into the environment and it is also copied into a separate geometry that is referenced by an object. The texture referenced by the door geometry may be overridden by the texture specified in the door object.
- In contrast, the door animation is used in-game. Unlike other object animations, door animations are "local" or relative; they do not contain the absolute door position, and as a result they can be used for doors in different locations.
About passable sounds (fields 0x14, 0x18)
- Selected sound types (field 0x18) are allowed to pass through a door while the rest of the sound types are halted as if the door were a wall. To be clear, this is in reference to the sound spheres used by the AI; it does not affect a player's ability to hear the actual sounds.
- 0x18:
- 0 - all sound types allowed through
- 1 - unimportant and interest sound types halted, rest allowed through
- 2 - unimportant, interest, danger,melee sound types halted, gunfire type allowed through
- 3 - all sound types halted
 
- When an AI2 sound sphere is allowed to pass, it is "attenuated" (field 0x14) — its reach is shortened. This shortening is not visible via ai2_showsounds=1 (the command will show the whole AI2 sound sphere). The attenuation does not depend on how far from the door the source of the sound is.
| ONI BINARY DATA | 
|---|
| CRSA << Other file types >> DPge | 
| DOOR : Door | 
| Level file | 
