From 4eda59586157ce670f3e25bbea8cf80d8974acc8 Mon Sep 17 00:00:00 2001 From: bart Date: Sun, 8 Nov 2026 22:07:15 +0100 Subject: [PATCH] fix(build): resolve compilation errors in gamemanager and qscenerenderer --- gamemanager.cpp | 4 ++-- qscenerenderer.cpp | 29 +++++++++++++++-------------- 2 files changed, 17 insertions(+), 16 deletions(-) diff --git a/gamemanager.cpp b/gamemanager.cpp index db1f352..1aa2168 100644 --- a/gamemanager.cpp +++ b/gamemanager.cpp @@ -255,7 +255,7 @@ QMap GameManager::getTileYields(int tx, int ty, Matrix2D const CityConfig &cCfg = TerrainYieldManager::instance().getCityConfig(); QStringList priority = cCfg.resourcePriority; if (priority.isEmpty()) { - priority = {"voedsel", "arbeid", "goud", "kennis", "cultuur", "geloof"}; + priority = QStringList{"voedsel", "arbeid", "goud", "kennis", "cultuur", "geloof"}; } QMap yields = getTileYields(tx, ty, mapPoints, numPoints05); diff --git a/qscenerenderer.cpp b/qscenerenderer.cpp index 1554340..4d4c4c5 100644 --- a/qscenerenderer.cpp +++ b/qscenerenderer.cpp @@ -7,6 +7,7 @@ #include #include "pathfinder.h" #include "yamlparser.h" +#include "localization.h" GLuint vertexbuffer; GLuint VertexArrayID; @@ -756,9 +757,9 @@ void QSceneRenderer::drawUnitsOverlay(QPainter &painter, const QMatrix4x4 &vMatr : Localization::instance().get("ui.unit.tip_build_city", "Found City (B)"); } else if (act == "boerderij_bouwen" || act == "build_farm") { bool isQueued = unit->hasQueuedActionType(UnitActionType::BuildImprovement); - isActive = (unit->isBuilding() && unit->buildActionType != "road") || isQueued; + isActive = (unit->isBuilding() && unit->buildingImprovementId != "road") || isQueued; iconFile = "images/actions/farm.png"; - if (unit->isBuilding() && unit->buildActionType != "road") { + if (unit->isBuilding() && unit->buildingImprovementId != "road") { int pct = (int)(std::min(1.0f, unit->buildProgress) * 100.0f); tip = Localization::instance().get("ui.unit.tip_farm_building", "Busy building... %1%").arg(pct); } else if (isQueued) { @@ -768,9 +769,9 @@ void QSceneRenderer::drawUnitsOverlay(QPainter &painter, const QMatrix4x4 &vMatr } } else if (act == "build_road" || act == "weg_bouwen") { bool isQueued = unit->hasQueuedActionType(UnitActionType::BuildRoad); - isActive = (unit->isBuilding() && unit->buildActionType == "road") || isQueued; + isActive = (unit->isBuilding() && unit->buildingImprovementId == "road") || isQueued; iconFile = "images/actions/road.png"; - if (unit->isBuilding() && unit->buildActionType == "road") { + if (unit->isBuilding() && unit->buildingImprovementId == "road") { int pct = (int)(std::min(1.0f, unit->buildProgress) * 100.0f); tip = Localization::instance().get("ui.unit.tip_road_building", "Busy building road... %1%").arg(pct); } else if (isQueued) { @@ -1041,9 +1042,9 @@ void QSceneRenderer::drawUnitCard(QPainter &painter, Unit *unit) : Localization::instance().get("ui.unit.tip_build_city", "Found City (B)"); } else if (act == "boerderij_bouwen" || act == "build_farm") { bool isQueued = unit->hasQueuedActionType(UnitActionType::BuildImprovement); - isActive = (unit->isBuilding() && unit->buildActionType != "road") || isQueued; + isActive = (unit->isBuilding() && unit->buildingImprovementId != "road") || isQueued; iconFile = "images/actions/farm.png"; - if (unit->isBuilding() && unit->buildActionType != "road") { + if (unit->isBuilding() && unit->buildingImprovementId != "road") { int pct = (int)(std::min(1.0f, unit->buildProgress) * 100.0f); label = Localization::instance().get("ui.unit.btn_farm_building", "Building %1%").arg(pct); tip = Localization::instance().get("ui.unit.tip_farm_building", "Busy building... %1%").arg(pct); @@ -1056,9 +1057,9 @@ void QSceneRenderer::drawUnitCard(QPainter &painter, Unit *unit) } } else if (act == "build_road" || act == "weg_bouwen") { bool isQueued = unit->hasQueuedActionType(UnitActionType::BuildRoad); - isActive = (unit->isBuilding() && unit->buildActionType == "road") || isQueued; + isActive = (unit->isBuilding() && unit->buildingImprovementId == "road") || isQueued; iconFile = "images/actions/road.png"; - if (unit->isBuilding() && unit->buildActionType == "road") { + if (unit->isBuilding() && unit->buildingImprovementId == "road") { int pct = (int)(std::min(1.0f, unit->buildProgress) * 100.0f); label = Localization::instance().get("ui.unit.btn_road_building", "Building %1%").arg(pct); tip = Localization::instance().get("ui.unit.tip_road_building", "Busy building road... %1%").arg(pct); @@ -1156,7 +1157,7 @@ void QSceneRenderer::drawRoadsOverlay(QPainter &painter, const QMatrix4x4 &vMatr std::vector centerJunctions; std::vector isolatedCenters; }; - std::unordered_map batches; + QMap batches; for (const auto &pair : roads) { const TileRoad &road = pair.second; @@ -1214,13 +1215,13 @@ void QSceneRenderer::drawRoadsOverlay(QPainter &painter, const QMatrix4x4 &vMatr } } - for (const auto &bPair : batches) { - const std::string &typeId = bPair.first; - const RoadBatch &batch = bPair.second; + for (auto it = batches.begin(); it != batches.end(); ++it) { + const QString &typeId = it.key(); + const RoadBatch &batch = it.value(); const RoadTypeConfig *rCfg = roadConfigs.getRoadType(typeId); QColor casingCol = rCfg ? rCfg->getBorderColor() : QColor(92, 64, 40); - float casingWidth = rCfg ? rCfg->borderWidth : 4.5f; + float casingWidth = rCfg ? (rCfg->width + 1.5f) : 4.5f; QColor surfaceCol = rCfg ? rCfg->getColor() : QColor(194, 166, 117); float surfaceWidth = rCfg ? rCfg->width : 2.8f; @@ -1953,7 +1954,7 @@ void QSceneRenderer::drawCityResourceMenu(QPainter &painter, const QMatrix4x4 &v const CityConfig &cCfg = TerrainYieldManager::instance().getCityConfig(); QStringList resources = cCfg.resourcePriority; if (resources.isEmpty()) { - resources = {"voedsel", "arbeid", "goud", "kennis", "cultuur", "geloof"}; + resources = QStringList{"voedsel", "arbeid", "goud", "kennis", "cultuur", "geloof"}; } QString bestRes = GameManager::instance().getBestTileResource(tx, ty, m_point, m_numPoints05);