minetest/builtin/mainmenu/tab_about.lua

213 lines
6.4 KiB
Lua
Raw Normal View History

--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.
2022-07-28 17:45:16 +02:00
-- https://github.com/orgs/minetest/teams/engine/members
2016-03-21 05:15:50 +01:00
local core_developers = {
2022-07-28 17:45:16 +02:00
"Perttu Ahola (celeron55) <celeron55@gmail.com> [Project founder]",
2016-03-21 05:15:50 +01:00
"sfan5 <sfan5@live.de>",
2022-07-28 17:45:16 +02:00
"ShadowNinja <shadowninja@minetest.net>",
2022-06-16 21:20:12 +02:00
"Nathanaëlle Courant (Nore/Ekdohibs) <nore@mesecons.net>",
2016-03-21 05:15:50 +01:00
"Loic Blot (nerzhul/nrz) <loic.blot@unix-experience.fr>",
2020-04-05 18:30:44 +02:00
"Andrew Ward (rubenwardy) <rw@rubenwardy.com>",
"Krock/SmallJoker <mk939@ymail.com>",
2019-02-16 01:41:30 +01:00
"Lars Hofhansl <larsh@apache.org>",
2021-02-18 19:52:59 +01:00
"v-rob <robinsonvincent89@gmail.com>",
"Desour/DS",
"srifqi",
"Gregor Parzefall (grorp)",
2024-08-05 21:01:45 +02:00
"Lars Müller (luatic)",
2016-03-21 05:15:50 +01:00
}
2023-03-16 13:49:49 +01:00
-- currently only https://github.com/orgs/minetest/teams/triagers/members
2022-07-28 17:45:16 +02:00
local core_team = {
"Zughy [Issue triager]",
2023-03-16 13:49:49 +01:00
"wsor [Issue triager]",
"Hugo Locurcio (Calinou) [Issue triager]",
2022-07-28 17:45:16 +02:00
}
2021-02-18 19:52:59 +01:00
-- For updating active/previous contributors, see the script in ./util/gather_git_credits.py
2016-03-21 05:15:50 +01:00
local active_contributors = {
2024-08-05 21:01:45 +02:00
"cx384",
"numzero",
"AFCMS",
"sfence",
"Wuzzy",
"ROllerozxa",
"JosiahWI",
"OgelGames",
"David Heidelberg",
"1F616EMO",
"HybridDog",
"Bradley Pierce (Thresher)",
"savilli",
"Stvk imension",
"y5nw",
"chmodsayshello",
"jordan4ibanez",
"superfloh247",
2016-03-21 05:15:50 +01:00
}
local previous_core_developers = {
2016-03-24 17:17:37 +01:00
"BlockMen",
"Maciej Kasatkin (RealBadAngel) [RIP]",
2016-03-21 05:15:50 +01:00
"Lisa Milne (darkrose) <lisa@ltmnet.com>",
"proller",
"Ilya Zhuravlev (xyz) <xyz@minetest.net>",
"PilzAdam <pilzadam@minetest.net>",
"est31 <MTest31@outlook.com>",
"kahrl <kahrl@gmx.net>",
"Ryan Kwolek (kwolekr) <kwolekr@minetest.net>",
"sapier",
2019-02-16 01:41:30 +01:00
"Zeno",
2021-02-18 19:52:59 +01:00
"Auke Kok (sofar) <sofar@foo-projects.org>",
"Aaron Suen <warr1024@gmail.com>",
2022-07-28 17:45:16 +02:00
"paramat",
"Pierre-Yves Rollo <dev@pyrollo.com>",
2023-03-16 13:49:49 +01:00
"hecks",
"Jude Melton-Houghton (TurkeyMcMac) [RIP]",
"Hugues Ross <hugues.ross@gmail.com>",
"Dmitry Kostenko (x2048) <codeforsmile@gmail.com>",
2016-03-21 05:15:50 +01:00
}
local previous_contributors = {
2022-07-28 17:45:16 +02:00
"Nils Dagsson Moskopp (erlehmann) <nils@dieweltistgarnichtso.net> [Minetest logo]",
2020-04-05 18:30:44 +02:00
"red-001 <red-001@outlook.ie>",
"Giuseppe Bilotta",
2023-03-16 13:49:49 +01:00
"HybridDog",
2022-07-28 17:45:16 +02:00
"ClobberXD",
2021-02-18 19:52:59 +01:00
"Dániel Juhász (juhdanad) <juhdanad@gmail.com>",
2020-04-05 18:30:44 +02:00
"MirceaKitsune <mirceakitsune@gmail.com>",
2023-03-16 13:49:49 +01:00
"Jean-Patrick Guerrero (kilbith)",
2022-07-28 17:45:16 +02:00
"MoNTE48",
2020-04-05 18:30:44 +02:00
"Constantin Wenger (SpeedProg)",
"Ciaran Gultnieks (CiaranG)",
"Paul Ouellette (pauloue)",
"stujones11",
"Rogier <rogier777@gmail.com>",
"Gregory Currie (gregorycu)",
2021-02-18 19:52:59 +01:00
"JacobF",
2022-07-28 17:45:16 +02:00
"Jeija <jeija@mesecons.net>",
2016-03-21 05:15:50 +01:00
}
2022-07-28 21:02:01 +02:00
local function prepare_credits(dest, source)
local string = table.concat(source, "\n") .. "\n"
local hypertext_escapes = {
["\\"] = "\\\\",
["<"] = "\\<",
[">"] = "\\>",
}
string = string:gsub("[\\<>]", hypertext_escapes)
string = string:gsub("%[.-%]", "<gray>%1</gray>")
2022-07-28 21:02:01 +02:00
table.insert(dest, string)
end
return {
name = "about",
caption = fgettext("About"),
2016-03-21 05:15:50 +01:00
cbf_formspec = function(tabview, name, tabdata)
local logofile = defaulttexturedir .. "logo.png"
2014-05-07 04:31:35 +02:00
local version = core.get_version()
2022-07-28 21:02:01 +02:00
local hypertext = {
"<tag name=heading color=#ff0>",
"<tag name=gray color=#aaa>",
}
table.insert_all(hypertext, {
"<heading>", fgettext_ne("Core Developers"), "</heading>\n",
2022-07-28 21:02:01 +02:00
})
prepare_credits(hypertext, core_developers)
table.insert_all(hypertext, {
"\n",
"<heading>", fgettext_ne("Core Team"), "</heading>\n",
2022-07-28 21:02:01 +02:00
})
prepare_credits(hypertext, core_team)
table.insert_all(hypertext, {
"\n",
"<heading>", fgettext_ne("Active Contributors"), "</heading>\n",
2022-07-28 21:02:01 +02:00
})
prepare_credits(hypertext, active_contributors)
table.insert_all(hypertext, {
"\n",
"<heading>", fgettext_ne("Previous Core Developers"), "</heading>\n",
2022-07-28 21:02:01 +02:00
})
prepare_credits(hypertext, previous_core_developers)
table.insert_all(hypertext, {
"\n",
"<heading>", fgettext_ne("Previous Contributors"), "</heading>\n",
2022-07-28 21:02:01 +02:00
})
prepare_credits(hypertext, previous_contributors)
hypertext = table.concat(hypertext):sub(1, -2)
2022-07-28 21:02:01 +02:00
local fs = "image[1.5,0.6;2.5,2.5;" .. core.formspec_escape(logofile) .. "]" ..
"style[label_button;border=false]" ..
2022-07-28 21:02:01 +02:00
"button[0.1,3.4;5.3,0.5;label_button;" ..
core.formspec_escape(version.project .. " " .. version.string) .. "]" ..
"button_url[1.5,4.1;2.5,0.8;homepage;minetest.net;https://www.minetest.net/]" ..
"hypertext[5.5,0.25;9.75,6.6;credits;" .. minetest.formspec_escape(hypertext) .. "]"
-- Render information
local active_renderer_info = fgettext("Active renderer:") .. " " ..
core.formspec_escape(core.get_active_renderer())
2022-07-28 21:02:01 +02:00
fs = fs .. "style[label_button2;border=false]" ..
"button[0.1,6;5.3,0.5;label_button2;" .. active_renderer_info .. "]"..
"tooltip[label_button2;" .. active_renderer_info .. "]"
-- Irrlicht device information
local irrlicht_device_info = fgettext("Irrlicht device:") .. " " ..
core.formspec_escape(core.get_active_irrlicht_device())
fs = fs .. "style[label_button3;border=false]" ..
"button[0.1,6.5;5.3,0.5;label_button3;" .. irrlicht_device_info .. "]"..
"tooltip[label_button3;" .. irrlicht_device_info .. "]"
if PLATFORM == "Android" then
2022-07-28 21:02:01 +02:00
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.") .. "]"
2022-07-28 21:02:01 +02:00
fs = fs .. "button[0.5,5.1;4.5,0.8;userdata;" .. fgettext("Open User Data Directory") .. "]"
end
return fs
end,
cbf_button_handler = function(this, fields, name, tabdata)
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
end,
on_change = function(type)
if type == "ENTER" then
mm_game_theme.set_engine()
end
end,
2016-03-21 05:15:50 +01:00
}