hedgewars/uGears.pas
changeset 874 964c0d5b3604
parent 870 dd418d9c18c5
child 876 d5b6e0ae5755
equal deleted inserted replaced
873:9bec5af9b23c 874:964c0d5b3604
   498 	DrawSprite(sprHHDeath, hwRound(Gear^.X) - 16 + WorldDx, hwRound(Gear^.Y) - 26 + WorldDy, Gear^.Pos);
   498 	DrawSprite(sprHHDeath, hwRound(Gear^.X) - 16 + WorldDx, hwRound(Gear^.Y) - 26 + WorldDy, Gear^.Pos);
   499 	exit
   499 	exit
   500 	end;
   500 	end;
   501 defaultPos:= true;
   501 defaultPos:= true;
   502 
   502 
   503 hx:= hwRound(Gear^.X) + 1 + 8 * hwSign(Gear^.dX) + WorldDx;
       
   504 hy:= hwRound(Gear^.Y) - 2 + WorldDy;
       
   505 aangle:= Gear^.Angle * 180 / cMaxAngle - 90;
       
   506 
       
   507 if (Gear^.State and gstHHDriven) <> 0 then
   503 if (Gear^.State and gstHHDriven) <> 0 then
   508 begin
   504 begin
       
   505 	hx:= hwRound(Gear^.X) + 1 + 8 * hwSign(Gear^.dX) + WorldDx;
       
   506 	hy:= hwRound(Gear^.Y) - 2 + WorldDy;
       
   507 	aangle:= Gear^.Angle * 180 / cMaxAngle - 90;
       
   508 
   509 	if CurAmmoGear <> nil then
   509 	if CurAmmoGear <> nil then
   510 	begin
   510 	begin
   511 		case CurAmmoGear^.Kind of
   511 		case CurAmmoGear^.Kind of
   512 			gtShotgunShot: DrawRotated(sprHandShotgun, hx, hy, hwSign(Gear^.dX), aangle);
   512 			gtShotgunShot: DrawRotated(sprHandShotgun, hx, hy, hwSign(Gear^.dX), aangle);
   513 			gtRope: begin
   513 			gtRope: begin
   538 			gtShover: DrawRotated(sprHandBaseball, hx, hy, hwSign(Gear^.dX), aangle + 180);
   538 			gtShover: DrawRotated(sprHandBaseball, hx, hy, hwSign(Gear^.dX), aangle + 180);
   539 			gtPickHammer,
   539 			gtPickHammer,
   540 			gtTeleport: defaultPos:= false;
   540 			gtTeleport: defaultPos:= false;
   541 		end
   541 		end
   542 	end else
   542 	end else
       
   543 
   543 	if ((Gear^.State and gstHHJumping) <> 0) then
   544 	if ((Gear^.State and gstHHJumping) <> 0) then
   544 		begin
   545 		begin
   545 		DrawHedgehog(hwRound(Gear^.X) + 1 + WorldDx, hwRound(Gear^.Y) - 3 + WorldDy,
   546 		if ((Gear^.State and gstHHHJump) <> 0) then
   546 			hwSign(Gear^.dX),
   547 			DrawHedgehog(hwRound(Gear^.X) + 1 + WorldDx, hwRound(Gear^.Y) - 3 + WorldDy,
   547 			1,
   548 				- hwSign(Gear^.dX),
   548 			1,
   549 				1,
   549 			0);
   550 				1,
       
   551 				0)
       
   552 			else
       
   553 			DrawHedgehog(hwRound(Gear^.X) + 1 + WorldDx, hwRound(Gear^.Y) - 3 + WorldDy,
       
   554 				hwSign(Gear^.dX),
       
   555 				1,
       
   556 				1,
       
   557 				0);
   550 			defaultPos:= false
   558 			defaultPos:= false
   551 		end else
   559 		end else
       
   560 
   552 	if (Gear^.Message and (gm_Left or gm_Right) <> 0)
   561 	if (Gear^.Message and (gm_Left or gm_Right) <> 0)
   553        or ((Gear^.State and gstAttacked) <> 0) then
   562        or ((Gear^.State and gstAttacked) <> 0) then
   554 		begin
   563 		begin
   555 		DrawHedgehog(hwRound(Gear^.X) + 1 + WorldDx, hwRound(Gear^.Y) - 3 + WorldDy,
   564 		DrawHedgehog(hwRound(Gear^.X) + 1 + WorldDx, hwRound(Gear^.Y) - 3 + WorldDy,
   556 			hwSign(Gear^.dX),
   565 			hwSign(Gear^.dX),
   558 			PHedgehog(Gear^.Hedgehog)^.visStepPos div 2,
   567 			PHedgehog(Gear^.Hedgehog)^.visStepPos div 2,
   559 			0);
   568 			0);
   560 			defaultPos:= false
   569 			defaultPos:= false
   561 		end
   570 		end
   562     else
   571     else
       
   572 
   563 	begin
   573 	begin
   564 		amt:= CurrentHedgehog^.Ammo^[CurrentHedgehog^.CurSlot, CurrentHedgehog^.CurAmmo].AmmoType;
   574 		amt:= CurrentHedgehog^.Ammo^[CurrentHedgehog^.CurSlot, CurrentHedgehog^.CurAmmo].AmmoType;
   565 		case amt of
   575 		case amt of
   566 			amBazooka: DrawRotated(sprHandBazooka, hx, hy, hwSign(Gear^.dX), aangle);
   576 			amBazooka: DrawRotated(sprHandBazooka, hx, hy, hwSign(Gear^.dX), aangle);
   567 			amRope: DrawRotated(sprHandRope, hx, hy, hwSign(Gear^.dX), aangle);
   577 			amRope: DrawRotated(sprHandRope, hx, hy, hwSign(Gear^.dX), aangle);