Changeset - r26006:f409c56041d2
[Not reviewed]
master
0 3 0
SamuXarick - 3 years ago 2021-10-03 10:54:19
43006711+SamuXarick@users.noreply.github.com
Fix #9591: Update station docking tiles upon placing a water object on a docking tile (#9594)
3 files changed with 7 insertions and 3 deletions:
0 comments (0 inline, 0 general)
src/object_cmd.cpp
Show inline comments
 
@@ -32,6 +32,7 @@
 
#include "date_func.h"
 
#include "newgrf_debug.h"
 
#include "vehicle_func.h"
 
#include "station_func.h"
 

	
 
#include "table/strings.h"
 
#include "table/object_land.h"
 
@@ -121,7 +122,9 @@ void BuildObject(ObjectType type, TileIn
 
			Company::Get(owner)->infrastructure.water++;
 
			DirtyCompanyInfrastructureWindows(owner);
 
		}
 
		bool remove = IsDockingTile(t);
 
		MakeObject(t, owner, o->index, wc, Random());
 
		if (remove) RemoveDockingTile(t);
 
		MarkTileDirtyByTile(t);
 
	}
 

	
src/saveload/afterload.cpp
Show inline comments
 
@@ -3106,8 +3106,8 @@ bool AfterLoadGame()
 
		}
 
	}
 

	
 
	if (IsSavegameVersionBefore(SLV_DOCK_DOCKINGTILES)) {
 
		/* All tiles around docks may be docking tiles. */
 
	if (IsSavegameVersionBefore(SLV_REPAIR_OBJECT_DOCKING_TILES)) {
 
		/* Placing objects on docking tiles was not updating adjacent station's docking tiles. */
 
		for (Station *st : Station::Iterate()) {
 
			if (st->ship_station.tile != INVALID_TILE) UpdateStationDockingTiles(st);
 
		}
src/saveload/saveload.h
Show inline comments
 
@@ -338,7 +338,8 @@ enum SaveLoadVersion : uint16 {
 
	SLV_TABLE_CHUNKS,                       ///< 295  PR#9322 Introduction of CH_TABLE and CH_SPARSE_TABLE.
 
	SLV_SCRIPT_INT64,                       ///< 296  PR#9415 SQInteger is 64bit but was saved as 32bit.
 
	SLV_LINKGRAPH_TRAVEL_TIME,              ///< 297  PR#9457 v12.0-RC1  Store travel time in the linkgraph.
 
	SLV_DOCK_DOCKINGTILES,                  ///< 298  PR#9578 v12.0  All tiles around docks may be docking tiles.
 
	SLV_DOCK_DOCKINGTILES,                  ///< 298  PR#9578 All tiles around docks may be docking tiles.
 
	SLV_REPAIR_OBJECT_DOCKING_TILES,        ///< 299  PR#9594 v12.0  Fixing issue with docking tiles overlapping objects.
 

	
 
	SL_MAX_VERSION,                         ///< Highest possible saveload version
 
};
0 comments (0 inline, 0 general)