hedgewars/uLand.pas
branchqmlfrontend
changeset 10515 7705784902e1
parent 10490 b30b8d39d662
child 10603 bda5c7caf396
equal deleted inserted replaced
10458:f7a199346c3e 10515:7705784902e1
   543             end
   543             end
   544         else
   544         else
   545             begin
   545             begin
   546             WriteLnToConsole('Generating land...');
   546             WriteLnToConsole('Generating land...');
   547             case cMapGen of
   547             case cMapGen of
   548                 0: GenTemplated(EdgeTemplates[SelectTemplate]);
   548                 mgRandom: GenTemplated(EdgeTemplates[SelectTemplate]);
   549                 1: begin ResizeLand(4096,2048); GenMaze; end;
   549                 mgMaze  : begin ResizeLand(4096,2048); GenMaze; end;
   550                 2: begin ResizeLand(4096,2048); GenPerlin; end;
   550                 mgPerlin: begin ResizeLand(4096,2048); GenPerlin; end;
   551                 3: GenDrawnMap;
   551                 mgDrawn : GenDrawnMap;
   552             else
   552             else
   553                 OutError('Unknown mapgen', true);
   553                 OutError('Unknown mapgen', true);
   554             end;
   554             end;
   555             GenLandSurface
   555             GenLandSurface
   556             end
   556             end
   657         for x:= leftX div 2 to rightX div 2 do
   657         for x:= leftX div 2 to rightX div 2 do
   658             for y:= topY div 2 to LAND_HEIGHT-1 div 2 do
   658             for y:= topY div 2 to LAND_HEIGHT-1 div 2 do
   659                 begin
   659                 begin
   660                 w:= LandPixels[y div 2,x div 2];
   660                 w:= LandPixels[y div 2,x div 2];
   661                 w:= ((w shr RShift and $FF) +  (w shr BShift and $FF) + (w shr GShift and $FF)) div 3;
   661                 w:= ((w shr RShift and $FF) +  (w shr BShift and $FF) + (w shr GShift and $FF)) div 3;
   662                 if w > 255 then
       
   663                     w:= 255;
       
   664                 w:= (w and $FF shl RShift) or (w and $FF shl BShift) or (w and $FF shl GShift) or (LandPixels[y div 2,x div 2] and AMask);
   662                 w:= (w and $FF shl RShift) or (w and $FF shl BShift) or (w and $FF shl GShift) or (LandPixels[y div 2,x div 2] and AMask);
   665                 LandPixels[y,x]:= w or (LandPixels[y div 2, x div 2] and AMask)
   663                 LandPixels[y,x]:= w or (LandPixels[y div 2, x div 2] and AMask)
   666                 end
   664                 end
   667     end;
   665     end;
   668 
   666