diff --git a/scripts/gamesettingsdialog.lua b/scripts/gamesettingsdialog.lua index 5acac1f..232b438 100644 --- a/scripts/gamesettingsdialog.lua +++ b/scripts/gamesettingsdialog.lua @@ -63,6 +63,12 @@ local prevSettingStroke = {x=0, y=0} local settingStroke = {x=0, y=0} local prevVis = false +function processSkinSettings(settingName, settingValue) + if (settingName == 'Gauge') then + game.SetSkinSetting('_gaugeType', settingValue); + end +end + function render(deltaTime, visible) if visible and not prevVis then yScale:restart(0, 1, 0.25) @@ -149,6 +155,8 @@ function render(deltaTime, visible) local settingHeight = 30 local tab = SettingsDiag.tabs[SettingsDiag.currentTab] for si, setting in ipairs(tab.settings) do + processSkinSettings(setting.name, setting.value) + local disp = "" if setting.type == "enum" then disp = string.format("%s: %s", setting.name, setting.options[setting.value]) diff --git a/scripts/songselect/filterwheel.lua b/scripts/songselect/filterwheel.lua index 83a609c..9254dac 100644 --- a/scripts/songselect/filterwheel.lua +++ b/scripts/songselect/filterwheel.lua @@ -3,7 +3,12 @@ local Easing = require('common.easings'); local defaultFolderBgImage = gfx.CreateSkinImage('song_select/filter_wheel/bg.png', 0) -local cursorImage = gfx.CreateSkinImage('song_select/cursor.png', 0) +local cursorImages = { + gfx.CreateSkinImage("song_select/cursor.png", 1), -- Effective rate or fallback + gfx.CreateSkinImage("song_select/cursor_exc.png", 1), -- Excessive rate + gfx.CreateSkinImage("song_select/cursor_exc.png", 1), -- TODO: premissive rate + gfx.CreateSkinImage("song_select/cursor_exc.png", 1), -- TODO: blastive rate +} local ITEM_HEIGHT = 172; @@ -207,6 +212,10 @@ end function drawCursor() gfx.BeginPath() + + local cursorImageIndex = game.GetSkinSetting('_gaugeType') + local cursorImage = cursorImages[cursorImageIndex or 1]; + gfx.ImageRect(desw/2-14, desh/2-213/2, 555, 213, cursorImage, 1, 0) end diff --git a/scripts/songselect/songwheel.lua b/scripts/songselect/songwheel.lua index 9a4d8cb..05eccd6 100644 --- a/scripts/songselect/songwheel.lua +++ b/scripts/songselect/songwheel.lua @@ -15,7 +15,13 @@ local illustratedBgImage = gfx.CreateSkinImage("song_select/data_panel/illust_bg local songPlateBg = gfx.CreateSkinImage("song_select/plate/bg.png", 1) local songPlateBottomBarOverlayImage = gfx.CreateSkinImage("song_select/plate/bottom_bar_overlay.png", 1) -local cursorImage = gfx.CreateSkinImage("song_select/cursor.png", 1) +local cursorImages = { + gfx.CreateSkinImage("song_select/cursor.png", 1), -- Effective rate or fallback + gfx.CreateSkinImage("song_select/cursor_exc.png", 1), -- Excessive rate + gfx.CreateSkinImage("song_select/cursor_exc.png", 1), -- TODO: premissive rate + gfx.CreateSkinImage("song_select/cursor_exc.png", 1), -- TODO: blastive rate +} + local diffCursorImage = gfx.CreateSkinImage("song_select/level_cursor.png", 1) local searchBgImage = gfx.CreateSkinImage("song_select/search_bg.png", 1) @@ -328,6 +334,10 @@ end function drawCursor() gfx.BeginPath() + + local cursorImageIndex = game.GetSkinSetting('_gaugeType') + local cursorImage = cursorImages[cursorImageIndex or 1]; + gfx.ImageRect(desw/2-14, desh/2-213/2, 555, 213, cursorImage, 1, 0) end