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

#include <TModel_DX8.h>

Inheritance diagram for TModelHAL:
TModel

Public Member Functions

 TModelHAL ()
 
 ~TModelHAL ()
 
virtual TBOOL Create (TTMD *a_pTMD, TBOOL a_bLoad) override
 
virtual TBOOL Create (const TCHAR *a_szFileName, TBOOL a_bLoad) override
 
virtual void Delete () override
 
virtual TBOOL LoadFromFile (const TCHAR *a_szFileName) override
 
virtual void Unload () override
 
virtual TBOOL GetUnknownFlag () override
 
virtual TBOOL LoadTMDHAL (TTMD *a_pTMD)
 
virtual TBOOL LoadTMDHAL (const TCHAR *a_szFileName, TTRB *a_pAssetTRB, TUINT8 a_ui8FileNameLen)
 
TBOOL Create (const TCHAR *a_szFileName, TBOOL a_bLoad, TTRB *a_pAssetTRB, TUINT8 a_ui8FileNameLen)
 
- Public Member Functions inherited from TModel
 TModel ()
 
virtual ~TModel ()
 
TBOOL LoadTRB ()
 
TBOOL LoadTRB (TTRB *a_pTRB)
 
TBOOL LoadTRB (const TCHAR *a_szFileName, TTRB *a_pAssetTRB, TUINT8 a_ui8FileNameLen)
 
void UnloadTRB ()
 
TModelInstanceCreateInstance ()
 
void * GetSymbol (const TCHAR *a_szSymbolName)
 
TBOOL IsCreated () const
 
TBOOL IsLoaded () const
 
void SetNumLODs (TINT a_iNumLODs)
 
TINT GetNumLODs () const
 
TTRBGetTRB () const
 
TModelLODGetLOD (TUINT32 a_uiLOD)
 
const TModelLODGetLOD (TUINT32 a_uiLOD) const
 
TSkeletonGetSkeleton () const
 
template<class T>
T * CastSymbol (const TCHAR *a_szSymbolName)
 

Additional Inherited Members

- Public Types inherited from TModel
enum  Flags_ : Flags { Flags_None = 0 , Flags_Created = BITFLAG( 0 ) , Flags_Loaded = BITFLAG( 1 ) }
 
using Flags = TUINT32
 
using t_ModelLoaderTRBCallback = TBOOL ( * )( TModel* a_pModel )
 
using t_ModelLoaderTMDCallback = TBOOL ( * )( TModel* a_pModel )
 
- Static Public Member Functions inherited from TModel
static TBOOL GetSkeletonAssetSymbolName (const TCHAR *a_szFileName, const TCHAR *&a_rSymbolName, TUINT8 &a_rNameLen, TTRB *a_pTRB)
 
static void SetLoaderTMDCallback (t_ModelLoaderTMDCallback a_cbLoader)
 
static void SetLoaderTRBCallback (t_ModelLoaderTRBCallback a_cbLoader)
 
- Public Attributes inherited from TModel
friend TModelInstance
 
friend AModelLoader
 
Flags m_eFlags
 
TINT m_iNumInstances
 
TINT m_iLODCount
 
TFLOAT m_fLODDistance
 
TSkeletonm_pSkeleton
 
TModelLOD m_LODs [MAX_NUM_LODS]
 
TFLOAT m_aLODDistances [4]
 
TINT m_iNumCollisionMeshes
 
TModelCollisionMeshm_pCollisionMeshes
 
TTRBm_pTRB
 
const TCHARm_szSymbolPrefix
 
TUINT8 m_szSymbolPrefixLength
 
TBOOL m_bIsAssetFile
 
- Static Public Attributes inherited from TModel
static constexpr TUINT MAX_NUM_LODS = 5
 

Detailed Description

Definition at line 6 of file TModel_DX8.h.

Constructor & Destructor Documentation

◆ TModelHAL()

TModelHAL::TModelHAL ( )

Definition at line 13 of file TModel_DX8.cpp.

14{
15}

◆ ~TModelHAL()

TModelHAL::~TModelHAL ( )

Definition at line 18 of file TModel_DX8.cpp.

19{
20}

Member Function Documentation

◆ Create() [1/3]

TBOOL TModelHAL::Create ( const TCHAR * a_szFileName,
TBOOL a_bLoad )
overridevirtual

Implements TModel.

Definition at line 40 of file TModel_DX8.cpp.

41{
43
44 if ( a_bLoad )
45 {
46 if ( !LoadFromFile( a_szFileName ) )
47 {
49 return TFALSE;
50 }
51 }
52
53 return TTRUE;
54}
#define TFALSE
Definition Typedefs.h:24
#define TTRUE
Definition Typedefs.h:25
virtual TBOOL LoadFromFile(const TCHAR *a_szFileName) override
Flags m_eFlags
Definition TModel.h:146
@ Flags_Created
Definition TModel.h:75

◆ Create() [2/3]

TBOOL TModelHAL::Create ( const TCHAR * a_szFileName,
TBOOL a_bLoad,
TTRB * a_pAssetTRB,
TUINT8 a_ui8FileNameLen )

Definition at line 57 of file TModel_DX8.cpp.

58{
60
61 if ( a_bLoad )
62 {
63 if ( !LoadTMDHAL( a_szFileName, a_pAssetTRB, a_ui8FileNameLen ) )
64 {
66 return TFALSE;
67 }
68 }
69
70 return TTRUE;
71}
virtual TBOOL LoadTMDHAL(TTMD *a_pTMD)

◆ Create() [3/3]

TBOOL TModelHAL::Create ( TTMD * a_pTMD,
TBOOL a_bLoad )
overridevirtual

Implements TModel.

Definition at line 23 of file TModel_DX8.cpp.

24{
26
27 if ( a_bLoad )
28 {
29 if ( !LoadTMDHAL( a_pTMD ) )
30 {
32 return TFALSE;
33 }
34 }
35
36 return TTRUE;
37}

◆ Delete()

void TModelHAL::Delete ( )
overridevirtual

Implements TModel.

Definition at line 74 of file TModel_DX8.cpp.

75{
76 Unload();
77 delete this;
78}
virtual void Unload() override

◆ GetUnknownFlag()

TBOOL TModelHAL::GetUnknownFlag ( )
overridevirtual

Implements TModel.

Definition at line 120 of file TModel_DX8.cpp.

121{
122 return TTRUE;
123}

◆ LoadFromFile()

TBOOL TModelHAL::LoadFromFile ( const TCHAR * a_szFileName)
overridevirtual

Implements TModel.

Definition at line 80 of file TModel_DX8.cpp.

81{
82 if ( !IsLoaded() )
83 {
84 TASSERT( TFALSE, "Deprecated!" );
85 return TFALSE;
86 }
87
88 return TTRUE;
89}
#define TASSERT(X,...)
Definition Defines.h:138
TBOOL IsLoaded() const
Definition TModel.h:108

◆ LoadTMDHAL() [1/2]

TBOOL TModelHAL::LoadTMDHAL ( const TCHAR * a_szFileName,
TTRB * a_pAssetTRB,
TUINT8 a_ui8FileNameLen )
virtual

Definition at line 138 of file TModel_DX8.cpp.

139{
140 if ( !IsLoaded() )
141 {
142 if ( !LoadTRB( a_szFileName, a_pAssetTRB, a_ui8FileNameLen ) )
143 {
144 return TFALSE;
145 }
146
148 }
149
150 return TTRUE;
151}
TBOOL LoadTRB()
Definition TModel.cpp:38
@ Flags_Loaded
Definition TModel.h:76

◆ LoadTMDHAL() [2/2]

TBOOL TModelHAL::LoadTMDHAL ( TTMD * a_pTMD)
virtual

Definition at line 126 of file TModel_DX8.cpp.

127{
128 if ( !IsLoaded() )
129 {
130 TASSERT( TFALSE, "Deprecated!" );
131 return TFALSE;
132 }
133
134 return TTRUE;
135}

◆ Unload()

void TModelHAL::Unload ( )
overridevirtual

Implements TModel.

Definition at line 92 of file TModel_DX8.cpp.

93{
94 if ( m_pSkeleton )
95 {
96 m_pSkeleton->GetKeyLibraryInstance().Destroy();
98 }
99
100 for ( TINT i = 0; i < m_iLODCount; i++ )
101 {
102 if ( m_LODs[ i ].ppMeshes )
103 {
104 for ( TINT k = 0; k < m_LODs[ i ].iNumMeshes; k++ )
105 {
106 if ( m_LODs[ i ].ppMeshes[ k ] )
107 {
108 m_LODs[ i ].ppMeshes[ k ]->DestroyResource();
109 m_LODs[ i ].ppMeshes[ k ] = TNULL;
110 }
111 }
112
113 delete[] m_LODs[ i ].ppMeshes;
114 }
115 }
116
117 UnloadTRB();
118}
#define TNULL
Definition Typedefs.h:23
int TINT
Definition Typedefs.h:7
TINT m_iLODCount
Definition TModel.h:148
TSkeleton * m_pSkeleton
Definition TModel.h:150
void UnloadTRB()
Definition TModel.cpp:154
TModelLOD m_LODs[MAX_NUM_LODS]
Definition TModel.h:151

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