From b104f2d0bde97a6874b2fddad1f6f37a81a58044 Mon Sep 17 00:00:00 2001 From: Bradley Bell Date: Tue, 5 Mar 2002 12:38:08 +0000 Subject: [PATCH] SDL joystick stuff mostly done --- arch/sdl/joydefs.c | 51 ++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 47 insertions(+), 4 deletions(-) diff --git a/arch/sdl/joydefs.c b/arch/sdl/joydefs.c index 44a2b801..de9b9e03 100644 --- a/arch/sdl/joydefs.c +++ b/arch/sdl/joydefs.c @@ -1,12 +1,15 @@ /* * $Source: /cvs/cvsroot/d2x/arch/sdl/joydefs.c,v $ - * $Revision: 1.3 $ + * $Revision: 1.4 $ * $Author: bradleyb $ - * $Date: 2001-11-14 03:56:53 $ + * $Date: 2002-03-05 12:38:08 $ * * SDL joystick support * * $Log: not supported by cvs2svn $ + * Revision 1.3 2001/11/14 03:56:53 bradleyb + * #include pstypes.h + * * Revision 1.2 2001/11/14 03:29:39 bradleyb * copied joydefs_config from linux/joydefs.c - controls menu now works * @@ -30,20 +33,60 @@ #include "text.h" #include "kconfig.h" +extern int num_joysticks; + int joydefs_calibrate_flag = 0; void joydefs_calibrate() { + joydefs_calibrate_flag = 0; + + if (!num_joysticks) { + nm_messagebox( NULL, 1, TXT_OK, TXT_NO_JOYSTICK ); + return; + } + + //Actual calibration if necessary + } void joydef_menuset_1(int nitems, newmenu_item * items, int *last_key, int citem ) { + int i; + int oc_type = Config_control_type; + + nitems = nitems; + last_key = last_key; + citem = citem; + + for (i=0; i<3; i++ ) + if (items[i].value) Config_control_type = i; + + if (Config_control_type == 2) Config_control_type = CONTROL_MOUSE; + + if ( (oc_type != Config_control_type) && (Config_control_type == CONTROL_THRUSTMASTER_FCS ) ) { + nm_messagebox( TXT_IMPORTANT_NOTE, 1, TXT_OK, TXT_FCS ); + } + + if (oc_type != Config_control_type) { + switch (Config_control_type) { + // case CONTROL_NONE: + case CONTROL_JOYSTICK: + case CONTROL_FLIGHTSTICK_PRO: + case CONTROL_THRUSTMASTER_FCS: + case CONTROL_GRAVIS_GAMEPAD: + // case CONTROL_MOUSE: + // case CONTROL_CYBERMAN: + joydefs_calibrate_flag = 1; + } + kc_set_controls(); + } } void joydefs_config() { - newmenu_item m[13]; - int i, i1=5, j, nitems=7; + newmenu_item m[13]; + int i, i1=5, j, nitems=7; m[0].type = NM_TYPE_RADIO; m[0].text = "KEYBOARD"; m[0].value = 0; m[0].group = 0; m[1].type = NM_TYPE_RADIO; m[1].text = "JOYSTICK"; m[1].value = 0; m[1].group = 0; -- 2.39.2