Refactoring and code style fixes in preparation of adding mesh typed items
[oweals/minetest.git] / builtin / init.lua
index 4f55e80346fdc73f6845edb05c5b5480bcf72173..b3004468e5efd5ce853d6f942181ba5ccd9d516c 100644 (file)
@@ -6,7 +6,16 @@
 --
 
 -- Initialize some very basic things
-print = core.debug
+function core.debug(...) core.log(table.concat({...}, "\t")) end
+if core.print then
+       local core_print = core.print
+       -- Override native print and use
+       -- terminal if that's turned on
+       function print(...)
+               core_print(table.concat({...}, "\t"))
+       end
+       core.print = nil -- don't pollute our namespace
+end
 math.randomseed(os.time())
 os.setlocale("C", "numeric")
 minetest = core
@@ -17,13 +26,19 @@ 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")
 
 if INIT == "game" then
        dofile(gamepath.."init.lua")
 elseif INIT == "mainmenu" then
-       dofile(core.get_mainmenu_path()..DIR_DELIM.."init.lua")
+       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")
+       end
 elseif INIT == "async" then
        dofile(asyncpath.."init.lua")
 else