add player guide
[carveJwlIkooP6JGAAIwe30JlM.git] / player_replay.c
index 21d92bc2f6f090d99765aa5ad75850eac6823f58..62c2b2e582876f5bef13cd377f46d0a45f4ed40d 100644 (file)
@@ -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 )