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) );
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 );
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)
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 );
player_replay.editor_mode = 0;
replay_show_helpers();
}
+
+ /* TODO: Add Q/E scrub here too.
+ * Add replay trimming
+ */
}