From cfc8f7b442a9dba07b198fcebe2c02ab89cf0a8b Mon Sep 17 00:00:00 2001 From: Giacomo Pozzoni Date: Sat, 29 Aug 2020 13:02:42 +0200 Subject: Core/Misc: Fix issues reported by static analysis (#25351) * Core/Misc: Fix issues reported by static analysis * Core/Vmaps: Code cleanup after e77716188861d4aa83b227a90e04a66b63baeb1f --- src/common/Collision/DynamicTree.cpp | 2 +- src/common/Collision/Management/VMapFactory.cpp | 6 +++--- src/common/Collision/Management/VMapFactory.h | 4 ++-- src/common/Collision/Models/GameObjectModel.cpp | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) (limited to 'src/common') diff --git a/src/common/Collision/DynamicTree.cpp b/src/common/Collision/DynamicTree.cpp index b6f26e3443d..012011eb053 100644 --- a/src/common/Collision/DynamicTree.cpp +++ b/src/common/Collision/DynamicTree.cpp @@ -316,7 +316,7 @@ void DynamicMapTree::getAreaAndLiquidData(float x, float y, float z, uint32 phas data.floorZ = intersectionCallBack.GetLocationInfo().ground_Z; uint32 liquidType = intersectionCallBack.GetLocationInfo().hitModel->GetLiquidType(); float liquidLevel; - if (!reqLiquidType || (dynamic_cast(VMAP::VMapFactory::createOrGetVMapManager())->GetLiquidFlagsPtr(liquidType) & reqLiquidType)) + if (!reqLiquidType || VMAP::VMapFactory::createOrGetVMapManager()->GetLiquidFlagsPtr(liquidType) & reqLiquidType) if (intersectionCallBack.GetHitModel()->GetLiquidLevel(v, intersectionCallBack.GetLocationInfo(), liquidLevel)) data.liquidInfo.emplace(liquidType, liquidLevel); diff --git a/src/common/Collision/Management/VMapFactory.cpp b/src/common/Collision/Management/VMapFactory.cpp index 7d951fba12e..191f33a7663 100644 --- a/src/common/Collision/Management/VMapFactory.cpp +++ b/src/common/Collision/Management/VMapFactory.cpp @@ -20,14 +20,14 @@ namespace VMAP { - IVMapManager* gVMapManager = nullptr; + VMapManager2* gVMapManager = nullptr; //=============================================== // just return the instance - IVMapManager* VMapFactory::createOrGetVMapManager() + VMapManager2* VMapFactory::createOrGetVMapManager() { if (gVMapManager == nullptr) - gVMapManager= new VMapManager2(); // should be taken from config ... Please change if you like :-) + gVMapManager= new VMapManager2(); return gVMapManager; } diff --git a/src/common/Collision/Management/VMapFactory.h b/src/common/Collision/Management/VMapFactory.h index ae07484561e..ceb07fce975 100644 --- a/src/common/Collision/Management/VMapFactory.h +++ b/src/common/Collision/Management/VMapFactory.h @@ -26,12 +26,12 @@ This is the access point to the VMapManager. namespace VMAP { - //=========================================================== + class VMapManager2; class TC_COMMON_API VMapFactory { public: - static IVMapManager* createOrGetVMapManager(); + static VMapManager2* createOrGetVMapManager(); static void clear(); }; diff --git a/src/common/Collision/Models/GameObjectModel.cpp b/src/common/Collision/Models/GameObjectModel.cpp index 6ad062d466f..599a8025f60 100644 --- a/src/common/Collision/Models/GameObjectModel.cpp +++ b/src/common/Collision/Models/GameObjectModel.cpp @@ -100,7 +100,7 @@ void LoadGameObjectModelList(std::string const& dataPath) GameObjectModel::~GameObjectModel() { if (iModel) - ((VMAP::VMapManager2*)VMAP::VMapFactory::createOrGetVMapManager())->releaseModelInstance(name); + VMAP::VMapFactory::createOrGetVMapManager()->releaseModelInstance(name); } bool GameObjectModel::initialize(std::unique_ptr modelOwner, std::string const& dataPath) @@ -117,7 +117,7 @@ bool GameObjectModel::initialize(std::unique_ptr model return false; } - iModel = ((VMAP::VMapManager2*)VMAP::VMapFactory::createOrGetVMapManager())->acquireModelInstance(dataPath + "vmaps/", it->second.name); + iModel = VMAP::VMapFactory::createOrGetVMapManager()->acquireModelInstance(dataPath + "vmaps/", it->second.name); if (!iModel) return false; -- cgit v1.2.3