I just uploaded tag_craftious_maximus_-_faf_version.v0003 to the vault to bypass this problem:
@Tagada told me that one hydro cant be build on
Since the heightmap and marker placement looks okay, I did some testing with @Sheikah -thanks a lot- and we narrowed it down to a slope calculation error/difference. Because the broken hydro gets fixed when it gets gets rotated/mirrored it to the right side and the working hydro breaks if it gets rotated/mirrored to the left side. heightmap was rotated/mirrored as well!
Because of the way the slope gets calculated the hydros/structures behave differently on the left and right side of the map. The same issue occurs with factories, if the marker are moved step by step to the map center.
Vert1.y = ScmapEditor.GetHeight(x + 1, y) * ScaleHeight;
Vert2.y = ScmapEditor.GetHeight(x + 1, y + 1) * ScaleHeight;
Vert3.y = ScmapEditor.GetHeight(x, y + 1) * ScaleHeight;
float Dot = getSupComSlope(Vert0.y, Vert1.y, Vert2.y, Vert3.y);
static float getSupComSlope(float a, float b, float c, float d)
return Mathf.Max(Mathf.Abs(a - b), Mathf.Abs(b - c), Mathf.Abs(c - d), Mathf.Abs(d - a));
To fix this forever the slope calculation needs to be changed/improved. This reminds me of @Balthazar 's mod that places structures according to slope (and also solves heightmap terraforming issues). Maybe parts of it could be integrated into FAF some day.