Files
ss/include/nw4r/snd/snd_MemorySoundArchive.h
T
Elijah Thomas 732a119127 Nw4r splits (#28)
* snd / math / g3d
2024-09-15 14:55:25 -04:00

45 lines
1.2 KiB
C++

#ifndef NW4R_SND_MEMORY_SOUND_ARCHIVE_H
#define NW4R_SND_MEMORY_SOUND_ARCHIVE_H
#include <nw4r/types_nw4r.h>
#include <nw4r/snd/snd_SoundArchive.h>
#include <nw4r/snd/snd_SoundArchiveFile.h>
#include <nw4r/ut.h>
namespace nw4r {
namespace snd {
class MemorySoundArchive : public SoundArchive {
private:
class MemoryFileStream;
public:
MemorySoundArchive();
virtual ~MemorySoundArchive(); // at 0x8
virtual const void* detail_GetFileAddress(u32 id) const; // at 0xC
virtual const void* detail_GetWaveDataFileAddress(u32 id) const; // at 0x10
virtual int detail_GetRequiredStreamBufferSize() const; // at 0x14
virtual ut::FileStream* OpenStream(void* pBuffer, int size, u32 offset,
u32 length) const; // at 0x18
virtual ut::FileStream* OpenExtStream(void* pBuffer, int size,
const char* pExtPath, u32 offset,
u32 length) const; // at 0x1C
bool Setup(const void* pBuffer);
void Shutdown();
private:
const void* mData; // at 0x108
detail::SoundArchiveFileReader mFileReader; // at 0x10C
};
} // namespace snd
} // namespace nw4r
#endif