From 6288f5e3aae609f01804cb4703e70efd50d67329 Mon Sep 17 00:00:00 2001 From: lunarcleint <88809950+lunarcleint@users.noreply.github.com> Date: Sun, 19 Nov 2023 16:09:20 -0700 Subject: [PATCH] fix hoverers on drag --- source/funkin/editors/charter/Charter.hx | 50 ++++++++++++------------ 1 file changed, 24 insertions(+), 26 deletions(-) diff --git a/source/funkin/editors/charter/Charter.hx b/source/funkin/editors/charter/Charter.hx index d142f1dd..62be715c 100644 --- a/source/funkin/editors/charter/Charter.hx +++ b/source/funkin/editors/charter/Charter.hx @@ -778,33 +778,31 @@ class Charter extends UIState { } addEventSpr.selectable = !selectionBox.visible; - if (gridActionType == NONE) { - // Event Spr - if (mousePos.x < 0 && mousePos.x > -addEventSpr.bWidth) { - addEventSpr.incorporeal = false; - addEventSpr.sprAlpha = lerp(addEventSpr.sprAlpha, 0.75, 0.25); - var event = getHoveredEvent(mousePos.y); - if (event != null) addEventSpr.updateEdit(event); - else addEventSpr.updatePos(mousePos.y); - } else addEventSpr.sprAlpha = lerp(addEventSpr.sprAlpha, 0, 0.25); + // Event Spr + if (mousePos.x < 0 && mousePos.x > -addEventSpr.bWidth && gridActionType == NONE) { + addEventSpr.incorporeal = false; + addEventSpr.sprAlpha = lerp(addEventSpr.sprAlpha, 0.75, 0.25); + var event = getHoveredEvent(mousePos.y); + if (event != null) addEventSpr.updateEdit(event); + else addEventSpr.updatePos(mousePos.y); + } else addEventSpr.sprAlpha = lerp(addEventSpr.sprAlpha, 0, 0.25); - // Note Hoverer - if (mousePos.x > 0 && mousePos.x < gridBackdrops.strumlinesAmount * 160 && (mousePos.y > 0 && mousePos.y < (__endStep)*40)) { - noteHoverer.alpha = lerp(noteHoverer.alpha, 0.35, 0.25); - if (noteHoverer.id != Math.floor(mousePos.x / 40) % 4) { - @:privateAccess noteHoverer.__doAnim = false; // Un comment to restore this - noteHoverer.updatePos( - FlxMath.bound(FlxG.keys.pressed.SHIFT ? ((mousePos.y-20) / 40) : quantStep(mousePos.y/40), 0, __endStep-1), - Math.floor(mousePos.x / 40) % 4, 0, null, null - ); - } else { - noteHoverer.step = FlxMath.bound(FlxG.keys.pressed.SHIFT ? ((mousePos.y-20) / 40) : quantStep(mousePos.y/40), 0, __endStep-1); - noteHoverer.y = noteHoverer.step * 40; - } - noteHoverer.x = lerp(noteHoverer.x, Math.floor(mousePos.x / 40) * 40, .65); - } else - noteHoverer.alpha = lerp(noteHoverer.alpha, 0, 0.25); - } + // Note Hoverer + if (mousePos.x > 0 && mousePos.x < gridBackdrops.strumlinesAmount * 160 && (mousePos.y > 0 && mousePos.y < (__endStep)*40) && gridActionType == NONE) { + noteHoverer.alpha = lerp(noteHoverer.alpha, 0.35, 0.25); + if (noteHoverer.id != Math.floor(mousePos.x / 40) % 4) { + @:privateAccess noteHoverer.__doAnim = false; // Un comment to restore this + noteHoverer.updatePos( + FlxMath.bound(FlxG.keys.pressed.SHIFT ? ((mousePos.y-20) / 40) : quantStep(mousePos.y/40), 0, __endStep-1), + Math.floor(mousePos.x / 40) % 4, 0, null, null + ); + } else { + noteHoverer.step = FlxMath.bound(FlxG.keys.pressed.SHIFT ? ((mousePos.y-20) / 40) : quantStep(mousePos.y/40), 0, __endStep-1); + noteHoverer.y = noteHoverer.step * 40; + } + noteHoverer.x = lerp(noteHoverer.x, Math.floor(mousePos.x / 40) * 40, .65); + } else + noteHoverer.alpha = lerp(noteHoverer.alpha, 0, 0.25); } public function quantStep(step:Float):Float {