X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=player_replay.h;h=9a3f2aba658a4cc67ec8a207499e6f3baf4f3c63;hb=bf8478e3656ae729248a594a57d111f08bed41e0;hp=52a077291594ecd4fb1500c16b8fbcbe103af126;hpb=8b783ef3705f88f0f67ef6cd8113f79ccb25ec20;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/player_replay.h b/player_replay.h index 52a0772..9a3f2ab 100644 --- a/player_replay.h +++ b/player_replay.h @@ -29,7 +29,8 @@ struct replay_frame { f64 time; replay_frame *l, *r; - u16 gamestate_count, sfx_count; + u32 subsystem_gamestate_size, + sfx_count; }; struct replay_gamestate { @@ -39,10 +40,13 @@ struct replay_gamestate { struct player_cam_controller cam_control; +#if 0 union { struct player_skate_state skate; struct player_walk_state walk; + struct player_ragdoll ragdoll; }; +#endif }; struct replay_sfx { @@ -50,12 +54,17 @@ struct replay_sfx { }; VG_STATIC replay_frame *replay_newframe( replay_buffer *replay, - u16 gamestate_count, u16 sfx_count ); + u32 gamestate_count, u32 sfx_count ); 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 ); +replay_gamestate *replay_frame_gamestate( replay_frame *frame ); +void *replay_gamestate_subsystem_data( replay_gamestate *gs ); +replay_sfx *replay_frame_sfx( replay_frame *frame, u32 index ); VG_STATIC replay_frame *replay_find_recent_stateframe( replay_buffer *replay ); +VG_STATIC void replay_get_camera( replay_buffer *replay, camera *cam ); +VG_STATIC void replay_get_frame_camera( replay_frame *frame, camera *cam ); +VG_STATIC f32 replay_subframe_time( replay_buffer *replay ); +VG_STATIC void replay_clear( replay_buffer *replay ); VG_STATIC void skaterift_replay_pre_update(void); VG_STATIC void skaterift_replay_imgui(void);