diff -r d24257910f8d -r aaefa587e277 hedgewars/uLandOutline.pas --- a/hedgewars/uLandOutline.pas Sun Dec 02 00:03:16 2012 +0100 +++ b/hedgewars/uLandOutline.pas Tue Dec 25 04:45:22 2012 +0100 @@ -27,6 +27,9 @@ end end; +const + cMaxEdgePoints = 16384; + procedure Push(_xl, _xr, _y, _dir: LongInt); begin TryDo(Stack.Count <= 8192, 'FillLand: stack overflow', true); @@ -96,9 +99,9 @@ i:= 0; with pa do while i < LongInt(Count) - 1 do - if (ar[i + 1].X = NTPX) then + if (ar[i + 1].X = NTPX) then inc(i, 2) - else + else begin DrawLine(ar[i].x, ar[i].y, ar[i + 1].x, ar[i + 1].y, Color); inc(i) @@ -127,7 +130,7 @@ begin Vx:= _0; Vy:= _0 - end + end else begin d2:= _1 / d2; @@ -234,7 +237,7 @@ CheckIntersect:= false else if (c2 < 0) or (c2 > dm) then CheckIntersect:= false; - end + end else begin if (c1 > 0) or (c1 < dm) then