diff --git a/polymer/eduke32/source/config.c b/polymer/eduke32/source/config.c index e83f252cd..fbee86b2e 100644 --- a/polymer/eduke32/source/config.c +++ b/polymer/eduke32/source/config.c @@ -195,7 +195,6 @@ void CONFIG_SetDefaults( void ) { // JBF 20031211 int32 i,f; - byte k1,k2; FXDevice = -1; MusicDevice = -1; @@ -252,52 +251,65 @@ void CONFIG_SetDefaults( void ) Bstrcpy(ud.ridecule[9], "AARRRGHHHHH!!!"); // JBF 20031211 - Bmemset(KeyboardKeys, 0xff, sizeof(KeyboardKeys)); - for (i=0; i < NUMGAMEFUNCTIONS; i++) { - f = CONFIG_FunctionNameToNum( keydefaults[3*i+0] ); - if (f == -1) continue; - k1 = KB_StringToScanCode( keydefaults[3*i+1] ); - k2 = KB_StringToScanCode( keydefaults[3*i+2] ); + memset(KeyboardKeys, 0xff, sizeof(KeyboardKeys)); + for (i=0; i < NUMGAMEFUNCTIONS; i+=3) { + f = CONFIG_FunctionNameToNum( keydefaults[i+0] ); + if (f == -1) continue; + KeyboardKeys[f][0] = KB_StringToScanCode( keydefaults[i+1] ); + KeyboardKeys[f][1] = KB_StringToScanCode( keydefaults[i+2] ); - KeyboardKeys[f][0] = k1; - KeyboardKeys[f][1] = k2; - } + if (f == gamefunc_Show_Console) OSD_CaptureKey(KeyboardKeys[f][0]); + else CONTROL_MapKey( f, KeyboardKeys[f][0], KeyboardKeys[f][1] ); + } - Bmemset(MouseFunctions, -1, sizeof(MouseFunctions)); - for (i=0; i<MAXMOUSEBUTTONS; i++) { - MouseFunctions[i][0] = CONFIG_FunctionNameToNum( mousedefaults[i] ); - if (i<4) continue; - MouseFunctions[i][1] = CONFIG_FunctionNameToNum( mouseclickeddefaults[i] ); - } + memset(MouseFunctions, -1, sizeof(MouseFunctions)); + for (i=0; i<MAXMOUSEBUTTONS; i++) { + MouseFunctions[i][0] = CONFIG_FunctionNameToNum( mousedefaults[i] ); + CONTROL_MapButton( MouseFunctions[i][0], i, 0, controldevice_mouse ); + if (i<4) continue; - Bmemset(MouseDigitalFunctions, -1, sizeof(MouseDigitalFunctions)); - for (i=0; i<MAXMOUSEAXES; i++) { - MouseAnalogueScale[i] = 65536; + MouseFunctions[i][1] = CONFIG_FunctionNameToNum( mouseclickeddefaults[i] ); + CONTROL_MapButton( MouseFunctions[i][1], i, 1, controldevice_mouse ); + } - MouseDigitalFunctions[i][0] = CONFIG_FunctionNameToNum( mousedigitaldefaults[i*2] ); - MouseDigitalFunctions[i][1] = CONFIG_FunctionNameToNum( mousedigitaldefaults[i*2+1] ); + memset(MouseDigitalFunctions, -1, sizeof(MouseDigitalFunctions)); + for (i=0; i<MAXMOUSEAXES; i++) { + MouseAnalogueScale[i] = 65536; + CONTROL_SetAnalogAxisScale( i, MouseAnalogueScale[i], controldevice_mouse ); - MouseAnalogueAxes[i] = CONFIG_AnalogNameToNum( mouseanalogdefaults[i] ); - } - CONTROL_SetMouseSensitivity(32768); + MouseDigitalFunctions[i][0] = CONFIG_FunctionNameToNum( mousedigitaldefaults[i*2] ); + MouseDigitalFunctions[i][1] = CONFIG_FunctionNameToNum( mousedigitaldefaults[i*2+1] ); + CONTROL_MapDigitalAxis( i, MouseDigitalFunctions[i][0], 0, controldevice_mouse ); + CONTROL_MapDigitalAxis( i, MouseDigitalFunctions[i][1], 1, controldevice_mouse ); - Bmemset(JoystickFunctions, -1, sizeof(JoystickFunctions)); - for (i=0; i<MAXJOYBUTTONS; i++) { - JoystickFunctions[i][0] = CONFIG_FunctionNameToNum( joystickdefaults[i] ); - JoystickFunctions[i][1] = CONFIG_FunctionNameToNum( joystickclickeddefaults[i] ); - } + MouseAnalogueAxes[i] = CONFIG_AnalogNameToNum( mouseanalogdefaults[i] ); + CONTROL_MapAnalogAxis( i, MouseAnalogueAxes[i], controldevice_mouse); + } + CONTROL_SetMouseSensitivity(32768); - Bmemset(JoystickDigitalFunctions, -1, sizeof(JoystickDigitalFunctions)); - for (i=0; i<MAXJOYAXES; i++) { - JoystickAnalogueScale[i] = 65536; - JoystickAnalogueDead[i] = 1000; - JoystickAnalogueSaturate[i] = 9500; + memset(JoystickFunctions, -1, sizeof(JoystickFunctions)); + for (i=0; i<MAXJOYBUTTONS; i++) { + JoystickFunctions[i][0] = CONFIG_FunctionNameToNum( joystickdefaults[i] ); + JoystickFunctions[i][1] = CONFIG_FunctionNameToNum( joystickclickeddefaults[i] ); + CONTROL_MapButton( JoystickFunctions[i][0], i, 0, controldevice_joystick ); + CONTROL_MapButton( JoystickFunctions[i][1], i, 1, controldevice_joystick ); + } - JoystickDigitalFunctions[i][0] = CONFIG_FunctionNameToNum( joystickdigitaldefaults[i*2] ); - JoystickDigitalFunctions[i][1] = CONFIG_FunctionNameToNum( joystickdigitaldefaults[i*2+1] ); + memset(JoystickDigitalFunctions, -1, sizeof(JoystickDigitalFunctions)); + for (i=0; i<MAXJOYAXES; i++) { + JoystickAnalogueScale[i] = 65536; + JoystickAnalogueDead[i] = 1000; + JoystickAnalogueSaturate[i] = 9500; + CONTROL_SetAnalogAxisScale( i, JoystickAnalogueScale[i], controldevice_joystick ); - JoystickAnalogueAxes[i] = CONFIG_AnalogNameToNum( joystickanalogdefaults[i] ); - } + JoystickDigitalFunctions[i][0] = CONFIG_FunctionNameToNum( joystickdigitaldefaults[i*2] ); + JoystickDigitalFunctions[i][1] = CONFIG_FunctionNameToNum( joystickdigitaldefaults[i*2+1] ); + CONTROL_MapDigitalAxis( i, JoystickDigitalFunctions[i][0], 0, controldevice_joystick ); + CONTROL_MapDigitalAxis( i, JoystickDigitalFunctions[i][1], 1, controldevice_joystick ); + + JoystickAnalogueAxes[i] = CONFIG_AnalogNameToNum( joystickanalogdefaults[i] ); + CONTROL_MapAnalogAxis(i, JoystickAnalogueAxes[i], controldevice_joystick); + } } /* =================== @@ -539,6 +551,8 @@ void CONFIG_ReadSetup( void ) CONTROL_ClearAssignments(); CONFIG_SetDefaults(); + setupread = 1; + if (SafeFileExists(setupfilename)) // JBF 20031211 scripthandle = SCRIPT_Load( setupfilename ); @@ -680,7 +694,8 @@ void CONFIG_WriteSetup( void ) { int32 dummy; - //if (!setupread) return; + if (!setupread) return; + if (scripthandle < 0) scripthandle = SCRIPT_Init(setupfilename); diff --git a/polymer/eduke32/source/game.c b/polymer/eduke32/source/game.c index 16a279353..8c4ae3d6c 100644 --- a/polymer/eduke32/source/game.c +++ b/polymer/eduke32/source/game.c @@ -7977,16 +7977,15 @@ void loadtmb(void) void Shutdown( void ) { int i; - extern int32 scripthandle; SoundShutdown(); MusicShutdown(); uninittimer(); uninitengine(); CONTROL_Shutdown(); - if (scripthandle) - CONFIG_WriteSetup(); + CONFIG_WriteSetup(); KB_Shutdown(); + for(i=0;i<MAXQUOTES;i++) { if(fta_quotes[i] != NULL) @@ -7994,6 +7993,7 @@ void Shutdown( void ) if(redefined_quotes[i] != NULL) Bfree(redefined_quotes[i]); } + for(i=0;i<iGameVarCount;i++) { if(aGameVars[i].szLabel != NULL) @@ -8003,6 +8003,7 @@ void Shutdown( void ) if(aGameVars[i].plValues != NULL) Bfree(aGameVars[i].plValues); } + if(label != NULL) Bfree(label); if(labelcode != NULL) @@ -8520,7 +8521,7 @@ void app_main(int argc,char **argv) int xres[] = {800,640,320}; int yres[] = {600,480,240}; int bpp[] = {32,16,8}; - initprintf("Failure setting video mode %dx%dx%d %s! Attempting safer mode...", + initprintf("Failure setting video mode %dx%dx%d %s! Attempting safer mode...\n", ScreenWidth,ScreenHeight,ScreenBPP,ScreenMode?"fullscreen":"windowed"); /* ScreenMode = 0; // JBF: was 2 ScreenWidth = 800;