if( button_down( k_srbind_reset ) ){
if( skaterift.activity == k_skaterift_default ){
skaterift.activity = k_skaterift_replay;
+ player_record_replay_frame( &localplayer, &skaterift.replay, 1 );
}
}
player__pre_update( &localplayer );
global_skateshop_preupdate();
+ skaterift_replay_pre_update();
world_update( world_current_instance(), localplayer.rb.co );
audio_ambient_sprites_update( world_current_instance(), localplayer.rb.co );
camera_lerp( &localplayer.cam, &global_skateshop.cam,
vg_smoothstepf(global_skateshop.factive), &skaterift.cam );
+ if( skaterift.activity == k_skaterift_replay ){
+ camera temp;
+ replay_get_camera( &skaterift.replay, &temp );
+ camera_lerp( &skaterift.cam, &temp, 1.0f-skaterift.time_rate,
+ &skaterift.cam );
+ }
+
skaterift.cam.nearz = 0.1f;
skaterift.cam.farz = 2100.0f;
}
VG_STATIC void render_main_game(void){
+ player__animate( &localplayer );
+ if( skaterift.activity == k_skaterift_replay ){
+ player__animate_from_replay( &localplayer, &skaterift.replay );
+ }
+ else
+ player_record_replay_frame( &localplayer, &skaterift.replay, 0 );
player__pre_render( &localplayer );
+
skaterift_composite_maincamera();
render_scene();
player__im_gui( &localplayer );
world_instance *world = world_current_instance();
- replay_imgui( &localplayer );
+ skaterift_replay_imgui();
workshop_form_gui();
render_view_framebuffer_ui();
}