// //////////////////////////////////////////////////////////////////////////// bool saveConfig() { QSettings ini(PHYSFS_getWriteDir() + QString("/") + fileName, QSettings::IniFormat); if (ini.status() != QSettings::NoError) { debug(LOG_ERROR, "Could not open configuration file \"%s\"", fileName); return false; } debug(LOG_WZ, "Writing prefs to registry \"%s\"", ini.fileName().toUtf8().constData()); // ////////////////////////// // voicevol, fxvol and cdvol ini.setValue("voicevol", (int)(sound_GetUIVolume() * 100.0)); ini.setValue("fxvol", (int)(sound_GetEffectsVolume() * 100.0)); ini.setValue("cdvol", (int)(sound_GetMusicVolume() * 100.0)); ini.setValue("music_enabled", war_GetMusicEnabled()); ini.setValue("width", war_GetWidth()); ini.setValue("height", war_GetHeight()); ini.setValue("bpp", pie_GetVideoBufferDepth()); ini.setValue("fullscreen", war_getFullscreen()); ini.setValue("language", getLanguage()); // dont save out the cheat mode. if (getDifficultyLevel() != DL_KILLER && getDifficultyLevel() != DL_TOUGH) { ini.setValue("difficulty", getDifficultyLevel()); // level } ini.setValue("showFPS", (SDWORD)showFPS); ini.setValue("scroll",(SDWORD)scroll_speed_accel); // scroll ini.setValue("shake",(SDWORD)(getShakeStatus())); // screenshake ini.setValue("mouseflip",(SDWORD)(getInvertMouseStatus())); // flipmouse ini.setValue("nomousewarp", (SDWORD)getMouseWarp()); // mouse warp ini.setValue("RightClickOrders",(SDWORD)(getRightClickOrders())); ini.setValue("MiddleClickRotate",(SDWORD)(getMiddleClickRotate())); ini.setValue("showFPS", (SDWORD)showFPS); ini.setValue("shadows",(SDWORD)(getDrawShadows())); // shadows ini.setValue("sound", (SDWORD)war_getSoundEnabled()); ini.setValue("FMVmode",(SDWORD)(war_GetFMVmode())); // sequences ini.setValue("scanlines", (SDWORD)war_getScanlineMode()); ini.setValue("subtitles",(SDWORD)(seq_GetSubtitles())); // subtitles ini.setValue("radarObjectMode",(SDWORD)bEnemyAllyRadarColor); // enemy/allies radar view ini.setValue("radarTerrainMode",(SDWORD)radarDrawMode); ini.setValue("trapCursor", war_GetTrapCursor()); ini.setValue("vsync", war_GetVsync()); ini.setValue("textureSize", getTextureSize()); ini.setValue("FSAA", war_getFSAA()); ini.setValue("UPnP", (SDWORD)NetPlay.isUPNP); ini.setValue("rotateRadar", rotateRadar); ini.setValue("PauseOnFocusLoss", war_GetPauseOnFocusLoss()); ini.setValue("masterserver_name", NETgetMasterserverName()); ini.setValue("masterserver_port", NETgetMasterserverPort()); ini.setValue("gameserver_port", NETgetGameserverPort()); if (!bMultiPlayer) { ini.setValue("colour", getPlayerColour(0)); // favourite colour. } else { if (NetPlay.isHost && ingame.localJoiningInProgress) { if (bMultiPlayer && NetPlay.bComms) { ini.setValue("gameName", game.name); // last hosted game } ini.setValue("mapName", game.map); // map name ini.setValue("mapHash", game.hash.toString().c_str()); // map hash ini.setValue("maxPlayers", game.maxPlayers); // maxPlayers ini.setValue("power", game.power); // power ini.setValue("base", game.base); // size of base ini.setValue("alliance", game.alliance); // allow alliances ini.setValue("scavengers", game.scavengers); } ini.setValue("playerName", (char*)sPlayer); // player name } ini.setValue("colourMP", war_getMPcolour()); ini.sync(); return true; }
// //////////////////////////////////////////////////////////////////////////// // Mouse Options static bool startMouseOptionsMenu(void) { addBackdrop(); addTopForm(); addBottomForm(); addTextHint(FRONTEND_TAKESEFFECT, FRONTEND_POS1X + 48, FRONTEND_POS1Y + 24, _("* May negatively affect performance")); //////////// // mouseflip addTextButton(FRONTEND_MFLIP, FRONTEND_POS2X-35, FRONTEND_POS2Y, _("Reverse Rotation"), 0); if( getInvertMouseStatus() ) { // flipped addTextButton(FRONTEND_MFLIP_R, FRONTEND_POS2M-25, FRONTEND_POS2Y, _("On"), 0); } else { // not flipped addTextButton(FRONTEND_MFLIP_R, FRONTEND_POS2M-25, FRONTEND_POS2Y, _("Off"), 0); } // Cursor trapping addTextButton(FRONTEND_TRAP, FRONTEND_POS3X-35, FRONTEND_POS3Y, _("Trap Cursor"), 0); if (war_GetTrapCursor()) { addTextButton(FRONTEND_TRAP_R, FRONTEND_POS3M-25, FRONTEND_POS3Y, _("On"), 0); } else { addTextButton(FRONTEND_TRAP_R, FRONTEND_POS3M-25, FRONTEND_POS3Y, _("Off"), 0); } //////////// // left-click orders addTextButton(FRONTEND_MBUTTONS, FRONTEND_POS2X-35, FRONTEND_POS5Y, _("Switch Mouse Buttons"), 0); if( getRightClickOrders() ) { // right-click orders addTextButton(FRONTEND_MBUTTONS_R, FRONTEND_POS2M-25, FRONTEND_POS5Y, _("On"), 0); } else { // left-click orders addTextButton(FRONTEND_MBUTTONS_R, FRONTEND_POS2M-25, FRONTEND_POS5Y, _("Off"), 0); } //////////// // middle-click rotate addTextButton(FRONTEND_MMROTATE, FRONTEND_POS2X-35, FRONTEND_POS6Y, _("Rotate Screen"), 0); if( getMiddleClickRotate() ) { // right-click orders addTextButton(FRONTEND_MMROTATE_R, FRONTEND_POS2M-25, FRONTEND_POS6Y, _("Middle Mouse"), 0); } else { // left-click orders addTextButton(FRONTEND_MMROTATE_R, FRONTEND_POS2M-25, FRONTEND_POS6Y, _("Right Mouse"), 0); } // Add some text down the side of the form addSideText(FRONTEND_SIDETEXT, FRONTEND_SIDEX, FRONTEND_SIDEY, _("MOUSE OPTIONS")); // Quit/return addMultiBut(psWScreen, FRONTEND_BOTFORM, FRONTEND_QUIT, 10, 10, 30, 29, P_("menu", "Return"), IMAGE_RETURN, IMAGE_RETURN_HI, IMAGE_RETURN_HI); return true; }
bool runMouseOptionsMenu(void) { UDWORD id = widgRunScreen(psWScreen); switch (id) { case FRONTEND_MFLIP: case FRONTEND_MFLIP_R: if( getInvertMouseStatus() ) {// flipped setInvertMouseStatus(false); widgSetString(psWScreen,FRONTEND_MFLIP_R, _("Off")); } else { // not flipped setInvertMouseStatus(true); widgSetString(psWScreen,FRONTEND_MFLIP_R, _("On")); } break; case FRONTEND_TRAP: case FRONTEND_TRAP_R: if (war_GetTrapCursor()) { war_SetTrapCursor(false); widgSetString(psWScreen, FRONTEND_TRAP_R, _("Off")); } else { war_SetTrapCursor(true); widgSetString(psWScreen, FRONTEND_TRAP_R, _("On")); } break; case FRONTEND_MBUTTONS: case FRONTEND_MBUTTONS_R: if( getRightClickOrders() ) { setRightClickOrders(false); widgSetString(psWScreen,FRONTEND_MBUTTONS_R, _("Off")); } else { setRightClickOrders(true); widgSetString(psWScreen,FRONTEND_MBUTTONS_R, _("On")); } break; case FRONTEND_MMROTATE: case FRONTEND_MMROTATE_R: if( getMiddleClickRotate() ) { setMiddleClickRotate(false); widgSetString(psWScreen,FRONTEND_MMROTATE_R, _("Right Mouse")); } else { setMiddleClickRotate(true); widgSetString(psWScreen,FRONTEND_MMROTATE_R, _("Middle Mouse")); } break; case FRONTEND_QUIT: changeTitleMode(OPTIONS); break; default: break; } if (CancelPressed()) { changeTitleMode(OPTIONS); } widgDisplayScreen(psWScreen); return true; }
// //////////////////////////////////////////////////////////////////////////// bool saveConfig(void) { debug( LOG_WZ, "Writing prefs to registry\n" ); if(!openWarzoneKey()) { return false; } // ////////////////////////// // voicevol, fxvol and cdvol setWarzoneKeyNumeric("voicevol", (int)(sound_GetUIVolume() * 100.0)); setWarzoneKeyNumeric("fxvol", (int)(sound_GetEffectsVolume() * 100.0)); setWarzoneKeyNumeric("cdvol", (int)(sound_GetMusicVolume() * 100.0)); setWarzoneKeyNumeric("music_enabled", war_GetMusicEnabled()); setWarzoneKeyNumeric("width", war_GetWidth()); setWarzoneKeyNumeric("height", war_GetHeight()); setWarzoneKeyNumeric("bpp", pie_GetVideoBufferDepth()); setWarzoneKeyNumeric("fullscreen", war_getFullscreen()); setWarzoneKeyString("language", getLanguage()); // dont save out the cheat mode. if(getDifficultyLevel()==DL_KILLER || getDifficultyLevel()== DL_TOUGH) { setDifficultyLevel(DL_NORMAL); } setWarzoneKeyNumeric("debugmode", bAllowDebugMode); setWarzoneKeyNumeric("framerate", (SDWORD)getFramerateLimit()); setWarzoneKeyNumeric("showFPS", (SDWORD)showFPS); setWarzoneKeyNumeric("scroll",(SDWORD)scroll_speed_accel); // scroll setWarzoneKeyNumeric("difficulty", getDifficultyLevel()); // level setWarzoneKeyNumeric("visfog",(SDWORD)(!war_GetFog())); // fogtype setWarzoneKeyNumeric("shake",(SDWORD)(getShakeStatus())); // screenshake setWarzoneKeyNumeric("mouseflip",(SDWORD)(getInvertMouseStatus())); // flipmouse setWarzoneKeyNumeric("RightClickOrders",(SDWORD)(getRightClickOrders())); setWarzoneKeyNumeric("MiddleClickRotate",(SDWORD)(getMiddleClickRotate())); setWarzoneKeyNumeric("shadows",(SDWORD)(getDrawShadows())); // shadows setWarzoneKeyNumeric("sound", (SDWORD)war_getSoundEnabled()); setWarzoneKeyNumeric("FMVmode",(SDWORD)(war_GetFMVmode())); // sequences setWarzoneKeyNumeric("subtitles",(SDWORD)(seq_GetSubtitles())); // subtitles setWarzoneKeyNumeric("radarObjectMode",(SDWORD)bEnemyAllyRadarColor); // enemy/allies radar view setWarzoneKeyNumeric("radarTerrainMode",(SDWORD)radarDrawMode); setWarzoneKeyNumeric("trapCursor", war_GetTrapCursor()); setWarzoneKeyNumeric("vsync", war_GetVsync()); setWarzoneKeyNumeric("textureSize", getTextureSize()); setWarzoneKeyNumeric("rotateRadar", rotateRadar); setWarzoneKeyNumeric("PauseOnFocusLoss", war_GetPauseOnFocusLoss()); setWarzoneKeyNumeric("ColouredCursor", war_GetColouredCursor()); setWarzoneKeyString("masterserver_name", NETgetMasterserverName()); setWarzoneKeyNumeric("masterserver_port", NETgetMasterserverPort()); setWarzoneKeyNumeric("gameserver_port", NETgetGameserverPort()); if(!bMultiPlayer) { setWarzoneKeyNumeric("colour",(SDWORD)getPlayerColour(0)); // favourite colour. } else { debug( LOG_NEVER, "Writing multiplay prefs to registry\n" ); if (NetPlay.isHost && ingame.localJoiningInProgress) { if (bMultiPlayer && NetPlay.bComms) { setWarzoneKeyString("gameName", game.name); // last hosted game } setWarzoneKeyString("mapName", game.map); // map name setWarzoneKeyNumeric("maxPlayers",game.maxPlayers); // maxPlayers setWarzoneKeyNumeric("power", game.power); // power setWarzoneKeyNumeric("base", game.base); // size of base setWarzoneKeyNumeric("fog", game.fog); // fog 'o war setWarzoneKeyNumeric("alliance", game.alliance); // allow alliances } setWarzoneKeyString("playerName",(char*)sPlayer); // player name setWarzoneKeyString("phrase0", ingame.phrases[0]); // phrases setWarzoneKeyString("phrase1", ingame.phrases[1]); setWarzoneKeyString("phrase2", ingame.phrases[2]); setWarzoneKeyString("phrase3", ingame.phrases[3]); setWarzoneKeyString("phrase4", ingame.phrases[4]); } return closeWarzoneKey(); }