diff --git a/assets/data/characters/bf-car.xml b/assets/data/characters/bf-car.xml
index b4c9b24c..bd276ca8 100644
--- a/assets/data/characters/bf-car.xml
+++ b/assets/data/characters/bf-car.xml
@@ -1,12 +1,18 @@
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/assets/data/characters/da.xml b/assets/data/characters/da.xml
index 2ef057ba..f176be02 100644
--- a/assets/data/characters/da.xml
+++ b/assets/data/characters/da.xml
@@ -1,8 +1,13 @@
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/assets/data/characters/dad.xml b/assets/data/characters/dad.xml
index 1b1e0f04..39319727 100644
--- a/assets/data/characters/dad.xml
+++ b/assets/data/characters/dad.xml
@@ -1,8 +1,13 @@
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/assets/data/characters/mom-car.xml b/assets/data/characters/mom-car.xml
index fa7c18dd..e511498f 100644
--- a/assets/data/characters/mom-car.xml
+++ b/assets/data/characters/mom-car.xml
@@ -1,10 +1,16 @@
-
-
-
-
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/assets/data/characters/mom.xml b/assets/data/characters/mom.xml
index 4781ede4..43d52076 100644
--- a/assets/data/characters/mom.xml
+++ b/assets/data/characters/mom.xml
@@ -1,10 +1,16 @@
-
-
-
-
+
+
+
+
-
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/assets/images/characters/mom.xml b/assets/images/characters/mom.xml
index 67eeb6b7..51132b97 100644
--- a/assets/images/characters/mom.xml
+++ b/assets/images/characters/mom.xml
@@ -15,8 +15,9 @@
-
-
+
+
diff --git a/source/funkin/backend/FunkinSprite.hx b/source/funkin/backend/FunkinSprite.hx
index 63f6a8b7..1dde08cd 100644
--- a/source/funkin/backend/FunkinSprite.hx
+++ b/source/funkin/backend/FunkinSprite.hx
@@ -94,6 +94,14 @@ class FunkinSprite extends FlxSkewedSprite implements IBeatReceiver implements I
public override function update(elapsed:Float)
{
super.update(elapsed);
+
+ // hate how it looks like but hey at least its optimized and fast - Nex
+ if (isAnimFinished()) {
+ var name = getAnimName() + '-loop';
+ if (animation.exists(name))
+ playAnim(name, false, lastAnimContext);
+ }
+
if (animateAtlas != null)
animateAtlas.update(elapsed);
}
@@ -337,6 +345,10 @@ class FunkinSprite extends FlxSkewedSprite implements IBeatReceiver implements I
return name;
}
+ public inline function isAnimReversed():Bool {
+ return animateAtlas != null ? animateAtlas.anim.reversed : animation.curAnim != null ? animation.curAnim.reversed : false;
+ }
+
public inline function removeAnimation(name:String) {
if (animateAtlas != null)
@:privateAccess animateAtlas.anim.animsMap.remove(name);