OpenBarnyard
 
Loading...
Searching...
No Matches
ASkinMesh.h
Go to the documentation of this file.
1#pragma once
2#include <Render/TMesh.h>
5
25
26class ASkinMesh : public Toshi::TMesh
27{
28public:
29 TDECLARE_CLASS( ASkinMesh, Toshi::TMesh );
30
31 using LockBuffer = Toshi::TVertexPoolResourceInterface::LockBuffer;
32
33public:
34 ASkinMesh();
35 ~ASkinMesh();
36
37 //-----------------------------------------------------------------------------
38 // Toshi::TMesh
39 //-----------------------------------------------------------------------------
40 virtual TBOOL Validate() override;
41 virtual void Invalidate() override;
42 virtual TBOOL Render() override;
43 virtual void OnDestroy() override;
44
45 //-----------------------------------------------------------------------------
46 // Own methods
47 //-----------------------------------------------------------------------------
48 virtual void Create( TUINT32 a_uiFlags, TUINT16 a_uiMaxVertices, TUINT16 a_uiNumSubMeshes );
49 virtual TBOOL Lock( LockBuffer& a_rLockBuffer );
50 virtual void Unlock( TUINT32 a_uiNumVertices );
51 virtual Toshi::TVertexPoolResourceInterface* GetVertexPool();
52
54 ASkinSubMesh* GetSubMesh( TUINT16 a_uiIndex );
55
56private:
57 TBOOL CreateResource();
58 void DestroyResource();
59
60protected:
64 Toshi::TVertexPoolResourceInterface* m_pVertexPool;
66 void* m_Unk;
67};
uint16_t TUINT16
Definition Typedefs.h:15
uint32_t TUINT32
Definition Typedefs.h:13
int TINT
Definition Typedefs.h:7
bool TBOOL
Definition Typedefs.h:6
TUINT16 uiUnknown
Definition ASkinMesh.h:13
TUINT32 Unk5
Definition ASkinMesh.h:20
TUINT32 Zero
Definition ASkinMesh.h:16
TUINT32 uiNumBones
Definition ASkinMesh.h:22
TUINT32 Unk6
Definition ASkinMesh.h:21
TUINT32 Unk4
Definition ASkinMesh.h:19
TUINT16 uiNumVertices
Definition ASkinMesh.h:14
TUINT32 Unk2
Definition ASkinMesh.h:17
Toshi::TIndexPoolResourceInterface * pIndexPool
Definition ASkinMesh.h:15
TUINT32 Unk3
Definition ASkinMesh.h:18
TINT aBones[28]
Definition ASkinMesh.h:23
TUINT16 m_uiNumSubMeshes
Definition ASkinMesh.h:63
ASkinSubMesh * m_pSubMeshes
Definition ASkinMesh.h:65
virtual void OnDestroy() override
Definition ASkinMesh.cpp:63
Toshi::TVertexPoolResourceInterface * m_pVertexPool
Definition ASkinMesh.h:64
TUINT16 GetNumSubMeshes() const
virtual TBOOL Lock(LockBuffer &a_rLockBuffer)
Definition ASkinMesh.cpp:88
virtual Toshi::TVertexPoolResourceInterface * GetVertexPool()
TUINT32 m_uiFlags
Definition ASkinMesh.h:61
void * m_Unk
Definition ASkinMesh.h:66
TUINT16 m_uiMaxVertices
Definition ASkinMesh.h:62
Toshi::TVertexPoolResourceInterface::LockBuffer LockBuffer
Definition ASkinMesh.h:31
ASkinSubMesh * GetSubMesh(TUINT16 a_uiIndex)
TDECLARE_CLASS(ASkinMesh, Toshi::TMesh)
virtual TBOOL Validate() override
Definition ASkinMesh.cpp:40
virtual void Unlock(TUINT32 a_uiNumVertices)
virtual TBOOL Render() override
Definition ASkinMesh.cpp:58
virtual void Create(TUINT32 a_uiFlags, TUINT16 a_uiMaxVertices, TUINT16 a_uiNumSubMeshes)
Definition ASkinMesh.cpp:70
virtual void Invalidate() override
Definition ASkinMesh.cpp:53