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:
parent
952e4629d8
commit
c1ed88df9c
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user