Wave Dictionary: Difference between revisions

Content added Content deleted
No edit summary
Line 1: Line 1:
The '''RenderWare Audio Wave Dictionary''' container format is used to store a collection of audio files. It uses the file extension <code>.awd</code>.
The '''RenderWare Audio Wave Dictionary''' container format is used to store a collection of audio files, or "waves." It uses the file extension <code>.awd</code>. Each wave is of type <code>RwaWave</code> and is stored in a <code>RwLLNode</code> in an <code>RwLinkList</code>.


= Layout =
= Layout =
Line 27: Line 27:
|-
|-
|}
|}

== 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 ==
Each wave is of type <code>RwaWave</code> and is stored in a <code>RwLLNode</code> in an <code>RwLinkList</code>.

<syntaxhighlight lang="cpp">
class RwaWave
{
RwaUniqueID uniqueID;
RwaWaveDef* waveDef; // Pointer to location in system memory.
RwaWaveFormat format;
RwaWaveFormat targetFormat; // Usually identical to format.
uint32_t uncompressedLength;
void* data;
void* state;
RwUInt32 flags;
RwaObj* obj;
};
</syntaxhighlight>


== RwaUniqueID ==
== RwaUniqueID ==
Line 79: Line 45:
};
};
</syntaxhighlight>
</syntaxhighlight>

== 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>



== RwaWaveFormat ==
== RwaWaveFormat ==
Line 94: Line 77:
uint8_t flags;
uint8_t flags;
uint8_t reserved;
uint8_t reserved;
};
</syntaxhighlight>

== RwaWave ==


<syntaxhighlight lang="cpp">
class RwaWave
{
RwaUniqueID uniqueID;
RwaWaveDef* waveDef; // Pointer to location in system memory.
RwaWaveFormat format;
RwaWaveFormat targetFormat; // Usually identical to format.
uint32_t uncompressedLength;
void* data;
void* state;
uint32_t flags;
RwaObj* obj;
};
};
</syntaxhighlight>
</syntaxhighlight>