Wave Dictionary: Difference between revisions

Content added Content deleted
No edit summary
Line 1:
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 =
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 ==
Line 79 ⟶ 45:
};
</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 ==
Line 94 ⟶ 77:
uint8_t flags;
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;
RwUInt32uint32_t flags;
RwaObj* obj;
};
</syntaxhighlight>