OpenBarnyard
 
Loading...
Searching...
No Matches
TModel_DX8.cpp
Go to the documentation of this file.
1#include "ToshiPCH.h"
2#include "TModel_DX8.h"
3
4//-----------------------------------------------------------------------------
5// Enables memory debugging.
6// Note: Should be the last include!
7//-----------------------------------------------------------------------------
9
11
12// $Barnyard: FUNCTION 006d9d80
16
17// $Barnyard: FUNCTION 006d9f70
21
22// $Barnyard: FUNCTION 006d9da0
23TBOOL TModelHAL::Create( TTMD* a_pTMD, TBOOL a_bLoad )
24{
26
27 if ( a_bLoad )
28 {
29 if ( !LoadTMDHAL( a_pTMD ) )
30 {
32 return TFALSE;
33 }
34 }
35
36 return TTRUE;
37}
38
39// $Barnyard: FUNCTION 006d9de0
40TBOOL TModelHAL::Create( const TCHAR* a_szFileName, TBOOL a_bLoad )
41{
43
44 if ( a_bLoad )
45 {
46 if ( !LoadFromFile( a_szFileName ) )
47 {
49 return TFALSE;
50 }
51 }
52
53 return TTRUE;
54}
55
56// $Barnyard: FUNCTION 006d9e20
57TBOOL TModelHAL::Create( const TCHAR* a_szFileName, TBOOL a_bLoad, TTRB* a_pAssetTRB, TUINT8 a_ui8FileNameLen )
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}
72
73// $Barnyard: FUNCTION 006d9f50
75{
76 Unload();
77 delete this;
78}
79
80TBOOL TModelHAL::LoadFromFile( const TCHAR* a_szFileName )
81{
82 if ( !IsLoaded() )
83 {
84 TASSERT( TFALSE, "Deprecated!" );
85 return TFALSE;
86 }
87
88 return TTRUE;
89}
90
91// $Barnyard: FUNCTION 006d9ed0
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}
119
121{
122 return TTRUE;
123}
124
125// $Barnyard: FUNCTION 006d9e60
127{
128 if ( !IsLoaded() )
129 {
130 TASSERT( TFALSE, "Deprecated!" );
131 return TFALSE;
132 }
133
134 return TTRUE;
135}
136
137// $Barnyard: FUNCTION 006d9e90
138TBOOL TModelHAL::LoadTMDHAL( const TCHAR* a_szFileName, TTRB* a_pAssetTRB, TUINT8 a_ui8FileNameLen )
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}
152
#define TASSERT(X,...)
Definition Defines.h:138
#define TOSHI_NAMESPACE_START
Definition Defines.h:47
#define TOSHI_NAMESPACE_END
Definition Defines.h:50
char TCHAR
Definition Typedefs.h:20
uint8_t TUINT8
Definition Typedefs.h:17
#define TNULL
Definition Typedefs.h:23
int TINT
Definition Typedefs.h:7
#define TFALSE
Definition Typedefs.h:24
#define TTRUE
Definition Typedefs.h:25
bool TBOOL
Definition Typedefs.h:6
Definition TTRB.h:253
virtual void Delete() override
virtual TBOOL LoadTMDHAL(TTMD *a_pTMD)
virtual void Unload() override
virtual TBOOL Create(TTMD *a_pTMD, TBOOL a_bLoad) override
virtual TBOOL LoadFromFile(const TCHAR *a_szFileName) override
virtual TBOOL GetUnknownFlag() override
TBOOL LoadTRB()
Definition TModel.cpp:38
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
Flags m_eFlags
Definition TModel.h:146
@ Flags_Loaded
Definition TModel.h:76
@ Flags_Created
Definition TModel.h:75
TBOOL IsLoaded() const
Definition TModel.h:108