diff --git a/src/saveload/autoreplace_sl.cpp b/src/saveload/autoreplace_sl.cpp index ffe7c87ae1..d3f0afed31 100644 --- a/src/saveload/autoreplace_sl.cpp +++ b/src/saveload/autoreplace_sl.cpp @@ -20,7 +20,7 @@ static const SaveLoad _engine_renew_desc[] = { SLE_VAR(EngineRenew, from, SLE_UINT16), SLE_VAR(EngineRenew, to, SLE_UINT16), - SLE_REF(EngineRenew, next, REF_ENGINE_RENEWS), + SLE_REF(EngineRenew, next, SLRefType::EngineRenew), SLE_CONDVAR(EngineRenew, group_id, SLE_UINT16, SaveLoadVersion::VehicleGroups, SaveLoadVersion::MaxVersion), SLE_CONDVAR(EngineRenew, replace_when_old, SLE_BOOL, SaveLoadVersion::AutoreplaceWhenOldTreeLimit, SaveLoadVersion::MaxVersion), }; diff --git a/src/saveload/company_sl.cpp b/src/saveload/company_sl.cpp index 7d74f51866..1271f18cc3 100644 --- a/src/saveload/company_sl.cpp +++ b/src/saveload/company_sl.cpp @@ -314,7 +314,7 @@ class SlCompanySettings : public DefaultSaveLoadHandler(obj)->index + 1; - case REF_STATION: return static_cast(obj)->index + 1; - case REF_TOWN: return static_cast(obj)->index + 1; - case REF_ROADSTOPS: return static_cast(obj)->index + 1; - case REF_ENGINE_RENEWS: return static_cast(obj)->index + 1; - case REF_CARGO_PACKET: return static_cast(obj)->index + 1; - case REF_ORDERLIST: return static_cast(obj)->index + 1; - case REF_STORAGE: return static_cast(obj)->index + 1; - case REF_LINK_GRAPH: return static_cast(obj)->index + 1; - case REF_LINK_GRAPH_JOB: return static_cast(obj)->index + 1; + case SLRefType::OldVehicle: // Old vehicles we save as new ones + case SLRefType::Vehicle: return static_cast(obj)->index + 1; + case SLRefType::Station: return static_cast(obj)->index + 1; + case SLRefType::Town: return static_cast(obj)->index + 1; + case SLRefType::RoadStop: return static_cast(obj)->index + 1; + case SLRefType::EngineRenew: return static_cast(obj)->index + 1; + case SLRefType::CargoPacket: return static_cast(obj)->index + 1; + case SLRefType::OrderList: return static_cast(obj)->index + 1; + case SLRefType::Storage: return static_cast(obj)->index + 1; + case SLRefType::LinkGraph: return static_cast(obj)->index + 1; + case SLRefType::LinkGraphJob: return static_cast(obj)->index + 1; default: NOT_REACHED(); } } @@ -1339,58 +1339,58 @@ static void *IntToReference(size_t index, SLRefType rt) assert(_sl.action == SaveLoadAction::Ptrs); - /* After version 4.3 REF_VEHICLE_OLD is saved as REF_VEHICLE, + /* After version 4.3 SLRefType::OldVehicle is saved as SLRefType::Vehicle, * and should be loaded like that */ - if (rt == REF_VEHICLE_OLD && !IsSavegameVersionBefore(SaveLoadVersion::TownTolerancePauseMode, 4)) { - rt = REF_VEHICLE; + if (rt == SLRefType::OldVehicle && !IsSavegameVersionBefore(SaveLoadVersion::TownTolerancePauseMode, 4)) { + rt = SLRefType::Vehicle; } /* No need to look up nullptr pointers, just return immediately */ - if (index == (rt == REF_VEHICLE_OLD ? 0xFFFF : 0)) return nullptr; + if (index == (rt == SLRefType::OldVehicle ? 0xFFFF : 0)) return nullptr; /* Correct index. Old vehicles were saved differently: * invalid vehicle was 0xFFFF, now we use 0x0000 for everything invalid. */ - if (rt != REF_VEHICLE_OLD) index--; + if (rt != SLRefType::OldVehicle) index--; switch (rt) { - case REF_ORDERLIST: + case SLRefType::OrderList: if (OrderList::IsValidID(index)) return OrderList::Get(index); SlErrorCorrupt("Referencing invalid OrderList"); - case REF_VEHICLE_OLD: - case REF_VEHICLE: + case SLRefType::OldVehicle: + case SLRefType::Vehicle: if (Vehicle::IsValidID(index)) return Vehicle::Get(index); SlErrorCorrupt("Referencing invalid Vehicle"); - case REF_STATION: + case SLRefType::Station: if (Station::IsValidID(index)) return Station::Get(index); SlErrorCorrupt("Referencing invalid Station"); - case REF_TOWN: + case SLRefType::Town: if (Town::IsValidID(index)) return Town::Get(index); SlErrorCorrupt("Referencing invalid Town"); - case REF_ROADSTOPS: + case SLRefType::RoadStop: if (RoadStop::IsValidID(index)) return RoadStop::Get(index); SlErrorCorrupt("Referencing invalid RoadStop"); - case REF_ENGINE_RENEWS: + case SLRefType::EngineRenew: if (EngineRenew::IsValidID(index)) return EngineRenew::Get(index); SlErrorCorrupt("Referencing invalid EngineRenew"); - case REF_CARGO_PACKET: + case SLRefType::CargoPacket: if (CargoPacket::IsValidID(index)) return CargoPacket::Get(index); SlErrorCorrupt("Referencing invalid CargoPacket"); - case REF_STORAGE: + case SLRefType::Storage: if (PersistentStorage::IsValidID(index)) return PersistentStorage::Get(index); SlErrorCorrupt("Referencing invalid PersistentStorage"); - case REF_LINK_GRAPH: + case SLRefType::LinkGraph: if (LinkGraph::IsValidID(index)) return LinkGraph::Get(index); SlErrorCorrupt("Referencing invalid LinkGraph"); - case REF_LINK_GRAPH_JOB: + case SLRefType::LinkGraphJob: if (LinkGraphJob::IsValidID(index)) return LinkGraphJob::Get(index); SlErrorCorrupt("Referencing invalid LinkGraphJob"); diff --git a/src/saveload/saveload.h b/src/saveload/saveload.h index f89176275f..144ee19ade 100644 --- a/src/saveload/saveload.h +++ b/src/saveload/saveload.h @@ -638,18 +638,18 @@ public: }; /** Type of reference (#SLE_REF, #SLE_CONDREF). */ -enum SLRefType : uint8_t { - REF_VEHICLE = 1, ///< Load/save a reference to a vehicle. - REF_STATION = 2, ///< Load/save a reference to a station. - REF_TOWN = 3, ///< Load/save a reference to a town. - REF_VEHICLE_OLD = 4, ///< Load/save an old-style reference to a vehicle (for pre-4.4 savegames). - REF_ROADSTOPS = 5, ///< Load/save a reference to a bus/truck stop. - REF_ENGINE_RENEWS = 6, ///< Load/save a reference to an engine renewal (autoreplace). - REF_CARGO_PACKET = 7, ///< Load/save a reference to a cargo packet. - REF_ORDERLIST = 8, ///< Load/save a reference to an orderlist. - REF_STORAGE = 9, ///< Load/save a reference to a persistent storage. - REF_LINK_GRAPH = 10, ///< Load/save a reference to a link graph. - REF_LINK_GRAPH_JOB = 11, ///< Load/save a reference to a link graph job. +enum class SLRefType : uint8_t { + Vehicle = 1, ///< Load/save a reference to a vehicle. + Station = 2, ///< Load/save a reference to a station. + Town = 3, ///< Load/save a reference to a town. + OldVehicle = 4, ///< Load/save an old-style reference to a vehicle (for pre-4.4 savegames). + RoadStop = 5, ///< Load/save a reference to a bus/truck stop. + EngineRenew = 6, ///< Load/save a reference to an engine renewal (autoreplace). + CargoPacket = 7, ///< Load/save a reference to a cargo packet. + OrderList = 8, ///< Load/save a reference to an orderlist. + Storage = 9, ///< Load/save a reference to a persistent storage. + LinkGraph = 10, ///< Load/save a reference to a link graph. + LinkGraphJob = 11, ///< Load/save a reference to a link graph job. }; /** The types/structures of data that can be stored in the file. */ diff --git a/src/saveload/station_sl.cpp b/src/saveload/station_sl.cpp index 38e3a62268..95d2bc4db3 100644 --- a/src/saveload/station_sl.cpp +++ b/src/saveload/station_sl.cpp @@ -159,7 +159,7 @@ void AfterLoadRoadStops() static const SaveLoad _roadstop_desc[] = { SLE_VAR(RoadStop, xy, SLE_UINT32), SLE_VAR(RoadStop, status, SLE_UINT8), - SLE_REF(RoadStop, next, REF_ROADSTOPS), + SLE_REF(RoadStop, next, SLRefType::RoadStop), }; static uint16_t _waiting_acceptance; @@ -264,7 +264,7 @@ class SlStationCargo : public DefaultSaveLoadHandler public: static inline const SaveLoad description[] = { SLE_VAR(StationCargoPair, first, SLE_UINT16), - SLE_REFLIST(StationCargoPair, second, REF_CARGO_PACKET), + SLE_REFLIST(StationCargoPair, second, SLRefType::CargoPacket), }; static inline const SaveLoadCompatTable compat_description = _station_cargo_sl_compat; @@ -384,7 +384,7 @@ public: SLEG_CONDVAR("cargo_feeder_share", _cargo_feeder_share, SLE_FILE_U32 | SLE_VAR_I64, SaveLoadVersion::TransferOrder, SaveLoadVersion::UnifyCurrency), SLEG_CONDVAR("cargo_feeder_share", _cargo_feeder_share, SLE_INT64, SaveLoadVersion::UnifyCurrency, SaveLoadVersion::CargoPackets), SLE_CONDVAR(GoodsEntry, amount_fract, SLE_UINT8, SaveLoadVersion::FractionalCargoDelivery, SaveLoadVersion::MaxVersion), - SLEG_CONDREFLIST("packets", _packets, REF_CARGO_PACKET, SaveLoadVersion::CargoPackets, SaveLoadVersion::Cargodist), + SLEG_CONDREFLIST("packets", _packets, SLRefType::CargoPacket, SaveLoadVersion::CargoPackets, SaveLoadVersion::Cargodist), SLEG_CONDVAR("old_num_dests", _old_num_dests, SLE_UINT32, SaveLoadVersion::Cargodist, SaveLoadVersion::SaveloadListLength), SLEG_CONDVAR("cargo.reserved_count", SlStationGoods::cargo_reserved_count, SLE_UINT32, SaveLoadVersion::CargoReservation, SaveLoadVersion::MaxVersion), SLE_CONDVAR(GoodsEntry, link_graph, SLE_UINT16, SaveLoadVersion::Cargodist, SaveLoadVersion::MaxVersion), @@ -491,7 +491,7 @@ static const SaveLoad _old_station_desc[] = { SLE_CONDVAR(Station, train_station.tile, SLE_UINT32, SaveLoadVersion::MultipleRoadStops, SaveLoadVersion::MaxVersion), SLE_CONDVAR(Station, airport.tile, SLE_FILE_U16 | SLE_VAR_U32, SaveLoadVersion::MinVersion, SaveLoadVersion::MultipleRoadStops), SLE_CONDVAR(Station, airport.tile, SLE_UINT32, SaveLoadVersion::MultipleRoadStops, SaveLoadVersion::MaxVersion), - SLE_REF(Station, town, REF_TOWN), + SLE_REF(Station, town, SLRefType::Town), SLE_VAR(Station, train_station.w, SLE_FILE_U8 | SLE_VAR_U16), SLE_CONDVAR(Station, train_station.h, SLE_FILE_U8 | SLE_VAR_U16, SaveLoadVersion::VehicleCurrencyStationChanges, SaveLoadVersion::MaxVersion), @@ -516,15 +516,15 @@ static const SaveLoad _old_station_desc[] = { SLE_CONDVAR(Station, build_date, SLE_FILE_U16 | SLE_VAR_I32, SaveLoadVersion::BiggerStationVariables, SaveLoadVersion::BigDates), SLE_CONDVAR(Station, build_date, SLE_INT32, SaveLoadVersion::BigDates, SaveLoadVersion::MaxVersion), - SLE_CONDREF(Station, bus_stops, REF_ROADSTOPS, SaveLoadVersion::MultipleRoadStops, SaveLoadVersion::MaxVersion), - SLE_CONDREF(Station, truck_stops, REF_ROADSTOPS, SaveLoadVersion::MultipleRoadStops, SaveLoadVersion::MaxVersion), + SLE_CONDREF(Station, bus_stops, SLRefType::RoadStop, SaveLoadVersion::MultipleRoadStops, SaveLoadVersion::MaxVersion), + SLE_CONDREF(Station, truck_stops, SLRefType::RoadStop, SaveLoadVersion::MultipleRoadStops, SaveLoadVersion::MaxVersion), /* Used by newstations for graphic variations */ SLE_CONDVAR(Station, random_bits, SLE_UINT16, SaveLoadVersion::NewGRFStations, SaveLoadVersion::MaxVersion), SLE_CONDVARNAME(Station, waiting_random_triggers, "waiting_triggers", SLE_UINT8, SaveLoadVersion::NewGRFStations, SaveLoadVersion::MaxVersion), SLEG_CONDVAR("num_specs", SlStationSpecList::last_num_specs, SLE_UINT8, SaveLoadVersion::NewGRFStations, SaveLoadVersion::MaxVersion), - SLE_CONDREFLIST(Station, loading_vehicles, REF_VEHICLE, SaveLoadVersion::FifoLoading, SaveLoadVersion::MaxVersion), + SLE_CONDREFLIST(Station, loading_vehicles, SLRefType::Vehicle, SaveLoadVersion::FifoLoading, SaveLoadVersion::MaxVersion), SLEG_STRUCTLIST("goods", SlStationGoods), SLEG_CONDSTRUCTLIST("speclist", SlStationSpecList, SaveLoadVersion::NewGRFStations, SaveLoadVersion::MaxVersion), @@ -583,7 +583,7 @@ class SlStationBase : public DefaultSaveLoadHandler public: static inline const SaveLoad description[] = { SLE_VAR(BaseStation, xy, SLE_UINT32), - SLE_REF(BaseStation, town, REF_TOWN), + SLE_REF(BaseStation, town, SLRefType::Town), SLE_VAR(BaseStation, string_id, SLE_STRINGID), SLE_SSTR(BaseStation, name, SLE_STR | StringValidationSetting::AllowControlCode), SLE_VAR(BaseStation, delete_ctr, SLE_UINT8), @@ -626,8 +626,8 @@ public: SLE_VAR(Station, train_station.w, SLE_FILE_U8 | SLE_VAR_U16), SLE_VAR(Station, train_station.h, SLE_FILE_U8 | SLE_VAR_U16), - SLE_REF(Station, bus_stops, REF_ROADSTOPS), - SLE_REF(Station, truck_stops, REF_ROADSTOPS), + SLE_REF(Station, bus_stops, SLRefType::RoadStop), + SLE_REF(Station, truck_stops, SLRefType::RoadStop), SLE_CONDVAR(Station, ship_station.tile, SLE_UINT32, SaveLoadVersion::MultitileDocks, SaveLoadVersion::MaxVersion), SLE_CONDVAR(Station, ship_station.w, SLE_FILE_U8 | SLE_VAR_U16, SaveLoadVersion::MultitileDocks, SaveLoadVersion::MaxVersion), SLE_CONDVAR(Station, ship_station.h, SLE_FILE_U8 | SLE_VAR_U16, SaveLoadVersion::MultitileDocks, SaveLoadVersion::MaxVersion), @@ -642,7 +642,7 @@ public: SLE_VARNAME(Station, airport.blocks, "airport.flags", SLE_UINT64), SLE_CONDVAR(Station, airport.rotation, SLE_UINT8, SaveLoadVersion::NewGRFAirportSmoke, SaveLoadVersion::MaxVersion), SLEG_CONDARR("storage", _old_st_persistent_storage.storage, SLE_UINT32, 16, SaveLoadVersion::NewGRFAirportSmoke, SaveLoadVersion::PersistentStoragePool), - SLE_CONDREF(Station, airport.psa, REF_STORAGE, SaveLoadVersion::PersistentStoragePool, SaveLoadVersion::MaxVersion), + SLE_CONDREF(Station, airport.psa, SLRefType::Storage, SaveLoadVersion::PersistentStoragePool, SaveLoadVersion::MaxVersion), SLE_VAR(Station, indtype, SLE_UINT8), @@ -650,7 +650,7 @@ public: SLE_VAR(Station, time_since_unload, SLE_UINT8), SLE_VAR(Station, last_vehicle_type, SLE_UINT8), SLE_VAR(Station, had_vehicle_of_type, SLE_UINT8), - SLE_REFLIST(Station, loading_vehicles, REF_VEHICLE), + SLE_REFLIST(Station, loading_vehicles, SLRefType::Vehicle), SLE_CONDVAR(Station, always_accepted, SLE_FILE_U32 | SLE_VAR_U64, SaveLoadVersion::TownAcceptance, SaveLoadVersion::ExtendCargotypes), SLE_CONDVAR(Station, always_accepted, SLE_UINT64, SaveLoadVersion::ExtendCargotypes, SaveLoadVersion::MaxVersion), SLEG_CONDSTRUCTLIST("speclist", SlRoadStopTileData, SaveLoadVersion::NewGRFRoadStops, SaveLoadVersion::RoadStopTileData), diff --git a/src/saveload/town_sl.cpp b/src/saveload/town_sl.cpp index 362476ff0e..b0598e440c 100644 --- a/src/saveload/town_sl.cpp +++ b/src/saveload/town_sl.cpp @@ -360,7 +360,7 @@ static const SaveLoad _town_desc[] = { SLE_CONDVAR(Town, layout, SLE_UINT8, SaveLoadVersion::RoadLayoutPerTown, SaveLoadVersion::MaxVersion), SLE_CONDVAR(Town, valid_history, SLE_UINT64, SaveLoadVersion::TownSupplyHistory, SaveLoadVersion::MaxVersion), - SLE_CONDREFVECTOR(Town, psa_list, REF_STORAGE, SaveLoadVersion::PersistentStoragePool, SaveLoadVersion::MaxVersion), + SLE_CONDREFVECTOR(Town, psa_list, SLRefType::Storage, SaveLoadVersion::PersistentStoragePool, SaveLoadVersion::MaxVersion), SLEG_CONDSTRUCTLIST("supplied", SlTownOldSupplied, SaveLoadVersion::ScriptTownGrowth, SaveLoadVersion::TownSupplyHistory), SLEG_CONDSTRUCTLIST("supplied", SlTownSupplied, SaveLoadVersion::TownSupplyHistory, SaveLoadVersion::MaxVersion), diff --git a/src/saveload/vehicle_sl.cpp b/src/saveload/vehicle_sl.cpp index f2df4ac8ac..5809677432 100644 --- a/src/saveload/vehicle_sl.cpp +++ b/src/saveload/vehicle_sl.cpp @@ -656,7 +656,7 @@ public: static inline const SaveLoad description[] = { SLE_VAR(Vehicle, subtype, SLE_UINT8), - SLE_REF(Vehicle, next, REF_VEHICLE_OLD), + SLE_REF(Vehicle, next, SLRefType::OldVehicle), SLE_CONDVAR(Vehicle, name, SLE_NAME, SaveLoadVersion::MinVersion, SaveLoadVersion::ReplaceCustomNameArray), SLE_CONDSSTR(Vehicle, name, SLE_STR | StringValidationSetting::AllowControlCode, SaveLoadVersion::ReplaceCustomNameArray, SaveLoadVersion::MaxVersion), SLE_CONDVAR(Vehicle, unitnumber, SLE_FILE_U8 | SLE_VAR_U16, SaveLoadVersion::MinVersion, SaveLoadVersion::LargerUnitNumber), @@ -697,7 +697,7 @@ public: SLE_VAR(Vehicle, cargo_cap, SLE_UINT16), SLE_CONDVAR(Vehicle, refit_cap, SLE_UINT16, SaveLoadVersion::GoalProgressPlaneAcceleration, SaveLoadVersion::MaxVersion), SLEG_CONDVAR("cargo_count", _cargo_count, SLE_UINT16, SaveLoadVersion::MinVersion, SaveLoadVersion::CargoPackets), - SLE_CONDREFLIST(Vehicle, cargo.packets, REF_CARGO_PACKET, SaveLoadVersion::CargoPackets, SaveLoadVersion::MaxVersion), + SLE_CONDREFLIST(Vehicle, cargo.packets, SLRefType::CargoPacket, SaveLoadVersion::CargoPackets, SaveLoadVersion::MaxVersion), SLE_CONDARR(Vehicle, cargo.action_counts, SLE_UINT32, to_underlying(VehicleCargoList::MoveToAction::End), SaveLoadVersion::CargoReservation, SaveLoadVersion::MaxVersion), SLE_CONDVAR(Vehicle, cargo_age_counter, SLE_UINT16, SaveLoadVersion::NewGRFCustomCargoAging, SaveLoadVersion::MaxVersion), @@ -731,7 +731,7 @@ public: SLE_CONDVARNAME(Vehicle, old_orders, "orders", SLE_FILE_U16 | SLE_VAR_U32, SaveLoadVersion::MinVersion, SaveLoadVersion::MoreCargoPackets), SLE_CONDVARNAME(Vehicle, old_orders, "orders", SLE_UINT32, SaveLoadVersion::MoreCargoPackets, SaveLoadVersion::OrderList), - SLE_CONDREF(Vehicle, orders, REF_ORDERLIST, SaveLoadVersion::OrderList, SaveLoadVersion::MaxVersion), + SLE_CONDREF(Vehicle, orders, SLRefType::OrderList, SaveLoadVersion::OrderList, SaveLoadVersion::MaxVersion), SLE_CONDVAR(Vehicle, age, SLE_FILE_U16 | SLE_VAR_I32, SaveLoadVersion::MinVersion, SaveLoadVersion::BigDates), SLE_CONDVAR(Vehicle, age, SLE_INT32, SaveLoadVersion::BigDates, SaveLoadVersion::MaxVersion), @@ -771,7 +771,7 @@ public: SLE_CONDVAR(Vehicle, random_bits, SLE_UINT16, SaveLoadVersion::ExtendVehicleRandom, SaveLoadVersion::MaxVersion), SLE_CONDVARNAME(Vehicle, waiting_random_triggers, "waiting_triggers", SLE_UINT8, SaveLoadVersion::VehicleCurrencyStationChanges, SaveLoadVersion::MaxVersion), - SLE_CONDREF(Vehicle, next_shared, REF_VEHICLE, SaveLoadVersion::VehicleCurrencyStationChanges, SaveLoadVersion::MaxVersion), + SLE_CONDREF(Vehicle, next_shared, SLRefType::Vehicle, SaveLoadVersion::VehicleCurrencyStationChanges, SaveLoadVersion::MaxVersion), SLE_CONDVAR(Vehicle, group_id, SLE_UINT16, SaveLoadVersion::VehicleGroups, SaveLoadVersion::MaxVersion), SLE_CONDVAR(Vehicle, current_order_time, SLE_FILE_U32 | SLE_VAR_I32, SaveLoadVersion::Timetables, SaveLoadVersion::TimetableTicksType), @@ -1048,7 +1048,7 @@ public: class SlVehicleDisaster : public DefaultSaveLoadHandler { public: static inline const SaveLoad description[] = { - SLE_REF(Vehicle, next, REF_VEHICLE_OLD), + SLE_REF(Vehicle, next, SLRefType::OldVehicle), SLE_VAR(Vehicle, subtype, SLE_UINT8), SLE_CONDVAR(Vehicle, tile, SLE_FILE_U16 | SLE_VAR_U32, SaveLoadVersion::MinVersion, SaveLoadVersion::MultipleRoadStops), diff --git a/src/saveload/waypoint_sl.cpp b/src/saveload/waypoint_sl.cpp index 4c1dcd0571..0686af6dea 100644 --- a/src/saveload/waypoint_sl.cpp +++ b/src/saveload/waypoint_sl.cpp @@ -171,7 +171,7 @@ static const SaveLoad _old_waypoint_desc[] = { SLE_CONDVAR(OldWaypoint, xy, SLE_FILE_U16 | SLE_VAR_U32, SaveLoadVersion::MinVersion, SaveLoadVersion::MultipleRoadStops), SLE_CONDVAR(OldWaypoint, xy, SLE_UINT32, SaveLoadVersion::MultipleRoadStops, SaveLoadVersion::MaxVersion), SLE_CONDVAR(OldWaypoint, town_index, SLE_UINT16, SaveLoadVersion::LinkWaypointToTown, SaveLoadVersion::WaypointMoreLikeStation), - SLE_CONDREF(OldWaypoint, town, REF_TOWN, SaveLoadVersion::WaypointMoreLikeStation, SaveLoadVersion::MaxVersion), + SLE_CONDREF(OldWaypoint, town, SLRefType::Town, SaveLoadVersion::WaypointMoreLikeStation, SaveLoadVersion::MaxVersion), SLE_CONDVAR(OldWaypoint, town_cn, SLE_FILE_U8 | SLE_VAR_U16, SaveLoadVersion::LinkWaypointToTown, SaveLoadVersion::MoreWaypointsPerTown), SLE_CONDVAR(OldWaypoint, town_cn, SLE_UINT16, SaveLoadVersion::MoreWaypointsPerTown, SaveLoadVersion::MaxVersion), SLE_CONDVAR(OldWaypoint, string_id, SLE_STRINGID, SaveLoadVersion::MinVersion, SaveLoadVersion::ReplaceCustomNameArray),