diff -Naurw Irrlicht/CSceneNodeAnimatorFollowSpline.cpp Irrlicht/CSceneNodeAnimatorFollowSpline.cpp --- Irrlicht/CSceneNodeAnimatorFollowSpline.cpp 2005-08-20 22:17:52.000000000 +0200 +++ Irrlicht/CSceneNodeAnimatorFollowSpline.cpp 2005-10-03 18:31:26.000000000 +0200 @@ -13,7 +13,7 @@ CSceneNodeAnimatorFollowSpline::CSceneNodeAnimatorFollowSpline(u32 time, const core::array< core::vector3df >& points, f32 speed, f32 tightness) -: Points(points), Speed(speed), StartTime(time), Tightness(tightness) +: Points(points), Speed(speed), StartTime(time), Tightness(tightness), PreviousPoint(0) { NumPoints = Points.size(); @@ -45,6 +45,44 @@ f32 dt = ( (timeMs-StartTime) * Speed ); s32 idx = static_cast< s32 >( 0.001f * dt ) % NumPoints; + + // determine if callback should be sent + if( PreviousPoint == 0 ) + { + if( idx != 0 ) + { + PreviousPoint = idx; + // Send waypoint callback + for( u32 i=0; i