diff --git a/source/funkin/backend/FunkinSprite.hx b/source/funkin/backend/FunkinSprite.hx index 09cf8f7b..267d1581 100644 --- a/source/funkin/backend/FunkinSprite.hx +++ b/source/funkin/backend/FunkinSprite.hx @@ -1,10 +1,13 @@ package funkin.backend; import flixel.addons.effects.FlxSkewedSprite; +import flixel.animation.FlxAnimation; import flixel.math.FlxMatrix; import flixel.math.FlxPoint; import flixel.math.FlxRect; import flixel.system.FlxAssets.FlxGraphicAsset; +import flixel.util.typeLimit.OneOfTwo; +import flxanimate.animate.FlxAnim.FlxSymbolAnimation; import funkin.backend.scripting.events.PlayAnimContext; import funkin.backend.system.interfaces.IBeatReceiver; import funkin.backend.system.interfaces.IOffsetCompatible; @@ -325,6 +328,12 @@ class FunkinSprite extends FlxSkewedSprite implements IBeatReceiver implements I lastAnimContext = Context; } + public function getAnim(name:String):OneOfTwo { + if(animateAtlas != null) + return animateAtlas.anim.getByName(name); + return animation.getByName(name); + } + public inline function getAnimOffset(name:String) { if (animOffsets.exists(name)) @@ -366,7 +375,11 @@ class FunkinSprite extends FlxSkewedSprite implements IBeatReceiver implements I } public inline function isAnimFinished() { - return animateAtlas != null ? (animateAtlas.anim.finished) : (animation.curAnim != null ? animation.curAnim.finished : true); + return animateAtlas != null ? animateAtlas.anim.finished : (animation.curAnim != null ? animation.curAnim.finished : true); + } + + public inline function isAnimAtEnd() { + return animateAtlas != null ? animateAtlas.anim.isAtEnd : (animation.curAnim != null ? animation.curAnim.isAtEnd : false); } #end diff --git a/source/funkin/menus/TitleState.hx b/source/funkin/menus/TitleState.hx index 599cafff..b74a8db4 100644 --- a/source/funkin/menus/TitleState.hx +++ b/source/funkin/menus/TitleState.hx @@ -355,7 +355,7 @@ class IntroText { for(e in lines) { if (e is String) { var text = cast(e, String); - for(k=>e in state.curWacky) text = text.replace('{introText${k+1}', e); + for(k=>e in state.curWacky) text = text.replace('{introText${k+1}}', e); state.addMoreText(text); } else if (e is Dynamic) { var image:TitleStateImage = e;