diff -r 26706bf32ecf -r 536f5f3260f1 hedgewars/uLandTemplates.pas --- a/hedgewars/uLandTemplates.pas Sat Aug 04 20:47:13 2012 -0400 +++ b/hedgewars/uLandTemplates.pas Sat Aug 04 21:08:46 2012 -0400 @@ -1571,9 +1571,191 @@ ( (X: 512; Y: 0) ); +// Many islands +const Template43Points: array[0..173] of TSDL_Rect = + ( + (x: 95; y: 500; w: 1; h: 1), + (x: 100; y: 275; w: 25; h: 100), + (x: 325; y: 275; w: 25; h: 100), + (x: 330; y: 500; w: 1; h: 1), + (x: NTPX; y: 0; w: 1; h: 1), + (x: 725; y: 125; w: 1; h: 1), + (x: 725; y: 25; w: 5; h: 25), + (x: 825; y: 35; w: 5; h: 10), + (x: 825; y: 135; w: 1; h: 1), + (x: NTPX; y: 0; w: 1; h: 1), + (x: 1150; y: 550; w: 25; h: 50), + (x: 1250; y: 300; w: 25; h: 50), + (x: 1350; y: 300; w: 25; h: 50), + (x: 1400; y: 575; w: 25; h: 50), + (x: NTPX; y: 0; w: 1; h: 1), + (x: 525; y:1050; w: 50; h: 50), + (x: 700; y: 800; w: 100; h: 150), + (x: 950; y: 900; w: 100; h: 150), + (x: 1100; y:1100; w: 50; h: 50), + (x: NTPX; y: 0; w: 1; h: 1), + (x: 175; y:1500; w: 1; h: 1), + (x: 210; y:1400; w: 5; h: 25), + (x: 240; y:1400; w: 5; h: 25), + (x: 275; y:1510; w: 1; h: 1), + (x: NTPX; y: 0; w: 1; h: 1), + (x: 450; y:1800; w: 100; h: 100), + (x: 600; y:1750; w: 100; h: 100), + (x: 750; y:1750; w: 100; h: 100), + (x: 950; y:1850; w: 100; h: 100), + (x: NTPX; y: 0; w: 1; h: 1), + (x: 1075; y:1450; w: 1; h: 1), + (x: 1110; y:1300; w: 5; h: 25), + (x: 1140; y:1300; w: 5; h: 25), + (x: 1175; y:1430; w: 1; h: 1), + (x: NTPX; y: 0; w: 1; h: 1), + (x: 1600; y:1250; w: 25; h: 100), + (x: 1700; y:1150; w: 25; h: 100), + (x: 1850; y: 500; w: 50; h: 100), + (x: 1950; y: 550; w: 50; h: 150), + (x: 2250; y:1150; w: 25; h: 100), + (x: 2350; y:1250; w: 25; h: 100), + (x: NTPX; y: 0; w: 1; h: 1), + (x: 1750; y:2010; w: 1; h: 1), + (x: 1900; y:1870; w: 50; h: 50), + (x: 2050; y:1870; w: 50; h: 50), + (x: 2175; y:2010; w: 1; h: 1), + (x: NTPX; y: 0; w: 1; h: 1), + (x: 2500; y:1700; w: 1; h: 1), + (x: 2575; y:1500; w: 10; h: 50), + (x: 2650; y:1500; w: 10; h: 50), + (x: 2700; y:1690; w: 1; h: 1), + (x: NTPX; y: 0; w: 1; h: 1), + (x: 2000; y: 125; w: 1; h: 1), + (x: 2050; y: 50; w: 25; h: 25), + (x: 2100; y: 50; w: 25; h: 25), + (x: 2150; y: 150; w: 1; h: 1), + (x: NTPX; y: 0; w: 1; h: 1), + (x: 2600; y: 250; w: 25; h: 100), + (x: 2750; y: 400; w: 50; h: 50), + (x: 2900; y: 525; w: 50; h: 50), + (x: 3150; y: 550; w: 50; h: 100), + (x: NTPX; y: 0; w: 1; h: 1), + (x: 2800; y:1150; w: 1; h: 1), + (x: 2840; y: 950; w: 25; h: 25), + (x: 2880; y: 950; w: 25; h: 25), + (x: 2900; y:1150; w: 1; h: 1), + (x: NTPX; y: 0; w: 1; h: 1), + (x: 3075; y:1985; w: 1; h: 1), + (x: 3325; y:1700; w: 50; h: 100), + (x: 3475; y:1700; w: 50; h: 100), + (x: 3625; y:1985; w: 1; h: 1), + (x: NTPX; y: 0; w: 1; h: 1), + (x: 3200; y:1450; w: 1; h: 1), + (x: 3240; y:1350; w: 25; h: 25), + (x: 3280; y:1350; w: 25; h: 25), + (x: 3300; y:1450; w: 1; h: 1), + (x: NTPX; y: 0; w: 1; h: 1), + (x: 3500; y:1050; w: 25; h: 50), + (x: 3650; y: 600; w: 50; h: 100), + (x: 3800; y: 600; w: 50; h: 100), + (x: 3900; y:1000; w: 25; h: 50), + (x: NTPX; y: 0; w: 1; h: 1), + (x: 3800; y: 200; w: 25; h: 50), + (x: 3875; y: 100; w: 50; h: 50), + (x: 3925; y: 50; w: 50; h: 25), + (x: 4050; y: 125; w: 25; h: 50), + (x: NTPX; y: 0; w: 1; h: 1), + (x: 95; y:2548; w: 1; h: 1), + (x: 100; y:2323; w: 25; h: 100), + (x: 325; y:2323; w: 25; h: 100), + (x: 330; y:2548; w: 1; h: 1), + (x: NTPX; y:2048; w: 1; h: 1), + (x: 725; y:2173; w: 1; h: 1), + (x: 725; y:2073; w: 5; h: 25), + (x: 825; y:2083; w: 5; h: 10), + (x: 825; y:2183; w: 1; h: 1), + (x: NTPX; y:2048; w: 1; h: 1), + (x: 1150; y:2598; w: 25; h: 50), + (x: 1250; y:2348; w: 25; h: 50), + (x: 1350; y:2348; w: 25; h: 50), + (x: 1400; y:2623; w: 25; h: 50), + (x: NTPX; y:2048; w: 1; h: 1), + (x: 525; y:3098; w: 50; h: 50), + (x: 700; y:2848; w: 100; h: 150), + (x: 950; y:2948; w: 100; h: 150), + (x: 1100; y:3148; w: 50; h: 50), + (x: NTPX; y:2048; w: 1; h: 1), + (x: 175; y:3548; w: 1; h: 1), + (x: 210; y:3448; w: 5; h: 25), + (x: 240; y:3448; w: 5; h: 25), + (x: 275; y:3558; w: 1; h: 1), + (x: NTPX; y:2048; w: 1; h: 1), + (x: 450; y:3848; w: 100; h: 100), + (x: 600; y:3798; w: 100; h: 100), + (x: 750; y:3798; w: 100; h: 100), + (x: 950; y:3898; w: 100; h: 100), + (x: NTPX; y:2048; w: 1; h: 1), + (x: 1075; y:3498; w: 1; h: 1), + (x: 1110; y:3348; w: 5; h: 25), + (x: 1140; y:3348; w: 5; h: 25), + (x: 1175; y:3478; w: 1; h: 1), + (x: NTPX; y:2048; w: 1; h: 1), + (x: 1600; y:3298; w: 25; h: 100), + (x: 1700; y:3198; w: 25; h: 100), + (x: 1850; y:2548; w: 50; h: 100), + (x: 1950; y:2598; w: 50; h: 150), + (x: 2250; y:3198; w: 25; h: 100), + (x: 2350; y:3298; w: 25; h: 100), + (x: NTPX; y:2048; w: 1; h: 1), + (x: 1750; y:4058; w: 1; h: 1), + (x: 1900; y:3918; w: 50; h: 50), + (x: 2050; y:3918; w: 50; h: 50), + (x: 2175; y:4058; w: 1; h: 1), + (x: NTPX; y:2048; w: 1; h: 1), + (x: 2500; y:3748; w: 1; h: 1), + (x: 2575; y:3548; w: 10; h: 50), + (x: 2650; y:3548; w: 10; h: 50), + (x: 2700; y:3738; w: 1; h: 1), + (x: NTPX; y:2048; w: 1; h: 1), + (x: 2000; y:2173; w: 1; h: 1), + (x: 2050; y:2098; w: 25; h: 25), + (x: 2100; y:2098; w: 25; h: 25), + (x: 2150; y:2198; w: 1; h: 1), + (x: NTPX; y:2048; w: 1; h: 1), + (x: 2600; y:2298; w: 25; h: 100), + (x: 2750; y:2448; w: 50; h: 50), + (x: 2900; y:2573; w: 50; h: 50), + (x: 3150; y:2598; w: 50; h: 100), + (x: NTPX; y:2048; w: 1; h: 1), + (x: 2800; y:3198; w: 1; h: 1), + (x: 2840; y:2998; w: 25; h: 25), + (x: 2880; y:2998; w: 25; h: 25), + (x: 2900; y:3198; w: 1; h: 1), + (x: NTPX; y:2048; w: 1; h: 1), + (x: 3075; y:4033; w: 1; h: 1), + (x: 3325; y:3748; w: 50; h: 100), + (x: 3475; y:3748; w: 50; h: 100), + (x: 3625; y:4033; w: 1; h: 1), + (x: NTPX; y:2048; w: 1; h: 1), + (x: 3200; y:3498; w: 1; h: 1), + (x: 3240; y:3398; w: 25; h: 25), + (x: 3280; y:3398; w: 25; h: 25), + (x: 3300; y:3498; w: 1; h: 1), + (x: NTPX; y:2048; w: 1; h: 1), + (x: 3500; y:3098; w: 25; h: 50), + (x: 3650; y:2648; w: 50; h: 100), + (x: 3800; y:2648; w: 50; h: 100), + (x: 3900; y:3048; w: 25; h: 50), + (x: NTPX; y:2048; w: 1; h: 1), + (x: 3800; y:2248; w: 25; h: 50), + (x: 3875; y:2148; w: 50; h: 50), + (x: 3925; y:2098; w: 50; h: 25), + (x: 4050; y:2173; w: 25; h: 50), + (x: NTPX; y:2048; w: 1; h: 1) + ); + Template43FPoints: array[0..0] of TPoint = + ( + (X: 4095; Y: 0) + ); //////////////////////////////////////////////////////////////////////// -var EdgeTemplates: array[0..42] of TEdgeTemplate = +var EdgeTemplates: array[0..43] of TEdgeTemplate = ( (BasePoints: @Template0Points; BasePointsCount: Succ(High(Template0Points)); @@ -2047,19 +2229,30 @@ canMirror: true; canFlip: false; isNegative: false; canInvert: false; hasGirders: false; MaxHedgeHogs: 8; + ), + (BasePoints: @Template43Points; + BasePointsCount: Succ(High(Template43Points)); + FillPoints: @Template43FPoints; + FillPointsCount: Succ(High(Template43FPoints)); + BezierizeCount: 3; + RandPassesCount: 5; + TemplateHeight: 4096; TemplateWidth: 4096; + canMirror: true; canFlip: true; isNegative: false; canInvert: false; + hasGirders: true; + MaxHedgeHogs: 48; ) ); const SmallTemplates: array[0..2] of Longword = ( 39, 40, 42 ); const MediumTemplates: array[0..17] of Longword = ( 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17 ); -const LargeTemplates: array[0..19] of Longword = +const LargeTemplates: array[0..20] of Longword = ( 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, - 28, 29, 30, 31, 32, 33, 34, 35, 37, 38 + 28, 29, 30, 31, 32, 33, 34, 35, 37, 38, 43 ); const CavernTemplates: array[0..4] of Longword = (36, 2, 3, 21, 29); //const WackyTemplates: array[0..4] of Longword = (37, 38, 39, 40, 41); -const WackyTemplates: array[0..2] of Longword = (37, 38, 41); +const WackyTemplates: array[0..3] of Longword = (37, 38, 41, 43); implementation