hedgewars/uLandTemplates.pas
changeset 27 c374fe590272
parent 25 27aa8030322b
child 30 794e98e11b66
equal deleted inserted replaced
26:e32fa14529f8 27:c374fe590272
    12                      PassMin, PassDelta: Longword;
    12                      PassMin, PassDelta: Longword;
    13                      WaveAmplMin, WaveAmplDelta: real;
    13                      WaveAmplMin, WaveAmplDelta: real;
    14                      WaveFreqMin, WaveFreqDelta: real;
    14                      WaveFreqMin, WaveFreqDelta: real;
    15                      FillPoints: PPointArray;
    15                      FillPoints: PPointArray;
    16                      FillPointsCount: Longword;
    16                      FillPointsCount: Longword;
       
    17                      canMirror, canFlip: boolean;
    17                      end;
    18                      end;
    18 
    19 
    19 const Template0Points: array[0..4] of TPoint =
    20 const Template0Points: array[0..4] of TPoint =
    20       (
    21       (
    21        (x:  500; y: 1500),
    22        (x:  500; y: 1500),
    32 const Template1Points: array[0..6] of TPoint =
    33 const Template1Points: array[0..6] of TPoint =
    33       (
    34       (
    34        (x:  300; y: 1500),
    35        (x:  300; y: 1500),
    35        (x:  300; y: 1000),
    36        (x:  300; y: 1000),
    36        (x:  250; y:  750),
    37        (x:  250; y:  750),
    37        (x: 1023; y:  600),
    38        (x: 1200; y:  500),
    38        (x: 1800; y:  750),
    39        (x: 1800; y:  750),
    39        (x: 1750; y: 1000),
    40        (x: 1750; y: 1000),
    40        (x: 1750; y: 1500)
    41        (x: 1750; y: 1500)
    41       );
    42       );
    42       Template1FPoints: array[0..0] of TPoint =
    43       Template1FPoints: array[0..0] of TPoint =
    43       (
    44       (
    44        (x: 1023; y: 1023)
    45        (x: 1023; y: 1023)
    45       );
    46       );
    46 
    47 
    47 const Template2Points: array[0..18] of TPoint =
    48 const Template2Points: array[0..21] of TPoint =
    48       (
    49       (
    49        (x:  350; y: 1500),
    50        (x:  350; y: 1500),
    50        (x:  350; y: 1000),
    51        (x:  350; y: 1000),
    51        (x:  190; y:  650),
    52        (x:  190; y:  850),
       
    53        (x:  500; y:  750),
       
    54        (x:  520; y:  450),
       
    55        (x:  190; y:  600),
    52        (x:  210; y:  260),
    56        (x:  210; y:  260),
    53        (x: 1650; y:  220),
    57        (x: 1650; y:  220),
    54        (x: 1650; y:  460),
    58        (x: 1650; y:  460),
    55        (x:  900; y:  410),
    59        (x:  900; y:  410),
    56        (x:  650; y:  400),
    60        (x:  650; y:  400),
    70       (
    74       (
    71        (x:  600; y: 1023),
    75        (x:  600; y: 1023),
    72        (x: 1500; y: 1023)
    76        (x: 1500; y: 1023)
    73       );
    77       );
    74 
    78 
    75 const EdgeTemplates: array[0..2] of TEdgeTemplate =
    79 const Template3Points: array[0..23] of TPoint =
       
    80       (
       
    81        (x:  200; y: 1500),
       
    82        (x:  200; y: 1000),
       
    83        (x:  390; y:  650),
       
    84        (x:  210; y:  260),
       
    85        (x: 1000; y:  420),
       
    86        (x: 1100; y:  200),
       
    87        (x: 1250; y:  420),
       
    88        (x: 1250; y:  620),
       
    89        (x:  900; y:  610),
       
    90        (x:  650; y:  450),
       
    91        (x:  550; y:  500),
       
    92        (x:  650; y:  700),
       
    93        (x: 1200; y:  800),
       
    94        (x: 1200; y: 1000),
       
    95        (x: 1200; y: 1200),
       
    96        (x: 1400; y: 1200),
       
    97        (x: 1400; y: 1000),
       
    98        (x: 1280; y:  750),
       
    99        (x: 1500; y:  600),
       
   100        (x: 1400; y:  200),
       
   101        (x: 1800; y:  200),
       
   102        (x: 1700; y:  600),
       
   103        (x: 1900; y: 1010),
       
   104        (x: 1800; y: 1200)
       
   105       );
       
   106       Template3FPoints: array[0..1] of TPoint =
       
   107       (
       
   108        (x:  500; y: 1023),
       
   109        (x: 1500; y: 1023)
       
   110       );
       
   111 
       
   112 const Template4Points: array[0..38] of TPoint =
       
   113       (
       
   114        (x:  200; y: 1500),
       
   115        (x:  200; y: 1000),
       
   116        (x:  210; y:  800),
       
   117        (x:  480; y:  830),
       
   118        (x:  460; y:  700),
       
   119        (x:  150; y:  610),
       
   120        (x:  150; y:  310),
       
   121        (x:  220; y:  200),
       
   122        (x:  340; y:  195),
       
   123        (x:  410; y:  415),
       
   124        (x:  420; y:  495),
       
   125        (x:  535; y:  615),
       
   126        (x:  705; y:  600),
       
   127        (x:  760; y:  425),
       
   128        (x:  815; y:  230),
       
   129        (x:  970; y:  200),
       
   130        (x: 1050; y:  360),
       
   131        (x:  850; y:  590),
       
   132        (x: 1070; y:  790),
       
   133        (x: 1000; y: 1000),
       
   134        (x: 1000; y: 1500),
       
   135        (x: 1250; y: 1500),
       
   136        (x: 1250; y: 1000),
       
   137        (x: 1260; y:  830),
       
   138        (x: 1290; y:  700),
       
   139        (x: 1270; y:  450),
       
   140        (x: 1180; y:  280),
       
   141        (x: 1210; y:  160),
       
   142        (x: 1370; y:  160),
       
   143        (x: 1505; y:  205),
       
   144        (x: 1630; y:  315),
       
   145        (x: 1660; y:  450),
       
   146        (x: 1580; y:  620),
       
   147        (x: 1670; y:  725),
       
   148        (x: 1800; y:  730),
       
   149        (x: 1860; y:  680),
       
   150        (x: 1925; y:  810),
       
   151        (x: 1800; y: 1000),
       
   152        (x: 1800; y: 1500)
       
   153       );
       
   154       Template4FPoints: array[0..1] of TPoint =
       
   155       (
       
   156        (x:  500; y: 1023),
       
   157        (x: 1500; y: 1023)
       
   158       );
       
   159 
       
   160 const EdgeTemplates: array[0..4] of TEdgeTemplate =
    76       (
   161       (
    77        (BasePoints: @Template0Points;
   162        (BasePoints: @Template0Points;
    78         BasePointsCount: Succ(High(Template0Points));
   163         BasePointsCount: Succ(High(Template0Points));
    79         BezPassCnt: 4;
   164         BezPassCnt: 4;
    80         PassMin: 4; PassDelta: 1;
   165         PassMin: 10; PassDelta: 5;
    81         WaveAmplMin:    27; WaveAmplDelta: 22;
   166         WaveAmplMin:    17; WaveAmplDelta: 20;
    82         WaveFreqMin: 0.010; WaveFreqDelta: 0.015;
   167         WaveFreqMin: 0.010; WaveFreqDelta: 0.002;
    83         FillPoints: @Template0FPoints;
   168         FillPoints: @Template0FPoints;
    84         FillPointsCount: Succ(High(Template0FPoints));
   169         FillPointsCount: Succ(High(Template0FPoints));
       
   170         canMirror: false; canFlip: false;
    85        ),
   171        ),
    86        (BasePoints: @Template1Points;
   172        (BasePoints: @Template1Points;
    87         BasePointsCount: Succ(High(Template1Points));
   173         BasePointsCount: Succ(High(Template1Points));
    88         BezPassCnt: 4;
   174         BezPassCnt: 4;
    89         PassMin: 5; PassDelta: 2;
   175         PassMin: 10; PassDelta: 2;
    90         WaveAmplMin:    20; WaveAmplDelta: 10;
   176         WaveAmplMin:    25; WaveAmplDelta: 15;
    91         WaveFreqMin: 0.015; WaveFreqDelta: 0.020;
   177         WaveFreqMin: 0.008; WaveFreqDelta: 0.002;
    92         FillPoints: @Template1FPoints;
   178         FillPoints: @Template1FPoints;
    93         FillPointsCount: Succ(High(Template1FPoints));
   179         FillPointsCount: Succ(High(Template1FPoints));
       
   180         canMirror: false; canFlip: false;
    94        ),
   181        ),
    95        (BasePoints: @Template2Points;
   182        (BasePoints: @Template2Points;
    96         BasePointsCount: Succ(High(Template2Points));
   183         BasePointsCount: Succ(High(Template2Points));
    97         BezPassCnt: 3;
   184         BezPassCnt: 3;
    98         PassMin: 3; PassDelta: 2;
   185         PassMin: 14; PassDelta: 3;
    99         WaveAmplMin:    30; WaveAmplDelta: 15;
   186         WaveAmplMin:    10; WaveAmplDelta: 10;
   100         WaveFreqMin: 0.010; WaveFreqDelta: 0.015;
   187         WaveFreqMin: 0.010; WaveFreqDelta: 0.002;
   101         FillPoints: @Template2FPoints;
   188         FillPoints: @Template2FPoints;
   102         FillPointsCount: Succ(High(Template2FPoints));
   189         FillPointsCount: Succ(High(Template2FPoints));
       
   190         canMirror: true; canFlip: false;
       
   191        ),
       
   192        (BasePoints: @Template3Points;
       
   193         BasePointsCount: Succ(High(Template3Points));
       
   194         BezPassCnt: 4;
       
   195         PassMin: 15; PassDelta: 2;
       
   196         WaveAmplMin:    8; WaveAmplDelta: 12;
       
   197         WaveFreqMin: 0.015; WaveFreqDelta: 0.0015;
       
   198         FillPoints: @Template3FPoints;
       
   199         FillPointsCount: Succ(High(Template3FPoints));
       
   200         canMirror: true; canFlip: false;
       
   201        ),
       
   202        (BasePoints: @Template4Points;
       
   203         BasePointsCount: Succ(High(Template4Points));
       
   204         BezPassCnt: 3;
       
   205         PassMin: 19; PassDelta: 5;
       
   206         WaveAmplMin:    12; WaveAmplDelta: 14;
       
   207         WaveFreqMin: 0.008; WaveFreqDelta: 0.001;
       
   208         FillPoints: @Template4FPoints;
       
   209         FillPointsCount: Succ(High(Template4FPoints));
       
   210         canMirror: true; canFlip: false;
   103        )
   211        )
   104       );
   212       );
   105 
   213 
   106 implementation
   214 implementation
   107 
   215