X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=player_replay.h;h=91b9f72ce2aabf02e4446bbedc2807f0d4168bee;hb=6c84fa207dec2cf8e92b3882492bdd2f92ee7afe;hp=52a077291594ecd4fb1500c16b8fbcbe103af126;hpb=8b783ef3705f88f0f67ef6cd8113f79ccb25ec20;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/player_replay.h b/player_replay.h index 52a0772..91b9f72 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,16 @@ 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 skaterift_replay_pre_update(void); VG_STATIC void skaterift_replay_imgui(void);