diff options
author | smatz <smatz@openttd.org> | 2009-01-14 13:11:39 +0000 |
---|---|---|
committer | smatz <smatz@openttd.org> | 2009-01-14 13:11:39 +0000 |
commit | 66213d8e4b89cea136aec51544c6904d3c3e84ab (patch) | |
tree | efe2d6c3ad4afc746be07f335c8dc60b7eadec8b | |
parent | e18c24cdb5c2031cad7813c7de5f2554428ada43 (diff) | |
download | openttd-66213d8e4b89cea136aec51544c6904d3c3e84ab.tar.xz |
(svn r15080) -Fix: terraforming at the northern border failed without any visible reason
-rw-r--r-- | src/terraform_gui.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/terraform_gui.cpp b/src/terraform_gui.cpp index 296339ce6..dd44a0e44 100644 --- a/src/terraform_gui.cpp +++ b/src/terraform_gui.cpp @@ -113,6 +113,11 @@ static void GenerateRockyArea(TileIndex end, TileIndex start) **/ bool GUIPlaceProcDragXY(ViewportDragDropSelectionProcess proc, TileIndex start_tile, TileIndex end_tile) { + /* When end_tile is MP_VOID, the DoCommandP checks will deny this command without any + * user-visible reason. This happens when terraforming at the northern border. */ + if (TileX(end_tile) == MapMaxX()) end_tile += TileDiffXY(-1, 0); + if (TileY(end_tile) == MapMaxY()) end_tile += TileDiffXY(0, -1); + switch (proc) { case DDSP_DEMOLISH_AREA: DoCommandP(end_tile, start_tile, 0, CMD_CLEAR_AREA | CMD_MSG(STR_00B5_CAN_T_CLEAR_THIS_AREA), CcPlaySound10); |