hedgewars/uLandGenTemplateBased.pas
changeset 10477 b219c5a2317f
parent 10472 8d04cebedb16
child 10478 12662c21e0e9
equal deleted inserted replaced
10476:e40021c61cfe 10477:b219c5a2317f
     4 uses uLandTemplates, uLandOutline;
     4 uses uLandTemplates, uLandOutline;
     5 
     5 
     6 procedure GenTemplated(var Template: TEdgeTemplate);
     6 procedure GenTemplated(var Template: TEdgeTemplate);
     7 procedure DivideEdges(fillPointsCount: LongWord; var pa: TPixAr);
     7 procedure DivideEdges(fillPointsCount: LongWord; var pa: TPixAr);
     8 
     8 
       
     9 var minDistance: LongInt; // different details size
       
    10 
     9 implementation
    11 implementation
    10 uses uVariables, uConsts, uFloat, uLandUtils, uRandom, SDLh, math;
    12 uses uVariables, uConsts, uFloat, uLandUtils, uRandom, SDLh, math;
    11 
    13 
    12 var minDistance: LongInt; // different details size
       
    13 
    14 
    14 procedure SetPoints(var Template: TEdgeTemplate; var pa: TPixAr; fps: PPointArray);
    15 procedure SetPoints(var Template: TEdgeTemplate; var pa: TPixAr; fps: PPointArray);
    15 var i: LongInt;
    16 var i: LongInt;
    16 begin
    17 begin
    17     with Template do
    18     with Template do
   335     ResizeLand(Template.TemplateWidth, Template.TemplateHeight);
   336     ResizeLand(Template.TemplateWidth, Template.TemplateHeight);
   336     for y:= 0 to LAND_HEIGHT - 1 do
   337     for y:= 0 to LAND_HEIGHT - 1 do
   337         for x:= 0 to LAND_WIDTH - 1 do
   338         for x:= 0 to LAND_WIDTH - 1 do
   338             Land[y, x]:= lfBasic;
   339             Land[y, x]:= lfBasic;
   339     
   340     
   340     minDistance:= max(cFeatureSize,12);
   341     minDistance:= max(cFeatureSize*5,12);
   341     MaxHedgehogs:= Template.MaxHedgehogs;
   342     MaxHedgehogs:= Template.MaxHedgehogs;
   342     hasGirders:= Template.hasGirders;
   343     hasGirders:= Template.hasGirders;
   343     playHeight:= Template.TemplateHeight;
   344     playHeight:= Template.TemplateHeight;
   344     playWidth:= Template.TemplateWidth;
   345     playWidth:= Template.TemplateWidth;
   345     leftX:= (LAND_WIDTH - playWidth) div 2;
   346     leftX:= (LAND_WIDTH - playWidth) div 2;