replay-interpolation: scale-factor based on time between frames has been calculated for each kart in the loop, we just need it to be calculated once ..

git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/trunk/supertuxkart@1264 178a84e3-b1eb-0310-8ba1-8eac791a3b58
This commit is contained in:
ikework 2007-09-27 07:57:51 +00:00
parent 952e4629d8
commit c1ed88df9c

View File

@ -127,8 +127,12 @@ void ReplayPlayer::showReplayAt( float abs_time )
{
ReplayFrame const* frame_next = m_ReplayBuffers.getFrameAt( m_current_frame_index+1 );
// calc scale factor based on time between frames
assert( frame_next->time > frame->time );
assert( frame_next->time != frame->time );
float scale = (abs_time - frame->time) / (frame_next->time - frame->time);
sgVec3 tmp_v3;
float scale;
sgCoord pos;
// calc interpolations for all objects
@ -139,10 +143,7 @@ void ReplayPlayer::showReplayAt( float abs_time )
sgCopyVec3( tmp_v3, frame_next->p_kart_states[k].position.xyz ) ;
sgSubVec3( tmp_v3, pos.xyz );
// calc scale factor based on time between frames
assert( frame_next->time > frame->time );
assert( frame_next->time != frame->time );
scale = (abs_time - frame->time) / (frame_next->time - frame->time);
// scale it based on time between frames
sgScaleVec3( tmp_v3, scale );
// add interpolated vector