diff --git a/station.h b/station.h index f44d55c00c..46f3e3bf0a 100644 --- a/station.h +++ b/station.h @@ -84,6 +84,9 @@ struct Station { byte last_vehicle_type; GoodsEntry goods[NUM_CARGO]; + uint16 random_bits; + byte waiting_triggers; + /* Stuff that is no longer used, but needed for conversion */ TileIndex bus_tile_obsolete; TileIndex lorry_tile_obsolete; diff --git a/station_cmd.c b/station_cmd.c index df14054eda..61d5d79a82 100644 --- a/station_cmd.c +++ b/station_cmd.c @@ -490,6 +490,9 @@ static void StationInitialize(Station *st, TileIndex tile) ge->feeder_profit = 0; } + st->random_bits = Random(); + st->waiting_triggers = 0; + _global_station_sort_dirty = true; // build a new station } @@ -2851,6 +2854,10 @@ static const SaveLoad _station_desc[] = { SLE_CONDREF(Station,bus_stops, REF_ROADSTOPS, 6, SL_MAX_VERSION), SLE_CONDREF(Station,truck_stops, REF_ROADSTOPS, 6, SL_MAX_VERSION), + /* Used by newstations for graphic variations */ + SLE_CONDVAR(Station,random_bits, SLE_UINT16, 27, SL_MAX_VERSION), + SLE_CONDVAR(Station,waiting_triggers, SLE_UINT8, 27, SL_MAX_VERSION), + // reserve extra space in savegame here. (currently 32 bytes) SLE_CONDNULL(32, 2, SL_MAX_VERSION),