hedgewars/uTeams.pas
changeset 6913 73984ea24ff5
parent 6905 cdfb2bf05bbd
child 6924 57b66ee3bff3
equal deleted inserted replaced
6912:831416764d2d 6913:73984ea24ff5
   203 end;
   203 end;
   204 
   204 
   205 procedure AfterSwitchHedgehog;
   205 procedure AfterSwitchHedgehog;
   206 var i, t: LongInt;
   206 var i, t: LongInt;
   207     CurWeapon: PAmmo;
   207     CurWeapon: PAmmo;
       
   208     w: real;
       
   209     vg: PVisualGear;
   208 
   210 
   209 begin
   211 begin
   210 if PlacingHogs then
   212 if PlacingHogs then
   211     begin
   213     begin
   212     PlacingHogs:= false;
   214     PlacingHogs:= false;
   247 ResetKbd;
   249 ResetKbd;
   248 
   250 
   249 if (GameFlags and gfDisableWind) = 0 then
   251 if (GameFlags and gfDisableWind) = 0 then
   250     begin
   252     begin
   251     cWindSpeed:= rndSign(GetRandom * 2 * cMaxWindSpeed);
   253     cWindSpeed:= rndSign(GetRandom * 2 * cMaxWindSpeed);
   252     // cWindSpeedf:= cWindSpeed.QWordValue / _1.QWordValue throws 'Internal error 200502052' on Darwin
   254     w:= hwFloat2Float(cWindSpeed);
   253     // see http://mantis.freepascal.org/view.php?id=17714
   255     vg:= AddVisualGear(0, 0, vgtSmoothWindBar);
   254     cWindSpeedf:= SignAs(cWindSpeed,cWindSpeed).QWordValue / SignAs(_1,_1).QWordValue;
   256     if vg <> nil then vg^.dAngle:= w;
   255     if cWindSpeed.isNegative then
       
   256         CWindSpeedf := -cWindSpeedf;
       
   257     AddVisualGear(0, 0, vgtSmoothWindBar);
       
   258     AddFileLog('Wind = '+FloatToStr(cWindSpeed));
   257     AddFileLog('Wind = '+FloatToStr(cWindSpeed));
   259     end;
   258     end;
   260 
   259 
   261 ApplyAmmoChanges(CurrentHedgehog^);
   260 ApplyAmmoChanges(CurrentHedgehog^);
   262 
   261