From cf1d74b41ed5652a07cca7bb666fcba30a2c2549 Mon Sep 17 00:00:00 2001 From: rubidium Date: Sun, 26 Aug 2007 14:38:44 +0000 Subject: [PATCH] (svn r10982) -Fix [FS#1162]: some old savegames could be in a state that the current game logic does not like; in the list of vehicles loading at a station when the vehicle is not actually at the station. --- src/openttd.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/openttd.cpp b/src/openttd.cpp index ddd8ac99c3..f17f459cb8 100644 --- a/src/openttd.cpp +++ b/src/openttd.cpp @@ -2103,6 +2103,18 @@ bool AfterLoadGame() CLRBIT(v->vehicle_flags, VF_LOADING_FINISHED); } } + } else if (CheckSavegameVersion(59)) { + /* For some reason non-loading vehicles could be in the station's loading vehicle list */ + + Station *st; + FOR_ALL_STATIONS(st) { + std::list::iterator iter; + for (iter = st->loading_vehicles.begin(); iter != st->loading_vehicles.end();) { + Vehicle *v = *iter; + iter++; + if (v->current_order.type != OT_LOADING) st->loading_vehicles.remove(v); + } + } } if (CheckSavegameVersion(58)) {