fix(build): resolve compilation errors in gamemanager and qscenerenderer

This commit is contained in:
bart
2026-11-08 22:07:15 +01:00
parent 996030e9d3
commit 4eda595861
2 changed files with 17 additions and 16 deletions
+2 -2
View File
@@ -255,7 +255,7 @@ QMap<QString, int> GameManager::getTileYields(int tx, int ty, Matrix2D<TerrainPo
const CityConfig &cCfg = TerrainYieldManager::instance().getCityConfig(); const CityConfig &cCfg = TerrainYieldManager::instance().getCityConfig();
QStringList resources = cCfg.resourcePriority; QStringList resources = cCfg.resourcePriority;
if (resources.isEmpty()) { if (resources.isEmpty()) {
resources = {"voedsel", "arbeid", "goud", "kennis", "cultuur", "geloof"}; resources = QStringList{"voedsel", "arbeid", "goud", "kennis", "cultuur", "geloof"};
} }
QString tType = TerrainYieldManager::instance().getTerrainType(tx, ty, mapPoints, numPoints05); QString tType = TerrainYieldManager::instance().getTerrainType(tx, ty, mapPoints, numPoints05);
@@ -293,7 +293,7 @@ QString GameManager::getBestTileResource(int tx, int ty, Matrix2D<TerrainPoint>
const CityConfig &cCfg = TerrainYieldManager::instance().getCityConfig(); const CityConfig &cCfg = TerrainYieldManager::instance().getCityConfig();
QStringList priority = cCfg.resourcePriority; QStringList priority = cCfg.resourcePriority;
if (priority.isEmpty()) { if (priority.isEmpty()) {
priority = {"voedsel", "arbeid", "goud", "kennis", "cultuur", "geloof"}; priority = QStringList{"voedsel", "arbeid", "goud", "kennis", "cultuur", "geloof"};
} }
QMap<QString, int> yields = getTileYields(tx, ty, mapPoints, numPoints05); QMap<QString, int> yields = getTileYields(tx, ty, mapPoints, numPoints05);
+15 -14
View File
@@ -7,6 +7,7 @@
#include <QDebug> #include <QDebug>
#include "pathfinder.h" #include "pathfinder.h"
#include "yamlparser.h" #include "yamlparser.h"
#include "localization.h"
GLuint vertexbuffer; GLuint vertexbuffer;
GLuint VertexArrayID; 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)"); : Localization::instance().get("ui.unit.tip_build_city", "Found City (B)");
} else if (act == "boerderij_bouwen" || act == "build_farm") { } else if (act == "boerderij_bouwen" || act == "build_farm") {
bool isQueued = unit->hasQueuedActionType(UnitActionType::BuildImprovement); 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"; 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); 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); tip = Localization::instance().get("ui.unit.tip_farm_building", "Busy building... %1%").arg(pct);
} else if (isQueued) { } else if (isQueued) {
@@ -768,9 +769,9 @@ void QSceneRenderer::drawUnitsOverlay(QPainter &painter, const QMatrix4x4 &vMatr
} }
} else if (act == "build_road" || act == "weg_bouwen") { } else if (act == "build_road" || act == "weg_bouwen") {
bool isQueued = unit->hasQueuedActionType(UnitActionType::BuildRoad); 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"; 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); 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); tip = Localization::instance().get("ui.unit.tip_road_building", "Busy building road... %1%").arg(pct);
} else if (isQueued) { } 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)"); : Localization::instance().get("ui.unit.tip_build_city", "Found City (B)");
} else if (act == "boerderij_bouwen" || act == "build_farm") { } else if (act == "boerderij_bouwen" || act == "build_farm") {
bool isQueued = unit->hasQueuedActionType(UnitActionType::BuildImprovement); 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"; 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); int pct = (int)(std::min(1.0f, unit->buildProgress) * 100.0f);
label = Localization::instance().get("ui.unit.btn_farm_building", "Building %1%").arg(pct); 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); 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") { } else if (act == "build_road" || act == "weg_bouwen") {
bool isQueued = unit->hasQueuedActionType(UnitActionType::BuildRoad); 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"; 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); int pct = (int)(std::min(1.0f, unit->buildProgress) * 100.0f);
label = Localization::instance().get("ui.unit.btn_road_building", "Building %1%").arg(pct); 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); 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<QPointF> centerJunctions; std::vector<QPointF> centerJunctions;
std::vector<QPointF> isolatedCenters; std::vector<QPointF> isolatedCenters;
}; };
std::unordered_map<std::string, RoadBatch> batches; QMap<QString, RoadBatch> batches;
for (const auto &pair : roads) { for (const auto &pair : roads) {
const TileRoad &road = pair.second; const TileRoad &road = pair.second;
@@ -1214,13 +1215,13 @@ void QSceneRenderer::drawRoadsOverlay(QPainter &painter, const QMatrix4x4 &vMatr
} }
} }
for (const auto &bPair : batches) { for (auto it = batches.begin(); it != batches.end(); ++it) {
const std::string &typeId = bPair.first; const QString &typeId = it.key();
const RoadBatch &batch = bPair.second; const RoadBatch &batch = it.value();
const RoadTypeConfig *rCfg = roadConfigs.getRoadType(typeId); const RoadTypeConfig *rCfg = roadConfigs.getRoadType(typeId);
QColor casingCol = rCfg ? rCfg->getBorderColor() : QColor(92, 64, 40); 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); QColor surfaceCol = rCfg ? rCfg->getColor() : QColor(194, 166, 117);
float surfaceWidth = rCfg ? rCfg->width : 2.8f; 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(); const CityConfig &cCfg = TerrainYieldManager::instance().getCityConfig();
QStringList resources = cCfg.resourcePriority; QStringList resources = cCfg.resourcePriority;
if (resources.isEmpty()) { 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); QString bestRes = GameManager::instance().getBestTileResource(tx, ty, m_point, m_numPoints05);