Add savegame support for 32 bit Train::flags field
This commit is contained in:
@@ -80,6 +80,7 @@ const SlxiSubChunkInfo _sl_xv_sub_chunk_infos[] = {
|
||||
{ XSLFI_MORE_TOWN_GROWTH_RATES, XSCF_NULL, 1, 1, "more_town_growth_rates", NULL, NULL, NULL },
|
||||
{ XSLFI_MULTIPLE_DOCKS, XSCF_NULL, 1, 1, "multiple_docks", NULL, NULL, "DOCK" },
|
||||
{ XSLFI_TIMETABLE_EXTRA, XSCF_NULL, 1, 1, "timetable_extra", NULL, NULL, "ORDX" },
|
||||
{ XSLFI_TRAIN_FLAGS_EXTRA, XSCF_NULL, 1, 1, "train_flags_extra", NULL, NULL, NULL },
|
||||
{ XSLFI_NULL, XSCF_NULL, 0, 0, NULL, NULL, NULL, NULL },// This is the end marker
|
||||
};
|
||||
|
||||
|
@@ -54,6 +54,7 @@ enum SlXvFeatureIndex {
|
||||
XSLFI_MORE_TOWN_GROWTH_RATES, ///< More town growth rates
|
||||
XSLFI_MULTIPLE_DOCKS, ///< Multiple docks
|
||||
XSLFI_TIMETABLE_EXTRA, ///< Vehicle timetable extra fields
|
||||
XSLFI_TRAIN_FLAGS_EXTRA, ///< Train flags field extra size
|
||||
|
||||
XSLFI_RIFF_HEADER_60_BIT, ///< Size field in RIFF chunk header is 60 bit
|
||||
XSLFI_HEIGHT_8_BIT, ///< Map tile height is 8 bit instead of 4 bit, but savegame version may be before this became true in trunk
|
||||
|
@@ -744,8 +744,9 @@ const SaveLoad *GetVehicleDescription(VehicleType vt)
|
||||
SLE_VAR(Train, railtype, SLE_UINT8),
|
||||
SLE_VAR(Train, track, SLE_UINT8),
|
||||
|
||||
SLE_CONDVAR(Train, flags, SLE_FILE_U8 | SLE_VAR_U16, 2, 99),
|
||||
SLE_CONDVAR(Train, flags, SLE_UINT16, 100, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Train, flags, SLE_FILE_U8 | SLE_VAR_U32, 2, 99),
|
||||
SLE_CONDVAR_X(Train, flags, SLE_FILE_U16 | SLE_VAR_U32, 100, SL_MAX_VERSION, SlXvFeatureTest(XSLFTO_AND, XSLFI_TRAIN_FLAGS_EXTRA, 0, 0)),
|
||||
SLE_CONDVAR_X(Train, flags, SLE_UINT32, 0, SL_MAX_VERSION, SlXvFeatureTest(XSLFTO_AND, XSLFI_TRAIN_FLAGS_EXTRA, 1)),
|
||||
SLE_CONDNULL(2, 2, 59),
|
||||
|
||||
SLE_CONDVAR(Train, wait_counter, SLE_UINT16, 136, SL_MAX_VERSION),
|
||||
|
@@ -104,9 +104,10 @@ struct Train FINAL : public GroundVehicle<Train, VEH_TRAIN> {
|
||||
/* Link between the two ends of a multiheaded engine */
|
||||
Train *other_multiheaded_part;
|
||||
|
||||
uint32 flags;
|
||||
|
||||
uint16 crash_anim_pos; ///< Crash animation counter.
|
||||
|
||||
uint16 flags;
|
||||
TrackBitsByte track;
|
||||
TrainForceProceedingByte force_proceed;
|
||||
RailTypeByte railtype;
|
||||
|
Reference in New Issue
Block a user