OpenBarnyard
 
Loading...
Searching...
No Matches
ASysMesh.h
Go to the documentation of this file.
1#pragma once
2#include <Toshi/TString8.h>
3
4#include <Render/TMesh.h>
7
8class ASysMesh : public Toshi::TMesh
9{
10public:
11 TDECLARE_CLASS( ASysMesh, Toshi::TMesh );
12
14 {
15 Toshi::TVertexPoolResourceInterface::LockBuffer VertexLock;
16 Toshi::TIndexPoolResourceInterface::LockBuffer IndexLock;
17 };
18
19public:
20 ASysMesh();
21
22 //-----------------------------------------------------------------------------
23 // Toshi::TMesh
24 //-----------------------------------------------------------------------------
25 virtual TBOOL Validate() override;
26 virtual void Invalidate() override;
27
28 //-----------------------------------------------------------------------------
29 // Own methods
30 //-----------------------------------------------------------------------------
31 virtual TBOOL Create( void* a_pUnk, const TCHAR* a_szSomeString );
32 virtual TBOOL CreatePools( TUINT32 a_uiFlags, TUINT16 a_uiMaxVertices, TUINT16 a_uiMaxIndices );
33 virtual TBOOL Lock( LockBuffer& a_rLockBuffer );
34 virtual void Unlock( TUINT32 a_uiNumVertices, TUINT32 a_uiNumIndices );
35 virtual Toshi::TVertexPoolResourceInterface* GetVertexPool();
36 virtual Toshi::TIndexPoolResourceInterface* GetIndexPool();
37 virtual void SetZBias( TINT a_iZBias ) = 0;
38
39 TBOOL IsLocked() const { return m_uiFlags & FLAG_LOCKED; }
40
41private:
42 TBOOL CreateResource();
43 void DestroyResources();
44
45private:
46 TUINT32 m_uiFlags;
47 TUINT16 m_uiMaxVertices;
48 TUINT16 m_uiMaxIndices;
49 Toshi::TString8 m_SomeString;
50 Toshi::TVertexPoolResourceInterface* m_pVertexPool;
51 Toshi::TIndexPoolResourceInterface* m_pIndexPool;
52 TBOOL m_bFlag1;
53 TBOOL m_bFlag2;
54};
Char string implementation for the Toshi engine.
uint16_t TUINT16
Definition Typedefs.h:15
char TCHAR
Definition Typedefs.h:20
uint32_t TUINT32
Definition Typedefs.h:13
int TINT
Definition Typedefs.h:7
bool TBOOL
Definition Typedefs.h:6
virtual TBOOL CreatePools(TUINT32 a_uiFlags, TUINT16 a_uiMaxVertices, TUINT16 a_uiMaxIndices)
Definition ASysMesh.cpp:83
virtual void Invalidate() override
Definition ASysMesh.cpp:43
TBOOL IsLocked() const
Definition ASysMesh.h:39
virtual void Unlock(TUINT32 a_uiNumVertices, TUINT32 a_uiNumIndices)
Definition ASysMesh.cpp:174
virtual Toshi::TIndexPoolResourceInterface * GetIndexPool()
Definition ASysMesh.cpp:198
virtual TBOOL Create(void *a_pUnk, const TCHAR *a_szSomeString)
Definition ASysMesh.cpp:77
virtual void SetZBias(TINT a_iZBias)=0
virtual TBOOL Validate() override
Definition ASysMesh.cpp:26
TDECLARE_CLASS(ASysMesh, Toshi::TMesh)
virtual Toshi::TVertexPoolResourceInterface * GetVertexPool()
Definition ASysMesh.cpp:193
virtual TBOOL Lock(LockBuffer &a_rLockBuffer)
Definition ASysMesh.cpp:158
Toshi::TVertexPoolResourceInterface::LockBuffer VertexLock
Definition ASysMesh.h:15
Toshi::TIndexPoolResourceInterface::LockBuffer IndexLock
Definition ASysMesh.h:16