OpenBarnyard
 
Loading...
Searching...
No Matches
TTextureResourceHAL_DX8.h
Go to the documentation of this file.
1#pragma once
2#include "Render/TTexture.h"
3#include "Toshi/TFreeList.h"
4
5#include <d3dx8.h>
7
9
10class TTextureResourceHAL : public TTexture
11{
12public:
13 TDECLARE_CLASS( TTextureResourceHAL, TTexture );
14 TDECLARE_FREELIST_ALLOCATOR( TTextureResourceHAL );
15
16 static TTextureResourceHAL* CreateNew()
17 {
18 return new TTextureResourceHAL();
19 }
20
21private:
23
24public:
25 virtual TBOOL Validate() override;
26 virtual void Invalidate() override;
27
28 virtual TUINT GetWidth() override;
29 virtual TUINT GetHeight() override;
30 virtual TBOOL Lock( TTexture::LOCKSTATE& a_rLockState ) override;
31 virtual void Unlock() override;
32 virtual void CreateFromT2Texture( T2Texture* a_pTexture ) override;
33 virtual TBOOL Create( void* a_pData, TUINT a_uiDataSize, TUINT a_eTextureFlags, TUINT a_uiWidth, TUINT a_uiHeight ) override;
34 virtual TBOOL Create( const TCHAR* a_szFileName, TUINT a_eTextureFlags ) override;
35 virtual TBOOL CreateEx( void* a_pData, TUINT a_uiDataSize, TUINT a_uiWidth, TUINT a_uiHeight, TUINT a_uiMipLevels, TTEXTURERESOURCEFORMAT a_eFormat, TUINT a_uiMipMapFlags ) override;
36
38 TBOOL CreateFromMemory8888( TUINT a_uiWidth, TUINT a_uiHeight, TUINT a_uiLevels, void* a_pData );
39 TBOOL CreateFromMemory888( TUINT a_uiWidth, TUINT a_uiHeight, TUINT a_uiLevels, void* a_pData );
40 TBOOL CreateFromMemory5551( TUINT a_uiWidth, TUINT a_uiHeight, TUINT a_uiLevels, void* a_pData );
41 TBOOL CreateFromMemoryDDS( TUINT a_uiWidth, TUINT a_uiHeight, TUINT a_uiLevels, void* a_pData );
42 TBOOL CreateFromMemory4444( TUINT a_uiWidth, TUINT a_uiHeight, TUINT a_uiLevels, void* a_pData );
43
44 TBOOL CreateFromFileDDS( TUINT a_uiWidth, TUINT a_uiHeight, TUINT a_uiLevels, const TCHAR* a_szFile );
45
46 IDirect3DTexture8* GetD3DTexture() { return m_pD3DTexture; }
47 void SetD3DTexture( IDirect3DTexture8* a_pD3DTexture ) { m_pD3DTexture = a_pD3DTexture; }
48
49 ADDRESSINGMODE GetAddressUState() const { return m_eAddressUState; }
50 void SetAddressUState( ADDRESSINGMODE a_eAddressing ) { m_eAddressUState = a_eAddressing; }
51
52 ADDRESSINGMODE GetAddressVState() const { return m_eAddressVState; }
53 void SetAddressVState( ADDRESSINGMODE a_eAddressing ) { m_eAddressVState = a_eAddressing; }
54
55 D3DXIMAGE_INFO& GetImageInfo() { return m_ImageInfo; }
56 const D3DXIMAGE_INFO& GetImageInfo() const { return m_ImageInfo; }
57
58public:
59 static TBOOL IsPPM( const TCHAR* a_szName );
60
61private:
62 TINT m_iNumLocks;
63 TBOOL m_bLoadFromMemory;
64 TBOOL m_bIsToshi2;
65 void* m_pData;
66 TUINT m_uiDataSize;
67 TUINT m_uiWidth;
68 TUINT m_uiHeight;
69 TUINT m_uiMipLevels;
70 TUINT m_uiMipFlags;
71 TTEXTURERESOURCEFORMAT m_eResourceFormat;
72 IDirect3DTexture8* m_pD3DTexture;
73 D3DXIMAGE_INFO m_ImageInfo;
74 ADDRESSINGMODE m_eAddressUState;
75 ADDRESSINGMODE m_eAddressVState;
76};
77
ADDRESSINGMODE
Texture addressing modes.
Definition TRender.h:39
Texture system for the Toshi engine.
#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
unsigned int TUINT
Definition Typedefs.h:8
char TCHAR
Definition Typedefs.h:20
int TINT
Definition Typedefs.h:7
bool TBOOL
Definition Typedefs.h:6
TBOOL CreateFromMemory888(TUINT a_uiWidth, TUINT a_uiHeight, TUINT a_uiLevels, void *a_pData)
void SetAddressUState(ADDRESSINGMODE a_eAddressing)
void SetAddressVState(ADDRESSINGMODE a_eAddressing)
virtual TUINT GetWidth() override
virtual TUINT GetHeight() override
static TBOOL IsPPM(const TCHAR *a_szName)
virtual void Unlock() override
IDirect3DTexture8 * GetD3DTexture()
virtual TBOOL Validate() override
ADDRESSINGMODE GetAddressUState() const
TBOOL CreateFromMemory5551(TUINT a_uiWidth, TUINT a_uiHeight, TUINT a_uiLevels, void *a_pData)
TBOOL CreateFromMemory8888(TUINT a_uiWidth, TUINT a_uiHeight, TUINT a_uiLevels, void *a_pData)
const D3DXIMAGE_INFO & GetImageInfo() const
virtual void CreateFromT2Texture(T2Texture *a_pTexture) override
TDECLARE_CLASS(TTextureResourceHAL, TTexture)
void SetD3DTexture(IDirect3DTexture8 *a_pD3DTexture)
static TTextureResourceHAL * CreateNew()
TBOOL CreateFromFileDDS(TUINT a_uiWidth, TUINT a_uiHeight, TUINT a_uiLevels, const TCHAR *a_szFile)
virtual TBOOL CreateEx(void *a_pData, TUINT a_uiDataSize, TUINT a_uiWidth, TUINT a_uiHeight, TUINT a_uiMipLevels, TTEXTURERESOURCEFORMAT a_eFormat, TUINT a_uiMipMapFlags) override
TBOOL CreateFromMemory4444(TUINT a_uiWidth, TUINT a_uiHeight, TUINT a_uiLevels, void *a_pData)
ADDRESSINGMODE GetAddressVState() const
D3DXIMAGE_INFO & GetImageInfo()
virtual TBOOL Lock(TTexture::LOCKSTATE &a_rLockState) override
virtual void Invalidate() override
TBOOL CreateFromMemoryDDS(TUINT a_uiWidth, TUINT a_uiHeight, TUINT a_uiLevels, void *a_pData)
virtual TBOOL Create()
Definition TResource.cpp:28