From 76ba4fbc2c2fdc40c74599e2fd39a8af9c7eb742 Mon Sep 17 00:00:00 2001 From: Uladzislau Nikalayevich Date: Sun, 19 Jan 2025 20:17:08 +0300 Subject: [PATCH] Fix restoreGameWorld and removeWorldModel conflict --- Client/game_sa/CBuildingsPoolSA.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Client/game_sa/CBuildingsPoolSA.cpp b/Client/game_sa/CBuildingsPoolSA.cpp index 683330ed3c..f7557ca157 100644 --- a/Client/game_sa/CBuildingsPoolSA.cpp +++ b/Client/game_sa/CBuildingsPoolSA.cpp @@ -18,6 +18,7 @@ #include "CPtrNodeSingleListSA.h" #include "MemSA.h" #include "CVehicleSA.h" +#include "CBuildingRemovalSA.h" extern CGameSA* pGame; @@ -174,6 +175,9 @@ void CBuildingsPoolSA::RestoreBackup() if (!m_pOriginalBuildingsBackup) return; + auto* worldSA = pGame->GetWorld(); + auto* buildingRemovealSA = static_cast(pGame->GetBuildingRemoval()); + auto& originalData = *m_pOriginalBuildingsBackup; auto pBuildsingsPool = (*m_ppBuildingPoolInterface); for (size_t i = 0; i < MAX_BUILDINGS; i++) @@ -184,7 +188,8 @@ void CBuildingsPoolSA::RestoreBackup() auto pBuilding = pBuildsingsPool->GetObject(i); *pBuilding = originalData[i].second; - pGame->GetWorld()->Add(pBuilding, CBuildingPool_Constructor); + worldSA->Add(pBuilding, CBuildingPool_Constructor); + buildingRemovealSA->AddDataBuilding(pBuilding); } }