tab_credits.lua 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  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ël Courant (Nore/Ekdohibs) <nore@mesecons.net>",
  22. "Loic Blot (nerzhul/nrz) <loic.blot@unix-experience.fr>",
  23. "paramat",
  24. "Auke Kok (sofar) <sofar@foo-projects.org>",
  25. "Andrew Ward (rubenwardy) <rw@rubenwardy.com>",
  26. "Krock/SmallJoker <mk939@ymail.com>",
  27. "Lars Hofhansl <larsh@apache.org>",
  28. }
  29. local active_contributors = {
  30. "Hugues Ross [Formspecs]",
  31. "Maksim (MoNTE48) [Android]",
  32. "DS [Formspecs]",
  33. "pyrollo [Formspecs: Hypertext]",
  34. "v-rob [Formspecs]",
  35. "Jordach [set_sky]",
  36. "random-geek [Formspecs]",
  37. "Wuzzy [Pathfinder, builtin, translations]",
  38. "ANAND (ClobberXD) [Fixes, per-player FOV]",
  39. "Warr1024 [Fixes]",
  40. "Paul Ouellette (pauloue) [Fixes, Script API]",
  41. "Jean-Patrick G (kilbith) <jeanpatrick.guerrero@gmail.com> [Audiovisuals]",
  42. "HybridDog [Script API]",
  43. "dcbrwn [Object shading]",
  44. "srifqi [Fixes]",
  45. }
  46. local previous_core_developers = {
  47. "BlockMen",
  48. "Maciej Kasatkin (RealBadAngel) [RIP]",
  49. "Lisa Milne (darkrose) <lisa@ltmnet.com>",
  50. "proller",
  51. "Ilya Zhuravlev (xyz) <xyz@minetest.net>",
  52. "PilzAdam <pilzadam@minetest.net>",
  53. "est31 <MTest31@outlook.com>",
  54. "kahrl <kahrl@gmx.net>",
  55. "Ryan Kwolek (kwolekr) <kwolekr@minetest.net>",
  56. "sapier",
  57. "Zeno",
  58. "ShadowNinja <shadowninja@minetest.net>",
  59. }
  60. local previous_contributors = {
  61. "Nils Dagsson Moskopp (erlehmann) <nils@dieweltistgarnichtso.net> [Minetest Logo]",
  62. "Dániel Juhász (juhdanad) <juhdanad@gmail.com>",
  63. "red-001 <red-001@outlook.ie>",
  64. "numberZero [Audiovisuals: meshgen]",
  65. "Giuseppe Bilotta",
  66. "MirceaKitsune <mirceakitsune@gmail.com>",
  67. "Constantin Wenger (SpeedProg)",
  68. "Ciaran Gultnieks (CiaranG)",
  69. "stujones11 [Android UX improvements]",
  70. "Jeija <jeija@mesecons.net> [HTTP, particles]",
  71. "Vincent Glize (Dumbeldor) [Cleanups, CSM APIs]",
  72. "Ben Deutsch [Rendering, Fixes, SQLite auth]",
  73. "TeTpaAka [Hand overriding, nametag colors]",
  74. "Rui [Sound Pitch]",
  75. "Duane Robertson <duane@duanerobertson.com> [MGValleys]",
  76. "Raymoo [Tool Capabilities]",
  77. "Rogier <rogier777@gmail.com> [Fixes]",
  78. "Gregory Currie (gregorycu) [optimisation]",
  79. "TriBlade9 <triblade9@mail.com> [Audiovisuals]",
  80. "T4im [Profiler]",
  81. "Jurgen Doser (doserj) <jurgen.doser@gmail.com>",
  82. }
  83. local function buildCreditList(source)
  84. local ret = {}
  85. for i = 1, #source do
  86. ret[i] = core.formspec_escape(source[i])
  87. end
  88. return table.concat(ret, ",,")
  89. end
  90. return {
  91. name = "credits",
  92. caption = fgettext("Credits"),
  93. cbf_formspec = function(tabview, name, tabdata)
  94. local logofile = defaulttexturedir .. "logo.png"
  95. local version = core.get_version()
  96. local fs = "image[0.75,0.5;2.2,2.2;" .. core.formspec_escape(logofile) .. "]" ..
  97. "style[label_button;border=false]" ..
  98. "button[0.5,2;2.5,2;label_button;" .. version.project .. " " .. version.string .. "]" ..
  99. "button[0.75,2.75;2,2;homepage;minetest.net]" ..
  100. "tablecolumns[color;text]" ..
  101. "tableoptions[background=#00000000;highlight=#00000000;border=false]" ..
  102. "table[3.5,-0.25;8.5,6.05;list_credits;" ..
  103. "#FFFF00," .. fgettext("Core Developers") .. ",," ..
  104. buildCreditList(core_developers) .. ",,," ..
  105. "#FFFF00," .. fgettext("Active Contributors") .. ",," ..
  106. buildCreditList(active_contributors) .. ",,," ..
  107. "#FFFF00," .. fgettext("Previous Core Developers") ..",," ..
  108. buildCreditList(previous_core_developers) .. ",,," ..
  109. "#FFFF00," .. fgettext("Previous Contributors") .. ",," ..
  110. buildCreditList(previous_contributors) .. "," ..
  111. ";1]"
  112. if PLATFORM ~= "Android" then
  113. fs = fs .. "tooltip[userdata;" ..
  114. fgettext("Opens the directory that contains user-provided worlds, games, mods,\n" ..
  115. "and texture packs in a file manager / explorer.") .. "]"
  116. fs = fs .. "button[0,4.75;3.5,1;userdata;" .. fgettext("Open User Data Directory") .. "]"
  117. end
  118. return fs
  119. end,
  120. cbf_button_handler = function(this, fields, name, tabdata)
  121. if fields.homepage then
  122. core.open_url("https://www.minetest.net")
  123. end
  124. if fields.userdata then
  125. core.open_dir(core.get_user_path())
  126. end
  127. end,
  128. }