mirror of
https://github.com/zeldaret/ss
synced 2026-05-29 08:42:57 -04:00
26af4db82d
* update from dtk-template and start work towards using clangd * include <a> -> "a" * Update build.yml * remove/add non-trivial class in union warning
45 lines
1.2 KiB
C++
45 lines
1.2 KiB
C++
#ifndef NW4R_SND_MEMORY_SOUND_ARCHIVE_H
|
|
#define NW4R_SND_MEMORY_SOUND_ARCHIVE_H
|
|
#include "nw4r/snd/snd_SoundArchive.h"
|
|
#include "nw4r/snd/snd_SoundArchiveFile.h"
|
|
#include "nw4r/types_nw4r.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
|