matching up battle_anim_special

This commit is contained in:
Evan
2019-12-04 14:49:35 -07:00
parent 0acdd40d92
commit 661a581176
8 changed files with 141 additions and 138 deletions
+40 -28
View File
@@ -40,13 +40,13 @@
#define LOHALF(n) ((n) & 0xFFFF)
// IWRAM
//EWRAM_DATA int gUnknown_3005424 = 0;
//EWRAM_DATA u16 gUnknown_3005428 = 0;
//EWRAM_DATA u16 gUnknown_300542C = 0;
EWRAM_DATA u16 gUnknown_3005424 = 0;
EWRAM_DATA u16 gUnknown_3005428 = 0;
EWRAM_DATA u16 gUnknown_300542C = 0;
extern u32 gUnknown_3005424;
extern u32 gUnknown_3005428;
extern u32 gUnknown_300542C;
//extern u32 gUnknown_3005424;
//extern u32 gUnknown_3005428;
//extern u32 gUnknown_300542C;
// Function Declarations
static void sub_80EEDF4(u8);
@@ -704,12 +704,20 @@ void sub_80EF4B8(u8 taskId)
DestroyAnimVisualTask(taskId);
}
void AnimTask_IsBallBlockedByTrainer(u8 taskId)
void AnimTask_IsBallBlockedByTrainerOrDodged(u8 taskId)
{
if (gBattleSpritesDataPtr->animationData->ballThrowCaseId == BALL_TRAINER_BLOCK)
gBattleAnimArgs[ARG_RET_ID] = -1;
else
gBattleAnimArgs[ARG_RET_ID] = 0;
switch (gBattleSpritesDataPtr->animationData->ballThrowCaseId)
{
case BALL_TRAINER_BLOCK:
gBattleAnimArgs[ARG_RET_ID] = -1;
break;
case BALL_GHOST_DODGE:
gBattleAnimArgs[ARG_RET_ID] = -2;
break;
default:
gBattleAnimArgs[ARG_RET_ID] = 0;
break;
}
DestroyAnimVisualTask(taskId);
}
@@ -902,8 +910,8 @@ static void sub_80EFA0C(struct Sprite *sprite)
PrepareBattlerSpriteForRotScale(spriteId, ST_OAM_OBJ_NORMAL);
gTasks[taskId].data[10] = 256;
gUnknown_3005424 = 28;
gUnknown_300542C = (gSprites[spriteId].pos1.y + gSprites[spriteId].pos2.y) - (sprite->pos1.y + sprite->pos2.y);
gUnknown_3005428 = (u32)(gUnknown_300542C * 256) / 28;
gUnknown_300542C = (gSprites[spriteId].pos2.y + gSprites[spriteId].pos1.y) - (sprite->pos2.y + sprite->pos1.y);
gUnknown_3005428 = (gUnknown_300542C * 256) / 28;
gTasks[taskId].data[2] = gUnknown_3005428;
gTasks[taskId].data[0]++;
break;
@@ -1209,7 +1217,7 @@ static void sub_80EFFC4(struct Sprite *sprite)
}
else if (sprite->data[4] == 95)
{
gDoingBattleAnim = 0;
gDoingBattleAnim = FALSE;
UpdateOamPriorityInAllHealthboxes(1);
m4aMPlayAllStop();
PlaySE(MUS_FAN6);
@@ -1364,7 +1372,7 @@ static void sub_80F0378(struct Sprite *sprite)
gSprites[gBattlerSpriteIds[gBattleAnimTarget]].invisible = gBattleSpritesDataPtr->animationData->field_9_x2;
sprite->data[0] = 0;
sprite->callback = sub_80F018C;
gDoingBattleAnim = 0;
gDoingBattleAnim = FALSE;
UpdateOamPriorityInAllHealthboxes(1);
}
}
@@ -1397,7 +1405,7 @@ static void sub_80F04B4(struct Sprite *sprite)
{
sprite->data[0] = 0;
sprite->callback = sub_80F018C;
gDoingBattleAnim = 0;
gDoingBattleAnim = FALSE;
UpdateOamPriorityInAllHealthboxes(1);
}
}
@@ -1405,18 +1413,13 @@ static void sub_80F04B4(struct Sprite *sprite)
// GhostBallDodge
static void sub_80F052C(struct Sprite *sprite)
{
s16 x;
s16 y;
x = sprite->pos1.x + sprite->pos2.x;
sprite->pos1.x = x;
y = sprite->pos1.y + sprite->pos2.y;
sprite->pos1.y = y;
sprite->pos2.x = sprite->pos2.y = 0;
sprite->pos1.x += sprite->pos2.x;
sprite->pos1.y += sprite->pos2.y;
sprite->pos2.x = sprite->pos2.y = 0;
sprite->data[0] = 0x22;
sprite->data[1] = x;
sprite->data[2] = x - 8;
sprite->data[3] = y;
sprite->data[1] = sprite->pos1.x;
sprite->data[2] = sprite->pos1.x - 8;
sprite->data[3] = sprite->pos1.y;
sprite->data[4] = 0x90;
sprite->data[5] = 0x20;
InitAnimArcTranslation(sprite);
@@ -1426,7 +1429,16 @@ static void sub_80F052C(struct Sprite *sprite)
static void sub_80F0574(struct Sprite *sprite)
{
//to do
if (!TranslateAnimVerticalArc(sprite))
{
if ((sprite->pos1.y + sprite->pos2.y) < 65)
return;
}
sprite->data[0] = 0;
sprite->callback = sub_80F018C;
gDoingBattleAnim = FALSE;
UpdateOamPriorityInAllHealthboxes(1);
}
static void sub_80F05B4(u8 ballId)