equal
deleted
inserted
replaced
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 |