X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=player_replay.c;h=62c2b2e582876f5bef13cd377f46d0a45f4ed40d;hb=ca35eceae3abfcfb9ba266d6ea8e664bc06b0a3e;hp=21d92bc2f6f090d99765aa5ad75850eac6823f58;hpb=a528498841a151efbd38cddcc9f09a5f39dbbd19;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/player_replay.c b/player_replay.c index 21d92bc..62c2b2e 100644 --- a/player_replay.c +++ b/player_replay.c @@ -385,6 +385,17 @@ void skaterift_restore_frame( replay_frame *frame ){ vg.time = frame->time; } +VG_STATIC void skaterift_replay_resume(void){ + replay_frame *prev = replay_find_recent_stateframe(&skaterift.replay); + + if( prev ){ + skaterift.replay_control = k_replay_control_resume; + skaterift.resume_target = prev; + skaterift.resume_begin = skaterift.replay.cursor; + skaterift.resume_transition = 0.0f; + } +} + VG_STATIC void skaterift_replay_pre_update(void){ if( skaterift.activity != k_skaterift_replay ) return; @@ -412,6 +423,8 @@ VG_STATIC void skaterift_replay_pre_update(void){ skaterift.replay_control = k_replay_control_play; f32 target_speed = axis_state( k_sraxis_replay_h ) * 5.0; + if( button_press( k_srbind_reset ) ) + target_speed += -2.0; if( fabsf(target_speed) > 0.01f ) skaterift.replay_control = k_replay_control_scrub; @@ -420,7 +433,7 @@ VG_STATIC void skaterift_replay_pre_update(void){ target_speed = 1.0; vg_slewf( &skaterift.track_velocity, target_speed, - 10.0f*vg.time_frame_delta ); + 18.0f*vg.time_frame_delta ); if( fabsf( skaterift.track_velocity ) > 0.0001f ){ f64 target = skaterift.replay.cursor; @@ -430,14 +443,7 @@ VG_STATIC void skaterift_replay_pre_update(void){ } if( button_down( k_srbind_replay_resume ) ){ - replay_frame *prev = replay_find_recent_stateframe(&skaterift.replay); - - if( prev ){ - skaterift.replay_control = k_replay_control_resume; - skaterift.resume_target = prev; - skaterift.resume_begin = skaterift.replay.cursor; - skaterift.resume_transition = 0.0f; - } + skaterift_replay_resume(); } else if( button_down( k_srbind_mback ) ){ if( skaterift.replay.statehead )