#include "player_replay.h"
#include "input.h"
#include "gui.h"
+#include "freecam.h"
static void replay_clear( replay_buffer *replay ){
replay->head = NULL;
}
if( skaterift.freecam ){
- camera *cam = &skaterift.replay_freecam;
- v3f angles;
- v3_copy( cam->angles, angles );
- player_look( angles, 1.0f );
-
- f32 decay = vg_maxf(0.0f,1.0f-vg.time_frame_delta*10.0f);
-
- v3f d;
- v3_sub( angles, cam->angles, d );
- v3_muladds( skaterift.freecam_w, d, 20.0f, skaterift.freecam_w );
- v3_muls( skaterift.freecam_w, decay, skaterift.freecam_w );
- v3_muladds( cam->angles, skaterift.freecam_w, vg.time_frame_delta,
- cam->angles );
- cam->angles[1] = vg_clampf( cam->angles[1], -VG_PIf*0.5f,VG_PIf*0.5f);
-
- camera_update_transform( cam );
-
- v3f lookdir = { 0.0f, 0.0f, -1.0f },
- sidedir = { 1.0f, 0.0f, 0.0f };
-
- m3x3f mtx;
- m3x3_mul( cam->transform, localplayer.basis, mtx );
-
- m3x3_mulv( mtx, lookdir, lookdir );
- m3x3_mulv( mtx, sidedir, sidedir );
-
- v2f input;
- joystick_state( k_srjoystick_steer, input );
- v2_muls( input, vg.time_frame_delta*6.0f*20.0f, input );
-
- v3_muladds( skaterift.freecam_v, lookdir, -input[1],
- skaterift.freecam_v );
- v3_muladds( skaterift.freecam_v, sidedir, input[0],
- skaterift.freecam_v );
-
- v3_muls( skaterift.freecam_v, decay, skaterift.freecam_v );
- v3_muladds( cam->pos,
- skaterift.freecam_v, vg.time_frame_delta, cam->pos );
+ //freecam_preupdate();
}
else {
if( button_down( k_srbind_replay_resume ) ){
}
static void skaterift_replay_post_render(void){
+ if( world_static.active_instance != k_world_purpose_client )
+ return;
+
/* capture the current resume frame at the very last point */
if( button_down( k_srbind_reset ) ){
if( skaterift.activity == k_skaterift_default ){
+ localplayer.rewinded_since_last_gate = 1;
skaterift.activity = k_skaterift_replay;
skaterift_record_frame( &skaterift.replay, 1 );
if( skaterift.replay.head ){
}
}
+#if 0
static void skaterift_get_replay_camera( camera *cam ){
if( skaterift.freecam ){
cam->nearz = 0.1f;
replay_get_camera( &skaterift.replay, &skaterift.cam );
}
}
+#endif
static void skaterift_replay_debug_info(void){
player__debugtext( 2, "replay info" );