X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=freecam.c;h=d961ed6c5ce5c3a415e13105cd8160ce09986fec;hb=bececcbb7b2e886e72425e7c070e1fdc3aa126dc;hp=2e79ff1fefed3e57175736f4c61aa7016cf66ad5;hpb=2dbc6f4022802b89c934ba78e7085cc7ee81799b;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/freecam.c b/freecam.c index 2e79ff1..d961ed6 100644 --- a/freecam.c +++ b/freecam.c @@ -1,8 +1,12 @@ #include "skaterift.h" +#include "player.h" +#include "player_render.h" +#include "player_replay.h" #include "input.h" -static void freecam_preupdate(void){ - camera *cam = &skaterift.replay_freecam; +void freecam_preupdate(void) +{ + vg_camera *cam = &player_replay.replay_freecam; v3f angles; v3_copy( cam->angles, angles ); player_look( angles, 1.0f ); @@ -11,13 +15,13 @@ static void freecam_preupdate(void){ 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, + v3_muladds( player_replay.freecam_w, d, 20.0f, player_replay.freecam_w ); + v3_muls( player_replay.freecam_w, decay, player_replay.freecam_w ); + v3_muladds( cam->angles, player_replay.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 ); + vg_camera_update_transform( cam ); v3f lookdir = { 0.0f, 0.0f, -1.0f }, sidedir = { 1.0f, 0.0f, 0.0f }; @@ -29,23 +33,12 @@ static void freecam_preupdate(void){ 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_muladds( player_replay.freecam_v, lookdir, -input[1], + player_replay.freecam_v ); + v3_muladds( player_replay.freecam_v, sidedir, input[0], + player_replay.freecam_v ); - v3_muls( skaterift.freecam_v, decay, skaterift.freecam_v ); + v3_muls( player_replay.freecam_v, decay, player_replay.freecam_v ); v3_muladds( cam->pos, - skaterift.freecam_v, vg.time_frame_delta, cam->pos ); -} - -static int freecam_cmd( int argc, const char *argv[] ){ - if( argc ){ - skaterift.freecam = atoi(argv[0]); - - if( skaterift.freecam ){ - camera_copy( &skaterift.cam, &skaterift.replay_freecam ); - } - } - return 0; + player_replay.freecam_v, vg.time_frame_delta, cam->pos ); }