X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=player.c;h=b6d6a8533a202545b8c89046c05ea36168bcb527;hb=330eda0436ed73d6c68214fef8922904abe19422;hp=23cb5fcaf4ceeaae7f8d09c020be987e08d5fba0;hpb=874c9d7e6ee2d826f9eb34518e8163283439c38e;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/player.c b/player.c index 23cb5fc..b6d6a85 100644 --- a/player.c +++ b/player.c @@ -12,10 +12,11 @@ #include "network_common.h" #include "world_routes.h" #include "ent_miniworld.h" +#include "gui.h" static int localplayer_cmd_respawn( int argc, const char *argv[] ){ ent_spawn *rp = NULL, *r; - world_instance *world = localplayer.viewable_world; + world_instance *world = world_current_instance(); if( argc == 1 ){ rp = world_find_spawn_by_name( world, argv[0] ); @@ -89,7 +90,8 @@ static void player__bind(void){ */ static void player__pre_update(void){ - if( button_down( k_srbind_camera ) && !localplayer.immobile ){ + if( button_down( k_srbind_camera ) && !localplayer.immobile && + (localplayer.subsystem != k_player_subsystem_dead) ){ if( localplayer.cam_control.camera_mode == k_cam_firstperson ) localplayer.cam_control.camera_mode = k_cam_thirdperson; else @@ -200,7 +202,6 @@ static void player__im_gui(void){ [k_skaterift_replay] = "replay", [k_skaterift_ent_focus] = "ent_focus", [k_skaterift_default] = "default", - [k_skaterift_respawning]= "respawning", } [skaterift.activity] ); player__debugtext( 1, "time_rate: %.4f", skaterift.time_rate ); @@ -221,6 +222,7 @@ static void player__setpos( v3f pos ){ static void player__reset(void){ replay_clear( &skaterift.replay ); + gui_helper_clear(); v3_zero( localplayer.rb.v ); v3_zero( localplayer.rb.w ); @@ -236,7 +238,6 @@ static void player__reset(void){ localplayer.immobile = 0; localplayer.gate_waiting = NULL; - localplayer.viewable_world = world_current_instance(); world_static.challenge_target = NULL; world_static.challenge_timer = 0.0f; @@ -253,6 +254,8 @@ static void player__reset(void){ world_routes_clear( instance ); } } + + v3_copy( localplayer.rb.co, localplayer.cam_control.tpv_lpf ); } static void player__spawn( ent_spawn *rp ){