diff --git a/Client/game_sa/CModelInfoSA.cpp b/Client/game_sa/CModelInfoSA.cpp index 39991070fb..97a46692cb 100644 --- a/Client/game_sa/CModelInfoSA.cpp +++ b/Client/game_sa/CModelInfoSA.cpp @@ -1509,6 +1509,22 @@ void CModelInfoSA::MakeVehicleAutomobile(ushort usBaseID) void CModelInfoSA::DeallocateModel(void) { Remove(); + + switch (GetModelType()) + { + case eModelInfoType::VEHICLE: + delete reinterpret_cast(ppModelInfo[m_dwModelID]); + break; + case eModelInfoType::PED: + delete reinterpret_cast(ppModelInfo[m_dwModelID]); + break; + case eModelInfoType::ATOMIC: + delete reinterpret_cast(ppModelInfo[m_dwModelID]); + break; + default: + break; + } + ppModelInfo[m_dwModelID] = nullptr; pGame->GetStreaming()->GetStreamingInfoFromModelId(m_dwModelID)->Reset(); }