merge mainmenu_helper.lua to misc_helpers.lua
authorsapier <Sapier at GMX dot net>
Tue, 16 Jul 2013 19:03:57 +0000 (21:03 +0200)
committerPilzAdam <pilzadam@minetest.net>
Mon, 22 Jul 2013 16:10:00 +0000 (18:10 +0200)
builtin/mainmenu_helper.lua [deleted file]
builtin/misc_helpers.lua
src/guiEngine.cpp

diff --git a/builtin/mainmenu_helper.lua b/builtin/mainmenu_helper.lua
deleted file mode 100644 (file)
index 1bdd33c..0000000
+++ /dev/null
@@ -1,165 +0,0 @@
---------------------------------------------------------------------------------
-function dump(o, dumped)
-       dumped = dumped or {}
-       if type(o) == "number" then
-               return tostring(o)
-       elseif type(o) == "string" then
-               return string.format("%q", o)
-       elseif type(o) == "table" then
-               if dumped[o] then
-                       return "<circular reference>"
-               end
-               dumped[o] = true
-               local t = {}
-               for k,v in pairs(o) do
-                       t[#t+1] = "" .. k .. " = " .. dump(v, dumped)
-               end
-               return "{" .. table.concat(t, ", ") .. "}"
-       elseif type(o) == "boolean" then
-               return tostring(o)
-       elseif type(o) == "function" then
-               return "<function>"
-       elseif type(o) == "userdata" then
-               return "<userdata>"
-       elseif type(o) == "nil" then
-               return "nil"
-       else
-               error("cannot dump a " .. type(o))
-               return nil
-       end
-end
-
---------------------------------------------------------------------------------
-function string:split(sep)
-       local sep, fields = sep or ",", {}
-       local pattern = string.format("([^%s]+)", sep)
-       self:gsub(pattern, function(c) fields[#fields+1] = c end)
-       return fields
-end
-
---------------------------------------------------------------------------------
-function string:trim()
-       return (self:gsub("^%s*(.-)%s*$", "%1"))
-end
-
---------------------------------------------------------------------------------
-engine.get_game = function(index)
-       local games = game.get_games()
-       
-       if index > 0 and index <= #games then
-               return games[index]
-       end
-       
-       return nil
-end
-
---------------------------------------------------------------------------------
-function fs_escape_string(text)
-       if text ~= nil then
-               while (text:find("\r\n") ~= nil) do
-                       local newtext = text:sub(1,text:find("\r\n")-1)
-                       newtext = newtext .. " " .. text:sub(text:find("\r\n")+3)
-                       
-                       text = newtext
-               end
-               
-               while (text:find("\n") ~= nil) do
-                       local newtext = text:sub(1,text:find("\n")-1)
-                       newtext = newtext .. " " .. text:sub(text:find("\n")+1)
-                       
-                       text = newtext
-               end
-               
-               while (text:find("\r") ~= nil) do
-                       local newtext = text:sub(1,text:find("\r")-1)
-                       newtext = newtext .. " " .. text:sub(text:find("\r")+1)
-                       
-                       text = newtext
-               end
-               
-               text = string.gsub(text,"\\","\\\\")
-               text = string.gsub(text,"%]","\\]")
-               text = string.gsub(text,"%[","\\[")
-               text = string.gsub(text,";","\\;")
-               text = string.gsub(text,",","\\,")
-       end
-       return text
-end
-
---------------------------------------------------------------------------------
-function explode_textlist_event(text)
-       
-       local retval = {}
-       retval.typ = "INV"
-       
-       local parts = text:split(":")
-                               
-       if #parts == 2 then
-               retval.typ = parts[1]:trim()
-               retval.index= tonumber(parts[2]:trim())
-               
-               if type(retval.index) ~= "number" then
-                       retval.typ = "INV"
-               end
-       end
-       
-       return retval
-end
-
---------------------------------------------------------------------------------
-function get_last_folder(text,count)
-       local parts = text:split(DIR_DELIM)
-       
-       if count == nil then
-               return parts[#parts]
-       end
-       
-       local retval = ""
-       for i=1,count,1 do
-               retval = retval .. parts[#parts - (count-i)] .. DIR_DELIM
-       end
-       
-       return retval
-end
-
---------------------------------------------------------------------------------
-function cleanup_path(temppath)
-       
-       local parts = temppath:split("-")
-       temppath = ""   
-       for i=1,#parts,1 do
-               if temppath ~= "" then
-                       temppath = temppath .. "_"
-               end
-               temppath = temppath .. parts[i]
-       end
-       
-       parts = temppath:split(".")
-       temppath = ""   
-       for i=1,#parts,1 do
-               if temppath ~= "" then
-                       temppath = temppath .. "_"
-               end
-               temppath = temppath .. parts[i]
-       end
-       
-       parts = temppath:split("'")
-       temppath = ""   
-       for i=1,#parts,1 do
-               if temppath ~= "" then
-                       temppath = temppath .. ""
-               end
-               temppath = temppath .. parts[i]
-       end
-       
-       parts = temppath:split(" ")
-       temppath = ""   
-       for i=1,#parts,1 do
-               if temppath ~= "" then
-                       temppath = temppath
-               end
-               temppath = temppath .. parts[i]
-       end
-       
-       return temppath
-end
\ No newline at end of file
index 0439415b1b140bc260074bf8efb9602cf790e013..0f49bc3a6bd5f81876c577898d74f3198697ecb3 100644 (file)
@@ -1,5 +1,6 @@
 -- Minetest: builtin/misc_helpers.lua
 
+--------------------------------------------------------------------------------
 function basic_dump2(o)
        if type(o) == "number" then
                return tostring(o)
@@ -19,6 +20,7 @@ function basic_dump2(o)
        end
 end
 
+--------------------------------------------------------------------------------
 function dump2(o, name, dumped)
        name = name or "_"
        dumped = dumped or {}
@@ -44,6 +46,7 @@ function dump2(o, name, dumped)
        end
 end
 
+--------------------------------------------------------------------------------
 function dump(o, dumped)
        dumped = dumped or {}
        if type(o) == "number" then
@@ -74,6 +77,7 @@ function dump(o, dumped)
        end
 end
 
+--------------------------------------------------------------------------------
 function string:split(sep)
        local sep, fields = sep or ",", {}
        local pattern = string.format("([^%s]+)", sep)
@@ -81,16 +85,16 @@ function string:split(sep)
        return fields
 end
 
+--------------------------------------------------------------------------------
 function string:trim()
        return (self:gsub("^%s*(.-)%s*$", "%1"))
 end
 
 assert(string.trim("\n \t\tfoo bar\t ") == "foo bar")
 
-function minetest.pos_to_string(pos)
-       return "(" .. pos.x .. "," .. pos.y .. "," .. pos.z .. ")"
-end
 
+
+--------------------------------------------------------------------------------
 function math.hypot(x, y)
        local t
        x = math.abs(x)
@@ -102,3 +106,138 @@ function math.hypot(x, y)
        return x * math.sqrt(1 + t * t)
 end
 
+--------------------------------------------------------------------------------
+function explode_textlist_event(text)
+       
+       local retval = {}
+       retval.typ = "INV"
+       
+       local parts = text:split(":")
+                               
+       if #parts == 2 then
+               retval.typ = parts[1]:trim()
+               retval.index= tonumber(parts[2]:trim())
+               
+               if type(retval.index) ~= "number" then
+                       retval.typ = "INV"
+               end
+       end
+       
+       return retval
+end
+
+--------------------------------------------------------------------------------
+function get_last_folder(text,count)
+       local parts = text:split(DIR_DELIM)
+       
+       if count == nil then
+               return parts[#parts]
+       end
+       
+       local retval = ""
+       for i=1,count,1 do
+               retval = retval .. parts[#parts - (count-i)] .. DIR_DELIM
+       end
+       
+       return retval
+end
+
+--------------------------------------------------------------------------------
+function cleanup_path(temppath)
+       
+       local parts = temppath:split("-")
+       temppath = ""   
+       for i=1,#parts,1 do
+               if temppath ~= "" then
+                       temppath = temppath .. "_"
+               end
+               temppath = temppath .. parts[i]
+       end
+       
+       parts = temppath:split(".")
+       temppath = ""   
+       for i=1,#parts,1 do
+               if temppath ~= "" then
+                       temppath = temppath .. "_"
+               end
+               temppath = temppath .. parts[i]
+       end
+       
+       parts = temppath:split("'")
+       temppath = ""   
+       for i=1,#parts,1 do
+               if temppath ~= "" then
+                       temppath = temppath .. ""
+               end
+               temppath = temppath .. parts[i]
+       end
+       
+       parts = temppath:split(" ")
+       temppath = ""   
+       for i=1,#parts,1 do
+               if temppath ~= "" then
+                       temppath = temppath
+               end
+               temppath = temppath .. parts[i]
+       end
+       
+       return temppath
+end
+
+--------------------------------------------------------------------------------
+-- mainmenu only functions
+--------------------------------------------------------------------------------
+if engine ~= nil then
+       engine.get_game = function(index)
+               local games = game.get_games()
+               
+               if index > 0 and index <= #games then
+                       return games[index]
+               end
+               
+               return nil
+       end
+       
+       --------------------------------------------------------------------------------
+       function fs_escape_string(text)
+               if text ~= nil then
+                       while (text:find("\r\n") ~= nil) do
+                               local newtext = text:sub(1,text:find("\r\n")-1)
+                               newtext = newtext .. " " .. text:sub(text:find("\r\n")+3)
+                               
+                               text = newtext
+                       end
+                       
+                       while (text:find("\n") ~= nil) do
+                               local newtext = text:sub(1,text:find("\n")-1)
+                               newtext = newtext .. " " .. text:sub(text:find("\n")+1)
+                               
+                               text = newtext
+                       end
+                       
+                       while (text:find("\r") ~= nil) do
+                               local newtext = text:sub(1,text:find("\r")-1)
+                               newtext = newtext .. " " .. text:sub(text:find("\r")+1)
+                               
+                               text = newtext
+                       end
+                       
+                       text = string.gsub(text,"\\","\\\\")
+                       text = string.gsub(text,"%]","\\]")
+                       text = string.gsub(text,"%[","\\[")
+                       text = string.gsub(text,";","\\;")
+                       text = string.gsub(text,",","\\,")
+               end
+               return text
+       end
+end
+
+--------------------------------------------------------------------------------
+-- core only fct
+--------------------------------------------------------------------------------
+if minetest ~= nil then
+       --------------------------------------------------------------------------------
+       function minetest.pos_to_string(pos)
+               return "(" .. pos.x .. "," .. pos.y .. "," .. pos.z .. ")"
+       end
+end
index 2324dba16bcf7a1ff7e407db8648110eb86664b5..4c5d0189d393b42eb88220361348035cdaeb2f5c 100644 (file)
@@ -151,7 +151,7 @@ GUIEngine::GUIEngine(       irr::IrrlichtDevice* dev,
 
        std::string builtin_helpers
                = porting::path_share + DIR_DELIM + "builtin"
-                       + DIR_DELIM + "mainmenu_helper.lua";
+                       + DIR_DELIM + "misc_helpers.lua";
 
        if (!runScript(builtin_helpers)) {
                errorstream