diff --git a/src/saveload/oldloader_sl.cpp b/src/saveload/oldloader_sl.cpp --- a/src/saveload/oldloader_sl.cpp +++ b/src/saveload/oldloader_sl.cpp @@ -698,9 +698,7 @@ static bool LoadOldGood(LoadgameState *l SB(ge->acceptance_pickup, GoodsEntry::ACCEPTANCE, 1, HasBit(_waiting_acceptance, 15)); SB(ge->acceptance_pickup, GoodsEntry::PICKUP, 1, _cargo_source != 0xFF); if (GB(_waiting_acceptance, 0, 12) != 0) { - CargoPacket *cp = new CargoPacket(GB(_waiting_acceptance, 0, 12), _cargo_days); - cp->source = (_cargo_source == 0xFF) ? INVALID_STATION : _cargo_source; - ge->cargo.Append(cp); + ge->cargo.Append(new CargoPacket(GB(_waiting_acceptance, 0, 12), _cargo_days, (_cargo_source == 0xFF) ? INVALID_STATION : _cargo_source, 0, 0)); } return true; @@ -1330,13 +1328,9 @@ bool LoadOldVehicle(LoadgameState *ls, i v->next = (Vehicle *)(size_t)_old_next_ptr; if (_cargo_count != 0) { - CargoPacket *cp = new CargoPacket(_cargo_count, _cargo_days); - cp->source = (_cargo_source == 0xFF) ? INVALID_STATION : _cargo_source; - cp->source_xy = (cp->source != INVALID_STATION) ? Station::Get(cp->source)->xy : 0; - cp->loaded_at_xy = cp->source_xy; - cp->source_type = ST_INDUSTRY; - cp->source_id = INVALID_SOURCE; - v->cargo.Append(cp); + StationID source = (_cargo_source == 0xFF) ? INVALID_STATION : _cargo_source; + TileIndex source_xy = (source != INVALID_STATION) ? Station::Get(source)->xy : 0; + v->cargo.Append(new CargoPacket(_cargo_count, _cargo_days, source, source_xy, source_xy)); } }