diff --git a/source/funkin/InitState.hx b/source/funkin/InitState.hx index cf99f8e46..db6388c05 100644 --- a/source/funkin/InitState.hx +++ b/source/funkin/InitState.hx @@ -400,8 +400,17 @@ class InitState extends FlxState { // FlxG.sound.cache(Paths.music('freakyMenu/freakyMenu')); #if mobile - funkin.mobile.util.FNFCUtil.onFNFCOpen.add(function(filePath:String) { - openSubState(new ChartPlaytestMenu(filePath)); + funkin.mobile.util.FNFCUtil.onFNFCOpen.add(function(fnfcFile:String) { + flixel.tweens.FlxTween.globalManager.clear(); + flixel.util.FlxTimer.globalManager.clear(); + @:nullSafety(Off) + if (FlxG.sound.music != null) + { + FlxG.sound.music.destroy(); + FlxG.sound.music = null; + } + + FlxG.switchState(() -> new ChartPlaytestMenu(fnfcFile)); }); final fnfcFile = funkin.mobile.util.FNFCUtil.queryFNFC(); diff --git a/source/funkin/external/android/java/funkin/extension/FNFCExtension.java b/source/funkin/external/android/java/funkin/extension/FNFCExtension.java index c907f58b3..1820dbb1c 100644 --- a/source/funkin/external/android/java/funkin/extension/FNFCExtension.java +++ b/source/funkin/external/android/java/funkin/extension/FNFCExtension.java @@ -40,7 +40,7 @@ public class FNFCExtension extends Extension super.onNewIntent(intent); if (intent != null && intent.getData() != null) { - handleIntent(mainActivity.getIntent(), true); + handleIntent(intent, true); } } diff --git a/source/funkin/ui/debug/playtest/ChartPlaytestMenu.hx b/source/funkin/ui/debug/playtest/ChartPlaytestMenu.hx index 3a5d9611b..02293cee7 100644 --- a/source/funkin/ui/debug/playtest/ChartPlaytestMenu.hx +++ b/source/funkin/ui/debug/playtest/ChartPlaytestMenu.hx @@ -16,7 +16,7 @@ import funkin.input.Cursor; /** * When playtesting from an FNFC file, we display a debug UI to choose a difficulty first. */ -class ChartPlaytestMenu extends MusicBeatSubState +class ChartPlaytestMenu extends MusicBeatState { var filePath:String;