Fix: for original terrain generator, keep a single gap of water at the borders (#7883)

This means that for NE/NW, it should have one more in case of
freeform-edges, and in case of SE/SW it should have one less.

Reminder: freeform-edges only adds VOID tiles on X=0 and Y=0.
This commit is contained in:
SamuXarick 2020-12-15 20:52:41 +00:00 committed by GitHub
parent e07afaeffb
commit 1d85d71d29
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 4 additions and 3 deletions

View File

@ -865,7 +865,8 @@ static void GenerateTerrain(int type, uint flag)
uint x = r & MapMaxX();
uint y = (r >> MapLogX()) & MapMaxY();
if (x < 2 || y < 2) return;
uint edge_distance = 1 + (_settings_game.construction.freeform_edges ? 1 : 0);
if (x <= edge_distance || y <= edge_distance) return;
DiagDirection direction = (DiagDirection)GB(r, 22, 2);
uint w = templ->width;
@ -900,8 +901,8 @@ static void GenerateTerrain(int type, uint flag)
}
}
if (x + w >= MapMaxX() - 1) return;
if (y + h >= MapMaxY() - 1) return;
if (x + w >= MapMaxX()) return;
if (y + h >= MapMaxY()) return;
TileIndex tile = TileXY(x, y);