@@ -1196,38 +1196,36 @@ bool CModelInfoSA::SetCustomModel(RpClump* pClump)
1196
1196
if (!pClump)
1197
1197
return false ;
1198
1198
1199
- // Replace the model if we're loaded.
1200
- bool success = false ;
1201
-
1202
- if (IsLoaded ())
1199
+ if (!IsLoaded ())
1203
1200
{
1204
- switch (GetModelType ())
1205
- {
1206
- case eModelInfoType::PED:
1207
- success = pGame->GetRenderWare ()->ReplacePedModel (pClump, static_cast <unsigned short >(m_dwModelID));
1208
- break ;
1209
- case eModelInfoType::WEAPON:
1210
- success = pGame->GetRenderWare ()->ReplaceWeaponModel (pClump, static_cast <unsigned short >(m_dwModelID));
1211
- break ;
1212
- case eModelInfoType::VEHICLE:
1213
- success = pGame->GetRenderWare ()->ReplaceVehicleModel (pClump, static_cast <unsigned short >(m_dwModelID));
1214
- break ;
1215
- case eModelInfoType::ATOMIC:
1216
- case eModelInfoType::LOD_ATOMIC:
1217
- case eModelInfoType::TIME:
1218
- success = pGame->GetRenderWare ()->ReplaceAllAtomicsInModel (pClump, static_cast <unsigned short >(m_dwModelID));
1219
- break ;
1220
- default :
1221
- break ;
1222
- }
1201
+ // Wait for the game to eventually stream-in the model and then try to replace it (via MakeCustomModel).
1202
+ m_pCustomClump = pClump;
1203
+ return true ;
1223
1204
}
1224
1205
1225
- if (success)
1206
+ bool success = false ;
1207
+
1208
+ switch (GetModelType ())
1226
1209
{
1227
- // Store the custom clump
1228
- m_pCustomClump = pClump;
1210
+ case eModelInfoType::PED:
1211
+ success = pGame->GetRenderWare ()->ReplacePedModel (pClump, static_cast <unsigned short >(m_dwModelID));
1212
+ break ;
1213
+ case eModelInfoType::WEAPON:
1214
+ success = pGame->GetRenderWare ()->ReplaceWeaponModel (pClump, static_cast <unsigned short >(m_dwModelID));
1215
+ break ;
1216
+ case eModelInfoType::VEHICLE:
1217
+ success = pGame->GetRenderWare ()->ReplaceVehicleModel (pClump, static_cast <unsigned short >(m_dwModelID));
1218
+ break ;
1219
+ case eModelInfoType::ATOMIC:
1220
+ case eModelInfoType::LOD_ATOMIC:
1221
+ case eModelInfoType::TIME:
1222
+ success = pGame->GetRenderWare ()->ReplaceAllAtomicsInModel (pClump, static_cast <unsigned short >(m_dwModelID));
1223
+ break ;
1224
+ default :
1225
+ break ;
1229
1226
}
1230
1227
1228
+ m_pCustomClump = success ? pClump : nullptr ;
1231
1229
return success;
1232
1230
}
1233
1231
0 commit comments