Merge branch 'master' into jgrpp
# Conflicts: # regression/regression/result.txt # src/autoreplace_cmd.cpp # src/industry_gui.cpp # src/landscape.cpp # src/network/network_content.cpp # src/newgrf_roadstop.cpp # src/pathfinder/yapf/yapf_ship.cpp # src/road_gui.cpp # src/saveload/ai_sl.cpp # src/saveload/saveload.h # src/saveload/vehicle_sl.cpp # src/station.cpp # src/station_gui.cpp # src/video/cocoa/cocoa_ogl.h # src/video/sdl2_opengl_v.h # src/video/video_driver.hpp # src/video/win32_v.h # src/widget_type.h # src/widgets/dropdown.cpp # src/widgets/dropdown_type.h # src/window.cpp
This commit is contained in:
@@ -1059,16 +1059,21 @@ static bool IsSuitableForFarmField(TileIndex tile, bool allow_fields)
|
||||
static void SetupFarmFieldFence(TileIndex tile, int size, byte type, DiagDirection side)
|
||||
{
|
||||
TileIndexDiff diff = (DiagDirToAxis(side) == AXIS_Y ? TileDiffXY(1, 0) : TileDiffXY(0, 1));
|
||||
TileIndexDiff neighbour_diff = TileOffsByDiagDir(side);
|
||||
|
||||
do {
|
||||
tile = TILE_MASK(tile);
|
||||
|
||||
if (IsTileType(tile, MP_CLEAR) && IsClearGround(tile, CLEAR_FIELDS)) {
|
||||
byte or_ = type;
|
||||
TileIndex neighbour = tile + neighbour_diff;
|
||||
if (!IsTileType(neighbour, MP_CLEAR) || !IsClearGround(neighbour, CLEAR_FIELDS) || GetFence(neighbour, ReverseDiagDir(side)) == 0) {
|
||||
/* Add fence as long as neighbouring tile does not already have a fence in the same position. */
|
||||
byte or_ = type;
|
||||
|
||||
if (or_ == 1 && Chance16(1, 7)) or_ = 2;
|
||||
if (or_ == 1 && Chance16(1, 7)) or_ = 2;
|
||||
|
||||
SetFence(tile, side, or_);
|
||||
SetFence(tile, side, or_);
|
||||
}
|
||||
}
|
||||
|
||||
tile += diff;
|
||||
|
Reference in New Issue
Block a user