hedgewars/VGSHandlers.inc
changeset 3751 a70c61c076ae
parent 3706 a79784328c03
child 3764 eb91c02f2d84
equal deleted inserted replaced
3750:3aa85b5f3318 3751:a70c61c076ae
   142     dec(Gear^.FrameTicks, Steps)
   142     dec(Gear^.FrameTicks, Steps)
   143 end;
   143 end;
   144 
   144 
   145 ////////////////////////////////////////////////////////////////////////////////
   145 ////////////////////////////////////////////////////////////////////////////////
   146 procedure doStepFire(Gear: PVisualGear; Steps: Longword);
   146 procedure doStepFire(Gear: PVisualGear; Steps: Longword);
       
   147 var vgt: PVisualGear;
   147 begin
   148 begin
   148 Gear^.X:= Gear^.X + Gear^.dX * Steps;
   149 Gear^.X:= Gear^.X + Gear^.dX * Steps;
   149 
   150 
   150 Gear^.Y:= Gear^.Y + Gear^.dY * Steps;// + cGravityf * (Steps * Steps);
   151 Gear^.Y:= Gear^.Y + Gear^.dY * Steps;// + cGravityf * (Steps * Steps);
   151 Gear^.dY:= Gear^.dY + cGravityf * Steps;
   152 if (Gear^.State and gstTmpFlag) = 0 then
       
   153     begin
       
   154     Gear^.dY:= Gear^.dY + cGravityf * Steps;
       
   155     if ((GameTicks mod 100) < Steps + 1) then
       
   156         begin
       
   157         vgt:= AddVisualGear(round(Gear^.X), round(Gear^.Y), vgtFire);
       
   158         if vgt <> nil then
       
   159             begin
       
   160             vgt^.dx:= 0;
       
   161             vgt^.dy:= 0;
       
   162             vgt^.State:= gstTmpFlag;
       
   163             end;
       
   164         end
       
   165     end
       
   166 else
       
   167     inc(Steps, Steps);
   152 
   168 
   153 if Gear^.FrameTicks <= Steps then
   169 if Gear^.FrameTicks <= Steps then
   154        DeleteVisualGear(Gear)
   170        DeleteVisualGear(Gear)
   155 else
   171 else
   156     dec(Gear^.FrameTicks, Steps)
   172     dec(Gear^.FrameTicks, Steps)