mirror of
https://github.com/nillerusr/source-engine.git
synced 2026-08-07 17:29:36 +00:00
add MDL version 49 support
This commit is contained in:
@@ -897,9 +897,13 @@ void CStudioRenderContext::R_StudioBuildMeshStrips( studiomeshgroup_t* pMeshGrou
|
||||
// Compute the amount of memory we need to store the strip data
|
||||
int i;
|
||||
int stripDataSize = 0;
|
||||
|
||||
size_t stripHdrSize = (pStripGroup->flags & OptimizedModel::STRIPGROUP_IS_MDL49)
|
||||
? sizeof(OptimizedModel::StripHeader_v49_t) : sizeof(OptimizedModel::StripHeader_t);
|
||||
|
||||
for( i = 0; i < pStripGroup->numStrips; ++i )
|
||||
{
|
||||
stripDataSize += sizeof(OptimizedModel::StripHeader_t);
|
||||
stripDataSize += stripHdrSize;
|
||||
stripDataSize += pStripGroup->pStrip(i)->numBoneStateChanges *
|
||||
sizeof(OptimizedModel::BoneStateChangeHeader_t);
|
||||
}
|
||||
@@ -907,15 +911,14 @@ void CStudioRenderContext::R_StudioBuildMeshStrips( studiomeshgroup_t* pMeshGrou
|
||||
pMeshGroup->m_pStripData = (OptimizedModel::StripHeader_t*)malloc(stripDataSize);
|
||||
|
||||
// Copy over the strip info
|
||||
int boneStateChangeOffset = pStripGroup->numStrips * sizeof(OptimizedModel::StripHeader_t);
|
||||
int boneStateChangeOffset = pStripGroup->numStrips * stripHdrSize;
|
||||
for( i = 0; i < pStripGroup->numStrips; ++i )
|
||||
{
|
||||
memcpy( &pMeshGroup->m_pStripData[i], pStripGroup->pStrip(i),
|
||||
sizeof( OptimizedModel::StripHeader_t ) );
|
||||
memcpy( &pMeshGroup->m_pStripData[i], pStripGroup->pStrip(i), stripHdrSize);
|
||||
|
||||
// Fixup the bone state change offset, since we have it right after the strip data
|
||||
pMeshGroup->m_pStripData[i].boneStateChangeOffset = boneStateChangeOffset -
|
||||
i * sizeof(OptimizedModel::StripHeader_t);
|
||||
i * stripHdrSize;
|
||||
|
||||
// copy over bone state changes
|
||||
int boneWeightSize = pMeshGroup->m_pStripData[i].numBoneStateChanges *
|
||||
|
||||
Reference in New Issue
Block a user