void CONFIG_WriteSetup( void ) { int32 dummy; char buf[80]; if (scripthandle < 0) scripthandle = SCRIPT_Init(setupfilename); SCRIPT_PutNumber( scripthandle, "Screen Setup", "ScreenWidth", ScreenWidth,FALSE,FALSE); SCRIPT_PutNumber( scripthandle, "Screen Setup", "ScreenHeight",ScreenHeight,FALSE,FALSE); SCRIPT_PutNumber( scripthandle, "Screen Setup", "ScreenMode",ScreenMode,FALSE,FALSE); SCRIPT_PutNumber( scripthandle, "Screen Setup", "ScreenBPP",ScreenBPP,FALSE,FALSE); #ifdef RENDERTYPEWIN SCRIPT_PutNumber( scripthandle, "Screen Setup", "MaxRefreshFreq",maxrefreshfreq,FALSE,FALSE); #endif SCRIPT_PutNumber( scripthandle, "Screen Setup", "GLTextureMode",gltexfiltermode,FALSE,FALSE); SCRIPT_PutNumber( scripthandle, "Screen Setup", "GLAnisotropy",glanisotropy,FALSE,FALSE); SCRIPT_PutNumber( scripthandle, "Screen Setup", "GLUseTextureCompr",glusetexcompr,FALSE,FALSE); SCRIPT_PutNumber( scripthandle, "Sound Setup", "FXDevice", FXDevice, FALSE, FALSE); SCRIPT_PutNumber( scripthandle, "Sound Setup", "MusicDevice", MusicDevice, FALSE, FALSE); SCRIPT_PutNumber( scripthandle, "Sound Setup", "NumVoices", NumVoices, FALSE, FALSE); SCRIPT_PutNumber( scripthandle, "Sound Setup", "NumChannels", NumChannels, FALSE, FALSE); SCRIPT_PutNumber( scripthandle, "Sound Setup", "NumBits", NumBits, FALSE, FALSE); SCRIPT_PutNumber( scripthandle, "Sound Setup", "MixRate", MixRate, FALSE, FALSE); SCRIPT_PutNumber( scripthandle, "Sound Setup", "FXVolume",gs.SoundVolume,FALSE,FALSE); SCRIPT_PutNumber( scripthandle, "Sound Setup", "MusicVolume",gs.MusicVolume,FALSE,FALSE); dummy = gs.FlipStereo; SCRIPT_PutNumber( scripthandle, "Sound Setup", "ReverseStereo",dummy,FALSE,FALSE); SCRIPT_PutNumber( scripthandle, "Setup", "ForceSetup",ForceSetup,FALSE,FALSE); SCRIPT_PutNumber( scripthandle, "Controls","UseMouse",UseMouse,FALSE,FALSE); SCRIPT_PutNumber( scripthandle, "Controls","UseJoystick",UseJoystick,FALSE,FALSE); SCRIPT_PutNumber( scripthandle, "Controls","MouseSensitivity",gs.MouseSpeed,FALSE,FALSE); WriteGameSetup(scripthandle); for (dummy=0;dummy<NUMGAMEFUNCTIONS;dummy++) { SCRIPT_PutDoubleString( scripthandle, "KeyDefinitions", CONFIG_FunctionNumToName(dummy), KB_ScanCodeToString(KeyboardKeys[dummy][0]), KB_ScanCodeToString(KeyboardKeys[dummy][1])); } for (dummy=0;dummy<MAXMOUSEBUTTONS;dummy++) { Bsprintf(buf,"MouseButton%ld",dummy); SCRIPT_PutString( scripthandle,"Controls", buf, CONFIG_FunctionNumToName( MouseFunctions[dummy][0] )); if (dummy >= (MAXMOUSEBUTTONS-2)) continue; // scroll wheel Bsprintf(buf,"MouseButtonClicked%ld",dummy); SCRIPT_PutString( scripthandle,"Controls", buf, CONFIG_FunctionNumToName( MouseFunctions[dummy][1] )); } for (dummy=0;dummy<MAXMOUSEAXES;dummy++) { Bsprintf(buf,"MouseAnalogAxes%ld",dummy); SCRIPT_PutString(scripthandle, "Controls", buf, CONFIG_AnalogNumToName( MouseAnalogueAxes[dummy] )); Bsprintf(buf,"MouseDigitalAxes%ld_0",dummy); SCRIPT_PutString(scripthandle, "Controls", buf, CONFIG_FunctionNumToName(MouseDigitalFunctions[dummy][0])); Bsprintf(buf,"MouseDigitalAxes%ld_1",dummy); SCRIPT_PutString(scripthandle, "Controls", buf, CONFIG_FunctionNumToName(MouseDigitalFunctions[dummy][1])); Bsprintf(buf,"MouseAnalogScale%ld",dummy); SCRIPT_PutNumber(scripthandle, "Controls", buf, MouseAnalogueScale[dummy], FALSE, FALSE); } for (dummy=0;dummy<MAXJOYBUTTONS;dummy++) { Bsprintf(buf,"JoystickButton%ld",dummy); SCRIPT_PutString( scripthandle,"Controls", buf, CONFIG_FunctionNumToName( JoystickFunctions[dummy][0] )); Bsprintf(buf,"JoystickButtonClicked%ld",dummy); SCRIPT_PutString( scripthandle,"Controls", buf, CONFIG_FunctionNumToName( JoystickFunctions[dummy][1] )); } for (dummy=0;dummy<MAXJOYAXES;dummy++) { Bsprintf(buf,"JoystickAnalogAxes%ld",dummy); SCRIPT_PutString(scripthandle, "Controls", buf, CONFIG_AnalogNumToName( JoystickAnalogueAxes[dummy] )); Bsprintf(buf,"JoystickDigitalAxes%ld_0",dummy); SCRIPT_PutString(scripthandle, "Controls", buf, CONFIG_FunctionNumToName(JoystickDigitalFunctions[dummy][0])); Bsprintf(buf,"JoystickDigitalAxes%ld_1",dummy); SCRIPT_PutString(scripthandle, "Controls", buf, CONFIG_FunctionNumToName(JoystickDigitalFunctions[dummy][1])); Bsprintf(buf,"JoystickAnalogScale%ld",dummy); SCRIPT_PutNumber(scripthandle, "Controls", buf, JoystickAnalogueScale[dummy], FALSE, FALSE); Bsprintf(buf,"JoystickAnalogDead%ld",dummy); SCRIPT_PutNumber(scripthandle, "Controls", buf, JoystickAnalogueDead[dummy], FALSE, FALSE); Bsprintf(buf,"JoystickAnalogSaturate%ld",dummy); SCRIPT_PutNumber(scripthandle, "Controls", buf, JoystickAnalogueSaturate[dummy], FALSE, FALSE); } SCRIPT_Save (scripthandle, setupfilename); SCRIPT_Free (scripthandle); }
void CONFIG_WriteSetup( void ) { int32 dummy; if (!setupread) return; // if (scripthandle < 0) scripthandle = SCRIPT_Init(localsetupfilename); SCRIPT_PutNumber( scripthandle, "Screen Setup", "Shadows",ud.shadows,false,false); SCRIPT_PutString( scripthandle, "Screen Setup", "Password",ud.pwlockout); SCRIPT_PutNumber( scripthandle, "Screen Setup", "Detail",ud.detail,false,false); SCRIPT_PutNumber( scripthandle, "Screen Setup", "Tilt",ud.screen_tilting,false,false); SCRIPT_PutNumber( scripthandle, "Screen Setup", "Messages",ud.fta_on,false,false); SCRIPT_PutNumber( scripthandle, "Screen Setup", "Out",ud.lockout,false,false); SCRIPT_PutNumber( scripthandle, "Screen Setup", "ScreenWidth",ScreenWidth,false,false); SCRIPT_PutNumber( scripthandle, "Screen Setup", "ScreenHeight",ScreenHeight,false,false); SCRIPT_PutNumber( scripthandle, "Screen Setup", "ScreenMode",ScreenMode,false,false); SCRIPT_PutNumber( scripthandle, "Screen Setup", "ScreenBPP",ScreenBPP,false,false); SCRIPT_PutBoolean( scripthandle, "Screen Setup", "VerticalSync", (boolean)ud.vsync); SCRIPT_PutNumber( scripthandle, "Screen Setup", "MaxFPS", ud.fps_max, false, false); #ifdef RENDERTYPEWIN SCRIPT_PutNumber( scripthandle, "Screen Setup", "MaxRefreshFreq",maxrefreshfreq,false,false); #endif SCRIPT_PutNumber( scripthandle, "Screen Setup", "GLTextureMode",gltexfiltermode,false,false); SCRIPT_PutNumber( scripthandle, "Screen Setup", "GLAnisotropy",glanisotropy,false,false); SCRIPT_PutNumber( scripthandle, "Screen Setup", "GLUseTextureCompr",glusetexcompr,false,false); SCRIPT_PutNumber( scripthandle, "Screen Setup", "GLUseCompressedTextureCache", glusetexcache,false,false); SCRIPT_PutNumber( scripthandle, "Screen Setup", "ScreenSize",ud.screen_size,false,false); SCRIPT_PutNumber( scripthandle, "Screen Setup", "ScreenGamma",ud.brightness,false,false); SCRIPT_Save (scripthandle, localsetupfilename); SCRIPT_Free (scripthandle); scripthandle = SCRIPT_Init(setupfilename); SCRIPT_PutNumber( scripthandle, "Sound Setup", "FXDevice", FXDevice, false, false); SCRIPT_PutNumber( scripthandle, "Sound Setup", "MusicDevice", MusicDevice, false, false); SCRIPT_PutNumber( scripthandle, "Sound Setup", "FXVolume",FXVolume,false,false); SCRIPT_PutNumber( scripthandle, "Sound Setup", "MusicVolume",MusicVolume,false,false); SCRIPT_PutNumber( scripthandle, "Sound Setup", "SoundToggle",SoundToggle,false,false); SCRIPT_PutNumber( scripthandle, "Sound Setup", "VoiceToggle",VoiceToggle,false,false); SCRIPT_PutNumber( scripthandle, "Sound Setup", "AmbienceToggle",AmbienceToggle,false,false); SCRIPT_PutNumber( scripthandle, "Sound Setup", "MusicToggle",MusicToggle,false,false); SCRIPT_PutNumber( scripthandle, "Sound Setup", "NumVoices", NumVoices, false, false); SCRIPT_PutNumber( scripthandle, "Sound Setup", "NumChannels", NumChannels, false, false); SCRIPT_PutNumber( scripthandle, "Sound Setup", "NumBits", NumBits, false, false); SCRIPT_PutNumber( scripthandle, "Sound Setup", "MixRate", MixRate, false, false); SCRIPT_PutNumber( scripthandle, "Sound Setup", "ReverseStereo",ReverseStereo,false,false); SCRIPT_PutNumber( scripthandle, "Setup", "ForceSetup",ForceSetup,false,false); SCRIPT_PutNumber( scripthandle, "Misc", "Executions",ud.executions,false,false); SCRIPT_PutNumber( scripthandle, "Misc", "RunMode",RunMode,false,false); SCRIPT_PutNumber( scripthandle, "Misc", "Crosshairs",ud.crosshair,false,false); SCRIPT_PutNumber( scripthandle, "Misc", "ShowLevelStats",ud.levelstats,false,false); SCRIPT_PutNumber( scripthandle, "Misc", "StatusBarScale",ud.statusbarscale,false,false); SCRIPT_PutNumber( scripthandle, "Misc", "ShowOpponentWeapons",ShowOpponentWeapons,false,false); SCRIPT_PutNumber( scripthandle, "Misc", "UsePrecache",useprecache,false,false); SCRIPT_PutNumber( scripthandle, "Controls","UseJoystick",UseJoystick,false,false); SCRIPT_PutNumber( scripthandle, "Controls","UseMouse",UseMouse,false,false); SCRIPT_PutNumber( scripthandle, "Controls","MouseAimingFlipped",ud.mouseflip,false,false); SCRIPT_PutNumber( scripthandle, "Controls","MouseAiming",ud.mouseaiming,false,false); //SCRIPT_PutNumber( scripthandle, "Controls","GameMouseAiming",(int32) ps[myconnectindex].aim_mode,false,false); SCRIPT_PutNumber( scripthandle, "Controls","AimingFlag",(long) myaimmode,false,false); SCRIPT_PutNumber( scripthandle, "Controls","RunKeyBehaviour",ud.runkey_mode,false,false); SCRIPT_PutNumber( scripthandle, "Controls","AutoAim",AutoAim,false,false); SCRIPT_PutNumber( scripthandle, "Controls","WeaponSwitchMode",ud.weaponswitch,false,false); // JBF 20031211 #if 0 for(dummy=0;dummy<NUMGAMEFUNCTIONS;dummy++) { SCRIPT_PutDoubleString( scripthandle, "KeyDefinitions", CONFIG_FunctionNumToName(dummy), KB_ScanCodeToString(KeyboardKeys[dummy][0]), KB_ScanCodeToString(KeyboardKeys[dummy][1])); } #else for(dummy=0;dummy<NUMGAMEFUNCTIONS;dummy++) { SCRIPT_PutDoubleString( scripthandle, "KeyDefinitions", CONFIG_FunctionNumToName(dummy), dnGetKeyName(dnGetFunctionBinding(dummy, 0)), dnGetKeyName(dnGetFunctionBinding(dummy, 1))); } #endif for(dummy=0;dummy<10;dummy++) { Bsprintf(buf,"WeaponChoice%ld",dummy); SCRIPT_PutNumber( scripthandle, "Misc",buf,ud.wchoice[myconnectindex][dummy],false,false); } for (dummy=0;dummy<MAXMOUSEBUTTONS;dummy++) { Bsprintf(buf,"MouseButton%ld",dummy); SCRIPT_PutString( scripthandle,"Controls", buf, CONFIG_FunctionNumToName( MouseFunctions[dummy][0] )); if (dummy >= (MAXMOUSEBUTTONS-2)) continue; Bsprintf(buf,"MouseButtonClicked%ld",dummy); SCRIPT_PutString( scripthandle,"Controls", buf, CONFIG_FunctionNumToName( MouseFunctions[dummy][1] )); } for (dummy=0;dummy<MAXMOUSEAXES;dummy++) { Bsprintf(buf,"MouseAnalogAxes%ld",dummy); SCRIPT_PutString(scripthandle, "Controls", buf, CONFIG_AnalogNumToName( MouseAnalogueAxes[dummy] )); Bsprintf(buf,"MouseDigitalAxes%ld_0",dummy); SCRIPT_PutString(scripthandle, "Controls", buf, CONFIG_FunctionNumToName(MouseDigitalFunctions[dummy][0])); Bsprintf(buf,"MouseDigitalAxes%ld_1",dummy); SCRIPT_PutString(scripthandle, "Controls", buf, CONFIG_FunctionNumToName(MouseDigitalFunctions[dummy][1])); Bsprintf(buf,"MouseAnalogScale%ld",dummy); SCRIPT_PutNumber(scripthandle, "Controls", buf, MouseAnalogueScale[dummy], false, false); } #if 0 dummy = CONTROL_GetMouseSensitivity(); #else dummy = dnGetMouseSensitivity(); #endif SCRIPT_PutNumber( scripthandle, "Controls","MouseSensitivity",dummy,false,false); for (dummy=0;dummy<MAXJOYBUTTONS;dummy++) { Bsprintf(buf,"JoystickButton%ld",dummy); SCRIPT_PutString( scripthandle,"Controls", buf, CONFIG_FunctionNumToName( JoystickFunctions[dummy][0] )); Bsprintf(buf,"JoystickButtonClicked%ld",dummy); SCRIPT_PutString( scripthandle,"Controls", buf, CONFIG_FunctionNumToName( JoystickFunctions[dummy][1] )); } for (dummy=0;dummy<MAXJOYAXES;dummy++) { Bsprintf(buf,"JoystickAnalogAxes%ld",dummy); SCRIPT_PutString(scripthandle, "Controls", buf, CONFIG_AnalogNumToName( JoystickAnalogueAxes[dummy] )); Bsprintf(buf,"JoystickDigitalAxes%ld_0",dummy); SCRIPT_PutString(scripthandle, "Controls", buf, CONFIG_FunctionNumToName(JoystickDigitalFunctions[dummy][0])); Bsprintf(buf,"JoystickDigitalAxes%ld_1",dummy); SCRIPT_PutString(scripthandle, "Controls", buf, CONFIG_FunctionNumToName(JoystickDigitalFunctions[dummy][1])); Bsprintf(buf,"JoystickAnalogScale%ld",dummy); SCRIPT_PutNumber(scripthandle, "Controls", buf, JoystickAnalogueScale[dummy], false, false); Bsprintf(buf,"JoystickAnalogDead%ld",dummy); SCRIPT_PutNumber(scripthandle, "Controls", buf, JoystickAnalogueDead[dummy], false, false); Bsprintf(buf,"JoystickAnalogSaturate%ld",dummy); SCRIPT_PutNumber(scripthandle, "Controls", buf, JoystickAnalogueSaturate[dummy], false, false); } SCRIPT_PutString( scripthandle, "Comm Setup","PlayerName",&myname[0]); SCRIPT_Save (scripthandle, setupfilename); SCRIPT_Free (scripthandle); }
int32 CONFIG_ReadSetup( void ) { int32 dummy; char ret; extern char ds[]; extern char PlayerNameArg[32]; #if MEGAWANG extern BOOL ClassicLighting; extern int32_t r_usenewshading; extern int32_t r_usetileshades; extern int32 useDarts; dnInitKeyNames(); #endif CONTROL_ClearAssignments(); CONFIG_SetDefaults(); #if MEGAWANG if (SafeFileExists(localsetupfilename)) { scripthandle = SCRIPT_Load(localsetupfilename); } if (scripthandle < 0) { goto read_common_config; } #else if (SafeFileExists(setupfilename)) scripthandle = SCRIPT_Load(setupfilename); if (scripthandle < 0) return -1; #endif SCRIPT_GetNumber( scripthandle, "Screen Setup", "ScreenMode",&ScreenMode); SCRIPT_GetNumber( scripthandle, "Screen Setup", "ScreenWidth",&ScreenWidth); SCRIPT_GetNumber( scripthandle, "Screen Setup", "ScreenHeight",&ScreenHeight); SCRIPT_GetNumber( scripthandle, "Screen Setup", "ScreenBPP", &ScreenBPP); if (ScreenBPP < 8) ScreenBPP = 8; #ifdef RENDERTYPEWIN SCRIPT_GetNumber( scripthandle, "Screen Setup", "MaxRefreshFreq", (int32*)&maxrefreshfreq); #endif #if MEGAWANG SCRIPT_GetNumber( scripthandle, "Screen Setup", "VerticalSync",&vsync); SCRIPT_GetNumber( scripthandle, "Screen Setup", "MaxFPS",&max_fps); SCRIPT_GetNumber( scripthandle, "Options", "UseDarts", &useDarts); SCRIPT_GetNumber( scripthandle, "Options", "FOV", &dummy); if (dummy < 60) { dummy = 60; } if (dummy > 145) { dummy = 145; } xfov = dummy/90.0f; SCRIPT_GetBoolean(scripthandle, "Screen Setup", "ClassicLighting", &ClassicLighting); if (ClassicLighting) { r_usenewshading = 2; r_usetileshades = 1; } else { r_usenewshading = 0; r_usetileshades = 0; } #endif SCRIPT_GetNumber( scripthandle, "Screen Setup", "GLTextureMode", &gltexfiltermode); SCRIPT_GetNumber( scripthandle, "Screen Setup", "GLAnisotropy", &glanisotropy); SCRIPT_GetNumber( scripthandle, "Screen Setup", "GLUseTextureCompr", &glusetexcompr); #if MEGAWANG SCRIPT_Free(scripthandle); read_common_config: if (SafeFileExists(setupfilename)) scripthandle = SCRIPT_Load(setupfilename); if (scripthandle < 0) return -1; #endif SCRIPT_GetNumber( scripthandle, "Sound Setup", "FXDevice",&FXDevice); SCRIPT_GetNumber( scripthandle, "Sound Setup", "MusicDevice",&MusicDevice); SCRIPT_GetNumber( scripthandle, "Sound Setup", "FXVolume",&FXVolume); gs.SoundVolume = FXVolume; SCRIPT_GetNumber( scripthandle, "Sound Setup", "MusicVolume",&MusicVolume); gs.MusicVolume = MusicVolume; SCRIPT_GetNumber( scripthandle, "Sound Setup", "NumVoices",&NumVoices); SCRIPT_GetNumber( scripthandle, "Sound Setup", "NumChannels",&NumChannels); SCRIPT_GetNumber( scripthandle, "Sound Setup", "NumBits",&NumBits); SCRIPT_GetNumber( scripthandle, "Sound Setup", "MixRate",&MixRate); SCRIPT_GetNumber( scripthandle, "Sound Setup", "ReverseStereo",&dummy); gs.FlipStereo = dummy; if (gs.FlipStereo) gs.FlipStereo = 1; SCRIPT_GetNumber( scripthandle, "Setup", "ForceSetup",&ForceSetup); SCRIPT_GetNumber( scripthandle, "Controls","UseMouse",&UseMouse); SCRIPT_GetNumber( scripthandle, "Controls","UseJoystick",&UseJoystick); SCRIPT_GetString( scripthandle, "Comm Setup", "RTSName",RTSName); SCRIPT_GetString( scripthandle, "Comm Setup","PlayerName",CommPlayerName); ReadGameSetup(scripthandle); CONFIG_ReadKeys(scripthandle); //CONFIG_SetupMouse(scripthandle); //CONFIG_SetupJoystick(scripthandle); if (PlayerNameArg[0] != '\0') { strcpy(CommPlayerName, PlayerNameArg); } return 0; }
void CONFIG_WriteSetup(uint32_t flags) { int32_t dummy; if (!ud.config.setupread) return; if (ud.config.scripthandle < 0) ud.config.scripthandle = SCRIPT_Init(setupfilename); SCRIPT_PutNumber(ud.config.scripthandle, "Misc", "Executions",++ud.executions,FALSE,FALSE); SCRIPT_PutNumber(ud.config.scripthandle, "Setup","ConfigVersion",BYTEVERSION_JF,FALSE,FALSE); SCRIPT_PutNumber(ud.config.scripthandle, "Setup", "ForceSetup",ud.config.ForceSetup,FALSE,FALSE); SCRIPT_PutNumber(ud.config.scripthandle, "Setup", "NoAutoLoad",ud.config.NoAutoLoad,FALSE,FALSE); #ifdef POLYMER SCRIPT_PutNumber(ud.config.scripthandle, "Screen Setup", "Polymer",glrendmode == REND_POLYMER,FALSE,FALSE); #endif SCRIPT_PutNumber(ud.config.scripthandle, "Screen Setup", "ScreenBPP",ud.config.ScreenBPP,FALSE,FALSE); // JBF 20040523 SCRIPT_PutNumber(ud.config.scripthandle, "Screen Setup", "ScreenHeight",ud.config.ScreenHeight,FALSE,FALSE); // JBF 20031206 SCRIPT_PutNumber(ud.config.scripthandle, "Screen Setup", "ScreenMode",ud.config.ScreenMode,FALSE,FALSE); // JBF 20031206 SCRIPT_PutNumber(ud.config.scripthandle, "Screen Setup", "ScreenWidth",ud.config.ScreenWidth,FALSE,FALSE); // JBF 20031206 if (g_grpNamePtr && !g_usingAddon) SCRIPT_PutString(ud.config.scripthandle, "Setup","SelectedGRP",g_grpNamePtr); // XXX: should be "if compiled without startup GUI" #if !defined __linux || defined HAVE_GTK2 if (g_noSetup == 0) SCRIPT_PutString(ud.config.scripthandle, "Setup","ModDir",&g_modDir[0]); #endif // exit early after only updating the values that can be changed from the startup window if (flags & 1) { SCRIPT_Save(ud.config.scripthandle, setupfilename); SCRIPT_Free(ud.config.scripthandle); OSD_Printf("Updated %s\n",setupfilename); return; } SCRIPT_PutNumber(ud.config.scripthandle, "Screen Setup", "WindowPositioning", windowpos, FALSE, FALSE); SCRIPT_PutNumber(ud.config.scripthandle, "Screen Setup", "WindowPosX", windowx, FALSE, FALSE); SCRIPT_PutNumber(ud.config.scripthandle, "Screen Setup", "WindowPosY", windowy, FALSE, FALSE); #ifdef RENDERTYPEWIN SCRIPT_PutNumber(ud.config.scripthandle, "Screen Setup", "MaxRefreshFreq", maxrefreshfreq, FALSE, FALSE); #endif if (!NAM) { SCRIPT_PutNumber(ud.config.scripthandle, "Screen Setup", "Out",ud.lockout,FALSE,FALSE); SCRIPT_PutString(ud.config.scripthandle, "Screen Setup", "Password",ud.pwlockout); } #ifdef _WIN32 SCRIPT_PutNumber(ud.config.scripthandle, "Updates", "CheckForUpdates", ud.config.CheckForUpdates, FALSE, FALSE); SCRIPT_PutNumber(ud.config.scripthandle, "Updates", "LastUpdateCheck", ud.config.LastUpdateCheck, FALSE, FALSE); #endif if (ud.config.UseMouse) { for (dummy=0; dummy<MAXMOUSEBUTTONS; dummy++) { if (CONFIG_FunctionNumToName(ud.config.MouseFunctions[dummy][0])) { Bsprintf(buf, "MouseButton%d", dummy); SCRIPT_PutString(ud.config.scripthandle, "Controls", buf, CONFIG_FunctionNumToName(ud.config.MouseFunctions[dummy][0])); } if (dummy >= (MAXMOUSEBUTTONS-2)) continue; if (CONFIG_FunctionNumToName(ud.config.MouseFunctions[dummy][1])) { Bsprintf(buf, "MouseButtonClicked%d", dummy); SCRIPT_PutString(ud.config.scripthandle, "Controls", buf, CONFIG_FunctionNumToName(ud.config.MouseFunctions[dummy][1])); } } for (dummy=0; dummy<MAXMOUSEAXES; dummy++) { if (CONFIG_AnalogNumToName(ud.config.MouseAnalogueAxes[dummy])) { Bsprintf(buf, "MouseAnalogAxes%d", dummy); SCRIPT_PutString(ud.config.scripthandle, "Controls", buf, CONFIG_AnalogNumToName(ud.config.MouseAnalogueAxes[dummy])); } if (CONFIG_FunctionNumToName(ud.config.MouseDigitalFunctions[dummy][0])) { Bsprintf(buf, "MouseDigitalAxes%d_0", dummy); SCRIPT_PutString(ud.config.scripthandle, "Controls", buf, CONFIG_FunctionNumToName(ud.config.MouseDigitalFunctions[dummy][0])); } if (CONFIG_FunctionNumToName(ud.config.MouseDigitalFunctions[dummy][1])) { Bsprintf(buf, "MouseDigitalAxes%d_1", dummy); SCRIPT_PutString(ud.config.scripthandle, "Controls", buf, CONFIG_FunctionNumToName(ud.config.MouseDigitalFunctions[dummy][1])); } if (ud.config.MouseAnalogueScale[dummy] != DEFAULTMOUSEANALOGUESCALE) { Bsprintf(buf, "MouseAnalogScale%d", dummy); SCRIPT_PutNumber(ud.config.scripthandle, "Controls", buf, ud.config.MouseAnalogueScale[dummy], FALSE, FALSE); } } } if (ud.config.UseJoystick) { for (dummy=0; dummy<MAXJOYBUTTONSANDHATS; dummy++) { if (CONFIG_FunctionNumToName(ud.config.JoystickFunctions[dummy][0])) { Bsprintf(buf, "JoystickButton%d", dummy); SCRIPT_PutString(ud.config.scripthandle, "Controls", buf, CONFIG_FunctionNumToName(ud.config.JoystickFunctions[dummy][0])); } if (CONFIG_FunctionNumToName(ud.config.JoystickFunctions[dummy][1])) { Bsprintf(buf, "JoystickButtonClicked%d", dummy); SCRIPT_PutString(ud.config.scripthandle, "Controls", buf, CONFIG_FunctionNumToName(ud.config.JoystickFunctions[dummy][1])); } } for (dummy=0; dummy<MAXJOYAXES; dummy++) { if (CONFIG_AnalogNumToName(ud.config.JoystickAnalogueAxes[dummy])) { Bsprintf(buf, "JoystickAnalogAxes%d", dummy); SCRIPT_PutString(ud.config.scripthandle, "Controls", buf, CONFIG_AnalogNumToName(ud.config.JoystickAnalogueAxes[dummy])); } if (CONFIG_FunctionNumToName(ud.config.JoystickDigitalFunctions[dummy][0])) { Bsprintf(buf, "JoystickDigitalAxes%d_0", dummy); SCRIPT_PutString(ud.config.scripthandle, "Controls", buf, CONFIG_FunctionNumToName(ud.config.JoystickDigitalFunctions[dummy][0])); } if (CONFIG_FunctionNumToName(ud.config.JoystickDigitalFunctions[dummy][1])) { Bsprintf(buf, "JoystickDigitalAxes%d_1", dummy); SCRIPT_PutString(ud.config.scripthandle, "Controls", buf, CONFIG_FunctionNumToName(ud.config.JoystickDigitalFunctions[dummy][1])); } if (ud.config.JoystickAnalogueScale[dummy] != DEFAULTJOYSTICKANALOGUESCALE) { Bsprintf(buf, "JoystickAnalogScale%d", dummy); SCRIPT_PutNumber(ud.config.scripthandle, "Controls", buf, ud.config.JoystickAnalogueScale[dummy], FALSE, FALSE); } if (ud.config.JoystickAnalogueDead[dummy] != DEFAULTJOYSTICKANALOGUEDEAD) { Bsprintf(buf, "JoystickAnalogDead%d", dummy); SCRIPT_PutNumber(ud.config.scripthandle, "Controls", buf, ud.config.JoystickAnalogueDead[dummy], FALSE, FALSE); } if (ud.config.JoystickAnalogueSaturate[dummy] != DEFAULTJOYSTICKANALOGUESATURATE) { Bsprintf(buf, "JoystickAnalogSaturate%d", dummy); SCRIPT_PutNumber(ud.config.scripthandle, "Controls", buf, ud.config.JoystickAnalogueSaturate[dummy], FALSE, FALSE); } } } SCRIPT_PutString(ud.config.scripthandle, "Comm Setup","PlayerName",&szPlayerName[0]); if (g_rtsNamePtr == NULL) SCRIPT_PutString(ud.config.scripthandle, "Comm Setup","RTSName",&ud.rtsname[0]); char commmacro[] = "CommbatMacro# "; for (dummy = 0; dummy < MAXRIDECULE; dummy++) { commmacro[13] = dummy+'0'; SCRIPT_PutString(ud.config.scripthandle, "Comm Setup",commmacro,&ud.ridecule[dummy][0]); } SCRIPT_Save(ud.config.scripthandle, setupfilename); if ((flags & 2) == 0) SCRIPT_Free(ud.config.scripthandle); OSD_Printf("Wrote %s\n",setupfilename); CONFIG_WriteSettings(); Bfflush(NULL); }