Wave Dictionary: Difference between revisions

no edit summary
No edit summary
No edit summary
Line 4:
{| class="wikitable" style=text-align:left
! Offset
! Name
! Type
! Value
! Description
|-
| 0x00 || uint32_t || 0x809 || Magic number.
! colspan="5" | Header
|-
{{ MemoryLocationTableRow | name= | offset=0x04 | value= | type=uintptr_t || description=Pointer to location in system memory. Usually <code>nullptr</code>. }} ||
 
{{ MemoryLocationTableRow | name= | offset=0x00 | type=RwUInt32 | value=0x809 | description=Magic Number. }}
|-
| 0x08 || uint32_t || || Container size.
{{ MemoryLocationTableRow | name= | offset=0x04 | value= | type=uintptr_t | description=Pointer to location in system memory. Usually <code>nullptr</code>. }}
|-
{{ MemoryLocationTableRow | name=0x0C | offset=0x08 | value=uint32_t || type=UInt32 || description=Container header size. }}
|-
{{ MemoryLocationTableRow | name=0x10 || offset=0x10uint32_t | value=| | type=UInt32 | description=If value at <code>0x04</code> is non-zero then this will be, too. }}
{{ MemoryLocationTableRow | name= | offset=0x0C | value= | type=UInt32 | description=Container header size. }}
|-
| 0x14 || uint32_t || || Audio data size. ‎
{{ MemoryLocationTableRow | name= | offset=0x10 | value= | type=UInt32 | description=If value at <code>0x04</code> is non-zero then this will be, too. }}
|-
| 0x18 || RwaUUID || 73F2018B 75DFF081 4BC8E45F 453A2D04 (Xbox)<br>‎‎‎‎5393C7DB EA6481AE 4917FC38 AAEAC9AC (PS2) || Platform UUID.
{{ MemoryLocationTableRow | name= | offset=0x14 | value= | type=UInt32 | description=Audio data size. }}‎
|-
| 0x28 || uint32_t || || Audio data position.
{{ MemoryLocationTableRow | name= | offset=0x18 | type=byte[128] | value=<div style="text-align:center">0x73F2018B75DFF0814BC8E45F453A2D04 (Xbox)<br>0x‎‎‎‎5393C7DBEA6481AE4917FC38AAEAC9AC (PS2)</div> | description=Platform UUID. }}
|-
| 0x2C || [[Wave Dictionary#RwaWaveDict|RwaWaveDict]] || || Wave Dictionary
{{ MemoryLocationTableRow | name= | offset=0x28 | value= | type=UInt32 | description=Audio data position. }}
|-
! colspan="5" | Wave Dictionary
|-
{{ MemoryLocationTableRow | offset=0x2C | name=uniqueID | type=RwaUniqueID | value= | description= }}
|-
{{ MemoryLocationTableRow | offset=0x38 | name=waveListHead | type=RwaLLNode | value= | description= }}
|-
{{ MemoryLocationTableRow | offset=0x44 | name=pad | type=byte[2] | value= | description= }}
|-
{{ MemoryLocationTableRow | offset=0x46 | name=flagsAux | type=RwUInt8 | value= | description= }}
|-
{{ MemoryLocationTableRow | offset=0x47 | name=flags | type=RwUInt8 | value= | description= }}
|-
{{ MemoryLocationTableRow | offset=0x48 | name=link | type=RwLLLink | value= | description= }}
|-
{{ MemoryLocationTableRow | offset=0x50 | name=dumpAddr | type=void* | value= | description= }}
|-
{{ MemoryLocationTableRow | offset=0x54 | name=waveRAMHandle | type=void* | value= | description= }}
|-
{{ MemoryLocationTableRow | offset=0x58 | name=waveRAMSize | type=RwUInt32 | value= | description= }}
|-
! colspan="5" | <br> <!-- TODO: wtf is this called -->
|-
{{ MemoryLocationTableRow | offset=0x5C | name= | value= | type=char[] | description=Name of the AWD.<br>Size between 1 and 12 characters.<br>Padded to the nearest 4-byte boundary. }}
|-
{{ MemoryLocationTableRow | offset= | name= | value= | type=RwLinkList<RwaLLNode> | description=Node data is of type '''[[Wave Dictionary#RwaWave|RwaWave]]''' (see below.) }}
|-
|}
 
== RwaWaveDict ==
<syntaxhighlight lang="cpp">
class RwaWaveDict
{
RwaUniqueID uniqueID;
RwaLLNode waveListHead;
// uint16_t pad;
int8_t flagsAux;
int8_t flags;
RwLLLink link;
void* dumpAddr;
void* waveRAMHandle;
uint32_t waveRAMSize;
};
</syntaxhighlight>
 
== RwaWave ==