diff --git a/Engine/source/T3D/pathCamera.cpp b/Engine/source/T3D/pathCamera.cpp index bb14db972..eede59c86 100644 --- a/Engine/source/T3D/pathCamera.cpp +++ b/Engine/source/T3D/pathCamera.cpp @@ -275,7 +275,9 @@ void PathCamera::advancePosition(S32 ms) } // Script callbacks - if (int(mPosition) != int(delta.timeVec)) + if ((mState == Backward) && (int(mPosition) == 0) && (mSpline.advanceTime(delta.timeVec - mNodeBase, -ms) < TickSec)) + onNode(0); + else if (int(mPosition) > 0 && int(mPosition) != int(delta.timeVec)) onNode(int(mPosition)); // Set frame interpolation diff --git a/Engine/source/T3D/pathShape.cpp b/Engine/source/T3D/pathShape.cpp index 9370c09e5..a829f70ef 100644 --- a/Engine/source/T3D/pathShape.cpp +++ b/Engine/source/T3D/pathShape.cpp @@ -229,7 +229,9 @@ void PathShape::advancePosition(S32 ms) } // Script callbacks - if (int(mPosition) != int(delta.timeVec)) + if ((mState == Backward) && (int(mPosition) == 0) && (mSpline.advanceTime(delta.timeVec - mNodeBase, -ms) < TickSec)) + onNode(0); + else if (int(mPosition)>0 && int(mPosition) != int(delta.timeVec)) onNode(int(mPosition)); // Set frame interpolation