OBD:OSBD/OSAm

From OniGalore
< OBD:OSBD
Revision as of 09:59, 30 January 2008 by Neo (talk | contribs)
Jump to navigation Jump to search

osb_r_am.gif

Offset Type Raw Hex Value Description
0x00 int32 6D 41 53 4F OSAm Oni Sound Ambient
0x04 int32 C8 00 00 00 200 200 bytes; size of the part that follows
0x08 int32 06 00 00 00 6 version (see below)
0x0c int32 01 00 00 00 1 priority; the following priorities are possible (values in dec):
0 - low
1 - normal
2 - high
3 - highest
0x10 int32 04 00 00 00 4 sound options:
1 - interrupt tracks on stop
2 - play only once
4 - can pan
0x14 float 00 00 20 41 10.000000 unknown
0x18 float 00 00 80 3F 1.000000 minimum elapsed time in seconds
0x1c float 00 00 80 3F 1.000000 maximum elapsed time in seconds
0x20 float 00 00 20 41 10.000000 minimum volume distance
0x24 float 00 00 48 42 50.000000 maximum volume distance
0x28 char[32] 00... not used detail track name (reference to a .grp.OSBD file)
0x48 char[32] 61 69 72... aircon5lp base track 1 name (reference to 06375-aircon5lp.grp.OSBD)
0x68 char[32] 00... not used base track 2 name (reference to a .grp.OSBD file)
0x88 char[32] 00... not used in sound name (reference to a .grp.OSBD file)
0xa8 char[32] 00... not used out sound name (reference to a .grp.OSBD file)
0xc8 int32 03 00 00 00 3 unknown (present in version 5 and above, default is 3)
0xcc float 00 00 00 00 0.000000 unknown (present in version 6 and above, default is 0.0)

(Possible field names for the "unknown" fields are: sphere radius, min. occlusion and threshold.)

Version
Just as for other OSBD, there have been several version of the binary format.
Over time, some fields that used to be hardcoded became customizeable on a group-per-group basis.
Thus, later versions include some extra fields as compared to earlier ones.
The above example belongs to the latest OSAm version encountered in Oni: 6.
Lower versions lack certain fields, and the following content is simply shifted backwards.
Versions of OSAm occurring in Oni are 4, 5 and 6.