refactor rewind tape 1
[carveJwlIkooP6JGAAIwe30JlM.git] / player_replay.h
index 2c18d4c68a17797ca5425f9ae8e42948baeb81fe..20eafb4c08d8081ca0b4b68b1e21af819ee1875c 100644 (file)
@@ -5,8 +5,6 @@
 #include "player.h"
 #include "player_render.h"
 
-static i32 k_replay_test = 0;
-
 typedef struct replay_buffer replay_buffer;
 typedef struct replay_frame replay_frame;
 typedef struct replay_gamestate replay_gamestate;
@@ -17,14 +15,17 @@ struct replay_buffer {
    u32 size; /* bytes */
 
    enum replay_control {
+      k_replay_control_none,
       k_replay_control_scrub,
       k_replay_control_play,
+      k_replay_control_resume
    }
    control;
 
    replay_frame *head, *tail, *cursor_frame,
                 *statehead;
    f64 cursor;
+   f32 track_velocity;
 };
 
 struct replay_frame {
@@ -66,5 +67,6 @@ VG_STATIC void replay_seek( replay_buffer *replay, f64 t );
 replay_gamestate *replay_frame_gamestate( replay_frame *frame, u16 index );
 replay_sfx *replay_frame_sfx( replay_frame *frame, u16 index );
 VG_STATIC replay_frame *replay_find_recent_stateframe( replay_buffer *replay );
+VG_STATIC void player_replay_control_update( player_instance *player );
 
 #endif /* PLAYER_REPLAY_H */