X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=player_replay.c;h=50ffc5ca564a7a8af2743ddedbe536c2fe044356;hb=95f6ef1a859423a0d9554ac6a9f4c6cbd8bb540c;hp=3e799d410a80af47953f877fb417b2ff92c4f254;hpb=81099ee81c1a09ead474333101408b7b8a4a94fc;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/player_replay.c b/player_replay.c index 3e799d4..50ffc5c 100644 --- a/player_replay.c +++ b/player_replay.c @@ -442,6 +442,7 @@ void skaterift_record_frame( replay_buffer *replay, int force_gamestate ) replay_frame_data( frame, k_replay_framedata_internal_gamestate ); gs->current_run_version = world_static.current_run_version; + gs->drowned = localplayer.drowned; /* permanent block */ memcpy( &gs->rb, &localplayer.rb, sizeof(rigidbody) ); @@ -521,13 +522,14 @@ void skaterift_record_frame( replay_buffer *replay, int force_gamestate ) localplayer.local_sfx_buffer_count = 0; } -static -void skaterift_restore_frame( replay_frame *frame ){ +static void skaterift_restore_frame( replay_frame *frame ) +{ replay_gamestate *gs = replay_frame_data( frame, k_replay_framedata_internal_gamestate ); void *src = replay_frame_data( frame, k_replay_framedata_gamestate ); u16 src_size = frame->data_table[ k_replay_framedata_gamestate ][1]; world_static.current_run_version = gs->current_run_version; + localplayer.drowned = gs->drowned; if(frame->system == k_player_subsystem_walk ){ memcpy( &player_walk.state, src, src_size ); @@ -724,7 +726,7 @@ static void skaterift_replay_update_helpers(void) vg_strnull( &freecam_text, player_replay.helper_freecam->text, GUI_HELPER_TEXT_LENGTH ); vg_strcat( &freecam_text, - player_replay.use_freecam? "exit freecam": "freecam" ); + player_replay.use_freecam? "Exit freecam": "Freecam" ); } static void replay_show_helpers(void) @@ -733,14 +735,14 @@ static void replay_show_helpers(void) vg_str text; if( gui_new_helper( input_axis_list[k_sraxis_replay_h], &text ) ) - vg_strcat( &text, "scrub" ); + vg_strcat( &text, "Scrub" ); if( (player_replay.helper_resume = gui_new_helper( input_button_list[k_srbind_replay_resume], &text )) ) - vg_strcat( &text, "resume" ); + vg_strcat( &text, "Resume" ); if( gui_new_helper( input_button_list[k_srbind_replay_play], &text )) - vg_strcat( &text, "playback" ); + vg_strcat( &text, "Playback" ); player_replay.helper_freecam = gui_new_helper( input_button_list[k_srbind_replay_freecam], &text ); @@ -1183,7 +1185,7 @@ void skaterift_replay_imgui(void) ui_info( panel, "World settings" ); f32 new_time = world_current_instance()->time; - if( ui_slider( panel, "Time of day", 0, 1, &new_time, NULL ) ) + if( ui_slider( panel, "Time of day", 0, 1, &new_time ) ) { world_current_instance()->time = new_time; } @@ -1194,4 +1196,8 @@ void skaterift_replay_imgui(void) player_replay.editor_mode = 0; replay_show_helpers(); } + + /* TODO: Add Q/E scrub here too. + * Add replay trimming + */ }