]> git.lizzy.rs Git - minetest.git/commitdiff
Consistent title bar + render information in mainmenu (#10764)
authorSmallJoker <SmallJoker@users.noreply.github.com>
Tue, 30 Mar 2021 19:49:15 +0000 (21:49 +0200)
committerGitHub <noreply@github.com>
Tue, 30 Mar 2021 19:49:15 +0000 (21:49 +0200)
builtin/mainmenu/init.lua
builtin/mainmenu/tab_about.lua [new file with mode: 0644]
builtin/mainmenu/tab_credits.lua [deleted file]
doc/menu_lua_api.txt
src/client/game.cpp
src/script/lua_api/l_mainmenu.cpp

index 45089c7c9ad8e9cd1b294574dc5d1a097a37f3e1..0c8578cd6c4af9184038f45cf8eab736916107f2 100644 (file)
@@ -49,7 +49,7 @@ local tabs = {}
 
 tabs.settings = dofile(menupath .. DIR_DELIM .. "tab_settings.lua")
 tabs.content  = dofile(menupath .. DIR_DELIM .. "tab_content.lua")
-tabs.credits  = dofile(menupath .. DIR_DELIM .. "tab_credits.lua")
+tabs.about    = dofile(menupath .. DIR_DELIM .. "tab_about.lua")
 tabs.local_game = dofile(menupath .. DIR_DELIM .. "tab_local.lua")
 tabs.play_online = dofile(menupath .. DIR_DELIM .. "tab_online.lua")
 
@@ -98,7 +98,7 @@ local function init_globals()
 
        tv_main:add(tabs.content)
        tv_main:add(tabs.settings)
-       tv_main:add(tabs.credits)
+       tv_main:add(tabs.about)
 
        tv_main:set_global_event_handler(main_event_handler)
        tv_main:set_fixed_size(false)
diff --git a/builtin/mainmenu/tab_about.lua b/builtin/mainmenu/tab_about.lua
new file mode 100644 (file)
index 0000000..a1a7d4b
--- /dev/null
@@ -0,0 +1,145 @@
+--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.
+
+--------------------------------------------------------------------------------
+
+local core_developers = {
+       "Perttu Ahola (celeron55) <celeron55@gmail.com>",
+       "sfan5 <sfan5@live.de>",
+       "Nathanaël 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>",
+}
+
+-- For updating active/previous contributors, see the script in ./util/gather_git_credits.py
+
+local active_contributors = {
+       "Wuzzy [devtest game, visual corrections]",
+       "Zughy [Visual improvements, various fixes]",
+       "Maksim (MoNTE48) [Android]",
+       "numzero [Graphics and rendering]",
+       "appgurueu [Various internal fixes]",
+       "Desour [Formspec and vector API changes]",
+       "HybridDog [Rendering fixes and documentation]",
+       "Hugues Ross [Graphics-related improvements]",
+       "ANAND (ClobberXD) [Mouse buttons rebinding]",
+       "luk3yx [Fixes]",
+       "hecks [Audiovisuals, Lua API]",
+       "LoneWolfHT [Object crosshair, documentation fixes]",
+       "Lejo [Server-related improvements]",
+       "EvidenceB [Compass HUD element]",
+       "Paul Ouellette (pauloue) [Lua API, documentation]",
+       "TheTermos [Collision detection, physics]",
+       "David CARLIER [Unix & Haiku build fixes]",
+       "dcbrwn [Object shading]",
+       "Elias Fleckenstein [API features/fixes]",
+       "Jean-Patrick Guerrero (kilbith) [model element, visual fixes]",
+       "k.h.lai [Memory leak fixes, documentation]",
+}
+
+local previous_core_developers = {
+       "BlockMen",
+       "Maciej Kasatkin (RealBadAngel) [RIP]",
+       "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",
+       "Zeno",
+       "ShadowNinja <shadowninja@minetest.net>",
+       "Auke Kok (sofar) <sofar@foo-projects.org>",
+}
+
+local previous_contributors = {
+       "Nils Dagsson Moskopp (erlehmann) <nils@dieweltistgarnichtso.net> [Minetest Logo]",
+       "red-001 <red-001@outlook.ie>",
+       "Giuseppe Bilotta",
+       "Dániel Juhász (juhdanad) <juhdanad@gmail.com>",
+       "MirceaKitsune <mirceakitsune@gmail.com>",
+       "Constantin Wenger (SpeedProg)",
+       "Ciaran Gultnieks (CiaranG)",
+       "stujones11 [Android UX improvements]",
+       "Rogier <rogier777@gmail.com> [Fixes]",
+       "Gregory Currie (gregorycu) [optimisation]",
+       "srifqi [Fixes]",
+       "JacobF",
+       "Jeija <jeija@mesecons.net> [HTTP, particles]",
+}
+
+local function buildCreditList(source)
+       local ret = {}
+       for i = 1, #source do
+               ret[i] = core.formspec_escape(source[i])
+       end
+       return table.concat(ret, ",,")
+end
+
+return {
+       name = "about",
+       caption = fgettext("About"),
+       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) .. "]" ..
+                       "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]"
+
+               -- Render information
+               fs = fs .. "label[0.75,4.9;" ..
+                       fgettext("Active renderer:") .. "\n" ..
+                       core.formspec_escape(core.get_screen_info().render_info) .. "]"
+
+               if PLATFORM ~= "Android" then
+                       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") .. "]"
+               end
+
+               return fs
+       end,
+       cbf_button_handler = function(this, fields, name, tabdata)
+               if fields.homepage then
+                       core.open_url("https://www.minetest.net")
+               end
+
+               if fields.userdata then
+                       core.open_dir(core.get_user_path())
+               end
+       end,
+}
diff --git a/builtin/mainmenu/tab_credits.lua b/builtin/mainmenu/tab_credits.lua
deleted file mode 100644 (file)
index a34dd58..0000000
+++ /dev/null
@@ -1,140 +0,0 @@
---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.
-
---------------------------------------------------------------------------------
-
-local core_developers = {
-       "Perttu Ahola (celeron55) <celeron55@gmail.com>",
-       "sfan5 <sfan5@live.de>",
-       "Nathanaël 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>",
-}
-
--- For updating active/previous contributors, see the script in ./util/gather_git_credits.py
-
-local active_contributors = {
-       "Wuzzy [devtest game, visual corrections]",
-       "Zughy [Visual improvements, various fixes]",
-       "Maksim (MoNTE48) [Android]",
-       "numzero [Graphics and rendering]",
-       "appgurueu [Various internal fixes]",
-       "Desour [Formspec and vector API changes]",
-       "HybridDog [Rendering fixes and documentation]",
-       "Hugues Ross [Graphics-related improvements]",
-       "ANAND (ClobberXD) [Mouse buttons rebinding]",
-       "luk3yx [Fixes]",
-       "hecks [Audiovisuals, Lua API]",
-       "LoneWolfHT [Object crosshair, documentation fixes]",
-       "Lejo [Server-related improvements]",
-       "EvidenceB [Compass HUD element]",
-       "Paul Ouellette (pauloue) [Lua API, documentation]",
-       "TheTermos [Collision detection, physics]",
-       "David CARLIER [Unix & Haiku build fixes]",
-       "dcbrwn [Object shading]",
-       "Elias Fleckenstein [API features/fixes]",
-       "Jean-Patrick Guerrero (kilbith) [model element, visual fixes]",
-       "k.h.lai [Memory leak fixes, documentation]",
-}
-
-local previous_core_developers = {
-       "BlockMen",
-       "Maciej Kasatkin (RealBadAngel) [RIP]",
-       "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",
-       "Zeno",
-       "ShadowNinja <shadowninja@minetest.net>",
-       "Auke Kok (sofar) <sofar@foo-projects.org>",
-}
-
-local previous_contributors = {
-       "Nils Dagsson Moskopp (erlehmann) <nils@dieweltistgarnichtso.net> [Minetest Logo]",
-       "red-001 <red-001@outlook.ie>",
-       "Giuseppe Bilotta",
-       "Dániel Juhász (juhdanad) <juhdanad@gmail.com>",
-       "MirceaKitsune <mirceakitsune@gmail.com>",
-       "Constantin Wenger (SpeedProg)",
-       "Ciaran Gultnieks (CiaranG)",
-       "stujones11 [Android UX improvements]",
-       "Rogier <rogier777@gmail.com> [Fixes]",
-       "Gregory Currie (gregorycu) [optimisation]",
-       "srifqi [Fixes]",
-       "JacobF",
-       "Jeija <jeija@mesecons.net> [HTTP, particles]",
-}
-
-local function buildCreditList(source)
-       local ret = {}
-       for i = 1, #source do
-               ret[i] = core.formspec_escape(source[i])
-       end
-       return table.concat(ret, ",,")
-end
-
-return {
-       name = "credits",
-       caption = fgettext("Credits"),
-       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) .. "]" ..
-                       "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]"
-
-               if PLATFORM ~= "Android" then
-                       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.75;3.5,1;userdata;" .. fgettext("Open User Data Directory") .. "]"
-               end
-
-               return fs
-       end,
-       cbf_button_handler = function(this, fields, name, tabdata)
-               if fields.homepage then
-                       core.open_url("https://www.minetest.net")
-               end
-
-               if fields.userdata then
-                       core.open_dir(core.get_user_path())
-               end
-       end,
-}
index 90ec527b0ed5533ee7bf9c83ae0245d5cb08eaf7..f4dfff2613f77963ce5a773d405066fb865670b2 100644 (file)
@@ -204,7 +204,8 @@ core.get_screen_info()
     display_width   = <width of display>,
     display_height  = <height of display>,
     window_width    = <current window width>,
-    window_height   = <current window height>
+    window_height   = <current window height>,
+    render_info     = <active render information>
     }
 
 
index 31c782c51cc14702c6d0ea9987f0029fe14b78ce..334f1da670e8b241140d3a0a4906b596e4197fb8 100644 (file)
@@ -1390,9 +1390,21 @@ bool Game::createClient(const GameStartData &start_data)
        std::wstring str = utf8_to_wide(PROJECT_NAME_C);
        str += L" ";
        str += utf8_to_wide(g_version_hash);
+       {
+               const wchar_t *text = nullptr;
+               if (simple_singleplayer_mode)
+                       text = wgettext("Singleplayer");
+               else
+                       text = wgettext("Multiplayer");
+               str += L" [";
+               str += text;
+               str += L"]";
+               delete text;
+       }
        str += L" [";
        str += driver->getName();
        str += L"]";
+
        device->setWindowCaption(str.c_str());
 
        LocalPlayer *player = client->getEnv().getLocalPlayer();
index ba7f708a45f1f1439012af165e6217f90f1c721d..6826ece05a229d9f79cd3311c86f40e056e1fdcf 100644 (file)
@@ -856,14 +856,6 @@ int ModApiMainMenu::l_get_screen_info(lua_State *L)
        lua_pushnumber(L,RenderingEngine::getDisplayDensity());
        lua_settable(L, top);
 
-       lua_pushstring(L,"display_width");
-       lua_pushnumber(L,RenderingEngine::getDisplaySize().X);
-       lua_settable(L, top);
-
-       lua_pushstring(L,"display_height");
-       lua_pushnumber(L,RenderingEngine::getDisplaySize().Y);
-       lua_settable(L, top);
-
        const v2u32 &window_size = RenderingEngine::get_instance()->getWindowSize();
        lua_pushstring(L,"window_width");
        lua_pushnumber(L, window_size.X);
@@ -872,6 +864,10 @@ int ModApiMainMenu::l_get_screen_info(lua_State *L)
        lua_pushstring(L,"window_height");
        lua_pushnumber(L, window_size.Y);
        lua_settable(L, top);
+
+       lua_pushstring(L, "render_info");
+       lua_pushstring(L, wide_to_utf8(RenderingEngine::get_video_driver()->getName()).c_str());
+       lua_settable(L, top);
        return 1;
 }