hedgewars/uGears.pas
changeset 821 e6c0408b54ed
parent 815 82ff416301bd
child 822 2ae8fd8ef804
--- a/hedgewars/uGears.pas	Sun Mar 23 18:08:00 2008 +0000
+++ b/hedgewars/uGears.pas	Mon Mar 24 19:18:13 2008 +0000
@@ -472,10 +472,28 @@
 procedure DrawHH(Gear: PGear; Surface: PSDL_Surface);
 var t: LongInt;
 begin
-DrawHedgehog(hwRound(Gear^.X) - 15 + WorldDx, hwRound(Gear^.Y) - 18 + WorldDy,
-             hwSign(Gear^.dX), 0,
+if (Gear^.State and gstHHDriven) <> 0 then
+   begin
+   if CurAmmoGear <> nil then
+      begin
+      if (CurAmmoGear^.Kind = gtRope) then
+      DrawHedgehog(hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy,
+             1,
+             1,
+             0,
+             DxDy2Angle(CurAmmoGear^.dY, CurAmmoGear^.dX) - 110);
+      end else
+      DrawHedgehog(hwRound(Gear^.X) + 1 + WorldDx, hwRound(Gear^.Y) - 3 + WorldDy,
+             hwSign(Gear^.dX),
+             0,
              PHedgehog(Gear^.Hedgehog)^.visStepPos div 2,
-             Surface);
+             0);
+   end else
+   DrawHedgehog(hwRound(Gear^.X) + 1 + WorldDx, hwRound(Gear^.Y) - 3 + WorldDy,
+             hwSign(Gear^.dX),
+             0,
+             8,
+             0);
 
 with PHedgehog(Gear^.Hedgehog)^ do
      if (Gear^.State{ and not gstAnimation}) = 0 then
@@ -502,6 +520,7 @@
         if bShowFinger and ((Gear^.State and gstHHDriven) <> 0) then
            DrawSprite(sprFinger, hwRound(Gear^.X) - 16 + WorldDx, hwRound(Gear^.Y) - 64 + WorldDy,
                       GameTicks div 32 mod 16, Surface);
+
         if (Gear^.State and (gstMoving or gstDrowning)) = 0 then
            if (Gear^.State and gstHHThinking) <> 0 then
               DrawSprite(sprQuestion, hwRound(Gear^.X) - 10 + WorldDx, hwRound(Gear^.Y) - cHHRadius - 34 + WorldDy, 0, Surface)