# HG changeset patch # User smxx # Date 1275770991 0 # Node ID 66eba4e41b91468ba4a3940fb57631f84f475415 # Parent 1c74e277069c2956435f14555f88002e1ebb6301 Engine: * Avoid any offset applied if weapon's origin is set to (0, 0) diff -r 1c74e277069c -r 66eba4e41b91 hedgewars/uGears.pas --- a/hedgewars/uGears.pas Sat Jun 05 19:50:02 2010 +0000 +++ b/hedgewars/uGears.pas Sat Jun 05 20:49:51 2010 +0000 @@ -130,12 +130,18 @@ function GetLaunchX(at: TAmmoType; dir: LongInt; angle: LongInt): LongInt; begin - GetLaunchX:= sign(dir) * (8 + hwRound(AngleSin(angle) * Ammoz[at].ejectX) + hwRound(AngleCos(angle) * Ammoz[at].ejectY)) + if (Ammoz[at].ejectX <> 0) or (Ammoz[at].ejectY <> 0) then + GetLaunchX:= sign(dir) * (8 + hwRound(AngleSin(angle) * Ammoz[at].ejectX) + hwRound(AngleCos(angle) * Ammoz[at].ejectY)) + else + GetLaunchX:= 0 end; function GetLaunchY(at: TAmmoType; angle: LongInt): LongInt; begin - GetLaunchY:= hwRound(AngleSin(angle) * Ammoz[at].ejectY) - hwRound(AngleCos(angle) * Ammoz[at].ejectX) - 2; + if (Ammoz[at].ejectX <> 0) or (Ammoz[at].ejectY <> 0) then + GetLaunchY:= hwRound(AngleSin(angle) * Ammoz[at].ejectY) - hwRound(AngleCos(angle) * Ammoz[at].ejectX) - 2 + else + GetLaunchY:= 0 end; {$INCLUDE "GSHandlers.inc"}