Update File Type - Wwise Event

Lucas Schwiderski 2024-07-13 17:15:40 +02:00
parent 0d81d0d2b1
commit f0a2ee8f48

@ -51,8 +51,30 @@ typedef struct(data_DIDX &DIDX_dataObj)
FSeek(pos + parentof(this).secLen); FSeek(pos + parentof(this).secLen);
} data_DATA; } data_DATA;
typedef enum <byte> {
Settings = 1,
SoundVoice,
EventAction,
Event,
RandomContainer,
SwitchContainer,
ActorMixer,
AudioBus,
BlendContainer,
MusicSegment,
MusicTrack,
MusicSwitchContainer,
MusicPlaylistContainer,
Attenuation,
DialogueEvent,
MotionBus,
MotionFX,
Effect,
AuxiliaryBus = 20
} data_HIRC_object_type;
typedef struct { typedef struct {
byte object_type; data_HIRC_object_type object_type;
uint32 object_length; uint32 object_length;
uint32 id <format=hex>; uint32 id <format=hex>;
byte data[object_length-4]; byte data[object_length-4];
@ -98,6 +120,7 @@ uint32 length;
// A section of values that don't belong the actual Wwise bank // A section of values that don't belong the actual Wwise bank
struct { struct {
uint32 unknown1; uint32 unknown1;
Assert(unknown1 == 0x0);
// Matches the file itself // Matches the file itself
uint64 this_file <format=hex>; uint64 this_file <format=hex>;
uint32 unknown2; uint32 unknown2;
@ -110,18 +133,32 @@ struct {
// - Wwise bus the event runs on // - Wwise bus the event runs on
// Corresponds to the `id` value of a HIRC object of type "event" later on in the file // Corresponds to the `id` value of a HIRC object of type "event" later on in the file
uint32 unknown4 <format=hex, comment="Looks like a short hash">; uint32 hirc_event_id <format=hex, comment="Looks like a short hash">;
float unknown5;
// No particularly clear value.
// Sometimes when interpreted as `float`, it produces whole numbers.
// Sometimes, it's very close to `0xFFFFFFFF`.
uint32 unknown5;
// Following two usually look like hashes.
// Also often reasonably looking floats close to `1`. Could be something like volume.
// Would still fit with it sometimes showing up elsewhere in a `.wwise_bank`: It's not unreasonable
// for the bnk to have volume values as well.
// In at least one instance, shows up in `MotionBus`/`MotionFX` sections in a `.wwise_bank`.
uint32 unknown6 <format=hex, comment="Looks like a short hash">; uint32 unknown6 <format=hex, comment="Looks like a short hash">;
// At least in one instance, this was identical with `unknown6` // At least in one instance, this was identical with `unknown6`
uint32 unknown7 <format=hex, comment="Looks like a short hash">; uint32 unknown7 <format=hex, comment="Looks like a short hash">;
uint32 unknown8; uint32 unknown8;
Assert(unknown8 == 0x0);
uint32 unknown9; uint32 unknown9;
Assert(unknown9 == 0x0 || unknown9 == 0x1);
uint32 unknown10; uint32 unknown10;
Assert(unknown10 == 0x0);
uint32 unknown11; uint32 unknown11;
} header <open=true>; Assert(unknown11 == 0x0);
} header;
struct bnk struct bnk
{ {