@@ -60,7 +60,6 @@ CModelInfoSA::CModelInfoSA()
60
60
m_pOriginalColModelInterface = NULL ;
61
61
m_pCustomClump = NULL ;
62
62
m_pCustomColModel = NULL ;
63
- m_bAddedRefForCollision = false ;
64
63
}
65
64
66
65
CBaseModelInfoSAInterface* CModelInfoSA::GetInterface ()
@@ -391,36 +390,15 @@ void CModelInfoSA::Remove()
391
390
392
391
m_pInterface = ppModelInfo[m_dwModelID];
393
392
394
- // Remove ref added for collision
395
- if (m_bAddedRefForCollision)
396
- {
397
- m_bAddedRefForCollision = false ;
398
- if (m_pInterface->usNumberOfRefs > 0 )
399
- m_pInterface->usNumberOfRefs --;
400
- }
401
-
402
393
// Remove our reference
403
394
if (m_pInterface->usNumberOfRefs > 0 )
404
395
m_pInterface->usNumberOfRefs --;
405
396
406
397
// No references left?
407
- if (m_pInterface->usNumberOfRefs == 0 )
398
+ if (m_pInterface->usNumberOfRefs == 0 && !m_pCustomClump && !m_pCustomColModel )
408
399
{
409
- // We have a custom model?
410
- if (m_pCustomClump)
411
- {
412
- // Mark us as unloaded. We manage the clump unloading.
413
- // BYTE *ModelLoaded = (BYTE*)ARRAY_ModelLoaded;
414
- // ModelLoaded[(m_dwModelID+m_dwModelID*4)<<2] = 0;
415
- }
416
- else
417
- {
418
- // Make our collision model original again before we unload.
419
- RestoreColModel ();
420
-
421
- // Remove the model.
422
- pGame->GetStreaming ()->RemoveModel (m_dwModelID);
423
- }
400
+ // Remove the model.
401
+ pGame->GetStreaming ()->RemoveModel (m_dwModelID);
424
402
}
425
403
}
426
404
@@ -1244,15 +1222,6 @@ void CModelInfoSA::SetColModel(CColModel* pColModel)
1244
1222
// Grab the interfaces
1245
1223
CColModelSAInterface* pColModelInterface = pColModel->GetInterface ();
1246
1224
1247
- if (!m_bAddedRefForCollision)
1248
- {
1249
- // Prevent this model from unloading while we have custom collision
1250
- ModelAddRef (BLOCKING, " for collision" );
1251
- m_bAddedRefForCollision = true ;
1252
- }
1253
-
1254
- // Should always be loaded at this point
1255
-
1256
1225
// Skip setting if already done
1257
1226
if (m_pCustomColModel == pColModel)
1258
1227
return ;
@@ -1328,13 +1297,6 @@ void CModelInfoSA::RestoreColModel()
1328
1297
m_pCustomColModel = nullptr ;
1329
1298
m_pOriginalColModelInterface = nullptr ;
1330
1299
m_originalFlags = 0 ;
1331
-
1332
- // Remove ref added for collision
1333
- if (m_bAddedRefForCollision)
1334
- {
1335
- m_bAddedRefForCollision = false ;
1336
- RemoveRef ();
1337
- }
1338
1300
}
1339
1301
1340
1302
void CModelInfoSA::MakeCustomModel ()
0 commit comments