mirror of https://github.com/OpenTTD/OpenTTD
Fix: ScriptTile::PlantTreeRectangle does not check that the end tile is in bounds. (#13004)
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/13015/head
parent
9d2e07b1f6
commit
147ac56f11
|
@ -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