projects
/
carveJwlIkooP6JGAAIwe30JlM.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
replay system reasonable
[carveJwlIkooP6JGAAIwe30JlM.git]
/
skaterift.c
diff --git
a/skaterift.c
b/skaterift.c
index 8df2f8a098ef0a6f93f67cda440154cd10483696..64fb65a2055522ca7f3d2d37b6944c14f10a5d45 100644
(file)
--- a/
skaterift.c
+++ b/
skaterift.c
@@
-288,11
+288,13
@@
VG_STATIC void vg_pre_update(void){
if( button_down( k_srbind_reset ) ){
if( skaterift.activity == k_skaterift_default ){
skaterift.activity = k_skaterift_replay;
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();
}
}
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 );
world_update( world_current_instance(), localplayer.rb.co );
audio_ambient_sprites_update( world_current_instance(), localplayer.rb.co );
@@
-446,6
+448,13
@@
VG_STATIC void skaterift_composite_maincamera(void){
camera_lerp( &localplayer.cam, &global_skateshop.cam,
vg_smoothstepf(global_skateshop.factive), &skaterift.cam );
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;
skaterift.cam.nearz = 0.1f;
skaterift.cam.farz = 2100.0f;
@@
-466,7
+475,14
@@
VG_STATIC void skaterift_composite_maincamera(void){
}
VG_STATIC void render_main_game(void){
}
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 );
player__pre_render( &localplayer );
+
skaterift_composite_maincamera();
render_scene();
skaterift_composite_maincamera();
render_scene();
@@
-517,7
+533,7
@@
VG_STATIC void vg_gui(void){
player__im_gui( &localplayer );
world_instance *world = world_current_instance();
player__im_gui( &localplayer );
world_instance *world = world_current_instance();
-
replay_imgui( &localplayer
);
+
skaterift_replay_imgui(
);
workshop_form_gui();
render_view_framebuffer_ui();
}
workshop_form_gui();
render_view_framebuffer_ui();
}