Index: binaries/data/mods/mod/gui/modmod/modmod.js
===================================================================
--- binaries/data/mods/mod/gui/modmod/modmod.js
+++ binaries/data/mods/mod/gui/modmod/modmod.js
@@ -26,7 +26,7 @@
/**
* Every mod needs to define these properties.
*/
-var g_RequiredProperties = ["name", "label", "description", "dependencies", "version"];
+var g_RequiredProperties = ["name", "label", "description", "dependencies", "version", "label_version"];
/**
* Version checks in mod dependencies can use these operators.
@@ -84,7 +84,9 @@
if (g_RequiredProperties.every(prop => mods[folder][prop] !== undefined))
g_Mods[folder] = mods[folder];
else
- warn("Skipping mod '" + mod + "' which does not define '" + property + "'.");
+ warn("Skipping incomplete mod '" + folder + "'");
+
+ translateObjectKeys(g_Mods, ["label", "label_version", "description"]);
deepfreeze(g_Mods);
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
@@ -7,6 +7,11 @@
"nick": { "soundfile": "audio/interface/ui/chat_alert.ogg", "threshold": 3000 }
};
+function getCurrentModInfo()
+{
+ return Engine.ReadJSONFile("mod.json");
+}
+
// Get list of XML files in pathname with recursion, excepting those starting with _
function getXMLFileList(pathname)
{
Index: binaries/data/mods/public/gui/pregame/mainmenu.js
===================================================================
--- binaries/data/mods/public/gui/pregame/mainmenu.js
+++ binaries/data/mods/public/gui/pregame/mainmenu.js
@@ -2,6 +2,8 @@
var MARGIN = 4; // menu border size
var g_ShowSplashScreens;
+var g_ModFont = "sans-bold-16";
+
/**
* Available backdrops
*/
@@ -21,6 +23,12 @@
global.music.setState(global.music.states.MENU);
+ Engine.GetGUIObjectByName("versionLabel").caption =
+ '[font="' + g_ModFont + '"]' +
+ translate(getCurrentModInfo().label_version) +
+ "[/font]" + "\n\n" +
+ translate("WARNING: This is an early development version of the game. Many features have not been added yet.");
+
// Initialize currentSubmenuType with placeholder to avoid null when switching
currentSubmenuType = "submenuSinglePlayer";
Index: binaries/data/mods/public/gui/pregame/mainmenu.xml
===================================================================
--- binaries/data/mods/public/gui/pregame/mainmenu.xml
+++ binaries/data/mods/public/gui/pregame/mainmenu.xml
@@ -520,20 +520,13 @@
+ />