Index: binaries/data/mods/public/gui/common/functions_utility.js =================================================================== --- binaries/data/mods/public/gui/common/functions_utility.js +++ binaries/data/mods/public/gui/common/functions_utility.js @@ -8,6 +8,15 @@ }; /** + * Write setting with its value in the user config file. + */ +function writeSettingToUserConfig(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: binaries/data/mods/public/gui/gamesetup/gamesetup.js =================================================================== --- binaries/data/mods/public/gui/gamesetup/gamesetup.js +++ binaries/data/mods/public/gui/gamesetup/gamesetup.js @@ -1015,10 +1015,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"); - } + writeSettingToUserConfig("playername.singleplayer", singleplayerName()); initDefaults(); supplementDefaults(); @@ -1212,13 +1209,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"); -} - function verticallyDistributeGUIObjects(parent, objectHeight, ignore) { let yPos; Index: binaries/data/mods/public/gui/gamesetup/gamesetup.xml =================================================================== --- binaries/data/mods/public/gui/gamesetup/gamesetup.xml +++ binaries/data/mods/public/gui/gamesetup/gamesetup.xml @@ -132,7 +132,7 @@ Show this message in the future - saveSPTipsSetting(); + writeSettingToUserConfig("gui.gamesetup.enabletips", String(this.checked)); Index: binaries/data/mods/public/gui/gamesetup_mp/gamesetup_mp.js =================================================================== --- binaries/data/mods/public/gui/gamesetup_mp/gamesetup_mp.js +++ 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"); + writeSettingToUserConfig("playername.multiplayer", playername); + + writeSettingToUserConfig("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"); + writeSettingToUserConfig("playername.multiplayer", playername); + writeSettingToUserConfig("multiplayerserver", ip); + writeSettingToUserConfig("multiplayerjoining.port", port); } return true; } Index: binaries/data/mods/public/gui/gamesetup_mp/gamesetup_mp.xml =================================================================== --- binaries/data/mods/public/gui/gamesetup_mp/gamesetup_mp.xml +++ binaries/data/mods/public/gui/gamesetup_mp/gamesetup_mp.xml @@ -108,7 +108,7 @@ - saveSTUNSetting(String(this.checked)); + writeSettingToUserConfig("lobby.stun.enabled", String(this.checked)); Use STUN to work around firewalls Index: binaries/data/mods/public/gui/lobby/lobby.js =================================================================== --- binaries/data/mods/public/gui/lobby/lobby.js +++ binaries/data/mods/public/gui/lobby/lobby.js @@ -692,10 +692,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"); + writeSettingToUserConfig("lobby.buddies", g_Buddies.filter(nick => nick).join(g_BuddyListDelimiter) || g_BuddyListDelimiter); updatePlayerList(); updateGameList(); Index: binaries/data/mods/public/gui/prelobby/prelobby.js =================================================================== --- binaries/data/mods/public/gui/prelobby/prelobby.js +++ binaries/data/mods/public/gui/prelobby/prelobby.js @@ -191,15 +191,12 @@ { Engine.PopGuiPage(); Engine.SwitchGuiPage("page_lobby.xml"); - 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"); + writeSettingToUserConfig("playername.multiplayer", username); + writeSettingToUserConfig("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"); + writeSettingToUserConfig("lobby.password", g_EncryptedPassword); break; } } Index: binaries/data/mods/public/gui/session/menu.js =================================================================== --- binaries/data/mods/public/gui/session/menu.js +++ binaries/data/mods/public/gui/session/menu.js @@ -341,10 +341,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"); + writeSettingToUserConfig("chat.session.extended", String(Engine.GetGUIObjectByName("extendedChat").checked)); resizeChatWindow(); Index: binaries/data/mods/public/gui/session/session.js =================================================================== --- binaries/data/mods/public/gui/session/session.js +++ binaries/data/mods/public/gui/session/session.js @@ -1278,8 +1278,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"); + writeSettingToUserConfig(configName, String(enabled)); return enabled; } Index: binaries/data/mods/public/gui/splashscreen/splashscreen.xml =================================================================== --- binaries/data/mods/public/gui/splashscreen/splashscreen.xml +++ binaries/data/mods/public/gui/splashscreen/splashscreen.xml @@ -28,12 +28,8 @@ OK