diff --git a/binaries/data/mods/mod/gui/common/guitags.js b/binaries/data/mods/mod/gui/common/guitags.js index 142dc59028..4b3b2122e7 100644 --- a/binaries/data/mods/mod/gui/common/guitags.js +++ b/binaries/data/mods/mod/gui/common/guitags.js @@ -16,7 +16,7 @@ function setStringTags(text, tags) { let result = text; - for (let tag in tags) + for (const tag in tags) result = '[' + tag + '="' + tags[tag] + '"]' + result + '[/' + tag + ']'; return result; diff --git a/binaries/data/mods/mod/gui/common/l10n.js b/binaries/data/mods/mod/gui/common/l10n.js index 9da5a2e75c..20e2cb4eab 100644 --- a/binaries/data/mods/mod/gui/common/l10n.js +++ b/binaries/data/mods/mod/gui/common/l10n.js @@ -5,7 +5,7 @@ function filesizeToObj(filesize) { // We are unlikely to download files measured in units greater than GiB. - let units = [ + const units = [ translateWithContext("filesize unit", "B"), translateWithContext("filesize unit", "KiB"), translateWithContext("filesize unit", "MiB"), @@ -195,7 +195,7 @@ function translateObjectKeys(object, keys) { if (keys instanceof Array) { - for (let property in object) + for (const property in object) { if (keys.indexOf(property) > -1) { @@ -213,7 +213,7 @@ function translateObjectKeys(object, keys) // An empty value means no context. else { - for (let property in object) + for (const property in object) { if (property in keys) { diff --git a/binaries/data/mods/mod/gui/common/terms.js b/binaries/data/mods/mod/gui/common/terms.js index e69a8c1bf9..7ba5875be7 100644 --- a/binaries/data/mods/mod/gui/common/terms.js +++ b/binaries/data/mods/mod/gui/common/terms.js @@ -31,7 +31,7 @@ async function openTerms(page) function checkTerms() { - for (let page in g_Terms) + for (const page in g_Terms) if (!g_Terms[page].accepted) return g_Terms[page].instruction || page; @@ -47,6 +47,6 @@ function getTermsHash(page) function loadTermsAcceptance() { - for (let page in g_Terms) + for (const page in g_Terms) g_Terms[page].accepted = Engine.ConfigDB_GetValue("user", g_Terms[page].config) == getTermsHash(page); } diff --git a/binaries/data/mods/mod/gui/modio/modio.js b/binaries/data/mods/mod/gui/modio/modio.js index c3bbca792d..ab58074899 100644 --- a/binaries/data/mods/mod/gui/modio/modio.js +++ b/binaries/data/mods/mod/gui/modio/modio.js @@ -153,9 +153,9 @@ function init(data) function onTick(closePageCallback) { - let progressData = Engine.ModIoGetDownloadProgress(); + const progressData = Engine.ModIoGetDownloadProgress(); - let handler = g_ModIOState[progressData.status]; + const handler = g_ModIOState[progressData.status]; if (!handler) { warn("Unrecognized progress status: " + progressData.status); @@ -169,16 +169,16 @@ function onTick(closePageCallback) function displayMods() { - let modsAvailableList = Engine.GetGUIObjectByName("modsAvailableList"); - let selectedMod = modsAvailableList.list[modsAvailableList.selected]; + const modsAvailableList = Engine.GetGUIObjectByName("modsAvailableList"); + const selectedMod = modsAvailableList.list[modsAvailableList.selected]; modsAvailableList.selected = -1; let displayedMods = clone(g_ModsAvailableOnline); for (let i = 0; i < displayedMods.length; ++i) displayedMods[i].i = i; - let filterColumns = ["name", "name_id", "summary"]; - let filterText = Engine.GetGUIObjectByName("modFilter").caption.toLowerCase(); + const filterColumns = ["name", "name_id", "summary"]; + const filterText = Engine.GetGUIObjectByName("modFilter").caption.toLowerCase(); if (Engine.GetGUIObjectByName("compatibilityFilter").checked) displayedMods = displayedMods.filter(mod => !mod.invalid); displayedMods = displayedMods.filter(mod => filterColumns.some(column => mod[column].toLowerCase().indexOf(filterText) != -1)); @@ -200,7 +200,7 @@ function displayMods() function clearModList() { - let modsAvailableList = Engine.GetGUIObjectByName("modsAvailableList"); + const modsAvailableList = Engine.GetGUIObjectByName("modsAvailableList"); modsAvailableList.selected = -1; modsAvailableList.list_name = []; modsAvailableList.list_name_id = []; @@ -212,7 +212,7 @@ function clearModList() function selectedModIndex() { - let modsAvailableList = Engine.GetGUIObjectByName("modsAvailableList"); + const modsAvailableList = Engine.GetGUIObjectByName("modsAvailableList"); if (modsAvailableList.selected == -1) return undefined; @@ -227,9 +227,9 @@ function isSelectedModInvalid(selected) function showModDescription() { - let selected = selectedModIndex(); - let isSelected = selected !== undefined; - let isInvalid = isSelectedModInvalid(selected); + const selected = selectedModIndex(); + const isSelected = selected !== undefined; + const isInvalid = isSelectedModInvalid(selected); Engine.GetGUIObjectByName("downloadButton").enabled = isSelected && !isInvalid; Engine.GetGUIObjectByName("modDescription").caption = isSelected && !isInvalid ? g_ModsAvailableOnline[selected].summary : ""; Engine.GetGUIObjectByName("modError").caption = isSelected && isInvalid ? sprintf(translate("Invalid mod: %(error)s"), { "error": g_ModsAvailableOnline[selected].error }) : ""; @@ -270,7 +270,7 @@ async function updateModList(closePageCallback) async function downloadMod() { - let selected = selectedModIndex(); + const selected = selectedModIndex(); if (isSelectedModInvalid(selected)) return; @@ -314,10 +314,10 @@ async function progressDialog(dialogCaption, dialogTitle, showProgressBar, butto { Engine.GetGUIObjectByName("downloadDialog_title").caption = dialogTitle; - let downloadDialog_caption = Engine.GetGUIObjectByName("downloadDialog_caption"); + const downloadDialog_caption = Engine.GetGUIObjectByName("downloadDialog_caption"); downloadDialog_caption.caption = dialogCaption; - let size = downloadDialog_caption.size; + const size = downloadDialog_caption.size; size.rbottom = showProgressBar ? 40 : 80; downloadDialog_caption.size = size; @@ -342,11 +342,11 @@ async function progressDialog(dialogCaption, dialogTitle, showProgressBar, butto */ function updateProgressBar(progress, totalSize) { - let progressPercent = Math.ceil(progress * 100); + const progressPercent = Math.ceil(progress * 100); Engine.GetGUIObjectByName("downloadDialog_progressBar").progress = progressPercent; - let transferredSize = progress * totalSize; - let transferredSizeObj = filesizeToObj(transferredSize); + const transferredSize = progress * totalSize; + const transferredSizeObj = filesizeToObj(transferredSize); // Translation: Mod file download indicator. Current size over expected final size, with percentage complete. Engine.GetGUIObjectByName("downloadDialog_progressText").caption = sprintf(translate("%(current)s / %(total)s (%(percent)s%%)"), { "current": filesizeToObj(totalSize).unit == transferredSizeObj.unit ? transferredSizeObj.filesize : filesizeToString(transferredSize), @@ -354,9 +354,9 @@ function updateProgressBar(progress, totalSize) "percent": progressPercent }); - let elapsedTime = Date.now() - g_RequestStartTime; - let remainingTime = progressPercent ? (100 - progressPercent) * elapsedTime / progressPercent : 0; - let avgSpeed = filesizeToObj(transferredSize / (elapsedTime / 1000)); + const elapsedTime = Date.now() - g_RequestStartTime; + const remainingTime = progressPercent ? (100 - progressPercent) * elapsedTime / progressPercent : 0; + const avgSpeed = filesizeToObj(transferredSize / (elapsedTime / 1000)); // Translation: Mod file download status message. Engine.GetGUIObjectByName("downloadDialog_status").caption = sprintf(translate("Time Elapsed: %(elapsed)s\nEstimated Time Remaining: %(remaining)s\nAverage Speed: %(avgSpeed)s"), { "elapsed": timeToString(elapsedTime), diff --git a/binaries/data/mods/mod/gui/modmod/modmod.js b/binaries/data/mods/mod/gui/modmod/modmod.js index 045f76957a..5308e15832 100644 --- a/binaries/data/mods/mod/gui/modmod/modmod.js +++ b/binaries/data/mods/mod/gui/modmod/modmod.js @@ -133,7 +133,7 @@ function loadEnabledMods() function validateMods() { - for (let folder in g_Mods) + for (const folder in g_Mods) validateMod(folder, g_Mods[folder], true); } @@ -148,7 +148,7 @@ function initGUIFilters() function initGUIButtons(data) { // Either get back to the previous page or quit if there is no previous page - let hasPreviousPage = !data || data.cancelbutton || false; + const hasPreviousPage = !data || data.cancelbutton || false; Engine.GetGUIObjectByName("cancelButton").hidden = !hasPreviousPage; Engine.GetGUIObjectByName("quitButton").hidden = hasPreviousPage; // Turn 'save' off, it will be enabled on any change. @@ -179,11 +179,11 @@ function displayModLists() function displayModList(listObjectName, folders, enabled) { - let listObject = Engine.GetGUIObjectByName(listObjectName); + const listObject = Engine.GetGUIObjectByName(listObjectName); if (listObjectName == "modsDisabledList") { - let sortFolder = folder => String(getMod(folder)[listObject.selected_column] || folder); + const sortFolder = folder => String(getMod(folder)[listObject.selected_column] || folder); folders.sort((folder1, folder2) => listObject.selected_column_order * sortFolder(folder1).localeCompare(sortFolder(folder2))); @@ -193,7 +193,7 @@ function displayModList(listObjectName, folders, enabled) if (!enabled && Engine.GetGUIObjectByName("modCompatibleFilter").checked) folders = folders.filter(folder => g_ModsCompatibility[folder]); - let selected = listObject.selected !== -1 ? listObject.list_name[listObject.selected] : null; + const selected = listObject.selected !== -1 ? listObject.list_name[listObject.selected] : null; listObject.list_name = folders.map(folder => colorMod(folder, getMod(folder).name || "", enabled)); listObject.list_folder = folders.map(folder => colorMod(folder, folder, enabled)); @@ -219,7 +219,7 @@ function getModColor(folder, enabled) function colorMod(folder, text, enabled) { - let color = getModColor(folder, enabled); + const color = getModColor(folder, enabled); return color ? coloredText(text, color) : text; } @@ -230,7 +230,7 @@ function reloadDisabledMods() function enableMod() { - let modsDisabledList = Engine.GetGUIObjectByName("modsDisabledList"); + const modsDisabledList = Engine.GetGUIObjectByName("modsDisabledList"); let pos = modsDisabledList.selected; if (pos == -1 || !g_ModsCompatibility[g_ModsDisabledFiltered[pos]]) @@ -252,13 +252,13 @@ function enableMod() function disableMod() { - let modsEnabledList = Engine.GetGUIObjectByName("modsEnabledList"); - let pos = modsEnabledList.selected; + const modsEnabledList = Engine.GetGUIObjectByName("modsEnabledList"); + const pos = modsEnabledList.selected; if (pos == -1) return; // Find true position of disabled mod and remove it - let disabledMod = g_ModsEnabledFiltered[pos]; + const disabledMod = g_ModsEnabledFiltered[pos]; for (let i = 0; i < g_ModsEnabled.length; ++i) if (g_ModsEnabled[i] == disabledMod) { @@ -292,10 +292,10 @@ function disableMod() function filterMod(folder) { - let mod = getMod(folder); + const mod = getMod(folder); - let negateFilter = Engine.GetGUIObjectByName("negateFilter").checked; - let searchText = Engine.GetGUIObjectByName("modGenericFilter").caption; + const negateFilter = Engine.GetGUIObjectByName("negateFilter").checked; + const searchText = Engine.GetGUIObjectByName("modGenericFilter").caption; if (searchText && folder.indexOf(searchText) == -1 && @@ -326,17 +326,17 @@ function moveCurrItem(objectName, up) if (Engine.GetGUIObjectByName("modGenericFilter").caption) return; - let obj = Engine.GetGUIObjectByName(objectName); - let idx = obj.selected; + const obj = Engine.GetGUIObjectByName(objectName); + const idx = obj.selected; if (idx == -1) return; - let num = obj.list.length; - let idx2 = idx + (up ? -1 : 1); + const num = obj.list.length; + const idx2 = idx + (up ? -1 : 1); if (idx2 < 0 || idx2 >= num) return; - let tmp = g_ModsEnabled[idx]; + const tmp = g_ModsEnabled[idx]; g_ModsEnabled[idx] = g_ModsEnabled[idx2]; g_ModsEnabled[idx2] = tmp; @@ -353,7 +353,7 @@ function areDependenciesMet(folder, disabledAction = false) if (!g_Mods[folder]) return false; - for (let dependency of getMod(folder).dependencies) + for (const dependency of getMod(folder).dependencies) { if (!isDependencyMet(dependency)) return false; @@ -364,7 +364,7 @@ function areDependenciesMet(folder, disabledAction = false) function recomputeCompatibility(disabledAction = false) { - for (let mod in g_Mods) + for (const mod in g_Mods) g_ModsCompatibility[mod] = areDependenciesMet(mod, disabledAction); } @@ -373,8 +373,8 @@ function recomputeCompatibility(disabledAction = false) */ function isDependencyMet(dependency) { - let operator = dependency.match(g_RegExpComparisonOperator); - let [name, version] = operator ? dependency.split(operator[0]) : [dependency, undefined]; + const operator = dependency.match(g_RegExpComparisonOperator); + const [name, version] = operator ? dependency.split(operator[0]) : [dependency, undefined]; return g_ModsEnabled.some(folder => getMod(folder).name == name && @@ -388,16 +388,16 @@ function isDependencyMet(dependency) */ function versionSatisfied(version1, operator, version2) { - let versionList1 = version1.split(/[-_]/)[0].split(/\./g); - let versionList2 = version2.split(/[-_]/)[0].split(/\./g); + const versionList1 = version1.split(/[-_]/)[0].split(/\./g); + const versionList2 = version2.split(/[-_]/)[0].split(/\./g); - let eq = operator.indexOf("=") != -1; - let lt = operator.indexOf("<") != -1; - let gt = operator.indexOf(">") != -1; + const eq = operator.indexOf("=") != -1; + const lt = operator.indexOf("<") != -1; + const gt = operator.indexOf(">") != -1; for (let i = 0; i < Math.min(versionList1.length, versionList2.length); ++i) { - let diff = +versionList1[i] - +versionList2[i]; + const diff = +versionList1[i] - +versionList2[i]; if (gt && diff > 0 || lt && diff < 0) return true; @@ -407,7 +407,7 @@ function versionSatisfied(version1, operator, version2) } // common prefix matches - let ldiff = versionList1.length - versionList2.length; + const ldiff = versionList1.length - versionList2.length; if (!ldiff) return eq; @@ -420,8 +420,8 @@ function versionSatisfied(version1, operator, version2) function sortEnabledMods() { - let dependencies = {}; - for (let folder of g_ModsEnabled) + const dependencies = {}; + for (const folder of g_ModsEnabled) dependencies[folder] = getMod(folder).dependencies.map(d => d.split(g_RegExpComparisonOperator)[0]); g_ModsEnabled.sort((folder1, folder2) => @@ -433,13 +433,13 @@ function sortEnabledMods() function selectedMod(listObjectName) { - let listObject = Engine.GetGUIObjectByName(listObjectName); - let isPickedDisabledList = listObjectName == "modsDisabledList"; - let otherListObject = Engine.GetGUIObjectByName(isPickedDisabledList ? + const listObject = Engine.GetGUIObjectByName(listObjectName); + const isPickedDisabledList = listObjectName == "modsDisabledList"; + const otherListObject = Engine.GetGUIObjectByName(isPickedDisabledList ? "modsEnabledList" : "modsDisabledList"); - let toggleModButton = Engine.GetGUIObjectByName("toggleModButton"); - let isModSelected = listObject.selected != -1; + const toggleModButton = Engine.GetGUIObjectByName("toggleModButton"); + const isModSelected = listObject.selected != -1; if (isModSelected) { otherListObject.selected = -1; @@ -472,11 +472,11 @@ function selectedMod(listObjectName) */ function getSelectedModUrl() { - let modsEnabledList = Engine.GetGUIObjectByName("modsEnabledList"); - let modsDisabledList = Engine.GetGUIObjectByName("modsDisabledList"); + const modsEnabledList = Engine.GetGUIObjectByName("modsEnabledList"); + const modsDisabledList = Engine.GetGUIObjectByName("modsDisabledList"); - let list = modsEnabledList.selected == -1 ? modsDisabledList : modsEnabledList; - let folder = list.list[list.selected]; + const list = modsEnabledList.selected == -1 ? modsDisabledList : modsEnabledList; + const folder = list.list[list.selected]; return folder && getMod(folder) && getMod(folder).url || undefined; } diff --git a/binaries/data/mods/mod/gui/modmod/validatemod.js b/binaries/data/mods/mod/gui/modmod/validatemod.js index 6607d5aec4..5369b0926b 100644 --- a/binaries/data/mods/mod/gui/modmod/validatemod.js +++ b/binaries/data/mods/mod/gui/modmod/validatemod.js @@ -73,9 +73,9 @@ function validateMod(folder, modData, notify) { let valid = true; - for (let propertyName in g_ModProperties) + for (const propertyName in g_ModProperties) { - let property = g_ModProperties[propertyName]; + const property = g_ModProperties[propertyName]; if (modData[propertyName] === undefined) { @@ -107,7 +107,7 @@ function validateMod(folder, modData, notify) function validateName(folder, modData, notify) { - let valid = modData.name.match(globalRegExp(g_RegExpName)); + const valid = modData.name.match(globalRegExp(g_RegExpName)); if (!valid && notify) warn("mod name of " + folder + " may only contain alphanumeric characters, but found '" + modData.name + "'!"); @@ -117,7 +117,7 @@ function validateName(folder, modData, notify) function validateVersion(folder, modData, notify) { - let valid = modData.version.match(globalRegExp(g_RegExpVersion)); + const valid = modData.version.match(globalRegExp(g_RegExpVersion)); if (!valid && notify) warn("mod version of " + folder + " may only contain numbers and at most 2 periods, but found '" + modData.version + "'!"); @@ -129,7 +129,7 @@ function validateDependencies(folder, modData, notify) { let valid = true; - for (let dependency of modData.dependencies) + for (const dependency of modData.dependencies) { valid = valid && ( dependency.match(globalRegExp(g_RegExpName)) || @@ -144,7 +144,7 @@ function validateDependencies(folder, modData, notify) function validateLabel(folder, modData, notify) { - let valid = modData.label.match(g_RegExpLabel); + const valid = modData.label.match(g_RegExpLabel); if (!valid && notify) warn("mod label of " + folder + " may not be empty!"); diff --git a/binaries/data/mods/mod/gui/modmod/validatemod_test.js b/binaries/data/mods/mod/gui/modmod/validatemod_test.js index 784e6bf44f..76218a95a3 100644 --- a/binaries/data/mods/mod/gui/modmod/validatemod_test.js +++ b/binaries/data/mods/mod/gui/modmod/validatemod_test.js @@ -84,10 +84,10 @@ const g_TestModsInvalid = { } }; -for (let folder in g_ValidTestMods) +for (const folder in g_ValidTestMods) if (!validateMod(folder, g_ValidTestMods[folder], false)) throw new Error("Valid mod '" + folder + "' should have passed the test."); -for (let folder in g_TestModsInvalid) +for (const folder in g_TestModsInvalid) if (validateMod(folder, g_TestModsInvalid[folder], false)) throw new Error("Invalid mod '" + folder + "' should not have passed the test."); diff --git a/binaries/data/mods/mod/gui/msgbox/msgbox.js b/binaries/data/mods/mod/gui/msgbox/msgbox.js index 3d0f5d6e26..3bc43d251e 100644 --- a/binaries/data/mods/mod/gui/msgbox/msgbox.js +++ b/binaries/data/mods/mod/gui/msgbox/msgbox.js @@ -8,22 +8,22 @@ function init(data) Engine.GetGUIObjectByName("mbTitleBar").caption = data.title; // Set subject - let mbTextObj = Engine.GetGUIObjectByName("mbText"); + const mbTextObj = Engine.GetGUIObjectByName("mbText"); mbTextObj.caption = data.message; if (data.font) mbTextObj.font = data.font; // Default behaviour - let mbCancelHotkey = Engine.GetGUIObjectByName("mbCancelHotkey"); + const mbCancelHotkey = Engine.GetGUIObjectByName("mbCancelHotkey"); // Calculate size - let mbLRDiff = data.width / 2; - let mbUDDiff = data.height / 2; + const mbLRDiff = data.width / 2; + const mbUDDiff = data.height / 2; Engine.GetGUIObjectByName("mbMain").size = "50%-" + mbLRDiff + " 50%-" + mbUDDiff + " 50%+" + mbLRDiff + " 50%+" + mbUDDiff; - let captions = data.buttonCaptions || [translate("OK")]; + const captions = data.buttonCaptions || [translate("OK")]; - let mbButton = []; + const mbButton = []; const closePromise = setButtonCaptionsAndVisibility(mbButton, captions, mbCancelHotkey, "mbButton"); distributeButtonsHorizontally(mbButton, captions); diff --git a/binaries/data/mods/mod/gui/termsdialog/termsdialog.js b/binaries/data/mods/mod/gui/termsdialog/termsdialog.js index 873e583835..8add33089e 100644 --- a/binaries/data/mods/mod/gui/termsdialog/termsdialog.js +++ b/binaries/data/mods/mod/gui/termsdialog/termsdialog.js @@ -41,7 +41,7 @@ function initURLButtons(termsURL, urlButtons) }); urlButtons.forEach((urlButton, i) => { - let button = Engine.GetGUIObjectByName("button[" + i + "]"); + const button = Engine.GetGUIObjectByName("button[" + i + "]"); button.caption = urlButton.caption; button.hidden = false; button.tooltip = sprintf(translate("Open %(url)s in the browser."), { @@ -55,23 +55,23 @@ function initURLButtons(termsURL, urlButtons) function initLanguageSelection() { - let languageLabel = Engine.GetGUIObjectByName("languageLabel"); - let languageLabelWidth = Engine.GetTextWidth(languageLabel.font, languageLabel.caption); + const languageLabel = Engine.GetGUIObjectByName("languageLabel"); + const languageLabelWidth = Engine.GetTextWidth(languageLabel.font, languageLabel.caption); languageLabel.size = "0 0 " + languageLabelWidth + " 100%"; - let languageDropdown = Engine.GetGUIObjectByName("languageDropdown"); + const languageDropdown = Engine.GetGUIObjectByName("languageDropdown"); languageDropdown.size = (languageLabelWidth + 10) + " 4 100% 100%"; languageDropdown.list = (() => { - let displayNames = Engine.GetSupportedLocaleDisplayNames(); - let baseNames = Engine.GetSupportedLocaleBaseNames(); + const displayNames = Engine.GetSupportedLocaleDisplayNames(); + const baseNames = Engine.GetSupportedLocaleBaseNames(); // en-US - let list = [displayNames[0]]; + const list = [displayNames[0]]; // current locale - let currentLocaleDict = Engine.GetFallbackToAvailableDictLocale(Engine.GetCurrentLocale()); - let index = baseNames.indexOf(currentLocaleDict); + const currentLocaleDict = Engine.GetFallbackToAvailableDictLocale(Engine.GetCurrentLocale()); + const index = baseNames.indexOf(currentLocaleDict); if (index == -1) warn("Language '" + currentLocaleDict + "' is not available"); else if (currentLocaleDict != baseNames[0])