save timing version in replay frame
authorhgn <hgodden00@gmail.com>
Thu, 8 Feb 2024 15:11:58 +0000 (15:11 +0000)
committerhgn <hgodden00@gmail.com>
Thu, 8 Feb 2024 15:11:58 +0000 (15:11 +0000)
player_replay.c
player_replay.h

index f5a2ab9327ab03c9b7c0705c89596316d758d4ba..8e6438b3758b62e0c00f49b92320be0b4d86c330 100644 (file)
@@ -307,6 +307,8 @@ static void skaterift_record_frame( replay_buffer *replay,
       replay_gamestate *gs = 
          replay_frame_data( frame, k_replay_framedata_internal_gamestate );
 
+      gs->current_run_version = world_static.current_run_version;
+
       /* permanent block */
       memcpy( &gs->rb, &localplayer.rb, sizeof(rigidbody) );
       memcpy( &gs->glider_rb, &player_glide.rb, sizeof(rigidbody) );
@@ -392,6 +394,7 @@ void skaterift_restore_frame( replay_frame *frame ){
    void *src = replay_frame_data( frame, k_replay_framedata_gamestate );
    u16 src_size = frame->data_table[ k_replay_framedata_gamestate ][1];
    assert( src_size );
+   world_static.current_run_version = gs->current_run_version;
 
    if(frame->system == k_player_subsystem_walk ){
       memcpy( &player_walk.state, src, src_size );
index 42d9bf71d768f731964e6195615647acf6e4ecfc..38ea25308ff981b1284b5955257e548f3b0e2b08 100644 (file)
@@ -45,6 +45,7 @@ struct replay_gamestate {
                                      full matrices */
    v3f angles;
    struct player_cam_controller cam_control;
+   u32 current_run_version;
 };
 
 /* we save this per-anim-frame. if there glider is existing in any state */