hedgewars/uLandTemplates.pas
changeset 23 16322d14f068
child 24 79c411363184
equal deleted inserted replaced
22:517be8dc5b76 23:16322d14f068
       
     1 unit uLandTemplates;
       
     2 interface
       
     3 uses SDLh;
       
     4 {$INCLUDE options.inc}
       
     5 
       
     6 type PPointArray = ^TPointArray;
       
     7      TPointArray = array[0..0] of TPoint;
       
     8      TEdgeTemplate = record
       
     9                      BasePoints: PPointArray;
       
    10                      BasePointsCount: Longword;
       
    11                      BezPassCnt: Longword; 
       
    12                      PassMin, PassDelta: Longword;
       
    13                      WaveAmplMin, WaveAmplDelta: real;
       
    14                      WaveFreqMin, WaveFreqDelta: real;
       
    15                      FillPoints: PPointArray;
       
    16                      FillPointsCount: Longword;
       
    17                      end;
       
    18 
       
    19 const Template0Points: array[0..4] of TPoint =
       
    20       (
       
    21        (x:  500; y: 1500),
       
    22        (x:  350; y:  400),
       
    23        (x: 1023; y:  820),
       
    24        (x: 1700; y:  400),
       
    25        (x: 1550; y: 1500)
       
    26       );
       
    27       Template0FPoints: array[0..0] of TPoint =
       
    28       (
       
    29        (x: 1023; y: 1023)
       
    30       );
       
    31 
       
    32 const Template1Points: array[0..6] of TPoint =
       
    33       (
       
    34        (x:  300; y: 1500),
       
    35        (x:  300; y: 1000),
       
    36        (x:  250; y:  750),
       
    37        (x: 1023; y:  600),
       
    38        (x: 1800; y:  750),
       
    39        (x: 1750; y: 1000),
       
    40        (x: 1750; y: 1500)
       
    41       );
       
    42       Template1FPoints: array[0..0] of TPoint =
       
    43       (
       
    44        (x: 1023; y: 1023)
       
    45       );
       
    46 
       
    47 const Template2Points: array[0..18] of TPoint =
       
    48       (
       
    49        (x:  350; y: 1500),
       
    50        (x:  350; y: 1000),
       
    51        (x:  190; y:  650),
       
    52        (x:  210; y:  260),
       
    53        (x: 1650; y:  220),
       
    54        (x: 1650; y:  460),
       
    55        (x:  900; y:  410),
       
    56        (x:  650; y:  400),
       
    57        (x: 1200; y: 1000),
       
    58        (x: 1200; y: 1200),
       
    59        (x: 1400; y: 1200),
       
    60        (x: 1400; y: 1000),
       
    61        (x: 1280; y:  750),
       
    62        (x: 1150; y:  530),
       
    63        (x: 1700; y:  750),
       
    64        (x: 1800; y:  600),
       
    65        (x: 1900; y:  600),
       
    66        (x: 1700; y: 1010),
       
    67        (x: 1700; y: 1200)
       
    68       );
       
    69       Template2FPoints: array[0..1] of TPoint =
       
    70       (
       
    71        (x:  600; y: 1023),
       
    72        (x: 1500; y: 1023)
       
    73       );
       
    74 
       
    75 const EdgeTemplates: array[0..2] of TEdgeTemplate =
       
    76       (
       
    77        (BasePoints: @Template0Points;
       
    78         BasePointsCount: Succ(High(Template0Points));
       
    79         BezPassCnt: 4;
       
    80         PassMin: 5; PassDelta: 1;
       
    81         WaveAmplMin:    27; WaveAmplDelta: 22;
       
    82         WaveFreqMin: 0.010; WaveFreqDelta: 0.015;
       
    83         FillPoints: @Template0FPoints;
       
    84         FillPointsCount: Succ(High(Template0FPoints));
       
    85        ),
       
    86        (BasePoints: @Template1Points;
       
    87         BasePointsCount: Succ(High(Template1Points));
       
    88         BezPassCnt: 4;
       
    89         PassMin: 6; PassDelta: 2;
       
    90         WaveAmplMin:    20; WaveAmplDelta: 10;
       
    91         WaveFreqMin: 0.015; WaveFreqDelta: 0.020;
       
    92         FillPoints: @Template1FPoints;
       
    93         FillPointsCount: Succ(High(Template1FPoints));
       
    94        ),
       
    95        (BasePoints: @Template2Points;
       
    96         BasePointsCount: Succ(High(Template2Points));
       
    97         BezPassCnt: 2;
       
    98         PassMin: 4; PassDelta: 1;
       
    99         WaveAmplMin:    30; WaveAmplDelta: 15;
       
   100         WaveFreqMin: 0.010; WaveFreqDelta: 0.015;
       
   101         FillPoints: @Template2FPoints;
       
   102         FillPointsCount: Succ(High(Template2FPoints));
       
   103        )
       
   104       );
       
   105 
       
   106 implementation
       
   107 
       
   108 end.