Index: binaries/data/config/default.cfg =================================================================== --- binaries/data/config/default.cfg +++ binaries/data/config/default.cfg @@ -397,6 +397,11 @@ [mod] enabledmods = "mod public" +[modio.v1] +baseurl = "https://api.test.mod.io/v1" +api_key = "acf8fc07e3a8e9228ef4d5704c1659a1" +name_id = "0ad" + [network] duplicateplayernames = false ; Rename joining player to "User (2)" if "User" is already connected, otherwise prohibit join. lateobservers = everyone ; Allow observers to join the game after it started. Possible values: everyone, buddies, disabled. Index: binaries/data/mods/mod/gui/modmod/modio.js =================================================================== --- /dev/null +++ binaries/data/mods/mod/gui/modmod/modio.js @@ -0,0 +1,64 @@ +let g_Mods = []; + +function init() +{ + g_Mods = Engine.ModIoGetMods(); + + warn(uneval(g_Mods)); + + generateModsList(g_Mods); +} + +function generateModsList(mods) +{ + var [keys, names, name_ids, versions, filesizes, filehash_md5s, downloads] = [[],[],[],[],[],[],[],[]]; + + let i = 0; + for (let mod of mods) + { + keys.push(i++); + names.push(mod.name); + name_ids.push(mod.name_id); + versions.push(mod.version); + filesizes.push(mod.filesize); + filehash_md5s.push(mod.filehash_md5); + downloads.push(mod.binary_url); + } + + var obj = Engine.GetGUIObjectByName("modsAvailableList"); + obj.list_name = names; + obj.list_modVersion = versions; + obj.list_modname_id = name_ids; + obj.list_modfilesize = filesizes; + obj.list_modfilehash_md5 = filehash_md5s; + obj.list_moddownload = downloads; + + obj.list = keys; +} + +function showModDescription() +{ + let listObject = Engine.GetGUIObjectByName("modsAvailableList"); + let desc = "No mod has been selected."; + if (listObject.selected != -1) + desc = g_Mods[listObject.selected].summary; + + Engine.GetGUIObjectByName("globalModDescription").caption = desc; +} + +function downloadMod() +{ + let listObject = Engine.GetGUIObjectByName("modsAvailableList"); + if (listObject.selected == -1) + { + warn("Select something first."); + return; + } + + Engine.ModIoDownloadMod(listObject.selected); +} + +function closePage() +{ + Engine.SwitchGuiPage("page_pregame.xml", {}); +} Index: binaries/data/mods/mod/gui/modmod/modio.xml =================================================================== --- /dev/null +++ binaries/data/mods/mod/gui/modmod/modio.xml @@ -0,0 +1,78 @@ + + + +