# HG changeset patch # User unc0rr # Date 1309371878 -14400 # Node ID d47b8833284ce7daf8839def4621e99a8e093794 # Parent e2201f71beac7606abd59982312a292854a30a11# Parent 3c5480e91951efd72e7840f7ae80d59a76ad3373 merge diff -r e2201f71beac -r d47b8833284c hedgewars/GSHandlers.inc --- a/hedgewars/GSHandlers.inc Wed Jun 29 00:05:26 2011 -0400 +++ b/hedgewars/GSHandlers.inc Wed Jun 29 22:24:38 2011 +0400 @@ -627,7 +627,7 @@ if yy > cWaterLine then move:= true else if ((yy and LAND_HEIGHT_MASK) <> 0) or (xx > LAND_WIDTH + 512) or (xx < -512) then move:=true // Solid pixel encountered - else if (Land[yy, xx] <> 0) then + else if ((xx and LAND_WIDTH_MASK) = 0) and (Land[yy, xx] <> 0) then begin // If there's room below keep falling if (((yy-1) and LAND_HEIGHT_MASK) = 0) and (Land[yy-1, xx] = 0) then diff -r e2201f71beac -r d47b8833284c hedgewars/uAmmos.pas --- a/hedgewars/uAmmos.pas Wed Jun 29 00:05:26 2011 -0400 +++ b/hedgewars/uAmmos.pas Wed Jun 29 22:24:38 2011 +0400 @@ -123,13 +123,13 @@ if ((GameFlags and gfPlaceHog) <> 0) and (a <> amTeleport) and (a <> amSkip) and (Ammoz[a].SkipTurns < 10000) then inc(Ammoz[a].SkipTurns,10000); - if ((GameFlags and gfPlaceHog) <> 0) and (a = amTeleport) then ammos[a]:= AMMO_INFINITE + if ((GameFlags and gfPlaceHog) <> 0) and (a = amTeleport) then ammos[a]:= AMMO_INFINITE end else ammos[a]:= AMMO_INFINITE; if ((GameFlags and gfPlaceHog) <> 0) and (a = amTeleport) then - InitialCounts[Pred(StoreCnt)][a]:= cnt + InitialCounts[Pred(StoreCnt)][a]:= cnt else - InitialCounts[Pred(StoreCnt)][a]:= ammos[a]; + InitialCounts[Pred(StoreCnt)][a]:= ammos[a]; end; FillAmmoStore(StoresList[Pred(StoreCnt)], ammos) end; @@ -208,15 +208,12 @@ FillAmmoStore(hhammo, ammos); CurWeapon:= GetAmmoEntry(Hedgehog); -with Hedgehog do - begin - with CurWeapon^ do +with Hedgehog, CurWeapon^ do if Count = 0 then begin PackAmmo(Ammo, Ammoz[AmmoType].Slot); CurAmmoType:= amNothing end - end end; procedure PackAmmo(Ammo: PHHAmmo; Slot: LongInt);