2013-07-16 20:56:18 +02:00
|
|
|
--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.
|
|
|
|
|
|
|
|
menubar = {}
|
|
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
function menubar.handle_buttons(fields)
|
|
|
|
for i=1,#menubar.buttons,1 do
|
|
|
|
if fields[menubar.buttons[i].btn_name] ~= nil then
|
|
|
|
menu.last_game = menubar.buttons[i].index
|
|
|
|
engine.setting_set("main_menu_last_game_idx",menu.last_game)
|
|
|
|
menu.update_gametype()
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
function menubar.refresh()
|
2013-11-09 13:56:36 +01:00
|
|
|
|
|
|
|
menubar.formspec = "box[-0.3,5.625;12.4,1.2;#000000]" ..
|
2013-11-02 04:26:44 +01:00
|
|
|
"box[-0.3,5.6;12.4,0.05;#FFFFFF]"
|
2013-07-16 20:56:18 +02:00
|
|
|
menubar.buttons = {}
|
|
|
|
|
2013-11-09 13:56:36 +01:00
|
|
|
local button_base = -0.08
|
2013-07-16 20:56:18 +02:00
|
|
|
|
|
|
|
local maxbuttons = #gamemgr.games
|
|
|
|
|
2013-11-09 13:56:36 +01:00
|
|
|
if maxbuttons > 11 then
|
|
|
|
maxbuttons = 11
|
2013-07-16 20:56:18 +02:00
|
|
|
end
|
|
|
|
|
|
|
|
for i=1,maxbuttons,1 do
|
|
|
|
|
|
|
|
local btn_name = "menubar_btn_" .. gamemgr.games[i].id
|
2013-11-09 13:56:36 +01:00
|
|
|
local buttonpos = button_base + (i-1) * 1.1
|
2013-07-16 20:56:18 +02:00
|
|
|
if gamemgr.games[i].menuicon_path ~= nil and
|
|
|
|
gamemgr.games[i].menuicon_path ~= "" then
|
|
|
|
|
|
|
|
menubar.formspec = menubar.formspec ..
|
2013-11-09 13:56:36 +01:00
|
|
|
"image_button[" .. buttonpos .. ",5.72;1.165,1.175;" ..
|
2013-08-20 22:38:14 +02:00
|
|
|
engine.formspec_escape(gamemgr.games[i].menuicon_path) .. ";" ..
|
|
|
|
btn_name .. ";;true;false]"
|
2013-07-16 20:56:18 +02:00
|
|
|
else
|
|
|
|
|
|
|
|
local part1 = gamemgr.games[i].id:sub(1,5)
|
|
|
|
local part2 = gamemgr.games[i].id:sub(6,10)
|
|
|
|
local part3 = gamemgr.games[i].id:sub(11)
|
|
|
|
|
|
|
|
local text = part1 .. "\n" .. part2
|
|
|
|
if part3 ~= nil and
|
|
|
|
part3 ~= "" then
|
|
|
|
text = text .. "\n" .. part3
|
|
|
|
end
|
|
|
|
menubar.formspec = menubar.formspec ..
|
2013-11-09 13:56:36 +01:00
|
|
|
"image_button[" .. buttonpos .. ",5.72;1.165,1.175;;" ..btn_name ..
|
2013-07-16 20:56:18 +02:00
|
|
|
";" .. text .. ";true;true]"
|
|
|
|
end
|
|
|
|
|
|
|
|
local toadd = {
|
|
|
|
btn_name = btn_name,
|
|
|
|
index = i,
|
|
|
|
}
|
|
|
|
|
|
|
|
table.insert(menubar.buttons,toadd)
|
|
|
|
end
|
2013-08-20 22:38:14 +02:00
|
|
|
end
|