50 TERROR(
"TModel: loading a model without required keyframe library: %s\n", pSkeletonHeader->m_szTKLName );
55 pSkeletonHeader->m_iTKeyCount,
56 pSkeletonHeader->m_iQKeyCount,
57 pSkeletonHeader->m_iSKeyCount,
58 pSkeletonHeader->m_iTBaseIndex,
59 pSkeletonHeader->m_iQBaseIndex,
60 pSkeletonHeader->m_iSBaseIndex
72 for (
TINT i = 0; i < pCollisionHeader->m_iNumMeshes; i++ )
75 const auto& collisionMeshHeader = pCollisionHeader->m_pMeshes[ i ];
78 collisionMesh.m_Unk1 = collisionMeshHeader.m_Unk1;
79 collisionMesh.m_pVertices = collisionMeshHeader.m_pVertices;
80 collisionMesh.m_uiNumVertices = collisionMeshHeader.m_uiNumVertices;
81 collisionMesh.m_pIndices = collisionMeshHeader.m_pIndices;
82 collisionMesh.m_uiNumIndices = collisionMeshHeader.m_uiNumIndices;
85 collisionMesh.m_vecCollTypes.SetSize( collisionMeshHeader.m_uiNumCollTypes,
TModelCollisionType{} );
88 for (
TUINT k = 0; k < collisionMeshHeader.m_uiNumCollTypes; k++ )
90 collisionMesh.m_vecCollTypes[ k ].strName = collisionMeshHeader.m_pCollTypes[ k ].pszName;
91 collisionMesh.m_vecCollTypes[ k ].uiUnk1 = collisionMeshHeader.m_pCollTypes[ k ].iUnk1;
92 collisionMesh.m_vecCollTypes[ k ].uiUnk2 = collisionMeshHeader.m_pCollTypes[ k ].iUnk2;
95 collisionMesh.m_vecCollTypes[ k ].vecS1.SetSize( collisionMeshHeader.m_pCollTypes[ k ].iSomeCount );
96 collisionMesh.m_vecCollTypes[ k ].uiUnk3 = 0;
97 collisionMesh.m_vecCollTypes[ k ].uiUnk4 = 0;
99 for (
TINT j = 0; j < collisionMeshHeader.m_pCollTypes[ k ].iSomeCount; j++ )
101 collisionMesh.m_vecCollTypes[ k ].vecS1[ j ].uiUnk1 = collisionMeshHeader.m_pCollTypes[ k ].pS1[ j ].uiUnk1;
102 collisionMesh.m_vecCollTypes[ k ].vecS1[ j ].uiUnk2 = collisionMeshHeader.m_pCollTypes[ k ].pS1[ j ].uiUnk2;
108 TASSERT( ms_cbModelLoaderTRB !=
TNULL,
"Loader callback is not specified" );
109 ms_cbModelLoaderTRB(
this );
220 auto iFileNamePos = iFilePathLength - 1;
221 a_rNameLen = iFilePathLength;
223 while ( a_szFileName[ iFileNamePos ] !=
'\\' && a_szFileName[ iFileNamePos ] !=
'/' )
227 TCHAR symbolName[ 64 ];
229 auto iFileNameLength = iFilePathLength - iFileNamePos - 4;
230 a_rNameLen = iFileNameLength;
233 symbolName[ iFileNameLength ] =
'_';
234 symbolName[ iFileNameLength + 1 ] =
'\0';
235 a_rNameLen = iFileNameLength + 1;
240 auto pSymbol = a_pTRB->
GetSymbol( symbolName );