# HG changeset patch # User unc0rr # Date 1158948566 0 # Node ID 207f520b9e8351c649f19bfefb849e0471e4aacb # Parent 63909aecb0edd1e8f012d81ce3cb637d794c53ce Soma small fixes + new land template diff -r 63909aecb0ed -r 207f520b9e83 hedgewars/hwengine.dpr --- a/hedgewars/hwengine.dpr Thu Sep 21 21:29:02 2006 +0000 +++ b/hedgewars/hwengine.dpr Fri Sep 22 18:09:26 2006 +0000 @@ -217,7 +217,7 @@ SDL_ShowCursor(0); end; -//////////////////////////////////////////////////////////////////////////////// +/////////////// procedure Game; begin WriteToConsole('Init SDL... '); @@ -253,6 +253,7 @@ MainLoop end; +///////////////////////// procedure GenLandPreview; begin InitIPC; @@ -260,7 +261,7 @@ TryDo(InitStepsFlags = cifRandomize, 'Some parameters not set (flags = ' + inttostr(InitStepsFlags) + ')', true); -WriteLnToConsole('Generating preview...'); + GenPreview; WriteLnToConsole('Sending preview...'); SendIPCRaw(@Preview, sizeof(Preview)); diff -r 63909aecb0ed -r 207f520b9e83 hedgewars/uLand.pas --- a/hedgewars/uLand.pas Thu Sep 21 21:29:02 2006 +0000 +++ b/hedgewars/uLand.pas Fri Sep 22 18:09:26 2006 +0000 @@ -192,7 +192,7 @@ pa.ar[pa.Count].x:= X; pa.ar[pa.Count].y:= Y; inc(pa.Count); - TryDo(pa.Count < cMaxEdgePoints, 'Edge points overflow', true) + TryDo(pa.Count <= cMaxEdgePoints, 'Edge points overflow', true) end; end; end; @@ -382,6 +382,7 @@ i: integer; begin TryDo((pa.ar[0].y < 0) or (pa.ar[0].y > 1023), 'Bad land generated', true); +TryDo((pa.ar[Pred(pa.Count)].y < 0) or (pa.ar[Pred(pa.Count)].y > 1023), 'Bad land generated', true); isUP:= pa.ar[0].y > 0; Left:= 1023; Right:= Left; @@ -571,6 +572,7 @@ procedure GenPreview; var x, y, xx, yy, t, bit: integer; begin +WriteLnToConsole('Generating preview...'); GenBlank(EdgeTemplates[getrandom(Succ(High(EdgeTemplates)))]); for y:= 0 to 127 do @@ -583,7 +585,7 @@ for yy:= y * 8 to y * 8 + 7 do for xx:= x * 64 + bit * 8 to x * 64 + bit * 8 + 7 do if Land[yy, xx] <> 0 then inc(t); - if t > 31 then Preview[y, x]:= Preview[y, x] or ($80 shr bit) + if t > 8 then Preview[y, x]:= Preview[y, x] or ($80 shr bit) end end end; diff -r 63909aecb0ed -r 207f520b9e83 hedgewars/uLandTemplates.pas --- a/hedgewars/uLandTemplates.pas Thu Sep 21 21:29:02 2006 +0000 +++ b/hedgewars/uLandTemplates.pas Fri Sep 22 18:09:26 2006 +0000 @@ -453,7 +453,7 @@ const Template13Points: array[0..13] of TPoint = ( - (x: 645; y: 1282), + (x: 645; y: 1400), (x: 198; y: 732), (x: 402; y: 648), (x: 609; y: 763), @@ -466,14 +466,45 @@ (x: 1038; y: 576), (x: 1017; y: 756), (x: 1803; y: 728), - (x: 1503; y: 1256) + (x: 1503; y: 1400) ); Template13FPoints: array[0..0] of TPoint = ( (x: 1023; y: 0) ); -const EdgeTemplates: array[0..13] of TEdgeTemplate = +const Template14Points: array[0..22] of TPoint = + ( + (x: 177; y: 1408), + (x: 262; y: 1026), + (x: 259; y: 303), + (x: 765; y: 162), + (x: 789; y: 357), + (x: 517; y: 420), + (x: 658; y: 690), + (x: 448; y: 762), + (x: 663; y: 1029), + (x: 765; y: 1440), + (x: 1446; y: 1431), + (x: 1439; y: 1026), + (x: 1416; y: 825), + (x: 1253; y: 840), + (x: 1253; y: 600), + (x: 1551; y: 573), + (x: 1506; y: 390), + (x: 1065; y: 366), + (x: 1077; y: 171), + (x: 1656; y: 156), + (x: 1821; y: 396), + (x: 1716; y: 768), + (x: 1926; y: 1437) + ); + Template14FPoints: array[0..0] of TPoint = + ( + (x: 1023; y: 0) + ); + +const EdgeTemplates: array[0..14] of TEdgeTemplate = ( (BasePoints: @Template0Points; BasePointsCount: Succ(High(Template0Points)); @@ -609,10 +640,20 @@ BasePointsCount: Succ(High(Template13Points)); BezPassCnt: 5; PassMin: 15; PassDelta: 3; + WaveAmplMin: 18; WaveAmplDelta: 15; + WaveFreqMin: 0.0028; WaveFreqDelta: 0.002; + FillPoints: @Template13FPoints; + FillPointsCount: Succ(High(Template13FPoints)); + canMirror: true; canFlip: false; + ), + (BasePoints: @Template14Points; + BasePointsCount: Succ(High(Template14Points)); + BezPassCnt: 4; + PassMin: 14; PassDelta: 3; WaveAmplMin: 20; WaveAmplDelta: 15; WaveFreqMin: 0.003; WaveFreqDelta: 0.002; - FillPoints: @Template13FPoints; - FillPointsCount: Succ(High(Template13FPoints)); + FillPoints: @Template14FPoints; + FillPointsCount: Succ(High(Template14FPoints)); canMirror: true; canFlip: false; ) );