Index: ps/trunk/binaries/data/mods/public/gui/common/functions_utility.js =================================================================== --- ps/trunk/binaries/data/mods/public/gui/common/functions_utility.js +++ ps/trunk/binaries/data/mods/public/gui/common/functions_utility.js @@ -8,6 +8,15 @@ }; /** + * Save setting for current instance and write setting to the user config file. + */ +function saveSettingAndWriteToUserConfig(setting, value) +{ + Engine.ConfigDB_CreateValue("user", setting, value); + Engine.ConfigDB_WriteValueToFile("user", setting, value, "config/user.cfg"); +} + +/** * Returns translated history and gameplay data of all civs, optionally including a mock gaia civ. */ function loadCivData(selectableOnly, gaia) Index: ps/trunk/binaries/data/mods/public/gui/gamesetup/gamesetup.js =================================================================== --- ps/trunk/binaries/data/mods/public/gui/gamesetup/gamesetup.js +++ ps/trunk/binaries/data/mods/public/gui/gamesetup/gamesetup.js @@ -1097,10 +1097,7 @@ // Replace empty playername when entering a singleplayermatch for the first time if (!g_IsNetworked) - { - Engine.ConfigDB_CreateValue("user", "playername.singleplayer", singleplayerName()); - Engine.ConfigDB_WriteValueToFile("user", "playername.singleplayer", singleplayerName(), "config/user.cfg"); - } + saveSettingAndWriteToUserConfig("playername.singleplayer", singleplayerName()); initDefaults(); supplementDefaults(); @@ -1377,13 +1374,6 @@ Engine.GetGUIObjectByName("aiTips").caption = Engine.TranslateLines(Engine.ReadFile("gui/gamesetup/ai.txt")); } -function saveSPTipsSetting() -{ - let enabled = String(Engine.GetGUIObjectByName("displaySPTips").checked); - Engine.ConfigDB_CreateValue("user", "gui.gamesetup.enabletips", enabled); - Engine.ConfigDB_WriteValueToFile("user", "gui.gamesetup.enabletips", enabled, "config/user.cfg"); -} - /** * Distribute the currently visible settings over the settings panel. * First calculate the number of columns required, then place the objects. Index: ps/trunk/binaries/data/mods/public/gui/gamesetup/gamesetup.xml =================================================================== --- ps/trunk/binaries/data/mods/public/gui/gamesetup/gamesetup.xml +++ ps/trunk/binaries/data/mods/public/gui/gamesetup/gamesetup.xml @@ -136,7 +136,7 @@ Show this message in the future - saveSPTipsSetting(); + saveSettingAndWriteToUserConfig("gui.gamesetup.enabletips", String(this.checked)); Index: ps/trunk/binaries/data/mods/public/gui/gamesetup_mp/gamesetup_mp.js =================================================================== --- ps/trunk/binaries/data/mods/public/gui/gamesetup_mp/gamesetup_mp.js +++ ps/trunk/binaries/data/mods/public/gui/gamesetup_mp/gamesetup_mp.js @@ -272,23 +272,13 @@ Engine.GetGUIObjectByName("continueButton").hidden = newPage == "pageConnecting"; } -function saveSTUNSetting(enabled) -{ - Engine.ConfigDB_CreateValue("user", "lobby.stun.enabled", enabled); - Engine.ConfigDB_WriteValueToFile("user", "lobby.stun.enabled", enabled, "config/user.cfg"); -} - function startHost(playername, servername, port) { startConnectionStatus("server"); - // Save player name - Engine.ConfigDB_CreateValue("user", "playername.multiplayer", playername); - Engine.ConfigDB_WriteValueToFile("user", "playername.multiplayer", playername, "config/user.cfg"); - - // Save port - Engine.ConfigDB_CreateValue("user", "multiplayerhosting.port", port); - Engine.ConfigDB_WriteValueToFile("user", "multiplayerhosting.port", port, "config/user.cfg"); + saveSettingAndWriteToUserConfig("playername.multiplayer", playername); + + saveSettingAndWriteToUserConfig("multiplayerhosting.port", port); let hostFeedback = Engine.GetGUIObjectByName("hostFeedback"); @@ -366,12 +356,9 @@ else { // Only save the player name and host address if they're valid and we're not in the lobby - Engine.ConfigDB_CreateValue("user", "playername.multiplayer", playername); - Engine.ConfigDB_WriteValueToFile("user", "playername.multiplayer", playername, "config/user.cfg"); - Engine.ConfigDB_CreateValue("user", "multiplayerserver", ip); - Engine.ConfigDB_WriteValueToFile("user", "multiplayerserver", ip, "config/user.cfg"); - Engine.ConfigDB_CreateValue("user", "multiplayerjoining.port", port); - Engine.ConfigDB_WriteValueToFile("user", "multiplayerjoining.port", port, "config/user.cfg"); + saveSettingAndWriteToUserConfig("playername.multiplayer", playername); + saveSettingAndWriteToUserConfig("multiplayerserver", ip); + saveSettingAndWriteToUserConfig("multiplayerjoining.port", port); } return true; } Index: ps/trunk/binaries/data/mods/public/gui/gamesetup_mp/gamesetup_mp.xml =================================================================== --- ps/trunk/binaries/data/mods/public/gui/gamesetup_mp/gamesetup_mp.xml +++ ps/trunk/binaries/data/mods/public/gui/gamesetup_mp/gamesetup_mp.xml @@ -108,7 +108,7 @@ - saveSTUNSetting(String(this.checked)); + saveSettingAndWriteToUserConfig("lobby.stun.enabled", String(this.checked)); Use STUN to work around firewalls Index: ps/trunk/binaries/data/mods/public/gui/lobby/lobby.js =================================================================== --- ps/trunk/binaries/data/mods/public/gui/lobby/lobby.js +++ ps/trunk/binaries/data/mods/public/gui/lobby/lobby.js @@ -783,10 +783,7 @@ updateToggleBuddy(); - // Don't save empty strings to the config file - let buddies = g_Buddies.filter(nick => nick).join(g_BuddyListDelimiter) || g_BuddyListDelimiter; - Engine.ConfigDB_CreateValue("user", "lobby.buddies", buddies); - Engine.ConfigDB_WriteValueToFile("user", "lobby.buddies", buddies, "config/user.cfg"); + saveSettingAndWriteToUserConfig("lobby.buddies", g_Buddies.filter(nick => nick).join(g_BuddyListDelimiter) || g_BuddyListDelimiter); updatePlayerList(); updateGameList(); Index: ps/trunk/binaries/data/mods/public/gui/prelobby/prelobby.js =================================================================== --- ps/trunk/binaries/data/mods/public/gui/prelobby/prelobby.js +++ ps/trunk/binaries/data/mods/public/gui/prelobby/prelobby.js @@ -191,15 +191,12 @@ { Engine.PopGuiPage(); Engine.SwitchGuiPage("page_lobby.xml", { "dialog": false }); - Engine.ConfigDB_CreateValue("user", "playername.multiplayer", username); - Engine.ConfigDB_WriteValueToFile("user", "playername.multiplayer", username, "config/user.cfg"); - Engine.ConfigDB_CreateValue("user", "lobby.login", username); - Engine.ConfigDB_WriteValueToFile("user", "lobby.login", username, "config/user.cfg"); + saveSettingAndWriteToUserConfig("playername.multiplayer", username); + saveSettingAndWriteToUserConfig("lobby.login", username); // We only store the encrypted password, so make sure to re-encrypt it if changed before saving. if (password != g_EncryptedPassword.substring(0, 10)) g_EncryptedPassword = Engine.EncryptPassword(password, username); - Engine.ConfigDB_CreateValue("user", "lobby.password", g_EncryptedPassword); - Engine.ConfigDB_WriteValueToFile("user", "lobby.password", g_EncryptedPassword, "config/user.cfg"); + saveSettingAndWriteToUserConfig("lobby.password", g_EncryptedPassword); break; } } Index: ps/trunk/binaries/data/mods/public/gui/session/menu.js =================================================================== --- ps/trunk/binaries/data/mods/public/gui/session/menu.js +++ ps/trunk/binaries/data/mods/public/gui/session/menu.js @@ -350,10 +350,7 @@ function onToggleChatWindowExtended() { - // Save user preference - let extended = Engine.GetGUIObjectByName("extendedChat").checked.toString(); - Engine.ConfigDB_CreateValue("user", "chat.session.extended", extended); - Engine.ConfigDB_WriteValueToFile("user", "chat.session.extended", extended, "config/user.cfg"); + saveSettingAndWriteToUserConfig("chat.session.extended", String(Engine.GetGUIObjectByName("extendedChat").checked)); resizeChatWindow(); Index: ps/trunk/binaries/data/mods/public/gui/session/session.js =================================================================== --- ps/trunk/binaries/data/mods/public/gui/session/session.js +++ ps/trunk/binaries/data/mods/public/gui/session/session.js @@ -1280,8 +1280,7 @@ function toggleConfigBool(configName) { let enabled = Engine.ConfigDB_GetValue("user", configName) != "true"; - Engine.ConfigDB_CreateValue("user", configName, String(enabled)); - Engine.ConfigDB_WriteValueToFile("user", configName, String(enabled), "config/user.cfg"); + saveSettingAndWriteToUserConfig(configName, String(enabled)); return enabled; } Index: ps/trunk/binaries/data/mods/public/gui/splashscreen/splashscreen.xml =================================================================== --- ps/trunk/binaries/data/mods/public/gui/splashscreen/splashscreen.xml +++ ps/trunk/binaries/data/mods/public/gui/splashscreen/splashscreen.xml @@ -28,12 +28,8 @@ OK