X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=skaterift.c;h=8543f6a4e864566749d6e1cf39b830fa8ca35e08;hb=5fa590f62aa7e62a8b6b07e10556c2ecc54cdca6;hp=c9f9371de9d9209042849144c5cf9df6facd19d6;hpb=670daa775dec0954adb27354c3e37c66fc6567dd;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/skaterift.c b/skaterift.c index c9f9371..8543f6a 100644 --- a/skaterift.c +++ b/skaterift.c @@ -130,7 +130,7 @@ static void skaterift_restore_state(void) vg_msg_init( &kvsav, sav.buf, sizeof(sav.buf) ); u32 ach; - vg_msg_getkvintg( &kvsav, "ach", k_vg_msg_u32, &ach ); + vg_msg_getkvintg( &kvsav, "ach", k_vg_msg_u32, &ach, NULL ); skaterift.achievements |= ach; u32 board_reg_id = time(NULL) % addon_count( k_addon_type_board, 0 ), @@ -188,12 +188,8 @@ static void skaterift_load_world_content(void){ skaterift_world_load_thread( &args ); } -static void skaterift_load_player_content(void){ - u32 bytes = 1024*1024*10; - player_replay.local.data = vg_linear_alloc( vg_mem.rtmemory, bytes ); - player_replay.local.size = bytes; - replay_clear( &player_replay.local ); - +static void skaterift_load_player_content(void) +{ particle_alloc( &particles_grind, 300 ); particle_alloc( &particles_env, 200 ); @@ -213,7 +209,6 @@ void vg_load(void) vg_audio.always_keep_compressed = 1; vg_console_reg_cmd( "load_world", skaterift_load_world_command, NULL ); - vg_console_reg_cmd( "fc", freecam_cmd, NULL ); vg_console_reg_var( "immobile", &localplayer.immobile, k_var_dtype_i32, 0 ); vg_loader_step( render_init, NULL ); @@ -231,6 +226,7 @@ void vg_load(void) vg_loader_step( workshop_init, NULL ); vg_loader_step( skateshop_init, NULL ); vg_loader_step( ent_tornado_init, NULL ); + vg_loader_step( skaterift_replay_init, NULL ); vg_loader_step( skaterift_load_player_content, NULL ); /* --------------------- */ @@ -548,19 +544,23 @@ static void render_scene(void){ render_world( holdout_world, &global_miniworld.cam, 1, 0, 1, 1 ); } -static void skaterift_composite_maincamera(void){ +static void skaterift_composite_maincamera(void) +{ vg_camera_lerp( &localplayer.cam, &world_static.focus_cam, vg_smoothstepf(world_static.focus_strength), &skaterift.cam ); - if( player_replay.freecam ){ - freecam_preupdate(); - v3_copy( player_replay.replay_freecam.pos, skaterift.cam.pos ); - v3_copy( player_replay.replay_freecam.angles, skaterift.cam.angles ); - skaterift.cam.fov = player_replay.replay_freecam.fov; - } - else { - if( skaterift.activity == k_skaterift_replay ){ - replay_get_camera( &player_replay.local, &skaterift.cam ); + if( skaterift.activity == k_skaterift_replay ) + { + if( player_replay.use_freecam ) + { + freecam_preupdate(); + v3_copy( player_replay.replay_freecam.pos, skaterift.cam.pos ); + v3_copy( player_replay.replay_freecam.angles, skaterift.cam.angles ); + skaterift.cam.fov = player_replay.replay_freecam.fov; + } + else + { + skaterift_get_replay_cam( &skaterift.cam ); } }