diff --git a/scripts/songselect/chalwheel.lua b/scripts/songselect/chalwheel.lua index b735bb0..69339c9 100644 --- a/scripts/songselect/chalwheel.lua +++ b/scripts/songselect/chalwheel.lua @@ -171,18 +171,18 @@ local check_or_create_cache = function(challenge) ["difficulty"] = 0 } } + else -- if not challenge.missing_chart then + local charts = {} + for _, chart in ipairs(challenge.charts) do + table.insert(charts, { + ["title"] = gfx.CreateLabel(chart.title, defaultLabelSize, 0), + ["title_raw"] = chart.title, + ["level"] = chart.level, + ["difficulty"] = chart.difficulty + }) + end + challengeCache[challenge.id]["charts"] = charts end - - local charts = {} - for _, chart in ipairs(challenge.charts) do - table.insert(charts, { - ["title"] = gfx.CreateLabel(chart.title, defaultLabelSize, 0), - ["title_raw"] = chart.title, - ["level"] = chart.level, - ["difficulty"] = chart.difficulty - }) - end - challengeCache[challenge.id]["charts"] = charts end if (not challengeCache[challenge.id]["percent"] or not challengeCache[challenge.id]["total_score"] @@ -196,15 +196,15 @@ local check_or_create_cache = function(challenge) challengeCache[challenge.id]["pass_state"] = passStates[passState] end - if not challengeCache[challenge.id]["jackets"] then - local jackets = {} - for i, chart in ipairs(challenge.charts) do - jackets[i] = gfx.LoadImageJob(chart.jacketPath, jacketFallback, 200, 200) + local lastChart = challenge.charts[#challenge.charts] + if not challengeCache[challenge.id]["jacket"] then + if challenge.missing_chart then + challengeCache[challenge.id]["jacket"] = jacketFallback + else + challengeCache[challenge.id]["jacket"] = gfx.LoadImageJob(lastChart.jacketPath, jacketFallback, 200, 200) end - if #jackets == 0 then - jackets[1] = jacketFallback - end - challengeCache[challenge.id]["jackets"] = jackets + elseif not challenge.missing_chart and challengeCache[challenge.id]["jacket"] == jacketFallback then + challengeCache[challenge.id]["jacket"] = gfx.LoadImageJob(lastChart.jacketPath, jacketFallback, 200, 200) end end @@ -275,7 +275,7 @@ draw_challenge = function(challenge, x, y, w, h, selected) end gfx.BeginPath() - gfx.ImageRect(offsetX, offsetY, size, size, challengeCache[challenge.id]["jackets"][1], 1, 0) + gfx.ImageRect(offsetX, offsetY, size, size, challengeCache[challenge.id]["jacket"], 1, 0) ---------------------------------------------------------- -- draw stats section