hedgewars/uLandGraphics.pas
changeset 9877 2f3355b29420
parent 9876 641c334eab46
child 9878 163944282710
equal deleted inserted replaced
9876:641c334eab46 9877:2f3355b29420
   178     px := 0;
   178     px := 0;
   179     py := 0;
   179     py := 0;
   180     FillLandCircleLineFT := 0;
   180     FillLandCircleLineFT := 0;
   181     case fill of
   181     case fill of
   182     backgroundPixel:
   182     backgroundPixel:
   183     for i:= fromPix to toPix do
   183         for i:= fromPix to toPix do
   184         begin
   184             begin
   185         calculatePixelsCoordinates(i, y, px, py);
   185             calculatePixelsCoordinates(i, y, px, py);
   186         inc(FillLandCircleLineFT, drawPixelBG(i, y, px, py));
   186             inc(FillLandCircleLineFT, drawPixelBG(i, y, px, py));
   187         end;
   187             end;
   188     ebcPixel:
   188     ebcPixel:
   189     for i:= fromPix to toPix do
   189         for i:= fromPix to toPix do
   190         begin
   190             begin
   191         calculatePixelsCoordinates(i, y, px, py);
   191             calculatePixelsCoordinates(i, y, px, py);
   192         drawPixelEBC(i, y, px, py);
   192             drawPixelEBC(i, y, px, py);
   193         end;
   193             end;
   194     nullPixel:
   194     nullPixel:
   195     for i:= fromPix to toPix do
   195         for i:= fromPix to toPix do
   196         begin
   196             begin
   197         calculatePixelsCoordinates(i, y, px, py);
   197             calculatePixelsCoordinates(i, y, px, py);
   198         if ((Land[y, i] and lfIndestructible) = 0) and (not disableLandBack or (Land[y, i] > 255))  then
   198             if ((Land[y, i] and lfIndestructible) = 0) and (not disableLandBack or (Land[y, i] > 255))  then
   199             LandPixels[py, px]:= 0
   199                 LandPixels[py, px]:= 0
   200         end;
   200             end;
   201     icePixel:
   201     icePixel:
   202     for i:= fromPix to toPix do
   202         for i:= fromPix to toPix do
   203         begin
   203             begin
   204         calculatePixelsCoordinates(i, y, px, py);
   204             calculatePixelsCoordinates(i, y, px, py);
   205         DrawPixelIce(i, y, px, py);
   205             DrawPixelIce(i, y, px, py);
   206         end;
   206             end;
   207     setNotCurrentMask:
   207     setNotCurrentMask:
   208     for i:= fromPix to toPix do
   208         for i:= fromPix to toPix do
   209         begin
   209             begin
   210         Land[y, i]:= Land[y, i] and lfNotCurrentMask;
   210             Land[y, i]:= Land[y, i] and lfNotCurrentMask;
   211         end;
   211             end;
   212     changePixelSetNotCurrent:
   212     changePixelSetNotCurrent:
   213     for i:= fromPix to toPix do
   213         for i:= fromPix to toPix do
   214         begin
   214             begin
   215         if Land[y, i] and lfObjMask > 0 then
   215             if Land[y, i] and lfObjMask > 0 then
   216             Land[y, i]:= (Land[y, i] and lfNotObjMask) or ((Land[y, i] and lfObjMask) - 1);
   216                 Land[y, i]:= (Land[y, i] and lfNotObjMask) or ((Land[y, i] and lfObjMask) - 1);
   217         end;
   217             end;
   218     setCurrentHog:
   218     setCurrentHog:
   219     for i:= fromPix to toPix do
   219         for i:= fromPix to toPix do
   220         begin
   220             begin
   221         Land[y, i]:= Land[y, i] or lfCurrentHog
   221             Land[y, i]:= Land[y, i] or lfCurrentHog
   222         end;
   222             end;
   223     changePixelNotSetNotCurrent:
   223     changePixelNotSetNotCurrent:
   224     for i:= fromPix to toPix do
   224         for i:= fromPix to toPix do
   225         begin
   225             begin
   226         if Land[y, i] and lfObjMask < lfObjMask then
   226             if Land[y, i] and lfObjMask < lfObjMask then
   227             Land[y, i]:= (Land[y, i] and lfNotObjMask) or ((Land[y, i] and lfObjMask) + 1)
   227                 Land[y, i]:= (Land[y, i] and lfNotObjMask) or ((Land[y, i] and lfObjMask) + 1)
   228         end;
   228             end;
   229     end;
   229     end;
   230 end;
   230 end;
   231 
   231 
   232 function FillLandCircleSegmentFT(x, y, dx, dy: LongInt; fill : fillType): Longword; inline;
   232 function FillLandCircleSegmentFT(x, y, dx, dy: LongInt; fill : fillType): Longword; inline;
   233 begin
   233 begin