mirror of https://github.com/OpenTTD/OpenTTD
Fix: ScriptTile::PlantTreeRectangle does not check that the end tile is in bounds.
If the starting tile is near the edge of the map, the width and height could overflow the map boundary. In some cases this might result in a different area being planted than expected.pull/13004/head
parent
ae4a723889
commit
421d6daaf8
|
@ -297,7 +297,8 @@
|
|||
EnforcePrecondition(false, ::IsValidTile(tile));
|
||||
EnforcePrecondition(false, width >= 1 && width <= 20);
|
||||
EnforcePrecondition(false, height >= 1 && height <= 20);
|
||||
TileIndex end_tile = tile + ::TileDiffXY(width - 1, height - 1);
|
||||
TileIndex end_tile = TileAddWrap(tile, width - 1, height - 1);
|
||||
EnforcePrecondition(false, ::IsValidTile(end_tile));
|
||||
|
||||
return ScriptObject::Command<CMD_PLANT_TREE>::Do(tile, end_tile, TREE_INVALID, false);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue