Original Post
I've been looking over this function and I'm not sure what type of values supplied to it will serve the purpose that I think it does.
BOOL cCamera::Track(float Time, float Length)
{
float x, y, z;
float TimeOffset;
TimeOffset = Length * Time;
x = (m_EndXPos - m_StartXPos) / Length * TimeOffset;
y = (m_EndYPos - m_StartYPos) / Length * TimeOffset;
z = (m_EndZPos - m_StartZPos) / Length * TimeOffset;
Move(m_StartXPos + x, m_StartYPos + y, m_StartZPos + z);
x = (m_EndXRot - m_StartXRot) / Length * TimeOffset;
y = (m_EndYRot - m_StartYRot) / Length * TimeOffset;
z = (m_EndZRot - m_StartZRot) / Length * TimeOffset;
Rotate(m_StartXRot + x, m_StartYRot + y, m_StartZRot + z);
return TRUE;
}