hedgewars/uGears.pas
changeset 862 7c82903753a4
parent 861 9588286683be
child 865 a4a5ec6c61d4
equal deleted inserted replaced
861:9588286683be 862:7c82903753a4
   474 end;
   474 end;
   475 
   475 
   476 procedure DrawHH(Gear: PGear);
   476 procedure DrawHH(Gear: PGear);
   477 var t: LongInt;
   477 var t: LongInt;
   478 	amt: TAmmoType;
   478 	amt: TAmmoType;
   479 	hx, hy: LongInt;
   479 	hx, hy, m: LongInt;
   480 	aangle: real;
   480 	aAngle, dAngle: real;
   481 	defaultPos: boolean;
   481 	defaultPos: boolean;
   482 begin
   482 begin
   483 defaultPos:= true;
   483 defaultPos:= true;
   484 
   484 
   485 hx:= hwRound(Gear^.X) + 1 + 8 * hwSign(Gear^.dX) + WorldDx;
   485 hx:= hwRound(Gear^.X) + 1 + 8 * hwSign(Gear^.dX) + WorldDx;
   491 	if CurAmmoGear <> nil then
   491 	if CurAmmoGear <> nil then
   492 	begin
   492 	begin
   493 		case CurAmmoGear^.Kind of
   493 		case CurAmmoGear^.Kind of
   494 			gtShotgunShot: DrawRotated(sprHandShotgun, hx, hy, hwSign(Gear^.dX), aangle);
   494 			gtShotgunShot: DrawRotated(sprHandShotgun, hx, hy, hwSign(Gear^.dX), aangle);
   495 			gtRope: begin
   495 			gtRope: begin
       
   496 				if Gear^.X < CurAmmoGear^.X then
       
   497 					begin
       
   498 					dAngle:= 0;
       
   499 					m:= 1
       
   500 					end else
       
   501 					begin
       
   502 					dAngle:= 180;
       
   503 					m:= -1
       
   504 					end;
   496 				DrawHedgehog(hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy,
   505 				DrawHedgehog(hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy,
   497 						1,
   506 						m,
   498 						1,
   507 						1,
   499 						0,
   508 						0,
   500 						DxDy2Angle(CurAmmoGear^.dY, CurAmmoGear^.dX) - 110);
   509 						DxDy2Angle(CurAmmoGear^.dY, CurAmmoGear^.dX) + dAngle);
   501 				defaultPos:= false
   510 				defaultPos:= false
   502 				end;
   511 				end;
   503 			gtBlowTorch: begin
   512 			gtBlowTorch: begin
   504 				DrawRotated(sprBlowTorch, hx, hy, hwSign(Gear^.dX), aangle);
   513 				DrawRotated(sprBlowTorch, hx, hy, hwSign(Gear^.dX), aangle);
   505 				DrawHedgehog(hwRound(Gear^.X) + 1 + WorldDx, hwRound(Gear^.Y) - 3 + WorldDy,
   514 				DrawHedgehog(hwRound(Gear^.X) + 1 + WorldDx, hwRound(Gear^.Y) - 3 + WorldDy,