@@ -140,7 +140,7 @@ class Character extends FlxSprite {
140140 }
141141 public static var DEFAULT_CHARACTER : String = ' bf' ; // In case a character is missing, it will use BF on its place
142142
143- public static function getCharacterFile (character : String , ? instance : Character ): CharacterFile {
143+ public static function getCharacterFile (character : String , ? instance : Character , ? nullOnFail : Bool = false ): CharacterFile {
144144 var characterPath : String = ' characters/' + character + ' .json' ;
145145
146146 #if MODS_ALLOWED
@@ -157,6 +157,8 @@ class Character extends FlxSprite {
157157 {
158158 if (instance != null )
159159 instance .loadFailed = true ;
160+ if (nullOnFail )
161+ return null ;
160162 path = Paths .getPreloadPath (' characters/' + DEFAULT_CHARACTER + ' .json' ); // If a character couldn't be found, change him to BF just to prevent a crash
161163 }
162164
@@ -316,8 +318,10 @@ class Character extends FlxSprite {
316318 // no flipX in flxanimate bcs not supported bye
317319 if (animIndices != null && animIndices .length > 0 )
318320 atlas .anim .addBySymbolIndices (animAnim , animName , animIndices , animFps , animLoop );
319- else
321+ else if ( atlas . anim . symbolDictionary . exists ( animName ))
320322 atlas .anim .addBySymbol (animAnim , animName , animFps , animLoop );
323+ else
324+ atlas .anim .addByFrameLabel (animAnim , animName , animFps , animLoop );
321325 }
322326 #end
323327
@@ -733,8 +737,10 @@ class Character extends FlxSprite {
733737 if (! isAnimateAtlas )
734738 animation .addByPrefix (name , anim , 24 , false );
735739 #if flxanimate
736- else
740+ else if ( atlas . anim . symbolDictionary . exists ( anim ))
737741 atlas .anim .addBySymbol (name , anim , 24 , false );
742+ else
743+ atlas .anim .addByFrameLabel (name , anim , 24 , false );
738744 #end
739745 }
740746
0 commit comments