NW4F Snd
Loading...
Searching...
No Matches
snd_PlayerHeapDataManager.h
Go to the documentation of this file.
1#ifndef NW_SND_PLAYER_HEAP_DATA_MANAGER_H_
2#define NW_SND_PLAYER_HEAP_DATA_MANAGER_H_
3
4#include <nw/snd/snd_DisposeCallback.h>
5#include <nw/snd/snd_SoundArchiveLoader.h>
6#include <nw/snd/snd_SoundArchive.h>
7
8namespace nw { namespace snd { namespace internal {
9
12{
13public:
16
17 void Initialize(const SoundArchive* arc);
18 void Finalize();
19
20 const void* SetFileAddress(SoundArchive::FileId fileId, const void* address);
21 const void* GetFileAddress(SoundArchive::FileId) const;
22
23 static const int FILE_ADDRESS_COUNT = 1 + 4 + 4; // bfseq + 4 * bfbnk + 4 * bfwar
24
25protected:
26 virtual void InvalidateData(const void* start, const void* end);
27 virtual const void* SetFileAddressToTable(SoundArchive::FileId, const void* address);
28 virtual const void* GetFileAddressFromTable(SoundArchive::FileId fileId) const;
29 virtual const void* GetFileAddressImpl(SoundArchive::FileId fileId) const;
30
31private:
33 {
35 const void* address;
36 };
37 static_assert(sizeof(FileAddress) == 8);
38
42};
43static_assert(sizeof(PlayerHeapDataManager) == 0x264);
44
45} } } // namespace nw::snd::internal
46
47#endif // NW_SND_PLAYER_HEAP_DATA_MANAGER_H_
Definition snd_SoundArchive.h:11
ItemId FileId
Definition snd_SoundArchive.h:17
Definition snd_PlayerHeapDataManager.h:12
bool m_IsFinalized
Definition snd_PlayerHeapDataManager.h:41
FileAddress m_FileAddress[FILE_ADDRESS_COUNT]
Definition snd_PlayerHeapDataManager.h:39
virtual const void * SetFileAddressToTable(SoundArchive::FileId, const void *address)
virtual void InvalidateData(const void *start, const void *end)
void Initialize(const SoundArchive *arc)
static const int FILE_ADDRESS_COUNT
Definition snd_PlayerHeapDataManager.h:23
virtual const void * GetFileAddressFromTable(SoundArchive::FileId fileId) const
const void * SetFileAddress(SoundArchive::FileId fileId, const void *address)
virtual const void * GetFileAddressImpl(SoundArchive::FileId fileId) const
const void * GetFileAddress(SoundArchive::FileId) const
bool m_IsInitialized
Definition snd_PlayerHeapDataManager.h:40
Definition snd_SoundArchiveLoader.h:27
Definition snd_DisposeCallback.h:9
Definition snd_BasicSound.h:136
Definition snd_BasicSound.cpp:3
Definition snd_BasicSound.cpp:3
Definition snd_PlayerHeapDataManager.h:33
const void * address
Definition snd_PlayerHeapDataManager.h:35
SoundArchive::FileId fileId
Definition snd_PlayerHeapDataManager.h:34