NW4F Snd
Loading...
Searching...
No Matches
nw::snd::internal::FrameHeap Class Reference

#include <snd_FrameHeap.h>

Classes

struct  Block
class  Section

Public Types

using DisposeCallback = void (*)(void* mem, unsigned long size, void* userArg)
typedef ut::LinkList< Block, offsetof(Block, m_Link)> BlockList
typedef ut::LinkList< Section, offsetof(Section, m_Link)> SectionList

Public Member Functions

 FrameHeap ()
 ~FrameHeap ()
bool Create (void *startAddress, u32 size)
void Destroy ()
void * Alloc (u32 size, FrameHeap::DisposeCallback callback, void *callbackArg)
void Clear ()
int SaveState ()
void LoadState (int level)
int GetCurrentLevel () const
u32 GetSize () const
u32 GetFreeSize () const
bool IsValid () const
void Dump (SoundDataManager &mgr, SoundArchive &arc) const
bool ProcessCallback (int level)

Private Attributes

ut::FrameHeap * m_pHeap
SectionList m_SectionList

Static Private Attributes

static const int HEAP_ALIGN = 256

Member Typedef Documentation

◆ DisposeCallback

using nw::snd::internal::FrameHeap::DisposeCallback = void (*)(void* mem, unsigned long size, void* userArg)

◆ BlockList

◆ SectionList

Constructor & Destructor Documentation

◆ FrameHeap()

nw::snd::internal::FrameHeap::FrameHeap ( )

◆ ~FrameHeap()

nw::snd::internal::FrameHeap::~FrameHeap ( )

Member Function Documentation

◆ Create()

bool nw::snd::internal::FrameHeap::Create ( void * startAddress,
u32 size )

◆ Destroy()

void nw::snd::internal::FrameHeap::Destroy ( )

◆ Alloc()

void * nw::snd::internal::FrameHeap::Alloc ( u32 size,
FrameHeap::DisposeCallback callback,
void * callbackArg )

◆ Clear()

void nw::snd::internal::FrameHeap::Clear ( )

◆ SaveState()

int nw::snd::internal::FrameHeap::SaveState ( )

◆ LoadState()

void nw::snd::internal::FrameHeap::LoadState ( int level)

◆ GetCurrentLevel()

int nw::snd::internal::FrameHeap::GetCurrentLevel ( ) const

◆ GetSize()

u32 nw::snd::internal::FrameHeap::GetSize ( ) const

◆ GetFreeSize()

u32 nw::snd::internal::FrameHeap::GetFreeSize ( ) const

◆ IsValid()

bool nw::snd::internal::FrameHeap::IsValid ( ) const
inline

◆ Dump()

void nw::snd::internal::FrameHeap::Dump ( SoundDataManager & mgr,
SoundArchive & arc ) const

◆ ProcessCallback()

bool nw::snd::internal::FrameHeap::ProcessCallback ( int level)

Member Data Documentation

◆ HEAP_ALIGN

const int nw::snd::internal::FrameHeap::HEAP_ALIGN = 256
staticprivate

◆ m_pHeap

ut::FrameHeap* nw::snd::internal::FrameHeap::m_pHeap
private

◆ m_SectionList

SectionList nw::snd::internal::FrameHeap::m_SectionList
private