diff --git a/binaries/data/mods/public/gui/common/functions_utility.js b/binaries/data/mods/public/gui/common/functions_utility.js
index f7db117d5c..dd9fa954db 100644
--- a/binaries/data/mods/public/gui/common/functions_utility.js
+++ b/binaries/data/mods/public/gui/common/functions_utility.js
@@ -7,6 +7,15 @@ var g_SoundNotifications = {
"nick": { "soundfile": "audio/interface/ui/chat_alert.ogg", "threshold": 3000 }
};
+/**
+ * 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.
*/
diff --git a/binaries/data/mods/public/gui/gamesetup/gamesetup.js b/binaries/data/mods/public/gui/gamesetup/gamesetup.js
index 85379ecb1c..34b3f8e67a 100644
--- a/binaries/data/mods/public/gui/gamesetup/gamesetup.js
+++ b/binaries/data/mods/public/gui/gamesetup/gamesetup.js
@@ -1097,10 +1097,7 @@ function init(attribs)
// 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 @@ function initSPTips()
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.
diff --git a/binaries/data/mods/public/gui/gamesetup/gamesetup.xml b/binaries/data/mods/public/gui/gamesetup/gamesetup.xml
index 47554582ba..b18b88e167 100644
--- a/binaries/data/mods/public/gui/gamesetup/gamesetup.xml
+++ b/binaries/data/mods/public/gui/gamesetup/gamesetup.xml
@@ -136,7 +136,7 @@
Show this message in the future
diff --git a/binaries/data/mods/public/gui/gamesetup_mp/gamesetup_mp.js b/binaries/data/mods/public/gui/gamesetup_mp/gamesetup_mp.js
index 40a25146dd..21638db41a 100644
--- a/binaries/data/mods/public/gui/gamesetup_mp/gamesetup_mp.js
+++ b/binaries/data/mods/public/gui/gamesetup_mp/gamesetup_mp.js
@@ -272,23 +272,13 @@ function switchSetupPage(newPage)
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");
+ saveSettingAndWriteToUserConfig("playername.multiplayer", playername);
- // Save port
- Engine.ConfigDB_CreateValue("user", "multiplayerhosting.port", port);
- Engine.ConfigDB_WriteValueToFile("user", "multiplayerhosting.port", port, "config/user.cfg");
+ saveSettingAndWriteToUserConfig("multiplayerhosting.port", port);
let hostFeedback = Engine.GetGUIObjectByName("hostFeedback");
@@ -366,12 +356,9 @@ function startJoin(playername, ip, port, useSTUN, hostJID = "")
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;
}
diff --git a/binaries/data/mods/public/gui/gamesetup_mp/gamesetup_mp.xml b/binaries/data/mods/public/gui/gamesetup_mp/gamesetup_mp.xml
index 243a79c58f..d956451647 100644
--- a/binaries/data/mods/public/gui/gamesetup_mp/gamesetup_mp.xml
+++ b/binaries/data/mods/public/gui/gamesetup_mp/gamesetup_mp.xml
@@ -108,7 +108,7 @@