hedgewars/uLandTemplates.pas
changeset 7480 536f5f3260f1
parent 7046 acc6b5159cde
child 7556 4617e8ec0507
child 7585 9158f06ffb44
equal deleted inserted replaced
7477:26706bf32ecf 7480:536f5f3260f1
  1569       );
  1569       );
  1570       Template42FPoints: array[0..0] of TPoint =
  1570       Template42FPoints: array[0..0] of TPoint =
  1571       (
  1571       (
  1572        (X: 512; Y:    0)
  1572        (X: 512; Y:    0)
  1573       );
  1573       );
       
  1574 // Many islands
       
  1575 const Template43Points: array[0..173] of TSDL_Rect =
       
  1576       (
       
  1577        (x:   95; y: 500; w:   1; h:   1),
       
  1578        (x:  100; y: 275; w:  25; h: 100),
       
  1579        (x:  325; y: 275; w:  25; h: 100),
       
  1580        (x:  330; y: 500; w:   1; h:   1),
       
  1581        (x: NTPX; y:   0; w:   1; h:   1),
       
  1582        (x:  725; y: 125; w:   1; h:   1),
       
  1583        (x:  725; y:  25; w:   5; h:  25),
       
  1584        (x:  825; y:  35; w:   5; h:  10),
       
  1585        (x:  825; y: 135; w:   1; h:   1),
       
  1586        (x: NTPX; y:   0; w:   1; h:   1),
       
  1587        (x: 1150; y: 550; w:  25; h:  50),
       
  1588        (x: 1250; y: 300; w:  25; h:  50),
       
  1589        (x: 1350; y: 300; w:  25; h:  50),
       
  1590        (x: 1400; y: 575; w:  25; h:  50),
       
  1591        (x: NTPX; y:   0; w:   1; h:   1),
       
  1592        (x:  525; y:1050; w:  50; h:  50),
       
  1593        (x:  700; y: 800; w: 100; h: 150),
       
  1594        (x:  950; y: 900; w: 100; h: 150),
       
  1595        (x: 1100; y:1100; w:  50; h:  50),
       
  1596        (x: NTPX; y:   0; w:   1; h:   1),
       
  1597        (x:  175; y:1500; w:   1; h:   1),
       
  1598        (x:  210; y:1400; w:   5; h:  25),
       
  1599        (x:  240; y:1400; w:   5; h:  25),
       
  1600        (x:  275; y:1510; w:   1; h:   1),
       
  1601        (x: NTPX; y:   0; w:   1; h:   1),
       
  1602        (x:  450; y:1800; w: 100; h: 100),
       
  1603        (x:  600; y:1750; w: 100; h: 100),
       
  1604        (x:  750; y:1750; w: 100; h: 100),
       
  1605        (x:  950; y:1850; w: 100; h: 100),
       
  1606        (x: NTPX; y:   0; w:   1; h:   1),
       
  1607        (x: 1075; y:1450; w:   1; h:   1),
       
  1608        (x: 1110; y:1300; w:   5; h:  25),
       
  1609        (x: 1140; y:1300; w:   5; h:  25),
       
  1610        (x: 1175; y:1430; w:   1; h:   1),
       
  1611        (x: NTPX; y:   0; w:   1; h:   1),
       
  1612        (x: 1600; y:1250; w:  25; h: 100),
       
  1613        (x: 1700; y:1150; w:  25; h: 100),
       
  1614        (x: 1850; y: 500; w:  50; h: 100),
       
  1615        (x: 1950; y: 550; w:  50; h: 150),
       
  1616        (x: 2250; y:1150; w:  25; h: 100),
       
  1617        (x: 2350; y:1250; w:  25; h: 100),
       
  1618        (x: NTPX; y:   0; w:   1; h:   1),
       
  1619        (x: 1750; y:2010; w:   1; h:   1),
       
  1620        (x: 1900; y:1870; w:  50; h:  50),
       
  1621        (x: 2050; y:1870; w:  50; h:  50),
       
  1622        (x: 2175; y:2010; w:   1; h:   1),
       
  1623        (x: NTPX; y:   0; w:   1; h:   1),
       
  1624        (x: 2500; y:1700; w:   1; h:   1),
       
  1625        (x: 2575; y:1500; w:  10; h:  50),
       
  1626        (x: 2650; y:1500; w:  10; h:  50),
       
  1627        (x: 2700; y:1690; w:   1; h:   1),
       
  1628        (x: NTPX; y:   0; w:   1; h:   1),
       
  1629        (x: 2000; y: 125; w:   1; h:   1),
       
  1630        (x: 2050; y:  50; w:  25; h:  25),
       
  1631        (x: 2100; y:  50; w:  25; h:  25),
       
  1632        (x: 2150; y: 150; w:   1; h:   1),
       
  1633        (x: NTPX; y:   0; w:   1; h:   1),
       
  1634        (x: 2600; y: 250; w:  25; h: 100),
       
  1635        (x: 2750; y: 400; w:  50; h:  50),
       
  1636        (x: 2900; y: 525; w:  50; h:  50),
       
  1637        (x: 3150; y: 550; w:  50; h: 100),
       
  1638        (x: NTPX; y:   0; w:   1; h:   1),
       
  1639        (x: 2800; y:1150; w:   1; h:   1),
       
  1640        (x: 2840; y: 950; w:  25; h:  25),
       
  1641        (x: 2880; y: 950; w:  25; h:  25),
       
  1642        (x: 2900; y:1150; w:   1; h:   1),
       
  1643        (x: NTPX; y:   0; w:   1; h:   1),
       
  1644        (x: 3075; y:1985; w:   1; h:   1),
       
  1645        (x: 3325; y:1700; w:  50; h: 100),
       
  1646        (x: 3475; y:1700; w:  50; h: 100),
       
  1647        (x: 3625; y:1985; w:   1; h:   1),
       
  1648        (x: NTPX; y:   0; w:   1; h:   1),
       
  1649        (x: 3200; y:1450; w:   1; h:   1),
       
  1650        (x: 3240; y:1350; w:  25; h:  25),
       
  1651        (x: 3280; y:1350; w:  25; h:  25),
       
  1652        (x: 3300; y:1450; w:   1; h:   1),
       
  1653        (x: NTPX; y:   0; w:   1; h:   1),
       
  1654        (x: 3500; y:1050; w:  25; h:  50),
       
  1655        (x: 3650; y: 600; w:  50; h: 100),
       
  1656        (x: 3800; y: 600; w:  50; h: 100),
       
  1657        (x: 3900; y:1000; w:  25; h:  50),
       
  1658        (x: NTPX; y:   0; w:   1; h:   1),
       
  1659        (x: 3800; y: 200; w:  25; h:  50),
       
  1660        (x: 3875; y: 100; w:  50; h:  50),
       
  1661        (x: 3925; y:  50; w:  50; h:  25),
       
  1662        (x: 4050; y: 125; w:  25; h:  50),
       
  1663        (x: NTPX; y:   0; w:   1; h:   1),
       
  1664        (x:   95; y:2548; w:   1; h:   1),
       
  1665        (x:  100; y:2323; w:  25; h: 100),
       
  1666        (x:  325; y:2323; w:  25; h: 100),
       
  1667        (x:  330; y:2548; w:   1; h:   1),
       
  1668        (x: NTPX; y:2048; w:   1; h:   1),
       
  1669        (x:  725; y:2173; w:   1; h:   1),
       
  1670        (x:  725; y:2073; w:   5; h:  25),
       
  1671        (x:  825; y:2083; w:   5; h:  10),
       
  1672        (x:  825; y:2183; w:   1; h:   1),
       
  1673        (x: NTPX; y:2048; w:   1; h:   1),
       
  1674        (x: 1150; y:2598; w:  25; h:  50),
       
  1675        (x: 1250; y:2348; w:  25; h:  50),
       
  1676        (x: 1350; y:2348; w:  25; h:  50),
       
  1677        (x: 1400; y:2623; w:  25; h:  50),
       
  1678        (x: NTPX; y:2048; w:   1; h:   1),
       
  1679        (x:  525; y:3098; w:  50; h:  50),
       
  1680        (x:  700; y:2848; w: 100; h: 150),
       
  1681        (x:  950; y:2948; w: 100; h: 150),
       
  1682        (x: 1100; y:3148; w:  50; h:  50),
       
  1683        (x: NTPX; y:2048; w:   1; h:   1),
       
  1684        (x:  175; y:3548; w:   1; h:   1),
       
  1685        (x:  210; y:3448; w:   5; h:  25),
       
  1686        (x:  240; y:3448; w:   5; h:  25),
       
  1687        (x:  275; y:3558; w:   1; h:   1),
       
  1688        (x: NTPX; y:2048; w:   1; h:   1),
       
  1689        (x:  450; y:3848; w: 100; h: 100),
       
  1690        (x:  600; y:3798; w: 100; h: 100),
       
  1691        (x:  750; y:3798; w: 100; h: 100),
       
  1692        (x:  950; y:3898; w: 100; h: 100),
       
  1693        (x: NTPX; y:2048; w:   1; h:   1),
       
  1694        (x: 1075; y:3498; w:   1; h:   1),
       
  1695        (x: 1110; y:3348; w:   5; h:  25),
       
  1696        (x: 1140; y:3348; w:   5; h:  25),
       
  1697        (x: 1175; y:3478; w:   1; h:   1),
       
  1698        (x: NTPX; y:2048; w:   1; h:   1),
       
  1699        (x: 1600; y:3298; w:  25; h: 100),
       
  1700        (x: 1700; y:3198; w:  25; h: 100),
       
  1701        (x: 1850; y:2548; w:  50; h: 100),
       
  1702        (x: 1950; y:2598; w:  50; h: 150),
       
  1703        (x: 2250; y:3198; w:  25; h: 100),
       
  1704        (x: 2350; y:3298; w:  25; h: 100),
       
  1705        (x: NTPX; y:2048; w:   1; h:   1),
       
  1706        (x: 1750; y:4058; w:   1; h:   1),
       
  1707        (x: 1900; y:3918; w:  50; h:  50),
       
  1708        (x: 2050; y:3918; w:  50; h:  50),
       
  1709        (x: 2175; y:4058; w:   1; h:   1),
       
  1710        (x: NTPX; y:2048; w:   1; h:   1),
       
  1711        (x: 2500; y:3748; w:   1; h:   1),
       
  1712        (x: 2575; y:3548; w:  10; h:  50),
       
  1713        (x: 2650; y:3548; w:  10; h:  50),
       
  1714        (x: 2700; y:3738; w:   1; h:   1),
       
  1715        (x: NTPX; y:2048; w:   1; h:   1),
       
  1716        (x: 2000; y:2173; w:   1; h:   1),
       
  1717        (x: 2050; y:2098; w:  25; h:  25),
       
  1718        (x: 2100; y:2098; w:  25; h:  25),
       
  1719        (x: 2150; y:2198; w:   1; h:   1),
       
  1720        (x: NTPX; y:2048; w:   1; h:   1),
       
  1721        (x: 2600; y:2298; w:  25; h: 100),
       
  1722        (x: 2750; y:2448; w:  50; h:  50),
       
  1723        (x: 2900; y:2573; w:  50; h:  50),
       
  1724        (x: 3150; y:2598; w:  50; h: 100),
       
  1725        (x: NTPX; y:2048; w:   1; h:   1),
       
  1726        (x: 2800; y:3198; w:   1; h:   1),
       
  1727        (x: 2840; y:2998; w:  25; h:  25),
       
  1728        (x: 2880; y:2998; w:  25; h:  25),
       
  1729        (x: 2900; y:3198; w:   1; h:   1),
       
  1730        (x: NTPX; y:2048; w:   1; h:   1),
       
  1731        (x: 3075; y:4033; w:   1; h:   1),
       
  1732        (x: 3325; y:3748; w:  50; h: 100),
       
  1733        (x: 3475; y:3748; w:  50; h: 100),
       
  1734        (x: 3625; y:4033; w:   1; h:   1),
       
  1735        (x: NTPX; y:2048; w:   1; h:   1),
       
  1736        (x: 3200; y:3498; w:   1; h:   1),
       
  1737        (x: 3240; y:3398; w:  25; h:  25),
       
  1738        (x: 3280; y:3398; w:  25; h:  25),
       
  1739        (x: 3300; y:3498; w:   1; h:   1),
       
  1740        (x: NTPX; y:2048; w:   1; h:   1),
       
  1741        (x: 3500; y:3098; w:  25; h:  50),
       
  1742        (x: 3650; y:2648; w:  50; h: 100),
       
  1743        (x: 3800; y:2648; w:  50; h: 100),
       
  1744        (x: 3900; y:3048; w:  25; h:  50),
       
  1745        (x: NTPX; y:2048; w:   1; h:   1),
       
  1746        (x: 3800; y:2248; w:  25; h:  50),
       
  1747        (x: 3875; y:2148; w:  50; h:  50),
       
  1748        (x: 3925; y:2098; w:  50; h:  25),
       
  1749        (x: 4050; y:2173; w:  25; h:  50),
       
  1750        (x: NTPX; y:2048; w:   1; h:   1)
       
  1751       );
       
  1752       Template43FPoints: array[0..0] of TPoint =
       
  1753       (
       
  1754        (X: 4095; Y:    0)
       
  1755       );
  1574 
  1756 
  1575 ////////////////////////////////////////////////////////////////////////
  1757 ////////////////////////////////////////////////////////////////////////
  1576 var EdgeTemplates: array[0..42] of TEdgeTemplate =
  1758 var EdgeTemplates: array[0..43] of TEdgeTemplate =
  1577       (
  1759       (
  1578        (BasePoints: @Template0Points;
  1760        (BasePoints: @Template0Points;
  1579         BasePointsCount: Succ(High(Template0Points));
  1761         BasePointsCount: Succ(High(Template0Points));
  1580         FillPoints: @Template0FPoints;
  1762         FillPoints: @Template0FPoints;
  1581         FillPointsCount: Succ(High(Template0FPoints));
  1763         FillPointsCount: Succ(High(Template0FPoints));
  2045         RandPassesCount: 3;
  2227         RandPassesCount: 3;
  2046         TemplateHeight: 512; TemplateWidth: 1536;
  2228         TemplateHeight: 512; TemplateWidth: 1536;
  2047         canMirror: true; canFlip: false; isNegative: false; canInvert: false;
  2229         canMirror: true; canFlip: false; isNegative: false; canInvert: false;
  2048         hasGirders: false;
  2230         hasGirders: false;
  2049         MaxHedgeHogs: 8;
  2231         MaxHedgeHogs: 8;
       
  2232        ),
       
  2233        (BasePoints: @Template43Points;
       
  2234         BasePointsCount: Succ(High(Template43Points));
       
  2235         FillPoints: @Template43FPoints;
       
  2236         FillPointsCount: Succ(High(Template43FPoints));
       
  2237         BezierizeCount: 3;
       
  2238         RandPassesCount: 5;
       
  2239         TemplateHeight: 4096; TemplateWidth: 4096;
       
  2240         canMirror: true; canFlip: true; isNegative: false; canInvert: false;
       
  2241         hasGirders: true;
       
  2242         MaxHedgeHogs: 48;
  2050        )
  2243        )
  2051       );
  2244       );
  2052 const SmallTemplates: array[0..2] of Longword = ( 39, 40, 42 );
  2245 const SmallTemplates: array[0..2] of Longword = ( 39, 40, 42 );
  2053 const MediumTemplates: array[0..17] of Longword =
  2246 const MediumTemplates: array[0..17] of Longword =
  2054       ( 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17 );
  2247       ( 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17 );
  2055 const LargeTemplates: array[0..19] of Longword =
  2248 const LargeTemplates: array[0..20] of Longword =
  2056       (
  2249       (
  2057         18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
  2250         18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
  2058         28, 29, 30, 31, 32, 33, 34, 35, 37, 38
  2251         28, 29, 30, 31, 32, 33, 34, 35, 37, 38, 43
  2059       );
  2252       );
  2060 const CavernTemplates: array[0..4] of Longword = (36, 2, 3, 21, 29);
  2253 const CavernTemplates: array[0..4] of Longword = (36, 2, 3, 21, 29);
  2061 //const WackyTemplates: array[0..4] of Longword = (37, 38, 39, 40, 41);
  2254 //const WackyTemplates: array[0..4] of Longword = (37, 38, 39, 40, 41);
  2062 const WackyTemplates: array[0..2] of Longword = (37, 38, 41);
  2255 const WackyTemplates: array[0..3] of Longword = (37, 38, 41, 43);
  2063 
  2256 
  2064 implementation
  2257 implementation
  2065 
  2258 
  2066 end.
  2259 end.