aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/tools/mmaps_generator/MapBuilder.cpp22
-rw-r--r--src/tools/mmaps_generator/MapBuilder.h5
2 files changed, 26 insertions, 1 deletions
diff --git a/src/tools/mmaps_generator/MapBuilder.cpp b/src/tools/mmaps_generator/MapBuilder.cpp
index 3e7c25c8e9a..6b277592ff9 100644
--- a/src/tools/mmaps_generator/MapBuilder.cpp
+++ b/src/tools/mmaps_generator/MapBuilder.cpp
@@ -73,6 +73,10 @@ namespace MMAP
m_rcContext = new rcContext(false);
+ // percentageDone - Initializing
+ m_totalTiles = 0;
+ m_totalTilesBuilt = 0;
+
discoverTiles();
}
@@ -152,6 +156,9 @@ namespace MMAP
}
}
printf("found %u.\n\n", count);
+
+ // percentageDone - total tiles to process
+ m_totalTiles = count;
}
/**************************************************************************/
@@ -422,7 +429,8 @@ namespace MMAP
/**************************************************************************/
void MapBuilder::buildTile(uint32 mapID, uint32 tileX, uint32 tileY, dtNavMesh* navMesh)
{
- printf("[Map %04i] Building tile [%02u,%02u]\n", mapID, tileX, tileY);
+ // percentageDone - added, now it will show addional reference percentage done of the overall process
+ printf("%u%% [Map %04i] Building tile [%02u,%02u]\n", percentageDone(m_totalTiles, m_totalTilesBuilt), mapID, tileX, tileY);
MeshData meshData;
@@ -456,6 +464,9 @@ namespace MMAP
// build navmesh tile
buildMoveMapTile(mapID, tileX, tileY, meshData, bmin, bmax, navMesh);
+
+ // percentageDone - increment tiles built
+ m_totalTilesBuilt++;
}
/**************************************************************************/
@@ -1092,4 +1103,13 @@ namespace MMAP
return true;
}
+ /**************************************************************************/
+ uint32 MapBuilder::percentageDone(uint32 totalTiles, uint32 totalTilesBuilt)
+ {
+ if (totalTiles)
+ return totalTilesBuilt * 100 / totalTiles;
+
+ return 0;
+ }
+
}
diff --git a/src/tools/mmaps_generator/MapBuilder.h b/src/tools/mmaps_generator/MapBuilder.h
index 65cfd45ee53..7de56d9e47c 100644
--- a/src/tools/mmaps_generator/MapBuilder.h
+++ b/src/tools/mmaps_generator/MapBuilder.h
@@ -125,6 +125,8 @@ namespace MMAP
bool shouldSkipMap(uint32 mapID);
bool isTransportMap(uint32 mapID);
bool shouldSkipTile(uint32 mapID, uint32 tileX, uint32 tileY);
+ // percentageDone - method to calculate percentage
+ uint32 percentageDone(uint32 totalTiles, uint32 totalTilesDone);
TerrainBuilder* m_terrainBuilder;
TileList m_tiles;
@@ -138,6 +140,9 @@ namespace MMAP
float m_maxWalkableAngle;
bool m_bigBaseUnit;
+ // percentageDone - variables to calculate percentage
+ uint32 m_totalTiles;
+ std::atomic<uint32> m_totalTilesBuilt;
// build performance - not really used for now
rcContext* m_rcContext;