diff --git a/assets/data/characters/bf-pixel-dead.xml b/assets/data/characters/bf-pixel-dead.xml
new file mode 100644
index 00000000..807b834e
--- /dev/null
+++ b/assets/data/characters/bf-pixel-dead.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/assets/data/characters/bf-pixel.xml b/assets/data/characters/bf-pixel.xml
index fe0231cb..8dce0b58 100644
--- a/assets/data/characters/bf-pixel.xml
+++ b/assets/data/characters/bf-pixel.xml
@@ -1,5 +1,5 @@
-
+
diff --git a/assets/images/characters/bf-pixel-dead.png b/assets/images/characters/bf-pixel-dead.png
new file mode 100644
index 00000000..71c4321e
Binary files /dev/null and b/assets/images/characters/bf-pixel-dead.png differ
diff --git a/assets/images/characters/bf-pixel-dead.xml b/assets/images/characters/bf-pixel-dead.xml
new file mode 100644
index 00000000..36fc96ec
--- /dev/null
+++ b/assets/images/characters/bf-pixel-dead.xml
@@ -0,0 +1,131 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/funkin/backend/shaders/FunkinShader.hx b/source/funkin/backend/shaders/FunkinShader.hx
index 299c69ca..5a63d804 100644
--- a/source/funkin/backend/shaders/FunkinShader.hx
+++ b/source/funkin/backend/shaders/FunkinShader.hx
@@ -368,7 +368,7 @@ class FunkinShader extends FlxShader implements IHScriptCustomBehaviour {
}
if (!Reflect.hasField(data, name)) return null;
var field = Reflect.field(data, name);
- var cl = Std.string(Type.getClass(field));
+ var cl = Type.getClassName(Type.getClass(field));
// cant do "field is ShaderInput" for some reason
if (cl.startsWith("openfl.display.ShaderParameter")) {
@@ -393,8 +393,7 @@ class FunkinShader extends FlxShader implements IHScriptCustomBehaviour {
return val;
} else {
var field = Reflect.field(data, name);
- var cl = Std.string(Type.getClass(field));
-
+ var cl = Type.getClassName(Type.getClass(field));
// cant do "field is ShaderInput" for some reason
if (cl.startsWith("openfl.display.ShaderParameter")) {
@:privateAccess
diff --git a/source/funkin/editors/character/CharacterGhostsHandler.hx b/source/funkin/editors/character/CharacterGhostsHandler.hx
index 6e126df8..b9d3a2cb 100644
--- a/source/funkin/editors/character/CharacterGhostsHandler.hx
+++ b/source/funkin/editors/character/CharacterGhostsHandler.hx
@@ -30,9 +30,11 @@ class CharacterGhostsHandler extends FlxTypedGroup {
public function removeGhost(anim:String) {
var ghost:Character = animGhosts.get(anim);
- @:privateAccess ghost.animation._curAnim = null;
- animGhosts.remove(anim);
- ghost.destroy();
+ @:privateAccess if (ghost != null) {
+ ghost.animation._curAnim = null;
+ animGhosts.remove(anim);
+ ghost.destroy();
+ }
}
public function updateInfos(xml:Xml) {