OpenBarnyard
 
Loading...
Searching...
No Matches
TTextureFactoryHAL Class Reference

#include <TTextureFactoryHAL_DX8.h>

Inheritance diagram for TTextureFactoryHAL:
TTextureFactory TResource TObject TNodeTree< T >::TNode

Public Member Functions

 TDECLARE_CLASS (TTextureFactoryHAL, TTextureFactory)
 
TTextureCreateTextureFromFile (const TCHAR *a_szFilePath, TUINT32 a_eTextureFlags) override
 
TTextureCreateTextureFromMemory (void *a_pData, TUINT a_uiDataSize, TUINT a_eTextureFlags, TUINT a_uiWidth, TUINT a_uiHeight) override
 
TTextureCreateEx (void *a_pData, TUINT a_uiDataSize, TUINT a_uiWidth, TUINT a_uiHeight, TUINT a_uiMipLevels, TTEXTURERESOURCEFORMAT a_eFormat, TUINT a_uiMipMapFlags) override
 
TTextureCreateFromT2Texture (T2Texture *a_pTexture) override
 
- Public Member Functions inherited from TTextureFactory
 TDECLARE_CLASS (TTextureFactory, TResource)
 
 TTextureFactory ()=default
 
 ~TTextureFactory ()
 
virtual void Dump () const
 
TNodeList< NameEntry > * GetList (TUINT a_uiList)
 
TTextureFindTexture (const TCHAR *a_szName) const
 
NameEntryRegisterTexture (const TCHAR *a_szName, TTexture *a_pTexture)
 
void DeregisterTexture (TTexture *a_pTexture)
 
- Public Member Functions inherited from TResource
 TDECLARE_CLASS (TResource, TObject)
 
 TResource ()
 
 ~TResource ()
 
virtual TBOOL Create ()
 
virtual TBOOL Validate ()
 
virtual void Invalidate ()
 
virtual void DestroyResource ()
 
virtual TBOOL TryInvalidate ()
 
virtual TBOOL TryValidate ()
 
virtual void OnDestroy ()
 
TBOOL IsDead () const
 
TBOOL IsDying () const
 
TBOOL IsValid () const
 
TBOOL IsExternal () const
 
TBOOL IsCreated () const
 
TBOOL IsSceneObject () const
 
TBOOL IsInvalid () const
 
void SetState (TResourceState newState)
 
void AddState (TResourceState state)
 
void SetParent (TResource *a_pParent)
 
const TCHARGetName () const
 
void SetName (const TCHAR *name)
 
TBOOL RecurseSimple (t_RecurseCb a_pCallback, TResource *a_pResource, void *a_pUserData)
 
TRenderInterfaceGetRenderer () const
 
void SetRenderer (TRenderInterface *pRenderer)
 
TUINT32 GetUId () const
 
void SetUId (TUINT32 uid)
 
- Public Member Functions inherited from TObject
virtual Toshi::TClass * GetClass ()
 
virtual void Delete ()
 
virtual ~TObject ()
 
TBOOL IsExactly (TClass *a_pClass)
 
TBOOL IsA (TClass *a_pClass)
 
- Public Member Functions inherited from TNodeTree< T >::TNode
TBOOL IsChildOfDefaultRoot () const
 
TBOOL IsLinked () const
 
T * Parent () const
 
T * Next () const
 
T * Prev () const
 
TNodeTree< T > * Tree () const
 
T * Child () const
 

Additional Inherited Members

- Public Types inherited from TResource
using t_RecurseCb = TBOOL ( * )( TResource* a_pResource, void* a_pUserData )
 
- Public Types inherited from TObject
enum  { IsTObject = TTRUE }
 
- Static Public Member Functions inherited from TTextureFactory
static TUINT32 HashName (const TCHAR *a_szName)
 
- Static Public Member Functions inherited from TResource
static TBOOL Recurse (t_RecurseCb a_pCallback, TResource *a_pResource, TBOOL a_bFlag, void *a_pUserData)
 
- Static Public Member Functions inherited from TObject
static Toshi::TObject * CreateTObject ()
 
static Toshi::TObject * CreateTObjectInPlace (void *a_pPtr)
 
static void InitialiseClass ()
 
static void DeinitialiseClass ()
 
static TFORCEINLINE TClassGetClassStatic ()
 
- Public Attributes inherited from TResource
friend TRenderInterface
 
- Public Attributes inherited from TNodeTree< T >::TNode
friend TNodeTree
 
- Static Public Attributes inherited from TTextureFactory
static constexpr TUINT32 NUM_LISTS = 1024
 
- Static Public Attributes inherited from TResource
static constexpr size_t MAXNAMELEN = 14
 
- Static Public Attributes inherited from TObject
static constexpr Toshi::TClass * PARENTCLASS = TNULL
 
static constinit Toshi::TClass ms_oClass = Toshi::TClass( "TObject", TObject::CreateTObject, TObject::CreateTObjectInPlace, TObject::InitialiseClass, TObject::DeinitialiseClass, 0, 2, sizeof( TObject ), alignof( TObject ) )
 
- Protected Member Functions inherited from TNodeTree< T >::TNode
 TNode ()
 
- Protected Attributes inherited from TNodeTree< T >::TNode
TNodeTree< T > * m_Tree
 
T * m_Next
 
T * m_Prev
 
T * m_Parent
 
T * m_Child
 

Detailed Description

Definition at line 6 of file TTextureFactoryHAL_DX8.h.

Member Function Documentation

◆ CreateEx()

TTexture * TTextureFactoryHAL::CreateEx ( void * a_pData,
TUINT a_uiDataSize,
TUINT a_uiWidth,
TUINT a_uiHeight,
TUINT a_uiMipLevels,
TTEXTURERESOURCEFORMAT a_eFormat,
TUINT a_uiMipMapFlags )
overridevirtual

Implements TTextureFactory.

Definition at line 69 of file TTextureFactoryHAL_DX8.cpp.

70{
71 static TUINT s_iNumMemTextures = 0;
72 static TCHAR s_szName[ 32 ];
73
74 s_szName[ 0 ] = 'm';
75 s_szName[ 1 ] = 't';
76 s_szName[ 2 ] = 'e';
77 s_szName[ 3 ] = 'x';
78 s_szName[ 4 ] = ':';
79 T2String8::IntToString( ++s_iNumMemTextures, s_szName + 5, 16 );
80
81 TTexture* pTexture = TSTATICCAST(
82 TTexture,
83 GetRenderer()->CreateResource(
84 TClass::Find( "TTextureResourceHAL" ),
85 TNULL,
86 this
87 )
88 );
89
90 pTexture->CreateEx( a_pData, a_uiDataSize, a_uiWidth, a_uiHeight, a_uiMipLevels, a_eFormat, a_uiMipMapFlags );
91 RegisterTexture( s_szName, pTexture );
92
93 return pTexture;
94}
#define TSTATICCAST(POINTERTYPE, VALUE)
Definition Defines.h:69
unsigned int TUINT
Definition Typedefs.h:8
char TCHAR
Definition Typedefs.h:20
#define TNULL
Definition Typedefs.h:23
virtual TBOOL CreateEx(void *a_pData, TUINT a_uiDataSize, TUINT a_uiWidth, TUINT a_uiHeight, TUINT a_uiMipLevels, TTEXTURERESOURCEFORMAT a_eFormat, TUINT a_uiMipMapFlags)
Definition TTexture.cpp:38
TRenderInterface * GetRenderer() const
NameEntry * RegisterTexture(const TCHAR *a_szName, TTexture *a_pTexture)
static void IntToString(TINT value, TCHAR *dst, TINT unused, TINT radix)
static TClass * Find(const TCHAR *name, TClass *parent=TNULL)
Definition TClass.cpp:110

◆ CreateFromT2Texture()

TTexture * TTextureFactoryHAL::CreateFromT2Texture ( T2Texture * a_pTexture)
overridevirtual

Implements TTextureFactory.

Definition at line 97 of file TTextureFactoryHAL_DX8.cpp.

98{
99 static TUINT s_iNumMemTextures = 0;
100 static TCHAR s_szName[ 32 ];
101
102 s_szName[ 0 ] = 't';
103 s_szName[ 1 ] = '2';
104 s_szName[ 2 ] = 't';
105 s_szName[ 3 ] = 'x';
106 s_szName[ 4 ] = ':';
107 T2String8::IntToString( ++s_iNumMemTextures, s_szName + 5, 16 );
108
109 TTexture* pTexture = TSTATICCAST(
110 TTexture,
111 GetRenderer()->CreateResource(
112 TClass::Find( "TTextureResourceHAL" ),
113 TNULL,
114 this
115 )
116 );
117
118 pTexture->CreateFromT2Texture( a_pTexture );
119 RegisterTexture( s_szName, pTexture );
120
121 return pTexture;
122}
virtual void CreateFromT2Texture(T2Texture *a_pTexture)=0

◆ CreateTextureFromFile()

TTexture * TTextureFactoryHAL::CreateTextureFromFile ( const TCHAR * a_szFilePath,
TUINT32 a_eTextureFlags )
overridevirtual

Implements TTextureFactory.

Definition at line 17 of file TTextureFactoryHAL_DX8.cpp.

18{
19 TTexture* pTexture = FindTexture( a_szFilePath );
20
21 if ( !pTexture )
22 {
23 pTexture = TSTATICCAST(
24 TTexture,
25 GetRenderer()->CreateResource(
26 TClass::Find( "TTextureResourceHAL" ),
27 TNULL,
28 this
29 )
30 );
31
32 pTexture->Create( a_szFilePath, a_eTextureFlags );
33 RegisterTexture( a_szFilePath, pTexture );
34 pTexture->Validate();
35 }
36
37 return pTexture;
38}
virtual TBOOL Create(void *a_pData, TUINT a_uiDataSize, TUINT a_eTextureFlags, TUINT a_uiWidth, TUINT a_uiHeight)=0
virtual TBOOL Validate()
Definition TResource.cpp:36
TTexture * FindTexture(const TCHAR *a_szName) const

◆ CreateTextureFromMemory()

TTexture * TTextureFactoryHAL::CreateTextureFromMemory ( void * a_pData,
TUINT a_uiDataSize,
TUINT a_eTextureFlags,
TUINT a_uiWidth,
TUINT a_uiHeight )
overridevirtual

Implements TTextureFactory.

Definition at line 41 of file TTextureFactoryHAL_DX8.cpp.

42{
43 static TUINT s_iNumMemTextures = 0;
44 static TCHAR s_szName[ 32 ];
45
46 s_szName[ 0 ] = 'm';
47 s_szName[ 1 ] = 't';
48 s_szName[ 2 ] = 'e';
49 s_szName[ 3 ] = 'x';
50 s_szName[ 4 ] = ':';
51 T2String8::IntToString( ++s_iNumMemTextures, s_szName + 5, 16 );
52
53 TTexture* pTexture = TSTATICCAST(
54 TTexture,
55 GetRenderer()->CreateResource(
56 TClass::Find( "TTextureResourceHAL" ),
57 TNULL,
58 this
59 )
60 );
61
62 pTexture->Create( a_pData, a_uiDataSize, a_eTextureFlags, a_uiWidth, a_uiHeight );
63 RegisterTexture( s_szName, pTexture );
64
65 return pTexture;
66}

◆ TDECLARE_CLASS()

TTextureFactoryHAL::TDECLARE_CLASS ( TTextureFactoryHAL ,
TTextureFactory  )

The documentation for this class was generated from the following files: