diff --git a/engine/inc/C4Game.h b/engine/inc/C4Game.h index 180e3e4f7..5aace529d 100644 --- a/engine/inc/C4Game.h +++ b/engine/inc/C4Game.h @@ -109,7 +109,6 @@ class C4Game C4ComponentHost GameText; C4GameScriptHost Script; C4LangStringTable MainSysLangStringTable, ScenarioLangStringTable, ScenarioSysLangStringTable; - C4MassMoverSet MassMover; C4ParticleSystem Particles; C4PlayerList Players; StdStrBuf PlayerNames; diff --git a/engine/inc/C4MassMover.h b/engine/inc/C4MassMover.h index 74734e48e..b6c326669 100644 --- a/engine/inc/C4MassMover.h +++ b/engine/inc/C4MassMover.h @@ -62,4 +62,6 @@ class C4MassMoverSet void Consolidate(); }; +extern C4MassMoverSet MassMover; + #endif diff --git a/engine/src/C4Control.cpp b/engine/src/C4Control.cpp index b2f0a8e3f..dcf6674b4 100644 --- a/engine/src/C4Control.cpp +++ b/engine/src/C4Control.cpp @@ -437,7 +437,7 @@ void C4ControlSyncCheck::Set() RandomCount = ::RandomCount; AllCrewPosX = GetAllCrewPosX(); PXSCount = ::PXS.Count; - MassMoverIndex = Game.MassMover.CreatePtr; + MassMoverIndex = ::MassMover.CreatePtr; ObjectCount = Game.Objects.ObjectCount(); ObjectEnumerationIndex = Game.ObjectEnumerationIndex; SectShapeSum = Game.Objects.Sectors.getShapeSum(); diff --git a/engine/src/C4GameSave.cpp b/engine/src/C4GameSave.cpp index c71ea0008..b230d570d 100644 --- a/engine/src/C4GameSave.cpp +++ b/engine/src/C4GameSave.cpp @@ -167,7 +167,7 @@ bool C4GameSave::SaveLandscape() if (!::PXS.Save(*pSaveGroup)) return false; // MassMover (create copy, may not modify running data) C4MassMoverSet MassMoverSet; - MassMoverSet.Copy(Game.MassMover); + MassMoverSet.Copy(::MassMover); if (!MassMoverSet.Save(*pSaveGroup)) return false; // Material enumeration if (!Game.Material.SaveEnumeration(*pSaveGroup)) return false; diff --git a/engine/src/C4Landscape.cpp b/engine/src/C4Landscape.cpp index 8e925d419..5f17e4a6f 100644 --- a/engine/src/C4Landscape.cpp +++ b/engine/src/C4Landscape.cpp @@ -881,7 +881,7 @@ BOOL C4Landscape::CheckInstability(int32_t tx, int32_t ty) int32_t mat=GetMat(tx,ty); if (MatValid(mat)) if (Game.Material.Map[mat].Instable) - return Game.MassMover.Create(tx,ty); + return ::MassMover.Create(tx,ty); return FALSE; } diff --git a/engine/src/C4MassMover.cpp b/engine/src/C4MassMover.cpp index e7f5990ee..85f05ba2b 100644 --- a/engine/src/C4MassMover.cpp +++ b/engine/src/C4MassMover.cpp @@ -112,7 +112,7 @@ BOOL C4MassMover::Init(int32_t tx, int32_t ty) // Check mat Mat=GBackMat(tx,ty); x=tx; y=ty; - Game.MassMover.Count++; + ::MassMover.Count++; return (Mat!=MNone); } @@ -123,7 +123,7 @@ void C4MassMover::Cease() rc.x=x; rc.y=y; AddDbgRec(RCT_MMD, &rc, sizeof(rc)); #endif - Game.MassMover.Count--; + ::MassMover.Count--; Mat=MNone; } @@ -175,7 +175,7 @@ BOOL C4MassMover::Execute() ::Landscape.InsertMaterial(omat, tx, ty + 1); // Create new mover at target - Game.MassMover.Create(tx,ty,!Rnd3()); + ::MassMover.Create(tx,ty,!Rnd3()); return TRUE; } @@ -280,3 +280,5 @@ void C4MassMoverSet::Copy(C4MassMoverSet &rSet) CreatePtr=rSet.CreatePtr; for (int32_t cnt=0; cnt