OBD:DOOR: Difference between revisions

From OniGalore
Jump to navigation Jump to search
No edit summary
m (changed family)
 
(19 intermediate revisions by 6 users not shown)
Line 1: Line 1:
[[Main Page]] >> [[OBD:Oni Binary Data|Oni Binary Data]] >> [[OBD:File types|File Types]] >> DOOR File
:''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}}




<CENTER>[[OBD:CRSA|<==]] <FONT SIZE=5>DOOR File</FONT> [[OBD:DPge|==>]]<BR>
[[image:door_all.gif]]
<FONT SIZE=2>Door - Level 0 File</FONT></CENTER>




http://www.fh-eberswalde.de/user/dkriesch/onistuff/images/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,  exact formula unknown }}
{{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:
:-1 - no sound
:0 - unimportant
:1 - interest
:2 - danger
: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]]) }}
{{OBDtr2|0x44 | char[32] |B0C3D4| door2_shrt            | door close sound (reference to 08355-door2_shrt.[[OBD:OSBD/OSIm|imp.OSBD]]) }}
{{OBDtr| 0x64 | int32    |E7CEA5| 00 00 00 00 | 0        | runtime only }}
{{OBDtr| 0x68 | int32    |FFDDDD| 00 00 00 00 | 0        | 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 [[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.


<TABLE BORDER=1 WIDTH=100% CELLPADDING=2 CELLSPACING=0>
'''About passable sounds''' (fields 0x14, 0x18)
<TR ALIGN=CENTER BGCOLOR="#FFDDBB"><TD WIDTH=15%><B>Hex</B></TD><TD WIDTH=15%><B>Translation</B></TD><TD WIDTH=70%><B>Meaning</B></TD></TR>
*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.
<TR ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"><TD BGCOLOR="#FF0000">01 2B 03 00</TD><TD>811</TD><TD ALIGN=LEFT>00811-wh_door1side.DOOR</TD></TR>
*0x18:
<TR ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"><TD BGCOLOR="#FFFF00">01 00 00 00</TD><TD>0</TD><TD ALIGN=LEFT>level 0</TD></TR>
:*0 - all sound types allowed through
<TR ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"><TD BGCOLOR="#FFC8C8">01 2C 03 00</TD><TD>812</TD><TD ALIGN=LEFT>link to 00812-.[[OBD:OFGA|OFGA]]</TD></TR>
:*1 - '''unimportant''' and '''interest''' sound types halted, rest allowed through
<TR ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"><TD BGCOLOR="#FFFFC8">00 00 00 00</TD><TD>0</TD><TD ALIGN=LEFT>unknown; always zero</TD></TR>
:*2 - '''unimportant''', '''interest''', '''danger''','''melee''' sound types halted, '''gunfire''' type allowed through
<TR ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"><TD BGCOLOR="#C8FFC8">01 28 03 00</TD><TD>808</TD><TD ALIGN=LEFT>link to 00808-small_anim.[[OBD:OBAN|OBAN]]</TD></TR>
:*3 - all sound types halted
<TR ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"><TD BGCOLOR="#C8FFFF">00 00 00 3F</TD><TD>0.500000</TD><TD ALIGN=LEFT>unknown; always the same</TD></TR>
*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.
<TR ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"><TD BGCOLOR="#FFC8FF">02 00 00 00</TD><TD>2</TD><TD ALIGN=LEFT>unknown; always the same</TD></TR>
<TR ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"><TD BGCOLOR="#FFC800">FF FF FF FF</TD><TD>-1</TD><TD ALIGN=LEFT>unknown; always the same</TD></TR>
<TR ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"><TD BGCOLOR="#C800C8">00 00 C8 42</TD><TD>100.000000</TD><TD ALIGN=LEFT>unknown; always the same</TD></TR>
<TR ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"><TD BGCOLOR="#C87C64" COLSPAN=2><TT>door2_shrt</TT></TD><TD ALIGN=LEFT>door open sound<BR>(08354-door2_shrt.grp.[[OBD:OSBD|OSBD]])<BR>(08355-door2_shrt.imp.[[OBD:OSBD|OSBD]])</TD></TR>
<TR ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"><TD BGCOLOR="#B0C3D4" COLSPAN=2><TT>door2_shrt</TT></TD><TD ALIGN=LEFT>door close sound<BR>(08354-door2_shrt.grp.[[OBD:OSBD|OSBD]])<BR>(08355-door2_shrt.imp.[[OBD:OSBD|OSBD]])</TD></TR>
<TR ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"><TD BGCOLOR="#E7CEA5">00 00 00 00</TD><TD>0</TD><TD ALIGN=LEFT>unknown</TD></TR>
<TR ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"><TD BGCOLOR="#FFDDDD">00 00 00 00</TD><TD>0</TD><TD ALIGN=LEFT>unknown</TD></TR>
<TR ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"><TD BGCOLOR="#64AAAA">AD DE</TD><TD>dead</TD><TD ALIGN=LEFT>not used</TD></TR>
</TABLE>


{{OBD_File_Footer | type=DOOR | prev=CRSA | next=DPge | name=Door | family=Level}}


<HR>
{{OBD}}
<CENTER>[[OBD:CRSA|<==]] <B>DOOR File</B> [[OBD:DPge|==>]]</CENTER>
<HR>
 
 
[[Main Page]] >> [[OBD:Oni Binary Data|Oni Binary Data]] >> [[OBD:File types|File Types]] >> DOOR File

Latest revision as of 21:26, 9 December 2023

This is about the door class resource. For door instances, see OBD:BINA/OBJC/DOOR.
ONI BINARY DATA
CRSA << Other file types >> DPge
DOOR : Door
switch to XML:DOOR page
Overview @ Oni Stuff
OBD.png


Door all.gif


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, exact formula unknown
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:
-1 - no sound
0 - unimportant
1 - interest
2 - danger
3 - melee
4 - gunfire
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 int32 00 00 00 00 0 runtime only
0x68 int32 00 00 00 00 0 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