OpenBarnyard
 
Loading...
Searching...
No Matches
TIndexBlockResource_DX8.h
Go to the documentation of this file.
1#pragma once
2#include "Toshi/TFreeList.h"
3#include "Render/TResource.h"
6
7#include <d3d8.h>
8
10
12
13class TIndexBlockResource : public TResource
14{
15public:
16 TDECLARE_CLASS( TIndexBlockResource, TResource );
17 TDECLARE_FREELIST_ALLOCATOR( TIndexBlockResource );
18
19 static TIndexBlockResource* CreateNew()
20 {
21 return new TIndexBlockResource();
22 }
23
24public:
25 struct HALBuffer
26 {
29 IDirect3DIndexBuffer8* pIndexBuffer = TNULL;
30 };
31
32private:
33 TIndexBlockResource();
34 ~TIndexBlockResource();
35
36public:
37 virtual TBOOL Validate() override;
38 virtual void Invalidate() override;
39 virtual TBOOL TryInvalidate() override;
40 virtual TBOOL TryValidate() override;
41
44 TBOOL CanFit( TIndexPoolResource* a_pPoolResource ) const;
45
46 void ChildIndexUsedChanged( TINT a_iChange );
47
48 TBOOL Lock( TIndexPoolResourceInterface::LockBuffer* a_pLockBuffer, TUINT16 a_uiNumIndices );
49 void Unlock();
50
51 TBOOL Create( TIndexFactoryResourceInterface* a_pFactory, TUINT16 a_uiMaxIndices, TUINT32 a_uiFlags );
52
54 void DestroyHAL();
55
56 TBOOL GetHALBuffer( HALBuffer* a_pHALBuffer ) const;
57
58private:
59 inline static TINT s_iHALMemoryUsage;
60
61public:
70};
71
#define TOSHI_NAMESPACE_START
Definition Defines.h:47
#define TOSHI_NAMESPACE_END
Definition Defines.h:50
#define TDECLARE_FREELIST_ALLOCATOR(CLASS_NAME)
Definition TFreeList.h:3
uint16_t TUINT16
Definition Typedefs.h:15
unsigned int TUINT
Definition Typedefs.h:8
#define TNULL
Definition Typedefs.h:23
uint32_t TUINT32
Definition Typedefs.h:13
int TINT
Definition Typedefs.h:7
bool TBOOL
Definition Typedefs.h:6
virtual TBOOL Validate() override
TBOOL DettachPool(TIndexPoolResource *a_pPool)
TBOOL Lock(TIndexPoolResourceInterface::LockBuffer *a_pLockBuffer, TUINT16 a_uiNumIndices)
TDECLARE_CLASS(TIndexBlockResource, TResource)
virtual TBOOL TryValidate() override
TIndexFactoryResourceInterface * m_pFactory
static TIndexBlockResource * CreateNew()
TBOOL AttachPool(TIndexPoolResource *a_pPool)
TBOOL CanFit(TIndexPoolResource *a_pPoolResource) const
virtual void Invalidate() override
void ChildIndexUsedChanged(TINT a_iChange)
TBOOL GetHALBuffer(HALBuffer *a_pHALBuffer) const
virtual TBOOL TryInvalidate() override
virtual TBOOL Create()
Definition TResource.cpp:28