diff options
Diffstat (limited to 'builtin/mainmenu/tab_about.lua')
-rw-r--r-- | builtin/mainmenu/tab_about.lua | 144 |
1 files changed, 95 insertions, 49 deletions
diff --git a/builtin/mainmenu/tab_about.lua b/builtin/mainmenu/tab_about.lua index ba258fd2d..a84ebce3f 100644 --- a/builtin/mainmenu/tab_about.lua +++ b/builtin/mainmenu/tab_about.lua @@ -15,48 +15,46 @@ --with this program; if not, write to the Free Software Foundation, Inc., --51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --------------------------------------------------------------------------------- +-- https://github.com/orgs/minetest/teams/engine/members local core_developers = { - "Perttu Ahola (celeron55) <celeron55@gmail.com>", + "Perttu Ahola (celeron55) <celeron55@gmail.com> [Project founder]", "sfan5 <sfan5@live.de>", - "Nathanaël Courant (Nore/Ekdohibs) <nore@mesecons.net>", + "ShadowNinja <shadowninja@minetest.net>", + "Nathanaëlle Courant (Nore/Ekdohibs) <nore@mesecons.net>", "Loic Blot (nerzhul/nrz) <loic.blot@unix-experience.fr>", - "paramat", "Andrew Ward (rubenwardy) <rw@rubenwardy.com>", "Krock/SmallJoker <mk939@ymail.com>", "Lars Hofhansl <larsh@apache.org>", - "Pierre-Yves Rollo <dev@pyrollo.com>", "v-rob <robinsonvincent89@gmail.com>", "hecks", "Hugues Ross <hugues.ross@gmail.com>", "Dmitry Kostenko (x2048) <codeforsmile@gmail.com>", } +local core_team = { + "Zughy [Issue triager]", +} + -- For updating active/previous contributors, see the script in ./util/gather_git_credits.py local active_contributors = { - "Wuzzy [I18n for builtin, liquid features, fixes]", - "Zughy [Various features and fixes]", - "numzero [Graphics and rendering]", - "Desour [Internal fixes, Clipboard on X11]", - "Lars Müller [Various internal fixes]", - "JosiahWI [CMake, cleanups and fixes]", - "HybridDog [builtin, documentation]", - "Jude Melton-Houghton [Database implementation]", - "savilli [Fixes]", + "Wuzzy [Features, translations, devtest]", + "Lars Müller [Lua optimizations and fixes]", + "Jude Melton-Houghton [Optimizations, bugfixes]", + "paradust7 [Performance, fixes, Irrlicht refactoring]", + "Desour [Fixes]", + "ROllerozxa [Main menu]", + "savilli [Bugfixes]", + "Lexi Hale [Particlespawner animation]", "Liso [Shadow Mapping]", - "MoNTE48 [Build fix]", - "Jean-Patrick Guerrero (kilbith) [Fixes]", - "ROllerozxa [Code cleanups]", - "Lejo [bitop library integration]", - "LoneWolfHT [Build fixes]", + "JosiahWI [Fixes, build system]", + "numzero [Graphics and rendering]", + "HybridDog [Fixes]", "NeroBurner [Joystick]", - "Elias Fleckenstein [Internal fixes]", - "David CARLIER [Unix & Haiku build fixes]", "pecksin [Clickable web links]", - "srfqi [Android & rendering fixes]", - "EvidenceB [Formspec]", + "Daroc Alden [Fixes]", + "Jean-Patrick Guerrero (kilbith) [Fixes]", } local previous_core_developers = { @@ -71,33 +69,50 @@ local previous_core_developers = { "Ryan Kwolek (kwolekr) <kwolekr@minetest.net>", "sapier", "Zeno", - "ShadowNinja <shadowninja@minetest.net>", "Auke Kok (sofar) <sofar@foo-projects.org>", "Aaron Suen <warr1024@gmail.com>", + "paramat", + "Pierre-Yves Rollo <dev@pyrollo.com>", } local previous_contributors = { - "Nils Dagsson Moskopp (erlehmann) <nils@dieweltistgarnichtso.net> [Minetest Logo]", + "Nils Dagsson Moskopp (erlehmann) <nils@dieweltistgarnichtso.net> [Minetest logo]", "red-001 <red-001@outlook.ie>", "Giuseppe Bilotta", + "ClobberXD", "Dániel Juhász (juhdanad) <juhdanad@gmail.com>", "MirceaKitsune <mirceakitsune@gmail.com>", + "MoNTE48", "Constantin Wenger (SpeedProg)", "Ciaran Gultnieks (CiaranG)", "Paul Ouellette (pauloue)", "stujones11", + "srifqi", "Rogier <rogier777@gmail.com>", "Gregory Currie (gregorycu)", "JacobF", - "Jeija <jeija@mesecons.net> [HTTP, particles]", + "Jeija <jeija@mesecons.net>", } -local function buildCreditList(source) +local function prepare_credits(dest, source) + for _, s in ipairs(source) do + -- if there's text inside brackets make it gray-ish + s = s:gsub("%[.-%]", core.colorize("#aaa", "%1")) + dest[#dest+1] = s + end +end + +local function build_hacky_list(items, spacing) + spacing = spacing or 0.5 + local y = spacing / 2 local ret = {} - for i = 1, #source do - ret[i] = core.formspec_escape(source[i]) + for _, item in ipairs(items) do + if item ~= "" then + ret[#ret+1] = ("label[0,%f;%s]"):format(y, core.formspec_escape(item)) + end + y = y + spacing end - return table.concat(ret, ",,") + return table.concat(ret, ""), y end return { @@ -106,42 +121,73 @@ return { cbf_formspec = function(tabview, name, tabdata) local logofile = defaulttexturedir .. "logo.png" local version = core.get_version() - local fs = "image[0.75,0.5;2.2,2.2;" .. core.formspec_escape(logofile) .. "]" .. + + local credit_list = {} + table.insert_all(credit_list, { + core.colorize("#ff0", fgettext("Core Developers")) + }) + prepare_credits(credit_list, core_developers) + table.insert_all(credit_list, { + "", + core.colorize("#ff0", fgettext("Core Team")) + }) + prepare_credits(credit_list, core_team) + table.insert_all(credit_list, { + "", + core.colorize("#ff0", fgettext("Active Contributors")) + }) + prepare_credits(credit_list, active_contributors) + table.insert_all(credit_list, { + "", + core.colorize("#ff0", fgettext("Previous Core Developers")) + }) + prepare_credits(credit_list, previous_core_developers) + table.insert_all(credit_list, { + "", + core.colorize("#ff0", fgettext("Previous Contributors")) + }) + prepare_credits(credit_list, previous_contributors) + local credit_fs, scroll_height = build_hacky_list(credit_list) + -- account for the visible portion + scroll_height = math.max(0, scroll_height - 6.9) + + local fs = "image[1.5,0.6;2.5,2.5;" .. core.formspec_escape(logofile) .. "]" .. "style[label_button;border=false]" .. - "button[0.5,2;2.5,2;label_button;" .. version.project .. " " .. version.string .. "]" .. - "button[0.75,2.75;2,2;homepage;minetest.net]" .. - "tablecolumns[color;text]" .. - "tableoptions[background=#00000000;highlight=#00000000;border=false]" .. - "table[3.5,-0.25;8.5,6.05;list_credits;" .. - "#FFFF00," .. fgettext("Core Developers") .. ",," .. - buildCreditList(core_developers) .. ",,," .. - "#FFFF00," .. fgettext("Active Contributors") .. ",," .. - buildCreditList(active_contributors) .. ",,," .. - "#FFFF00," .. fgettext("Previous Core Developers") ..",," .. - buildCreditList(previous_core_developers) .. ",,," .. - "#FFFF00," .. fgettext("Previous Contributors") .. ",," .. - buildCreditList(previous_contributors) .. "," .. - ";1]" + "button[0.1,3.4;5.3,0.5;label_button;" .. + core.formspec_escape(version.project .. " " .. version.string) .. "]" .. + "button[1.5,4.1;2.5,0.8;homepage;minetest.net]" .. + "scroll_container[5.5,0.1;9.5,6.9;scroll_credits;vertical;" .. + tostring(scroll_height / 1000) .. "]" .. credit_fs .. + "scroll_container_end[]".. + "scrollbar[15,0.1;0.4,6.9;vertical;scroll_credits;0]" -- Render information - fs = fs .. "label[0.75,4.9;" .. + fs = fs .. "style[label_button2;border=false]" .. + "button[0.1,6;5.3,1;label_button2;" .. fgettext("Active renderer:") .. "\n" .. core.formspec_escape(core.get_screen_info().render_info) .. "]" - if PLATFORM ~= "Android" then + if PLATFORM == "Android" then + fs = fs .. "button[0.5,5.1;4.5,0.8;share_debug;" .. fgettext("Share debug log") .. "]" + else fs = fs .. "tooltip[userdata;" .. fgettext("Opens the directory that contains user-provided worlds, games, mods,\n" .. "and texture packs in a file manager / explorer.") .. "]" - fs = fs .. "button[0,4;3.5,1;userdata;" .. fgettext("Open User Data Directory") .. "]" + fs = fs .. "button[0.5,5.1;4.5,0.8;userdata;" .. fgettext("Open User Data Directory") .. "]" end - return fs + return fs, "size[15.5,7.1,false]real_coordinates[true]" end, cbf_button_handler = function(this, fields, name, tabdata) if fields.homepage then core.open_url("https://www.minetest.net") end + if fields.share_debug then + local path = core.get_user_path() .. DIR_DELIM .. "debug.txt" + core.share_file(path) + end + if fields.userdata then core.open_dir(core.get_user_path()) end |