OBD:OSBD

From OniGalore
ONI BINARY DATA
OPge << Other file types >> OTIT
OSBD : Oni Sound Binary Data
switch to XML:OSBD page
Overview @ Oni Stuff
OBD.png

Introduction

"OSBD" is short for "Oni sound binary data". It collects sounds (SNDD) under three different subtypes, and is the path through which all sounds are played by the engine. When other resources such as ONIE and SNDG reference sounds, they do so by naming an OSBD; SNDDs do not get referenced directly. Likewise, the name of the OSBD is what is supplied to BSL commands such as sound_music_start, sound_dialog_play and sound_impulse_play.

OSBD is registered as a tag, but is really a wrapper for three other sub-types. OSBD is stored in the separate file when available (Windows demo, Mac, OniX) or in the raw file otherwise (Windows retail). All the resources under the sub-tags of OSBD are stored globally in level0_Final.

Resources under these tags could be edited in-game by the developers using the GUI which was discovered by fans in the European Mac releases of Oni. Screenshots of the editing interface are shown on the pages of each subtype.

File description

Osbd all.gif


Offset Type Raw Hex Value Description
0x00 res_id 01 E4 18 00 6372 06372-AirCon5.amb.OSBD
0x04 lev_id 01 00 00 00 0 level 0
0x08 uint32 D0 00 00 00 208 size of the data in the raw/separate file
0x0C offset 20 5E B2 01 01 B2 5E 20 offset of the data in the raw/separate file


The sub-type of a given OSBD resource is not known when following the link at 0x0C above (even if it can be inferred from the name of the OSBD file). The engine knows how to parse the raw/separate data once it's read the first 4 bytes to get its 4CC tag (same as for BINA).

Overview of OSBD types

The three subtypes are interconnected. Ambient is used for dialogue, music, environmental ambient sounds, and spatial ambient sounds (which pan actively in stereo). Impulse is used for sounds that have a distinct position in the world and play once, such as gunfire sounds.

Group's purpose is to collect permutations of sounds such as a set of possible hurt sounds for a character to play, or a collection of a music track's segments, or to assemble a pool of beeping sounds that could be randomly produced by a computer bank.

Neither Ambient nor Impulse link directly to sounds but rather to one or more Group, and Group references the actual SNDDs containing the sound data. Thus, every OSAm and every OSIm must be paired with at least one OSGr, and there are two stages of lookup between asking for a sound and the playing of the sound: OSAm/OSIm -> OSGr -> SNDD.

OSAm: Oni Sound Ambient
OSGr: Oni Sound Group
OSIm: Oni Sound Impulse


ONI BINARY DATA
OPge << Other file types >> OTIT
OSBD : Oni Sound Binary Data
General file