|
@@ -601,20 +601,22 @@ const SaveLoad *GetVehicleDescription(Ve
|
|
|
SLE_VAR(Vehicle, acceleration, SLE_UINT8),
|
|
|
SLE_VAR(Vehicle, progress, SLE_UINT8),
|
|
|
|
|
|
SLE_VAR(Vehicle, vehstatus, SLE_UINT8),
|
|
|
SLE_CONDVAR(Vehicle, last_station_visited, SLE_FILE_U8 | SLE_VAR_U16, 0, 4),
|
|
|
SLE_CONDVAR(Vehicle, last_station_visited, SLE_UINT16, 5, SL_MAX_VERSION),
|
|
|
SLE_CONDVAR(Vehicle, last_loading_station, SLE_UINT16, 182, SL_MAX_VERSION),
|
|
|
|
|
|
SLE_VAR(Vehicle, cargo_type, SLE_UINT8),
|
|
|
SLE_CONDVAR(Vehicle, cargo_subtype, SLE_UINT8, 35, SL_MAX_VERSION),
|
|
|
SLEG_CONDVAR( _cargo_days, SLE_UINT8, 0, 67),
|
|
|
SLEG_CONDVAR( _cargo_source, SLE_FILE_U8 | SLE_VAR_U16, 0, 6),
|
|
|
SLEG_CONDVAR( _cargo_source, SLE_UINT16, 7, 67),
|
|
|
SLEG_CONDVAR( _cargo_source_xy, SLE_UINT32, 44, 67),
|
|
|
SLE_VAR(Vehicle, cargo_cap, SLE_UINT16),
|
|
|
SLE_CONDVAR(Vehicle, refit_cap, SLE_UINT16, 182, SL_MAX_VERSION),
|
|
|
SLEG_CONDVAR( _cargo_count, SLE_UINT16, 0, 67),
|
|
|
SLE_CONDLST(Vehicle, cargo.packets, REF_CARGO_PACKET, 68, SL_MAX_VERSION),
|
|
|
SLE_CONDARR(Vehicle, cargo.action_counts, SLE_UINT, VehicleCargoList::NUM_MOVE_TO_ACTION, 181, SL_MAX_VERSION),
|
|
|
SLE_CONDVAR(Vehicle, cargo_age_counter, SLE_UINT16, 162, SL_MAX_VERSION),
|
|
|
|
|
|
SLE_VAR(Vehicle, day_counter, SLE_UINT8),
|
|
@@ -900,12 +902,14 @@ void Load_VEHS()
|
|
|
|
|
|
/* Old savegames used 'last_station_visited = 0xFF' */
|
|
|
if (IsSavegameVersionBefore(5) && v->last_station_visited == 0xFF) {
|
|
|
v->last_station_visited = INVALID_STATION;
|
|
|
}
|
|
|
|
|
|
if (IsSavegameVersionBefore(182)) v->last_loading_station = INVALID_STATION;
|
|
|
|
|
|
if (IsSavegameVersionBefore(5)) {
|
|
|
/* Convert the current_order.type (which is a mix of type and flags, because
|
|
|
* in those versions, they both were 4 bits big) to type and flags */
|
|
|
v->current_order.flags = GB(v->current_order.type, 4, 4);
|
|
|
v->current_order.type &= 0x0F;
|
|
|
}
|