From 4ef634ec2cdedfbaddf191faf92143fcd46781f5 Mon Sep 17 00:00:00 2001 From: MtH Date: Thu, 18 Mar 2021 12:49:37 +0100 Subject: [PATCH] title tweaks: fix crash when spamming enter, force logo bump, compensate for missed beats with intro text (ex. when window being dragged) --- source/MusicBeatState.hx | 3 - source/MusicBeatSubstate.hx | 3 - source/TitleState.hx | 108 ++++++++++++++++++++---------------- 3 files changed, 59 insertions(+), 55 deletions(-) diff --git a/source/MusicBeatState.hx b/source/MusicBeatState.hx index 1c7359798..28660b160 100644 --- a/source/MusicBeatState.hx +++ b/source/MusicBeatState.hx @@ -9,9 +9,6 @@ import flixel.util.FlxTimer; class MusicBeatState extends FlxUIState { - private var lastBeat:Float = 0; - private var lastStep:Float = 0; - private var curStep:Int = 0; private var curBeat:Int = 0; private var controls(get, never):Controls; diff --git a/source/MusicBeatSubstate.hx b/source/MusicBeatSubstate.hx index 480d6ed16..89c4458b2 100644 --- a/source/MusicBeatSubstate.hx +++ b/source/MusicBeatSubstate.hx @@ -11,9 +11,6 @@ class MusicBeatSubstate extends FlxSubState super(); } - private var lastBeat:Float = 0; - private var lastStep:Float = 0; - private var curStep:Int = 0; private var curBeat:Int = 0; private var controls(get, never):Controls; diff --git a/source/TitleState.hx b/source/TitleState.hx index eb46ace47..8685b9560 100644 --- a/source/TitleState.hx +++ b/source/TitleState.hx @@ -34,6 +34,8 @@ class TitleState extends MusicBeatState var wackyImage:FlxSprite; + var lastBeat:Int = 0; + override public function create():Void { #if polymod @@ -304,7 +306,7 @@ class TitleState extends MusicBeatState // FlxG.sound.play(Paths.music('titleShoot'), 0.7); } - if (pressedEnter && !skippedIntro) + if (pressedEnter && !skippedIntro && initialized) { skipIntro(); } @@ -346,7 +348,7 @@ class TitleState extends MusicBeatState { super.beatHit(); - logoBl.animation.play('bump'); + logoBl.animation.play('bump', true); danceLeft = !danceLeft; if (danceLeft) @@ -355,57 +357,65 @@ class TitleState extends MusicBeatState gfDance.animation.play('danceLeft'); FlxG.log.add(curBeat); - - switch (curBeat) + // if the user is draggin the window some beats will + // be missed so this is just to compensate + if (curBeat > lastBeat) { - case 1: - createCoolText(['ninjamuffin99', 'phantomArcade', 'kawaisprite', 'evilsk8er']); - // credTextShit.visible = true; - case 3: - addMoreText('present'); - // credTextShit.text += '\npresent...'; - // credTextShit.addText(); - case 4: - deleteCoolText(); - // credTextShit.visible = false; - // credTextShit.text = 'In association \nwith'; - // credTextShit.screenCenter(); - case 5: - createCoolText(['In association', 'with']); - case 7: - addMoreText('newgrounds'); - ngSpr.visible = true; - // credTextShit.text += '\nNewgrounds'; - case 8: - deleteCoolText(); - ngSpr.visible = false; - // credTextShit.visible = false; + for (i in lastBeat...curBeat) + { + switch (i + 1) + { + case 1: + createCoolText(['ninjamuffin99', 'phantomArcade', 'kawaisprite', 'evilsk8er']); + // credTextShit.visible = true; + case 3: + addMoreText('present'); + // credTextShit.text += '\npresent...'; + // credTextShit.addText(); + case 4: + deleteCoolText(); + // credTextShit.visible = false; + // credTextShit.text = 'In association \nwith'; + // credTextShit.screenCenter(); + case 5: + createCoolText(['In association', 'with']); + case 7: + addMoreText('newgrounds'); + ngSpr.visible = true; + // credTextShit.text += '\nNewgrounds'; + case 8: + deleteCoolText(); + ngSpr.visible = false; + // credTextShit.visible = false; - // credTextShit.text = 'Shoutouts Tom Fulp'; - // credTextShit.screenCenter(); - case 9: - createCoolText([curWacky[0]]); - // credTextShit.visible = true; - case 11: - addMoreText(curWacky[1]); - // credTextShit.text += '\nlmao'; - case 12: - deleteCoolText(); - // credTextShit.visible = false; - // credTextShit.text = "Friday"; - // credTextShit.screenCenter(); - case 13: - addMoreText('Friday'); - // credTextShit.visible = true; - case 14: - addMoreText('Night'); - // credTextShit.text += '\nNight'; - case 15: - addMoreText('Funkin'); // credTextShit.text += '\nFunkin'; + // credTextShit.text = 'Shoutouts Tom Fulp'; + // credTextShit.screenCenter(); + case 9: + createCoolText([curWacky[0]]); + // credTextShit.visible = true; + case 11: + addMoreText(curWacky[1]); + // credTextShit.text += '\nlmao'; + case 12: + deleteCoolText(); + // credTextShit.visible = false; + // credTextShit.text = "Friday"; + // credTextShit.screenCenter(); + case 13: + addMoreText('Friday'); + // credTextShit.visible = true; + case 14: + addMoreText('Night'); + // credTextShit.text += '\nNight'; + case 15: + addMoreText('Funkin'); // credTextShit.text += '\nFunkin'; - case 16: - skipIntro(); + case 16: + skipIntro(); + } + } } + lastBeat = curBeat; } var skippedIntro:Bool = false;