read tunnel length from different config and fix tests

This commit is contained in:
2026-04-26 20:41:40 +02:00
parent 89005d6bb7
commit 774f5dee28
9 changed files with 22 additions and 11 deletions

View File

@@ -224,6 +224,7 @@ WorldConfig ConfigLoader::loadWorld(const std::string& path)
cfg.startingBuildingBlocks = static_cast<int>(requireInt(tbl["world"]["starting_building_blocks"], file, "world.starting_building_blocks"));
cfg.scrapDespawnSeconds = requireDouble(tbl["world"]["scrap_despawn_seconds"], file, "world.scrap_despawn_seconds");
cfg.beltSpeedTilesPerSecond = requireDouble(tbl["world"]["belt_speed_tiles_per_second"], file, "world.belt_speed_tiles_per_second");
cfg.tunnelMaxDistance = static_cast<int>(requireInt(tbl["world"]["tunnel_max_distance"], file, "world.tunnel_max_distance"));
cfg.regions.asteroidWidth = static_cast<int>(requireInt(tbl["regions"]["asteroid_width"], file, "regions.asteroid_width"));
cfg.regions.playerBufferWidth = static_cast<int>(requireInt(tbl["regions"]["player_buffer_width"], file, "regions.player_buffer_width"));
@@ -275,11 +276,6 @@ BuildingsConfig ConfigLoader::loadBuildings(const std::string& path)
def.constructionTimeSeconds = requireDouble(mt["construction_time_seconds"], file, elemPath + ".construction_time_seconds");
def.surfaceMask = requireStringArray(mt["surface_mask"], file, elemPath + ".surface_mask");
if (const std::optional<int64_t> tmd = mt["tunnel_max_distance"].value<int64_t>())
{
def.tunnelMaxDistance = static_cast<int>(*tmd);
}
const std::optional<BuildingType> parsedType = parseBuildingType(def.id);
if (!parsedType)
{