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 @@ }; /** +* Set setting with value in user config and write into file. +*/ +function setConfigDb(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 @@ -1016,8 +1016,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"); + setConfigDb("playername.singleplayer", singleplayerName()); } initDefaults(); @@ -1215,8 +1214,7 @@ 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"); + setConfigDb("gui.gamesetup.enabletips", enabled); } function verticallyDistributeGUIObjects(parent, objectHeight, ignore) 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 @@ -274,8 +274,7 @@ function saveSTUNSetting(enabled) { - Engine.ConfigDB_CreateValue("user", "lobby.stun.enabled", enabled); - Engine.ConfigDB_WriteValueToFile("user", "lobby.stun.enabled", enabled, "config/user.cfg"); + setConfigDb("lobby.stun.enabled", enabled); } function startHost(playername, servername, port) @@ -283,12 +282,10 @@ startConnectionStatus("server"); // Save player name - Engine.ConfigDB_CreateValue("user", "playername.multiplayer", playername); - Engine.ConfigDB_WriteValueToFile("user", "playername.multiplayer", playername, "config/user.cfg"); + setConfigDb("playername.multiplayer", playername); // Save port - Engine.ConfigDB_CreateValue("user", "multiplayerhosting.port", port); - Engine.ConfigDB_WriteValueToFile("user", "multiplayerhosting.port", port, "config/user.cfg"); + setConfigDb("multiplayerhosting.port", port); let hostFeedback = Engine.GetGUIObjectByName("hostFeedback"); @@ -366,12 +363,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"); + setConfigDb("playername.multiplayer", playername); + setConfigDb("multiplayerserver", ip); + setConfigDb("multiplayerjoining.port", port); } return true; } 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"); + setConfigDb("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"); + setConfigDb("playername.multiplayer", username); + setConfigDb("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"); + setConfigDb("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 @@ -343,8 +343,7 @@ { // 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"); + setConfigDb("chat.session.extended", extended); 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 @@ -1277,8 +1277,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"); + setConfigDb(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