diff -r 166ee5275915 -r 23f627ba8ee9 hedgewars/uLandPainted.pas --- a/hedgewars/uLandPainted.pas Tue Mar 13 12:22:56 2012 -0400 +++ b/hedgewars/uLandPainted.pas Tue Mar 13 22:46:55 2012 +0400 @@ -43,7 +43,7 @@ var pointsListHead, pointsListLast: PPointEntry; -procedure DrawLineOnLand(X1, Y1, X2, Y2: LongInt); +procedure DrawLineOnLand(X1, Y1, X2, Y2, radius: LongInt); var eX, eY, dX, dY: LongInt; i, sX, sY, x, y, d: LongInt; b: boolean; @@ -110,7 +110,7 @@ begin inc(len); if (len mod 4) = 0 then - FillRoundInLand(X, Y, 34, lfBasic) + FillRoundInLand(X, Y, radius, lfBasic) end end end; @@ -147,10 +147,12 @@ procedure Draw; var pe: PPointEntry; prevPoint: PointRec; + radius: LongInt; begin // shutup compiler prevPoint.X:= 0; prevPoint.Y:= 0; + radius:= 0; pe:= pointsListHead; TryDo((pe = nil) or (pe^.point.flags and $80 <> 0), 'Corrupted draw data', true); @@ -159,13 +161,14 @@ begin if (pe^.point.flags and $80 <> 0) then begin + radius:= (pe^.point.flags and $7F) * 5 + 3; AddFileLog('[DRAW] Move to: ('+inttostr(pe^.point.X)+','+inttostr(pe^.point.Y)+')'); - FillRoundInLand(pe^.point.X, pe^.point.Y, 34, lfBasic) + FillRoundInLand(pe^.point.X, pe^.point.Y, radius, lfBasic) end else begin AddFileLog('[DRAW] Line to: ('+inttostr(pe^.point.X)+','+inttostr(pe^.point.Y)+')'); - DrawLineOnLand(prevPoint.X, prevPoint.Y, pe^.point.X, pe^.point.Y); + DrawLineOnLand(prevPoint.X, prevPoint.Y, pe^.point.X, pe^.point.Y, radius); end; prevPoint:= pe^.point;