From cb46ca485888c0fa4ea160fd7a690357705ea1e8 Mon Sep 17 00:00:00 2001 From: Bradley Bell Date: Sun, 11 Jan 2015 02:43:46 -0800 Subject: [PATCH] add axis invert cvars --- arch/include/joy.h | 1 + arch/include/mouse.h | 1 + arch/sdl/joy.c | 13 +++++++++++- arch/sdl/mouse.c | 10 ++++++++- main/kconfig.c | 48 ++++++++++++++++++++++++++------------------ 5 files changed, 51 insertions(+), 22 deletions(-) diff --git a/arch/include/joy.h b/arch/include/joy.h index 177faf99..144ee691 100644 --- a/arch/include/joy.h +++ b/arch/include/joy.h @@ -75,6 +75,7 @@ COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. // 6 = bank left/right extern cvar_t joy_advaxes[]; +extern cvar_t joy_invert[]; //========================================================================== diff --git a/arch/include/mouse.h b/arch/include/mouse.h index a36a188a..5f61c857 100644 --- a/arch/include/mouse.h +++ b/arch/include/mouse.h @@ -55,6 +55,7 @@ COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. // 6 = bank left/right extern cvar_t mouse_axes[]; +extern cvar_t mouse_invert[]; //======================================================================== diff --git a/arch/sdl/joy.c b/arch/sdl/joy.c index 1289b766..d5a10fa4 100644 --- a/arch/sdl/joy.c +++ b/arch/sdl/joy.c @@ -86,6 +86,15 @@ cvar_t joy_advaxes[] = { { "joy_advaxisv", "0", 1 }, }; +cvar_t joy_invert[] = { + { "joy_invertx", "0", 1 }, + { "joy_inverty", "0", 1 }, + { "joy_invertz", "0", 1 }, + { "joy_invertr", "0", 1 }, + { "joy_invertu", "0", 1 }, + { "joy_invertv", "0", 1 }, +}; + void joy_cmd_joyadvancedupdate(int argc, char **argv) { @@ -143,8 +152,10 @@ int joy_init() memset(&Joystick,0,sizeof(Joystick)); memset(joyaxis_text, 0, JOY_MAX_AXES * sizeof(char *)); - for (i = 0; i < 6; i++) + for (i = 0; i < 6; i++) { cvar_registervariable(&joy_advaxes[i]); + cvar_registervariable(&joy_invert[i]); + } cmd_addcommand("joyadvancedupdate", joy_cmd_joyadvancedupdate); diff --git a/arch/sdl/mouse.c b/arch/sdl/mouse.c index caeb4d16..04baf391 100644 --- a/arch/sdl/mouse.c +++ b/arch/sdl/mouse.c @@ -37,6 +37,12 @@ cvar_t mouse_axes[3] = { { "mouse_axisz", "0", 1 }, }; +cvar_t mouse_invert[] = { + { "mouse_invertx", "0", 1 }, + { "mouse_inverty", "0", 1 }, + { "mouse_invertz", "0", 1 }, +}; + void d_mouse_init(void) { @@ -44,8 +50,10 @@ void d_mouse_init(void) memset(&Mouse,0,sizeof(Mouse)); - for (i = 0; i < 3; i++) + for (i = 0; i < 3; i++) { cvar_registervariable(&mouse_axes[i]); + cvar_registervariable(&mouse_invert[i]); + } } void mouse_button_handler(SDL_MouseButtonEvent *mbe) diff --git a/main/kconfig.c b/main/kconfig.c index 3a7fafa3..a65576bd 100644 --- a/main/kconfig.c +++ b/main/kconfig.c @@ -1400,18 +1400,24 @@ void kconfig(int n, char * title) cmd_appendf("bind %s \"%s\"", key_text[kc_d2x[i].value], kc_d2x[i].text); if ( (Config_control_type>0) && (Config_control_type<5)) { - for (i=0; i 4) { - for (i=0; i