mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-15 23:20:36 +01:00
Tools/mmaps_generator: Add separator to mmap tile file names
This commit is contained in:
@@ -26,7 +26,7 @@
|
||||
namespace MMAP
|
||||
{
|
||||
constexpr char MAP_FILE_NAME_FORMAT[] = "{}mmaps/{:04}.mmap";
|
||||
constexpr char TILE_FILE_NAME_FORMAT[] = "{}mmaps/{:04}{:02}{:02}.mmtile";
|
||||
constexpr char TILE_FILE_NAME_FORMAT[] = "{}mmaps/{:04}_{:02}_{:02}.mmtile";
|
||||
|
||||
using NavMeshPtr = std::unique_ptr<dtNavMesh, decltype(Trinity::unique_ptr_deleter<dtNavMesh*, &::dtFreeNavMesh>())>;
|
||||
using NavMeshQueryPtr = std::unique_ptr<dtNavMeshQuery, decltype(Trinity::unique_ptr_deleter<dtNavMeshQuery*, &::dtFreeNavMeshQuery>())>;
|
||||
@@ -154,7 +154,7 @@ namespace MMAP
|
||||
if (mmap->loadedTileRefs.contains(packedGridPos))
|
||||
return LoadResult::AlreadyLoaded;
|
||||
|
||||
// load this tile :: mmaps/MMMMXXYY.mmtile
|
||||
// load this tile :: mmaps/MMMM_XX_YY.mmtile
|
||||
std::string fileName = Trinity::StringFormat(TILE_FILE_NAME_FORMAT, basePath, mapId, x, y);
|
||||
auto file = Trinity::make_unique_ptr_with_deleter<&::fclose>(fopen(fileName.c_str(), "rb"));
|
||||
if (!file)
|
||||
@@ -177,19 +177,19 @@ namespace MMAP
|
||||
MmapTileHeader fileHeader;
|
||||
if (fread(&fileHeader, sizeof(MmapTileHeader), 1, file.get()) != 1)
|
||||
{
|
||||
TC_LOG_ERROR("maps", "MMAP:loadMap: Bad header in mmap {:04}{:02}{:02}.mmtile", mapId, x, y);
|
||||
TC_LOG_ERROR("maps", "MMAP:loadMap: Bad header in mmap {:04}_{:02}_{:02}.mmtile", mapId, x, y);
|
||||
return LoadResult::ReadFromFileFailed;
|
||||
}
|
||||
|
||||
if (fileHeader.mmapMagic != MMAP_MAGIC)
|
||||
{
|
||||
TC_LOG_ERROR("maps", "MMAP:loadMap: Bad header in mmap {:04}{:02}{:02}.mmtile", mapId, x, y);
|
||||
TC_LOG_ERROR("maps", "MMAP:loadMap: Bad header in mmap {:04}_{:02}_{:02}.mmtile", mapId, x, y);
|
||||
return LoadResult::VersionMismatch;
|
||||
}
|
||||
|
||||
if (fileHeader.mmapVersion != MMAP_VERSION)
|
||||
{
|
||||
TC_LOG_ERROR("maps", "MMAP:loadMap: {:04}{:02}{:02}.mmtile was built with generator v{}, expected v{}",
|
||||
TC_LOG_ERROR("maps", "MMAP:loadMap: {:04}_{:02}_{:02}.mmtile was built with generator v{}, expected v{}",
|
||||
mapId, x, y, fileHeader.mmapVersion, MMAP_VERSION);
|
||||
return LoadResult::VersionMismatch;
|
||||
}
|
||||
@@ -198,7 +198,7 @@ namespace MMAP
|
||||
fseek(file.get(), 0, SEEK_END);
|
||||
if (pos < 0 || static_cast<int32>(fileHeader.size) > ftell(file.get()) - pos)
|
||||
{
|
||||
TC_LOG_ERROR("maps", "MMAP:loadMap: {:04}{:02}{:02}.mmtile has corrupted data size", mapId, x, y);
|
||||
TC_LOG_ERROR("maps", "MMAP:loadMap: {:04}_{:02}_{:02}.mmtile has corrupted data size", mapId, x, y);
|
||||
return LoadResult::ReadFromFileFailed;
|
||||
}
|
||||
|
||||
@@ -210,7 +210,7 @@ namespace MMAP
|
||||
size_t result = fread(data.get(), fileHeader.size, 1, file.get());
|
||||
if (!result)
|
||||
{
|
||||
TC_LOG_ERROR("maps", "MMAP:loadMap: Bad header or data in mmap {:04}{:02}{:02}.mmtile", mapId, x, y);
|
||||
TC_LOG_ERROR("maps", "MMAP:loadMap: Bad header or data in mmap {:04}_{:02}_{:02}.mmtile", mapId, x, y);
|
||||
return LoadResult::ReadFromFileFailed;
|
||||
}
|
||||
|
||||
@@ -227,7 +227,7 @@ namespace MMAP
|
||||
}
|
||||
else
|
||||
{
|
||||
TC_LOG_ERROR("maps", "MMAP:loadMap: Could not load {:04}{:02}{:02}.mmtile into navmesh", mapId, x, y);
|
||||
TC_LOG_ERROR("maps", "MMAP:loadMap: Could not load {:04}_{:02}_{:02}.mmtile into navmesh", mapId, x, y);
|
||||
return LoadResult::LibraryError;
|
||||
}
|
||||
}
|
||||
@@ -270,7 +270,7 @@ namespace MMAP
|
||||
if (itr == loadedMMaps.end())
|
||||
{
|
||||
// file may not exist, therefore not loaded
|
||||
TC_LOG_DEBUG("maps", "MMAP:unloadMap: Asked to unload not loaded navmesh map. {:04}{:02}{:02}.mmtile", mapId, x, y);
|
||||
TC_LOG_DEBUG("maps", "MMAP:unloadMap: Asked to unload not loaded navmesh map. {:04}_{:02}_{:02}.mmtile", mapId, x, y);
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -292,7 +292,7 @@ namespace MMAP
|
||||
// this is technically a memory leak
|
||||
// if the grid is later reloaded, dtNavMesh::addTile will return error but no extra memory is used
|
||||
// we cannot recover from this error - assert out
|
||||
TC_LOG_ERROR("maps", "MMAP:unloadMap: Could not unload {:04}{:02}{:02}.mmtile from navmesh", mapId, x, y);
|
||||
TC_LOG_ERROR("maps", "MMAP:unloadMap: Could not unload {:04}_{:02}_{:02}.mmtile from navmesh", mapId, x, y);
|
||||
ABORT();
|
||||
}
|
||||
else
|
||||
@@ -322,7 +322,7 @@ namespace MMAP
|
||||
uint32 x = (tileId >> 16);
|
||||
uint32 y = (tileId & 0x0000FFFF);
|
||||
if (dtStatusFailed(mmap->navMesh->removeTile(tileRef, nullptr, nullptr)))
|
||||
TC_LOG_ERROR("maps", "MMAP:unloadMap: Could not unload {:04}{:02}{:02}.mmtile from navmesh", mapId, x, y);
|
||||
TC_LOG_ERROR("maps", "MMAP:unloadMap: Could not unload {:04}_{:02}_{:02}.mmtile from navmesh", mapId, x, y);
|
||||
else
|
||||
{
|
||||
--loadedTiles;
|
||||
|
||||
@@ -141,7 +141,7 @@ public:
|
||||
// calculate navmesh tile location
|
||||
uint32 terrainMapId = PhasingHandler::GetTerrainMapId(player->GetPhaseShift(), player->GetMapId(), player->GetMap()->GetTerrain(), x, y);
|
||||
|
||||
handler->PSendSysMessage("%04u%02i%02i.mmtile", terrainMapId, gx, gy);
|
||||
handler->PSendSysMessage("%04u_%02i_%02i.mmtile", terrainMapId, gx, gy);
|
||||
handler->PSendSysMessage("tileloc [%i, %i]", gy, gx);
|
||||
|
||||
dtNavMesh const* navmesh = MMAP::MMapManager::instance()->GetNavMesh(terrainMapId);
|
||||
|
||||
@@ -37,7 +37,7 @@ namespace MMAP
|
||||
|
||||
auto debugWrite = [=, outputDirectory = outputDirectory.generic_string()](char const* extension, auto const* data)
|
||||
{
|
||||
std::string fileName = Trinity::StringFormat("{}/meshes/{:04}{:02}{:02}{}.{}", outputDirectory, mapID, tileX, tileY, fileNameSuffix, extension);
|
||||
std::string fileName = Trinity::StringFormat("{}/meshes/{:04}_{:02}_{:02}{}.{}", outputDirectory, mapID, tileX, tileY, fileNameSuffix, extension);
|
||||
if (auto file = Trinity::make_unique_ptr_with_deleter<&::fclose>(fopen(fileName.c_str(), "wb")))
|
||||
{
|
||||
IntermediateValues::debugWrite(file.get(), data);
|
||||
@@ -191,7 +191,7 @@ namespace MMAP
|
||||
void IntermediateValues::generateObjFile(boost::filesystem::path const& outputDirectory, std::string_view fileNameSuffix, uint32 mapID, uint32 tileX, uint32 tileY, MeshData const& meshData)
|
||||
{
|
||||
std::string objFileName;
|
||||
objFileName = Trinity::StringFormat("{}/meshes/map{:04}{:02}{:02}{}.obj", outputDirectory.generic_string(), mapID, tileX, tileY, fileNameSuffix);
|
||||
objFileName = Trinity::StringFormat("{}/meshes/map{:04}_{:02}_{:02}{}.obj", outputDirectory.generic_string(), mapID, tileX, tileY, fileNameSuffix);
|
||||
|
||||
auto objFile = Trinity::make_unique_ptr_with_deleter<&::fclose>(fopen(objFileName.c_str(), "wb"));
|
||||
if (!objFile)
|
||||
@@ -233,7 +233,7 @@ namespace MMAP
|
||||
char b = '\0';
|
||||
fwrite(&b, sizeof(char), 1, objFile.get());
|
||||
|
||||
objFileName = Trinity::StringFormat("{}/meshes/map{:04}{:02}{:02}{}.mesh", outputDirectory.generic_string(), mapID, tileX, tileY, fileNameSuffix);
|
||||
objFileName = Trinity::StringFormat("{}/meshes/map{:04}_{:02}_{:02}{}.mesh", outputDirectory.generic_string(), mapID, tileX, tileY, fileNameSuffix);
|
||||
objFile.reset(fopen(objFileName.c_str(), "wb"));
|
||||
if (!objFile)
|
||||
{
|
||||
|
||||
@@ -566,7 +566,7 @@ namespace MMAP
|
||||
/**************************************************************************/
|
||||
bool MapTileBuilder::shouldSkipTile(uint32 mapID, uint32 tileX, uint32 tileY) const
|
||||
{
|
||||
std::string fileName = Trinity::StringFormat("{}/mmaps/{:04}{:02}{:02}.mmtile", m_outputDirectory.generic_string(), mapID, tileX, tileY);
|
||||
std::string fileName = Trinity::StringFormat("{}/mmaps/{:04}_{:02}_{:02}.mmtile", m_outputDirectory.generic_string(), mapID, tileX, tileY);
|
||||
auto file = Trinity::make_unique_ptr_with_deleter<&::fclose>(fopen(fileName.c_str(), "rb"));
|
||||
if (!file)
|
||||
return false;
|
||||
|
||||
@@ -468,7 +468,7 @@ namespace MMAP
|
||||
}
|
||||
|
||||
// file output
|
||||
std::string fileName = Trinity::StringFormat("{}/mmaps/{:04}{:02}{:02}{}.mmtile", m_outputDirectory.generic_string(), mapID, tileX, tileY, fileNameSuffix);
|
||||
std::string fileName = Trinity::StringFormat("{}/mmaps/{:04}_{:02}_{:02}{}.mmtile", m_outputDirectory.generic_string(), mapID, tileX, tileY, fileNameSuffix);
|
||||
auto file = Trinity::make_unique_ptr_with_deleter<&::fclose>(fopen(fileName.c_str(), "wb"));
|
||||
if (!file)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user