summaryrefslogtreecommitdiff
path: root/builtin/mainmenu/modmgr.lua
diff options
context:
space:
mode:
Diffstat (limited to 'builtin/mainmenu/modmgr.lua')
-rw-r--r--builtin/mainmenu/modmgr.lua40
1 files changed, 20 insertions, 20 deletions
diff --git a/builtin/mainmenu/modmgr.lua b/builtin/mainmenu/modmgr.lua
index 89292ed52..f996df7ba 100644
--- a/builtin/mainmenu/modmgr.lua
+++ b/builtin/mainmenu/modmgr.lua
@@ -19,29 +19,29 @@
function get_mods(path,retval,modpack)
local mods = core.get_dir_list(path, true)
- for i=1, #mods, 1 do
- if mods[i]:sub(1,1) ~= "." then
+ for _, name in ipairs(mods) do
+ if name:sub(1, 1) ~= "." then
+ local prefix = path .. DIR_DELIM .. name .. DIR_DELIM
local toadd = {}
- local modpackfile = nil
+ retval[#retval + 1] = toadd
- toadd.name = mods[i]
- toadd.path = path .. DIR_DELIM .. mods[i] .. DIR_DELIM
- if modpack ~= nil and
- modpack ~= "" then
- toadd.modpack = modpack
- else
- local filename = path .. DIR_DELIM .. mods[i] .. DIR_DELIM .. "modpack.txt"
- local error = nil
- modpackfile,error = io.open(filename,"r")
+ local mod_conf = Settings(prefix .. "mod.conf"):to_table()
+ if mod_conf.name then
+ name = mod_conf.name
end
- if modpackfile ~= nil then
- modpackfile:close()
- toadd.is_modpack = true
- table.insert(retval,toadd)
- get_mods(path .. DIR_DELIM .. mods[i],retval,mods[i])
+ toadd.name = name
+ toadd.path = prefix
+
+ if modpack ~= nil and modpack ~= "" then
+ toadd.modpack = modpack
else
- table.insert(retval,toadd)
+ local modpackfile = io.open(prefix .. "modpack.txt")
+ if modpackfile then
+ modpackfile:close()
+ toadd.is_modpack = true
+ get_mods(prefix, retval, name)
+ end
end
end
end
@@ -412,7 +412,7 @@ function modmgr.preparemodlist(data)
for i=1,#global_mods,1 do
global_mods[i].typ = "global_mod"
- table.insert(retval,global_mods[i])
+ retval[#retval + 1] = global_mods[i]
end
--read game mods
@@ -421,7 +421,7 @@ function modmgr.preparemodlist(data)
for i=1,#game_mods,1 do
game_mods[i].typ = "game_mod"
- table.insert(retval,game_mods[i])
+ retval[#retval + 1] = game_mods[i]
end
if data.worldpath == nil then