Changeset - r11920:e51276f97f18
[Not reviewed]
master
0 5 0
rubidium - 15 years ago 2009-05-17 10:19:00
rubidium@openttd.org
(svn r16328) -Fix: desync when removing lots of stations
5 files changed with 8 insertions and 18 deletions:
0 comments (0 inline, 0 general)
src/saveload/misc_sl.cpp
Show inline comments
 
@@ -65,7 +65,7 @@ static const SaveLoadGlobVarList _date_d
 
	SLEG_CONDVAR(_cur_tileloop_tile,      SLE_FILE_U16 | SLE_VAR_U32,  0, 5),
 
	SLEG_CONDVAR(_cur_tileloop_tile,      SLE_UINT32,                  6, SL_MAX_VERSION),
 
	    SLEG_VAR(_disaster_delay,         SLE_UINT16),
 
	    SLEG_VAR(_station_tick_ctr,       SLE_UINT16),
 
	SLE_CONDNULL(2, 0, 119),
 
	    SLEG_VAR(_random.state[0],        SLE_UINT32),
 
	    SLEG_VAR(_random.state[1],        SLE_UINT32),
 
	SLEG_CONDVAR(_cur_town_ctr,           SLE_FILE_U8  | SLE_VAR_U32,  0, 9),
src/saveload/oldloader_sl.cpp
Show inline comments
 
@@ -1707,8 +1707,7 @@ static const OldChunks main_chunk[] = {
 

	
 
	OCL_CNULL( OC_TTD, 144 ),             ///< AI cargo-stuff, calculated in InitializeLandscapeVariables
 
	OCL_NULL( 2 ),               ///< Company indexes of companies, no longer in use
 

	
 
	OCL_VAR ( OC_FILE_U8 | OC_VAR_U16,    1, &_station_tick_ctr ),
 
	OCL_NULL( 1 ),               ///< Station tick counter, no longer in use
 

	
 
	OCL_VAR (  OC_UINT8,    1, &_settings_game.locale.currency ),
 
	OCL_VAR (  OC_UINT8,    1, &_settings_game.locale.units ),
src/saveload/station_sl.cpp
Show inline comments
 
@@ -195,9 +195,6 @@ static void Load_STNS()
 

	
 
		SaveLoad_STNS(st);
 
	}
 

	
 
	/* This is to ensure all pointers are within the limits of _stations_size */
 
	if (_station_tick_ctr > GetMaxStationIndex()) _station_tick_ctr = 0;
 
}
 

	
 
static void Save_ROADSTOP()
src/station_cmd.cpp
Show inline comments
 
@@ -2699,7 +2699,11 @@ static VehicleEnterTileStatus VehicleEnt
 
	return VETSB_CONTINUE;
 
}
 

	
 
/* this function is called for one station each tick */
 
/**
 
 * This function is called for each station once every 250 ticks.
 
 * Not all stations will get the tick at the same time.
 
 * @param st the station receiving the tick.
 
 */
 
static void StationHandleBigTick(Station *st)
 
{
 
	UpdateStationAcceptance(st, true);
 
@@ -2839,11 +2843,6 @@ void OnTick_Station()
 
{
 
	if (_game_mode == GM_EDITOR) return;
 

	
 
	uint i = _station_tick_ctr;
 
	if (++_station_tick_ctr > GetMaxStationIndex()) _station_tick_ctr = 0;
 

	
 
	if (Station::IsValidID(i)) StationHandleBigTick(Station::Get(i));
 

	
 
	Station *st;
 
	FOR_ALL_STATIONS(st) {
 
		StationHandleSmallTick(st);
 
@@ -2852,6 +2851,7 @@ void OnTick_Station()
 
		 * Station index is included so that triggers are not all done
 
		 * at the same time. */
 
		if ((_tick_counter + st->index) % 250 == 0) {
 
			StationHandleBigTick(st);
 
			StationAnimationTrigger(st, st->xy, STAT_ANIM_250_TICKS);
 
		}
 
	}
 
@@ -3211,8 +3211,6 @@ void InitializeStations()
 
	/* Clean the roadstop pool and create 1 block in it */
 
	_RoadStop_pool.CleanPool();
 
	_RoadStop_pool.AddBlockToPool();
 

	
 
	_station_tick_ctr = 0;
 
}
 

	
 
static CommandCost TerraformTile_Station(TileIndex tile, DoCommandFlag flags, uint z_new, Slope tileh_new)
src/variables.h
Show inline comments
 
@@ -18,10 +18,6 @@ VARDEF byte _age_cargo_skip_counter;
 
/* Also save scrollpos_x, scrollpos_y and zoom */
 
VARDEF uint16 _disaster_delay;
 

	
 
/* Determines what station to operate on in the
 
 *  tick handler. */
 
VARDEF uint16 _station_tick_ctr;
 

	
 
/* Determines how often to run the tree loop */
 
VARDEF byte _trees_tick_ctr;
 

	
0 comments (0 inline, 0 general)