-- Override native print and use
-- terminal if that's turned on
function print(...)
- local n, t = select("#", ...), { ... }
+ local n, t = select("#", ...), {...}
for i = 1, n do
t[i] = tostring(t[i])
end
minetest = core
-- Load other files
-local scriptdir = core.get_builtin_path()..DIR_DELIM
-local gamepath = scriptdir.."game"..DIR_DELIM
-local commonpath = scriptdir.."common"..DIR_DELIM
-local asyncpath = scriptdir.."async"..DIR_DELIM
+local scriptdir = core.get_builtin_path() .. DIR_DELIM
+local gamepath = scriptdir .. "game" .. DIR_DELIM
+local commonpath = scriptdir .. "common" .. DIR_DELIM
+local asyncpath = scriptdir .. "async" .. DIR_DELIM
-dofile(commonpath.."strict.lua")
-dofile(commonpath.."serialize.lua")
-dofile(commonpath.."misc_helpers.lua")
+dofile(commonpath .. "strict.lua")
+dofile(commonpath .. "serialize.lua")
+dofile(commonpath .. "misc_helpers.lua")
if INIT == "game" then
- dofile(gamepath.."init.lua")
+ dofile(gamepath .. "init.lua")
elseif INIT == "mainmenu" then
local mainmenuscript = core.setting_get("main_menu_script")
if mainmenuscript ~= nil and mainmenuscript ~= "" then
dofile(mainmenuscript)
else
- dofile(core.get_mainmenu_path()..DIR_DELIM.."init.lua")
+ dofile(core.get_mainmenu_path() .. DIR_DELIM .. "init.lua")
end
elseif INIT == "async" then
- dofile(asyncpath.."init.lua")
+ dofile(asyncpath .. "init.lua")
else
error(("Unrecognized builtin initialization type %s!"):format(tostring(INIT)))
end
dofile(menupath .. DIR_DELIM .. "gamemgr.lua")
dofile(menupath .. DIR_DELIM .. "modmgr.lua")
dofile(menupath .. DIR_DELIM .. "store.lua")
+dofile(menupath .. DIR_DELIM .. "textures.lua")
+
dofile(menupath .. DIR_DELIM .. "dlg_config_world.lua")
-dofile(menupath .. DIR_DELIM .. "tab_credits.lua")
-dofile(menupath .. DIR_DELIM .. "tab_mods.lua")
-dofile(menupath .. DIR_DELIM .. "tab_settings.lua")
dofile(menupath .. DIR_DELIM .. "dlg_settings_advanced.lua")
if PLATFORM ~= "Android" then
dofile(menupath .. DIR_DELIM .. "dlg_create_world.lua")
dofile(menupath .. DIR_DELIM .. "dlg_delete_mod.lua")
dofile(menupath .. DIR_DELIM .. "dlg_delete_world.lua")
dofile(menupath .. DIR_DELIM .. "dlg_rename_modpack.lua")
- dofile(menupath .. DIR_DELIM .. "tab_multiplayer.lua")
- dofile(menupath .. DIR_DELIM .. "tab_server.lua")
- dofile(menupath .. DIR_DELIM .. "tab_singleplayer.lua")
- dofile(menupath .. DIR_DELIM .. "tab_texturepacks.lua")
- dofile(menupath .. DIR_DELIM .. "textures.lua")
+end
+
+local tabs = {}
+
+tabs.settings = dofile(menupath .. DIR_DELIM .. "tab_settings.lua")
+tabs.mods = dofile(menupath .. DIR_DELIM .. "tab_mods.lua")
+tabs.credits = dofile(menupath .. DIR_DELIM .. "tab_credits.lua")
+if PLATFORM == "Android" then
+ tabs.simple_main = dofile(menupath .. DIR_DELIM .. "tab_simple_main.lua")
else
- dofile(menupath .. DIR_DELIM .. "tab_simple_main.lua")
+ tabs.singleplayer = dofile(menupath .. DIR_DELIM .. "tab_singleplayer.lua")
+ tabs.multiplayer = dofile(menupath .. DIR_DELIM .. "tab_multiplayer.lua")
+ tabs.server = dofile(menupath .. DIR_DELIM .. "tab_server.lua")
+ tabs.texturepacks = dofile(menupath .. DIR_DELIM .. "tab_texturepacks.lua")
end
--------------------------------------------------------------------------------
-- Init gamedata
gamedata.worldindex = 0
+ if PLATFORM == "Android" then
+ local world_list = core.get_worlds()
+ local world_index = table.indexof(world_list, "singleplayerworld")
- if PLATFORM ~= "Android" then
+ if world_index == -1 then
+ core.create_world("singleplayerworld", 1)
+
+ world_list = core.get_worlds()
+ world_index = table.indexof(world_list, "singleplayerworld")
+ end
+
+ gamedata.worldindex = world_index
+ else
menudata.worldlist = filterlist.create(
core.get_worlds,
compare_worlds,
if not core.setting_get("menu_last_game") then
local default_game = core.setting_get("default_game") or "minetest"
- core.setting_set("menu_last_game", default_game )
+ core.setting_set("menu_last_game", default_game)
end
mm_texture.init()
- else
- local world_list = core.get_worlds()
-
- local found_singleplayerworld = false
-
- for i,world in pairs(world_list) do
- if world.name == "singleplayerworld" then
- found_singleplayerworld = true
- gamedata.worldindex = i
- break
- end
- end
-
- if not found_singleplayerworld then
- core.create_world("singleplayerworld", 1)
-
- local world_list = core.get_worlds()
-
- for i,world in pairs(world_list) do
- if world.name == "singleplayerworld" then
- gamedata.worldindex = i
- break
- end
- end
- end
end
-- Create main tabview
- local tv_main = tabview_create("maintab",{x=12,y=5.2},{x=0,y=0})
- if PLATFORM ~= "Android" then
- tv_main:set_autosave_tab(true)
- end
- if PLATFORM ~= "Android" then
- tv_main:add(tab_singleplayer)
- tv_main:add(tab_multiplayer)
- tv_main:add(tab_server)
+ local tv_main = tabview_create("maintab", {x = 12, y = 5.2}, {x = 0, y = 0})
+
+ if PLATFORM == "Android" then
+ tv_main:add(tabs.simple_main)
+ tv_main:add(tabs.settings)
else
- tv_main:add(tab_simple_main)
- end
- tv_main:add(tab_settings)
- if PLATFORM ~= "Android" then
- tv_main:add(tab_texturepacks)
+ tv_main:set_autosave_tab(true)
+ tv_main:add(tabs.singleplayer)
+ tv_main:add(tabs.multiplayer)
+ tv_main:add(tabs.server)
+ tv_main:add(tabs.settings)
+ tv_main:add(tabs.texturepacks)
end
- tv_main:add(tab_mods)
- tv_main:add(tab_credits)
- tv_main:set_global_event_handler(main_event_handler)
+ tv_main:add(tabs.mods)
+ tv_main:add(tabs.credits)
+ tv_main:set_global_event_handler(main_event_handler)
tv_main:set_fixed_size(false)
- if not (PLATFORM == "Android") then
+ if PLATFORM ~= "Android" then
tv_main:set_tab(core.setting_get("maintab_LAST"))
end
ui.set_default("maintab")
-- Create modstore ui
if PLATFORM == "Android" then
- modstore.init({x=12, y=6}, 3, 2)
+ modstore.init({x = 12, y = 6}, 3, 2)
else
- modstore.init({x=12, y=8}, 4, 3)
+ modstore.init({x = 12, y = 8}, 4, 3)
end
ui.update()