From 1c570cb3906a871920f8a628a307308820004a23 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Sat, 5 Nov 2016 18:42:14 +0100 Subject: Separate optional from required mod dependencies in main menu (#4721) * Separate optional from require dep's in main menu * Simplify modmgr mod dependency listing code --- builtin/mainmenu/modmgr.lua | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) (limited to 'builtin/mainmenu/modmgr.lua') diff --git a/builtin/mainmenu/modmgr.lua b/builtin/mainmenu/modmgr.lua index f996df7ba..bf87b1dfa 100644 --- a/builtin/mainmenu/modmgr.lua +++ b/builtin/mainmenu/modmgr.lua @@ -284,27 +284,32 @@ end -------------------------------------------------------------------------------- function modmgr.get_dependencies(modfolder) - local toadd = "" + local toadd_hard = "" + local toadd_soft = "" if modfolder ~= nil then local filename = modfolder .. DIR_DELIM .. "depends.txt" + local hard_dependencies = {} + local soft_dependencies = {} local dependencyfile = io.open(filename,"r") - if dependencyfile then local dependency = dependencyfile:read("*l") while dependency do - if toadd ~= "" then - toadd = toadd .. "," + if string.sub(dependency, -1, -1) == "?" then + table.insert(soft_dependencies, string.sub(dependency, 1, -2)) + else + table.insert(hard_dependencies, dependency) end - toadd = toadd .. dependency dependency = dependencyfile:read() end dependencyfile:close() end + toadd_hard = table.concat(hard_dependencies, ",") + toadd_soft = table.concat(soft_dependencies, ",") end - return toadd + return toadd_hard, toadd_soft end -------------------------------------------------------------------------------- -- cgit v1.2.3