hedgewars/uGears.pas
changeset 3499 66eba4e41b91
parent 3496 8fb007d36c09
child 3508 a7ca07614a2d
equal deleted inserted replaced
3498:1c74e277069c 3499:66eba4e41b91
   128 procedure HHSetWeapon(Gear: PGear); forward;
   128 procedure HHSetWeapon(Gear: PGear); forward;
   129 procedure doStepCase(Gear: PGear); forward;
   129 procedure doStepCase(Gear: PGear); forward;
   130 
   130 
   131 function GetLaunchX(at: TAmmoType; dir: LongInt; angle: LongInt): LongInt;
   131 function GetLaunchX(at: TAmmoType; dir: LongInt; angle: LongInt): LongInt;
   132 begin
   132 begin
   133     GetLaunchX:= sign(dir) * (8 + hwRound(AngleSin(angle) * Ammoz[at].ejectX) + hwRound(AngleCos(angle) * Ammoz[at].ejectY))
   133     if (Ammoz[at].ejectX <> 0) or (Ammoz[at].ejectY <> 0) then
       
   134         GetLaunchX:= sign(dir) * (8 + hwRound(AngleSin(angle) * Ammoz[at].ejectX) + hwRound(AngleCos(angle) * Ammoz[at].ejectY))
       
   135     else
       
   136         GetLaunchX:= 0
   134 end;
   137 end;
   135 
   138 
   136 function GetLaunchY(at: TAmmoType; angle: LongInt): LongInt;
   139 function GetLaunchY(at: TAmmoType; angle: LongInt): LongInt;
   137 begin
   140 begin
   138     GetLaunchY:= hwRound(AngleSin(angle) * Ammoz[at].ejectY) - hwRound(AngleCos(angle) * Ammoz[at].ejectX) - 2;
   141     if (Ammoz[at].ejectX <> 0) or (Ammoz[at].ejectY <> 0) then
       
   142         GetLaunchY:= hwRound(AngleSin(angle) * Ammoz[at].ejectY) - hwRound(AngleCos(angle) * Ammoz[at].ejectX) - 2
       
   143     else
       
   144         GetLaunchY:= 0
   139 end;
   145 end;
   140 
   146 
   141 {$INCLUDE "GSHandlers.inc"}
   147 {$INCLUDE "GSHandlers.inc"}
   142 {$INCLUDE "HHHandlers.inc"}
   148 {$INCLUDE "HHHandlers.inc"}
   143 
   149