Wave Dictionary: Difference between revisions
Content added Content deleted
No edit summary |
|||
Line 43:
== RwaUniqueID ==
{| class="wikitable" style=text-align:left
! Offset
! Type
! Name
|-
| 0x00 || RwaUUID* || uuid
|-
| 0x04 || char* || uniqueName
|-
| 0x08 || uint32_t || flags
|-
|}
== RwaWaveDict ==
{| class="wikitable" style=text-align:left
! Offset
! Type
! Name
|-
| 0x00 || RwaUniqueID || uniqueID
|-
| 0x0C || RwaLLNode || waveListHead
|-
| 0x18 || int8_t || flagsAux
|-
| 0x19 || int8_t || flags
|-
| 0x1C || RwLLLink || link
|-
| 0x24 || void* || dumpAddr
|-
| 0x28 || void* || waveRAMHandle
|-
| 0x2C || void* || waveRAMSize
|-
|}
== RwaWaveFormat ==
{| class="wikitable" style=text-align:left
! Offset
! Type
! Name
|-
| 0x00
|-
| 0x04 || RwaUUID* || dataType
|-
| 0x08 || uint32_t || length
|-
| 0x0C
|-
| 0x0D || uint8_t || noChannels
|-
| 0x10 || void* || miscData
|-
| 0x14 || uint32_t || miscDataSize
|-
| 0x18 || uint8_t || flags
|-
| 0x1C || uint8_t || reserved
|-
|}
== RwaWave ==
{| class="wikitable" style=text-align:left
! Offset
! Type
! Name
|-
| 0x00 || RwaUniqueID || uniqueID
|-
| 0x0C || RwaLLNode || waveListHead
|-
| 0x14 || int8_t || flagsAux
|-
| 0x15 || int8_t || flags
|-
| 0x18 || RwLLLink || link
|-
| 0x20 || void* || dumpAddr
|-
| 0x24 || void* || waveRAMHandle
|-
| 0x28 || void* || waveRAMSize
|-
|}
|
Revision as of 17:43, 24 June 2021
The RenderWare Audio Wave Dictionary container format is used to store a collection of audio files, or "waves." It uses the file extension .awd
. Each wave is of type RwaWave
and is stored in a RwLLNode
in an RwLinkList
.
Layout
Offset | Type | Value | Description |
---|---|---|---|
0x00 | uint32_t | 0x809 |
Magic number. |
0x04 | uint32_t | Usually 0. | |
0x08 | uintptr_t | Pointer to audio data. | |
0x0C | RwaWaveDict* | Pointer to wave dictionary. | |
0x10 | uint32_t | If value at 0x04 is non-zero then this will be, too.
| |
0x14 | uint32_t | Audio data size. | |
0x18 | RwaUUID | Xbox: 73F2018B 75DFF081 4BC8E45F 453A2D04 PS2: 5393C7DB EA6481AE 4917FC38 AAEAC9AC |
Platform UUID. |
0x28 | uintptr_t | Pointer to audio data. |
RwaUUID
Offset | Type | Name |
---|---|---|
0x00 | uint32_t | time_low |
0x04 | uint16_t | time_mid |
0x06 | uint16_t | time_hi_and_version |
0x08 | uint8_t[8] | node |
RwaUniqueID
Offset | Type | Name |
---|---|---|
0x00 | RwaUUID* | uuid |
0x04 | char* | uniqueName |
0x08 | uint32_t | flags |
RwaWaveDict
Offset | Type | Name |
---|---|---|
0x00 | RwaUniqueID | uniqueID |
0x0C | RwaLLNode | waveListHead |
0x18 | int8_t | flagsAux |
0x19 | int8_t | flags |
0x1C | RwLLLink | link |
0x24 | void* | dumpAddr |
0x28 | void* | waveRAMHandle |
0x2C | void* | waveRAMSize |
RwaWaveFormat
Offset | Type | Name |
---|---|---|
0x00 | uint32_t | uniqueID |
0x04 | RwaUUID* | dataType |
0x08 | uint32_t | length |
0x0C | uint8_t | bitDepth |
0x0D | uint8_t | noChannels |
0x10 | void* | miscData |
0x14 | uint32_t | miscDataSize |
0x18 | uint8_t | flags |
0x1C | uint8_t | reserved |
RwaWave
Offset | Type | Name |
---|---|---|
0x00 | RwaUniqueID | uniqueID |
0x0C | RwaLLNode | waveListHead |
0x14 | int8_t | flagsAux |
0x15 | int8_t | flags |
0x18 | RwLLLink | link |
0x20 | void* | dumpAddr |
0x24 | void* | waveRAMHandle |
0x28 | void* | waveRAMSize |