diff --git a/builtin/mainmenu/init.lua b/builtin/mainmenu/init.lua index da4c3cc..ea64bf0 100644 --- a/builtin/mainmenu/init.lua +++ b/builtin/mainmenu/init.lua @@ -36,7 +36,6 @@ dofile(basepath .. "fstk" .. DIR_DELIM .. "ui.lua") dofile(menupath .. DIR_DELIM .. "common.lua") dofile(menupath .. DIR_DELIM .. "gamemgr.lua") dofile(menupath .. DIR_DELIM .. "modmgr.lua") -dofile(menupath .. DIR_DELIM .. "store.lua") dofile(menupath .. DIR_DELIM .. "textures.lua") dofile(menupath .. DIR_DELIM .. "dlg_config_world.lua") @@ -152,13 +151,6 @@ local function init_globals() ui.set_default("maintab") tv_main:show() - -- Create modstore ui - if PLATFORM == "Android" then - modstore.init({x = 12, y = 6}, 3, 2) - else - modstore.init({x = 12, y = 8}, 4, 3) - end - ui.update() core.sound_play("main_menu", true) diff --git a/builtin/mainmenu/store.lua b/builtin/mainmenu/store.lua deleted file mode 100644 index 59391f8..0000000 --- a/builtin/mainmenu/store.lua +++ /dev/null @@ -1,614 +0,0 @@ ---Minetest ---Copyright (C) 2013 sapier --- ---This program is free software; you can redistribute it and/or modify ---it under the terms of the GNU Lesser General Public License as published by ---the Free Software Foundation; either version 2.1 of the License, or ---(at your option) any later version. --- ---This program is distributed in the hope that it will be useful, ---but WITHOUT ANY WARRANTY; without even the implied warranty of ---MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ---GNU Lesser General Public License for more details. --- ---You should have received a copy of the GNU Lesser General Public License along ---with this program; if not, write to the Free Software Foundation, Inc., ---51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - --------------------------------------------------------------------------------- - ---modstore implementation -modstore = {} - --------------------------------------------------------------------------------- --- @function [parent=#modstore] init -function modstore.init(size, unsortedmods, searchmods) - - modstore.mods_on_unsorted_page = unsortedmods - modstore.mods_on_search_page = searchmods - modstore.modsperpage = modstore.mods_on_unsorted_page - - modstore.basetexturedir = core.get_texturepath() .. DIR_DELIM .. "base" .. - DIR_DELIM .. "pack" .. DIR_DELIM - - modstore.lastmodtitle = "" - modstore.last_search = "" - - modstore.searchlist = filterlist.create( - function() - if modstore.modlist_unsorted ~= nil and - modstore.modlist_unsorted.data ~= nil then - return modstore.modlist_unsorted.data - end - return {} - end, - function(element,modid) - if element.id == modid then - return true - end - return false - end, --compare fct - nil, --uid match fct - function(element,substring) - if substring == nil or - substring == "" then - return false - end - substring = substring:upper() - - if element.title ~= nil and - element.title:upper():find(substring) ~= nil then - return true - end - - if element.details ~= nil and - element.details.author ~= nil and - element.details.author:upper():find(substring) ~= nil then - return true - end - - if element.details ~= nil and - element.details.description ~= nil and - element.details.description:upper():find(substring) ~= nil then - return true - end - return false - end --filter fct - ) - - modstore.current_list = nil - - modstore.tv_store = tabview_create("modstore",size,{x=0,y=0}) - - modstore.tv_store:set_global_event_handler(modstore.handle_events) - - modstore.tv_store:add( - { - name = "unsorted", - caption = fgettext("Unsorted"), - cbf_formspec = modstore.unsorted_tab, - cbf_button_handler = modstore.handle_buttons, - on_change = - function() modstore.modsperpage = modstore.mods_on_unsorted_page end - } - ) - - modstore.tv_store:add( - { - name = "search", - caption = fgettext("Search"), - cbf_formspec = modstore.getsearchpage, - cbf_button_handler = modstore.handle_buttons, - on_change = modstore.activate_search_tab - } - ) -end - --------------------------------------------------------------------------------- --- @function [parent=#modstore] nametoindex -function modstore.nametoindex(name) - - for i=1,#modstore.tabnames,1 do - if modstore.tabnames[i] == name then - return i - end - end - - return 1 -end - --------------------------------------------------------------------------------- --- @function [parent=#modstore] showdownloading -function modstore.showdownloading(title) - local new_dlg = dialog_create("store_downloading", - function(data) - return "size[6,2]label[0.25,0.75;" .. - fgettext("Downloading $1, please wait...", data.title) .. "]" - end, - function(this,fields) - if fields["btn_hidden_close_download"] ~= nil then - if fields["btn_hidden_close_download"].successfull then - modstore.lastmodentry = fields["btn_hidden_close_download"] - modstore.successfulldialog(this) - else - this.parent:show() - this:delete() - modstore.lastmodtitle = "" - end - - return true - end - - return false - end, - nil) - - new_dlg:set_parent(modstore.tv_store) - modstore.tv_store:hide() - new_dlg.data.title = title - new_dlg:show() -end - --------------------------------------------------------------------------------- --- @function [parent=#modstore] successfulldialog -function modstore.successfulldialog(downloading_dlg) - local new_dlg = dialog_create("store_downloading", - function(data) - local retval = "" - retval = retval .. "size[6,2,true]" - if modstore.lastmodentry ~= nil then - retval = retval .. "label[0,0.25;" .. fgettext("Successfully installed:") .. "]" - retval = retval .. "label[3,0.25;" .. modstore.lastmodentry.moddetails.title .. "]" - retval = retval .. "label[0,0.75;" .. fgettext("Shortname:") .. "]" - retval = retval .. "label[3,0.75;" .. core.formspec_escape(modstore.lastmodentry.moddetails.basename) .. "]" - end - retval = retval .. "button[2.2,1.5;1.5,0.5;btn_confirm_mod_successfull;" .. fgettext("Ok") .. "]" - return retval - end, - function(this,fields) - if fields["btn_confirm_mod_successfull"] ~= nil then - this.parent:show() - downloading_dlg:delete() - this:delete() - - return true - end - - return false - end, - nil) - - new_dlg:set_parent(modstore.tv_store) - modstore.tv_store:hide() - new_dlg:show() -end - --------------------------------------------------------------------------------- --- @function [parent=#modstore] handle_buttons -function modstore.handle_buttons(parent, fields, name, data) - - if fields["btn_modstore_page_up"] then - if modstore.current_list ~= nil and modstore.current_list.page > 0 then - modstore.current_list.page = modstore.current_list.page - 1 - end - return true - end - - if fields["btn_modstore_page_down"] then - if modstore.current_list ~= nil and - modstore.current_list.page 1 then - local versiony = ypos + 0.05 - retval = retval .. "dropdown[9.1," .. versiony .. ";2.48,0.25;dd_version" .. details.id .. ";" - local versions = "" - for i=1,#details.versions , 1 do - if versions ~= "" then - versions = versions .. "," - end - - versions = versions .. details.versions[i].date:sub(1,10) - end - retval = retval .. versions .. ";1]" - end - - if details.basename then - --install button - local buttony = ypos + 1.2 - retval = retval .."button[9.1," .. buttony .. ";2.5,0.5;btn_install_mod_" .. details.id .. ";" - - if modmgr.mod_exists(details.basename) then - retval = retval .. fgettext("re-Install") .."]" - else - retval = retval .. fgettext("Install") .."]" - end - end - - return retval -end - --------------------------------------------------------------------------------- ---@function [parent=#modstore] getmodlist -function modstore.getmodlist(list,yoffset) - modstore.current_list = list - - if yoffset == nil then - yoffset = 0 - end - - local sb_y_start = 0.2 + yoffset - local sb_y_end = (modstore.modsperpage * 1.75) + ((modstore.modsperpage-1) * 0.15) - local close_button = "button[4," .. (sb_y_end + 0.3 + yoffset) .. - ";4,0.5;btn_modstore_close;" .. fgettext("Close store") .. "]" - - if #list.data == 0 then - return close_button - end - - local scrollbar = "" - scrollbar = scrollbar .. "label[0.1,".. (sb_y_end + 0.25 + yoffset) ..";" - .. fgettext("Page $1 of $2", list.page+1, list.pagecount) .. "]" - scrollbar = scrollbar .. "box[11.6," .. sb_y_start .. ";0.28," .. sb_y_end .. ";#000000]" - local scrollbarpos = (sb_y_start + 0.5) + - ((sb_y_end -1.6)/(list.pagecount-1)) * list.page - scrollbar = scrollbar .. "box[11.6," ..scrollbarpos .. ";0.28,0.5;#32CD32]" - scrollbar = scrollbar .. "button[11.6," .. (sb_y_start) - .. ";0.5,0.5;btn_modstore_page_up;^]" - scrollbar = scrollbar .. "button[11.6," .. (sb_y_start + sb_y_end - 0.5) - .. ";0.5,0.5;btn_modstore_page_down;v]" - - local retval = "" - - local endmod = (list.page * modstore.modsperpage) + modstore.modsperpage - - if (endmod > #list.data) then - endmod = #list.data - end - - for i=(list.page * modstore.modsperpage) +1, endmod, 1 do - --getmoddetails - local details = list.data[i].details - - if details == nil then - details = {} - details.title = list.data[i].title - details.author = "" - details.rating = -1 - details.description = "" - end - - if details ~= nil then - local screenshot_ypos = - yoffset +(i-1 - (list.page * modstore.modsperpage))*1.9 +0.2 - - retval = retval .. modstore.getshortmodinfo(screenshot_ypos, - list.data[i], - details) - end - end - - return retval .. scrollbar .. close_button -end - --------------------------------------------------------------------------------- ---@function [parent=#modstore] getsearchpage -function modstore.getsearchpage(tabview, name, tabdata) - local retval = "" - local search = "" - - if modstore.last_search ~= nil then - search = modstore.last_search - end - - retval = retval .. - "button[9.5,0.2;2.5,0.5;btn_modstore_search;".. fgettext("Search") .. "]" .. - "field[0.5,0.5;9,0.5;te_modstore_search;;" .. search .. "]" - - retval = retval .. - modstore.getmodlist( - modstore.currentlist, - 1.75) - - return retval; -end - --------------------------------------------------------------------------------- ---@function [parent=#modstore] unsorted_tab -function modstore.unsorted_tab() - return modstore.getmodlist(modstore.modlist_unsorted) -end - --------------------------------------------------------------------------------- ---@function [parent=#modstore] activate_search_tab -function modstore.activate_search_tab(type, old_tab, new_tab) - - if old_tab == new_tab then - return - end - filterlist.set_filtercriteria(modstore.searchlist,modstore.last_search) - filterlist.refresh(modstore.searchlist) - modstore.modsperpage = modstore.mods_on_search_page - modstore.currentlist = { - page = 0, - pagecount = - math.ceil(filterlist.size(modstore.searchlist) / modstore.modsperpage), - data = filterlist.get_list(modstore.searchlist), - } -end - diff --git a/builtin/mainmenu/tab_mods.lua b/builtin/mainmenu/tab_mods.lua index 9510a9e..d829c2c 100644 --- a/builtin/mainmenu/tab_mods.lua +++ b/builtin/mainmenu/tab_mods.lua @@ -33,15 +33,6 @@ local function get_formspec(tabview, name, tabdata) modmgr.render_modlist(modmgr.global_mods) .. ";" .. tabdata.selected_mod .. "]" - retval = retval .. --- "label[0.8,4.2;" .. fgettext("Add mod:") .. "]" .. --- TODO Disabled due to upcoming release 0.4.8 and irrlicht messing up localization --- "button[0.75,4.85;1.8,0.5;btn_mod_mgr_install_local;".. fgettext("Local install") .. "]" .. - --- TODO Disabled due to service being offline, and not likely to come online again, in this form --- "button[0,4.85;5.25,0.5;btn_modstore;".. fgettext("Online mod repository") .. "]" - "" - local selected_mod = nil if filterlist.size(modmgr.global_mods) >= tabdata.selected_mod then @@ -138,18 +129,6 @@ local function handle_buttons(tabview, fields, tabname, tabdata) return true end - if fields["btn_modstore"] ~= nil then - local modstore_ui = ui.find_by_name("modstore") - if modstore_ui ~= nil then - tabview:hide() - modstore.update_modlist() - modstore_ui:show() - else - print("modstore ui element not found") - end - return true - end - if fields["btn_mod_mgr_rename_modpack"] ~= nil then local dlg_renamemp = create_rename_modpack_dlg(tabdata.selected_mod) dlg_renamemp:set_parent(tabview) diff --git a/builtin/settingtypes.txt b/builtin/settingtypes.txt index 87b33fa..3f9163b 100644 --- a/builtin/settingtypes.txt +++ b/builtin/settingtypes.txt @@ -1601,11 +1601,5 @@ main_menu_game_mgr (Main menu game manager) int 0 main_menu_mod_mgr (Main menu mod manager) int 1 -modstore_download_url (Modstore download URL) string https://forum.minetest.net/media/ - -modstore_listmods_url (Modstore mods list URL) string https://forum.minetest.net/mmdb/mods/ - -modstore_details_url (Modstore details URL) string https://forum.minetest.net/mmdb/mod/*/ - # Print the engine's profiling data in regular intervals (in seconds). 0 = disable. Useful for developers. profiler_print_interval (Engine profiling data print interval) int 0