OpenBarnyard
 
Loading...
Searching...
No Matches
ATerrainLODBlock.h
Go to the documentation of this file.
1#pragma once
2#include <File/TTRB.h>
3#include <Toshi/T2SList.h>
4
6
15
16class ATerrainLODBlock : public Toshi::T2SList<ATerrainLODBlock>::Node
17{
18public:
19 friend class ATerrainInterface;
20 friend class ATerrainVIS;
21 friend class ATerrainSection;
22
23public:
24 ATerrainLODBlock( TUINT a_uiHeapSize, const TCHAR* a_szName );
26
27 void SetupTRB( Toshi::TTRB* a_pTRB, ATerrainLODBlock* a_pOther );
29
30 void Assign( ATerrainSection* a_pVISGroup, ATerrainLODType a_eLODType );
31
32 void SetUsed()
33 {
35 m_bIsUnused = TFALSE;
36 }
37
38 void SetUnused()
39 {
40 m_bIsUnused = TTRUE;
41 }
42
43 TBOOL IsUsed() const { return !m_bIsUnused; }
44 TBOOL IsUnused() const { return m_bIsUnused; }
45
46 AMemoryPoolAllocator& GetAllocator() { return m_Allocator; }
47 Toshi::TMemory::MemBlock* GetMemBlock() { return m_pCreatedMemBlock; }
48
49private:
50 TUINT32* m_pAllocatedSize;
51 TUINT m_Unk1;
52 TUINT* m_pUnk2;
53 ATerrainSection* m_pVISGroup;
54 ATerrainLODType m_eLODType;
55 TFLOAT m_fLastAccessTime;
56 TUINT m_uiHeapSize;
57 Toshi::TMemory::MemBlock* m_pCreatedMemBlock;
58 AMemoryPoolAllocator m_Allocator;
59 TBOOL m_bIsUnused;
60};
TRB (Toshi Relocatable Binary) resource system for the Toshi engine.
unsigned int TUINT
Definition Typedefs.h:8
char TCHAR
Definition Typedefs.h:20
float TFLOAT
Definition Typedefs.h:4
uint32_t TUINT32
Definition Typedefs.h:13
#define TFALSE
Definition Typedefs.h:24
#define TTRUE
Definition Typedefs.h:25
bool TBOOL
Definition Typedefs.h:6
int8_t TINT8
Definition Typedefs.h:16
ATerrainLODType_
@ ATerrainLODType_None
@ ATerrainLODType_NUMOF
@ ATerrainLODType_High
@ ATerrainLODType_Low
TINT8 ATerrainLODType
TBOOL IsUnused() const
friend class ATerrainInterface
friend class ATerrainVIS
Toshi::TMemory::MemBlock * GetMemBlock()
TBOOL IsUsed() const
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)
AMemoryPoolAllocator & GetAllocator()