Fix createsprite battle anim cmd not checking MAX_SPRITES

This commit is contained in:
DizzyEggg 2023-06-27 22:39:43 +02:00
parent f3be4e1ac5
commit 09013ee2db

View File

@ -525,12 +525,13 @@ static void Cmd_createsprite(void)
subpriority = GetSubpriorityForMoveAnim(argVar);
CreateSpriteAndAnimate(
template,
if (CreateSpriteAndAnimate(template,
GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2),
GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET),
subpriority);
subpriority) != MAX_SPRITES) // Don't increment the task count if the sprite couldn't be created(i.e. there are too many created sprites atm).
{
gAnimVisualTaskCount++;
}
}
static void CreateSpriteOnTargets(const struct SpriteTemplate *template, u8 argVar, u8 battlerArgIndex, u8 argsCount, bool32 overwriteAnimTgt)
@ -555,13 +556,14 @@ static void CreateSpriteOnTargets(const struct SpriteTemplate *template, u8 argV
if (overwriteAnimTgt)
gBattleAnimArgs[battlerArgIndex] = targets[i];
CreateSpriteAndAnimate(
template,
if (CreateSpriteAndAnimate(template,
GetBattlerSpriteCoord(targets[i], BATTLER_COORD_X_2),
GetBattlerSpriteCoord(targets[i], BATTLER_COORD_Y_PIC_OFFSET),
subpriority);
subpriority) != MAX_SPRITES) // Don't increment the task count if the sprite couldn't be created(i.e. there are too many created sprites atm).
{
gAnimVisualTaskCount++;
}
}
}
// will NOT overwrite gBattleAnimArgs