Merge branch 'main' into session/builder-roads

This commit is contained in:
bart
2026-11-08 21:55:44 +01:00
9 changed files with 482 additions and 51 deletions
+14
View File
@@ -7,6 +7,7 @@
#include "player.h"
#include "unitconfig.h"
#include "buildingconfig.h"
#include "roadconfig.h"
#include "unit.h"
#include "city.h"
#include "matrix2d.h"
@@ -48,6 +49,15 @@ struct TileImprovement {
QVector3D worldPos;
};
struct TileRoad {
QString roadTypeId = "dirt";
int tileX = 0;
int tileY = 0;
int playerId = 1;
QVector3D worldPos;
unsigned char connectionMask = 0; // bit e (0..5) indicates connected across edge e
};
struct FloatingText {
QString text;
QVector3D worldPos;
@@ -100,6 +110,10 @@ public:
CityYieldSummary calculateCityYields(const City &city, Matrix2D<TerrainPoint> *mapPoints, int numPoints05) const;
void processTickYields(Matrix2D<TerrainPoint> *mapPoints, int numPoints05);
QMap<QString, int> getTileYields(int tx, int ty, Matrix2D<TerrainPoint> *mapPoints, int numPoints05) const;
int getTileYield(int tx, int ty, const QString &res, Matrix2D<TerrainPoint> *mapPoints, int numPoints05) const;
QString getBestTileResource(int tx, int ty, Matrix2D<TerrainPoint> *mapPoints, int numPoints05) const;
bool isTileOwned(int tx, int ty, int *outOwnerCityId = nullptr) const;
bool buyTileForCity(int cityId, int tx, int ty);