even more collision filtering
[carveJwlIkooP6JGAAIwe30JlM.git] / player.h
index 1edbc6ba08981fce86b63c8904294429ac6e95e8..d0ce43137cb08cda399fb80cc64db3b2f58a78c6 100644 (file)
--- a/player.h
+++ b/player.h
@@ -14,7 +14,9 @@
 #include "bvh.h"
 
 VG_STATIC float 
-   k_walkspeed             = 12.0f,  /* no longer used */
+   k_walkspeed             = 12.0f,
+   k_air_accelerate        = 20.0f,
+
    k_runspeed              = 20.0f,
    k_board_radius          = 0.3f,
    k_board_length          = 0.45f,
@@ -294,13 +296,21 @@ VG_STATIC void player_init(void)                                            /* 1
    });
 
    vg_convar_push( (struct vg_convar){
-      .name = "walk_speed",
+      .name = "gwalk_speed",
       .data = &k_walkspeed,
       .data_type = k_convar_dtype_f32,
       .opt_f32 = { .clamp = 0 },
       .persistent = 0
    });
 
+   vg_convar_push( (struct vg_convar){
+      .name = "air_accelerate",
+      .data = &k_air_accelerate,
+      .data_type = k_convar_dtype_f32,
+      .opt_f32 = { .clamp = 0 },
+      .persistent = 0
+   });
+
    vg_convar_push( (struct vg_convar){
       .name = "run_speed",
       .data = &k_runspeed,
@@ -370,17 +380,22 @@ VG_STATIC void player_save_rewind_frame(void)
    }
 }
 
+
+/* disaster */
+VG_STATIC int         menu_enabled(void);
+#include "menu.h"
+
 /*
  * Free camera movement
  */
 VG_STATIC void player_mouseview(void)
 {
-   if( ui_want_mouse() )
+   if( menu_enabled() )
       return;
 
    v2_muladds( player.angles, vg.mouse_delta, 0.0025f, player.angles );
 
-   if( vg.gamepad_use_trackpad_look )
+   if( vg_input.controller_should_use_trackpad_look )
    {
       static v2f last_input;
       static v2f vel;
@@ -423,7 +438,7 @@ VG_STATIC void player_update_pre(void)
       return;
    }
 
-   if( vg_input_button_down( player.input_reset ) )
+   if( vg_input_button_down( player.input_reset ) && !menu_enabled() )
    {
       if( player.is_dead )
       {
@@ -487,7 +502,7 @@ VG_STATIC void player_update_pre(void)
       }
    }
 
-   if( vg_input_button_down( player.input_switch_mode ) )
+   if( vg_input_button_down( player.input_switch_mode ) && !menu_enabled() )
    {
       phys->on_board ^= 0x1;
 
@@ -509,7 +524,7 @@ VG_STATIC void player_update_pre(void)
       player_mouseview();
 }
 
-VG_STATIC void player_update_fixed(void)                                    /* 2 */
+VG_STATIC void player_update_fixed(void)                                 /* 2 */
 {
    if( player.rewinding )
       return;