controls overlay
[carveJwlIkooP6JGAAIwe30JlM.git] / input.h
diff --git a/input.h b/input.h
index e66bdc69bb5726618f6d604062cfd2930ac06014..12d27db5511000a979223d99b1fca54fd5999fab 100644 (file)
--- a/input.h
+++ b/input.h
@@ -1,8 +1,4 @@
-#ifndef INPUT_H
-#define INPUT_H
-
-#define VG_GAME
-#include "vg/vg.h"
+#pragma once
 #include "vg/vg_platform.h" 
 #include "vg/vg_console.h"
 #include "vg/vg_input.h"
 enum sr_bind{
    k_srbind_jump = 0,
    k_srbind_push,
+   k_srbind_skid,
    k_srbind_trick0,
    k_srbind_trick1,
    k_srbind_trick2,
    k_srbind_sit,
    k_srbind_use,
    k_srbind_reset,
+   k_srbind_dead_respawn,
    k_srbind_camera,
    k_srbind_mleft, 
    k_srbind_mright, 
@@ -34,10 +32,11 @@ enum sr_bind{
    k_srbind_home,
    k_srbind_lobby,
    k_srbind_chat,
+   k_srbind_run,
    
    k_srbind_miniworld_teleport,
    k_srbind_miniworld_resume,
-
+   k_srbind_devbutton,
    k_srbind_max,
 };
 
@@ -53,6 +52,7 @@ enum sr_axis{
    k_sraxis_mbrowse_h,
    k_sraxis_mbrowse_v,
    k_sraxis_replay_h,
+   k_sraxis_skid,
    k_sraxis_max
 };
 
@@ -76,8 +76,10 @@ static vg_input_op *input_button_list[] = {
    vg_mode_absmax, vg_joy_button, SDL_CONTROLLER_BUTTON_X, vg_end 
 },
 [k_srbind_use]   = INPUT_BASIC( SDLK_e, SDL_CONTROLLER_BUTTON_Y ),
-[k_srbind_reset] = INPUT_BASIC( SDLK_r, SDL_CONTROLLER_BUTTON_LEFTSHOULDER ),
-[k_srbind_camera]= INPUT_BASIC( SDLK_c, SDL_CONTROLLER_BUTTON_RIGHTSHOULDER ),
+[k_srbind_reset] = INPUT_BASIC( SDLK_r, SDL_CONTROLLER_BUTTON_DPAD_LEFT ),
+[k_srbind_dead_respawn] =
+   INPUT_BASIC( SDLK_q, SDL_CONTROLLER_BUTTON_DPAD_UP ),
+[k_srbind_camera]= INPUT_BASIC( SDLK_c, SDL_CONTROLLER_BUTTON_DPAD_RIGHT ),
 [k_srbind_mleft] = INPUT_BASIC( SDLK_LEFT, SDL_CONTROLLER_BUTTON_DPAD_LEFT ),
 [k_srbind_mright]= INPUT_BASIC( SDLK_RIGHT, SDL_CONTROLLER_BUTTON_DPAD_RIGHT ),
 [k_srbind_world_left] = 
@@ -101,10 +103,19 @@ static vg_input_op *input_button_list[] = {
 [k_srbind_sit]   = INPUT_BASIC( SDLK_z, SDL_CONTROLLER_BUTTON_B ),
 [k_srbind_lobby] = INPUT_BASIC( SDLK_TAB, SDL_CONTROLLER_BUTTON_DPAD_LEFT ),
 [k_srbind_chat ] = (vg_input_op[]){ vg_keyboard, SDLK_y, vg_end },
+[k_srbind_run ] = (vg_input_op[]){ vg_keyboard, SDLK_LSHIFT, 
+   vg_joy_axis, SDL_CONTROLLER_AXIS_TRIGGERLEFT, vg_end },
 
-[k_srbind_miniworld_resume]  = INPUT_BASIC( SDLK_e, SDL_CONTROLLER_BUTTON_A ),
-[k_srbind_miniworld_teleport]= INPUT_BASIC( SDLK_r, SDL_CONTROLLER_BUTTON_X ),
-
+[k_srbind_miniworld_resume]  = (vg_input_op[]){
+   vg_keyboard, SDLK_RETURN, vg_gui_visible, 0,
+   vg_keyboard, SDLK_RETURN2,
+   vg_gui_visible, 1,
+   vg_joy_button, SDL_CONTROLLER_BUTTON_X, vg_end
+},
+[k_srbind_miniworld_teleport]= INPUT_BASIC( SDLK_q, 
+                                       SDL_CONTROLLER_BUTTON_LEFTSHOULDER ),
+[k_srbind_skid] = (vg_input_op[]){ vg_keyboard, SDLK_LCTRL, vg_end },
+[k_srbind_devbutton] = (vg_input_op[]){ vg_keyboard, SDLK_3, vg_end },
 [k_srbind_max]=NULL
 };
 
@@ -116,13 +127,13 @@ static vg_input_op *input_axis_list[] = {
 [k_sraxis_mbrowse_h] = (vg_input_op[]){
    vg_mode_sub, vg_keyboard, SDLK_LEFT,
    vg_mode_add, vg_keyboard, SDLK_RIGHT,
-   vg_mode_absmax, vg_joy_axis, SDL_CONTROLLER_AXIS_LEFTX,
+   vg_mode_add, vg_joy_axis, SDL_CONTROLLER_AXIS_LEFTX,
    vg_end
 },
 [k_sraxis_mbrowse_v] = (vg_input_op[]){
    vg_mode_add, vg_keyboard, SDLK_UP,
    vg_mode_sub, vg_keyboard, SDLK_DOWN,
-   vg_mode_absmax, vg_joy_axis, SDL_CONTROLLER_AXIS_LEFTY,
+   vg_mode_sub, vg_joy_axis, SDL_CONTROLLER_AXIS_LEFTY,
    vg_end
 },
 [k_sraxis_replay_h] = (vg_input_op[]){
@@ -132,6 +143,11 @@ static vg_input_op *input_axis_list[] = {
    vg_mode_sub, vg_joy_axis, SDL_CONTROLLER_AXIS_TRIGGERLEFT,
    vg_end
 },
+[k_sraxis_skid] = (vg_input_op[]){
+   vg_mode_add, vg_joy_button, SDL_CONTROLLER_BUTTON_RIGHTSHOULDER,
+   vg_mode_sub, vg_joy_button, SDL_CONTROLLER_BUTTON_LEFTSHOULDER,
+   vg_end
+},
 [k_sraxis_max]=NULL
 };
 
@@ -170,7 +186,7 @@ static srinput;
 
 static int input_filter_generic(void){
    if( srinput.state != k_input_state_enabled || 
-       vg_ui.wants_mouse || vg_console.enabled )
+       vg_ui.wants_mouse || vg_console.enabled || vg.settings_open )
       return 1;
    else 
       return 0;
@@ -291,5 +307,3 @@ static void skaterift_preupdate_inputs(void){
       else           srinput.button_states[k_srbind_mdown][0] = 1;
    }
 }
-
-#endif /* INPUT_H */