Skip to content

Commit 96df7a4

Browse files
Synchronize changes from 1.6 master branch [ci skip]
c60f8a2 Fix restoreGameWorld and removeWorldModel conflict (PR #3969, Fixes #3942)
2 parents 572b3d0 + c60f8a2 commit 96df7a4

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

Client/game_sa/CBuildingsPoolSA.cpp

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
#include "CPtrNodeSingleListSA.h"
1919
#include "MemSA.h"
2020
#include "CVehicleSA.h"
21+
#include "CBuildingRemovalSA.h"
2122

2223
extern CGameSA* pGame;
2324

@@ -174,6 +175,9 @@ void CBuildingsPoolSA::RestoreBackup()
174175
if (!m_pOriginalBuildingsBackup)
175176
return;
176177

178+
auto* worldSA = pGame->GetWorld();
179+
auto* buildingRemovealSA = static_cast<CBuildingRemovalSA*>(pGame->GetBuildingRemoval());
180+
177181
auto& originalData = *m_pOriginalBuildingsBackup;
178182
auto pBuildsingsPool = (*m_ppBuildingPoolInterface);
179183
for (size_t i = 0; i < MAX_BUILDINGS; i++)
@@ -184,7 +188,8 @@ void CBuildingsPoolSA::RestoreBackup()
184188
auto pBuilding = pBuildsingsPool->GetObject(i);
185189
*pBuilding = originalData[i].second;
186190

187-
pGame->GetWorld()->Add(pBuilding, CBuildingPool_Constructor);
191+
worldSA->Add(pBuilding, CBuildingPool_Constructor);
192+
buildingRemovealSA->AddDataBuilding(pBuilding);
188193
}
189194
}
190195

0 commit comments

Comments
 (0)