Flakes were updating the wrong coordinates when rqBlurryLand was on
authorPalewolf
Sat, 01 Jan 2011 14:26:50 +0100
changeset 4803 eddea6bca770
parent 4802 4c1041eef577
child 4804 af59f3dfc53a
Flakes were updating the wrong coordinates when rqBlurryLand was on
hedgewars/GSHandlers.inc
--- a/hedgewars/GSHandlers.inc	Sat Jan 01 14:23:39 2011 +0100
+++ b/hedgewars/GSHandlers.inc	Sat Jan 01 14:26:50 2011 +0100
@@ -600,7 +600,7 @@
     // move back to cloud layer
         if yy > cWaterLine then move:= true
         else if ((yy and LAND_HEIGHT_MASK) <> 0) or ((xx and LAND_WIDTH_MASK) <> 0) then move:=true
-        // Hog encountered
+        // Hog/Object encountered
         else if ((Land[yy, xx] and $FF) <> 0) then move:=true
         // Solid pixel encountered
         else if (Land[yy, xx] > 255) then
@@ -648,15 +648,14 @@
                         for px:= 0 to Pred(s^.w) do
                             if ((((yy + py) and LAND_HEIGHT_MASK) = 0) and (((xx + px) and LAND_WIDTH_MASK) = 0)) and ((Land[yy + py, xx + px] and $FF) = 0) then
                                 begin
+                                Land[yy + py, xx + px]:= Land[yy + py, xx + px] or lfObject;
                                 if (cReducedQuality and rqBlurryLand) = 0 then
                                     begin
                                     LandPixels[yy + py, xx + px]:= addBgColor(LandPixels[yy + py, xx + px], p^[px]);
-                                    Land[yy + py, xx + px]:= Land[yy + py, xx + px] or lfObject;
                                     end
                                 else
                                     begin
                                     LandPixels[(yy + py) div 2, (xx + px) div 2]:= addBgColor(LandPixels[(yy + py) div 2, (xx + px) div 2], p^[px]);
-                                    Land[(yy + py) div 2, (xx + px) div 2]:= Land[(yy + py) div 2, (xx + px) div 2] or lfObject;
                                     end;
                                 end
                             else allpx:= false;