Wave Dictionary

From Burnout Wiki
Revision as of 11:36, 22 May 2021 by Escape209 (talk | contribs) (RwaUniqueID)

The RenderWare Audio Wave Dictionary container format is used to store a collection of audio files. It uses the file extension .awd.

Layout

Template:MemoryLocationTableRowTemplate:MemoryLocationTableRowTemplate:MemoryLocationTableRowTemplate:MemoryLocationTableRowTemplate:MemoryLocationTableRowTemplate:MemoryLocationTableRowTemplate:MemoryLocationTableRowTemplate:MemoryLocationTableRowTemplate:MemoryLocationTableRowTemplate:MemoryLocationTableRowTemplate:MemoryLocationTableRowTemplate:MemoryLocationTableRowTemplate:MemoryLocationTableRowTemplate:MemoryLocationTableRowTemplate:MemoryLocationTableRowTemplate:MemoryLocationTableRowTemplate:MemoryLocationTableRowTemplate:MemoryLocationTableRowTemplate:MemoryLocationTableRow
Offset Name Type Value Description
Header
Wave Dictionary

RwaWave

Each wave is of type RwaWave, stored in a RwLLNode in the RwLinkList. In the AWD are of type , and are serialized as below:

Template:MemoryLocationTableRowTemplate:MemoryLocationTableRowTemplate:MemoryLocationTableRowTemplate:MemoryLocationTableRowTemplate:MemoryLocationTableRowTemplate:MemoryLocationTableRowTemplate:MemoryLocationTableRowTemplate:MemoryLocationTableRowTemplate:MemoryLocationTableRow
Offset Name Type Value Description

This is followed by the RwaLLNode, the entry (of type char[]) and a 128-bit UUID.

RwaUniqueID

struct RwaUniqueID {

   union {
       RwaUUID* uuid;
       RwaUUID* copyUUID;
   }
   struct name {
       char* uniqueName;
       char* copyName;
   }

}; </syntaxhighlight>

RwaWaveFormat

struct RwaWaveFormat {
    uint32_t sampleRate;
    RwaUUID* dataType;
    uint32_t length;
    uint8_t bitDepth;
    uint8_t noChannels;
    // uint8_t pad[2];
    void* miscData;
    uint8_t miscDataSize;
    uint8_t flags;
    uint8_t reserved;
};