Index: ps/trunk/binaries/data/mods/mod/gui/modmod/modmod.js =================================================================== --- ps/trunk/binaries/data/mods/mod/gui/modmod/modmod.js +++ ps/trunk/binaries/data/mods/mod/gui/modmod/modmod.js @@ -289,7 +289,7 @@ */ function isDependencyMet(dependency) { - let operator = dependency.match(g_RegExpComparison); + let operator = dependency.match(g_RegExpComparisonOperator); let [name, version] = operator ? dependency.split(operator[0]) : [dependency, undefined]; return g_ModsEnabled.some(folder => @@ -338,7 +338,7 @@ { let dependencies = {}; for (let folder of g_ModsEnabled) - dependencies[folder] = g_Mods[folder].dependencies.map(d => d.split(g_RegExpComparison)[0]); + dependencies[folder] = g_Mods[folder].dependencies.map(d => d.split(g_RegExpComparisonOperator)[0]); g_ModsEnabled.sort((folder1, folder2) => dependencies[folder1].indexOf(g_Mods[folder2].name) != -1 ? 1 : Index: ps/trunk/binaries/data/mods/mod/gui/modmod/validatemod.js =================================================================== --- ps/trunk/binaries/data/mods/mod/gui/modmod/validatemod.js +++ ps/trunk/binaries/data/mods/mod/gui/modmod/validatemod.js @@ -38,7 +38,7 @@ /** * Tests if the string only contains alphanumeric characters and _ - */ -const g_RegExpName = /[a-z0-9\-\_]+/i; +const g_RegExpName = /[a-zA-Z0-9\-\_]+/; /** * Tests if the version string consists only of numbers and at most two periods. @@ -120,7 +120,7 @@ let valid = modData.version.match(globalRegExp(g_RegExpVersion)); if (!valid && notify) - warn("mod name of " + folder + " may only contain numbers and at most 2 periods, but found '" + modData.version + "'!"); + warn("mod version of " + folder + " may only contain numbers and at most 2 periods, but found '" + modData.version + "'!"); return valid; } @@ -132,7 +132,7 @@ for (let dependency of modData.dependencies) { valid = valid && ( - dependency.match(globalRegExp(g_RegExpVersion)) || + dependency.match(globalRegExp(g_RegExpName)) || dependency.match(globalRegExp(g_RegExpComparison))); if (!valid && notify) Index: ps/trunk/binaries/data/mods/mod/gui/modmod/validatemod_test.js =================================================================== --- ps/trunk/binaries/data/mods/mod/gui/modmod/validatemod_test.js +++ ps/trunk/binaries/data/mods/mod/gui/modmod/validatemod_test.js @@ -8,12 +8,12 @@ "dependencies": [] }, "tm": { - "name": "terra_magna", + "name": "Terra_Magna", "version": "0.0.22", "label": "0 A.D. Terra Magna", "url": "forum.wildfiregames.com", "description": "Adds various civilizations to 0 A.D.", - "dependencies": ["0ad=0.0.23"] + "dependencies": ["0ad"] }, "mil": { "name": "millenniumad", @@ -74,6 +74,13 @@ "label": "", "description": "label may not be empty", "dependencies": [] + }, + "broken8": { + "name": "broken8", + "version": "8", + "label": "8", + "description": "a version is an invalid dependency", + "dependencies": ["0.0.23"] } };