diff --git a/hmm.json b/hmm.json index b680e1062..9a00b8066 100644 --- a/hmm.json +++ b/hmm.json @@ -11,7 +11,7 @@ "name": "astc-compressor", "type": "git", "dir": null, - "ref": "9204077f468e85d67d63974e99d70348eebf99ba", + "ref": "8c9f56927c523df7b849352c6951f04112fe15cc", "url": "https://github.com/KarimAkra/astc-compressor" }, { @@ -40,7 +40,7 @@ "name": "flixel", "type": "git", "dir": null, - "ref": "3e3a7be79a40a3423cdf88b29b5a85a8442fcc61", + "ref": "e24c62c08d951351749e62ec31a95316974b91d9", "url": "https://github.com/FunkinCrew/flixel-mobile" }, { @@ -172,7 +172,7 @@ "name": "lime", "type": "git", "dir": null, - "ref": "15640a344d73c86059275e8b9bf308bb546f6406", + "ref": "8d16f921a8627f4b39b2973518fac22e36a88fe6", "url": "https://github.com/FunkinCrew/lime-mobile" }, { diff --git a/source/funkin/ui/freeplay/FreeplayState.hx b/source/funkin/ui/freeplay/FreeplayState.hx index c563ee6da..890c6b5ad 100644 --- a/source/funkin/ui/freeplay/FreeplayState.hx +++ b/source/funkin/ui/freeplay/FreeplayState.hx @@ -1614,8 +1614,10 @@ class FreeplayState extends MusicBeatSubState private function handleTouchCapsuleClick():Void { if (diffSelRight == null) return; - - if (TouchUtil.pressAction() && !TouchUtil.overlaps(diffSelRight, funnyCam) && !draggingDifficulty) + if (TouchUtil.pressAction() + && !TouchUtil.overlaps(diffSelRight, funnyCam) + && TouchUtil.touch.velocity.length < 5 + && !draggingDifficulty) { curSelected = Math.round(curSelectedFloat); @@ -1623,6 +1625,7 @@ class FreeplayState extends MusicBeatSubState { final capsule = grpCapsules.members[i]; if (!TouchUtil.overlaps(capsule.theActualHitbox, funnyCam)) continue; + if (SwipeUtil.swipeAny) continue; if (capsule.selected) { @@ -1649,14 +1652,13 @@ class FreeplayState extends MusicBeatSubState function handleTouchSelectionScroll(elapsed:Float):Void { if (draggingDifficulty) return; + if (TouchUtil.pressAction(grpCapsules.members[curSelected].theActualHitbox, funnyCam)) return; if (TouchUtil.justPressed && TouchUtil.overlaps(capsuleHitbox, funnyCam)) { _pressedOnCapsule = true; } - if (TouchUtil.overlaps(grpCapsules.members[curSelected].theActualHitbox, funnyCam)) return; - for (touch in FlxG.touches.list) { if (touch.pressed && _pressedOnCapsule) @@ -1664,7 +1666,11 @@ class FreeplayState extends MusicBeatSubState final delta = touch.deltaViewY; if (Math.abs(delta) >= 2) { - var moveLength = delta / FlxG.updateFramerate * 1.2; + var dpiScale = FlxG.stage.window.display.dpi / 160; + + dpiScale = FlxMath.clamp(dpiScale, 0.5, #if android 1 #else 2 #end); + + var moveLength = delta / FlxG.updateFramerate / dpiScale; _moveLength += Math.abs(moveLength); curSelectedFloat -= moveLength; updateSongsScroll(); @@ -1683,7 +1689,10 @@ class FreeplayState extends MusicBeatSubState if (Math.isFinite(flickVelocity)) { _flickEnded = false; - var velocityMove = flickVelocity / FlxG.updateFramerate * 0.03; + var dpiScale = FlxG.stage.window.display.dpi / 160; + + dpiScale = FlxMath.clamp(dpiScale, 0.5, #if android 1 #else 2 #end); + var velocityMove = flickVelocity * elapsed / dpiScale; _moveLength += Math.abs(velocityMove); curSelectedFloat -= velocityMove; updateSongsScroll(); @@ -1733,13 +1742,17 @@ class FreeplayState extends MusicBeatSubState dj?.resetAFKTimer(); changeDiff(1, false, true); _pressedOnSelected = false; + FlxG.touches.flickManager.destroy(); + _flickEnded = true; new FlxTimer().start(0.2, (afteranim) -> { grpCapsules.members[curSelected].doLerp = true; busy = false; - draggingDifficulty = false; generateSongList(currentFilter, true, false); }); + new FlxTimer().start(0.3, (afteranim) -> { + draggingDifficulty = false; + }); } else if (SwipeUtil.swipeRight) { @@ -1747,13 +1760,17 @@ class FreeplayState extends MusicBeatSubState dj?.resetAFKTimer(); changeDiff(-1, false, true); _pressedOnSelected = false; + FlxG.touches.flickManager.destroy(); + _flickEnded = true; new FlxTimer().start(0.2, (afteranim) -> { grpCapsules.members[curSelected].doLerp = true; busy = false; - draggingDifficulty = false; generateSongList(currentFilter, true, false); }); + new FlxTimer().start(0.3, (afteranim) -> { + draggingDifficulty = false; + }); } if (TouchUtil.touch.ticksDeltaSincePress >= 500) @@ -1765,7 +1782,6 @@ class FreeplayState extends MusicBeatSubState } else { - draggingDifficulty = false; grpCapsules.members[curSelected].doLerp = true; } @@ -2412,6 +2428,8 @@ class FreeplayState extends MusicBeatSubState { FunkinSound.playOnce(Paths.sound('scrollMenu'), 0.4); HapticUtil.vibrate(0, 0.01, 0.2); + dj?.resetAFKTimer(); + _pressedOnSelected = false; } } @@ -2886,9 +2904,7 @@ class FreeplaySongData typedef FreeplayStateParams = { ?character:String, - ?fromCharSelect:Bool, - ?fromResults:FromResultsParams, }; diff --git a/source/funkin/ui/freeplay/backcards/BackingCard.hx b/source/funkin/ui/freeplay/backcards/BackingCard.hx index b3b41148f..b3a25ae5c 100644 --- a/source/funkin/ui/freeplay/backcards/BackingCard.hx +++ b/source/funkin/ui/freeplay/backcards/BackingCard.hx @@ -51,13 +51,8 @@ class BackingCard extends FlxSpriteGroup pinkBack.loadGraphic(bitmap); orangeBackShit = new FunkinSprite(84, 440).makeSolidColor(Std.int(pinkBack.width), 75, 0xFFFEDA00); - orangeBackShit.scale.y = FullScreenScaleMode.windowScale.y; - alsoOrangeLOL = new FunkinSprite(0, orangeBackShit.y).makeSolidColor(100, Std.int(orangeBackShit.height), 0xFFFFD400); - scale.x = FullScreenScaleMode.windowScale.x; - confirmGlow2 = new FlxSprite(confirmGlow.x, confirmGlow.y).loadGraphic(Paths.image('freeplay/confirmGlow2')); - backingTextYeah = new FlxAtlasSprite((FreeplayState.CUTOUT_WIDTH * FreeplayState.DJ_POS_MULTI) + 640, 370, Paths.animateAtlas("freeplay/backing-text-yeah"), { FrameRate: 24.0,