--- a/hedgewars/GSHandlers.inc Sat Aug 04 18:01:46 2012 -0400
+++ b/hedgewars/GSHandlers.inc Sat Aug 04 20:47:13 2012 -0400
@@ -610,11 +610,10 @@
// move back to cloud layer
if yy > cWaterLine then
move:= true
- else if ((yy and LAND_HEIGHT_MASK) <> 0)
- or (xx > LAND_WIDTH + 512) or (xx < -512) then
+ else if (xx > snowRight) or (xx < snowLeft) then
move:=true
// Solid pixel encountered
- else if ((xx and LAND_WIDTH_MASK) = 0) and (Land[yy, xx] <> 0) then
+ else if ((yy and LAND_HEIGHT_MASK) = 0) and ((xx and LAND_WIDTH_MASK) = 0) and (Land[yy, xx] <> 0) then
begin
lf:= Land[yy, xx] and (lfObject or lfBasic or lfIndestructible);
// If there's room below keep falling
@@ -724,8 +723,8 @@
exit
end;
Gear^.Pos:= 0;
- Gear^.X:= int2hwFloat(GetRandom(LAND_WIDTH+1024)-512);
- Gear^.Y:= int2hwFloat(750+(GetRandom(50)-25));
+ Gear^.X:= int2hwFloat(GetRandom(snowRight-snowLeft)+snowLeft);
+ Gear^.Y:= int2hwFloat(LAND_HEIGHT-1300+(GetRandom(50)-25));
Gear^.State:= Gear^.State or gstInvisible;
end
end;