add units in config files

This commit is contained in:
2026-06-06 12:13:05 +02:00
parent 66cf9ae23a
commit 6b95619806
24 changed files with 198 additions and 194 deletions

View File

@@ -73,9 +73,9 @@ BuildingId ArenaSimulation::allocateBuildingId()
void ArenaSimulation::placeStructures()
{
const int totalWidth = m_arenaConfig.playerBufferWidth
+ m_arenaConfig.contestZoneWidth
+ m_arenaConfig.enemyBufferWidth;
const int totalWidth = m_arenaConfig.playerBufferWidth_tiles
+ m_arenaConfig.contestZoneWidth_tiles
+ m_arenaConfig.enemyBufferWidth_tiles;
const int midY = m_arenaConfig.heightTiles / 2;
// Team 1 HQ — ECS proxy entity, player faction (isEnemy=false).
@@ -182,9 +182,9 @@ void ArenaSimulation::placeStructures()
void ArenaSimulation::spawnShips()
{
const int contestStart = m_arenaConfig.playerBufferWidth;
const int team2Start = contestStart + m_arenaConfig.contestZoneWidth;
const int totalWidth = team2Start + m_arenaConfig.enemyBufferWidth;
const int contestStart = m_arenaConfig.playerBufferWidth_tiles;
const int team2Start = contestStart + m_arenaConfig.contestZoneWidth_tiles;
const int totalWidth = team2Start + m_arenaConfig.enemyBufferWidth_tiles;
std::uniform_real_distribution<float> yDist(0.0f,
static_cast<float>(m_arenaConfig.heightTiles));
@@ -192,7 +192,7 @@ void ArenaSimulation::spawnShips()
// Team 1: isEnemy=false, spawn in player buffer zone.
{
std::uniform_real_distribution<float> xDist(0.0f,
static_cast<float>(m_arenaConfig.playerBufferWidth));
static_cast<float>(m_arenaConfig.playerBufferWidth_tiles));
for (const ArenaShipEntry& entry : m_arenaConfig.teams[0].ships)
{

View File

@@ -158,9 +158,9 @@ void ArenaView::paintGL()
float ArenaView::tilePx() const
{
const ArenaConfig& ac = m_sim->arenaConfig();
const int totalWidth = ac.playerBufferWidth
+ ac.contestZoneWidth
+ ac.enemyBufferWidth;
const int totalWidth = ac.playerBufferWidth_tiles
+ ac.contestZoneWidth_tiles
+ ac.enemyBufferWidth_tiles;
const int totalHeight = ac.heightTiles;
if (totalWidth <= 0 || totalHeight <= 0) { return 1.0f; }
@@ -205,9 +205,9 @@ std::optional<QVector2D> ArenaView::entityPosition(entt::entity entity) const
void ArenaView::drawTiles(QPainter& painter)
{
const ArenaConfig& ac = m_sim->arenaConfig();
const int totalWidth = ac.playerBufferWidth
+ ac.contestZoneWidth
+ ac.enemyBufferWidth;
const int totalWidth = ac.playerBufferWidth_tiles
+ ac.contestZoneWidth_tiles
+ ac.enemyBufferWidth_tiles;
const int totalHeight = ac.heightTiles;
painter.setPen(Qt::NoPen);

View File

@@ -81,12 +81,12 @@ BalancingConfig loadBalancingConfig(const std::string& path)
arena.name = requireString((*arenaTbl)["name"], prefix + ".name");
arena.heightTiles = static_cast<int>(
requireInt((*arenaTbl)["height_tiles"], prefix + ".height_tiles"));
arena.playerBufferWidth = static_cast<int>(
requireInt((*arenaTbl)["player_buffer_width"], prefix + ".player_buffer_width"));
arena.contestZoneWidth = static_cast<int>(
requireInt((*arenaTbl)["contest_zone_width"], prefix + ".contest_zone_width"));
arena.enemyBufferWidth = static_cast<int>(
requireInt((*arenaTbl)["enemy_buffer_width"], prefix + ".enemy_buffer_width"));
arena.playerBufferWidth_tiles = static_cast<int>(
requireInt((*arenaTbl)["player_buffer_width_tiles"], prefix + ".player_buffer_width_tiles"));
arena.contestZoneWidth_tiles = static_cast<int>(
requireInt((*arenaTbl)["contest_zone_width_tiles"], prefix + ".contest_zone_width_tiles"));
arena.enemyBufferWidth_tiles = static_cast<int>(
requireInt((*arenaTbl)["enemy_buffer_width_tiles"], prefix + ".enemy_buffer_width_tiles"));
const toml::array* teamArray = (*arenaTbl)["team"].as_array();
if (!teamArray || teamArray->size() != 2)

View File

@@ -34,9 +34,9 @@ struct ArenaConfig
{
std::string name;
int heightTiles;
int playerBufferWidth;
int contestZoneWidth;
int enemyBufferWidth;
int playerBufferWidth_tiles;
int contestZoneWidth_tiles;
int enemyBufferWidth_tiles;
ArenaTeamConfig teams[2];
};