# HG changeset patch # User nemo # Date 1316141627 14400 # Node ID 09bbc7b887147de48155744e110feca3aa90c1bd # Parent 2a9353b800cda951e27d4e44edc3eab48f3704f7 2 extra steps was still occasionally causing problems w/ edge cases. hopefully 3 should do the trick diff -r 2a9353b800cd -r 09bbc7b88714 hedgewars/GSHandlers.inc --- a/hedgewars/GSHandlers.inc Thu Sep 15 22:33:55 2011 -0400 +++ b/hedgewars/GSHandlers.inc Thu Sep 15 22:53:47 2011 -0400 @@ -1115,9 +1115,9 @@ procedure doStepDEagleShot(Gear: PGear); begin PlaySound(sndGun); - // add 2 initial steps to avoid problem with ammoshove related to calculation of radius + 1 radius as gear widths - Gear^.X := Gear^.X + Gear^.dX * 2; - Gear^.Y := Gear^.Y + Gear^.dY * 2; + // add 3 initial steps to avoid problem with ammoshove related to calculation of radius + 1 radius as gear widths, and also just plain old weird angles + Gear^.X := Gear^.X + Gear^.dX * 3; + Gear^.Y := Gear^.Y + Gear^.dY * 3; Gear^.doStep := @doStepBulletWork end; @@ -1151,9 +1151,9 @@ Gear^.dX := SignAs(AngleSin(HHGear^.Angle), HHGear^.dX) * _0_5; Gear^.dY := -AngleCos(HHGear^.Angle) * _0_5; PlaySound(sndGun); - // add an initial step to avoid problem with ammoshove related to calculation of radius + 1 radius as gear widths - Gear^.X := Gear^.X + Gear^.dX; - Gear^.Y := Gear^.Y + Gear^.dY; + // add 3 initial steps to avoid problem with ammoshove related to calculation of radius + 1 radius as gear widths, and also just weird angles + Gear^.X := Gear^.X + Gear^.dX * 3; + Gear^.Y := Gear^.Y + Gear^.dY * 3; Gear^.doStep := @doStepBulletWork; end else