726 //////////////////////////////////////////////////////////////////////////////// |
726 //////////////////////////////////////////////////////////////////////////////// |
727 procedure doStepSmoothWindBar(Gear: PVisualGear; Steps: Longword); |
727 procedure doStepSmoothWindBar(Gear: PVisualGear; Steps: Longword); |
728 begin |
728 begin |
729 inc(Gear^.Timer, Steps); |
729 inc(Gear^.Timer, Steps); |
730 |
730 |
731 while Gear^.Timer >= 10 do |
731 while Gear^.Timer >= 10 do |
732 begin |
732 begin |
733 dec(Gear^.Timer, 10); |
733 dec(Gear^.Timer, 10); |
734 if WindBarWidth < Gear^.Tag then |
734 if WindBarWidth < Gear^.Tag then |
735 inc(WindBarWidth) |
735 inc(WindBarWidth) |
736 else if WindBarWidth > Gear^.Tag then |
736 else if WindBarWidth > Gear^.Tag then |
737 dec(WindBarWidth); |
737 dec(WindBarWidth); |
738 end; |
738 end; |
|
739 if cWindspeedf > Gear^.dAngle then |
|
740 begin |
|
741 cWindspeedf := cWindspeedf - Gear^.Angle*Steps; |
|
742 if cWindspeedf < Gear^.dAngle then cWindspeedf:= Gear^.dAngle; |
|
743 end |
|
744 else if cWindspeedf < Gear^.dAngle then |
|
745 begin |
|
746 cWindspeedf := cWindspeedf + Gear^.Angle*Steps; |
|
747 if cWindspeedf > Gear^.dAngle then cWindspeedf:= Gear^.dAngle; |
|
748 end; |
739 |
749 |
740 if WindBarWidth = Gear^.Tag then |
750 if (WindBarWidth = Gear^.Tag) and (cWindspeedf = Gear^.dAngle) then |
741 DeleteVisualGear(Gear) |
751 DeleteVisualGear(Gear) |
742 end; |
752 end; |
743 //////////////////////////////////////////////////////////////////////////////// |
753 //////////////////////////////////////////////////////////////////////////////// |
744 procedure doStepStraightShot(Gear: PVisualGear; Steps: Longword); |
754 procedure doStepStraightShot(Gear: PVisualGear; Steps: Longword); |
745 begin |
755 begin |