equal
deleted
inserted
replaced
608 Timer:= 0 |
608 Timer:= 0 |
609 end; |
609 end; |
610 // move back to cloud layer |
610 // move back to cloud layer |
611 if yy > cWaterLine then |
611 if yy > cWaterLine then |
612 move:= true |
612 move:= true |
613 else if ((yy and LAND_HEIGHT_MASK) <> 0) |
613 else if (xx > snowRight) or (xx < snowLeft) then |
614 or (xx > LAND_WIDTH + 512) or (xx < -512) then |
|
615 move:=true |
614 move:=true |
616 // Solid pixel encountered |
615 // Solid pixel encountered |
617 else if ((xx and LAND_WIDTH_MASK) = 0) and (Land[yy, xx] <> 0) then |
616 else if ((yy and LAND_HEIGHT_MASK) = 0) and ((xx and LAND_WIDTH_MASK) = 0) and (Land[yy, xx] <> 0) then |
618 begin |
617 begin |
619 lf:= Land[yy, xx] and (lfObject or lfBasic or lfIndestructible); |
618 lf:= Land[yy, xx] and (lfObject or lfBasic or lfIndestructible); |
620 // If there's room below keep falling |
619 // If there's room below keep falling |
621 if (((yy-1) and LAND_HEIGHT_MASK) = 0) and (Land[yy-1, xx] = 0) then |
620 if (((yy-1) and LAND_HEIGHT_MASK) = 0) and (Land[yy-1, xx] = 0) then |
622 begin |
621 begin |
722 begin |
721 begin |
723 DeleteGear(Gear); |
722 DeleteGear(Gear); |
724 exit |
723 exit |
725 end; |
724 end; |
726 Gear^.Pos:= 0; |
725 Gear^.Pos:= 0; |
727 Gear^.X:= int2hwFloat(GetRandom(LAND_WIDTH+1024)-512); |
726 Gear^.X:= int2hwFloat(GetRandom(snowRight-snowLeft)+snowLeft); |
728 Gear^.Y:= int2hwFloat(750+(GetRandom(50)-25)); |
727 Gear^.Y:= int2hwFloat(LAND_HEIGHT-1300+(GetRandom(50)-25)); |
729 Gear^.State:= Gear^.State or gstInvisible; |
728 Gear^.State:= Gear^.State or gstInvisible; |
730 end |
729 end |
731 end; |
730 end; |
732 |
731 |
733 //////////////////////////////////////////////////////////////////////////////// |
732 //////////////////////////////////////////////////////////////////////////////// |