From 16479c98e09016ad2b128f1f1dea4591d7de607b Mon Sep 17 00:00:00 2001 From: lunarcleint <88809950+lunarcleint@users.noreply.github.com> Date: Thu, 13 Jul 2023 15:51:14 -0700 Subject: [PATCH] stop null object on all animations delete --- .../funkin/editors/character/CharacterEditor.hx | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/source/funkin/editors/character/CharacterEditor.hx b/source/funkin/editors/character/CharacterEditor.hx index 8deaaad6..8be4f5c4 100644 --- a/source/funkin/editors/character/CharacterEditor.hx +++ b/source/funkin/editors/character/CharacterEditor.hx @@ -392,7 +392,10 @@ class CharacterEditor extends UIState { } public function deleteAnim(name:String, addtoUndo:Bool = true) { - playAnimation(character.animation.getNameList()[Std.int(Math.abs(character.animation.getNameList().indexOf(name)-1))]); + if (character.animation.getNameList().length-1 == 0) + @:privateAccess character.animation._curAnim = null; + else + playAnimation(character.animation.getNameList()[Std.int(Math.abs(character.animation.getNameList().indexOf(name)-1))]); // undo shit blah blah var oldID:Int = character.animation.getNameList().indexOf(name); @@ -408,11 +411,13 @@ class CharacterEditor extends UIState { } function _playback_play_anim(_) { - playAnimation(character.animation.name); + if (character.animation.getNameList().length != 0) + playAnimation(character.animation.name); } function _playback_stop_anim(_) { - character.animation.stop(); + if (character.animation.getNameList().length != 0) + character.animation.stop(); } public function playAnimation(anim:String) { @@ -457,6 +462,8 @@ class CharacterEditor extends UIState { } function changeOffset(anim:String, change:FlxPoint, addtoUndo:Bool = true) { + if (character.animation.getNameList().length == 0) return; + character.animOffsets.set(anim, character.getAnimOffset(anim) + change); characterAnimsWindow.animButtons[anim].updateInfo(anim, character.getAnimOffset(anim), false); character.frameOffset.set(character.getAnimOffset(anim).x, character.getAnimOffset(anim).y); @@ -466,6 +473,8 @@ class CharacterEditor extends UIState { } function clearOffsets(addtoUndo:Bool = true) { + if (character.animation.getNameList().length == 0) return; + var oldOffsets:Map = [ for (anim => offsets in character.animOffsets) anim => offsets.clone()