diff --git a/.github/actions/setup-haxeshit/action.yml b/.github/actions/setup-haxeshit/action.yml index 6b565bfa2..ec8ed52d8 100644 --- a/.github/actions/setup-haxeshit/action.yml +++ b/.github/actions/setup-haxeshit/action.yml @@ -21,7 +21,7 @@ runs: - name: Installing Haxe lol run: | haxe -version - haxelib git haxelib https://github.com/HaxeFoundation/haxelib.git + haxelib git haxelib https://github.com/HaxeFoundation/haxelib.git development haxelib version haxelib --global install hmm haxelib --global run hmm install --quiet diff --git a/source/funkin/play/PlayState.hx b/source/funkin/play/PlayState.hx index 5e8f964d1..297f14d69 100644 --- a/source/funkin/play/PlayState.hx +++ b/source/funkin/play/PlayState.hx @@ -1107,6 +1107,8 @@ class PlayState extends MusicBeatSubState // super.stepHit() returns false if a module cancelled the event. if (!super.stepHit()) return false; + if (isGamePaused) return false; + if (!startingSong && FlxG.sound.music != null && (Math.abs(FlxG.sound.music.time - (Conductor.songPosition - Conductor.offset)) > 200 @@ -1131,6 +1133,8 @@ class PlayState extends MusicBeatSubState // super.beatHit() returns false if a module cancelled the event. if (!super.beatHit()) return false; + if (isGamePaused) return false; + if (generatedMusic) { // TODO: Sort more efficiently, or less often, to improve performance. diff --git a/source/funkin/play/stage/Stage.hx b/source/funkin/play/stage/Stage.hx index dafba1c06..d2b157acd 100644 --- a/source/funkin/play/stage/Stage.hx +++ b/source/funkin/play/stage/Stage.hx @@ -694,6 +694,27 @@ class Stage extends FlxSpriteGroup implements IPlayStateScriptedClass } } + public override function kill() + { + _skipTransformChildren = true; + alive = false; + exists = false; + _skipTransformChildren = false; + if (group != null) group.kill(); + } + + public override function remove(Sprite:FlxSprite, Splice:Bool = false):FlxSprite + { + var sprite:FlxSprite = cast Sprite; + sprite.x -= x; + sprite.y -= y; + // alpha + sprite.cameras = null; + + if (group != null) group.remove(Sprite, Splice); + return Sprite; + } + public function onScriptEvent(event:ScriptEvent) {} public function onPause(event:PauseScriptEvent) {}