(svn r22914) -Fix [FS#4716]: old TTO/TTD savegames could get non-stop via orders upon savegame loading, even when those orders did not exist back then. This 'conversion' feature is something for TTDPatch and old OpenTTD savegames

This commit is contained in:
rubidium 2011-09-09 21:12:52 +00:00
parent af9de6c95d
commit b7722dbe86

View File

@ -10,12 +10,11 @@
/** @file order_sl.cpp Code handling saving and loading of orders */ /** @file order_sl.cpp Code handling saving and loading of orders */
#include "../stdafx.h" #include "../stdafx.h"
#include "../order_base.h"
#include "../order_backup.h" #include "../order_backup.h"
#include "../settings_type.h" #include "../settings_type.h"
#include "../network/network.h" #include "../network/network.h"
#include "saveload.h" #include "saveload_internal.h"
/** /**
* Converts this order from an old savegame's version; * Converts this order from an old savegame's version;
@ -27,7 +26,7 @@ void Order::ConvertFromOldSavegame()
this->flags = 0; this->flags = 0;
/* First handle non-stop - use value from savegame if possible, else use value from config file */ /* First handle non-stop - use value from savegame if possible, else use value from config file */
if (_settings_client.gui.sg_new_nonstop || (IsSavegameVersionBefore(22) && _settings_client.gui.new_nonstop)) { if (_settings_client.gui.sg_new_nonstop || (IsSavegameVersionBefore(22) && _savegame_type != SGT_TTO && _savegame_type != SGT_TTD && _settings_client.gui.new_nonstop)) {
/* OFB_NON_STOP */ /* OFB_NON_STOP */
this->SetNonStopType((old_flags & 8) ? ONSF_NO_STOP_AT_ANY_STATION : ONSF_NO_STOP_AT_INTERMEDIATE_STATIONS); this->SetNonStopType((old_flags & 8) ? ONSF_NO_STOP_AT_ANY_STATION : ONSF_NO_STOP_AT_INTERMEDIATE_STATIONS);
} else { } else {