From 53b06a3d048f177da88f1df868336d51d4035317 Mon Sep 17 00:00:00 2001 From: Jonathan G Rennison Date: Wed, 21 Feb 2024 22:01:34 +0000 Subject: [PATCH] Add event flag for removing invalid RVs during load --- src/event_logs.cpp | 1 + src/event_logs.h | 1 + src/sl/vehicle_sl.cpp | 3 +++ 3 files changed, 5 insertions(+) diff --git a/src/event_logs.cpp b/src/event_logs.cpp index 36f3f206ec..d52bd9cd6e 100644 --- a/src/event_logs.cpp +++ b/src/event_logs.cpp @@ -42,6 +42,7 @@ char *DumpGameEventFlags(GameEventFlags events, char *b, const char *last) dump('i', GEF_INDUSTRY_CREATE); dump('j', GEF_INDUSTRY_DELETE); dump('v', GEF_VIRT_TRAIN); + dump('r', GEF_RM_INVALID_RV); return b; } diff --git a/src/event_logs.h b/src/event_logs.h index d86a29195d..c8ccac1ccf 100644 --- a/src/event_logs.h +++ b/src/event_logs.h @@ -24,6 +24,7 @@ enum GameEventFlags : uint32_t { GEF_INDUSTRY_CREATE = 1 << 6, ///< (i) An industry has been created (in game) GEF_INDUSTRY_DELETE = 1 << 7, ///< (j) An industry has been deleted (in game) GEF_VIRT_TRAIN = 1 << 8, ///< (v) A virtual train has been created + GEF_RM_INVALID_RV = 1 << 9, ///< (r) Removed uncorrectable road vehicle on load }; DECLARE_ENUM_AS_BIT_SET(GameEventFlags) diff --git a/src/sl/vehicle_sl.cpp b/src/sl/vehicle_sl.cpp index bfdd6b0185..a1a53a9c9a 100644 --- a/src/sl/vehicle_sl.cpp +++ b/src/sl/vehicle_sl.cpp @@ -23,6 +23,7 @@ #include "../error.h" #include "../strings_func.h" #include "../economy_base.h" +#include "../event_logs.h" #include "../3rdparty/cpp-btree/btree_map.h" #include "../core/format.hpp" @@ -575,6 +576,8 @@ void AfterLoadVehiclesRemoveAnyFoundInvalid() SetDParam(0, (uint)_load_invalid_vehicles_to_delete.size()); ShowErrorMessage(STR_WARNING_LOADGAME_REMOVED_UNCORRECTABLE_VEHICLES, INVALID_STRING_ID, WL_CRITICAL); GroupStatistics::UpdateAfterLoad(); + + RegisterGameEvents(GEF_RM_INVALID_RV); } for (Vehicle *v : _load_invalid_vehicles_to_delete) {