OBD:OSBD/OSGr: Difference between revisions

m
localized image
(oops, didn't log in)
m (localized image)
 
(11 intermediate revisions by 3 users not shown)
Line 1: Line 1:
Minimal data, just to get the page started.
[[Image:osb_r_gr.gif]]
 
http://www6.fh-eberswalde.de/user/dkriesch/onistuff/images/osb_r_gr.gif


{{Table}}
{{Table}}
{{OBD_Table_Header}}
{{OBDth}}
|- ALIGN=CENTER VALIGN=TOP
{{OBDtr| 0x00 | int32  |FF0000| 72 47 53 4F | OSGr | Oni Sound Group }}
|0x00||4cc||BGCOLOR="#FF0000"|72 47 53 4F||OSGr||Oni Sound Group
{{OBDtr| 0x04 | int32 |FFFF00| B4 00 00 00 | 180 | size of OSGr chunk (from after this field and to the end) }}
|- ALIGN=CENTER VALIGN=TOP
{{OBDtr| 0x08 | int32  |FFC8C8| 06 00 00 00 | 6    | version (see below) }}
|0x04||int32||BGCOLOR="#FFFF00"|B4 00 00 00||180||ALIGN=LEFT|180 bytes; size of the part that follows
{{OBDtr| 0x0C | float |FFFFC8| 00 00 80 3F | 1.| playback volume (present for version 2 and above, default is 1) }}
|- ALIGN=CENTER VALIGN=TOP
{{OBDtr| 0x10 | float |C8FFC8| 00 00 80 3F | 1.| playback speed AKA pitch (present for version 3 and above, default is 1) }}
|0x08||bool32||BGCOLOR="#FFC8C8"|06 00 00 00||4 + 2||ALIGN=LEFT|bitset (see below)
{{OBDtr| 0x14 | int16  |C8FFFF| 00 00       | 0    | prevent repeats (present for version 6 and above, default is 1 for versions 4 and 5 and 0 for versions lower than 4) }}
|- ALIGN=CENTER VALIGN=TOP
{{OBDtr| 0x16 | int16  |FFC8FF| 00 00       | 0    | last selected permutation (present for version 6 and above, default is 0, used with prevent repeats) }}
|0x0C||float||BGCOLOR="#FFFFC8"|00 00 80 3F||1.000000||ALIGN=LEFT|playback volume
{{OBDtr| 0x18 | int32  |FFC800| 01 00 00 00 | 1    | number of channels (1 or 2, same as in the sound files linked from permutations) }}
|- ALIGN=CENTER VALIGN=TOP
{{OBDtr| 0x1C | int32 |C800C8| 03 00 00 00 | 3   | number of permutations }}
|0x10||float||BGCOLOR="#C8FFC8"|00 00 80 3F||1.000000||ALIGN=LEFT|playback speed AKA pitch
{{OBDtrBK|First permutation}}
|- ALIGN=CENTER VALIGN=TOP
{{OBDtr| 0x00 | int32   |C87C64| 0A 00 00 00 | 10 | weight }}
|0x14||bool16||BGCOLOR="#C8FFFF"|00 00||0||ALIGN=LEFT|unknown
{{OBDtr| 0x04 | float   |B0C3D4| 00 00 80 3F | 1.0 | minimum volume }}
|- ALIGN=CENTER VALIGN=TOP
{{OBDtr| 0x08 | float   |E7CEA5| 00 00 80 3F | 1.0 | maximum volume }}
|0x16||bool16||BGCOLOR="#FFC8FF"|00 00||0||ALIGN=LEFT|prevent repeats (0/1)
{{OBDtr| 0x0C | float   |FFDDDD| 33 33 33 3F | 0.7 | minimum pitch }}
|- ALIGN=CENTER VALIGN=TOP
{{OBDtr| 0x10 | float   |64AAAA| 33 33 33 3F | 0.7 | maximum pitch }}
|0x18||unknown||BGCOLOR="#FFC800"|01 00 00 00||1||ALIGN=LEFT|unknown
{{OBDtr| 0x14 | char[32] |EBEBEB| 61 63 35... | ac5lp1.aif | permutation sound name (reference to f.e. 09376-ac5lp1.aif.[[OBD:SNDD|SNDD]] of level 3) }}
|- ALIGN=CENTER VALIGN=TOP
|0x1C||int32||BGCOLOR="#C800C8"|03 00 00 00||3||ALIGN=LEFT|array size
|- ALIGN=CENTER VALIGN=TOP
|BGCOLOR="#000000" COLSPAN=5|<FONT SIZE=2 COLOR="#FFFFFF">First element detailed below.</FONT>
|- ALIGN=CENTER VALIGN=TOP
|0x00||int32||BGCOLOR="#C87C64"|0A 00 00 00||10||ALIGN=LEFT|weight
|- ALIGN=CENTER VALIGN=TOP
|0x04||float||BGCOLOR="#B0C3D4"|00 00 80 3F||1.000000||ALIGN=LEFT|minumum volume
|- ALIGN=CENTER VALIGN=TOP
|0x08||float||BGCOLOR="#E7CEA5"|00 00 80 3F||1.000000||ALIGN=LEFT|maximum volume
|- ALIGN=CENTER VALIGN=TOP
|0x0C||float||BGCOLOR="#FFDDDD"|33 33 33 3F||0.700000||ALIGN=LEFT|minimum pitch
|- ALIGN=CENTER VALIGN=TOP
|0x10||float||BGCOLOR="#64AAAA"|33 33 33 3F||0.700000||ALIGN=LEFT|maximum pitch
|- ALIGN=CENTER VALIGN=TOP
|0x14||char[32]||BGCOLOR="#EBEBEB" COLSPAN=2|<TT>ac5lp1.aif</TT>||ALIGN=LEFT|permutation sound name (reference to f.e. 09376-ac5lp1.aif.[[OBD:SNDD|SNDD]] of level 3)
|}
|}
;Number of channels
:By design the number of channels is supposed to be the same as that of the referenced SNDDs (this implies that all the SNDDs in a group are supposed to have the same channel count).
:If for whatever reason the channel counts in OSGr and SNDD are ''not'' consistent, then the behaviour depends on whether the OSGr is referenced from an OSIm or from an OSAm:
:*the channel count in an OSAm's OSGr determines the channel count of the decompressed sound buffer, therefore mono SNDDs will sound 2x higher/faster if the channel count in their OSGr is set to 2, and stereo SNDDs (e.g., music) will sound 2x lower/slower if the channel count in their OSGr is set to 1.
:*the channel count in an OSIm's OSGr seems to have no effect if the SNDDs are mono, i.e. setting the OSGr's channel count to 2 does not result in a higher pitch. As for stereo SNDDs, apparently they cannot be used in an OSIm's OSGr at all.
;Fury vocalizations
;Fury vocalizations
:Those are sped up by 1.14 in Oni, which explains why they sound weird when exported.
:Those are sped up by 1.14 in Oni, which explains why they sound weird when exported.
;Bitset at 0x08
;Version
:bit 4 is always set
:Just as for other [[OSBD]], there have been several version of the binary format.
:bit 1 - dunno, set for... (fill in)
:Over time, some fields that used to be hardcoded became customizeable on a group-per-group basis.
:bit 2 - enables the fields at 0x14 and 0x16 (apparently; maybe it's a bool32)
:Thus, later versions include some extra fields as compared to earlier ones.
::if bit 2 is off, then the 0x18 field goes to 0x14 etc: everything shifted backwards by 4 bytes
:The above example belongs to the latest OSGr version encountered in Oni: 6.
:Lower versions lack certain fields, and the following content is simply shifted backwards.
 
;Dialog from level0_Tools
[[Image:Tool dialog - Sound Group Properties.png]]
 
{{OBD}}