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