Builtin: Fix subgame mod selection (#5367)

This commit is contained in:
SmallJoker 2017-05-17 19:31:57 +02:00 committed by GitHub
parent 0443620c5e
commit 9b5effffbb
2 changed files with 12 additions and 9 deletions

View File

@ -289,6 +289,9 @@ function sort_mod_list(self)
table.sort(self.m_processed_list, function(a, b) table.sort(self.m_processed_list, function(a, b)
-- Show game mods at bottom -- Show game mods at bottom
if a.typ ~= b.typ then if a.typ ~= b.typ then
if b.typ == "game" then
return a.typ ~= "game_mod"
end
return b.typ == "game_mod" return b.typ == "game_mod"
end end
-- If in same or no modpack, sort by name -- If in same or no modpack, sort by name

View File

@ -238,15 +238,7 @@ function modmgr.render_modlist(render_list)
local list = render_list:get_list() local list = render_list:get_list()
local last_modpack = nil local last_modpack = nil
local retval = {} local retval = {}
local in_game_mods = false
for i, v in ipairs(list) do for i, v in ipairs(list) do
if v.typ == "game_mod" and not in_game_mods then
in_game_mods = true
retval[#retval + 1] = mt_color_blue
retval[#retval + 1] = "0"
retval[#retval + 1] = fgettext("Subgame Mods")
end
local color = "" local color = ""
if v.is_modpack then if v.is_modpack then
local rawlist = render_list:get_raw_list() local rawlist = render_list:get_raw_list()
@ -260,7 +252,7 @@ function modmgr.render_modlist(render_list)
break break
end end
end end
elseif v.typ == "game_mod" then elseif v.typ == "game_mod" or v.typ == "game" then
color = mt_color_blue color = mt_color_blue
elseif v.enabled then elseif v.enabled then
color = mt_color_green color = mt_color_green
@ -421,6 +413,14 @@ function modmgr.preparemodlist(data)
local gamespec = gamemgr.find_by_gameid(data.gameid) local gamespec = gamemgr.find_by_gameid(data.gameid)
gamemgr.get_game_mods(gamespec, game_mods) gamemgr.get_game_mods(gamespec, game_mods)
if #game_mods > 0 then
-- Add title
retval[#retval + 1] = {
typ = "game",
name = fgettext("Subgame Mods")
}
end
for i=1,#game_mods,1 do for i=1,#game_mods,1 do
game_mods[i].typ = "game_mod" game_mods[i].typ = "game_mod"
retval[#retval + 1] = game_mods[i] retval[#retval + 1] = game_mods[i]