diff -r 3d99c2c806ec -r 6be946bcd17a hedgewars/VGSHandlers.inc --- a/hedgewars/VGSHandlers.inc Wed Nov 24 20:36:46 2010 -0500 +++ b/hedgewars/VGSHandlers.inc Thu Nov 25 22:56:28 2010 -0500 @@ -627,3 +627,23 @@ else dec(Gear^.FrameTicks, Steps); end; + +//////////////////////////////////////////////////////////////////////////////// +procedure doStepCircle(Gear: PVisualGear; Steps: Longword); +var tmp: byte; +begin +with Gear^ do + if Frame <> 0 then + begin + inc(FrameTicks, Steps); + if (FrameTicks mod Frame) = 0 then + begin + tmp:= Gear^.Tint and $FF; + if tdY >= 0 then inc(tmp) + else dec(tmp); + if tmp < round(dX) then tdY:= 1; + if tmp > round(dY) then tdY:= -1; + Gear^.Tint:= (Gear^.Tint and $FFFFFF00) or tmp + end + end +end;