From 8bcdb7a8e8f0aa4598ac71dcbde474a9ad8256df Mon Sep 17 00:00:00 2001 From: Cameron Taylor Date: Fri, 9 Oct 2020 14:24:20 -0700 Subject: [PATCH] simple pause screen --- CHANGELOG.md | 11 +++++++++++ Project.xml | 1 + art/build-Itch-WINDOWS.bat | 10 +++++++--- source/PauseSubState.hx | 26 ++++++++++++++++++++++++++ source/PlayState.hx | 37 +++++++++++++++++++++++++++++++++++++ 5 files changed, 82 insertions(+), 3 deletions(-) create mode 100644 CHANGELOG.md create mode 100644 source/PauseSubState.hx diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 000000000..a0c8036ee --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,11 @@ +# Changelog +All notable changes will be documented in this file. + +## [Unreleased] +### Added +- 32bit support +- Controller (dancepads) support + +## [1.0.0] - 2020-10-05 +### Added +- Uh, everything. This the game's initial gamejam release. We put it out \ No newline at end of file diff --git a/Project.xml b/Project.xml index a0e35ede9..9949b1368 100644 --- a/Project.xml +++ b/Project.xml @@ -29,6 +29,7 @@ + diff --git a/art/build-Itch-WINDOWS.bat b/art/build-Itch-WINDOWS.bat index 1fcd6829b..cf966b2c0 100644 --- a/art/build-Itch-WINDOWS.bat +++ b/art/build-Itch-WINDOWS.bat @@ -4,8 +4,12 @@ cd .. @echo on echo BUILDING GAME lime build windows -final -echo UPLOADING TO ITCH -butler push ./export/release/windows/bin ninja-muffin24/friday-night-funkin:windows -butler status ninja-muffin24/friday-night-funkin:windows +echo UPLOADING 64 BIT VERSION TO ITCH +butler push ./export/release/windows/bin ninja-muffin24/friday-night-funkin:windows-64bit +lime build windows -final -32 +echo UPLOADING 32 BIT VERSION TO ITCH +butler push ./export/release/windows/bin ninja-muffin24/friday-night-funkin:windows-32bit +butler status ninja-muffin24/friday-night-funkin:windows-32bit +butler status ninja-muffin24/friday-night-funkin:windows-64bit echo ITCH SHIT UPDATED LMAOOOOO pause \ No newline at end of file diff --git a/source/PauseSubState.hx b/source/PauseSubState.hx new file mode 100644 index 000000000..816eb7f54 --- /dev/null +++ b/source/PauseSubState.hx @@ -0,0 +1,26 @@ +package; + +import flixel.FlxG; +import flixel.FlxSprite; +import flixel.FlxSubState; +import flixel.util.FlxColor; + +class PauseSubState extends FlxSubState +{ + public function new() + { + super(); + var bg:FlxSprite = new FlxSprite().makeGraphic(FlxG.width, FlxG.height, FlxColor.BLACK); + bg.alpha = 0.6; + bg.scrollFactor.set(); + add(bg); + } + + override function update(elapsed:Float) + { + super.update(elapsed); + + if (FlxG.keys.justPressed.ENTER) + close(); + } +} diff --git a/source/PlayState.hx b/source/PlayState.hx index a05d63571..54d61a1b3 100644 --- a/source/PlayState.hx +++ b/source/PlayState.hx @@ -4,6 +4,7 @@ import flixel.FlxG; import flixel.FlxObject; import flixel.FlxSprite; import flixel.FlxState; +import flixel.FlxSubState; import flixel.addons.display.FlxGridOverlay; import flixel.addons.transition.FlxTransitionableState; import flixel.graphics.atlas.FlxAtlas; @@ -388,10 +389,46 @@ class PlayState extends FlxTransitionableState var sectionScored:Bool = false; + override function openSubState(SubState:FlxSubState) + { + if (paused) + { + FlxG.sound.music.pause(); + vocals.pause(); + } + + super.openSubState(SubState); + } + + override function closeSubState() + { + if (paused) + { + vocals.time = FlxG.sound.music.time; + + FlxG.sound.music.play(); + vocals.play(); + paused = false; + } + + super.closeSubState(); + } + + private var paused:Bool = false; + override public function update(elapsed:Float) { super.update(elapsed); + if (FlxG.keys.justPressed.ENTER) + { + persistentUpdate = false; + persistentDraw = true; + paused = true; + + openSubState(new PauseSubState()); + } + healthHeads.setGraphicSize(Std.int(FlxMath.lerp(100, healthHeads.width, 0.98))); healthHeads.x = healthBar.x + (healthBar.width * (FlxMath.remapToRange(healthBar.percent, 0, 100, 100, 0) * 0.01)) - (healthHeads.width / 2);