18 m_pAllocatedSize =
TNULL;
22 m_fLastAccessTime = 0.0f;
23 m_uiHeapSize = a_uiHeapSize;
26 m_pCreatedMemBlock =
g_pMemory->CreateMemBlock( m_uiHeapSize, a_szName,
g_pMemory->GetGlobalBlock(), 0 );
27 m_Allocator.SetMemBlock( m_pCreatedMemBlock );
32 g_pMemory->DestroyMemBlock( m_pCreatedMemBlock );
34 m_Allocator.SetMemBlock(
TNULL );
36 static TUINT32 s_AllocatedSizeAfterDestroy = 0;
37 static TUINT32 s_Unk2AfterDestroy = 0;
39 m_pAllocatedSize = &s_AllocatedSizeAfterDestroy;
40 m_pUnk2 = &s_Unk2AfterDestroy;
45 Node::InsertAfter( a_pOther );
50 if ( pBlock->m_pAllocatedSize )
52 *pBlock->m_pAllocatedSize += size;
55 return TMemalign( 128, size, pBlock->Next()->m_pCreatedMemBlock );
73 m_pVISGroup->DestroyLOD( m_eLODType );
78 m_fLastAccessTime = 0.0f;
79 m_pVISGroup = a_pVISGroup;
80 m_eLODType = a_eLODType;
void * TMemalign(TSIZE a_uiAlignment, TSIZE a_uiSize, Toshi::TMemory::MemBlock *a_pMemBlock)
Allocates aligned memory from a specific memory block.
void TFree(void *a_pMem)
Frees previously allocated memory.
#define TSTATICCAST(POINTERTYPE, VALUE)
#define TOSHI_NAMESPACE_USING
TSystemManager g_oSystemManager
Represents a contiguous block of memory that can be allocated from.
void SetMemoryFunctions(t_MemoryFuncAlloc allocator, t_MemoryFuncDealloc deallocator, void *userdata)
void UpdateLastAccessTime()
void SetupTRB(Toshi::TTRB *a_pTRB, ATerrainLODBlock *a_pOther)
friend class ATerrainSection
void Assign(ATerrainSection *a_pVISGroup, ATerrainLODType a_eLODType)
ATerrainLODBlock(TUINT a_uiHeapSize, const TCHAR *a_szName)