diff -Naurw source/Irrlicht/CSceneNodeAnimatorFollowSpline.cpp source/Irrlicht/CSceneNodeAnimatorFollowSpline.cpp --- source/Irrlicht/CSceneNodeAnimatorFollowSpline.cpp 2005-08-20 22:17:52.000000000 +0200 +++ source/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) { #ifdef _DEBUG setDebugName("CSceneNodeAnimatorFollowSpline"); @@ -43,6 +43,44 @@ f32 dt = ( (timeMs-StartTime) * Speed ); s32 idx = static_cast< s32 >( 0.001f * dt ) % Points.size(); + + // determine if callback should be sent + if( PreviousPoint == 0 ) + { + if( idx != 0 ) + { + PreviousPoint = idx; + // Send waypoint callback + for( u32 i=0; i