diff -r e754b516cc35 -r 6015b74eea55 hedgewars/uLandGraphics.pas --- a/hedgewars/uLandGraphics.pas Fri Nov 23 21:22:26 2018 +0100 +++ b/hedgewars/uLandGraphics.pas Fri Nov 23 15:54:23 2018 -0500 @@ -422,7 +422,7 @@ if x <= leftX then iceR:= min(leftX + iceHeight, iceR) else {if x >= rightX then} - iceL:= max(LongInt(rightX) - iceHeight, iceL); + iceL:= max(rightX - iceHeight, iceL); end; // don't continue if all ice is outside land array @@ -754,7 +754,7 @@ (not outOfMap and (((cpY + y) <= Longint(topY)) or ((cpY + y) >= LAND_HEIGHT) or - ((cpX + x) <= Longint(leftX)) or ((cpX + x) >= Longint(rightX)) or + ((cpX + x) <= leftX) or ((cpX + x) >= rightX) or ((not force) and (Land[cpY + y, cpX + x] <> 0)))) then begin if SDL_MustLock(Image) then @@ -874,7 +874,7 @@ for x:= 0 to Pred(w) do if ((PLongword(@(p^[x * 4]))^) and AMask) <> 0 then if ((cpY + y) <= Longint(topY)) or ((cpY + y) >= LAND_HEIGHT) or - ((cpX + x) <= Longint(leftX)) or ((cpX + x) >= Longint(rightX)) then + ((cpX + x) <= leftX) or ((cpX + x) >= rightX) then begin if SDL_MustLock(Image) then SDL_UnlockSurface(Image); @@ -977,7 +977,7 @@ for x:= 0 to Pred(w) do if ((p^[x] and AMask) <> 0) and (((cpY + y) < Longint(topY)) or ((cpY + y) >= LAND_HEIGHT) or - ((cpX + x) < Longint(leftX)) or ((cpX + x) > Longint(rightX)) or (Land[cpY + y, cpX + x] <> 0)) then + ((cpX + x) < leftX) or ((cpX + x) > rightX) or (Land[cpY + y, cpX + x] <> 0)) then pt^[x]:= cWhiteColor else (pt^[x]):= cWhiteColor and (not AMask); @@ -1075,7 +1075,7 @@ // check location if (Y <= LongInt(topY) + 1) or (Y >= LAND_HEIGHT-2) -or (X <= LongInt(leftX) + 1) or (X >= LongInt(rightX) - 1) then +or (X <= leftX + 1) or (X >= rightX - 1) then exit; // counter for neighbor pixels that are not known to be undamaged @@ -1127,7 +1127,7 @@ begin // a bit of AA for explosions if (Land[Y, X] = 0) and (Y > LongInt(topY) + 1) and - (Y < LAND_HEIGHT-2) and (X > LongInt(leftX) + 1) and (X < LongInt(rightX) - 1) then + (Y < LAND_HEIGHT-2) and (X > leftX + 1) and (X < rightX - 1) then begin if ((((Land[y, x-1] and lfDamaged) <> 0) and (((Land[y+1,x] and lfDamaged) <> 0)) or ((Land[y-1,x] and lfDamaged) <> 0)) or (((Land[y, x+1] and lfDamaged) <> 0) and (((Land[y-1,x] and lfDamaged) <> 0) or ((Land[y+1,x] and lfDamaged) <> 0)))) then @@ -1185,7 +1185,7 @@ end else if ((cReducedQuality and rqBlurryLand) = 0) and ((LandPixels[Y, X] and AMask) = AMask) and (Land[Y, X] and (lfDamaged or lfBasic) = lfBasic) -and (Y > LongInt(topY) + 1) and (Y < LAND_HEIGHT-2) and (X > LongInt(leftX) + 1) and (X < LongInt(rightX) - 1) then +and (Y > LongInt(topY) + 1) and (Y < LAND_HEIGHT-2) and (X > leftX + 1) and (X < rightX - 1) then begin if ((((Land[y, x-1] and lfDamaged) <> 0) and (((Land[y+1,x] and lfDamaged) <> 0)) or ((Land[y-1,x] and lfDamaged) <> 0)) or (((Land[y, x+1] and lfDamaged) <> 0) and (((Land[y-1,x] and lfDamaged) <> 0) or ((Land[y+1,x] and lfDamaged) <> 0)))) then