hedgewars/uGearsUtils.pas
changeset 14994 d9de740e194c
parent 14926 60340c8a6fae
child 15052 1a754860b0e5
equal deleted inserted replaced
14993:fd29c23ff95e 14994:d9de740e194c
    65 function  GetUtility(Hedgehog: PHedgehog): TAmmoType;
    65 function  GetUtility(Hedgehog: PHedgehog): TAmmoType;
    66 
    66 
    67 function WorldWrap(var Gear: PGear): boolean;
    67 function WorldWrap(var Gear: PGear): boolean;
    68 function HomingWrap(var Gear: PGear): boolean;
    68 function HomingWrap(var Gear: PGear): boolean;
    69 
    69 
       
    70 function IsHogFacingLeft(Gear: PGear): boolean;
    70 function IsHogLocal(HH: PHedgehog): boolean;
    71 function IsHogLocal(HH: PHedgehog): boolean;
    71 
    72 
    72 
    73 
    73 function MakeHedgehogsStep(Gear: PGear) : boolean;
    74 function MakeHedgehogsStep(Gear: PGear) : boolean;
    74 
    75 
  1854             State:= ord(sprBoing)
  1855             State:= ord(sprBoing)
  1855             end;
  1856             end;
  1856     PlaySound(sndMelonImpact, true)
  1857     PlaySound(sndMelonImpact, true)
  1857 end;
  1858 end;
  1858 
  1859 
       
  1860 function IsHogFacingLeft(Gear: PGear): boolean;
       
  1861 var sign: LongInt;
       
  1862 begin
       
  1863     sign:= hwSign(Gear^.dX);
       
  1864     if ((Gear^.State and gstHHHJump) <> 0) and (Gear^.Hedgehog^.Effects[heArtillery] = 0) then
       
  1865         IsHogFacingLeft:= sign > 0
       
  1866     else
       
  1867         IsHogFacingLeft:= sign < 0;
       
  1868 end;
       
  1869 
  1859 function IsHogLocal(HH: PHedgehog): boolean;
  1870 function IsHogLocal(HH: PHedgehog): boolean;
  1860 begin
  1871 begin
  1861     IsHogLocal:= (not (HH^.Team^.ExtDriven or (HH^.BotLevel > 0))) or (HH^.Team^.Clan^.ClanIndex = LocalClan) or (GameType = gmtDemo);
  1872     IsHogLocal:= (not (HH^.Team^.ExtDriven or (HH^.BotLevel > 0))) or (HH^.Team^.Clan^.ClanIndex = LocalClan) or (GameType = gmtDemo);
  1862 end;
  1873 end;
  1863 
  1874