# HG changeset patch # User unc0rr # Date 1171152882 0 # Node ID 7f69c7ac2e97ea14b28f010418ea33aecb235b7b # Parent 1052ef2f7863297914808c044f61c71ad9cf06fa One more land template + some templates tuning diff -r 1052ef2f7863 -r 7f69c7ac2e97 hedgewars/uLand.pas --- a/hedgewars/uLand.pas Sat Feb 10 23:37:40 2007 +0000 +++ b/hedgewars/uLand.pas Sun Feb 11 00:14:42 2007 +0000 @@ -400,7 +400,7 @@ end end; -procedure RandomizePoints(var pa: TPixAr; MaxRad: LongInt); +procedure RandomizePoints(var pa: TPixAr); const cEdge = 55; cMinDist = 0; var radz: array[0..Pred(cMaxEdgePoints)] of LongInt; @@ -416,7 +416,7 @@ if radz[i] > 0 then for k:= 0 to Pred(i) do begin - dist:= Min(Max(abs(x - pa.ar[k].x), abs(y - pa.ar[k].y)), MaxRad); + dist:= Max(abs(x - pa.ar[k].x), abs(y - pa.ar[k].y)); radz[k]:= Max(0, Min((dist - cMinDist) div 2, radz[k])); radz[i]:= Max(0, Min(dist - radz[k] - cMinDist, radz[i])) end @@ -442,10 +442,12 @@ Land[y, x]:= COLOR_LAND; SetPoints(Template, pa); -BezierizeEdge(pa, _1div3); -for i:= 0 to Pred(Template.RandPassesCount) do RandomizePoints(pa, 1000); -BezierizeEdge(pa, _1div3); -RandomizePoints(pa, 1000); +for i:= 1 to Template.BezierizeCount do + begin + BezierizeEdge(pa, _1div3); + RandomizePoints(pa) + end; +for i:= 1 to Template.RandPassesCount do RandomizePoints(pa); BezierizeEdge(pa, _0_1); DrawEdge(pa, 0); diff -r 1052ef2f7863 -r 7f69c7ac2e97 hedgewars/uLandTemplates.pas --- a/hedgewars/uLandTemplates.pas Sat Feb 10 23:37:40 2007 +0000 +++ b/hedgewars/uLandTemplates.pas Sun Feb 11 00:14:42 2007 +0000 @@ -30,6 +30,7 @@ BasePointsCount: Longword; FillPoints: PPointArray; FillPointsCount: Longword; + BezierizeCount: Longword; RandPassesCount: Longword; canMirror, canFlip: boolean; end; @@ -213,60 +214,88 @@ (x: 1646; y: 1020; w: 2; h: 2), (x: NTPX; y: 0; w: 1; h: 1) ); - Template6FPoints: array[0..0] of TPoint = ( (x: 1023; y: 0) ); -const EdgeTemplates: array[0..6] of TEdgeTemplate = +const Template7Points: array[0..5] of TSDL_Rect = + ( + (x: 162; y: 1024; w: 400; h: 1), + (x: 226; y: 234; w: 142; h: 360), + (x: 936; y: 740; w: 400; h: 200), + (x: 1576; y: 176; w: 186; h: 550), + (x: 1430; y: 1024; w: 454; h: 1), + (x: NTPX; y: 0; w: 1; h: 1) + ); + Template7FPoints: array[0..0] of TPoint = + ( + (x: 1023; y: 0) + ); + +const EdgeTemplates: array[0..7] of TEdgeTemplate = ( (BasePoints: @Template0Points; BasePointsCount: Succ(High(Template0Points)); FillPoints: @Template0FPoints; FillPointsCount: Succ(High(Template0FPoints)); - RandPassesCount: 4; + BezierizeCount: 2; + RandPassesCount: 3; canMirror: true; canFlip: false; ), (BasePoints: @Template1Points; BasePointsCount: Succ(High(Template1Points)); FillPoints: @Template1FPoints; FillPointsCount: Succ(High(Template1FPoints)); - RandPassesCount: 3; - canMirror: false; canFlip: false; + BezierizeCount: 2; + RandPassesCount: 2; + canMirror: true; canFlip: false; ), (BasePoints: @Template2Points; BasePointsCount: Succ(High(Template2Points)); FillPoints: @Template2FPoints; FillPointsCount: Succ(High(Template2FPoints)); - RandPassesCount: 3; - canMirror: false; canFlip: false; + BezierizeCount: 2; + RandPassesCount: 2; + canMirror: true; canFlip: false; ), (BasePoints: @Template3Points; BasePointsCount: Succ(High(Template3Points)); FillPoints: @Template3FPoints; FillPointsCount: Succ(High(Template3FPoints)); - RandPassesCount: 3; + BezierizeCount: 2; + RandPassesCount: 2; canMirror: false; canFlip: false; ), (BasePoints: @Template4Points; BasePointsCount: Succ(High(Template4Points)); FillPoints: @Template4FPoints; FillPointsCount: Succ(High(Template4FPoints)); - RandPassesCount: 3; - canMirror: false; canFlip: false; + BezierizeCount: 2; + RandPassesCount: 2; + canMirror: true; canFlip: false; ), (BasePoints: @Template5Points; BasePointsCount: Succ(High(Template5Points)); FillPoints: @Template5FPoints; FillPointsCount: Succ(High(Template5FPoints)); - RandPassesCount: 3; + BezierizeCount: 2; + RandPassesCount: 2; canMirror: true; canFlip: false; ), (BasePoints: @Template6Points; BasePointsCount: Succ(High(Template6Points)); FillPoints: @Template6FPoints; FillPointsCount: Succ(High(Template6FPoints)); + BezierizeCount: 2; + RandPassesCount: 2; + canMirror: true; canFlip: false; + ), + (BasePoints: @Template7Points; + BasePointsCount: Succ(High(Template7Points)); + FillPoints: @Template7FPoints; + FillPointsCount: Succ(High(Template7FPoints)); + BezierizeCount: 3; RandPassesCount: 3; canMirror: true; canFlip: false; )