turbo chaos
[carveJwlIkooP6JGAAIwe30JlM.git] / player.c
index 3084828d38cb7a804cc205c15446d7a1525b3c9e..7a2dff5c01e491967b9dc6a25f15208274643432 100644 (file)
--- a/player.c
+++ b/player.c
@@ -12,6 +12,7 @@
 #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;
@@ -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,7 @@ static void player__im_gui(void){
                                        [k_skaterift_replay]    = "replay",
                                        [k_skaterift_ent_focus] = "ent_focus",
                                        [k_skaterift_default]   = "default",
-                                       [k_skaterift_respawning]= "respawning",
+                                       [k_skaterift_respawning]= "map"
                      } [skaterift.activity] );
    player__debugtext( 1, "time_rate: %.4f", skaterift.time_rate );
 
@@ -221,6 +223,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 );