diff options
Diffstat (limited to 'src/common/Collision')
| -rw-r--r-- | src/common/Collision/Management/IVMapManager.h | 2 | ||||
| -rw-r--r-- | src/common/Collision/Management/MMapManager.cpp | 2 | ||||
| -rw-r--r-- | src/common/Collision/Management/VMapManager2.cpp | 2 | ||||
| -rw-r--r-- | src/common/Collision/Maps/MapDefines.h | 2 | ||||
| -rw-r--r-- | src/common/Collision/Maps/MapTree.h | 2 | ||||
| -rw-r--r-- | src/common/Collision/Maps/TileAssembler.cpp | 3 | ||||
| -rw-r--r-- | src/common/Collision/RegularGrid.h | 2 |
7 files changed, 8 insertions, 7 deletions
diff --git a/src/common/Collision/Management/IVMapManager.h b/src/common/Collision/Management/IVMapManager.h index 0371135cfa5..c32bb2d41e5 100644 --- a/src/common/Collision/Management/IVMapManager.h +++ b/src/common/Collision/Management/IVMapManager.h @@ -66,7 +66,7 @@ namespace VMAP uint32 const type; float const level; }; - + float floorZ = VMAP_INVALID_HEIGHT; Optional<AreaInfo> areaInfo; Optional<LiquidInfo> liquidInfo; diff --git a/src/common/Collision/Management/MMapManager.cpp b/src/common/Collision/Management/MMapManager.cpp index ff87ed369cc..44ef59d5360 100644 --- a/src/common/Collision/Management/MMapManager.cpp +++ b/src/common/Collision/Management/MMapManager.cpp @@ -157,7 +157,7 @@ namespace MMAP long pos = ftell(file); fseek(file, 0, SEEK_END); - if (static_cast<int32>(fileHeader.size) > ftell(file) - pos) + if (pos < 0 || static_cast<int32>(fileHeader.size) > ftell(file) - pos) { TC_LOG_ERROR("maps", "MMAP:loadMap: %03u%02i%02i.mmtile has corrupted data size", mapId, x, y); fclose(file); diff --git a/src/common/Collision/Management/VMapManager2.cpp b/src/common/Collision/Management/VMapManager2.cpp index 7c894efa1ca..8140a66c61c 100644 --- a/src/common/Collision/Management/VMapManager2.cpp +++ b/src/common/Collision/Management/VMapManager2.cpp @@ -303,7 +303,7 @@ namespace VMAP if (!reqLiquidType || (GetLiquidFlagsPtr(liquidType) & reqLiquidType)) if (info.hitInstance->GetLiquidLevel(pos, info, liquidLevel)) data.liquidInfo = boost::in_place(liquidType, liquidLevel); - + if (!IsVMAPDisabledForPtr(mapId, VMAP_DISABLE_AREAFLAG)) data.areaInfo = boost::in_place(info.hitInstance->adtId, info.rootId, info.hitModel->GetWmoID(), info.hitModel->GetMogpFlags()); } diff --git a/src/common/Collision/Maps/MapDefines.h b/src/common/Collision/Maps/MapDefines.h index 3dd19735ff9..ad7bdd5fddc 100644 --- a/src/common/Collision/Maps/MapDefines.h +++ b/src/common/Collision/Maps/MapDefines.h @@ -22,7 +22,7 @@ #include "DetourNavMesh.h" const uint32 MMAP_MAGIC = 0x4d4d4150; // 'MMAP' -#define MMAP_VERSION 6 +#define MMAP_VERSION 7 struct MmapTileHeader { diff --git a/src/common/Collision/Maps/MapTree.h b/src/common/Collision/Maps/MapTree.h index 6dc32c1241a..3df75551018 100644 --- a/src/common/Collision/Maps/MapTree.h +++ b/src/common/Collision/Maps/MapTree.h @@ -34,7 +34,7 @@ namespace VMAP struct TC_COMMON_API LocationInfo { - LocationInfo(): hitInstance(nullptr), hitModel(nullptr), ground_Z(-G3D::finf()) { } + LocationInfo(): rootId(-1), hitInstance(nullptr), hitModel(nullptr), ground_Z(-G3D::finf()) { } int32 rootId; ModelInstance const* hitInstance; GroupModel const* hitModel; diff --git a/src/common/Collision/Maps/TileAssembler.cpp b/src/common/Collision/Maps/TileAssembler.cpp index fe00458cf6d..8a9080473a9 100644 --- a/src/common/Collision/Maps/TileAssembler.cpp +++ b/src/common/Collision/Maps/TileAssembler.cpp @@ -24,6 +24,7 @@ #include <set> #include <iomanip> #include <sstream> +#include <boost/filesystem.hpp> using G3D::Vector3; using G3D::AABox; @@ -55,7 +56,7 @@ namespace VMAP TileAssembler::TileAssembler(const std::string& pSrcDirName, const std::string& pDestDirName) : iDestDir(pDestDirName), iSrcDir(pSrcDirName), iFilterMethod(nullptr), iCurrentUniqueNameId(0) { - //mkdir(iDestDir); + boost::filesystem::create_directory(iDestDir); //init(); } diff --git a/src/common/Collision/RegularGrid.h b/src/common/Collision/RegularGrid.h index 0800276f065..8fe82589339 100644 --- a/src/common/Collision/RegularGrid.h +++ b/src/common/Collision/RegularGrid.h @@ -18,8 +18,8 @@ #ifndef _REGULAR_GRID_H #define _REGULAR_GRID_H -#include "Containers.h" #include "Errors.h" +#include "IteratorPair.h" #include <G3D/Ray.h> #include <G3D/BoundsTrait.h> #include <G3D/PositionTrait.h> |
