An experimental template to abuse this ability. A quick doubling of the "Islands" crazy template
authornemo
Sat, 04 Aug 2012 21:08:46 -0400
changeset 7480 536f5f3260f1
parent 7477 26706bf32ecf
child 7483 d479b98d38f7
An experimental template to abuse this ability. A quick doubling of the "Islands" crazy template
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