(svn r21798) -Fix: loading a TTO savegame failed after loading a TTDP savegame with vehicle multiplier bigger than 1

This commit is contained in:
smatz 2011-01-14 22:23:09 +00:00
parent 6b86ee9888
commit 804542b3f3

View File

@ -34,9 +34,9 @@
#include "../table/engines.h" #include "../table/engines.h"
#include "../table/townname.h" #include "../table/townname.h"
static bool _read_ttdpatch_flags; static bool _read_ttdpatch_flags;
static uint8 *_old_map3; static uint8 *_old_map3;
void FixOldMapArray() void FixOldMapArray()
{ {
@ -491,15 +491,16 @@ static uint16 _old_extra_chunk_nums;
static void ReadTTDPatchFlags() static void ReadTTDPatchFlags()
{ {
if (_savegame_type == SGT_TTO) {
_old_vehicle_multiplier = 1;
_bump_assert_value = 0;
return;
}
if (_read_ttdpatch_flags) return; if (_read_ttdpatch_flags) return;
_read_ttdpatch_flags = true; _read_ttdpatch_flags = true;
if (_savegame_type == SGT_TTO) {
_old_vehicle_multiplier = 1;
return;
}
/* TTDPatch misuses _old_map3 for flags.. read them! */ /* TTDPatch misuses _old_map3 for flags.. read them! */
_old_vehicle_multiplier = _old_map3[0]; _old_vehicle_multiplier = _old_map3[0];
/* Somehow.... there was an error in some savegames, so 0 becomes 1 /* Somehow.... there was an error in some savegames, so 0 becomes 1