tab_about.lua 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. --Minetest
  2. --Copyright (C) 2013 sapier
  3. --
  4. --This program is free software; you can redistribute it and/or modify
  5. --it under the terms of the GNU Lesser General Public License as published by
  6. --the Free Software Foundation; either version 2.1 of the License, or
  7. --(at your option) any later version.
  8. --
  9. --This program is distributed in the hope that it will be useful,
  10. --but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. --MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. --GNU Lesser General Public License for more details.
  13. --
  14. --You should have received a copy of the GNU Lesser General Public License along
  15. --with this program; if not, write to the Free Software Foundation, Inc.,
  16. --51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  17. --------------------------------------------------------------------------------
  18. local core_developers = {
  19. "Perttu Ahola (celeron55) <celeron55@gmail.com>",
  20. "sfan5 <sfan5@live.de>",
  21. "Nathanaëlle Courant (Nore/Ekdohibs) <nore@mesecons.net>",
  22. "Loic Blot (nerzhul/nrz) <loic.blot@unix-experience.fr>",
  23. "paramat",
  24. "Andrew Ward (rubenwardy) <rw@rubenwardy.com>",
  25. "Krock/SmallJoker <mk939@ymail.com>",
  26. "Lars Hofhansl <larsh@apache.org>",
  27. "Pierre-Yves Rollo <dev@pyrollo.com>",
  28. "v-rob <robinsonvincent89@gmail.com>",
  29. "hecks",
  30. "Hugues Ross <hugues.ross@gmail.com>",
  31. "Dmitry Kostenko (x2048) <codeforsmile@gmail.com>",
  32. }
  33. -- For updating active/previous contributors, see the script in ./util/gather_git_credits.py
  34. local active_contributors = {
  35. "Wuzzy [I18n for builtin, liquid features, fixes]",
  36. "Zughy [Various features and fixes]",
  37. "numzero [Graphics and rendering]",
  38. "Desour [Internal fixes, Clipboard on X11]",
  39. "Lars Müller [Various internal fixes]",
  40. "JosiahWI [CMake, cleanups and fixes]",
  41. "HybridDog [builtin, documentation]",
  42. "Jude Melton-Houghton [Database implementation]",
  43. "savilli [Fixes]",
  44. "Liso [Shadow Mapping]",
  45. "MoNTE48 [Build fix]",
  46. "Jean-Patrick Guerrero (kilbith) [Fixes]",
  47. "ROllerozxa [Code cleanups]",
  48. "Lejo [bitop library integration]",
  49. "LoneWolfHT [Build fixes]",
  50. "NeroBurner [Joystick]",
  51. "Elias Fleckenstein [Internal fixes]",
  52. "David CARLIER [Unix & Haiku build fixes]",
  53. "pecksin [Clickable web links]",
  54. "srfqi [Android & rendering fixes]",
  55. "EvidenceB [Formspec]",
  56. }
  57. local previous_core_developers = {
  58. "BlockMen",
  59. "Maciej Kasatkin (RealBadAngel) [RIP]",
  60. "Lisa Milne (darkrose) <lisa@ltmnet.com>",
  61. "proller",
  62. "Ilya Zhuravlev (xyz) <xyz@minetest.net>",
  63. "PilzAdam <pilzadam@minetest.net>",
  64. "est31 <MTest31@outlook.com>",
  65. "kahrl <kahrl@gmx.net>",
  66. "Ryan Kwolek (kwolekr) <kwolekr@minetest.net>",
  67. "sapier",
  68. "Zeno",
  69. "ShadowNinja <shadowninja@minetest.net>",
  70. "Auke Kok (sofar) <sofar@foo-projects.org>",
  71. "Aaron Suen <warr1024@gmail.com>",
  72. }
  73. local previous_contributors = {
  74. "Nils Dagsson Moskopp (erlehmann) <nils@dieweltistgarnichtso.net> [Minetest Logo]",
  75. "red-001 <red-001@outlook.ie>",
  76. "Giuseppe Bilotta",
  77. "Dániel Juhász (juhdanad) <juhdanad@gmail.com>",
  78. "MirceaKitsune <mirceakitsune@gmail.com>",
  79. "Constantin Wenger (SpeedProg)",
  80. "Ciaran Gultnieks (CiaranG)",
  81. "Paul Ouellette (pauloue)",
  82. "stujones11",
  83. "Rogier <rogier777@gmail.com>",
  84. "Gregory Currie (gregorycu)",
  85. "JacobF",
  86. "Jeija <jeija@mesecons.net> [HTTP, particles]",
  87. }
  88. local function buildCreditList(source)
  89. local ret = {}
  90. for i = 1, #source do
  91. ret[i] = core.formspec_escape(source[i])
  92. end
  93. return table.concat(ret, ",,")
  94. end
  95. return {
  96. name = "about",
  97. caption = fgettext("About"),
  98. cbf_formspec = function(tabview, name, tabdata)
  99. local logofile = defaulttexturedir .. "logo.png"
  100. local version = core.get_version()
  101. local fs = "image[0.75,0.5;2.2,2.2;" .. core.formspec_escape(logofile) .. "]" ..
  102. "style[label_button;border=false]" ..
  103. "button[0.5,2;2.5,2;label_button;" .. version.project .. " " .. version.string .. "]" ..
  104. "button[0.75,2.75;2,2;homepage;minetest.net]" ..
  105. "tablecolumns[color;text]" ..
  106. "tableoptions[background=#00000000;highlight=#00000000;border=false]" ..
  107. "table[3.5,-0.25;8.5,6.05;list_credits;" ..
  108. "#FFFF00," .. fgettext("Core Developers") .. ",," ..
  109. buildCreditList(core_developers) .. ",,," ..
  110. "#FFFF00," .. fgettext("Active Contributors") .. ",," ..
  111. buildCreditList(active_contributors) .. ",,," ..
  112. "#FFFF00," .. fgettext("Previous Core Developers") ..",," ..
  113. buildCreditList(previous_core_developers) .. ",,," ..
  114. "#FFFF00," .. fgettext("Previous Contributors") .. ",," ..
  115. buildCreditList(previous_contributors) .. "," ..
  116. ";1]"
  117. -- Render information
  118. fs = fs .. "label[0.75,4.9;" ..
  119. fgettext("Active renderer:") .. "\n" ..
  120. core.formspec_escape(core.get_screen_info().render_info) .. "]"
  121. if PLATFORM == "Android" then
  122. fs = fs .. "button[0,4;3.5,1;share_debug;" .. fgettext("Share debug log") .. "]"
  123. else
  124. fs = fs .. "tooltip[userdata;" ..
  125. fgettext("Opens the directory that contains user-provided worlds, games, mods,\n" ..
  126. "and texture packs in a file manager / explorer.") .. "]"
  127. fs = fs .. "button[0,4;3.5,1;userdata;" .. fgettext("Open User Data Directory") .. "]"
  128. end
  129. return fs
  130. end,
  131. cbf_button_handler = function(this, fields, name, tabdata)
  132. if fields.homepage then
  133. core.open_url("https://www.minetest.net")
  134. end
  135. if fields.share_debug then
  136. local path = core.get_user_path() .. DIR_DELIM .. "debug.txt"
  137. core.share_file(path)
  138. end
  139. if fields.userdata then
  140. core.open_dir(core.get_user_path())
  141. end
  142. end,
  143. }