From 00f356d0ff2a996af91f13c8913844157275c4f2 Mon Sep 17 00:00:00 2001 From: dP Date: Tue, 2 Sep 2025 00:13:45 +0500 Subject: [PATCH] Fix compilation errors --- src/citymania/cm_console_cmds.cpp | 4 ++-- src/citymania/cm_console_cmds.hpp | 2 +- src/citymania/cm_export.cpp | 18 +++++++++--------- src/saveload/saveload.cpp | 9 ++------- 4 files changed, 14 insertions(+), 19 deletions(-) diff --git a/src/citymania/cm_console_cmds.cpp b/src/citymania/cm_console_cmds.cpp index 5d59fdac70..ca9d8cb34a 100644 --- a/src/citymania/cm_console_cmds.cpp +++ b/src/citymania/cm_console_cmds.cpp @@ -16,8 +16,8 @@ static void IConsoleHelp(const char *str) IConsolePrint(CC_WARNING, "- {}", str); } -bool ConExport(uint8_t argc, [[maybe_unused]] char *argv[]) { - if (argc == 0) { +bool ConExport(std::span argv) { + if (argv.empty()) { IConsoleHelp("Exports various game data in json format to openttd.json file"); return true; } diff --git a/src/citymania/cm_console_cmds.hpp b/src/citymania/cm_console_cmds.hpp index 77702b4955..e82f78dd3a 100644 --- a/src/citymania/cm_console_cmds.hpp +++ b/src/citymania/cm_console_cmds.hpp @@ -3,7 +3,7 @@ namespace citymania { -bool ConExport(uint8_t argc, char *argv[]); +bool ConExport(std::span argv); } // namespace citymania diff --git a/src/citymania/cm_export.cpp b/src/citymania/cm_export.cpp index 158a3228f5..27a1eef9c8 100644 --- a/src/citymania/cm_export.cpp +++ b/src/citymania/cm_export.cpp @@ -155,7 +155,7 @@ void WriteHouseSpecInfo(JsonWriter &j) { j.kv("name", hs->building_name); j.kv("mail_generation", hs->mail_generation); j.kv("flags", hs->building_flags.base()); - j.kv("availability", hs->building_availability); + j.kv("availability", hs->building_availability.base()); j.kv("enabled", hs->enabled); j.end_dict(); } @@ -167,11 +167,11 @@ void WriteHouseSpecInfo(JsonWriter &j) { j.kv("ground_pal", d.ground.pal); j.kv("building_sprite", d.building.sprite); j.kv("building_pal", d.building.pal); - j.kv("subtile_x", d.subtile_x); - j.kv("subtile_y", d.subtile_y); - j.kv("width", d.width); - j.kv("height", d.height); - j.kv("dz", d.dz); + j.kv("origin_x", d.origin.x); + j.kv("origin_y", d.origin.y); + j.kv("extent_x", d.extent.x); + j.kv("extent_y", d.extent.y); + j.kv("extent_z", d.extent.z); j.kv("draw_proc", d.draw_proc); j.end_dict(); } @@ -190,8 +190,8 @@ void WriteCargoSpecInfo(JsonWriter &j) { JKV(j, cs->weight); JKV(j, cs->multiplier); JKV(j, cs->is_freight); - JKV(j, cs->legend_colour); - JKV(j, cs->rating_colour); + JKV(j, cs->legend_colour.p); + JKV(j, cs->rating_colour.p); JKV(j, cs->sprite); j.ks("name", cs->name); j.ks("name_single", cs->name_single); @@ -235,7 +235,7 @@ void WritePaletteInfo(JsonWriter &j) { j.f << std::endl << "["; for (auto k = 0; k < 8; k++) { if (k != 0) j.f << ", "; - j.f << (int)GetColourGradient((Colours)i, (ColourShade)k) << " "; + j.f << GetColourGradient((Colours)i, (ColourShade)k).p << " "; } j.f << "]"; } diff --git a/src/saveload/saveload.cpp b/src/saveload/saveload.cpp index e632c4cc7b..c5821d8f61 100644 --- a/src/saveload/saveload.cpp +++ b/src/saveload/saveload.cpp @@ -2967,13 +2967,8 @@ static std::optional ParseSavePreset(const std::string &str) if (delimiter_pos == std::string::npos) return SavePreset{&slf, slf.default_compression}; auto level_str = str.substr(delimiter_pos + 1); - int level; - try{ - level = stoi(level_str); - } catch(const std::exception &e) { - /* Can't parse compression level, set it out ouf bounds to fail later */ - level = (int)slf.max_compression + 1; - } + /* If can't parse compression level, set it out ouf bounds to fail later */ + int level = ParseInteger(level_str).value_or((int)slf.max_compression + 1); if (level != Clamp(level, slf.min_compression, slf.max_compression)) { /* Invalid compression level, show the error and use default level */