From f3737601f881bfb1406389e37ed22841ac66a222 Mon Sep 17 00:00:00 2001 From: EliteMasterEric Date: Wed, 11 Oct 2023 18:54:58 -0400 Subject: [PATCH] Can't spam enter on pause menu or freeplay menu anymore --- source/funkin/FreeplayState.hx | 23 ++++++++++++++++++----- source/funkin/PauseSubState.hx | 12 +++++++++++- source/funkin/ui/StickerSubState.hx | 10 ++++++---- 3 files changed, 35 insertions(+), 10 deletions(-) diff --git a/source/funkin/FreeplayState.hx b/source/funkin/FreeplayState.hx index 3ae32c2e4..ccb89a7ca 100644 --- a/source/funkin/FreeplayState.hx +++ b/source/funkin/FreeplayState.hx @@ -570,7 +570,7 @@ class FreeplayState extends MusicBeatSubState var randomCapsule:SongMenuItem = grpCapsules.recycle(SongMenuItem); randomCapsule.init(FlxG.width, 0, "Random"); randomCapsule.onConfirm = function() { - trace("RANDOM SELECTED"); + capsuleOnConfirmRandom(randomCapsule); }; randomCapsule.y = randomCapsule.intendedY(0) + 10; randomCapsule.targetPos.x = randomCapsule.x; @@ -643,6 +643,8 @@ class FreeplayState extends MusicBeatSubState var spamTimer:Float = 0; var spamming:Bool = false; + var busy:Bool = false; // Set to true once the user has pressed enter to select a song. + override function update(elapsed:Float) { super.update(elapsed); @@ -690,11 +692,13 @@ class FreeplayState extends MusicBeatSubState fp.updateScore(Std.int(lerpScore)); txtCompletion.text = Math.floor(lerpCompletion * 100) + "%"; - // trace(Highscore.getCompletion(songs[curSelected].songName, curDifficulty)); - // trace(intendedScore); - // trace(lerpScore); - // Highscore.getAllScores(); + handleInputs(elapsed); + } + + function handleInputs(elapsed:Float):Void + { + if (busy) return; var upP = controls.UI_UP_P; var downP = controls.UI_DOWN_P; @@ -949,6 +953,13 @@ class FreeplayState extends MusicBeatSubState } } + function capsuleOnConfirmRandom(cap:SongMenuItem):Void + { + trace("RANDOM SELECTED"); + + busy = true; + } + function capsuleOnConfirmDefault(cap:SongMenuItem):Void { // var poop:String = songs[curSelected].songName.toLowerCase(); @@ -963,6 +974,8 @@ class FreeplayState extends MusicBeatSubState curDifficulty = 1; }*/ + busy = true; + PlayStatePlaylist.isStoryMode = false; var songId:String = cap.songTitle.toLowerCase(); diff --git a/source/funkin/PauseSubState.hx b/source/funkin/PauseSubState.hx index f93e5a450..54c3a530b 100644 --- a/source/funkin/PauseSubState.hx +++ b/source/funkin/PauseSubState.hx @@ -150,6 +150,11 @@ class PauseSubState extends MusicBeatSubState super.update(elapsed); + handleInputs(); + } + + function handleInputs():Void + { var upP = controls.UI_UP_P; var downP = controls.UI_DOWN_P; var accepted = controls.ACCEPT; @@ -229,9 +234,14 @@ class PauseSubState extends MusicBeatSubState FlxTransitionableState.skipNextTransIn = true; FlxTransitionableState.skipNextTransOut = true; - if (PlayStatePlaylist.isStoryMode) openSubState(new funkin.ui.StickerSubState(null, STORY)); + if (PlayStatePlaylist.isStoryMode) + { + openSubState(new funkin.ui.StickerSubState(null, STORY)); + } else + { openSubState(new funkin.ui.StickerSubState(null, FREEPLAY)); + } case 'Exit to Chart Editor': this.close(); diff --git a/source/funkin/ui/StickerSubState.hx b/source/funkin/ui/StickerSubState.hx index bde36b160..ebf75cb34 100644 --- a/source/funkin/ui/StickerSubState.hx +++ b/source/funkin/ui/StickerSubState.hx @@ -206,6 +206,8 @@ class StickerSubState extends MusicBeatSubState sticker.timing = FlxMath.remapToRange(ind, 0, grpStickers.members.length, 0, 0.9); new FlxTimer().start(sticker.timing, _ -> { + if (grpStickers == null) return; + sticker.visible = true; var daSound:String = FlxG.random.getObject(sounds); FlxG.sound.play(Paths.sound(daSound)); @@ -269,10 +271,10 @@ class StickerSubState extends MusicBeatSubState { super.update(elapsed); - if (FlxG.keys.justPressed.ANY) - { - regenStickers(); - } + // if (FlxG.keys.justPressed.ANY) + // { + // regenStickers(); + // } } var switchingState:Bool = false;