hedgewars/uVisualGearsHandlers.pas
changeset 14657 b390479f24c1
parent 14572 34e810295d08
child 15238 df5890e5a12a
equal deleted inserted replaced
14656:db05d9bf7466 14657:b390479f24c1
   704 procedure doStepHealthTagWorkUnderWater(Gear: PVisualGear; Steps: Longword);
   704 procedure doStepHealthTagWorkUnderWater(Gear: PVisualGear; Steps: Longword);
   705 begin
   705 begin
   706 if round(Gear^.Y) - 10 < cWaterLine then
   706 if round(Gear^.Y) - 10 < cWaterLine then
   707     DeleteVisualGear(Gear)
   707     DeleteVisualGear(Gear)
   708 else
   708 else
   709     Gear^.Y:= Gear^.Y - 0.08 * Steps;
   709     begin
   710 
   710     Gear^.X:= Gear^.X + Gear^.dX * Steps;
       
   711     Gear^.Y:= Gear^.Y + Gear^.dY * Steps;
       
   712     end;
   711 end;
   713 end;
   712 
   714 
   713 procedure doStepHealthTag(Gear: PVisualGear; Steps: Longword);
   715 procedure doStepHealthTag(Gear: PVisualGear; Steps: Longword);
   714 var s: shortstring;
   716 var s: shortstring;
   715 begin
   717 begin
   720 else
   722 else
   721     Gear^.Tex:= RenderStringTex(ansistring(s), cWhiteColor, fnt16);
   723     Gear^.Tex:= RenderStringTex(ansistring(s), cWhiteColor, fnt16);
   722 
   724 
   723 Gear^.doStep:= @doStepHealthTagWork;
   725 Gear^.doStep:= @doStepHealthTagWork;
   724 
   726 
   725 if (round(Gear^.Y) > cWaterLine) and (Gear^.Frame = 0)  then
   727 if (round(Gear^.Y) > cWaterLine) and (Gear^.Frame = 0) and (Gear^.FrameTicks = 0) then
   726     Gear^.doStep:= @doStepHealthTagWorkUnderWater;
   728     Gear^.doStep:= @doStepHealthTagWorkUnderWater;
   727 
   729 
   728 Gear^.Y:= Gear^.Y - Gear^.Tex^.h;
   730 Gear^.Y:= Gear^.Y - Gear^.Tex^.h;
   729 
   731 
   730 if Steps > 1 then
   732 if Steps > 1 then