diff --git a/assets b/assets index f1813c9e4..6b84e5b48 160000 --- a/assets +++ b/assets @@ -1 +1 @@ -Subproject commit f1813c9e4f88426554293b68d8a46f5baa5b6228 +Subproject commit 6b84e5b4830cbdb21f0e92bd8def16b1446f2d84 diff --git a/source/funkin/graphics/adobeanimate/FlxAtlasSprite.hx b/source/funkin/graphics/adobeanimate/FlxAtlasSprite.hx index 6f91dbac5..f245afec7 100644 --- a/source/funkin/graphics/adobeanimate/FlxAtlasSprite.hx +++ b/source/funkin/graphics/adobeanimate/FlxAtlasSprite.hx @@ -154,6 +154,10 @@ class FlxAtlasSprite extends FlxAnimate { if (!anim.isPlaying) { + if (fr != null) anim.curFrame = fr.index + startFrame; + else + anim.curFrame = startFrame; + // Resume animation if it's paused. anim.resume(); } @@ -183,7 +187,9 @@ class FlxAtlasSprite extends FlxAnimate trace('Playing animation $id'); if (this.anim.symbolDictionary.exists(id) || (this.anim.getByName(id) != null)) { - this.anim.play(id, true, false, startFrame); + this.anim.play(id, restart, false, startFrame); + + if (id == "Boyfriend DJ fist pump" || startFrame == 4) trace("PUMP COMMAND: " + anim.curFrame); fr = null; } // Only call goToFrameLabel if there is a frame label with that name. This prevents annoying warnings! @@ -296,7 +302,7 @@ class FlxAtlasSprite extends FlxAnimate anim.curFrame = (fr != null) ? fr.index : 0; anim.resume(); } - else if (fr != null) + else if (fr != null && anim.curFrame != anim.length - 1) { anim.curFrame--; } diff --git a/source/funkin/play/ResultState.hx b/source/funkin/play/ResultState.hx index e7087e340..e0ac3579d 100644 --- a/source/funkin/play/ResultState.hx +++ b/source/funkin/play/ResultState.hx @@ -194,6 +194,7 @@ class ResultState extends MusicBeatSubState { // Animation is not looped. animation.onAnimationComplete.add((_name:String) -> { + trace("AHAHAH 2"); if (animation != null) { animation.anim.pause(); @@ -203,9 +204,10 @@ class ResultState extends MusicBeatSubState else if (animData.loopFrameLabel != null) { animation.onAnimationComplete.add((_name:String) -> { + trace("AHAHAH 2"); if (animation != null) { - animation.playAnimation(animData.loopFrameLabel ?? ''); // unpauses this anim, since it's on PlayOnce! + animation.playAnimation(animData.loopFrameLabel ?? '', true, false, true); // unpauses this anim, since it's on PlayOnce! } }); } @@ -214,6 +216,7 @@ class ResultState extends MusicBeatSubState animation.onAnimationComplete.add((_name:String) -> { if (animation != null) { + trace("AHAHAH"); animation.anim.curFrame = animData.loopFrame ?? 0; animation.anim.play(); // unpauses this anim, since it's on PlayOnce! } diff --git a/source/funkin/ui/charSelect/CharSelectPlayer.hx b/source/funkin/ui/charSelect/CharSelectPlayer.hx index 710bdd45a..b6319f16d 100644 --- a/source/funkin/ui/charSelect/CharSelectPlayer.hx +++ b/source/funkin/ui/charSelect/CharSelectPlayer.hx @@ -27,7 +27,7 @@ class CharSelectPlayer extends FlxAtlasSprite implements IBPMSyncedScriptedClass case "deselect": playAnimation("deselect loop start", true, false, true); - case "slidein idle point", "cannot select", "unlock": + case "slidein idle point", "cannot select Label", "unlock": playAnimation("idle", true, false, false); case "idle": trace('Waiting for onBeatHit'); diff --git a/source/funkin/ui/freeplay/FreeplayDJ.hx b/source/funkin/ui/freeplay/FreeplayDJ.hx index 51829d44d..a6cbab440 100644 --- a/source/funkin/ui/freeplay/FreeplayDJ.hx +++ b/source/funkin/ui/freeplay/FreeplayDJ.hx @@ -141,6 +141,7 @@ class FreeplayDJ extends FlxAtlasSprite } else if (getCurrentAnimation() == animPrefixB) { + trace("Loss Intro"); var endFrame = playableCharData.getFistPumpIntroBadEndFrame(); if (endFrame > -1 && anim.curFrame >= endFrame) { @@ -166,6 +167,7 @@ class FreeplayDJ extends FlxAtlasSprite } else if (getCurrentAnimation() == animPrefixB) { + trace("Loss GYATT"); var endFrame = playableCharData.getFistPumpLoopBadEndFrame(); if (endFrame > -1 && anim.curFrame >= endFrame) { diff --git a/source/funkin/ui/title/TitleState.hx b/source/funkin/ui/title/TitleState.hx index df628fa87..f5c641d0c 100644 --- a/source/funkin/ui/title/TitleState.hx +++ b/source/funkin/ui/title/TitleState.hx @@ -273,8 +273,11 @@ class TitleState extends MusicBeatState } #end - if (Save.instance.charactersSeen.contains("pico")) Save.instance.charactersSeen.remove("pico"); - + if (Save.instance.charactersSeen.contains("pico")) + { + Save.instance.charactersSeen.remove("pico"); + Save.instance.oldChar = false; + } Conductor.instance.update(); /* if (FlxG.onMobile)