diff options
author | Sergeanur <s.anureev@yandex.ua> | 2020-01-21 09:47:24 +0200 |
---|---|---|
committer | Sergeanur <s.anureev@yandex.ua> | 2020-01-21 09:47:24 +0200 |
commit | 77515f04e0cbb23029563017b47def5f2b9d0e4a (patch) | |
tree | 9581f7371b37f886e13beb06019fbb8516a28756 | |
parent | 06904755d9b2b1e56f1e53070a66101a12dddff9 (diff) |
ConstructMloClumps
-rw-r--r-- | src/core/FileLoader.cpp | 2 | ||||
-rw-r--r-- | src/core/ZoneCull.cpp | 6 | ||||
-rw-r--r-- | src/modelinfo/ModelInfo.cpp | 10 | ||||
-rw-r--r-- | src/modelinfo/ModelInfo.h | 1 |
4 files changed, 13 insertions, 6 deletions
diff --git a/src/core/FileLoader.cpp b/src/core/FileLoader.cpp index cdf31f7b..50f51ecb 100644 --- a/src/core/FileLoader.cpp +++ b/src/core/FileLoader.cpp @@ -96,7 +96,7 @@ CFileLoader::LoadLevel(const char *filename) LoadObjectTypes(line + 4); }else if(strncmp(line, "IPL", 3) == 0){ if(!objectsLoaded){ - // CModelInfo::ConstructMloClumps(); + CModelInfo::ConstructMloClumps(); CObjectData::Initialise("DATA\\OBJECT.DAT"); objectsLoaded = true; } diff --git a/src/core/ZoneCull.cpp b/src/core/ZoneCull.cpp index b6929e86..7b22a550 100644 --- a/src/core/ZoneCull.cpp +++ b/src/core/ZoneCull.cpp @@ -473,8 +473,8 @@ CCullZone::DoStuffEnteringZone_OneTreadablePlus10m(uint16 i) int j; if(i < 6000){ - CPools::GetTreadablePool()->GetSlot(i)->bZoneCulled = true;; - CPools::GetTreadablePool()->GetSlot(i)->bZoneCulled2 = true;; + CPools::GetTreadablePool()->GetSlot(i)->bZoneCulled = true; + CPools::GetTreadablePool()->GetSlot(i)->bZoneCulled2 = true; bb = CCullZones::aPointersToBigBuildingsForTreadables[i]; if(bb != -1) CPools::GetBuildingPool()->GetSlot(bb)->bZoneCulled = true; @@ -492,7 +492,7 @@ CCullZone::DoStuffEnteringZone_OneTreadable(uint16 i) int j; if(i < 6000){ - CPools::GetTreadablePool()->GetSlot(i)->bZoneCulled = true;; + CPools::GetTreadablePool()->GetSlot(i)->bZoneCulled = true; bb = CCullZones::aPointersToBigBuildingsForTreadables[i]; if(bb != -1) CPools::GetBuildingPool()->GetSlot(bb)->bZoneCulled = true; diff --git a/src/modelinfo/ModelInfo.cpp b/src/modelinfo/ModelInfo.cpp index fdde699b..c41320e2 100644 --- a/src/modelinfo/ModelInfo.cpp +++ b/src/modelinfo/ModelInfo.cpp @@ -121,7 +121,7 @@ CModelInfo::AddMloModel(int id) CMloModelInfo *modelinfo; modelinfo = CModelInfo::ms_mloModelStore.alloc(); CModelInfo::ms_modelInfoPtrs[id] = modelinfo; - modelinfo->m_clump = 0; + modelinfo->m_clump = nil; modelinfo->firstInstance = 0; modelinfo->lastInstance = 0; return modelinfo; @@ -218,13 +218,19 @@ CModelInfo::RemoveColModelsFromOtherLevels(eLevelName level) } } - CStore<CInstance, MLOINSTANCESIZE>* CModelInfo::GetMloInstanceStore() { return &CModelInfo::ms_mloInstanceStore; } +void +CModelInfo::ConstructMloClumps() +{ + for (int i = 0; i < ms_mloModelStore.allocPtr; i++) + ms_mloModelStore.store[i].ConstructClump(); +} + STARTPATCHES InjectHook(0x50B310, CModelInfo::Initialise, PATCH_JUMP); InjectHook(0x50B5B0, CModelInfo::ShutDown, PATCH_JUMP); diff --git a/src/modelinfo/ModelInfo.h b/src/modelinfo/ModelInfo.h index 1a295264..3835117e 100644 --- a/src/modelinfo/ModelInfo.h +++ b/src/modelinfo/ModelInfo.h @@ -46,4 +46,5 @@ public: static bool IsBikeModel(int32 id); static void RemoveColModelsFromOtherLevels(eLevelName level); static CStore<CInstance, MLOINSTANCESIZE>* CModelInfo::GetMloInstanceStore(); + static void ConstructMloClumps(); }; |