diff src/saveload/station_sl.cpp @ 13298:f590f261c90a draft

(svn r17807) -Codechange: move all 'updates' just after the 'load' constructor of CargoPackets to the constructor call itself
author rubidium <rubidium@openttd.org>
date Sun, 18 Oct 2009 17:52:44 +0000
parents d8ddc1b1e866
children d998ec8f4d78
line wrap: on
line diff
--- a/src/saveload/station_sl.cpp
+++ b/src/saveload/station_sl.cpp
@@ -243,13 +243,12 @@
 			if (CheckSavegameVersion(68)) {
 				SB(ge->acceptance_pickup, GoodsEntry::ACCEPTANCE, 1, HasBit(_waiting_acceptance, 15));
 				if (GB(_waiting_acceptance, 0, 12) != 0) {
+					/* In old versions, enroute_from used 0xFF as INVALID_STATION */
+					StationID source = (CheckSavegameVersion(7) && _cargo_source == 0xFF) ? INVALID_STATION : _cargo_source;
+
 					/* Don't construct the packet with station here, because that'll fail with old savegames */
-					CargoPacket *cp = new CargoPacket(GB(_waiting_acceptance, 0, 12), _cargo_days, _cargo_feeder_share);
-					/* In old versions, enroute_from used 0xFF as INVALID_STATION */
-					cp->source          = (CheckSavegameVersion(7) && _cargo_source == 0xFF) ? INVALID_STATION : _cargo_source;
-					cp->source_xy       = _cargo_source_xy;
+					ge->cargo.Append(new CargoPacket(GB(_waiting_acceptance, 0, 12), _cargo_days, source, _cargo_source_xy, _cargo_source_xy, _cargo_feeder_share));
 					SB(ge->acceptance_pickup, GoodsEntry::PICKUP, 1, 1);
-					ge->cargo.Append(cp);
 				}
 			}
 		}