Merge pull request #450 from PikalaxALT/flatten_sprite_pos
Flatten pos fields in struct Sprite
This commit is contained in:
+2
-2
@@ -197,8 +197,8 @@ struct Sprite
|
||||
/*0x18*/ const struct SubspriteTable *subspriteTables;
|
||||
/*0x1C*/ SpriteCallback callback;
|
||||
|
||||
/*0x20*/ struct Coords16 pos1;
|
||||
/*0x24*/ struct Coords16 pos2;
|
||||
/*0x20*/ s16 x, y;
|
||||
/*0x24*/ s16 x2, y2;
|
||||
/*0x28*/ s8 centerToCornerVecX;
|
||||
/*0x29*/ s8 centerToCornerVecY;
|
||||
|
||||
|
||||
+10
-10
@@ -2183,8 +2183,8 @@ static void ScriptCmd_monbg(void)
|
||||
spriteId = gBattlerSpriteIds[battlerId];
|
||||
taskId = CreateTask(task_pA_ma0A_obj_to_bg_pal, 10);
|
||||
gTasks[taskId].data[t1_MONBG_BATTLER] = spriteId;
|
||||
gTasks[taskId].data[1] = gSprites[spriteId].pos1.x + gSprites[spriteId].pos2.x;
|
||||
gTasks[taskId].data[2] = gSprites[spriteId].pos1.y + gSprites[spriteId].pos2.y;
|
||||
gTasks[taskId].data[1] = gSprites[spriteId].x + gSprites[spriteId].x2;
|
||||
gTasks[taskId].data[2] = gSprites[spriteId].y + gSprites[spriteId].y2;
|
||||
if (!toBG_2)
|
||||
{
|
||||
gTasks[taskId].data[3] = gBattle_BG1_X;
|
||||
@@ -2214,8 +2214,8 @@ static void ScriptCmd_monbg(void)
|
||||
spriteId = gBattlerSpriteIds[battlerId];
|
||||
taskId = CreateTask(task_pA_ma0A_obj_to_bg_pal, 10);
|
||||
gTasks[taskId].data[t1_MONBG_BATTLER] = spriteId;
|
||||
gTasks[taskId].data[1] = gSprites[spriteId].pos1.x + gSprites[spriteId].pos2.x;
|
||||
gTasks[taskId].data[2] = gSprites[spriteId].pos1.y + gSprites[spriteId].pos2.y;
|
||||
gTasks[taskId].data[1] = gSprites[spriteId].x + gSprites[spriteId].x2;
|
||||
gTasks[taskId].data[2] = gSprites[spriteId].y + gSprites[spriteId].y2;
|
||||
if (!toBG_2)
|
||||
{
|
||||
gTasks[taskId].data[3] = gBattle_BG1_X;
|
||||
@@ -2268,8 +2268,8 @@ void MoveBattlerSpriteToBG(u8 battlerId, bool8 toBG_2)
|
||||
SetAnimBgAttribute(1, BG_ANIM_AREA_OVERFLOW_MODE, 0);
|
||||
|
||||
battlerSpriteId = gBattlerSpriteIds[battlerId];
|
||||
gBattle_BG1_X = -(gSprites[battlerSpriteId].pos1.x + gSprites[battlerSpriteId].pos2.x) + 0x20;
|
||||
gBattle_BG1_Y = -(gSprites[battlerSpriteId].pos1.y + gSprites[battlerSpriteId].pos2.y) + 0x20;
|
||||
gBattle_BG1_X = -(gSprites[battlerSpriteId].x + gSprites[battlerSpriteId].x2) + 0x20;
|
||||
gBattle_BG1_Y = -(gSprites[battlerSpriteId].y + gSprites[battlerSpriteId].y2) + 0x20;
|
||||
gSprites[gBattlerSpriteIds[battlerId]].invisible = TRUE;
|
||||
|
||||
SetGpuReg(REG_OFFSET_BG1HOFS, gBattle_BG1_X);
|
||||
@@ -2293,8 +2293,8 @@ void MoveBattlerSpriteToBG(u8 battlerId, bool8 toBG_2)
|
||||
SetAnimBgAttribute(2, BG_ANIM_AREA_OVERFLOW_MODE, 0);
|
||||
|
||||
battlerSpriteId = gBattlerSpriteIds[battlerId];
|
||||
gBattle_BG2_X = -(gSprites[battlerSpriteId].pos1.x + gSprites[battlerSpriteId].pos2.x) + 0x20;
|
||||
gBattle_BG2_Y = -(gSprites[battlerSpriteId].pos1.y + gSprites[battlerSpriteId].pos2.y) + 0x20;
|
||||
gBattle_BG2_X = -(gSprites[battlerSpriteId].x + gSprites[battlerSpriteId].x2) + 0x20;
|
||||
gBattle_BG2_Y = -(gSprites[battlerSpriteId].y + gSprites[battlerSpriteId].y2) + 0x20;
|
||||
gSprites[gBattlerSpriteIds[battlerId]].invisible = TRUE;
|
||||
|
||||
SetGpuReg(REG_OFFSET_BG2HOFS, gBattle_BG2_X);
|
||||
@@ -2356,8 +2356,8 @@ static void task_pA_ma0A_obj_to_bg_pal(u8 taskId)
|
||||
spriteId = gTasks[taskId].data[0];
|
||||
palIndex = gTasks[taskId].data[6];
|
||||
GetBattleAnimBg1Data(&animBg);
|
||||
x = gTasks[taskId].data[1] - (gSprites[spriteId].pos1.x + gSprites[spriteId].pos2.x);
|
||||
y = gTasks[taskId].data[2] - (gSprites[spriteId].pos1.y + gSprites[spriteId].pos2.y);
|
||||
x = gTasks[taskId].data[1] - (gSprites[spriteId].x + gSprites[spriteId].x2);
|
||||
y = gTasks[taskId].data[2] - (gSprites[spriteId].y + gSprites[spriteId].y2);
|
||||
|
||||
if (gTasks[taskId].data[5] == 0)
|
||||
{
|
||||
|
||||
+305
-305
File diff suppressed because it is too large
Load Diff
+184
-184
@@ -1214,7 +1214,7 @@ void sub_80A6E48(struct Sprite *sprite)
|
||||
{
|
||||
SetSpriteCoordsToAnimAttackerCoords(sprite);
|
||||
SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[0]);
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
sprite->data[1] = gBattleAnimArgs[2];
|
||||
sprite->data[2] = gBattleAnimArgs[4];
|
||||
sprite->data[3] = gBattleAnimArgs[5];
|
||||
@@ -1244,12 +1244,12 @@ static void sub_80A6ED8(struct Sprite *sprite)
|
||||
switch (sprite->data[0])
|
||||
{
|
||||
case 0:
|
||||
sprite->pos2.y -= 3;
|
||||
sprite->y2 -= 3;
|
||||
if (++sprite->data[1] == 6)
|
||||
sprite->data[0]++;
|
||||
break;
|
||||
case 1:
|
||||
sprite->pos2.y += 3;
|
||||
sprite->y2 += 3;
|
||||
if (--sprite->data[1] == 0)
|
||||
sprite->data[0]++;
|
||||
break;
|
||||
@@ -1264,12 +1264,12 @@ static void sub_80A6F3C(struct Sprite *sprite)
|
||||
{
|
||||
s16 temp;
|
||||
|
||||
gSprites[sprite->data[2]].pos2.x += sprite->data[1];
|
||||
gSprites[sprite->data[2]].x2 += sprite->data[1];
|
||||
temp = sprite->data[1];
|
||||
sprite->data[1] = -temp;
|
||||
if (sprite->data[0] == 0)
|
||||
{
|
||||
gSprites[sprite->data[2]].pos2.x = 0;
|
||||
gSprites[sprite->data[2]].x2 = 0;
|
||||
DestroySpriteAndMatrix(sprite);
|
||||
}
|
||||
|
||||
@@ -1280,15 +1280,15 @@ void sub_80A6F8C(struct Sprite *sprite)
|
||||
{
|
||||
u8 spriteId;
|
||||
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
spriteId = gBattlerSpriteIds[gBattleAnimTarget];
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
sprite->pos1.x -= gBattleAnimArgs[0];
|
||||
sprite->x -= gBattleAnimArgs[0];
|
||||
else
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->x += gBattleAnimArgs[0];
|
||||
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
sprite->data[0] = gBattleAnimArgs[2];
|
||||
sprite->data[1] = gBattleAnimArgs[3];
|
||||
sprite->data[2] = spriteId;
|
||||
@@ -1309,8 +1309,8 @@ void sub_80A7020(struct Sprite *sprite)
|
||||
static void sub_80A7058(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[0] = sprite->data[1];
|
||||
sprite->data[2] = sprite->pos1.x;
|
||||
sprite->data[4] = sprite->pos1.y + 15;
|
||||
sprite->data[2] = sprite->x;
|
||||
sprite->data[4] = sprite->y + 15;
|
||||
sprite->callback = StartAnimLinearTranslation;
|
||||
StoreSpriteCallbackInData6(sprite, sub_80A7080);
|
||||
}
|
||||
@@ -1346,7 +1346,7 @@ static void AnimTask_WithdrawStep(u8 taskId)
|
||||
{
|
||||
gTasks[taskId].data[0] += 0xB0;
|
||||
// this y position update gets overwritten by SetBattlerSpriteYOffsetFromRotation()
|
||||
gSprites[spriteId].pos2.y++;
|
||||
gSprites[spriteId].y2++;
|
||||
}
|
||||
else if (gTasks[taskId].data[1] == 1)
|
||||
{
|
||||
@@ -1359,7 +1359,7 @@ static void AnimTask_WithdrawStep(u8 taskId)
|
||||
{
|
||||
gTasks[taskId].data[0] -= 0xB0;
|
||||
// this y position update gets overwritten by SetBattlerSpriteYOffsetFromRotation()
|
||||
gSprites[spriteId].pos2.y--;
|
||||
gSprites[spriteId].y2--;
|
||||
}
|
||||
|
||||
SetBattlerSpriteYOffsetFromRotation(spriteId);
|
||||
@@ -1385,11 +1385,11 @@ void Anim_KinesisZapEnergy(struct Sprite *sprite)
|
||||
{
|
||||
SetSpriteCoordsToAnimAttackerCoords(sprite);
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
sprite->pos1.x -= gBattleAnimArgs[0];
|
||||
sprite->x -= gBattleAnimArgs[0];
|
||||
else
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->x += gBattleAnimArgs[0];
|
||||
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
{
|
||||
sprite->hFlip = TRUE;
|
||||
@@ -1419,8 +1419,8 @@ void Anim_SwordsDanceBlade(struct Sprite *sprite)
|
||||
static void AnimSwordsDanceBladeStep(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[0] = 6;
|
||||
sprite->data[2] = sprite->pos1.x;
|
||||
sprite->data[4] = sprite->pos1.y - 32;
|
||||
sprite->data[2] = sprite->x;
|
||||
sprite->data[4] = sprite->y - 32;
|
||||
sprite->callback = StartAnimLinearTranslation;
|
||||
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
|
||||
}
|
||||
@@ -1452,7 +1452,7 @@ void AnimSonicBoomProjectile(struct Sprite *sprite)
|
||||
InitSpritePosToAnimAttacker(sprite, TRUE);
|
||||
targetXPos = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + gBattleAnimArgs[2];
|
||||
targetYPos = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[3];
|
||||
rotation = ArcTan2Neg(targetXPos - sprite->pos1.x, targetYPos - sprite->pos1.y);
|
||||
rotation = ArcTan2Neg(targetXPos - sprite->x, targetYPos - sprite->y);
|
||||
rotation += 0xF000;
|
||||
if (IsContest())
|
||||
rotation -= 0x6000;
|
||||
@@ -1492,14 +1492,14 @@ static void AnimAirWaveProjectile_Step1(struct Sprite *sprite)
|
||||
sprite->data[1] += sprite->data[5];
|
||||
sprite->data[2] += sprite->data[6];
|
||||
if (1 & task->data[7])
|
||||
sprite->pos2.x = ((u16)sprite->data[1] >> 8) * -1;
|
||||
sprite->x2 = ((u16)sprite->data[1] >> 8) * -1;
|
||||
else
|
||||
sprite->pos2.x = (u16)sprite->data[1] >> 8;
|
||||
sprite->x2 = (u16)sprite->data[1] >> 8;
|
||||
|
||||
if (1 & task->data[8])
|
||||
sprite->pos2.y = ((u16)sprite->data[2] / 256u) * -1;
|
||||
sprite->y2 = ((u16)sprite->data[2] / 256u) * -1;
|
||||
else
|
||||
sprite->pos2.y = (u16)sprite->data[2] / 256u;
|
||||
sprite->y2 = (u16)sprite->data[2] / 256u;
|
||||
|
||||
if (sprite->data[0]-- <= 0)
|
||||
{
|
||||
@@ -1519,33 +1519,33 @@ void AnimAirWaveProjectile(struct Sprite *sprite)
|
||||
sprite->data[1] += (-2 & task->data[7]);
|
||||
sprite->data[2] += (-2 & task->data[8]);
|
||||
if (1 & task->data[7])
|
||||
sprite->pos2.x = ((u16)sprite->data[1] >> 8) * -1;
|
||||
sprite->x2 = ((u16)sprite->data[1] >> 8) * -1;
|
||||
else
|
||||
sprite->pos2.x = (u16)sprite->data[1] >> 8;
|
||||
sprite->x2 = (u16)sprite->data[1] >> 8;
|
||||
|
||||
if (1 & task->data[8])
|
||||
sprite->pos2.y = ((u16)sprite->data[2] / 256u) * -1;
|
||||
sprite->y2 = ((u16)sprite->data[2] / 256u) * -1;
|
||||
else
|
||||
sprite->pos2.y = (u16)sprite->data[2] / 256u;
|
||||
sprite->y2 = (u16)sprite->data[2] / 256u;
|
||||
|
||||
if (sprite->data[0]-- <= 0)
|
||||
{
|
||||
sprite->data[0] = 8;
|
||||
task->data[5] = 4;
|
||||
a = Q_8_8_inv(0x1000);
|
||||
sprite->pos1.x += sprite->pos2.x;
|
||||
sprite->pos1.y += sprite->pos2.y;
|
||||
sprite->pos2.y = 0;
|
||||
sprite->pos2.x = 0;
|
||||
if (task->data[11] >= sprite->pos1.x)
|
||||
b = (task->data[11] - sprite->pos1.x) << 8;
|
||||
sprite->x += sprite->x2;
|
||||
sprite->y += sprite->y2;
|
||||
sprite->y2 = 0;
|
||||
sprite->x2 = 0;
|
||||
if (task->data[11] >= sprite->x)
|
||||
b = (task->data[11] - sprite->x) << 8;
|
||||
else
|
||||
b = (sprite->pos1.x - task->data[11]) << 8;
|
||||
b = (sprite->x - task->data[11]) << 8;
|
||||
|
||||
if (task->data[12] >= sprite->pos1.y)
|
||||
c = (task->data[12] - sprite->pos1.y) << 8;
|
||||
if (task->data[12] >= sprite->y)
|
||||
c = (task->data[12] - sprite->y) << 8;
|
||||
else
|
||||
c = (sprite->pos1.y - task->data[12]) << 8;
|
||||
c = (sprite->y - task->data[12]) << 8;
|
||||
|
||||
sprite->data[2] = 0;
|
||||
sprite->data[1] = 0;
|
||||
@@ -1732,7 +1732,7 @@ void AnimCoinThrow(struct Sprite *sprite)
|
||||
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
|
||||
|
||||
r6 += gBattleAnimArgs[2];
|
||||
var = ArcTan2Neg(r6 - sprite->pos1.x, r7 - sprite->pos1.y);
|
||||
var = ArcTan2Neg(r6 - sprite->x, r7 - sprite->y);
|
||||
var += 0xC000;
|
||||
TrySetSpriteRotScale(sprite, FALSE, 0x100, 0x100, var);
|
||||
sprite->data[0] = gBattleAnimArgs[4];
|
||||
@@ -1745,18 +1745,18 @@ void AnimCoinThrow(struct Sprite *sprite)
|
||||
void AnimFallingCoin(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[2] = -16;
|
||||
sprite->pos1.y += 8;
|
||||
sprite->y += 8;
|
||||
sprite->callback = AnimFallingCoin_Step;
|
||||
}
|
||||
|
||||
static void AnimFallingCoin_Step(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[0] += 0x80;
|
||||
sprite->pos2.x = sprite->data[0] >> 8;
|
||||
sprite->x2 = sprite->data[0] >> 8;
|
||||
if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
|
||||
sprite->pos2.x = -sprite->pos2.x;
|
||||
sprite->x2 = -sprite->x2;
|
||||
|
||||
sprite->pos2.y = Sin(sprite->data[1], sprite->data[2]);
|
||||
sprite->y2 = Sin(sprite->data[1], sprite->data[2]);
|
||||
sprite->data[1] += 5;
|
||||
if (sprite->data[1] > 126)
|
||||
{
|
||||
@@ -1785,10 +1785,10 @@ static void AnimBulletSeed_Step1(struct Sprite *sprite)
|
||||
s16* ptr;
|
||||
|
||||
PlaySE12WithPanning(SE_M_HORN_ATTACK, BattleAnimAdjustPanning(SOUND_PAN_TARGET));
|
||||
sprite->pos1.x += sprite->pos2.x;
|
||||
sprite->pos1.y += sprite->pos2.y;
|
||||
sprite->pos2.y = 0;
|
||||
sprite->pos2.x = 0;
|
||||
sprite->x += sprite->x2;
|
||||
sprite->y += sprite->y2;
|
||||
sprite->y2 = 0;
|
||||
sprite->x2 = 0;
|
||||
ptr = &sprite->data[7];
|
||||
for (i = 0; i < 8; i++)
|
||||
ptr[i - 7] = 0;
|
||||
@@ -1804,11 +1804,11 @@ static void AnimBulletSeed_Step1(struct Sprite *sprite)
|
||||
static void AnimBulletSeed_Step2(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[0] += sprite->data[7];
|
||||
sprite->pos2.x = sprite->data[0] >> 8;
|
||||
sprite->x2 = sprite->data[0] >> 8;
|
||||
if (sprite->data[7] & 1)
|
||||
sprite->pos2.x = -sprite->pos2.x;
|
||||
sprite->x2 = -sprite->x2;
|
||||
|
||||
sprite->pos2.y = Sin(sprite->data[1], sprite->data[6]);
|
||||
sprite->y2 = Sin(sprite->data[1], sprite->data[6]);
|
||||
sprite->data[1] += 8;
|
||||
if (sprite->data[1] > 126)
|
||||
{
|
||||
@@ -1831,7 +1831,7 @@ void AnimRazorWindTornado(struct Sprite *sprite)
|
||||
{
|
||||
InitSpritePosToAnimAttacker(sprite, FALSE);
|
||||
if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
|
||||
sprite->pos1.y += 16;
|
||||
sprite->y += 16;
|
||||
|
||||
sprite->data[0] = gBattleAnimArgs[4];
|
||||
sprite->data[1] = gBattleAnimArgs[2];
|
||||
@@ -1861,8 +1861,8 @@ void AnimViceGripPincer(struct Sprite *sprite)
|
||||
StartSpriteAnim(sprite, 1);
|
||||
}
|
||||
|
||||
sprite->pos1.x += startXOffset;
|
||||
sprite->pos1.y += startYOffset;
|
||||
sprite->x += startXOffset;
|
||||
sprite->y += startYOffset;
|
||||
sprite->data[0] = 6;
|
||||
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + endXOffset;
|
||||
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + endYOffset;
|
||||
@@ -1894,12 +1894,12 @@ void AnimGuillotinePincer(struct Sprite *sprite)
|
||||
StartSpriteAnim(sprite, gBattleAnimArgs[0]);
|
||||
}
|
||||
|
||||
sprite->pos1.x += startXOffset;
|
||||
sprite->pos1.y += startYOffset;
|
||||
sprite->x += startXOffset;
|
||||
sprite->y += startYOffset;
|
||||
sprite->data[0] = 6;
|
||||
sprite->data[1] = sprite->pos1.x;
|
||||
sprite->data[1] = sprite->x;
|
||||
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + endXOffset;
|
||||
sprite->data[3] = sprite->pos1.y;
|
||||
sprite->data[3] = sprite->y;
|
||||
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + endYOffset;
|
||||
InitAnimLinearTranslation(sprite);
|
||||
sprite->data[5] = gBattleAnimArgs[0];
|
||||
@@ -1913,10 +1913,10 @@ static void AnimGuillotinePincerStep1(struct Sprite *sprite)
|
||||
{
|
||||
SeekSpriteAnim(sprite, 0);
|
||||
sprite->animPaused = TRUE;
|
||||
sprite->pos1.x += sprite->pos2.x;
|
||||
sprite->pos1.y += sprite->pos2.y;
|
||||
sprite->pos2.x = 2;
|
||||
sprite->pos2.y = -2;
|
||||
sprite->x += sprite->x2;
|
||||
sprite->y += sprite->y2;
|
||||
sprite->x2 = 2;
|
||||
sprite->y2 = -2;
|
||||
sprite->data[0] = sprite->data[6];
|
||||
sprite->data[1] ^= 1;
|
||||
sprite->data[2] ^= 1;
|
||||
@@ -1930,15 +1930,15 @@ static void AnimGuillotinePincerStep2(struct Sprite *sprite)
|
||||
{
|
||||
if (sprite->data[3])
|
||||
{
|
||||
sprite->pos2.x = -sprite->pos2.x;
|
||||
sprite->pos2.y = -sprite->pos2.y;
|
||||
sprite->x2 = -sprite->x2;
|
||||
sprite->y2 = -sprite->y2;
|
||||
}
|
||||
|
||||
sprite->data[3] ^= 1;
|
||||
if (++sprite->data[4] == 51)
|
||||
{
|
||||
sprite->pos2.y = 0;
|
||||
sprite->pos2.x = 0;
|
||||
sprite->y2 = 0;
|
||||
sprite->x2 = 0;
|
||||
sprite->data[4] = 0;
|
||||
sprite->data[3] = 0;
|
||||
sprite->animPaused = FALSE;
|
||||
@@ -2059,7 +2059,7 @@ static void AnimTask_MinimizeStep1(u8 taskId)
|
||||
break;
|
||||
case 5:
|
||||
ResetSpriteRotScale(task->data[0]);
|
||||
gSprites[task->data[15]].pos2.y = 0;
|
||||
gSprites[task->data[15]].y2 = 0;
|
||||
DestroyAnimVisualTask(taskId);
|
||||
break;
|
||||
}
|
||||
@@ -2139,7 +2139,7 @@ static void AnimTask_SplashStep(u8 taskId)
|
||||
case 0:
|
||||
RunAffineAnimFromTaskData(task);
|
||||
task->data[4] += 3;
|
||||
gSprites[task->data[0]].pos2.y += task->data[4];
|
||||
gSprites[task->data[0]].y2 += task->data[4];
|
||||
if (++task->data[3] > 7)
|
||||
{
|
||||
task->data[3] = 0;
|
||||
@@ -2148,7 +2148,7 @@ static void AnimTask_SplashStep(u8 taskId)
|
||||
break;
|
||||
case 1:
|
||||
RunAffineAnimFromTaskData(task);
|
||||
gSprites[task->data[0]].pos2.y += task->data[4];
|
||||
gSprites[task->data[0]].y2 += task->data[4];
|
||||
if (++task->data[3] > 7)
|
||||
{
|
||||
task->data[3] = 0;
|
||||
@@ -2158,7 +2158,7 @@ static void AnimTask_SplashStep(u8 taskId)
|
||||
case 2:
|
||||
if (task->data[4] != 0)
|
||||
{
|
||||
gSprites[task->data[0]].pos2.y -= 2;
|
||||
gSprites[task->data[0]].y2 -= 2;
|
||||
task->data[4] -= 2;
|
||||
}
|
||||
else
|
||||
@@ -2169,7 +2169,7 @@ static void AnimTask_SplashStep(u8 taskId)
|
||||
{
|
||||
if (--task->data[2] == 0)
|
||||
{
|
||||
gSprites[task->data[0]].pos2.y = 0;
|
||||
gSprites[task->data[0]].y2 = 0;
|
||||
DestroyAnimVisualTask(taskId);
|
||||
}
|
||||
else
|
||||
@@ -2210,17 +2210,17 @@ void AnimBreathPuff(struct Sprite *sprite)
|
||||
if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
|
||||
{
|
||||
StartSpriteAnim(sprite, 0);
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2) + 32;
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2) + 32;
|
||||
sprite->data[1] = 64;
|
||||
}
|
||||
else
|
||||
{
|
||||
StartSpriteAnim(sprite, 1);
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2) - 32;
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2) - 32;
|
||||
sprite->data[1] = -64;
|
||||
}
|
||||
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
sprite->data[0] = 52;
|
||||
sprite->data[2] = 0;
|
||||
sprite->data[3] = 0;
|
||||
@@ -2245,10 +2245,10 @@ void AnimAngerMark(struct Sprite *sprite)
|
||||
if (GetBattlerSide(battler) == B_SIDE_OPPONENT)
|
||||
gBattleAnimArgs[1] *= -1;
|
||||
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2) + gBattleAnimArgs[1];
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(battler, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[2];
|
||||
if (sprite->pos1.y < 8)
|
||||
sprite->pos1.y = 8;
|
||||
sprite->x = GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2) + gBattleAnimArgs[1];
|
||||
sprite->y = GetBattlerSpriteCoord(battler, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[2];
|
||||
if (sprite->y < 8)
|
||||
sprite->y = 8;
|
||||
|
||||
StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
|
||||
sprite->callback = RunStoredCallbackWhenAffineAnimEnds;
|
||||
@@ -2284,8 +2284,8 @@ void AnimTask_ThrashMoveMonVertical(u8 taskId)
|
||||
task->data[2] = 4;
|
||||
task->data[3] = 7;
|
||||
task->data[4] = 3;
|
||||
task->data[5] = gSprites[task->data[0]].pos1.x;
|
||||
task->data[6] = gSprites[task->data[0]].pos1.y;
|
||||
task->data[5] = gSprites[task->data[0]].x;
|
||||
task->data[6] = gSprites[task->data[0]].y;
|
||||
task->data[7] = 0;
|
||||
task->data[8] = 0;
|
||||
task->data[9] = 2;
|
||||
@@ -2304,14 +2304,14 @@ static void ThrashMoveMon(u8 taskId)
|
||||
task->data[7] = 0;
|
||||
task->data[8]++;
|
||||
if (task->data[8] & 1)
|
||||
gSprites[task->data[0]].pos1.y += task->data[9];
|
||||
gSprites[task->data[0]].y += task->data[9];
|
||||
else
|
||||
gSprites[task->data[0]].pos1.y -= task->data[9];
|
||||
gSprites[task->data[0]].y -= task->data[9];
|
||||
}
|
||||
switch (task->data[1])
|
||||
{
|
||||
case 0:
|
||||
gSprites[task->data[0]].pos1.x += task->data[2];
|
||||
gSprites[task->data[0]].x += task->data[2];
|
||||
if (--task->data[3] == 0)
|
||||
{
|
||||
task->data[3] = 14;
|
||||
@@ -2319,7 +2319,7 @@ static void ThrashMoveMon(u8 taskId)
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
gSprites[task->data[0]].pos1.x -= task->data[2];
|
||||
gSprites[task->data[0]].x -= task->data[2];
|
||||
if (--task->data[3] == 0)
|
||||
{
|
||||
task->data[3] = 7;
|
||||
@@ -2327,7 +2327,7 @@ static void ThrashMoveMon(u8 taskId)
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
gSprites[task->data[0]].pos1.x += task->data[2];
|
||||
gSprites[task->data[0]].x += task->data[2];
|
||||
if (--task->data[3] == 0)
|
||||
{
|
||||
if (--task->data[4] != 0)
|
||||
@@ -2338,7 +2338,7 @@ static void ThrashMoveMon(u8 taskId)
|
||||
else
|
||||
{
|
||||
if ((task->data[8] & 1) != 0)
|
||||
gSprites[task->data[0]].pos1.y -= task->data[9];
|
||||
gSprites[task->data[0]].y -= task->data[9];
|
||||
|
||||
DestroyAnimVisualTask(taskId);
|
||||
}
|
||||
@@ -2437,8 +2437,8 @@ static void AnimTask_SketchDrawMon_Step(u8 taskId)
|
||||
|
||||
void AnimPencil(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X) - 16;
|
||||
sprite->pos1.y = GetBattlerYCoordWithElevation(gBattleAnimTarget) + 16;
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X) - 16;
|
||||
sprite->y = GetBattlerYCoordWithElevation(gBattleAnimTarget) + 16;
|
||||
sprite->data[0] = 0;
|
||||
sprite->data[1] = 0;
|
||||
sprite->data[2] = 0;
|
||||
@@ -2469,7 +2469,7 @@ static void AnimPencil_Step(struct Sprite *sprite)
|
||||
if (++sprite->data[1] > 3 && sprite->data[2] < sprite->data[5])
|
||||
{
|
||||
sprite->data[1] = 0;
|
||||
sprite->pos1.y -= 1;
|
||||
sprite->y -= 1;
|
||||
sprite->data[2]++;
|
||||
if (sprite->data[2] % 10 == 0)
|
||||
PlaySE12WithPanning(SE_M_SKETCH, sprite->data[6]);
|
||||
@@ -2485,7 +2485,7 @@ static void AnimPencil_Step(struct Sprite *sprite)
|
||||
sprite->data[4] = -0x40 - sprite->data[4];
|
||||
sprite->data[3] *= -1;
|
||||
}
|
||||
sprite->pos2.x = sprite->data[4];
|
||||
sprite->x2 = sprite->data[4];
|
||||
if (sprite->data[5] == sprite->data[2])
|
||||
{
|
||||
sprite->data[1] = 0;
|
||||
@@ -2594,7 +2594,7 @@ void AnimHyperVoiceRing(struct Sprite *sprite)
|
||||
r9 = GetBattlerSpriteCoord(battler1, r10) - gBattleAnimArgs[0];
|
||||
if (!IsContest() && IsBattlerSpriteVisible(BATTLE_PARTNER(battler1)))
|
||||
{
|
||||
if (gSprites[gBattlerSpriteIds[battler1]].pos1.x < gSprites[gBattlerSpriteIds[BATTLE_PARTNER(battler1)]].pos1.x)
|
||||
if (gSprites[gBattlerSpriteIds[battler1]].x < gSprites[gBattlerSpriteIds[BATTLE_PARTNER(battler1)]].x)
|
||||
sprite->subpriority = gSprites[gBattlerSpriteIds[BATTLE_PARTNER(battler1)]].subpriority + 1;
|
||||
else
|
||||
sprite->subpriority = gSprites[gBattlerSpriteIds[battler1]].subpriority - 1;
|
||||
@@ -2623,8 +2623,8 @@ void AnimHyperVoiceRing(struct Sprite *sprite)
|
||||
sp0 -= gBattleAnimArgs[3];
|
||||
|
||||
sp1 += gBattleAnimArgs[4];
|
||||
sprite->pos1.x = sprite->data[1] = r9;
|
||||
sprite->pos1.y = sprite->data[3] = r6;
|
||||
sprite->x = sprite->data[1] = r9;
|
||||
sprite->y = sprite->data[3] = r6;
|
||||
sprite->data[2] = sp0;
|
||||
sprite->data[4] = sp1;
|
||||
sprite->data[0] = gBattleAnimArgs[0];
|
||||
@@ -2663,17 +2663,17 @@ static void AnimSoftBoiledEgg_Step1(struct Sprite *sprite)
|
||||
{
|
||||
s16 add;
|
||||
|
||||
sprite->pos2.y -= (sprite->data[0] >> 8);
|
||||
sprite->pos2.x = sprite->data[1] >> 8;
|
||||
sprite->y2 -= (sprite->data[0] >> 8);
|
||||
sprite->x2 = sprite->data[1] >> 8;
|
||||
sprite->data[0] -= 32;
|
||||
add = GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER ? -160 : 160;
|
||||
sprite->data[1] += add;
|
||||
if (sprite->pos2.y > 0)
|
||||
if (sprite->y2 > 0)
|
||||
{
|
||||
sprite->pos1.y += sprite->pos2.y;
|
||||
sprite->pos1.x += sprite->pos2.x;
|
||||
sprite->pos2.y = 0;
|
||||
sprite->pos2.x = 0;
|
||||
sprite->y += sprite->y2;
|
||||
sprite->x += sprite->x2;
|
||||
sprite->y2 = 0;
|
||||
sprite->x2 = 0;
|
||||
sprite->data[0] = 0;
|
||||
StartSpriteAffineAnim(sprite, 1);
|
||||
sprite->callback = AnimSoftBoiledEgg_Step2;
|
||||
@@ -2710,7 +2710,7 @@ static void AnimSoftBoiledEgg_Step3(struct Sprite *sprite)
|
||||
|
||||
static void AnimSoftBoiledEgg_Step3_Callback1(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos2.y -= 2;
|
||||
sprite->y2 -= 2;
|
||||
if (++sprite->data[0] == 9)
|
||||
{
|
||||
sprite->data[0] = 16;
|
||||
@@ -2767,7 +2767,7 @@ static void StretchAttacker_Step(u8 taskId)
|
||||
|
||||
if (!RunAffineAnimFromTaskData(task))
|
||||
{
|
||||
gSprites[task->data[0]].pos2.y = 0;
|
||||
gSprites[task->data[0]].y2 = 0;
|
||||
gSprites[task->data[0]].invisible = TRUE;
|
||||
DestroyAnimVisualTask(taskId);
|
||||
}
|
||||
@@ -2804,7 +2804,7 @@ static void ExtremeSpeedImpact_Step(u8 taskId)
|
||||
switch (task->data[0])
|
||||
{
|
||||
case 0:
|
||||
gSprites[task->data[15]].pos2.x += task->data[14];
|
||||
gSprites[task->data[15]].x2 += task->data[14];
|
||||
task->data[1] = 0;
|
||||
task->data[2] = 0;
|
||||
task->data[3] = 0;
|
||||
@@ -2816,14 +2816,14 @@ static void ExtremeSpeedImpact_Step(u8 taskId)
|
||||
task->data[1] = 0;
|
||||
task->data[2]++;
|
||||
if (task->data[2] & 1)
|
||||
gSprites[task->data[15]].pos2.x += 6;
|
||||
gSprites[task->data[15]].x2 += 6;
|
||||
else
|
||||
gSprites[task->data[15]].pos2.x -= 6;
|
||||
gSprites[task->data[15]].x2 -= 6;
|
||||
|
||||
if (++task->data[3] > 4)
|
||||
{
|
||||
if (task->data[2] & 1)
|
||||
gSprites[task->data[15]].pos2.x -= 6;
|
||||
gSprites[task->data[15]].x2 -= 6;
|
||||
|
||||
task->data[0]++;
|
||||
}
|
||||
@@ -2836,8 +2836,8 @@ static void ExtremeSpeedImpact_Step(u8 taskId)
|
||||
task->data[0]++;
|
||||
break;
|
||||
case 3:
|
||||
gSprites[task->data[15]].pos2.x += task->data[13];
|
||||
if (gSprites[task->data[15]].pos2.x == 0)
|
||||
gSprites[task->data[15]].x2 += task->data[13];
|
||||
if (gSprites[task->data[15]].x2 == 0)
|
||||
DestroyAnimVisualTask(taskId);
|
||||
break;
|
||||
}
|
||||
@@ -2954,8 +2954,8 @@ static void SpeedDust_Step1(u8 taskId)
|
||||
{
|
||||
gSprites[spriteId].data[0] = taskId;
|
||||
gSprites[spriteId].data[1] = 13;
|
||||
gSprites[spriteId].pos2.x = sSpeedDustPosTable[task->data[2]][0];
|
||||
gSprites[spriteId].pos2.y = sSpeedDustPosTable[task->data[2]][1];
|
||||
gSprites[spriteId].x2 = sSpeedDustPosTable[task->data[2]][0];
|
||||
gSprites[spriteId].y2 = sSpeedDustPosTable[task->data[2]][1];
|
||||
task->data[13]++;
|
||||
if (++task->data[2] > 3)
|
||||
{
|
||||
@@ -3037,8 +3037,8 @@ void AnimMagentaHeart(struct Sprite *sprite)
|
||||
if (++sprite->data[0] == 1)
|
||||
InitSpritePosToAnimAttacker(sprite, FALSE);
|
||||
|
||||
sprite->pos2.x = Sin(sprite->data[1], 8);
|
||||
sprite->pos2.y = sprite->data[2] >> 8;
|
||||
sprite->x2 = Sin(sprite->data[1], 8);
|
||||
sprite->y2 = sprite->data[2] >> 8;
|
||||
sprite->data[1] = (sprite->data[1] + 7) & 0xFF;
|
||||
sprite->data[2] -= 0x80;
|
||||
if (sprite->data[0] == 60)
|
||||
@@ -3105,15 +3105,15 @@ void AnimTask_StretchTargetUp(u8 taskId)
|
||||
if (++gTasks[taskId].data[0] == 1)
|
||||
{
|
||||
PrepareAffineAnimInTaskData(&gTasks[taskId], GetAnimBattlerSpriteId(ANIM_TARGET), sUnknown_83E4200);
|
||||
gSprites[spriteId].pos2.x = 4;
|
||||
gSprites[spriteId].x2 = 4;
|
||||
}
|
||||
else
|
||||
{
|
||||
gSprites[spriteId].pos2.x = -gSprites[spriteId].pos2.x;
|
||||
gSprites[spriteId].x2 = -gSprites[spriteId].x2;
|
||||
if (!RunAffineAnimFromTaskData(&gTasks[taskId]))
|
||||
{
|
||||
gSprites[spriteId].pos2.x = 0;
|
||||
gSprites[spriteId].pos2.y = 0;
|
||||
gSprites[spriteId].x2 = 0;
|
||||
gSprites[spriteId].y2 = 0;
|
||||
DestroyAnimVisualTask(taskId);
|
||||
}
|
||||
}
|
||||
@@ -3126,15 +3126,15 @@ void AnimTask_StretchAttackerUp(u8 taskId)
|
||||
if (++gTasks[taskId].data[0] == 1)
|
||||
{
|
||||
PrepareAffineAnimInTaskData(&gTasks[taskId], GetAnimBattlerSpriteId(ANIM_ATTACKER), sUnknown_83E4200);
|
||||
gSprites[spriteId].pos2.x = 4;
|
||||
gSprites[spriteId].x2 = 4;
|
||||
}
|
||||
else
|
||||
{
|
||||
gSprites[spriteId].pos2.x = -gSprites[spriteId].pos2.x;
|
||||
gSprites[spriteId].x2 = -gSprites[spriteId].x2;
|
||||
if (!RunAffineAnimFromTaskData(&gTasks[taskId]))
|
||||
{
|
||||
gSprites[spriteId].pos2.x = 0;
|
||||
gSprites[spriteId].pos2.y = 0;
|
||||
gSprites[spriteId].x2 = 0;
|
||||
gSprites[spriteId].y2 = 0;
|
||||
DestroyAnimVisualTask(taskId);
|
||||
}
|
||||
}
|
||||
@@ -3144,9 +3144,9 @@ void AnimRedHeartProjectile(struct Sprite *sprite)
|
||||
{
|
||||
InitSpritePosToAnimAttacker(sprite, TRUE);
|
||||
sprite->data[0] = 95;
|
||||
sprite->data[1] = sprite->pos1.x;
|
||||
sprite->data[1] = sprite->x;
|
||||
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
|
||||
sprite->data[3] = sprite->pos1.y;
|
||||
sprite->data[3] = sprite->y;
|
||||
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
InitAnimLinearTranslation(sprite);
|
||||
sprite->callback = AnimRedHeartProjectile_Step;
|
||||
@@ -3156,7 +3156,7 @@ static void AnimRedHeartProjectile_Step(struct Sprite *sprite)
|
||||
{
|
||||
if (!AnimTranslateLinear(sprite))
|
||||
{
|
||||
sprite->pos2.y += Sin(sprite->data[5], 14);
|
||||
sprite->y2 += Sin(sprite->data[5], 14);
|
||||
sprite->data[5] = (sprite->data[5] + 4) & 0xFF;
|
||||
}
|
||||
else
|
||||
@@ -3176,8 +3176,8 @@ void AnimParticuleBurst(struct Sprite *sprite)
|
||||
else
|
||||
{
|
||||
sprite->data[4] += sprite->data[1];
|
||||
sprite->pos2.x = sprite->data[4] >> 8;
|
||||
sprite->pos2.y = Sin(sprite->data[3], sprite->data[2]);
|
||||
sprite->x2 = sprite->data[4] >> 8;
|
||||
sprite->y2 = Sin(sprite->data[3], sprite->data[2]);
|
||||
sprite->data[3] = (sprite->data[3] + 3) & 0xFF;
|
||||
if (sprite->data[3] > 100)
|
||||
sprite->invisible = sprite->data[3] % 2;
|
||||
@@ -3189,8 +3189,8 @@ void AnimParticuleBurst(struct Sprite *sprite)
|
||||
|
||||
void AnimRedHeartRising(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x = gBattleAnimArgs[0];
|
||||
sprite->pos1.y = 160;
|
||||
sprite->x = gBattleAnimArgs[0];
|
||||
sprite->y = 160;
|
||||
sprite->data[0] = gBattleAnimArgs[2];
|
||||
sprite->data[1] = gBattleAnimArgs[1];
|
||||
sprite->callback = WaitAnimForDuration;
|
||||
@@ -3202,10 +3202,10 @@ static void AnimRedHeartRising_Step(struct Sprite *sprite)
|
||||
s16 y;
|
||||
|
||||
sprite->data[2] += sprite->data[1];
|
||||
sprite->pos2.y = -((u16)sprite->data[2] >> 8);
|
||||
sprite->pos2.x = Sin(sprite->data[3], 4);
|
||||
sprite->y2 = -((u16)sprite->data[2] >> 8);
|
||||
sprite->x2 = Sin(sprite->data[3], 4);
|
||||
sprite->data[3] = (sprite->data[3] + 3) & 0xFF;
|
||||
y = sprite->pos1.y + sprite->pos2.y;
|
||||
y = sprite->y + sprite->y2;
|
||||
if (y <= 72)
|
||||
{
|
||||
sprite->invisible = sprite->data[3] % 2;
|
||||
@@ -3390,8 +3390,8 @@ static void ScaryFace_Step(u8 taskId)
|
||||
// arg 1: initial wave offset
|
||||
void AnimOrbitFast(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
sprite->affineAnimPaused = TRUE;
|
||||
sprite->data[0] = gBattleAnimArgs[0];
|
||||
sprite->data[1] = gBattleAnimArgs[1];
|
||||
@@ -3407,8 +3407,8 @@ static void AnimOrbitFastStep(struct Sprite *sprite)
|
||||
else
|
||||
sprite->subpriority = sprite->data[7] - 1;
|
||||
|
||||
sprite->pos2.x = Sin(sprite->data[1], sprite->data[2] >> 8);
|
||||
sprite->pos2.y = Cos(sprite->data[1], sprite->data[3] >> 8);
|
||||
sprite->x2 = Sin(sprite->data[1], sprite->data[2] >> 8);
|
||||
sprite->y2 = Cos(sprite->data[1], sprite->data[3] >> 8);
|
||||
sprite->data[1] = (sprite->data[1] + 9) & 0xFF;
|
||||
switch (sprite->data[5])
|
||||
{
|
||||
@@ -3441,8 +3441,8 @@ static void AnimOrbitFastStep(struct Sprite *sprite)
|
||||
// arg 0: initial wave offset
|
||||
void AnimOrbitScatter(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
sprite->data[0] = Sin(gBattleAnimArgs[0], 10);
|
||||
sprite->data[1] = Cos(gBattleAnimArgs[0], 7);
|
||||
sprite->callback = AnimOrbitScatterStep;
|
||||
@@ -3450,24 +3450,24 @@ void AnimOrbitScatter(struct Sprite *sprite)
|
||||
|
||||
static void AnimOrbitScatterStep(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos2.x += sprite->data[0];
|
||||
sprite->pos2.y += sprite->data[1];
|
||||
if (sprite->pos1.x + sprite->pos2.x + 16 > 272u || sprite->pos1.y + sprite->pos2.y > 160 || sprite->pos1.y + sprite->pos2.y < -16)
|
||||
sprite->x2 += sprite->data[0];
|
||||
sprite->y2 += sprite->data[1];
|
||||
if (sprite->x + sprite->x2 + 16 > 272u || sprite->y + sprite->y2 > 160 || sprite->y + sprite->y2 < -16)
|
||||
DestroyAnimSprite(sprite);
|
||||
}
|
||||
|
||||
static void AnimSpitUpOrb_Step(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos2.x += sprite->data[0];
|
||||
sprite->pos2.y += sprite->data[1];
|
||||
sprite->x2 += sprite->data[0];
|
||||
sprite->y2 += sprite->data[1];
|
||||
if (sprite->data[3]++ >= sprite->data[2])
|
||||
DestroyAnimSprite(sprite);
|
||||
}
|
||||
|
||||
void AnimSpitUpOrb(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
sprite->data[0] = Sin(gBattleAnimArgs[0], 10);
|
||||
sprite->data[1] = Cos(gBattleAnimArgs[0], 7);
|
||||
sprite->data[2] = gBattleAnimArgs[1];
|
||||
@@ -3492,20 +3492,20 @@ void AnimAngel(struct Sprite *sprite)
|
||||
|
||||
if (!sprite->data[0])
|
||||
{
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->x += gBattleAnimArgs[0];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
}
|
||||
|
||||
sprite->data[0]++;
|
||||
var0 = (sprite->data[0] * 10) & 0xFF;
|
||||
sprite->pos2.x = Sin(var0, 80) >> 8;
|
||||
sprite->x2 = Sin(var0, 80) >> 8;
|
||||
if (sprite->data[0] < 80)
|
||||
sprite->pos2.y = (sprite->data[0] / 2) + (Cos(var0, 80) >> 8);
|
||||
sprite->y2 = (sprite->data[0] / 2) + (Cos(var0, 80) >> 8);
|
||||
|
||||
if (sprite->data[0] > 90)
|
||||
{
|
||||
sprite->data[2]++;
|
||||
sprite->pos2.x -= sprite->data[2] / 2;
|
||||
sprite->x2 -= sprite->data[2] / 2;
|
||||
}
|
||||
|
||||
if (sprite->data[0] > 100)
|
||||
@@ -3515,8 +3515,8 @@ void AnimAngel(struct Sprite *sprite)
|
||||
static void sub_80AA49C(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[5]++;
|
||||
sprite->pos2.x = Sin(sprite->data[3], 5);
|
||||
sprite->pos2.y = sprite->data[5] / 2;
|
||||
sprite->x2 = Sin(sprite->data[3], 5);
|
||||
sprite->y2 = sprite->data[5] / 2;
|
||||
sprite->data[3] = (sprite->data[3] + 3) & 0xFF;
|
||||
if (sprite->data[5] > 20)
|
||||
sprite->invisible = sprite->data[5] % 2;
|
||||
@@ -3536,16 +3536,16 @@ void AnimPinkHeart(struct Sprite *sprite)
|
||||
else
|
||||
{
|
||||
sprite->data[4] += sprite->data[1];
|
||||
sprite->pos2.x = sprite->data[4] >> 8;
|
||||
sprite->pos2.y = Sin(sprite->data[3], sprite->data[2]);
|
||||
sprite->x2 = sprite->data[4] >> 8;
|
||||
sprite->y2 = Sin(sprite->data[3], sprite->data[2]);
|
||||
sprite->data[3] = (sprite->data[3] + 3) & 0xFF;
|
||||
if (sprite->data[3] > 70)
|
||||
{
|
||||
sprite->callback = sub_80AA49C;
|
||||
sprite->pos1.x += sprite->pos2.x;
|
||||
sprite->pos1.y += sprite->pos2.y;
|
||||
sprite->pos2.x = 0;
|
||||
sprite->pos2.y = 0;
|
||||
sprite->x += sprite->x2;
|
||||
sprite->y += sprite->y2;
|
||||
sprite->x2 = 0;
|
||||
sprite->y2 = 0;
|
||||
sprite->data[3] = Random() % 180;
|
||||
}
|
||||
}
|
||||
@@ -3555,8 +3555,8 @@ void AnimDevil(struct Sprite *sprite)
|
||||
{
|
||||
if (sprite->data[3] == 0)
|
||||
{
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->x += gBattleAnimArgs[0];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
StartSpriteAnim(sprite, 0);
|
||||
sprite->subpriority = GetBattlerSpriteSubpriority(gBattleAnimTarget) - 1;
|
||||
sprite->data[2] = 1;
|
||||
@@ -3565,8 +3565,8 @@ void AnimDevil(struct Sprite *sprite)
|
||||
sprite->data[1] = (sprite->data[0] * 4) % 256;
|
||||
if (sprite->data[1] < 0)
|
||||
sprite->data[1] = 0;
|
||||
sprite->pos2.x = Cos(sprite->data[1], 30 - sprite->data[0] / 4);
|
||||
sprite->pos2.y = Sin(sprite->data[1], 10 - sprite->data[0] / 8);
|
||||
sprite->x2 = Cos(sprite->data[1], 30 - sprite->data[0] / 4);
|
||||
sprite->y2 = Sin(sprite->data[1], 10 - sprite->data[0] / 8);
|
||||
if (sprite->data[1] > 128 && sprite->data[2] > 0)
|
||||
sprite->data[2] = -1;
|
||||
if (sprite->data[1] == 0 && sprite->data[2] < 0)
|
||||
@@ -3584,8 +3584,8 @@ void AnimFurySwipes(struct Sprite *sprite)
|
||||
{
|
||||
if (sprite->data[0] == 0)
|
||||
{
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->x += gBattleAnimArgs[0];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
StartSpriteAnim(sprite, gBattleAnimArgs[2]);
|
||||
sprite->data[0]++;
|
||||
}
|
||||
@@ -3605,19 +3605,19 @@ void AnimMovementWaves(struct Sprite *sprite)
|
||||
{
|
||||
if (!gBattleAnimArgs[0])
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
}
|
||||
|
||||
if (!gBattleAnimArgs[1])
|
||||
sprite->pos1.x += 32;
|
||||
sprite->x += 32;
|
||||
else
|
||||
sprite->pos1.x -= 32;
|
||||
sprite->x -= 32;
|
||||
|
||||
sprite->data[0] = gBattleAnimArgs[2];
|
||||
sprite->data[1] = gBattleAnimArgs[1];
|
||||
@@ -3659,11 +3659,11 @@ void AnimJaggedMusicNote(struct Sprite *sprite)
|
||||
if (GetBattlerSide(battler) == B_SIDE_OPPONENT)
|
||||
gBattleAnimArgs[1] *= -1;
|
||||
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2) + gBattleAnimArgs[1];
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(battler, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[2];
|
||||
sprite->x = GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2) + gBattleAnimArgs[1];
|
||||
sprite->y = GetBattlerSpriteCoord(battler, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[2];
|
||||
sprite->data[0] = 0;
|
||||
sprite->data[1] = (u16)sprite->pos1.x << 3;
|
||||
sprite->data[2] = (u16)sprite->pos1.y << 3;
|
||||
sprite->data[1] = (u16)sprite->x << 3;
|
||||
sprite->data[2] = (u16)sprite->y << 3;
|
||||
|
||||
var1 = gBattleAnimArgs[1] << 3;
|
||||
if (var1 < 0)
|
||||
@@ -3683,8 +3683,8 @@ static void AnimJaggedMusicNote_Step(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[1] += sprite->data[3];
|
||||
sprite->data[2] += sprite->data[4];
|
||||
sprite->pos1.x = sprite->data[1] >> 3;
|
||||
sprite->pos1.y = sprite->data[2] >> 3;
|
||||
sprite->x = sprite->data[1] >> 3;
|
||||
sprite->y = sprite->data[2] >> 3;
|
||||
if (++sprite->data[0] > 16)
|
||||
DestroyAnimSprite(sprite);
|
||||
}
|
||||
@@ -3711,8 +3711,8 @@ void AnimPerishSongMusicNote(struct Sprite *sprite)
|
||||
|
||||
if (!sprite->data[0])
|
||||
{
|
||||
sprite->pos1.x = 120;
|
||||
sprite->pos1.y = gBattleAnimArgs[0] / 2 - 15;
|
||||
sprite->x = 120;
|
||||
sprite->y = gBattleAnimArgs[0] / 2 - 15;
|
||||
|
||||
StartSpriteAnim(sprite, gBattleAnimArgs[1]);
|
||||
|
||||
@@ -3728,9 +3728,9 @@ void AnimPerishSongMusicNote(struct Sprite *sprite)
|
||||
sprite->data[6] = (sprite->data[6] + 10) & 0xFF;
|
||||
|
||||
index &= var2;
|
||||
sprite->pos2.x = Cos(index, 100);
|
||||
sprite->x2 = Cos(index, 100);
|
||||
|
||||
sprite->pos2.y = sprite->data[1] + Sin(index, 10) + Cos(sprite->data[6], 4);
|
||||
sprite->y2 = sprite->data[1] + Sin(index, 10) + Cos(sprite->data[6], 4);
|
||||
|
||||
if (sprite->data[0] > sprite->data[5])
|
||||
{
|
||||
@@ -3758,7 +3758,7 @@ static void AnimPerishSongMusicNote_Step1(struct Sprite *sprite)
|
||||
static void AnimPerishSongMusicNote_Step2(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[3] += sprite->data[2];
|
||||
sprite->pos2.y = sprite->data[3];
|
||||
sprite->y2 = sprite->data[3];
|
||||
|
||||
sprite->data[2]++;
|
||||
|
||||
@@ -3784,20 +3784,20 @@ void AnimGuardRing(struct Sprite *sprite)
|
||||
{
|
||||
if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE) && IsBattlerSpriteVisible(BATTLE_PARTNER(gBattleAnimAttacker)))
|
||||
{
|
||||
SetAverageBattlerPositions(gBattleAnimAttacker, 0, &sprite->pos1.x, &sprite->pos1.y);
|
||||
sprite->pos1.y += 40;
|
||||
SetAverageBattlerPositions(gBattleAnimAttacker, 0, &sprite->x, &sprite->y);
|
||||
sprite->y += 40;
|
||||
|
||||
StartSpriteAffineAnim(sprite, 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y) + 40;
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y) + 40;
|
||||
}
|
||||
|
||||
sprite->data[0] = 13;
|
||||
sprite->data[2] = sprite->pos1.x;
|
||||
sprite->data[4] = sprite->pos1.y - 72;
|
||||
sprite->data[2] = sprite->x;
|
||||
sprite->data[4] = sprite->y - 72;
|
||||
|
||||
sprite->callback = StartAnimLinearTranslation;
|
||||
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
|
||||
|
||||
+273
-273
File diff suppressed because it is too large
Load Diff
@@ -99,8 +99,8 @@ void AnimTask_ShakeMon(u8 taskId)
|
||||
DestroyAnimVisualTask(taskId);
|
||||
else
|
||||
{
|
||||
gSprites[spriteId].pos2.x = gBattleAnimArgs[1];
|
||||
gSprites[spriteId].pos2.y = gBattleAnimArgs[2];
|
||||
gSprites[spriteId].x2 = gBattleAnimArgs[1];
|
||||
gSprites[spriteId].y2 = gBattleAnimArgs[2];
|
||||
gTasks[taskId].data[0] = spriteId;
|
||||
gTasks[taskId].data[1] = gBattleAnimArgs[3];
|
||||
gTasks[taskId].data[2] = gBattleAnimArgs[4];
|
||||
@@ -116,19 +116,19 @@ static void AnimTask_ShakeMonStep(u8 taskId)
|
||||
{
|
||||
if (gTasks[taskId].data[3] == 0)
|
||||
{
|
||||
if (gSprites[gTasks[taskId].data[0]].pos2.x == 0)
|
||||
gSprites[gTasks[taskId].data[0]].pos2.x = gTasks[taskId].data[4];
|
||||
if (gSprites[gTasks[taskId].data[0]].x2 == 0)
|
||||
gSprites[gTasks[taskId].data[0]].x2 = gTasks[taskId].data[4];
|
||||
else
|
||||
gSprites[gTasks[taskId].data[0]].pos2.x = 0;
|
||||
if (gSprites[gTasks[taskId].data[0]].pos2.y == 0)
|
||||
gSprites[gTasks[taskId].data[0]].pos2.y = gTasks[taskId].data[5];
|
||||
gSprites[gTasks[taskId].data[0]].x2 = 0;
|
||||
if (gSprites[gTasks[taskId].data[0]].y2 == 0)
|
||||
gSprites[gTasks[taskId].data[0]].y2 = gTasks[taskId].data[5];
|
||||
else
|
||||
gSprites[gTasks[taskId].data[0]].pos2.y = 0;
|
||||
gSprites[gTasks[taskId].data[0]].y2 = 0;
|
||||
gTasks[taskId].data[3] = gTasks[taskId].data[2];
|
||||
if (--gTasks[taskId].data[1] == 0)
|
||||
{
|
||||
gSprites[gTasks[taskId].data[0]].pos2.x = 0;
|
||||
gSprites[gTasks[taskId].data[0]].pos2.y = 0;
|
||||
gSprites[gTasks[taskId].data[0]].x2 = 0;
|
||||
gSprites[gTasks[taskId].data[0]].y2 = 0;
|
||||
DestroyAnimVisualTask(taskId);
|
||||
}
|
||||
}
|
||||
@@ -182,8 +182,8 @@ void AnimTask_ShakeMon2(u8 taskId)
|
||||
DestroyAnimVisualTask(taskId);
|
||||
else
|
||||
{
|
||||
gSprites[spriteId].pos2.x = gBattleAnimArgs[1];
|
||||
gSprites[spriteId].pos2.y = gBattleAnimArgs[2];
|
||||
gSprites[spriteId].x2 = gBattleAnimArgs[1];
|
||||
gSprites[spriteId].y2 = gBattleAnimArgs[2];
|
||||
gTasks[taskId].data[0] = spriteId;
|
||||
gTasks[taskId].data[1] = gBattleAnimArgs[3];
|
||||
gTasks[taskId].data[2] = gBattleAnimArgs[4];
|
||||
@@ -199,19 +199,19 @@ static void AnimTask_ShakeMon2Step(u8 taskId)
|
||||
{
|
||||
if (gTasks[taskId].data[3] == 0)
|
||||
{
|
||||
if (gSprites[gTasks[taskId].data[0]].pos2.x == gTasks[taskId].data[4])
|
||||
gSprites[gTasks[taskId].data[0]].pos2.x = -gTasks[taskId].data[4];
|
||||
if (gSprites[gTasks[taskId].data[0]].x2 == gTasks[taskId].data[4])
|
||||
gSprites[gTasks[taskId].data[0]].x2 = -gTasks[taskId].data[4];
|
||||
else
|
||||
gSprites[gTasks[taskId].data[0]].pos2.x = gTasks[taskId].data[4];
|
||||
if (gSprites[gTasks[taskId].data[0]].pos2.y == gTasks[taskId].data[5])
|
||||
gSprites[gTasks[taskId].data[0]].pos2.y = -gTasks[taskId].data[5];
|
||||
gSprites[gTasks[taskId].data[0]].x2 = gTasks[taskId].data[4];
|
||||
if (gSprites[gTasks[taskId].data[0]].y2 == gTasks[taskId].data[5])
|
||||
gSprites[gTasks[taskId].data[0]].y2 = -gTasks[taskId].data[5];
|
||||
else
|
||||
gSprites[gTasks[taskId].data[0]].pos2.y = gTasks[taskId].data[5];
|
||||
gSprites[gTasks[taskId].data[0]].y2 = gTasks[taskId].data[5];
|
||||
gTasks[taskId].data[3] = gTasks[taskId].data[2];
|
||||
if (--gTasks[taskId].data[1] == 0)
|
||||
{
|
||||
gSprites[gTasks[taskId].data[0]].pos2.x = 0;
|
||||
gSprites[gTasks[taskId].data[0]].pos2.y = 0;
|
||||
gSprites[gTasks[taskId].data[0]].x2 = 0;
|
||||
gSprites[gTasks[taskId].data[0]].y2 = 0;
|
||||
DestroyAnimVisualTask(taskId);
|
||||
}
|
||||
}
|
||||
@@ -235,8 +235,8 @@ void AnimTask_ShakeMonInPlace(u8 taskId)
|
||||
DestroyAnimVisualTask(taskId);
|
||||
else
|
||||
{
|
||||
gSprites[spriteId].pos2.x += gBattleAnimArgs[1];
|
||||
gSprites[spriteId].pos2.y += gBattleAnimArgs[2];
|
||||
gSprites[spriteId].x2 += gBattleAnimArgs[1];
|
||||
gSprites[spriteId].y2 += gBattleAnimArgs[2];
|
||||
gTasks[taskId].data[0] = spriteId;
|
||||
gTasks[taskId].data[1] = 0;
|
||||
gTasks[taskId].data[2] = gBattleAnimArgs[3];
|
||||
@@ -255,26 +255,26 @@ static void AnimTask_ShakeMonInPlaceStep(u8 taskId)
|
||||
{
|
||||
if (gTasks[taskId].data[1] & 1)
|
||||
{
|
||||
gSprites[gTasks[taskId].data[0]].pos2.x += gTasks[taskId].data[5];
|
||||
gSprites[gTasks[taskId].data[0]].pos2.y += gTasks[taskId].data[6];
|
||||
gSprites[gTasks[taskId].data[0]].x2 += gTasks[taskId].data[5];
|
||||
gSprites[gTasks[taskId].data[0]].y2 += gTasks[taskId].data[6];
|
||||
}
|
||||
else
|
||||
{
|
||||
gSprites[gTasks[taskId].data[0]].pos2.x -= gTasks[taskId].data[5];
|
||||
gSprites[gTasks[taskId].data[0]].pos2.y -= gTasks[taskId].data[6];
|
||||
gSprites[gTasks[taskId].data[0]].x2 -= gTasks[taskId].data[5];
|
||||
gSprites[gTasks[taskId].data[0]].y2 -= gTasks[taskId].data[6];
|
||||
}
|
||||
gTasks[taskId].data[3] = gTasks[taskId].data[4];
|
||||
if (++gTasks[taskId].data[1] >= gTasks[taskId].data[2])
|
||||
{
|
||||
if (gTasks[taskId].data[1] & 1)
|
||||
{
|
||||
gSprites[gTasks[taskId].data[0]].pos2.x += gTasks[taskId].data[5] / 2;
|
||||
gSprites[gTasks[taskId].data[0]].pos2.y += gTasks[taskId].data[6] / 2;
|
||||
gSprites[gTasks[taskId].data[0]].x2 += gTasks[taskId].data[5] / 2;
|
||||
gSprites[gTasks[taskId].data[0]].y2 += gTasks[taskId].data[6] / 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
gSprites[gTasks[taskId].data[0]].pos2.x -= gTasks[taskId].data[5] / 2;
|
||||
gSprites[gTasks[taskId].data[0]].pos2.y -= gTasks[taskId].data[6] / 2;
|
||||
gSprites[gTasks[taskId].data[0]].x2 -= gTasks[taskId].data[5] / 2;
|
||||
gSprites[gTasks[taskId].data[0]].y2 -= gTasks[taskId].data[6] / 2;
|
||||
}
|
||||
DestroyAnimVisualTask(taskId);
|
||||
}
|
||||
@@ -293,7 +293,7 @@ void AnimTask_ShakeAndSinkMon(u8 taskId)
|
||||
{
|
||||
u8 spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[0]);
|
||||
|
||||
gSprites[spriteId].pos2.x = gBattleAnimArgs[1];
|
||||
gSprites[spriteId].x2 = gBattleAnimArgs[1];
|
||||
gTasks[taskId].data[0] = spriteId;
|
||||
gTasks[taskId].data[1] = gBattleAnimArgs[1];
|
||||
gTasks[taskId].data[2] = gBattleAnimArgs[2];
|
||||
@@ -310,13 +310,13 @@ static void AnimTask_ShakeAndSinkMonStep(u8 taskId)
|
||||
if (gTasks[taskId].data[2] == gTasks[taskId].data[8]++)
|
||||
{
|
||||
gTasks[taskId].data[8] = 0;
|
||||
if (gSprites[spriteId].pos2.x == data1)
|
||||
if (gSprites[spriteId].x2 == data1)
|
||||
data1 = -data1;
|
||||
gSprites[spriteId].pos2.x += data1;
|
||||
gSprites[spriteId].x2 += data1;
|
||||
}
|
||||
gTasks[taskId].data[1] = data1;
|
||||
gTasks[taskId].data[9] += gTasks[taskId].data[3];
|
||||
gSprites[spriteId].pos2.y = gTasks[taskId].data[9] >> 8;
|
||||
gSprites[spriteId].y2 = gTasks[taskId].data[9] >> 8;
|
||||
if (--gTasks[taskId].data[4] == 0)
|
||||
DestroyAnimVisualTask(taskId);
|
||||
}
|
||||
@@ -349,17 +349,17 @@ void AnimTask_TranslateMonElliptical(u8 taskId)
|
||||
static void AnimTask_TranslateMonEllipticalStep(u8 taskId)
|
||||
{
|
||||
u8 spriteId = gTasks[taskId].data[0];
|
||||
gSprites[spriteId].pos2.x = Sin(gTasks[taskId].data[5], gTasks[taskId].data[1]);
|
||||
gSprites[spriteId].pos2.y = -Cos(gTasks[taskId].data[5], gTasks[taskId].data[2]);
|
||||
gSprites[spriteId].pos2.y += gTasks[taskId].data[2];
|
||||
gSprites[spriteId].x2 = Sin(gTasks[taskId].data[5], gTasks[taskId].data[1]);
|
||||
gSprites[spriteId].y2 = -Cos(gTasks[taskId].data[5], gTasks[taskId].data[2]);
|
||||
gSprites[spriteId].y2 += gTasks[taskId].data[2];
|
||||
gTasks[taskId].data[5] += gTasks[taskId].data[4];
|
||||
gTasks[taskId].data[5] &= 0xFF;
|
||||
if (gTasks[taskId].data[5] == 0)
|
||||
gTasks[taskId].data[3]--;
|
||||
if (gTasks[taskId].data[3] == 0)
|
||||
{
|
||||
gSprites[spriteId].pos2.x = 0;
|
||||
gSprites[spriteId].pos2.y = 0;
|
||||
gSprites[spriteId].x2 = 0;
|
||||
gSprites[spriteId].y2 = 0;
|
||||
DestroyAnimVisualTask(taskId);
|
||||
}
|
||||
}
|
||||
@@ -446,15 +446,15 @@ static void SlideMonToOriginalPos(struct Sprite * sprite)
|
||||
else
|
||||
spriteId = gBattlerSpriteIds[gBattleAnimTarget];
|
||||
sprite->data[0] = gBattleAnimArgs[2];
|
||||
sprite->data[1] = gSprites[spriteId].pos1.x + gSprites[spriteId].pos2.x;
|
||||
sprite->data[2] = gSprites[spriteId].pos1.x;
|
||||
sprite->data[3] = gSprites[spriteId].pos1.y + gSprites[spriteId].pos2.y;
|
||||
sprite->data[4] = gSprites[spriteId].pos1.y;
|
||||
sprite->data[1] = gSprites[spriteId].x + gSprites[spriteId].x2;
|
||||
sprite->data[2] = gSprites[spriteId].x;
|
||||
sprite->data[3] = gSprites[spriteId].y + gSprites[spriteId].y2;
|
||||
sprite->data[4] = gSprites[spriteId].y;
|
||||
InitSpriteDataForLinearTranslation(sprite);
|
||||
sprite->data[3] = 0;
|
||||
sprite->data[4] = 0;
|
||||
sprite->data[5] = gSprites[spriteId].pos2.x;
|
||||
sprite->data[6] = gSprites[spriteId].pos2.y;
|
||||
sprite->data[5] = gSprites[spriteId].x2;
|
||||
sprite->data[6] = gSprites[spriteId].y2;
|
||||
sprite->invisible = TRUE;
|
||||
if (gBattleAnimArgs[1] == 1)
|
||||
sprite->data[2] = 0;
|
||||
@@ -472,9 +472,9 @@ static void SlideMonToOriginalPosStep(struct Sprite * sprite)
|
||||
if (sprite->data[0] == 0)
|
||||
{
|
||||
if (data7 == 1 || data7 == 0)
|
||||
otherSprite->pos2.x = 0;
|
||||
otherSprite->x2 = 0;
|
||||
if (data7 == 2 || data7 == 0)
|
||||
otherSprite->pos2.y = 0;
|
||||
otherSprite->y2 = 0;
|
||||
DestroyAnimSprite(sprite);
|
||||
}
|
||||
else
|
||||
@@ -482,8 +482,8 @@ static void SlideMonToOriginalPosStep(struct Sprite * sprite)
|
||||
sprite->data[0]--;
|
||||
sprite->data[3] += sprite->data[1];
|
||||
sprite->data[4] += sprite->data[2];
|
||||
otherSprite->pos2.x = (sprite->data[3] >> 8) + sprite->data[5];
|
||||
otherSprite->pos2.y = (sprite->data[4] >> 8) + sprite->data[6];
|
||||
otherSprite->x2 = (sprite->data[3] >> 8) + sprite->data[5];
|
||||
otherSprite->y2 = (sprite->data[4] >> 8) + sprite->data[6];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -511,10 +511,10 @@ static void SlideMonToOffset(struct Sprite * sprite)
|
||||
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
|
||||
}
|
||||
sprite->data[0] = gBattleAnimArgs[4];
|
||||
sprite->data[1] = gSprites[spriteId].pos1.x;
|
||||
sprite->data[2] = gSprites[spriteId].pos1.x + gBattleAnimArgs[1];
|
||||
sprite->data[3] = gSprites[spriteId].pos1.y;
|
||||
sprite->data[4] = gSprites[spriteId].pos1.y + gBattleAnimArgs[2];
|
||||
sprite->data[1] = gSprites[spriteId].x;
|
||||
sprite->data[2] = gSprites[spriteId].x + gBattleAnimArgs[1];
|
||||
sprite->data[3] = gSprites[spriteId].y;
|
||||
sprite->data[4] = gSprites[spriteId].y + gBattleAnimArgs[2];
|
||||
InitSpriteDataForLinearTranslation(sprite);
|
||||
sprite->data[3] = 0;
|
||||
sprite->data[4] = 0;
|
||||
@@ -541,13 +541,13 @@ static void sub_8099394(struct Sprite * sprite)
|
||||
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
|
||||
}
|
||||
sprite->data[0] = gBattleAnimArgs[4];
|
||||
sprite->data[1] = gSprites[spriteId].pos1.x + gSprites[spriteId].pos2.x;
|
||||
sprite->data[1] = gSprites[spriteId].x + gSprites[spriteId].x2;
|
||||
sprite->data[2] = sprite->data[1] + gBattleAnimArgs[1];
|
||||
sprite->data[3] = gSprites[spriteId].pos1.y + gSprites[spriteId].pos2.y;
|
||||
sprite->data[3] = gSprites[spriteId].y + gSprites[spriteId].y2;
|
||||
sprite->data[4] = sprite->data[3] + gBattleAnimArgs[2];
|
||||
InitSpriteDataForLinearTranslation(sprite);
|
||||
sprite->data[3] = gSprites[spriteId].pos2.x << 8;
|
||||
sprite->data[4] = gSprites[spriteId].pos2.y << 8;
|
||||
sprite->data[3] = gSprites[spriteId].x2 << 8;
|
||||
sprite->data[4] = gSprites[spriteId].y2 << 8;
|
||||
sprite->data[5] = spriteId;
|
||||
sprite->data[6] = gBattleAnimArgs[5];
|
||||
if (gBattleAnimArgs[5] == 0)
|
||||
@@ -559,8 +559,8 @@ static void sub_8099394(struct Sprite * sprite)
|
||||
|
||||
static void sub_809946C(struct Sprite * sprite)
|
||||
{
|
||||
gSprites[sprite->data[5]].pos2.x = 0;
|
||||
gSprites[sprite->data[5]].pos2.y = 0;
|
||||
gSprites[sprite->data[5]].x2 = 0;
|
||||
gSprites[sprite->data[5]].y2 = 0;
|
||||
DestroyAnimSprite(sprite);
|
||||
}
|
||||
|
||||
@@ -597,8 +597,8 @@ static void AnimTask_WindUpLungePart1(u8 taskId)
|
||||
{
|
||||
u8 spriteId = gTasks[taskId].data[0];
|
||||
gTasks[taskId].data[11] += gTasks[taskId].data[1];
|
||||
gSprites[spriteId].pos2.x = gTasks[taskId].data[11] >> 8;
|
||||
gSprites[spriteId].pos2.y = Sin((u8)(gTasks[taskId].data[10] >> 8), gTasks[taskId].data[2]);
|
||||
gSprites[spriteId].x2 = gTasks[taskId].data[11] >> 8;
|
||||
gSprites[spriteId].y2 = Sin((u8)(gTasks[taskId].data[10] >> 8), gTasks[taskId].data[2]);
|
||||
gTasks[taskId].data[10] += gTasks[taskId].data[7];
|
||||
if (--gTasks[taskId].data[3] == 0)
|
||||
gTasks[taskId].func = AnimTask_WindUpLungePart2;
|
||||
@@ -614,7 +614,7 @@ static void AnimTask_WindUpLungePart2(u8 taskId)
|
||||
{
|
||||
spriteId = gTasks[taskId].data[0];
|
||||
gTasks[taskId].data[12] += gTasks[taskId].data[5];
|
||||
gSprites[spriteId].pos2.x = (gTasks[taskId].data[12] >> 8) + (gTasks[taskId].data[11] >> 8);
|
||||
gSprites[spriteId].x2 = (gTasks[taskId].data[12] >> 8) + (gTasks[taskId].data[11] >> 8);
|
||||
if (--gTasks[taskId].data[6] == 0)
|
||||
DestroyAnimVisualTask(taskId);
|
||||
}
|
||||
@@ -661,8 +661,8 @@ void AnimTask_SlideOffScreen(u8 taskId)
|
||||
static void sub_80996B8(u8 taskId)
|
||||
{
|
||||
u8 spriteId = gTasks[taskId].data[0];
|
||||
gSprites[spriteId].pos2.x += gTasks[taskId].data[1];
|
||||
if (gSprites[spriteId].pos2.x + gSprites[spriteId].pos1.x < -0x20 || gSprites[spriteId].pos2.x + gSprites[spriteId].pos1.x > 0x110)
|
||||
gSprites[spriteId].x2 += gTasks[taskId].data[1];
|
||||
if (gSprites[spriteId].x2 + gSprites[spriteId].x < -0x20 || gSprites[spriteId].x2 + gSprites[spriteId].x > 0x110)
|
||||
DestroyAnimVisualTask(taskId);
|
||||
}
|
||||
|
||||
@@ -707,22 +707,22 @@ static void AnimTask_SwayMonStep(u8 taskId)
|
||||
sineValue = Sin(waveIndex, gTasks[taskId].data[1]);
|
||||
if (gTasks[taskId].data[0] == 0)
|
||||
{
|
||||
gSprites[spriteId].pos2.x = sineValue;
|
||||
gSprites[spriteId].x2 = sineValue;
|
||||
}
|
||||
else if (GetBattlerSide(gTasks[taskId].data[5]) == B_SIDE_PLAYER)
|
||||
{
|
||||
gSprites[spriteId].pos2.y = abs(sineValue);
|
||||
gSprites[spriteId].y2 = abs(sineValue);
|
||||
}
|
||||
else
|
||||
gSprites[spriteId].pos2.y = -abs(sineValue);
|
||||
gSprites[spriteId].y2 = -abs(sineValue);
|
||||
if ((waveIndex > 0x7F && gTasks[taskId].data[11] == 0 && gTasks[taskId].data[12] == 1) || (waveIndex < 0x7F && gTasks[taskId].data[11] == 1 && gTasks[taskId].data[12] == 0))
|
||||
{
|
||||
gTasks[taskId].data[11] ^= 1;
|
||||
gTasks[taskId].data[12] ^= 1;
|
||||
if (--gTasks[taskId].data[3] == 0)
|
||||
{
|
||||
gSprites[spriteId].pos2.x = 0;
|
||||
gSprites[spriteId].pos2.y = 0;
|
||||
gSprites[spriteId].x2 = 0;
|
||||
gSprites[spriteId].y2 = 0;
|
||||
DestroyAnimVisualTask(taskId);
|
||||
}
|
||||
}
|
||||
@@ -890,8 +890,8 @@ void AnimTask_ShakeTargetBasedOnMovePowerOrDmg(u8 taskId)
|
||||
gTasks[taskId].data[10] = gBattleAnimArgs[3];
|
||||
gTasks[taskId].data[11] = gBattleAnimArgs[4];
|
||||
gTasks[taskId].data[7] = GetAnimBattlerSpriteId(ANIM_TARGET);
|
||||
gTasks[taskId].data[8] = gSprites[gTasks[taskId].data[7]].pos2.x;
|
||||
gTasks[taskId].data[9] = gSprites[gTasks[taskId].data[7]].pos2.y;
|
||||
gTasks[taskId].data[8] = gSprites[gTasks[taskId].data[7]].x2;
|
||||
gTasks[taskId].data[9] = gSprites[gTasks[taskId].data[7]].y2;
|
||||
gTasks[taskId].data[0] = 0;
|
||||
gTasks[taskId].data[1] = gBattleAnimArgs[1];
|
||||
gTasks[taskId].data[2] = gBattleAnimArgs[2];
|
||||
@@ -909,28 +909,28 @@ static void sub_8099CB8(u8 taskId)
|
||||
{
|
||||
if (task->data[12])
|
||||
{
|
||||
gSprites[task->data[7]].pos2.x = task->data[8] + task->data[13];
|
||||
gSprites[task->data[7]].x2 = task->data[8] + task->data[13];
|
||||
}
|
||||
else
|
||||
{
|
||||
gSprites[task->data[7]].pos2.x = task->data[8] - task->data[14];
|
||||
gSprites[task->data[7]].x2 = task->data[8] - task->data[14];
|
||||
}
|
||||
}
|
||||
if (task->data[11])
|
||||
{
|
||||
if (task->data[12])
|
||||
{
|
||||
gSprites[task->data[7]].pos2.y = task->data[15];
|
||||
gSprites[task->data[7]].y2 = task->data[15];
|
||||
}
|
||||
else
|
||||
{
|
||||
gSprites[task->data[7]].pos2.y = 0;
|
||||
gSprites[task->data[7]].y2 = 0;
|
||||
}
|
||||
}
|
||||
if (!--task->data[2])
|
||||
{
|
||||
gSprites[task->data[7]].pos2.x = 0;
|
||||
gSprites[task->data[7]].pos2.y = 0;
|
||||
gSprites[task->data[7]].x2 = 0;
|
||||
gSprites[task->data[7]].y2 = 0;
|
||||
DestroyAnimVisualTask(taskId);
|
||||
return;
|
||||
}
|
||||
|
||||
+96
-96
@@ -396,8 +396,8 @@ void TranslateSpriteInCircleOverDuration(struct Sprite *sprite)
|
||||
{
|
||||
if (sprite->data[3])
|
||||
{
|
||||
sprite->pos2.x = Sin(sprite->data[0], sprite->data[1]);
|
||||
sprite->pos2.y = Cos(sprite->data[0], sprite->data[1]);
|
||||
sprite->x2 = Sin(sprite->data[0], sprite->data[1]);
|
||||
sprite->y2 = Cos(sprite->data[0], sprite->data[1]);
|
||||
sprite->data[0] += sprite->data[2];
|
||||
if (sprite->data[0] >= 0x100)
|
||||
sprite->data[0] -= 0x100;
|
||||
@@ -417,8 +417,8 @@ void TranslateSpriteInGrowingCircleOverDuration(struct Sprite *sprite)
|
||||
{
|
||||
if (sprite->data[3])
|
||||
{
|
||||
sprite->pos2.x = Sin(sprite->data[0], (sprite->data[5] >> 8) + sprite->data[1]);
|
||||
sprite->pos2.y = Cos(sprite->data[0], (sprite->data[5] >> 8) + sprite->data[1]);
|
||||
sprite->x2 = Sin(sprite->data[0], (sprite->data[5] >> 8) + sprite->data[1]);
|
||||
sprite->y2 = Cos(sprite->data[0], (sprite->data[5] >> 8) + sprite->data[1]);
|
||||
sprite->data[0] += sprite->data[2];
|
||||
sprite->data[5] += sprite->data[4];
|
||||
if (sprite->data[0] >= 0x100)
|
||||
@@ -440,8 +440,8 @@ static void TranslateSpriteInLissajousCurveOverDuration(struct Sprite *sprite)
|
||||
{
|
||||
if (sprite->data[3])
|
||||
{
|
||||
sprite->pos2.x = Sin(sprite->data[0], sprite->data[1]);
|
||||
sprite->pos2.y = Cos(sprite->data[4], sprite->data[1]);
|
||||
sprite->x2 = Sin(sprite->data[0], sprite->data[1]);
|
||||
sprite->y2 = Cos(sprite->data[4], sprite->data[1]);
|
||||
sprite->data[0] += sprite->data[2];
|
||||
sprite->data[4] += sprite->data[5];
|
||||
if (sprite->data[0] >= 0x100)
|
||||
@@ -466,8 +466,8 @@ void TranslateSpriteInEllipseOverDuration(struct Sprite *sprite)
|
||||
{
|
||||
if (sprite->data[3])
|
||||
{
|
||||
sprite->pos2.x = Sin(sprite->data[0], sprite->data[1]);
|
||||
sprite->pos2.y = Cos(sprite->data[0], sprite->data[4]);
|
||||
sprite->x2 = Sin(sprite->data[0], sprite->data[1]);
|
||||
sprite->y2 = Cos(sprite->data[0], sprite->data[4]);
|
||||
sprite->data[0] += sprite->data[2];
|
||||
if (sprite->data[0] >= 0x100)
|
||||
sprite->data[0] -= 0x100;
|
||||
@@ -518,8 +518,8 @@ void TranslateSpriteLinear(struct Sprite *sprite)
|
||||
if (sprite->data[0] > 0)
|
||||
{
|
||||
--sprite->data[0];
|
||||
sprite->pos2.x += sprite->data[1];
|
||||
sprite->pos2.y += sprite->data[2];
|
||||
sprite->x2 += sprite->data[1];
|
||||
sprite->y2 += sprite->data[2];
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -534,8 +534,8 @@ void TranslateSpriteLinearFixedPoint(struct Sprite *sprite)
|
||||
--sprite->data[0];
|
||||
sprite->data[3] += sprite->data[1];
|
||||
sprite->data[4] += sprite->data[2];
|
||||
sprite->pos2.x = sprite->data[3] >> 8;
|
||||
sprite->pos2.y = sprite->data[4] >> 8;
|
||||
sprite->x2 = sprite->data[3] >> 8;
|
||||
sprite->y2 = sprite->data[4] >> 8;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -550,8 +550,8 @@ static void TranslateSpriteLinearFixedPointIconFrame(struct Sprite *sprite)
|
||||
--sprite->data[0];
|
||||
sprite->data[3] += sprite->data[1];
|
||||
sprite->data[4] += sprite->data[2];
|
||||
sprite->pos2.x = sprite->data[3] >> 8;
|
||||
sprite->pos2.y = sprite->data[4] >> 8;
|
||||
sprite->x2 = sprite->data[3] >> 8;
|
||||
sprite->y2 = sprite->data[4] >> 8;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -564,8 +564,8 @@ static void TranslateSpriteLinearFixedPointIconFrame(struct Sprite *sprite)
|
||||
// not used
|
||||
static void SetupAndStartSpriteLinearTranslationToTarget(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[1] = sprite->pos1.x + sprite->pos2.x;
|
||||
sprite->data[3] = sprite->pos1.y + sprite->pos2.y;
|
||||
sprite->data[1] = sprite->x + sprite->x2;
|
||||
sprite->data[3] = sprite->y + sprite->y2;
|
||||
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
|
||||
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
sprite->callback = SetupAndStartSpriteLinearTranslation;
|
||||
@@ -576,8 +576,8 @@ void TranslateMonSpriteLinear(struct Sprite *sprite)
|
||||
if (sprite->data[0] > 0)
|
||||
{
|
||||
--sprite->data[0];
|
||||
gSprites[sprite->data[3]].pos2.x += sprite->data[1];
|
||||
gSprites[sprite->data[3]].pos2.y += sprite->data[2];
|
||||
gSprites[sprite->data[3]].x2 += sprite->data[1];
|
||||
gSprites[sprite->data[3]].y2 += sprite->data[2];
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -592,8 +592,8 @@ void TranslateMonSpriteLinearFixedPoint(struct Sprite *sprite)
|
||||
--sprite->data[0];
|
||||
sprite->data[3] += sprite->data[1];
|
||||
sprite->data[4] += sprite->data[2];
|
||||
gSprites[sprite->data[5]].pos2.x = sprite->data[3] >> 8;
|
||||
gSprites[sprite->data[5]].pos2.y = sprite->data[4] >> 8;
|
||||
gSprites[sprite->data[5]].x2 = sprite->data[3] >> 8;
|
||||
gSprites[sprite->data[5]].y2 = sprite->data[4] >> 8;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -606,9 +606,9 @@ void TranslateSpriteLinearAndFlicker(struct Sprite *sprite)
|
||||
if (sprite->data[0] > 0)
|
||||
{
|
||||
--sprite->data[0];
|
||||
sprite->pos2.x = sprite->data[2] >> 8;
|
||||
sprite->x2 = sprite->data[2] >> 8;
|
||||
sprite->data[2] += sprite->data[1];
|
||||
sprite->pos2.y = sprite->data[4] >> 8;
|
||||
sprite->y2 = sprite->data[4] >> 8;
|
||||
sprite->data[4] += sprite->data[3];
|
||||
if (sprite->data[0] % sprite->data[5] == 0)
|
||||
{
|
||||
@@ -631,8 +631,8 @@ void DestroySpriteAndMatrix(struct Sprite *sprite)
|
||||
// not used
|
||||
static void SetupAndStartSpriteLinearTranslationToAttacker(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[1] = sprite->pos1.x + sprite->pos2.x;
|
||||
sprite->data[3] = sprite->pos1.y + sprite->pos2.y;
|
||||
sprite->data[1] = sprite->x + sprite->x2;
|
||||
sprite->data[3] = sprite->y + sprite->y2;
|
||||
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
sprite->callback = SetupAndStartSpriteLinearTranslation;
|
||||
@@ -673,8 +673,8 @@ void DestroyAnimVisualTaskAndDisableBlend(u8 taskId)
|
||||
|
||||
void SetSpriteCoordsToAnimAttackerCoords(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
}
|
||||
|
||||
// Sets the initial x offset of the anim sprite depending on the horizontal orientation
|
||||
@@ -686,25 +686,25 @@ void SetAnimSpriteInitialXOffset(struct Sprite *sprite, s16 xOffset)
|
||||
|
||||
if (attackerX > targetX)
|
||||
{
|
||||
sprite->pos1.x -= xOffset;
|
||||
sprite->x -= xOffset;
|
||||
}
|
||||
else if (attackerX < targetX)
|
||||
{
|
||||
sprite->pos1.x += xOffset;
|
||||
sprite->x += xOffset;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
sprite->pos1.x -= xOffset;
|
||||
sprite->x -= xOffset;
|
||||
else
|
||||
sprite->pos1.x += xOffset;
|
||||
sprite->x += xOffset;
|
||||
}
|
||||
}
|
||||
|
||||
void InitAnimArcTranslation(struct Sprite *sprite)
|
||||
{
|
||||
sprite->sTransl_InitX = sprite->pos1.x;
|
||||
sprite->sTransl_InitY = sprite->pos1.y;
|
||||
sprite->sTransl_InitX = sprite->x;
|
||||
sprite->sTransl_InitY = sprite->y;
|
||||
InitAnimLinearTranslation(sprite);
|
||||
sprite->data[6] = 0x8000 / sprite->sTransl_Speed;
|
||||
sprite->data[7] = 0;
|
||||
@@ -715,7 +715,7 @@ bool8 TranslateAnimHorizontalArc(struct Sprite *sprite)
|
||||
if (AnimTranslateLinear(sprite))
|
||||
return TRUE;
|
||||
sprite->data[7] += sprite->data[6];
|
||||
sprite->pos2.y += Sin((u8)(sprite->data[7] >> 8), sprite->sTransl_ArcAmpl);
|
||||
sprite->y2 += Sin((u8)(sprite->data[7] >> 8), sprite->sTransl_ArcAmpl);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@@ -724,16 +724,16 @@ bool8 TranslateAnimVerticalArc(struct Sprite *sprite)
|
||||
if (AnimTranslateLinear(sprite))
|
||||
return TRUE;
|
||||
sprite->data[7] += sprite->data[6];
|
||||
sprite->pos2.x += Sin((u8)(sprite->data[7] >> 8), sprite->sTransl_ArcAmpl);
|
||||
sprite->x2 += Sin((u8)(sprite->data[7] >> 8), sprite->sTransl_ArcAmpl);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void SetSpritePrimaryCoordsFromSecondaryCoords(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x += sprite->pos2.x;
|
||||
sprite->pos1.y += sprite->pos2.y;
|
||||
sprite->pos2.x = 0;
|
||||
sprite->pos2.y = 0;
|
||||
sprite->x += sprite->x2;
|
||||
sprite->y += sprite->y2;
|
||||
sprite->x2 = 0;
|
||||
sprite->y2 = 0;
|
||||
}
|
||||
|
||||
void InitSpritePosToAnimTarget(struct Sprite *sprite, bool8 respectMonPicOffsets)
|
||||
@@ -742,27 +742,27 @@ void InitSpritePosToAnimTarget(struct Sprite *sprite, bool8 respectMonPicOffsets
|
||||
// is why there is no else clause for the "respectMonPicOffsets" check.
|
||||
if (!respectMonPicOffsets)
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord2(gBattleAnimTarget, BATTLER_COORD_X);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord2(gBattleAnimTarget, BATTLER_COORD_Y);
|
||||
sprite->x = GetBattlerSpriteCoord2(gBattleAnimTarget, BATTLER_COORD_X);
|
||||
sprite->y = GetBattlerSpriteCoord2(gBattleAnimTarget, BATTLER_COORD_Y);
|
||||
}
|
||||
SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[0]);
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
}
|
||||
|
||||
void InitSpritePosToAnimAttacker(struct Sprite *sprite, bool8 respectMonPicOffsets)
|
||||
{
|
||||
if (!respectMonPicOffsets)
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord2(gBattleAnimAttacker, BATTLER_COORD_X);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord2(gBattleAnimAttacker, BATTLER_COORD_Y);
|
||||
sprite->x = GetBattlerSpriteCoord2(gBattleAnimAttacker, BATTLER_COORD_X);
|
||||
sprite->y = GetBattlerSpriteCoord2(gBattleAnimAttacker, BATTLER_COORD_Y);
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord2(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord2(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
sprite->x = GetBattlerSpriteCoord2(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||
sprite->y = GetBattlerSpriteCoord2(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
}
|
||||
SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[0]);
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
}
|
||||
|
||||
u8 GetBattlerSide(u8 battlerId)
|
||||
@@ -907,8 +907,8 @@ void ToggleBg3Mode(bool8 arg0)
|
||||
|
||||
void StartSpriteLinearTranslationFromCurrentPos(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[1] = sprite->pos1.x;
|
||||
sprite->data[3] = sprite->pos1.y;
|
||||
sprite->data[1] = sprite->x;
|
||||
sprite->data[3] = sprite->y;
|
||||
InitSpriteDataForLinearTranslation(sprite);
|
||||
sprite->callback = TranslateSpriteLinearFixedPointIconFrame;
|
||||
sprite->callback(sprite);
|
||||
@@ -955,8 +955,8 @@ void InitAnimLinearTranslation(struct Sprite *sprite)
|
||||
|
||||
void StartAnimLinearTranslation(struct Sprite *sprite)
|
||||
{
|
||||
sprite->sTransl_InitX = sprite->pos1.x;
|
||||
sprite->sTransl_InitY = sprite->pos1.y;
|
||||
sprite->sTransl_InitX = sprite->x;
|
||||
sprite->sTransl_InitY = sprite->y;
|
||||
InitAnimLinearTranslation(sprite);
|
||||
sprite->callback = RunLinearTranslation_ThenceSetCBtoStoredInData6;
|
||||
sprite->callback(sprite);
|
||||
@@ -964,8 +964,8 @@ void StartAnimLinearTranslation(struct Sprite *sprite)
|
||||
|
||||
void PlayerThrowBall_StartAnimLinearTranslation(struct Sprite *sprite)
|
||||
{
|
||||
sprite->sTransl_InitX = sprite->pos1.x;
|
||||
sprite->sTransl_InitY = sprite->pos1.y;
|
||||
sprite->sTransl_InitX = sprite->x;
|
||||
sprite->sTransl_InitY = sprite->y;
|
||||
InitAnimLinearTranslation(sprite);
|
||||
sprite->callback = PlayerThrowBall_RunLinearTranslation_ThenceSetCBtoStoredInData6;
|
||||
sprite->callback(sprite);
|
||||
@@ -984,14 +984,14 @@ bool8 AnimTranslateLinear(struct Sprite *sprite)
|
||||
x += v1;
|
||||
y += v2;
|
||||
if (v1 & 1)
|
||||
sprite->pos2.x = -(x >> 8);
|
||||
sprite->x2 = -(x >> 8);
|
||||
else
|
||||
sprite->pos2.x = x >> 8;
|
||||
sprite->x2 = x >> 8;
|
||||
|
||||
if (v2 & 1)
|
||||
sprite->pos2.y = -(y >> 8);
|
||||
sprite->y2 = -(y >> 8);
|
||||
else
|
||||
sprite->pos2.y = y >> 8;
|
||||
sprite->y2 = y >> 8;
|
||||
sprite->data[3] = x;
|
||||
sprite->data[4] = y;
|
||||
--sprite->data[0];
|
||||
@@ -1021,8 +1021,8 @@ void BattleAnim_InitLinearTranslationWithDuration(struct Sprite *sprite)
|
||||
|
||||
void BattleAnim_InitAndRunLinearTranslationWithDuration(struct Sprite *sprite)
|
||||
{
|
||||
sprite->sTransl_InitX = sprite->pos1.x;
|
||||
sprite->sTransl_InitY = sprite->pos1.y;
|
||||
sprite->sTransl_InitX = sprite->x;
|
||||
sprite->sTransl_InitY = sprite->y;
|
||||
BattleAnim_InitLinearTranslationWithDuration(sprite);
|
||||
sprite->callback = RunLinearTranslation_ThenceSetCBtoStoredInData6;
|
||||
sprite->callback(sprite);
|
||||
@@ -1055,8 +1055,8 @@ static void InitAnimFastLinearTranslation(struct Sprite *sprite)
|
||||
|
||||
void InitAndRunAnimFastLinearTranslation(struct Sprite *sprite)
|
||||
{
|
||||
sprite->sTransl_InitX = sprite->pos1.x;
|
||||
sprite->sTransl_InitY = sprite->pos1.y;
|
||||
sprite->sTransl_InitX = sprite->x;
|
||||
sprite->sTransl_InitY = sprite->y;
|
||||
InitAnimFastLinearTranslation(sprite);
|
||||
sprite->callback = SpriteCB_RunAnimFastLinearTranslation;
|
||||
sprite->callback(sprite);
|
||||
@@ -1075,13 +1075,13 @@ bool8 AnimFastTranslateLinear(struct Sprite *sprite)
|
||||
x += v1;
|
||||
y += v2;
|
||||
if (v1 & 1)
|
||||
sprite->pos2.x = -(x >> 4);
|
||||
sprite->x2 = -(x >> 4);
|
||||
else
|
||||
sprite->pos2.x = x >> 4;
|
||||
sprite->x2 = x >> 4;
|
||||
if (v2 & 1)
|
||||
sprite->pos2.y = -(y >> 4);
|
||||
sprite->y2 = -(y >> 4);
|
||||
else
|
||||
sprite->pos2.y = y >> 4;
|
||||
sprite->y2 = y >> 4;
|
||||
sprite->data[3] = x;
|
||||
sprite->data[4] = y;
|
||||
--sprite->data[0];
|
||||
@@ -1104,8 +1104,8 @@ void InitAnimFastLinearTranslationWithSpeed(struct Sprite *sprite)
|
||||
|
||||
void InitAndStartAnimFastLinearTranslationWithSpeed(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[1] = sprite->pos1.x;
|
||||
sprite->data[3] = sprite->pos1.y;
|
||||
sprite->data[1] = sprite->x;
|
||||
sprite->data[3] = sprite->y;
|
||||
InitAnimFastLinearTranslationWithSpeed(sprite);
|
||||
sprite->callback = SpriteCB_RunAnimFastLinearTranslation;
|
||||
sprite->callback(sprite);
|
||||
@@ -1168,7 +1168,7 @@ void SetBattlerSpriteYOffsetFromRotation(u8 spriteId)
|
||||
|
||||
if (c < 0)
|
||||
c = -c;
|
||||
gSprites[spriteId].pos2.y = c >> 3;
|
||||
gSprites[spriteId].y2 = c >> 3;
|
||||
}
|
||||
|
||||
void TrySetSpriteRotScale(struct Sprite *sprite, bool8 recalcCenterVector, s16 xScale, s16 yScale, u16 rotation)
|
||||
@@ -1680,7 +1680,7 @@ bool8 RunAffineAnimFromTaskData(struct Task *task)
|
||||
++task->data[7];
|
||||
break;
|
||||
case AFFINEANIMCMDTYPE_END:
|
||||
gSprites[task->data[15]].pos2.y = 0;
|
||||
gSprites[task->data[15]].y2 = 0;
|
||||
ResetSpriteRotScale(task->data[15]);
|
||||
return FALSE;
|
||||
}
|
||||
@@ -1697,7 +1697,7 @@ void SetBattlerSpriteYOffsetFromYScale(u8 spriteId)
|
||||
|
||||
if (var2 > 128)
|
||||
var2 = 128;
|
||||
gSprites[spriteId].pos2.y = (var - var2) / 2;
|
||||
gSprites[spriteId].y2 = (var - var2) / 2;
|
||||
}
|
||||
|
||||
// Sets the sprite's y offset equal to the y displacement caused by another sprite
|
||||
@@ -1710,7 +1710,7 @@ void SetBattlerSpriteYOffsetFromOtherYScale(u8 spriteId, u8 otherSpriteId)
|
||||
|
||||
if (var2 > 128)
|
||||
var2 = 128;
|
||||
gSprites[spriteId].pos2.y = (var - var2) / 2;
|
||||
gSprites[spriteId].y2 = (var - var2) / 2;
|
||||
}
|
||||
|
||||
static u16 GetBattlerYDeltaFromSpriteId(u8 spriteId)
|
||||
@@ -1788,7 +1788,7 @@ u8 BattleAnimHelper_RunSpriteSquash(struct Task *task)
|
||||
if (task->data[8])
|
||||
SetBattlerSpriteYOffsetFromYScale(task->data[15]);
|
||||
else
|
||||
gSprites[task->data[15]].pos2.y = 0;
|
||||
gSprites[task->data[15]].y2 = 0;
|
||||
return task->data[8];
|
||||
}
|
||||
|
||||
@@ -2074,15 +2074,15 @@ void SpriteCB_AnimTranslateSpriteLinearAndFlicker(struct Sprite *sprite)
|
||||
SetSpriteCoordsToAnimAttackerCoords(sprite);
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
{
|
||||
sprite->pos1.x -= gBattleAnimArgs[0];
|
||||
sprite->x -= gBattleAnimArgs[0];
|
||||
gBattleAnimArgs[3] = -gBattleAnimArgs[3];
|
||||
sprite->hFlip = TRUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->x += gBattleAnimArgs[0];
|
||||
}
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
sprite->data[0] = gBattleAnimArgs[2];
|
||||
sprite->data[1] = gBattleAnimArgs[3];
|
||||
sprite->data[3] = gBattleAnimArgs[4];
|
||||
@@ -2095,14 +2095,14 @@ void SpriteCB_AnimTranslateSpriteLinearAndFlicker2(struct Sprite *sprite)
|
||||
{
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
{
|
||||
sprite->pos1.x -= gBattleAnimArgs[0];
|
||||
sprite->x -= gBattleAnimArgs[0];
|
||||
gBattleAnimArgs[3] *= -1;
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->x += gBattleAnimArgs[0];
|
||||
}
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
sprite->data[0] = gBattleAnimArgs[2];
|
||||
sprite->data[1] = gBattleAnimArgs[3];
|
||||
sprite->data[3] = gBattleAnimArgs[4];
|
||||
@@ -2116,10 +2116,10 @@ void SpriteCB_TrackOffsetFromAttackerAndWaitAnim(struct Sprite *sprite)
|
||||
{
|
||||
SetSpriteCoordsToAnimAttackerCoords(sprite);
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
sprite->pos1.x -= gBattleAnimArgs[0];
|
||||
sprite->x -= gBattleAnimArgs[0];
|
||||
else
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->x += gBattleAnimArgs[0];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
sprite->callback = RunStoredCallbackWhenAnimEnds;
|
||||
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
|
||||
}
|
||||
@@ -2134,7 +2134,7 @@ void AnimTask_AttackerPunchWithTrace(u8 taskId)
|
||||
task->data[1] = ((GetBattlerSide(gBattleAnimAttacker)) != B_SIDE_PLAYER) ? -8 : 8;
|
||||
task->data[2] = 0;
|
||||
task->data[3] = 0;
|
||||
gSprites[task->data[0]].pos2.x -= task->data[0];
|
||||
gSprites[task->data[0]].x2 -= task->data[0];
|
||||
task->data[4] = AllocSpritePalette(10097);
|
||||
task->data[5] = 0;
|
||||
dest = (task->data[4] + 0x10) * 0x10;
|
||||
@@ -2156,7 +2156,7 @@ static void AnimTask_AttackerPunchWithTrace_Step(u8 taskId)
|
||||
{
|
||||
case 0:
|
||||
PunchAnim_CreateTraceSprite(task, taskId);
|
||||
gSprites[task->data[0]].pos2.x += task->data[1];
|
||||
gSprites[task->data[0]].x2 += task->data[1];
|
||||
if (++task->data[3] == 5)
|
||||
{
|
||||
--task->data[3];
|
||||
@@ -2165,10 +2165,10 @@ static void AnimTask_AttackerPunchWithTrace_Step(u8 taskId)
|
||||
break;
|
||||
case 1:
|
||||
PunchAnim_CreateTraceSprite(task, taskId);
|
||||
gSprites[task->data[0]].pos2.x -= task->data[1];
|
||||
gSprites[task->data[0]].x2 -= task->data[1];
|
||||
if (--task->data[3] == 0)
|
||||
{
|
||||
gSprites[task->data[0]].pos2.x = 0;
|
||||
gSprites[task->data[0]].x2 = 0;
|
||||
++task->data[2];
|
||||
}
|
||||
break;
|
||||
@@ -2193,7 +2193,7 @@ static void PunchAnim_CreateTraceSprite(struct Task *task, u8 taskId)
|
||||
gSprites[spriteId].data[0] = 8;
|
||||
gSprites[spriteId].data[1] = taskId;
|
||||
gSprites[spriteId].data[2] = spriteId;
|
||||
gSprites[spriteId].pos2.x = gSprites[task->data[0]].pos2.x;
|
||||
gSprites[spriteId].x2 = gSprites[task->data[0]].x2;
|
||||
gSprites[spriteId].callback = SpriteCB_PunchTrace;
|
||||
++task->data[5];
|
||||
}
|
||||
@@ -2210,8 +2210,8 @@ static void SpriteCB_PunchTrace(struct Sprite *sprite)
|
||||
|
||||
void SpriteCB_WeatherBallUp(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
|
||||
sprite->data[0] = 5;
|
||||
else
|
||||
@@ -2224,11 +2224,11 @@ static void SpriteCB_WeatherBallUp_Step(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[2] += sprite->data[0];
|
||||
sprite->data[3] += sprite->data[1];
|
||||
sprite->pos2.x = sprite->data[2] / 10;
|
||||
sprite->pos2.y = sprite->data[3] / 10;
|
||||
sprite->x2 = sprite->data[2] / 10;
|
||||
sprite->y2 = sprite->data[3] / 10;
|
||||
if (sprite->data[1] < -20)
|
||||
++sprite->data[1];
|
||||
if (sprite->pos1.y + sprite->pos2.y < -32)
|
||||
if (sprite->y + sprite->y2 < -32)
|
||||
DestroyAnimSprite(sprite);
|
||||
}
|
||||
|
||||
@@ -2237,19 +2237,19 @@ void AnimWeatherBallDown(struct Sprite *sprite)
|
||||
s32 x;
|
||||
|
||||
sprite->data[0] = gBattleAnimArgs[2];
|
||||
sprite->data[2] = sprite->pos1.x + gBattleAnimArgs[4];
|
||||
sprite->data[4] = sprite->pos1.y + gBattleAnimArgs[5];
|
||||
sprite->data[2] = sprite->x + gBattleAnimArgs[4];
|
||||
sprite->data[4] = sprite->y + gBattleAnimArgs[5];
|
||||
if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER)
|
||||
{
|
||||
x = (u16)gBattleAnimArgs[4] + 30;
|
||||
sprite->pos1.x += x;
|
||||
sprite->pos1.y = gBattleAnimArgs[5] - 20;
|
||||
sprite->x += x;
|
||||
sprite->y = gBattleAnimArgs[5] - 20;
|
||||
}
|
||||
else
|
||||
{
|
||||
x = (u16)gBattleAnimArgs[4] - 30;
|
||||
sprite->pos1.x += x;
|
||||
sprite->pos1.y = gBattleAnimArgs[5] - 80;
|
||||
sprite->x += x;
|
||||
sprite->y = gBattleAnimArgs[5] - 80;
|
||||
}
|
||||
sprite->callback = StartAnimLinearTranslation;
|
||||
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
|
||||
|
||||
+64
-64
@@ -448,8 +448,8 @@ UNUSED void AnimTask_UnusedLevelUpHealthBox(u8 taskId)
|
||||
AnimLoadCompressedBgTilemap(animBgData.bgId, gUnknown_D2EC24_Tilemap);
|
||||
AnimLoadCompressedBgGfx(animBgData.bgId, gUnknown_D2EC24_Gfx, animBgData.tilesOffset);
|
||||
LoadCompressedPalette(gCureBubblesPal, animBgData.paletteId << 4, 32);
|
||||
gBattle_BG1_X = -gSprites[spriteId3].pos1.x + 32;
|
||||
gBattle_BG1_Y = -gSprites[spriteId3].pos1.y - 32;
|
||||
gBattle_BG1_X = -gSprites[spriteId3].x + 32;
|
||||
gBattle_BG1_Y = -gSprites[spriteId3].y - 32;
|
||||
gTasks[taskId].data[1] = 640;
|
||||
gTasks[taskId].data[0] = spriteId3;
|
||||
gTasks[taskId].data[2] = spriteId4;
|
||||
@@ -821,9 +821,9 @@ static void SpriteCB_ThrowBall_Init(struct Sprite *sprite)
|
||||
u16 destX = sprite->data[1];
|
||||
u16 destY = sprite->data[2];
|
||||
|
||||
sprite->sTransl_InitX = sprite->pos1.x;
|
||||
sprite->sTransl_InitX = sprite->x;
|
||||
sprite->sTransl_DestX = destX;
|
||||
sprite->sTransl_InitY = sprite->pos1.y;
|
||||
sprite->sTransl_InitY = sprite->y;
|
||||
sprite->sTransl_DestY = destY;
|
||||
sprite->sTransl_ArcAmpl = -40;
|
||||
InitAnimArcTranslation(sprite);
|
||||
@@ -848,10 +848,10 @@ static void SpriteCB_ThrowBall_ArcFlight(struct Sprite *sprite)
|
||||
else
|
||||
{
|
||||
StartSpriteAnim(sprite, 1);
|
||||
sprite->pos1.x += sprite->pos2.x;
|
||||
sprite->pos1.y += sprite->pos2.y;
|
||||
sprite->pos2.x = 0;
|
||||
sprite->pos2.y = 0;
|
||||
sprite->x += sprite->x2;
|
||||
sprite->y += sprite->y2;
|
||||
sprite->x2 = 0;
|
||||
sprite->y2 = 0;
|
||||
|
||||
for (i = 0; i < 8; i++)
|
||||
sprite->data[i] = 0;
|
||||
@@ -863,7 +863,7 @@ static void SpriteCB_ThrowBall_ArcFlight(struct Sprite *sprite)
|
||||
switch (ballId)
|
||||
{
|
||||
case 0 ... POKEBALL_COUNT - 1:
|
||||
LaunchBallStarsTask(sprite->pos1.x, sprite->pos1.y - 5, 1, 28, ballId);
|
||||
LaunchBallStarsTask(sprite->x, sprite->y - 5, 1, 28, ballId);
|
||||
LaunchBallFadeMonTask(0, gBattleAnimTarget, 14, ballId);
|
||||
break;
|
||||
}
|
||||
@@ -897,7 +897,7 @@ static void SpriteCB_ThrowBall_ShrinkMon(struct Sprite *sprite)
|
||||
PrepareBattlerSpriteForRotScale(spriteId, ST_OAM_OBJ_NORMAL);
|
||||
gTasks[taskId].data[10] = 256;
|
||||
gMonShrinkDuration = 28;
|
||||
gMonShrinkDistance = (gSprites[spriteId].pos1.y + gSprites[spriteId].pos2.y) - (sprite->pos1.y + sprite->pos2.y);
|
||||
gMonShrinkDistance = (gSprites[spriteId].y + gSprites[spriteId].y2) - (sprite->y + sprite->y2);
|
||||
gMonShrinkDelta = (gMonShrinkDistance * 256) / gMonShrinkDuration;
|
||||
gTasks[taskId].data[2] = gMonShrinkDelta;
|
||||
gTasks[taskId].data[0]++;
|
||||
@@ -906,7 +906,7 @@ static void SpriteCB_ThrowBall_ShrinkMon(struct Sprite *sprite)
|
||||
gTasks[taskId].data[10] += 0x20;
|
||||
SetSpriteRotScale(spriteId, gTasks[taskId].data[10], gTasks[taskId].data[10], 0);
|
||||
gTasks[taskId].data[3] += gTasks[taskId].data[2];
|
||||
gSprites[spriteId].pos2.y = -gTasks[taskId].data[3] >> 8;
|
||||
gSprites[spriteId].y2 = -gTasks[taskId].data[3] >> 8;
|
||||
if (gTasks[taskId].data[10] >= 0x480)
|
||||
gTasks[taskId].data[0]++;
|
||||
break;
|
||||
@@ -937,8 +937,8 @@ static void SpriteCB_ThrowBall_InitialFall(struct Sprite *sprite)
|
||||
sprite->data[4] = 40;
|
||||
sprite->data[5] = 0;
|
||||
angle = 0;
|
||||
sprite->pos1.y += Cos(angle, 40);
|
||||
sprite->pos2.y = -Cos(angle, sprite->data[4]);
|
||||
sprite->y += Cos(angle, 40);
|
||||
sprite->y2 = -Cos(angle, sprite->data[4]);
|
||||
sprite->callback = SpriteCB_ThrowBall_Bounce;
|
||||
}
|
||||
}
|
||||
@@ -952,7 +952,7 @@ static void SpriteCB_ThrowBall_Bounce(struct Sprite *sprite)
|
||||
switch (sprite->data[3] & 0xFF)
|
||||
{
|
||||
case 0:
|
||||
sprite->pos2.y = -Cos(sprite->data[5], sprite->data[4]);
|
||||
sprite->y2 = -Cos(sprite->data[5], sprite->data[4]);
|
||||
sprite->data[5] += (sprite->data[3] >> 8) + 4;
|
||||
if (sprite->data[5] >= 64)
|
||||
{
|
||||
@@ -982,7 +982,7 @@ static void SpriteCB_ThrowBall_Bounce(struct Sprite *sprite)
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
sprite->pos2.y = -Cos(sprite->data[5], sprite->data[4]);
|
||||
sprite->y2 = -Cos(sprite->data[5], sprite->data[4]);
|
||||
sprite->data[5] -= (sprite->data[3] >> 8) + 4;
|
||||
if (sprite->data[5] <= 0)
|
||||
{
|
||||
@@ -995,8 +995,8 @@ static void SpriteCB_ThrowBall_Bounce(struct Sprite *sprite)
|
||||
if (lastBounce)
|
||||
{
|
||||
sprite->data[3] = 0;
|
||||
sprite->pos1.y += Cos(64, 40);
|
||||
sprite->pos2.y = 0;
|
||||
sprite->y += Cos(64, 40);
|
||||
sprite->y2 = 0;
|
||||
if (gBattleSpritesDataPtr->animationData->ballThrowCaseId == BALL_NO_SHAKES)
|
||||
{
|
||||
sprite->data[5] = 0;
|
||||
@@ -1034,7 +1034,7 @@ static void SpriteCB_ThrowBall_DoShake(struct Sprite *sprite)
|
||||
case 0:
|
||||
if (gBattleSpritesDataPtr->animationData->field_C > 0xFF)
|
||||
{
|
||||
sprite->pos2.x += sprite->data[4];
|
||||
sprite->x2 += sprite->data[4];
|
||||
gBattleSpritesDataPtr->animationData->field_C &= 0xFF;
|
||||
}
|
||||
else
|
||||
@@ -1072,7 +1072,7 @@ static void SpriteCB_ThrowBall_DoShake(struct Sprite *sprite)
|
||||
case 2:
|
||||
if (gBattleSpritesDataPtr->animationData->field_C > 0xFF)
|
||||
{
|
||||
sprite->pos2.x += sprite->data[4];
|
||||
sprite->x2 += sprite->data[4];
|
||||
gBattleSpritesDataPtr->animationData->field_C &= 0xFF;
|
||||
}
|
||||
else
|
||||
@@ -1109,7 +1109,7 @@ static void SpriteCB_ThrowBall_DoShake(struct Sprite *sprite)
|
||||
case 4:
|
||||
if (gBattleSpritesDataPtr->animationData->field_C > 0xFF)
|
||||
{
|
||||
sprite->pos2.x += sprite->data[4];
|
||||
sprite->x2 += sprite->data[4];
|
||||
gBattleSpritesDataPtr->animationData->field_C &= 0xFF;
|
||||
}
|
||||
else
|
||||
@@ -1290,12 +1290,12 @@ static void CreateStarsWhenBallClicks(struct Sprite *sprite)
|
||||
LoadBallParticleGfx(BALL_MASTER);
|
||||
for (i = 0; i < 3; i++)
|
||||
{
|
||||
u8 spriteId = CreateSprite(&sBallParticlesSpriteTemplates[BALL_MASTER], sprite->pos1.x, sprite->pos1.y, subpriority);
|
||||
u8 spriteId = CreateSprite(&sBallParticlesSpriteTemplates[BALL_MASTER], sprite->x, sprite->y, subpriority);
|
||||
if (spriteId != MAX_SPRITES)
|
||||
{
|
||||
gSprites[spriteId].sTransl_Speed = 24;
|
||||
gSprites[spriteId].sTransl_DestX = sprite->pos1.x + sCaptureStar[i].xOffset;
|
||||
gSprites[spriteId].sTransl_DestY = sprite->pos1.y + sCaptureStar[i].yOffset;
|
||||
gSprites[spriteId].sTransl_DestX = sprite->x + sCaptureStar[i].xOffset;
|
||||
gSprites[spriteId].sTransl_DestY = sprite->y + sCaptureStar[i].yOffset;
|
||||
gSprites[spriteId].sTransl_ArcAmpl = sCaptureStar[i].amplitude;
|
||||
InitAnimArcTranslation(&gSprites[spriteId]);
|
||||
gSprites[spriteId].callback = SpriteCB_BallCaptureSuccessStar;
|
||||
@@ -1322,7 +1322,7 @@ static void SpriteCB_ThrowBall_BeginBreakOut(struct Sprite *sprite)
|
||||
switch (ballId)
|
||||
{
|
||||
case 0 ... POKEBALL_COUNT - 1:
|
||||
LaunchBallStarsTask(sprite->pos1.x, sprite->pos1.y - 5, 1, 28, ballId);
|
||||
LaunchBallStarsTask(sprite->x, sprite->y - 5, 1, 28, ballId);
|
||||
LaunchBallFadeMonTask(1, gBattleAnimTarget, 14, ballId);
|
||||
break;
|
||||
}
|
||||
@@ -1348,12 +1348,12 @@ static void SpriteCB_ThrowBall_RunBreakOut(struct Sprite *sprite)
|
||||
else
|
||||
{
|
||||
gSprites[gBattlerSpriteIds[gBattleAnimTarget]].data[1] -= 288;
|
||||
gSprites[gBattlerSpriteIds[gBattleAnimTarget]].pos2.y = gSprites[gBattlerSpriteIds[gBattleAnimTarget]].data[1] >> 8;
|
||||
gSprites[gBattlerSpriteIds[gBattleAnimTarget]].y2 = gSprites[gBattlerSpriteIds[gBattleAnimTarget]].data[1] >> 8;
|
||||
}
|
||||
|
||||
if (sprite->animEnded && next)
|
||||
{
|
||||
gSprites[gBattlerSpriteIds[gBattleAnimTarget]].pos2.y = 0;
|
||||
gSprites[gBattlerSpriteIds[gBattleAnimTarget]].y2 = 0;
|
||||
gSprites[gBattlerSpriteIds[gBattleAnimTarget]].invisible = gBattleSpritesDataPtr->animationData->field_9_x2;
|
||||
sprite->data[0] = 0;
|
||||
sprite->callback = BattleAnimObj_SignalEnd;
|
||||
@@ -1366,9 +1366,9 @@ static void TrainerBallBlock(struct Sprite *sprite)
|
||||
{
|
||||
int i;
|
||||
|
||||
sprite->pos1.x += sprite->pos2.x;
|
||||
sprite->pos1.y += sprite->pos2.y;
|
||||
sprite->pos2.x = sprite->pos2.y = 0;
|
||||
sprite->x += sprite->x2;
|
||||
sprite->y += sprite->y2;
|
||||
sprite->x2 = sprite->y2 = 0;
|
||||
for (i = 0; i < 6; i++)
|
||||
sprite->data[i] = 0;
|
||||
|
||||
@@ -1380,12 +1380,12 @@ static void TrainerBallBlock2(struct Sprite *sprite)
|
||||
s16 var0 = sprite->data[0] + 0x800;
|
||||
s16 var1 = sprite->data[1] + 0x680;
|
||||
|
||||
sprite->pos2.x -= var1 >> 8;
|
||||
sprite->pos2.y += var0 >> 8;
|
||||
sprite->x2 -= var1 >> 8;
|
||||
sprite->y2 += var0 >> 8;
|
||||
sprite->data[0] = (sprite->data[0] + 0x800) & 0xFF;
|
||||
sprite->data[1] = (sprite->data[1] + 0x680) & 0xFF;
|
||||
if (sprite->pos1.y + sprite->pos2.y > 160
|
||||
|| sprite->pos1.x + sprite->pos2.x < -8)
|
||||
if (sprite->y + sprite->y2 > 160
|
||||
|| sprite->x + sprite->x2 < -8)
|
||||
{
|
||||
sprite->data[0] = 0;
|
||||
sprite->callback = BattleAnimObj_SignalEnd;
|
||||
@@ -1396,13 +1396,13 @@ static void TrainerBallBlock2(struct Sprite *sprite)
|
||||
|
||||
static void GhostBallDodge(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x += sprite->pos2.x;
|
||||
sprite->pos1.y += sprite->pos2.y;
|
||||
sprite->pos2.x = sprite->pos2.y = 0;
|
||||
sprite->x += sprite->x2;
|
||||
sprite->y += sprite->y2;
|
||||
sprite->x2 = sprite->y2 = 0;
|
||||
sprite->data[0] = 0x22;
|
||||
sprite->data[1] = sprite->pos1.x;
|
||||
sprite->data[2] = sprite->pos1.x - 8;
|
||||
sprite->data[3] = sprite->pos1.y;
|
||||
sprite->data[1] = sprite->x;
|
||||
sprite->data[2] = sprite->x - 8;
|
||||
sprite->data[3] = sprite->y;
|
||||
sprite->data[4] = 0x90;
|
||||
sprite->data[5] = 0x20;
|
||||
InitAnimArcTranslation(sprite);
|
||||
@@ -1414,7 +1414,7 @@ static void GhostBallDodge2(struct Sprite *sprite)
|
||||
{
|
||||
if (!TranslateAnimVerticalArc(sprite))
|
||||
{
|
||||
if ((sprite->pos1.y + sprite->pos2.y) < 65)
|
||||
if ((sprite->y + sprite->y2) < 65)
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1508,8 +1508,8 @@ static void PokeBallOpenParticleAnimation_Step1(struct Sprite *sprite)
|
||||
|
||||
static void PokeBallOpenParticleAnimation_Step2(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos2.x = Sin(sprite->data[0], sprite->data[1]);
|
||||
sprite->pos2.y = Cos(sprite->data[0], sprite->data[1]);
|
||||
sprite->x2 = Sin(sprite->data[0], sprite->data[1]);
|
||||
sprite->y2 = Cos(sprite->data[0], sprite->data[1]);
|
||||
sprite->data[1] += 2;
|
||||
if (sprite->data[1] == 50)
|
||||
DestroyBallOpenAnimationParticle(sprite);
|
||||
@@ -1701,8 +1701,8 @@ static void GreatBallOpenParticleAnimation(u8 taskId)
|
||||
|
||||
static void FanOutBallOpenParticles_Step1(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos2.x = Sin(sprite->data[0], sprite->data[1]);
|
||||
sprite->pos2.y = Cos(sprite->data[0], sprite->data[2]);
|
||||
sprite->x2 = Sin(sprite->data[0], sprite->data[1]);
|
||||
sprite->y2 = Cos(sprite->data[0], sprite->data[2]);
|
||||
sprite->data[0] = (sprite->data[0] + sprite->data[4]) & 0xFF;
|
||||
sprite->data[1] += sprite->data[5];
|
||||
sprite->data[2] += sprite->data[6];
|
||||
@@ -1743,8 +1743,8 @@ static void RepeatBallOpenParticleAnimation(u8 taskId)
|
||||
|
||||
static void RepeatBallOpenParticleAnimation_Step1(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos2.x = Sin(sprite->data[0], sprite->data[1]);
|
||||
sprite->pos2.y = Cos(sprite->data[0], Sin(sprite->data[0], sprite->data[2]));
|
||||
sprite->x2 = Sin(sprite->data[0], sprite->data[1]);
|
||||
sprite->y2 = Cos(sprite->data[0], Sin(sprite->data[0], sprite->data[2]));
|
||||
sprite->data[0] = (sprite->data[0] + 6) & 0xFF;
|
||||
sprite->data[1]++;
|
||||
sprite->data[2]++;
|
||||
@@ -1831,8 +1831,8 @@ static void PremierBallOpenParticleAnimation(u8 taskId)
|
||||
|
||||
static void PremierBallOpenParticleAnimation_Step1(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos2.x = Sin(sprite->data[0], sprite->data[1]);
|
||||
sprite->pos2.y = Cos(sprite->data[0], Sin(sprite->data[0] & 0x3F, sprite->data[2]));
|
||||
sprite->x2 = Sin(sprite->data[0], sprite->data[1]);
|
||||
sprite->y2 = Cos(sprite->data[0], Sin(sprite->data[0] & 0x3F, sprite->data[2]));
|
||||
sprite->data[0] = (sprite->data[0] + 10) & 0xFF;
|
||||
sprite->data[1]++;
|
||||
sprite->data[2]++;
|
||||
@@ -1955,12 +1955,12 @@ void AnimTask_SwapMonSpriteToFromSubstitute(u8 taskId)
|
||||
gTasks[taskId].data[11] = gBattleAnimArgs[0];
|
||||
gTasks[taskId].data[0] += 0x500;
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
gSprites[spriteId].pos2.x += gTasks[taskId].data[0] >> 8;
|
||||
gSprites[spriteId].x2 += gTasks[taskId].data[0] >> 8;
|
||||
else
|
||||
gSprites[spriteId].pos2.x -= gTasks[taskId].data[0] >> 8;
|
||||
gSprites[spriteId].x2 -= gTasks[taskId].data[0] >> 8;
|
||||
|
||||
gTasks[taskId].data[0] &= 0xFF;
|
||||
x = gSprites[spriteId].pos1.x + gSprites[spriteId].pos2.x + 32;
|
||||
x = gSprites[spriteId].x + gSprites[spriteId].x2 + 32;
|
||||
if (x > 304)
|
||||
gTasks[taskId].data[10]++;
|
||||
break;
|
||||
@@ -1971,24 +1971,24 @@ void AnimTask_SwapMonSpriteToFromSubstitute(u8 taskId)
|
||||
case 2:
|
||||
gTasks[taskId].data[0] += 0x500;
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
gSprites[spriteId].pos2.x -= gTasks[taskId].data[0] >> 8;
|
||||
gSprites[spriteId].x2 -= gTasks[taskId].data[0] >> 8;
|
||||
else
|
||||
gSprites[spriteId].pos2.x += gTasks[taskId].data[0] >> 8;
|
||||
gSprites[spriteId].x2 += gTasks[taskId].data[0] >> 8;
|
||||
|
||||
gTasks[taskId].data[0] &= 0xFF;
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
{
|
||||
if (gSprites[spriteId].pos2.x <= 0)
|
||||
if (gSprites[spriteId].x2 <= 0)
|
||||
{
|
||||
gSprites[spriteId].pos2.x = 0;
|
||||
gSprites[spriteId].x2 = 0;
|
||||
done = TRUE;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (gSprites[spriteId].pos2.x >= 0)
|
||||
if (gSprites[spriteId].x2 >= 0)
|
||||
{
|
||||
gSprites[spriteId].pos2.x = 0;
|
||||
gSprites[spriteId].x2 = 0;
|
||||
done = TRUE;
|
||||
}
|
||||
}
|
||||
@@ -2133,8 +2133,8 @@ static void AnimTask_ShinySparkles(u8 taskId)
|
||||
else
|
||||
{
|
||||
gSprites[spriteId].callback = SpriteCB_ShinySparkles_2;
|
||||
gSprites[spriteId].pos2.x = -32;
|
||||
gSprites[spriteId].pos2.y = 32;
|
||||
gSprites[spriteId].x2 = -32;
|
||||
gSprites[spriteId].y2 = 32;
|
||||
gSprites[spriteId].invisible = TRUE;
|
||||
if (gTasks[taskId].data[11] == FALSE)
|
||||
{
|
||||
@@ -2174,8 +2174,8 @@ static void AnimTask_ShinySparkles_WaitSparkles(u8 taskId)
|
||||
|
||||
static void SpriteCB_ShinySparkles_1(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos2.x = Sin(sprite->data[1], 24);
|
||||
sprite->pos2.y = Cos(sprite->data[1], 24);
|
||||
sprite->x2 = Sin(sprite->data[1], 24);
|
||||
sprite->y2 = Cos(sprite->data[1], 24);
|
||||
sprite->data[1] += 12;
|
||||
if (sprite->data[1] > 0xFF)
|
||||
{
|
||||
@@ -2194,9 +2194,9 @@ static void SpriteCB_ShinySparkles_2(struct Sprite *sprite)
|
||||
else
|
||||
{
|
||||
sprite->invisible = FALSE;
|
||||
sprite->pos2.x += 5;
|
||||
sprite->pos2.y -= 5;
|
||||
if (sprite->pos2.x > 32)
|
||||
sprite->x2 += 5;
|
||||
sprite->y2 -= 5;
|
||||
if (sprite->x2 > 32)
|
||||
{
|
||||
gTasks[sprite->data[0]].data[12]--;
|
||||
FreeSpriteOamMatrix(sprite);
|
||||
|
||||
@@ -250,7 +250,7 @@ static u8 sub_8078178(u8 battlerId, bool8 b)
|
||||
gTasks[taskId].data[1] = RGB_RED;
|
||||
for (i = 0; i < 10; i++)
|
||||
{
|
||||
spriteId2 = CreateSprite(&sUnknown_83BF574, gSprites[battlerSpriteId].pos1.x, gSprites[battlerSpriteId].pos1.y + 32, 0);
|
||||
spriteId2 = CreateSprite(&sUnknown_83BF574, gSprites[battlerSpriteId].x, gSprites[battlerSpriteId].y + 32, 0);
|
||||
gSprites[spriteId2].data[0] = i * 51;
|
||||
gSprites[spriteId2].data[1] = -256;
|
||||
gSprites[spriteId2].invisible = TRUE;
|
||||
@@ -263,7 +263,7 @@ static u8 sub_8078178(u8 battlerId, bool8 b)
|
||||
gTasks[taskId].data[1] = RGB_BLUE;
|
||||
for (i = 0; i < 10; i++)
|
||||
{
|
||||
spriteId2 = CreateSprite(&sUnknown_83BF574, gSprites[battlerSpriteId].pos1.x, gSprites[battlerSpriteId].pos1.y - 32, 0);
|
||||
spriteId2 = CreateSprite(&sUnknown_83BF574, gSprites[battlerSpriteId].x, gSprites[battlerSpriteId].y - 32, 0);
|
||||
gSprites[spriteId2].data[0] = i * 51;
|
||||
gSprites[spriteId2].data[1] = 256;
|
||||
gSprites[spriteId2].invisible = TRUE;
|
||||
@@ -324,15 +324,15 @@ static void sub_807834C(struct Sprite *sprite)
|
||||
|
||||
static void sub_8078380(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos2.x = Cos(sprite->data[0], 32);
|
||||
sprite->pos2.y = Sin(sprite->data[0], 8);
|
||||
sprite->x2 = Cos(sprite->data[0], 32);
|
||||
sprite->y2 = Sin(sprite->data[0], 8);
|
||||
if (sprite->data[0] < 128)
|
||||
sprite->subpriority = 29;
|
||||
else
|
||||
sprite->subpriority = 31;
|
||||
sprite->data[0] = (sprite->data[0] + 8) & 0xFF;
|
||||
sprite->data[5] += sprite->data[1];
|
||||
sprite->pos2.y += sprite->data[5] >> 8;
|
||||
sprite->y2 += sprite->data[5] >> 8;
|
||||
sprite->data[2]++;
|
||||
if (sprite->data[2] == 52)
|
||||
{
|
||||
|
||||
@@ -337,8 +337,8 @@ void AnimTask_SetUpCurseBackground(u8 taskId)
|
||||
sub_80730C0(animBgData.paletteId, animBgData.bgTilemap, 0, 0);
|
||||
AnimLoadCompressedBgGfx(animBgData.bgId, gFile_graphics_battle_anims_masks_curse_sheet, animBgData.tilesOffset);
|
||||
LoadPalette(sRgbWhite, animBgData.paletteId * 16 + 1, 2);
|
||||
gBattle_BG1_X = -gSprites[spriteId].pos1.x + 32;
|
||||
gBattle_BG1_Y = -gSprites[spriteId].pos1.y + 32;
|
||||
gBattle_BG1_X = -gSprites[spriteId].x + 32;
|
||||
gBattle_BG1_Y = -gSprites[spriteId].y + 32;
|
||||
gTasks[taskId].data[0] = newSpriteId;
|
||||
gTasks[taskId].data[6] = var0;
|
||||
gTasks[taskId].func = sub_80BAF38;
|
||||
|
||||
+2
-2
@@ -940,8 +940,8 @@ void InitLinkBattleVsScreen(u8 taskId)
|
||||
gSprites[gBattleStruct->linkBattleVsSpriteId_S].oam.tileNum += 0x40;
|
||||
gSprites[gBattleStruct->linkBattleVsSpriteId_V].data[0] = 0;
|
||||
gSprites[gBattleStruct->linkBattleVsSpriteId_S].data[0] = 1;
|
||||
gSprites[gBattleStruct->linkBattleVsSpriteId_V].data[1] = gSprites[gBattleStruct->linkBattleVsSpriteId_V].pos1.x;
|
||||
gSprites[gBattleStruct->linkBattleVsSpriteId_S].data[1] = gSprites[gBattleStruct->linkBattleVsSpriteId_S].pos1.x;
|
||||
gSprites[gBattleStruct->linkBattleVsSpriteId_V].data[1] = gSprites[gBattleStruct->linkBattleVsSpriteId_V].x;
|
||||
gSprites[gBattleStruct->linkBattleVsSpriteId_S].data[1] = gSprites[gBattleStruct->linkBattleVsSpriteId_S].x;
|
||||
gSprites[gBattleStruct->linkBattleVsSpriteId_V].data[2] = 0;
|
||||
gSprites[gBattleStruct->linkBattleVsSpriteId_S].data[2] = 0;
|
||||
}
|
||||
|
||||
@@ -278,7 +278,7 @@ static void Intro_TryShinyAnimShowHealthbox(void)
|
||||
static void TryShinyAnimAfterMonAnim(void)
|
||||
{
|
||||
if (gSprites[gBattlerSpriteIds[gActiveBattler]].animEnded == TRUE
|
||||
&& gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x == 0)
|
||||
&& gSprites[gBattlerSpriteIds[gActiveBattler]].x2 == 0)
|
||||
{
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim)
|
||||
{
|
||||
@@ -1024,7 +1024,7 @@ static void LinkOpponentHandleLoadMonSprite(void)
|
||||
GetBattlerSpriteCoord(gActiveBattler, 2),
|
||||
GetBattlerSpriteDefault_Y(gActiveBattler),
|
||||
GetBattlerSpriteSubpriority(gActiveBattler));
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = -240;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = -240;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = gActiveBattler;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler;
|
||||
StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], gBattleMonForms[gActiveBattler]);
|
||||
@@ -1161,7 +1161,7 @@ static void LinkOpponentHandleDrawTrainerPic(void)
|
||||
xPos,
|
||||
(8 - gTrainerFrontPicCoords[trainerPicId].size) * 4 + 40,
|
||||
GetBattlerSpriteSubpriority(gActiveBattler));
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = -240;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = -240;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 2;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag);
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[5] = gSprites[gBattlerSpriteIds[gActiveBattler]].oam.tileNum;
|
||||
@@ -1181,7 +1181,7 @@ static void LinkOpponentHandleTrainerSlideBack(void)
|
||||
SetSpritePrimaryCoordsFromSecondaryCoords(&gSprites[gBattlerSpriteIds[gActiveBattler]]);
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 280;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].y;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
|
||||
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCallbackDummy);
|
||||
gBattlerControllerFuncs[gActiveBattler] = FreeTrainerSpriteAfterSlide;
|
||||
@@ -1530,7 +1530,7 @@ static void LinkOpponentHandleIntroTrainerBallThrow(void)
|
||||
SetSpritePrimaryCoordsFromSecondaryCoords(&gSprites[gBattlerSpriteIds[gActiveBattler]]);
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 280;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].y;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
|
||||
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCB_FreeOpponentSprite);
|
||||
taskId = CreateTask(Task_StartSendOutAnim, 5);
|
||||
|
||||
@@ -243,7 +243,7 @@ static void Intro_ShowHealthbox(void)
|
||||
|
||||
static void WaitForMonAnimAfterLoad(void)
|
||||
{
|
||||
if (gSprites[gBattlerSpriteIds[gActiveBattler]].animEnded && gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x == 0)
|
||||
if (gSprites[gBattlerSpriteIds[gActiveBattler]].animEnded && gSprites[gBattlerSpriteIds[gActiveBattler]].x2 == 0)
|
||||
LinkPartnerBufferExecCompleted();
|
||||
}
|
||||
|
||||
@@ -265,7 +265,7 @@ static void CompleteOnHealthbarDone(void)
|
||||
|
||||
static void FreeMonSpriteAfterFaintAnim(void)
|
||||
{
|
||||
if (gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y + gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.y > DISPLAY_HEIGHT)
|
||||
if (gSprites[gBattlerSpriteIds[gActiveBattler]].y + gSprites[gBattlerSpriteIds[gActiveBattler]].y2 > DISPLAY_HEIGHT)
|
||||
{
|
||||
FreeOamMatrix(gSprites[gBattlerSpriteIds[gActiveBattler]].oam.matrixNum);
|
||||
DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]);
|
||||
@@ -981,7 +981,7 @@ static void LinkPartnerHandleLoadMonSprite(void)
|
||||
GetBattlerSpriteCoord(gActiveBattler, 2),
|
||||
GetBattlerSpriteDefault_Y(gActiveBattler),
|
||||
GetBattlerSpriteSubpriority(gActiveBattler));
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = -240;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = -240;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = gActiveBattler;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler;
|
||||
StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], gBattleMonForms[gActiveBattler]);
|
||||
@@ -1075,7 +1075,7 @@ static void LinkPartnerHandleDrawTrainerPic(void)
|
||||
SetMultiuseSpriteTemplateToTrainerBack(trainerPicId, GetBattlerPosition(gActiveBattler));
|
||||
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, xPos, (8 - gTrainerBackPicCoords[trainerPicId].size) * 4 + 80, GetBattlerSpriteSubpriority(gActiveBattler));
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 240;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = 240;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = -2;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = SpriteCB_TrainerSlideIn;
|
||||
gBattlerControllerFuncs[gActiveBattler] = CompleteOnBattlerSpriteCallbackDummy;
|
||||
@@ -1091,7 +1091,7 @@ static void LinkPartnerHandleTrainerSlideBack(void)
|
||||
SetSpritePrimaryCoordsFromSecondaryCoords(&gSprites[gBattlerSpriteIds[gActiveBattler]]);
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].y;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
|
||||
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCallbackDummy);
|
||||
gBattlerControllerFuncs[gActiveBattler] = FreeTrainerSpriteAfterSlide;
|
||||
@@ -1445,7 +1445,7 @@ static void LinkPartnerHandleIntroTrainerBallThrow(void)
|
||||
SetSpritePrimaryCoordsFromSecondaryCoords(&gSprites[gBattlerSpriteIds[gActiveBattler]]);
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 50;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].y;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[5] = gActiveBattler;
|
||||
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCB_FreePlayerSpriteLoadMonSprite);
|
||||
|
||||
@@ -615,7 +615,7 @@ static void DestroyExpTaskAndCompleteOnInactiveTextPrinter(u8 taskId)
|
||||
|
||||
static void FreeMonSpriteAfterFaintAnim(void)
|
||||
{
|
||||
if (gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y + gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.y > DISPLAY_HEIGHT)
|
||||
if (gSprites[gBattlerSpriteIds[gActiveBattler]].y + gSprites[gBattlerSpriteIds[gActiveBattler]].y2 > DISPLAY_HEIGHT)
|
||||
{
|
||||
FreeOamMatrix(gSprites[gBattlerSpriteIds[gActiveBattler]].oam.matrixNum);
|
||||
DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]);
|
||||
@@ -1592,7 +1592,7 @@ static void OakOldManHandleDrawTrainerPic(void)
|
||||
30);
|
||||
}
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 240;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = 240;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = -2;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = SpriteCB_TrainerSlideIn;
|
||||
gBattlerControllerFuncs[gActiveBattler] = CompleteOnBattlerSpriteCallbackDummy;
|
||||
@@ -1619,7 +1619,7 @@ static void OakOldManHandleTrainerSlide(void)
|
||||
30);
|
||||
}
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = -96;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = -96;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 2;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = SpriteCB_TrainerSlideIn;
|
||||
gBattlerControllerFuncs[gActiveBattler] = CompleteOnBattlerSpriteCallbackDummy2;
|
||||
@@ -2081,7 +2081,7 @@ static void OakOldManHandleIntroTrainerBallThrow(void)
|
||||
SetSpritePrimaryCoordsFromSecondaryCoords(&gSprites[gBattlerSpriteIds[gActiveBattler]]);
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 50;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].y;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[5] = gActiveBattler;
|
||||
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCB_FreePlayerSpriteLoadMonSprite);
|
||||
|
||||
@@ -272,7 +272,7 @@ static void Intro_TryShinyAnimShowHealthbox(void)
|
||||
static void TryShinyAnimAfterMonAnim(void)
|
||||
{
|
||||
if (gSprites[gBattlerSpriteIds[gActiveBattler]].animEnded == TRUE
|
||||
&& gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x == 0)
|
||||
&& gSprites[gBattlerSpriteIds[gActiveBattler]].x2 == 0)
|
||||
{
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim)
|
||||
{
|
||||
@@ -1038,7 +1038,7 @@ static void OpponentHandleLoadMonSprite(void)
|
||||
GetBattlerSpriteCoord(gActiveBattler, 2),
|
||||
y,
|
||||
GetBattlerSpriteSubpriority(gActiveBattler));
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = -240;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = -240;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = gActiveBattler;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = species;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler;
|
||||
@@ -1137,7 +1137,7 @@ static void OpponentHandleDrawTrainerPic(void)
|
||||
176,
|
||||
(8 - gTrainerFrontPicCoords[trainerPicId].size) * 4 + 40,
|
||||
GetBattlerSpriteSubpriority(gActiveBattler));
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = -240;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = -240;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 2;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag);
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[5] = gSprites[gBattlerSpriteIds[gActiveBattler]].oam.tileNum;
|
||||
@@ -1167,8 +1167,8 @@ static void OpponentHandleTrainerSlide(void)
|
||||
176,
|
||||
(8 - gTrainerFrontPicCoords[trainerPicId].size) * 4 + 40,
|
||||
30);
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 96;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.x += 32;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = 96;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].x += 32;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = -2;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag);
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[5] = gSprites[gBattlerSpriteIds[gActiveBattler]].oam.tileNum;
|
||||
@@ -1183,7 +1183,7 @@ static void OpponentHandleTrainerSlideBack(void)
|
||||
SetSpritePrimaryCoordsFromSecondaryCoords(&gSprites[gBattlerSpriteIds[gActiveBattler]]);
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 280;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].y;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
|
||||
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCallbackDummy);
|
||||
gBattlerControllerFuncs[gActiveBattler] = FreeTrainerSpriteAfterSlide;
|
||||
@@ -1630,7 +1630,7 @@ static void OpponentHandleIntroTrainerBallThrow(void)
|
||||
SetSpritePrimaryCoordsFromSecondaryCoords(&gSprites[gBattlerSpriteIds[gActiveBattler]]);
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 280;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].y;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
|
||||
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCB_FreeOpponentSprite);
|
||||
taskId = CreateTask(Task_StartSendOutAnim, 5);
|
||||
|
||||
@@ -211,7 +211,7 @@ static void PlayerBufferRunCommand(void)
|
||||
|
||||
static void CompleteOnBattlerSpritePosX_0(void)
|
||||
{
|
||||
if (gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x == 0)
|
||||
if (gSprites[gBattlerSpriteIds[gActiveBattler]].x2 == 0)
|
||||
PlayerBufferExecCompleted();
|
||||
}
|
||||
|
||||
@@ -1194,15 +1194,15 @@ static void Task_CreateLevelUpVerticalStripes(u8 taskId)
|
||||
{
|
||||
data[14] = gBattle_BG1_X;
|
||||
data[13] = gBattle_BG1_Y;
|
||||
gBattle_BG1_X = -(sprite->pos1.x + sprite->pos2.x) + 32;
|
||||
gBattle_BG1_Y = -(sprite->pos1.y + sprite->pos2.y) + 32;
|
||||
gBattle_BG1_X = -(sprite->x + sprite->x2) + 32;
|
||||
gBattle_BG1_Y = -(sprite->y + sprite->y2) + 32;
|
||||
}
|
||||
else
|
||||
{
|
||||
data[14] = gBattle_BG2_X;
|
||||
data[13] = gBattle_BG2_Y;
|
||||
gBattle_BG2_X = -(sprite->pos1.x + sprite->pos2.x) + 32;
|
||||
gBattle_BG2_Y = -(sprite->pos1.y + sprite->pos2.y) + 32;
|
||||
gBattle_BG2_X = -(sprite->x + sprite->x2) + 32;
|
||||
gBattle_BG2_Y = -(sprite->y + sprite->y2) + 32;
|
||||
}
|
||||
++data[15];
|
||||
}
|
||||
@@ -1219,8 +1219,8 @@ static void Task_CreateLevelUpVerticalStripes(u8 taskId)
|
||||
case 2:
|
||||
PlaySE(SE_RS_SHOP);
|
||||
if (IsMonGettingExpSentOut())
|
||||
CreateLevelUpVerticalSpritesTask(sprite->pos1.x + sprite->pos2.x,
|
||||
sprite->pos1.y + sprite->pos2.y,
|
||||
CreateLevelUpVerticalSpritesTask(sprite->x + sprite->x2,
|
||||
sprite->y + sprite->y2,
|
||||
10000,
|
||||
10000,
|
||||
1,
|
||||
@@ -1260,7 +1260,7 @@ static void Task_CreateLevelUpVerticalStripes(u8 taskId)
|
||||
|
||||
static void FreeMonSpriteAfterFaintAnim(void)
|
||||
{
|
||||
if (gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y + gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.y > DISPLAY_HEIGHT)
|
||||
if (gSprites[gBattlerSpriteIds[gActiveBattler]].y + gSprites[gBattlerSpriteIds[gActiveBattler]].y2 > DISPLAY_HEIGHT)
|
||||
{
|
||||
FreeOamMatrix(gSprites[gBattlerSpriteIds[gActiveBattler]].oam.matrixNum);
|
||||
DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]);
|
||||
@@ -2190,7 +2190,7 @@ static void PlayerHandleDrawTrainerPic(void)
|
||||
(8 - gTrainerBackPicCoords[trainerPicId].size) * 4 + 80,
|
||||
GetBattlerSpriteSubpriority(gActiveBattler));
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 240;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = 240;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = -2;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = SpriteCB_TrainerSlideIn;
|
||||
gBattlerControllerFuncs[gActiveBattler] = CompleteOnBattlerSpriteCallbackDummy;
|
||||
@@ -2220,7 +2220,7 @@ static void PlayerHandleTrainerSlide(void)
|
||||
(8 - gTrainerBackPicCoords[trainerPicId].size) * 4 + 80,
|
||||
30);
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = -96;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = -96;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 2;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = SpriteCB_TrainerSlideIn;
|
||||
gBattlerControllerFuncs[gActiveBattler] = CompleteOnBattlerSpriteCallbackDummy2;
|
||||
@@ -2231,7 +2231,7 @@ static void PlayerHandleTrainerSlideBack(void)
|
||||
SetSpritePrimaryCoordsFromSecondaryCoords(&gSprites[gBattlerSpriteIds[gActiveBattler]]);
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 50;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].y;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
|
||||
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCallbackDummy);
|
||||
StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 1);
|
||||
@@ -2706,7 +2706,7 @@ static void PlayerHandleIntroTrainerBallThrow(void)
|
||||
SetSpritePrimaryCoordsFromSecondaryCoords(&gSprites[gBattlerSpriteIds[gActiveBattler]]);
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 50;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].y;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = PlayerThrowBall_StartAnimLinearTranslation;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[5] = gActiveBattler;
|
||||
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCB_FreePlayerSpriteLoadMonSprite);
|
||||
|
||||
@@ -231,7 +231,7 @@ static void CompleteOnBattlerSpriteCallbackDummy(void)
|
||||
static void CompleteOnBattlerSpritePosX_0(void)
|
||||
{
|
||||
if (gSprites[gBattlerSpriteIds[gActiveBattler]].animEnded == TRUE
|
||||
&& gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x == 0)
|
||||
&& gSprites[gBattlerSpriteIds[gActiveBattler]].x2 == 0)
|
||||
{
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim)
|
||||
{
|
||||
@@ -598,7 +598,7 @@ static void FreeMonSpriteAfterFaintAnim(void)
|
||||
{
|
||||
if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER)
|
||||
{
|
||||
if (gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y + gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.y > DISPLAY_HEIGHT)
|
||||
if (gSprites[gBattlerSpriteIds[gActiveBattler]].y + gSprites[gBattlerSpriteIds[gActiveBattler]].y2 > DISPLAY_HEIGHT)
|
||||
{
|
||||
FreeOamMatrix(gSprites[gBattlerSpriteIds[gActiveBattler]].oam.matrixNum);
|
||||
DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]);
|
||||
@@ -1310,7 +1310,7 @@ static void PokedudeHandleLoadMonSprite(void)
|
||||
GetBattlerSpriteCoord(gActiveBattler, 2),
|
||||
y,
|
||||
GetBattlerSpriteSubpriority(gActiveBattler));
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = -240;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = -240;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = gActiveBattler;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = species;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler;
|
||||
@@ -1357,7 +1357,7 @@ static void PokedudeHandleDrawTrainerPic(void)
|
||||
80,
|
||||
(8 - gTrainerBackPicCoords[BACK_PIC_POKEDUDE].size) * 4 + 80,
|
||||
30);
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 240;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = 240;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = -2;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = SpriteCB_TrainerSlideIn;
|
||||
@@ -1371,7 +1371,7 @@ static void PokedudeHandleDrawTrainerPic(void)
|
||||
176,
|
||||
(8 - gTrainerFrontPicCoords[tranerPicid].size) * 4 + 40,
|
||||
GetBattlerSpriteSubpriority(gActiveBattler));
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = -240;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = -240;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 2;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[tranerPicid].tag);
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[5] = gSprites[gBattlerSpriteIds[gActiveBattler]].oam.tileNum;
|
||||
@@ -1391,7 +1391,7 @@ static void PokedudeHandleTrainerSlide(void)
|
||||
(8 - gTrainerBackPicCoords[BACK_PIC_POKEDUDE].size) * 4 + 80,
|
||||
30);
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = -96;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = -96;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 2;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = SpriteCB_TrainerSlideIn;
|
||||
gBattlerControllerFuncs[gActiveBattler] = CompleteOnBattlerSpriteCallbackDummy2;
|
||||
@@ -1853,7 +1853,7 @@ static void PokedudeHandleIntroTrainerBallThrow(void)
|
||||
SetSpritePrimaryCoordsFromSecondaryCoords(&gSprites[gBattlerSpriteIds[gActiveBattler]]);
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 50;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].y;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[5] = gActiveBattler;
|
||||
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCB_FreePlayerSpriteLoadMonSprite);
|
||||
|
||||
@@ -346,7 +346,7 @@ static void SafariHandleDrawTrainerPic(void)
|
||||
(8 - gTrainerBackPicCoords[gSaveBlock2Ptr->playerGender].size) * 4 + 80,
|
||||
30);
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 240;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = 240;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = -2;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = SpriteCB_TrainerSlideIn;
|
||||
gBattlerControllerFuncs[gActiveBattler] = CompleteOnBattlerSpriteCallbackDummy;
|
||||
|
||||
@@ -162,8 +162,8 @@ void SpriteCB_TrainerSlideIn(struct Sprite *sprite)
|
||||
{
|
||||
if (!(gIntroSlideFlags & 1))
|
||||
{
|
||||
sprite->pos2.x += sprite->data[0];
|
||||
if (sprite->pos2.x == 0)
|
||||
sprite->x2 += sprite->data[0];
|
||||
if (sprite->x2 == 0)
|
||||
sprite->callback = SpriteCallbackDummy;
|
||||
}
|
||||
}
|
||||
@@ -682,7 +682,7 @@ void HandleSpeciesGfxDataChange(u8 battlerAtk, u8 battlerDef, u8 notTransform)
|
||||
LZDecompressWram(lzPaletteData, buffer);
|
||||
LoadPalette(buffer, paletteOffset, 32);
|
||||
Free(buffer);
|
||||
gSprites[gBattlerSpriteIds[battlerAtk]].pos1.y = GetBattlerSpriteDefault_Y(battlerAtk);
|
||||
gSprites[gBattlerSpriteIds[battlerAtk]].y = GetBattlerSpriteDefault_Y(battlerAtk);
|
||||
StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerAtk]], gBattleMonForms[battlerAtk]);
|
||||
SetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerAtk]], MON_DATA_NICKNAME, gSpeciesNames[targetSpecies]);
|
||||
UpdateNickInHealthbox(gHealthboxSpriteIds[battlerAtk], &gEnemyParty[gBattlerPartyIndexes[battlerAtk]]);
|
||||
@@ -699,7 +699,7 @@ void HandleSpeciesGfxDataChange(u8 battlerAtk, u8 battlerDef, u8 notTransform)
|
||||
BlendPalette(paletteOffset, 16, 6, RGB_WHITE);
|
||||
CpuCopy32(gPlttBufferFaded + paletteOffset, gPlttBufferUnfaded + paletteOffset, 32);
|
||||
}
|
||||
gSprites[gBattlerSpriteIds[battlerAtk]].pos1.y = GetBattlerSpriteDefault_Y(battlerAtk);
|
||||
gSprites[gBattlerSpriteIds[battlerAtk]].y = GetBattlerSpriteDefault_Y(battlerAtk);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -749,7 +749,7 @@ void HandleSpeciesGfxDataChange(u8 battlerAtk, u8 battlerDef, u8 notTransform)
|
||||
CpuCopy32(gPlttBufferFaded + paletteOffset, gPlttBufferUnfaded + paletteOffset, 32);
|
||||
gBattleSpritesDataPtr->battlerData[battlerAtk].transformSpecies = targetSpecies;
|
||||
gBattleMonForms[battlerAtk] = gBattleMonForms[battlerDef];
|
||||
gSprites[gBattlerSpriteIds[battlerAtk]].pos1.y = GetBattlerSpriteDefault_Y(battlerAtk);
|
||||
gSprites[gBattlerSpriteIds[battlerAtk]].y = GetBattlerSpriteDefault_Y(battlerAtk);
|
||||
StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerAtk]], gBattleMonForms[battlerAtk]);
|
||||
}
|
||||
}
|
||||
@@ -792,9 +792,9 @@ void LoadBattleMonGfxAndAnimate(u8 battlerId, bool8 loadMonSprite, u8 spriteId)
|
||||
BattleLoadSubstituteOrMonSpriteGfx(battlerId, loadMonSprite);
|
||||
StartSpriteAnim(&gSprites[spriteId], gBattleMonForms[battlerId]);
|
||||
if (!loadMonSprite)
|
||||
gSprites[spriteId].pos1.y = GetSubstituteSpriteDefault_Y(battlerId);
|
||||
gSprites[spriteId].y = GetSubstituteSpriteDefault_Y(battlerId);
|
||||
else
|
||||
gSprites[spriteId].pos1.y = GetBattlerSpriteDefault_Y(battlerId);
|
||||
gSprites[spriteId].y = GetBattlerSpriteDefault_Y(battlerId);
|
||||
}
|
||||
|
||||
void TrySetBehindSubstituteSpriteBit(u8 battlerId, u16 move)
|
||||
@@ -923,8 +923,8 @@ static void SpriteCB_EnemyShadow(struct Sprite *shadowSprite)
|
||||
invisible = TRUE;
|
||||
if (gBattleSpritesDataPtr->battlerData[battlerId].behindSubstitute)
|
||||
invisible = TRUE;
|
||||
shadowSprite->pos1.x = battlerSprite->pos1.x;
|
||||
shadowSprite->pos2.x = battlerSprite->pos2.x;
|
||||
shadowSprite->x = battlerSprite->x;
|
||||
shadowSprite->x2 = battlerSprite->x2;
|
||||
shadowSprite->invisible = invisible;
|
||||
}
|
||||
|
||||
|
||||
+40
-40
@@ -610,32 +610,32 @@ static void SpriteCB_HealthBar(struct Sprite *sprite)
|
||||
switch (sprite->data[6])
|
||||
{
|
||||
case 0:
|
||||
sprite->pos1.x = gSprites[r5].pos1.x + 16;
|
||||
sprite->pos1.y = gSprites[r5].pos1.y;
|
||||
sprite->x = gSprites[r5].x + 16;
|
||||
sprite->y = gSprites[r5].y;
|
||||
break;
|
||||
case 1:
|
||||
sprite->pos1.x = gSprites[r5].pos1.x + 16;
|
||||
sprite->pos1.y = gSprites[r5].pos1.y;
|
||||
sprite->x = gSprites[r5].x + 16;
|
||||
sprite->y = gSprites[r5].y;
|
||||
break;
|
||||
default:
|
||||
case 2:
|
||||
sprite->pos1.x = gSprites[r5].pos1.x + 8;
|
||||
sprite->pos1.y = gSprites[r5].pos1.y;
|
||||
sprite->x = gSprites[r5].x + 8;
|
||||
sprite->y = gSprites[r5].y;
|
||||
break;
|
||||
}
|
||||
sprite->pos2.x = gSprites[r5].pos2.x;
|
||||
sprite->pos2.y = gSprites[r5].pos2.y;
|
||||
sprite->x2 = gSprites[r5].x2;
|
||||
sprite->y2 = gSprites[r5].y2;
|
||||
}
|
||||
|
||||
static void SpriteCB_HealthBoxOther(struct Sprite *sprite)
|
||||
{
|
||||
u8 healthboxMainSpriteId = sprite->hOther_HealthBoxSpriteId;
|
||||
|
||||
sprite->pos1.x = gSprites[healthboxMainSpriteId].pos1.x + 64;
|
||||
sprite->pos1.y = gSprites[healthboxMainSpriteId].pos1.y;
|
||||
sprite->x = gSprites[healthboxMainSpriteId].x + 64;
|
||||
sprite->y = gSprites[healthboxMainSpriteId].y;
|
||||
|
||||
sprite->pos2.x = gSprites[healthboxMainSpriteId].pos2.x;
|
||||
sprite->pos2.y = gSprites[healthboxMainSpriteId].pos2.y;
|
||||
sprite->x2 = gSprites[healthboxMainSpriteId].x2;
|
||||
sprite->y2 = gSprites[healthboxMainSpriteId].y2;
|
||||
}
|
||||
|
||||
void SetBattleBarStruct(u8 battlerId, u8 healthboxSpriteId, s32 maxVal, s32 oldVal, s32 receivedValue)
|
||||
@@ -663,8 +663,8 @@ void SetHealthboxSpriteVisible(u8 healthboxSpriteId)
|
||||
|
||||
static void UpdateSpritePos(u8 spriteId, s16 x, s16 y)
|
||||
{
|
||||
gSprites[spriteId].pos1.x = x;
|
||||
gSprites[spriteId].pos1.y = y;
|
||||
gSprites[spriteId].x = x;
|
||||
gSprites[spriteId].y = y;
|
||||
}
|
||||
|
||||
void DestoryHealthboxSprite(u8 healthboxSpriteId)
|
||||
@@ -1087,17 +1087,17 @@ u8 CreatePartyStatusSummarySprites(u8 battlerId, struct HpAndStatus *partyInfo,
|
||||
|
||||
summaryBarSpriteId = CreateSprite(&sStatusSummaryBarSpriteTemplates[isOpponent], bar_X, bar_Y, 10);
|
||||
SetSubspriteTables(&gSprites[summaryBarSpriteId], sStatusSummaryBar_SubspriteTable);
|
||||
gSprites[summaryBarSpriteId].pos2.x = bar_pos2_X;
|
||||
gSprites[summaryBarSpriteId].x2 = bar_pos2_X;
|
||||
gSprites[summaryBarSpriteId].data[0] = bar_data0;
|
||||
|
||||
if (isOpponent)
|
||||
{
|
||||
gSprites[summaryBarSpriteId].pos1.x -= 96;
|
||||
gSprites[summaryBarSpriteId].x -= 96;
|
||||
gSprites[summaryBarSpriteId].oam.matrixNum = ST_OAM_HFLIP;
|
||||
}
|
||||
else
|
||||
{
|
||||
gSprites[summaryBarSpriteId].pos1.x += 96;
|
||||
gSprites[summaryBarSpriteId].x += 96;
|
||||
}
|
||||
|
||||
for (i = 0; i < PARTY_SIZE; i++)
|
||||
@@ -1109,23 +1109,23 @@ u8 CreatePartyStatusSummarySprites(u8 battlerId, struct HpAndStatus *partyInfo,
|
||||
|
||||
if (!isOpponent)
|
||||
{
|
||||
gSprites[ballIconSpritesIds[i]].pos2.x = 0;
|
||||
gSprites[ballIconSpritesIds[i]].pos2.y = 0;
|
||||
gSprites[ballIconSpritesIds[i]].x2 = 0;
|
||||
gSprites[ballIconSpritesIds[i]].y2 = 0;
|
||||
}
|
||||
|
||||
gSprites[ballIconSpritesIds[i]].data[0] = summaryBarSpriteId;
|
||||
|
||||
if (!isOpponent)
|
||||
{
|
||||
gSprites[ballIconSpritesIds[i]].pos1.x += 10 * i + 24;
|
||||
gSprites[ballIconSpritesIds[i]].x += 10 * i + 24;
|
||||
gSprites[ballIconSpritesIds[i]].data[1] = i * 7 + 10;
|
||||
gSprites[ballIconSpritesIds[i]].pos2.x = 120;
|
||||
gSprites[ballIconSpritesIds[i]].x2 = 120;
|
||||
}
|
||||
else
|
||||
{
|
||||
gSprites[ballIconSpritesIds[i]].pos1.x -= 10 * (5 - i) + 24;
|
||||
gSprites[ballIconSpritesIds[i]].x -= 10 * (5 - i) + 24;
|
||||
gSprites[ballIconSpritesIds[i]].data[1] = (6 - i) * 7 + 10;
|
||||
gSprites[ballIconSpritesIds[i]].pos2.x = -120;
|
||||
gSprites[ballIconSpritesIds[i]].x2 = -120;
|
||||
}
|
||||
|
||||
gSprites[ballIconSpritesIds[i]].data[2] = isOpponent;
|
||||
@@ -1360,17 +1360,17 @@ static void sub_804948C(u8 taskId)
|
||||
|
||||
static void SpriteCB_StatusSummaryBar(struct Sprite *sprite)
|
||||
{
|
||||
if (sprite->pos2.x != 0)
|
||||
sprite->pos2.x += sprite->data[0];
|
||||
if (sprite->x2 != 0)
|
||||
sprite->x2 += sprite->data[0];
|
||||
}
|
||||
|
||||
static void sub_8049568(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[1] += 32;
|
||||
if (sprite->data[0] > 0)
|
||||
sprite->pos2.x += sprite->data[1] >> 4;
|
||||
sprite->x2 += sprite->data[1] >> 4;
|
||||
else
|
||||
sprite->pos2.x -= sprite->data[1] >> 4;
|
||||
sprite->x2 -= sprite->data[1] >> 4;
|
||||
sprite->data[1] &= 0xF;
|
||||
}
|
||||
|
||||
@@ -1393,18 +1393,18 @@ static void SpriteCB_StatusSummaryBallsOnBattleStart(struct Sprite *sprite)
|
||||
|
||||
if (var1 != 0)
|
||||
{
|
||||
sprite->pos2.x += var2 >> 4;
|
||||
if (sprite->pos2.x > 0)
|
||||
sprite->pos2.x = 0;
|
||||
sprite->x2 += var2 >> 4;
|
||||
if (sprite->x2 > 0)
|
||||
sprite->x2 = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos2.x -= var2 >> 4;
|
||||
if (sprite->pos2.x < 0)
|
||||
sprite->pos2.x = 0;
|
||||
sprite->x2 -= var2 >> 4;
|
||||
if (sprite->x2 < 0)
|
||||
sprite->x2 = 0;
|
||||
}
|
||||
|
||||
if (sprite->pos2.x == 0)
|
||||
if (sprite->x2 == 0)
|
||||
{
|
||||
pan = SOUND_PAN_TARGET;
|
||||
if (var1 != 0)
|
||||
@@ -1434,11 +1434,11 @@ static void sub_8049630(struct Sprite *sprite)
|
||||
var2 += 56;
|
||||
sprite->data[3] = var2 & 0xFFF0;
|
||||
if (var1 != 0)
|
||||
sprite->pos2.x += var2 >> 4;
|
||||
sprite->x2 += var2 >> 4;
|
||||
else
|
||||
sprite->pos2.x -= var2 >> 4;
|
||||
if (sprite->pos2.x + sprite->pos1.x > 248
|
||||
|| sprite->pos2.x + sprite->pos1.x < -8)
|
||||
sprite->x2 -= var2 >> 4;
|
||||
if (sprite->x2 + sprite->x > 248
|
||||
|| sprite->x2 + sprite->x < -8)
|
||||
{
|
||||
sprite->invisible = TRUE;
|
||||
sprite->callback = SpriteCallbackDummy;
|
||||
@@ -1449,8 +1449,8 @@ static void SpriteCB_StatusSummaryBallsOnSwitchout(struct Sprite *sprite)
|
||||
{
|
||||
u8 barSpriteId = sprite->data[0];
|
||||
|
||||
sprite->pos2.x = gSprites[barSpriteId].pos2.x;
|
||||
sprite->pos2.y = gSprites[barSpriteId].pos2.y;
|
||||
sprite->x2 = gSprites[barSpriteId].x2;
|
||||
sprite->y2 = gSprites[barSpriteId].y2;
|
||||
}
|
||||
|
||||
static const u8 gUnknown_8260556[] = _("{HIGHLIGHT 02}");
|
||||
|
||||
+14
-14
@@ -1642,9 +1642,9 @@ void SpriteCB_VsLetterDummy(struct Sprite *sprite)
|
||||
static void SpriteCB_VsLetter(struct Sprite *sprite)
|
||||
{
|
||||
if (sprite->data[0] != 0)
|
||||
sprite->pos1.x = sprite->data[1] + ((sprite->data[2] & 0xFF00) >> 8);
|
||||
sprite->x = sprite->data[1] + ((sprite->data[2] & 0xFF00) >> 8);
|
||||
else
|
||||
sprite->pos1.x = sprite->data[1] - ((sprite->data[2] & 0xFF00) >> 8);
|
||||
sprite->x = sprite->data[1] - ((sprite->data[2] & 0xFF00) >> 8);
|
||||
sprite->data[2] += 0x180;
|
||||
if (sprite->affineAnimEnded)
|
||||
{
|
||||
@@ -1855,8 +1855,8 @@ static void SpriteCB_MoveWildMonToRight(struct Sprite *sprite)
|
||||
{
|
||||
if ((gIntroSlideFlags & 1) == 0)
|
||||
{
|
||||
sprite->pos2.x += 2;
|
||||
if (sprite->pos2.x == 0)
|
||||
sprite->x2 += 2;
|
||||
if (sprite->x2 == 0)
|
||||
{
|
||||
sprite->callback = SpriteCB_WildMonShowHealthbox;
|
||||
PlayCry1(sprite->data[2], 25);
|
||||
@@ -1953,7 +1953,7 @@ static void SpriteCB_AnimFaintOpponent(struct Sprite *sprite)
|
||||
if (--sprite->data[4] == 0)
|
||||
{
|
||||
sprite->data[4] = 2;
|
||||
sprite->pos2.y += 8; // Move the sprite down.
|
||||
sprite->y2 += 8; // Move the sprite down.
|
||||
if (--sprite->data[3] < 0)
|
||||
{
|
||||
FreeSpriteOamMatrix(sprite);
|
||||
@@ -2003,8 +2003,8 @@ static void oac_poke_ally_(struct Sprite *sprite)
|
||||
{
|
||||
if (!(gIntroSlideFlags & 1))
|
||||
{
|
||||
sprite->pos2.x -= 2;
|
||||
if (sprite->pos2.x == 0)
|
||||
sprite->x2 -= 2;
|
||||
if (sprite->x2 == 0)
|
||||
{
|
||||
sprite->callback = SpriteCallbackDummy3;
|
||||
sprite->data[1] = 0;
|
||||
@@ -2025,8 +2025,8 @@ void SpriteCB_FaintSlideAnim(struct Sprite *sprite)
|
||||
{
|
||||
if (!(gIntroSlideFlags & 1))
|
||||
{
|
||||
sprite->pos2.x += sprite->data[1];
|
||||
sprite->pos2.y += sprite->data[2];
|
||||
sprite->x2 += sprite->data[1];
|
||||
sprite->y2 += sprite->data[2];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2072,8 +2072,8 @@ void DoBounceEffect(u8 battler, u8 which, s8 delta, s8 amplitude)
|
||||
gSprites[invisibleSpriteId].sAmplitude = amplitude;
|
||||
gSprites[invisibleSpriteId].sBouncerSpriteId = bouncerSpriteId;
|
||||
gSprites[invisibleSpriteId].sWhich = which;
|
||||
gSprites[bouncerSpriteId].pos2.x = 0;
|
||||
gSprites[bouncerSpriteId].pos2.y = 0;
|
||||
gSprites[bouncerSpriteId].x2 = 0;
|
||||
gSprites[bouncerSpriteId].y2 = 0;
|
||||
}
|
||||
|
||||
void EndBounceEffect(u8 battler, u8 which)
|
||||
@@ -2098,8 +2098,8 @@ void EndBounceEffect(u8 battler, u8 which)
|
||||
DestroySprite(&gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].battlerBounceSpriteId]);
|
||||
gBattleSpritesDataPtr->healthBoxesData[battler].battlerIsBouncing = 0;
|
||||
}
|
||||
gSprites[bouncerSpriteId].pos2.x = 0;
|
||||
gSprites[bouncerSpriteId].pos2.y = 0;
|
||||
gSprites[bouncerSpriteId].x2 = 0;
|
||||
gSprites[bouncerSpriteId].y2 = 0;
|
||||
}
|
||||
|
||||
static void SpriteCB_BounceEffect(struct Sprite *sprite)
|
||||
@@ -2111,7 +2111,7 @@ static void SpriteCB_BounceEffect(struct Sprite *sprite)
|
||||
index = sprite->sSinIndex;
|
||||
else
|
||||
index = sprite->sSinIndex;
|
||||
gSprites[bouncerSpriteId].pos2.y = Sin(index, sprite->sAmplitude) + sprite->sAmplitude;
|
||||
gSprites[bouncerSpriteId].y2 = Sin(index, sprite->sAmplitude) + sprite->sAmplitude;
|
||||
sprite->sSinIndex = (sprite->sSinIndex + sprite->sDelta) & 0xFF;
|
||||
}
|
||||
|
||||
|
||||
@@ -5709,8 +5709,8 @@ static void PutMonIconOnLvlUpBox(void)
|
||||
|
||||
static void SpriteCB_MonIconOnLvlUpBox(struct Sprite* sprite)
|
||||
{
|
||||
sprite->pos2.x = sprite->sSavedLvlUpBoxXPosition - gBattle_BG2_X;
|
||||
if (sprite->pos2.x != 0)
|
||||
sprite->x2 = sprite->sSavedLvlUpBoxXPosition - gBattle_BG2_X;
|
||||
if (sprite->x2 != 0)
|
||||
{
|
||||
sprite->sDestroy = TRUE;
|
||||
}
|
||||
|
||||
+20
-20
@@ -1102,10 +1102,10 @@ static void SpriteCB_BT_Phase2SlidingPokeballs(struct Sprite *sprite)
|
||||
}
|
||||
else
|
||||
{
|
||||
if ((u16)sprite->pos1.x <= 240)
|
||||
if ((u16)sprite->x <= 240)
|
||||
{
|
||||
s16 posX = sprite->pos1.x >> 3;
|
||||
s16 posY = sprite->pos1.y >> 3;
|
||||
s16 posX = sprite->x >> 3;
|
||||
s16 posY = sprite->y >> 3;
|
||||
|
||||
if (posX != sprite->data[2])
|
||||
{
|
||||
@@ -1119,8 +1119,8 @@ static void SpriteCB_BT_Phase2SlidingPokeballs(struct Sprite *sprite)
|
||||
SOME_VRAM_STORE(ptr, posY + 1, posX, 0xF001);
|
||||
}
|
||||
}
|
||||
sprite->pos1.x += arr0[sprite->data[0]];
|
||||
if (sprite->pos1.x < -15 || sprite->pos1.x > 255)
|
||||
sprite->x += arr0[sprite->data[0]];
|
||||
if (sprite->x < -15 || sprite->x > 255)
|
||||
FieldEffectStop(sprite, FLDEFF_POKEBALL);
|
||||
}
|
||||
}
|
||||
@@ -2093,10 +2093,10 @@ static bool8 BT_Phase2MugshotsSpriteFuncs_InitParams(struct Sprite *sprite)
|
||||
|
||||
static bool8 BT_Phase2MugshotsSpriteFuncs_SlideSpriteIn(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x += sprite->spSpeed;
|
||||
if (sprite->spOpponentOrPlayer && sprite->pos1.x < 133)
|
||||
sprite->x += sprite->spSpeed;
|
||||
if (sprite->spOpponentOrPlayer && sprite->x < 133)
|
||||
++sprite->spState;
|
||||
else if (!sprite->spOpponentOrPlayer && sprite->pos1.x > 103)
|
||||
else if (!sprite->spOpponentOrPlayer && sprite->x > 103)
|
||||
++sprite->spState;
|
||||
return FALSE;
|
||||
}
|
||||
@@ -2104,7 +2104,7 @@ static bool8 BT_Phase2MugshotsSpriteFuncs_SlideSpriteIn(struct Sprite *sprite)
|
||||
static bool8 BT_Phase2MugshotsSpriteFuncs_DecelerateSprite(struct Sprite *sprite)
|
||||
{
|
||||
sprite->spSpeed += sprite->spAbsAcc;
|
||||
sprite->pos1.x += sprite->spSpeed;
|
||||
sprite->x += sprite->spSpeed;
|
||||
if (sprite->spSpeed == 0)
|
||||
{
|
||||
++sprite->spState;
|
||||
@@ -2118,8 +2118,8 @@ static bool8 BT_Phase2MugshotsSpriteFuncs_DecelerateSprite(struct Sprite *sprite
|
||||
static bool8 BT_Phase2MugshotsSpriteFuncs_DecelerateSprite2(struct Sprite *sprite)
|
||||
{
|
||||
sprite->spSpeed += sprite->spAbsAcc;
|
||||
sprite->pos1.x += sprite->spSpeed;
|
||||
if (sprite->pos1.x < -31 || sprite->pos1.x > 271)
|
||||
sprite->x += sprite->spSpeed;
|
||||
if (sprite->x < -31 || sprite->x > 271)
|
||||
++sprite->spState;
|
||||
return FALSE;
|
||||
}
|
||||
@@ -2296,8 +2296,8 @@ static bool8 BT_Phase2WhiteFadeInStripes_SetupSprites(struct Task *task)
|
||||
for (i = 0, posY = 0; i < 6; ++i, posY += 0x1B)
|
||||
{
|
||||
sprite = &gSprites[CreateInvisibleSprite(SpriteCB_BT_Phase2WhiteFadeInStripes)];
|
||||
sprite->pos1.x = 0xF0;
|
||||
sprite->pos1.y = posY;
|
||||
sprite->x = 0xF0;
|
||||
sprite->y = posY;
|
||||
sprite->spDelay = buffer[i];
|
||||
}
|
||||
++sprite->spLastSprite;
|
||||
@@ -2389,21 +2389,21 @@ static void SpriteCB_BT_Phase2WhiteFadeInStripes(struct Sprite *sprite)
|
||||
else
|
||||
{
|
||||
u16 i;
|
||||
u16 *bldY = &gScanlineEffectRegBuffers[0][sprite->pos1.y];
|
||||
u16 *win0H = &gScanlineEffectRegBuffers[0][sprite->pos1.y + 160];
|
||||
u16 *bldY = &gScanlineEffectRegBuffers[0][sprite->y];
|
||||
u16 *win0H = &gScanlineEffectRegBuffers[0][sprite->y + 160];
|
||||
u32 stripeWidth = sprite->spLastSprite ? 0x19 : 0x1B;
|
||||
|
||||
for (i = 0; i < stripeWidth; ++i)
|
||||
{
|
||||
bldY[i] = sprite->spBldyCounter >> 8;
|
||||
win0H[i] = (u8)(sprite->pos1.x);
|
||||
win0H[i] = (u8)(sprite->x);
|
||||
}
|
||||
if (sprite->pos1.x == 0 && sprite->spBldyCounter == 0x1000)
|
||||
if (sprite->x == 0 && sprite->spBldyCounter == 0x1000)
|
||||
sprite->spFinished = 1;
|
||||
sprite->pos1.x -= 24;
|
||||
sprite->x -= 24;
|
||||
sprite->spBldyCounter += 192;
|
||||
if (sprite->pos1.x < 0)
|
||||
sprite->pos1.x = 0;
|
||||
if (sprite->x < 0)
|
||||
sprite->x = 0;
|
||||
if (sprite->spBldyCounter > 0x1000)
|
||||
sprite->spBldyCounter = 0x1000;
|
||||
if (sprite->spLastSprite)
|
||||
|
||||
+27
-27
@@ -2700,8 +2700,8 @@ static void CreateBerrySprites(struct BerryCrushGame * game, struct BerryCrushGa
|
||||
spritesManager->berrySprites[i] = &gSprites[spriteId];
|
||||
spritesManager->berrySprites[i]->oam.priority = 3;
|
||||
spritesManager->berrySprites[i]->affineAnimPaused = TRUE;
|
||||
spritesManager->berrySprites[i]->pos1.x = spritesManager->playerCoords[i]->berryXOffset + 120;
|
||||
spritesManager->berrySprites[i]->pos1.y = -16;
|
||||
spritesManager->berrySprites[i]->x = spritesManager->playerCoords[i]->berryXOffset + 120;
|
||||
spritesManager->berrySprites[i]->y = -16;
|
||||
data = spritesManager->berrySprites[i]->data;
|
||||
speed = Q_8_8(2.0);
|
||||
sYSpeed = speed;
|
||||
@@ -2717,7 +2717,7 @@ static void CreateBerrySprites(struct BerryCrushGame * game, struct BerryCrushGa
|
||||
var2 = speed + Q_8_8(0.125);
|
||||
var2 = var2 / 2; // go from Q8.8 to Q9.7
|
||||
var1 = Q_N_S_div(7, Q_N_S(7, 127), var2);
|
||||
sX = Q_N_S(7, (u16)spritesManager->berrySprites[i]->pos1.x);
|
||||
sX = Q_N_S(7, (u16)spritesManager->berrySprites[i]->x);
|
||||
sXSpeed = Q_N_S_div(7, distance, var1);
|
||||
var1 = Q_N_S_mul(7, var1, Q_N_S(7, 0.666666667));
|
||||
sSinIdx = 0;
|
||||
@@ -2733,21 +2733,21 @@ static void SpriteCB_DropBerryIntoCrusher(struct Sprite * sprite)
|
||||
s16 *data = sprite->data;
|
||||
|
||||
sYSpeed += sYAccel;
|
||||
sprite->pos2.y += Q_8_8_TO_INT(sYSpeed);
|
||||
sprite->y2 += Q_8_8_TO_INT(sYSpeed);
|
||||
if (sBitfield & F_MOVE_HORIZ)
|
||||
{
|
||||
sprite->sX += sXSpeed;
|
||||
sSinIdx += sSinSpeed;
|
||||
sprite->pos2.x = Sin(Q_N_S_TO_INT(7, sSinIdx), sAmplitude);
|
||||
sprite->x2 = Sin(Q_N_S_TO_INT(7, sSinIdx), sAmplitude);
|
||||
if ((sBitfield & F_MOVE_HORIZ) && Q_N_S_TO_INT(7, sSinIdx) > 126)
|
||||
{
|
||||
sprite->pos2.x = 0;
|
||||
sprite->x2 = 0;
|
||||
sBitfield &= MASK_TARGET_Y;
|
||||
}
|
||||
}
|
||||
|
||||
sprite->pos1.x = Q_N_S_TO_INT(7, sX);
|
||||
if (sprite->pos1.y + sprite->pos2.y >= (sBitfield & MASK_TARGET_Y))
|
||||
sprite->x = Q_N_S_TO_INT(7, sX);
|
||||
if (sprite->y + sprite->y2 >= (sBitfield & MASK_TARGET_Y))
|
||||
{
|
||||
sprite->callback = SpriteCallbackDummy;
|
||||
FreeSpriteOamMatrix(sprite);
|
||||
@@ -2800,8 +2800,8 @@ static void UpdateInputEffects(struct BerryCrushGame * game, struct BerryCrushGa
|
||||
|
||||
gfx->impactSprites[i]->invisible = FALSE;
|
||||
gfx->impactSprites[i]->animPaused = FALSE;
|
||||
gfx->impactSprites[i]->pos2.x = sImpactCoords[(flags % (NELEMS(sImpactCoords) + 1)) - 1][0];
|
||||
gfx->impactSprites[i]->pos2.y = sImpactCoords[(flags % (NELEMS(sImpactCoords) + 1)) - 1][1];
|
||||
gfx->impactSprites[i]->x2 = sImpactCoords[(flags % (NELEMS(sImpactCoords) + 1)) - 1][0];
|
||||
gfx->impactSprites[i]->y2 = sImpactCoords[(flags % (NELEMS(sImpactCoords) + 1)) - 1][1];
|
||||
#undef flags
|
||||
}
|
||||
}
|
||||
@@ -2820,10 +2820,10 @@ static void UpdateInputEffects(struct BerryCrushGame * game, struct BerryCrushGa
|
||||
if (gfx->sparkleSprites[i]->invisible)
|
||||
{
|
||||
gfx->sparkleSprites[i]->callback = SpriteCB_Sparkle_Init;
|
||||
gfx->sparkleSprites[i]->pos1.x = sSparkleCoords[i][0] + 120;
|
||||
gfx->sparkleSprites[i]->pos1.y = sSparkleCoords[i][1] + 136 - (yModifier * 4);
|
||||
gfx->sparkleSprites[i]->pos2.x = sSparkleCoords[i][0] + (sSparkleCoords[i][0] / (xModifier * 4));
|
||||
gfx->sparkleSprites[i]->pos2.y = sSparkleCoords[i][1];
|
||||
gfx->sparkleSprites[i]->x = sSparkleCoords[i][0] + 120;
|
||||
gfx->sparkleSprites[i]->y = sSparkleCoords[i][1] + 136 - (yModifier * 4);
|
||||
gfx->sparkleSprites[i]->x2 = sSparkleCoords[i][0] + (sSparkleCoords[i][0] / (xModifier * 4));
|
||||
gfx->sparkleSprites[i]->y2 = sSparkleCoords[i][1];
|
||||
if (linkState->bigSparkle)
|
||||
StartSpriteAnim(gfx->sparkleSprites[i], 1);
|
||||
else
|
||||
@@ -3403,8 +3403,8 @@ static void SpriteCB_Sparkle_End(struct Sprite * sprite)
|
||||
|
||||
for (; r1 < NELEMS(sprite->data); ++r1)
|
||||
sprite->data[r1] = 0;
|
||||
sprite->pos2.x = 0;
|
||||
sprite->pos2.y = 0;
|
||||
sprite->x2 = 0;
|
||||
sprite->y2 = 0;
|
||||
sprite->invisible = TRUE;
|
||||
sprite->animPaused = TRUE;
|
||||
sprite->callback = r5;
|
||||
@@ -3430,20 +3430,20 @@ static void SpriteCB_Sparkle(struct Sprite * sprite)
|
||||
s16 *data = sprite->data;
|
||||
|
||||
sYSpeed += sYAccel;
|
||||
sprite->pos2.y += Q_8_8_TO_INT(sYSpeed);
|
||||
sprite->y2 += Q_8_8_TO_INT(sYSpeed);
|
||||
if (sBitfield & F_MOVE_HORIZ)
|
||||
{
|
||||
sprite->sX += sXSpeed;
|
||||
sSinIdx += sSinSpeed;
|
||||
sprite->pos2.x = Sin(Q_N_S_TO_INT(7, sSinIdx), sAmplitude);
|
||||
sprite->x2 = Sin(Q_N_S_TO_INT(7, sSinIdx), sAmplitude);
|
||||
if ((sBitfield & F_MOVE_HORIZ) && Q_N_S_TO_INT(7, sSinIdx) > 126)
|
||||
{
|
||||
sprite->pos2.x = 0;
|
||||
sprite->x2 = 0;
|
||||
sBitfield &= MASK_TARGET_Y;
|
||||
}
|
||||
}
|
||||
sprite->pos1.x = Q_N_S_TO_INT(7, sX);
|
||||
if (sprite->pos1.y + sprite->pos2.y > (sBitfield & MASK_TARGET_Y))
|
||||
sprite->x = Q_N_S_TO_INT(7, sX);
|
||||
if (sprite->y + sprite->y2 > (sBitfield & MASK_TARGET_Y))
|
||||
sprite->callback = SpriteCB_Sparkle_End;
|
||||
}
|
||||
|
||||
@@ -3460,17 +3460,17 @@ static void SpriteCB_Sparkle_Init(struct Sprite * sprite)
|
||||
sYAccel = Q_8_8(0.125);
|
||||
targetY = 168;
|
||||
sBitfield = targetY;
|
||||
xMult = Q_N_S(7, sprite->pos2.x);
|
||||
var = Q_N_S_div(7, Q_N_S(7, targetY - (u16) sprite->pos1.y), (speed + Q_8_8(0.125)) >> 1);
|
||||
sprite->sX = Q_N_S(7, (u16)sprite->pos1.x);
|
||||
xMult = Q_N_S(7, sprite->x2);
|
||||
var = Q_N_S_div(7, Q_N_S(7, targetY - (u16) sprite->y), (speed + Q_8_8(0.125)) >> 1);
|
||||
sprite->sX = Q_N_S(7, (u16)sprite->x);
|
||||
sXSpeed = Q_N_S_div(7, xMult, var);
|
||||
speed = Q_N_S_mul(7, var, Q_N_S(7, 0.666666667));
|
||||
sSinIdx = zero;
|
||||
sSinSpeed = Q_N_S_div(7, Q_N_S(7, 127), speed);
|
||||
sAmplitude = sprite->pos2.x / 4;
|
||||
sAmplitude = sprite->x2 / 4;
|
||||
sBitfield |= F_MOVE_HORIZ;
|
||||
sprite->pos2.y = zero;
|
||||
sprite->pos2.x = zero;
|
||||
sprite->y2 = zero;
|
||||
sprite->x2 = zero;
|
||||
sprite->callback = SpriteCB_Sparkle;
|
||||
sprite->animPaused = FALSE;
|
||||
sprite->invisible = FALSE;
|
||||
|
||||
@@ -210,8 +210,8 @@ static void AnimMegahornHorn(struct Sprite *sprite)
|
||||
gBattleAnimArgs[3] = -gBattleAnimArgs[3];
|
||||
gBattleAnimArgs[0] = -gBattleAnimArgs[0];
|
||||
}
|
||||
sprite->pos1.x = GetBattlerSpriteCoord2(gBattleAnimTarget, 2) + gBattleAnimArgs[0];
|
||||
sprite->pos1.y = GetBattlerSpriteCoord2(gBattleAnimTarget, 3) + gBattleAnimArgs[1];
|
||||
sprite->x = GetBattlerSpriteCoord2(gBattleAnimTarget, 2) + gBattleAnimArgs[0];
|
||||
sprite->y = GetBattlerSpriteCoord2(gBattleAnimTarget, 3) + gBattleAnimArgs[1];
|
||||
sprite->data[0] = gBattleAnimArgs[4];
|
||||
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + gBattleAnimArgs[2];
|
||||
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[3];
|
||||
@@ -231,8 +231,8 @@ static void AnimLeechLifeNeedle(struct Sprite *sprite)
|
||||
gBattleAnimArgs[1] = -gBattleAnimArgs[1];
|
||||
gBattleAnimArgs[0] = -gBattleAnimArgs[0];
|
||||
}
|
||||
sprite->pos1.x = GetBattlerSpriteCoord2(gBattleAnimTarget, 2) + gBattleAnimArgs[0];
|
||||
sprite->pos1.y = GetBattlerSpriteCoord2(gBattleAnimTarget, 3) + gBattleAnimArgs[1];
|
||||
sprite->x = GetBattlerSpriteCoord2(gBattleAnimTarget, 2) + gBattleAnimArgs[0];
|
||||
sprite->y = GetBattlerSpriteCoord2(gBattleAnimTarget, 3) + gBattleAnimArgs[1];
|
||||
sprite->data[0] = gBattleAnimArgs[2];
|
||||
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
|
||||
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
|
||||
@@ -253,8 +253,8 @@ static void AnimTranslateWebThread(struct Sprite *sprite)
|
||||
gBattleAnimArgs[2] /= 2;
|
||||
InitSpritePosToAnimAttacker(sprite, TRUE);
|
||||
sprite->data[0] = gBattleAnimArgs[2];
|
||||
sprite->data[1] = sprite->pos1.x;
|
||||
sprite->data[3] = sprite->pos1.y;
|
||||
sprite->data[1] = sprite->x;
|
||||
sprite->data[3] = sprite->y;
|
||||
if (!gBattleAnimArgs[4])
|
||||
{
|
||||
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
|
||||
@@ -276,20 +276,20 @@ static void sub_80B41C0(struct Sprite *sprite)
|
||||
DestroyAnimSprite(sprite);
|
||||
return;
|
||||
}
|
||||
sprite->pos2.x += Sin(sprite->data[6], sprite->data[5]);
|
||||
sprite->x2 += Sin(sprite->data[6], sprite->data[5]);
|
||||
sprite->data[6] = (sprite->data[6] + 13) & 0xFF;
|
||||
}
|
||||
|
||||
static void AnimStringWrap(struct Sprite *sprite)
|
||||
{
|
||||
SetAverageBattlerPositions(gBattleAnimTarget, 0, &sprite->pos1.x, &sprite->pos1.y);
|
||||
SetAverageBattlerPositions(gBattleAnimTarget, 0, &sprite->x, &sprite->y);
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
sprite->pos1.x -= gBattleAnimArgs[0];
|
||||
sprite->x -= gBattleAnimArgs[0];
|
||||
else
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->x += gBattleAnimArgs[0];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER)
|
||||
sprite->pos1.y += 8;
|
||||
sprite->y += 8;
|
||||
sprite->callback = sub_80B4274;
|
||||
}
|
||||
|
||||
@@ -379,7 +379,7 @@ static void AnimTranslateStinger(struct Sprite *sprite)
|
||||
InitSpritePosToAnimAttacker(sprite, 1);
|
||||
lVarX = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + gBattleAnimArgs[2];
|
||||
lVarY = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[3];
|
||||
rot = ArcTan2Neg(lVarX - sprite->pos1.x, lVarY - sprite->pos1.y);
|
||||
rot = ArcTan2Neg(lVarX - sprite->x, lVarY - sprite->y);
|
||||
rot += 0xC000;
|
||||
TrySetSpriteRotScale(sprite, FALSE, 0x100, 0x100, rot);
|
||||
sprite->data[0] = gBattleAnimArgs[4];
|
||||
@@ -422,10 +422,10 @@ static void AnimMissileArcStep(struct Sprite *sprite)
|
||||
{
|
||||
s16 tempData[8];
|
||||
u16 *data = sprite->data;
|
||||
u16 x1 = sprite->pos1.x;
|
||||
s16 x2 = sprite->pos2.x;
|
||||
u16 y1 = sprite->pos1.y;
|
||||
s16 y2 = sprite->pos2.y;
|
||||
u16 x1 = sprite->x;
|
||||
s16 x2 = sprite->x2;
|
||||
u16 y1 = sprite->y;
|
||||
s16 y2 = sprite->y2;
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < 8; ++i)
|
||||
@@ -434,8 +434,8 @@ static void AnimMissileArcStep(struct Sprite *sprite)
|
||||
y2 += y1;
|
||||
if (!TranslateAnimHorizontalArc(sprite))
|
||||
{
|
||||
u16 rotation = ArcTan2Neg(sprite->pos1.x + sprite->pos2.x - x2,
|
||||
sprite->pos1.y + sprite->pos2.y - y2);
|
||||
u16 rotation = ArcTan2Neg(sprite->x + sprite->x2 - x2,
|
||||
sprite->y + sprite->y2 - y2);
|
||||
|
||||
rotation += 0xC000;
|
||||
TrySetSpriteRotScale(sprite, FALSE, 0x100, 0x100, rotation);
|
||||
@@ -449,13 +449,13 @@ static void AnimTailGlowOrb(struct Sprite *sprite)
|
||||
{
|
||||
if (gBattleAnimArgs[0] == 0)
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + 18;
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + 18;
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + 18;
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + 18;
|
||||
}
|
||||
StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
|
||||
sprite->callback = RunStoredCallbackWhenAffineAnimEnds;
|
||||
|
||||
+8
-8
@@ -1275,10 +1275,10 @@ static void Task_MovePlayerAndGroundSprites(u8 taskId)
|
||||
case 0:
|
||||
break;
|
||||
case 1:
|
||||
if (gSprites[data->playerSpriteId].pos1.x != 0xD0)
|
||||
if (gSprites[data->playerSpriteId].x != 0xD0)
|
||||
{
|
||||
gSprites[data->playerSpriteId].pos1.x--;
|
||||
gSprites[data->groundSpriteId].pos1.x--;
|
||||
gSprites[data->playerSpriteId].x--;
|
||||
gSprites[data->groundSpriteId].x--;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1288,10 +1288,10 @@ static void Task_MovePlayerAndGroundSprites(u8 taskId)
|
||||
case 2:
|
||||
if (sCreditsMgr->unk_1D & 1)
|
||||
{
|
||||
if (gSprites[data->playerSpriteId].pos1.y != 0x50)
|
||||
if (gSprites[data->playerSpriteId].y != 0x50)
|
||||
{
|
||||
gSprites[data->playerSpriteId].pos1.y--;
|
||||
gSprites[data->groundSpriteId].pos1.y--;
|
||||
gSprites[data->playerSpriteId].y--;
|
||||
gSprites[data->groundSpriteId].y--;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1302,8 +1302,8 @@ static void Task_MovePlayerAndGroundSprites(u8 taskId)
|
||||
case 3:
|
||||
if (sCreditsMgr->mainseqno == 15)
|
||||
{
|
||||
gSprites[data->playerSpriteId].pos1.x--;
|
||||
gSprites[data->groundSpriteId].pos1.x--;
|
||||
gSprites[data->playerSpriteId].x--;
|
||||
gSprites[data->groundSpriteId].x--;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
+25
-25
@@ -284,17 +284,17 @@ static void sub_80B7B48(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[3] += sprite->data[1];
|
||||
sprite->data[4] += sprite->data[2];
|
||||
sprite->pos2.x = sprite->data[3] >> 8;
|
||||
sprite->pos2.y = sprite->data[4] >> 8;
|
||||
sprite->x2 = sprite->data[3] >> 8;
|
||||
sprite->y2 = sprite->data[4] >> 8;
|
||||
if (sprite->data[7] == 0)
|
||||
{
|
||||
sprite->data[3] += sprite->data[1];
|
||||
sprite->data[4] += sprite->data[2];
|
||||
sprite->pos2.x = sprite->data[3] >> 8;
|
||||
sprite->pos2.y = sprite->data[4] >> 8;
|
||||
sprite->x2 = sprite->data[3] >> 8;
|
||||
sprite->y2 = sprite->data[4] >> 8;
|
||||
--sprite->data[0];
|
||||
}
|
||||
sprite->pos2.y += Sin(sprite->data[5], sprite->data[6]);
|
||||
sprite->y2 += Sin(sprite->data[5], sprite->data[6]);
|
||||
sprite->data[5] = (sprite->data[5] + 3) & 0xFF;
|
||||
if (sprite->data[5] > 0x7F)
|
||||
{
|
||||
@@ -308,8 +308,8 @@ static void sub_80B7B48(struct Sprite *sprite)
|
||||
|
||||
static void AnimBite(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->x += gBattleAnimArgs[0];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
StartSpriteAffineAnim(sprite, gBattleAnimArgs[2]);
|
||||
sprite->data[0] = gBattleAnimArgs[3];
|
||||
sprite->data[1] = gBattleAnimArgs[4];
|
||||
@@ -321,8 +321,8 @@ static void sub_80B7C10(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[4] += sprite->data[0];
|
||||
sprite->data[5] += sprite->data[1];
|
||||
sprite->pos2.x = sprite->data[4] >> 8;
|
||||
sprite->pos2.y = sprite->data[5] >> 8;
|
||||
sprite->x2 = sprite->data[4] >> 8;
|
||||
sprite->y2 = sprite->data[5] >> 8;
|
||||
if (++sprite->data[3] == sprite->data[2])
|
||||
sprite->callback = sub_80B7C50;
|
||||
}
|
||||
@@ -331,8 +331,8 @@ static void sub_80B7C50(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[4] -= sprite->data[0];
|
||||
sprite->data[5] -= sprite->data[1];
|
||||
sprite->pos2.x = sprite->data[4] >> 8;
|
||||
sprite->pos2.y = sprite->data[5] >> 8;
|
||||
sprite->x2 = sprite->data[4] >> 8;
|
||||
sprite->y2 = sprite->data[5] >> 8;
|
||||
if (--sprite->data[3] == 0)
|
||||
DestroySpriteAndMatrix(sprite);
|
||||
}
|
||||
@@ -351,29 +351,29 @@ static void AnimTearDrop(struct Sprite *sprite)
|
||||
switch (gBattleAnimArgs[1])
|
||||
{
|
||||
case 0:
|
||||
sprite->pos1.x = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_RIGHT) - 8;
|
||||
sprite->pos1.y = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_TOP) + 8;
|
||||
sprite->x = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_RIGHT) - 8;
|
||||
sprite->y = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_TOP) + 8;
|
||||
break;
|
||||
case 1:
|
||||
sprite->pos1.x = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_RIGHT) - 14;
|
||||
sprite->pos1.y = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_TOP) + 16;
|
||||
sprite->x = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_RIGHT) - 14;
|
||||
sprite->y = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_TOP) + 16;
|
||||
break;
|
||||
case 2:
|
||||
sprite->pos1.x = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_LEFT) + 8;
|
||||
sprite->pos1.y = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_TOP) + 8;
|
||||
sprite->x = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_LEFT) + 8;
|
||||
sprite->y = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_TOP) + 8;
|
||||
StartSpriteAffineAnim(sprite, 1);
|
||||
xOffset = -20;
|
||||
break;
|
||||
case 3:
|
||||
sprite->pos1.x = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_LEFT) + 14;
|
||||
sprite->pos1.y = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_TOP) + 16;
|
||||
sprite->x = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_LEFT) + 14;
|
||||
sprite->y = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_TOP) + 16;
|
||||
StartSpriteAffineAnim(sprite, 1);
|
||||
xOffset = -20;
|
||||
break;
|
||||
}
|
||||
sprite->data[0] = 32;
|
||||
sprite->data[2] = sprite->pos1.x + xOffset;
|
||||
sprite->data[4] = sprite->pos1.y + 12;
|
||||
sprite->data[2] = sprite->x + xOffset;
|
||||
sprite->data[4] = sprite->y + 12;
|
||||
sprite->data[5] = -12;
|
||||
InitAnimArcTranslation(sprite);
|
||||
sprite->callback = sub_80B7D88;
|
||||
@@ -750,8 +750,8 @@ void sub_80B8664(u8 taskId)
|
||||
|
||||
static void AnimClawSlash(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->x += gBattleAnimArgs[0];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
StartSpriteAnim(sprite, gBattleAnimArgs[2]);
|
||||
sprite->callback = RunStoredCallbackWhenAnimEnds;
|
||||
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
|
||||
@@ -804,8 +804,8 @@ void AnimTask_MetallicShine(u8 taskId)
|
||||
AnimLoadCompressedBgTilemap(animBg.bgId, gMetalShineTilemap);
|
||||
AnimLoadCompressedBgGfx(animBg.bgId, gMetalShineGfx, animBg.tilesOffset);
|
||||
LoadCompressedPalette(gMetalShinePalette, animBg.paletteId * 16, 32);
|
||||
gBattle_BG1_X = -gSprites[spriteId].pos1.x + 96;
|
||||
gBattle_BG1_Y = -gSprites[spriteId].pos1.y + 32;
|
||||
gBattle_BG1_X = -gSprites[spriteId].x + 96;
|
||||
gBattle_BG1_Y = -gSprites[spriteId].y + 32;
|
||||
paletteNum = 16 + gSprites[spriteId].oam.paletteNum;
|
||||
if (gBattleAnimArgs[1] == 0)
|
||||
SetGreyscaleOrOriginalPalette(paletteNum, FALSE);
|
||||
|
||||
+9
-9
@@ -2010,7 +2010,7 @@ static void SpriteCB_Egg_0(struct Sprite* sprite)
|
||||
else
|
||||
{
|
||||
sprite->data[1] = (sprite->data[1] + 20) & 0xFF;
|
||||
sprite->pos2.x = Sin(sprite->data[1], 1);
|
||||
sprite->x2 = Sin(sprite->data[1], 1);
|
||||
if (sprite->data[0] == 15)
|
||||
{
|
||||
PlaySE(SE_BALL);
|
||||
@@ -2033,7 +2033,7 @@ static void SpriteCB_Egg_1(struct Sprite* sprite)
|
||||
else
|
||||
{
|
||||
sprite->data[1] = (sprite->data[1] + 20) & 0xFF;
|
||||
sprite->pos2.x = Sin(sprite->data[1], 2);
|
||||
sprite->x2 = Sin(sprite->data[1], 2);
|
||||
if (sprite->data[0] == 15)
|
||||
{
|
||||
PlaySE(SE_BALL);
|
||||
@@ -2054,13 +2054,13 @@ static void SpriteCB_Egg_2(struct Sprite* sprite)
|
||||
sprite->callback = SpriteCB_Egg_3;
|
||||
sprite->data[0] = 0;
|
||||
species = GetMonData(&gPlayerParty[sEggHatchData->eggPartyID], MON_DATA_SPECIES);
|
||||
gSprites[sEggHatchData->pokeSpriteID].pos2.x = 0;
|
||||
gSprites[sEggHatchData->pokeSpriteID].pos2.y = gMonFrontPicCoords[species].y_offset;
|
||||
gSprites[sEggHatchData->pokeSpriteID].x2 = 0;
|
||||
gSprites[sEggHatchData->pokeSpriteID].y2 = gMonFrontPicCoords[species].y_offset;
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->data[1] = (sprite->data[1] + 20) & 0xFF;
|
||||
sprite->pos2.x = Sin(sprite->data[1], 2);
|
||||
sprite->x2 = Sin(sprite->data[1], 2);
|
||||
if (sprite->data[0] == 15)
|
||||
{
|
||||
PlaySE(SE_BALL);
|
||||
@@ -2113,7 +2113,7 @@ static void SpriteCB_Egg_5(struct Sprite* sprite)
|
||||
if (sprite->data[0] == 8)
|
||||
BeginNormalPaletteFade(0xFFFFFFFF, -1, 0x10, 0, 0xFFFF);
|
||||
if (sprite->data[0] <= 9)
|
||||
gSprites[sEggHatchData->pokeSpriteID].pos1.y -= 1;
|
||||
gSprites[sEggHatchData->pokeSpriteID].y -= 1;
|
||||
if (sprite->data[0] > 40)
|
||||
sprite->callback = SpriteCallbackDummy;
|
||||
sprite->data[0]++;
|
||||
@@ -2124,12 +2124,12 @@ static void SpriteCB_EggShard(struct Sprite* sprite)
|
||||
sprite->data[4] += sprite->data[1];
|
||||
sprite->data[5] += sprite->data[2];
|
||||
|
||||
sprite->pos2.x = sprite->data[4] / 256;
|
||||
sprite->pos2.y = sprite->data[5] / 256;
|
||||
sprite->x2 = sprite->data[4] / 256;
|
||||
sprite->y2 = sprite->data[5] / 256;
|
||||
|
||||
sprite->data[2] += sprite->data[3];
|
||||
|
||||
if (sprite->pos1.y + sprite->pos2.y > sprite->pos1.y + 20 && sprite->data[2] > 0)
|
||||
if (sprite->y + sprite->y2 > sprite->y + 20 && sprite->data[2] > 0)
|
||||
DestroySprite(sprite);
|
||||
}
|
||||
|
||||
|
||||
@@ -357,11 +357,11 @@ static u32 sub_8153C30(struct Sprite * sprite)
|
||||
break;
|
||||
}
|
||||
|
||||
sprite->pos1.x += var;
|
||||
sprite->x += var;
|
||||
if (++sprite->data[1] >= 40)
|
||||
{
|
||||
sprite->data[0] = 0;
|
||||
sprite->pos1.x = sub_8154608(0, sub_81533B4());
|
||||
sprite->x = sub_8154608(0, sub_81533B4());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -423,8 +423,8 @@ void sub_8153DD8(void)
|
||||
for (i = 0; i < 10; i++)
|
||||
{
|
||||
struct Sprite * sprite = &gSprites[gUnknown_203F43C->unk2A[i]];
|
||||
sprite->pos1.x = (i * 16) + 48;
|
||||
sprite->pos1.y = -8 - (i * 8);
|
||||
sprite->x = (i * 16) + 48;
|
||||
sprite->y = -8 - (i * 8);
|
||||
gUnknown_203F43C->unkC[i] = 0;
|
||||
}
|
||||
}
|
||||
@@ -481,10 +481,10 @@ bool32 sub_8153F1C(void)
|
||||
{
|
||||
struct Sprite * sprite = &gSprites[gUnknown_203F43C->unk2A[i]];
|
||||
gUnknown_203F43C->unk16[i] = 2;
|
||||
if (gUnknown_203F43C->unkC[i] != 0 && sprite->pos1.y == 8)
|
||||
if (gUnknown_203F43C->unkC[i] != 0 && sprite->y == 8)
|
||||
continue;
|
||||
r3 = TRUE;
|
||||
if (sprite->pos1.y == 8)
|
||||
if (sprite->y == 8)
|
||||
{
|
||||
if (gUnknown_203F43C->unkC[i] != 0)
|
||||
continue;
|
||||
@@ -492,7 +492,7 @@ bool32 sub_8153F1C(void)
|
||||
gUnknown_203F43C->unk16[i] = -16;
|
||||
PlaySE(SE_CLICK);
|
||||
}
|
||||
sprite->pos1.y += gUnknown_203F43C->unk16[i];
|
||||
sprite->y += gUnknown_203F43C->unk16[i];
|
||||
}
|
||||
|
||||
if (r3)
|
||||
@@ -654,7 +654,7 @@ static void sub_8154324(bool8 invisible)
|
||||
|
||||
void sub_8154370(u8 id, u8 y)
|
||||
{
|
||||
gSprites[*gUnknown_203F400[id]].pos1.y = y * 8;
|
||||
gSprites[*gUnknown_203F400[id]].y = y * 8;
|
||||
}
|
||||
|
||||
void sub_8154398(u16 id, u8 frameNum)
|
||||
@@ -665,8 +665,8 @@ void sub_8154398(u16 id, u8 frameNum)
|
||||
// Unused
|
||||
static void sub_81543C4(u8 spriteId)
|
||||
{
|
||||
gSprites[spriteId].pos1.x = 20 * spriteId + 50;
|
||||
gSprites[spriteId].pos1.y = 50;
|
||||
gSprites[spriteId].x = 20 * spriteId + 50;
|
||||
gSprites[spriteId].y = 50;
|
||||
}
|
||||
|
||||
// Gamefreak made a mistake there and goes out of bounds for the data array as it holds 8 elements
|
||||
@@ -688,7 +688,7 @@ static void sub_81543E8(struct Sprite * sprite)
|
||||
{
|
||||
if (++gUnknown_203F3F8[i][1] > array[i])
|
||||
{
|
||||
sprite->pos1.x--;
|
||||
sprite->x--;
|
||||
gUnknown_203F3F8[i][1] = 0;
|
||||
}
|
||||
}
|
||||
@@ -737,8 +737,8 @@ void sub_81544F0(void)
|
||||
{
|
||||
struct Sprite * sprite = &gSprites[*gUnknown_203F3F8[i]];
|
||||
sprite->sKeepPosX = TRUE;
|
||||
sprite->pos1.x = gUnknown_8478E0E[i][0];
|
||||
sprite->pos1.y = gUnknown_8478E0E[i][1];
|
||||
sprite->x = gUnknown_8478E0E[i][0];
|
||||
sprite->y = gUnknown_8478E0E[i][1];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+28
-28
@@ -188,19 +188,19 @@ const struct SpriteTemplate gOverheatFlameSpriteTemplate =
|
||||
|
||||
static void sub_80B725C(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
{
|
||||
sprite->pos1.x -= gBattleAnimArgs[0];
|
||||
sprite->x -= gBattleAnimArgs[0];
|
||||
gBattleAnimArgs[3] = -gBattleAnimArgs[3];
|
||||
gBattleAnimArgs[4] = -gBattleAnimArgs[4];
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->x += gBattleAnimArgs[0];
|
||||
}
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
sprite->data[0] = gBattleAnimArgs[2];
|
||||
sprite->data[1] = gBattleAnimArgs[3];
|
||||
sprite->data[3] = gBattleAnimArgs[4];
|
||||
@@ -217,15 +217,15 @@ static void sub_80B72F8(struct Sprite *sprite)
|
||||
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
{
|
||||
sprite->pos1.x -= gBattleAnimArgs[1];
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->x -= gBattleAnimArgs[1];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
sprite->data[2] -= gBattleAnimArgs[2];
|
||||
sprite->data[4] += gBattleAnimArgs[3];
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->x += gBattleAnimArgs[0];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
sprite->data[2] += gBattleAnimArgs[2];
|
||||
sprite->data[4] += gBattleAnimArgs[3];
|
||||
StartSpriteAnim(sprite, 1);
|
||||
@@ -239,16 +239,16 @@ static void AnimDragonRageFirePlume(struct Sprite *sprite)
|
||||
{
|
||||
if (gBattleAnimArgs[0] == 0)
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 0);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 1);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, 0);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, 1);
|
||||
}
|
||||
SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[1]);
|
||||
sprite->pos1.y += gBattleAnimArgs[2];
|
||||
sprite->y += gBattleAnimArgs[2];
|
||||
sprite->callback = RunStoredCallbackWhenAnimEnds;
|
||||
StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
|
||||
}
|
||||
@@ -265,8 +265,8 @@ static void AnimDragonDanceOrb(struct Sprite *sprite)
|
||||
u16 r5;
|
||||
u16 r0;
|
||||
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
|
||||
sprite->data[4] = 0;
|
||||
sprite->data[5] = 1;
|
||||
sprite->data[6] = gBattleAnimArgs[0];
|
||||
@@ -276,8 +276,8 @@ static void AnimDragonDanceOrb(struct Sprite *sprite)
|
||||
sprite->data[7] = r5 / 2;
|
||||
else
|
||||
sprite->data[7] = r0 / 2;
|
||||
sprite->pos2.x = Cos(sprite->data[6], sprite->data[7]);
|
||||
sprite->pos2.y = Sin(sprite->data[6], sprite->data[7]);
|
||||
sprite->x2 = Cos(sprite->data[6], sprite->data[7]);
|
||||
sprite->y2 = Sin(sprite->data[6], sprite->data[7]);
|
||||
sprite->callback = sub_80B74D8;
|
||||
}
|
||||
|
||||
@@ -287,8 +287,8 @@ static void sub_80B74D8(struct Sprite *sprite)
|
||||
{
|
||||
case 0:
|
||||
sprite->data[6] = (sprite->data[6] - sprite->data[5]) & 0xFF;
|
||||
sprite->pos2.x = Cos(sprite->data[6], sprite->data[7]);
|
||||
sprite->pos2.y = Sin(sprite->data[6], sprite->data[7]);
|
||||
sprite->x2 = Cos(sprite->data[6], sprite->data[7]);
|
||||
sprite->y2 = Sin(sprite->data[6], sprite->data[7]);
|
||||
if (++sprite->data[4] > 5)
|
||||
{
|
||||
sprite->data[4] = 0;
|
||||
@@ -305,8 +305,8 @@ static void sub_80B74D8(struct Sprite *sprite)
|
||||
sprite->data[6] = (sprite->data[6] - sprite->data[5]) & 0xFF;
|
||||
if (sprite->data[7] <= 0x95 && (sprite->data[7] += 8) > 0x95)
|
||||
sprite->data[7] = 0x96;
|
||||
sprite->pos2.x = Cos(sprite->data[6], sprite->data[7]);
|
||||
sprite->pos2.y = Sin(sprite->data[6], sprite->data[7]);
|
||||
sprite->x2 = Cos(sprite->data[6], sprite->data[7]);
|
||||
sprite->y2 = Sin(sprite->data[6], sprite->data[7]);
|
||||
if (++sprite->data[4] > 5)
|
||||
{
|
||||
sprite->data[4] = 0;
|
||||
@@ -408,12 +408,12 @@ static void AnimOverheatFlame(struct Sprite *sprite)
|
||||
{
|
||||
s32 i, r6 = (gBattleAnimArgs[2] * 3) / 5;
|
||||
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + gBattleAnimArgs[4];
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + gBattleAnimArgs[4];
|
||||
sprite->data[1] = Cos(gBattleAnimArgs[1], gBattleAnimArgs[2]);
|
||||
sprite->data[2] = Sin(gBattleAnimArgs[1], r6);
|
||||
sprite->pos1.x += sprite->data[1] * gBattleAnimArgs[0];
|
||||
sprite->pos1.y += sprite->data[2] * gBattleAnimArgs[0];
|
||||
sprite->x += sprite->data[1] * gBattleAnimArgs[0];
|
||||
sprite->y += sprite->data[2] * gBattleAnimArgs[0];
|
||||
sprite->data[3] = gBattleAnimArgs[3];
|
||||
sprite->callback = sub_80B7894;
|
||||
for (i = 0; i < 7; ++i)
|
||||
@@ -424,8 +424,8 @@ static void sub_80B7894(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[4] += sprite->data[1];
|
||||
sprite->data[5] += sprite->data[2];
|
||||
sprite->pos2.x = sprite->data[4] / 10;
|
||||
sprite->pos2.y = sprite->data[5] / 10;
|
||||
sprite->x2 = sprite->data[4] / 10;
|
||||
sprite->y2 = sprite->data[5] / 10;
|
||||
if (++sprite->data[0] > sprite->data[3])
|
||||
DestroyAnimSprite(sprite);
|
||||
}
|
||||
|
||||
+39
-39
@@ -1940,17 +1940,17 @@ static void SpriteCB_BounceCursor(struct Sprite * sprite)
|
||||
if (++sprite->data[0] > 2)
|
||||
{
|
||||
sprite->data[0] = 0;
|
||||
if (++sprite->pos2.x > 0)
|
||||
sprite->pos2.x = -6;
|
||||
if (++sprite->x2 > 0)
|
||||
sprite->x2 = -6;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void SetSelectDestFieldCursorSpritePosAndResetAnim(u8 x, u8 y)
|
||||
{
|
||||
sEasyChatGraphicsResources->selectDestFieldCursorSprite->pos1.x = x;
|
||||
sEasyChatGraphicsResources->selectDestFieldCursorSprite->pos1.y = y;
|
||||
sEasyChatGraphicsResources->selectDestFieldCursorSprite->pos2.x = 0;
|
||||
sEasyChatGraphicsResources->selectDestFieldCursorSprite->x = x;
|
||||
sEasyChatGraphicsResources->selectDestFieldCursorSprite->y = y;
|
||||
sEasyChatGraphicsResources->selectDestFieldCursorSprite->x2 = 0;
|
||||
sEasyChatGraphicsResources->selectDestFieldCursorSprite->data[0] = 0;
|
||||
}
|
||||
|
||||
@@ -1958,7 +1958,7 @@ static void FreezeSelectDestFieldCursorSprite(void)
|
||||
{
|
||||
sEasyChatGraphicsResources->selectDestFieldCursorSprite->data[0] = 0;
|
||||
sEasyChatGraphicsResources->selectDestFieldCursorSprite->data[1] = 0;
|
||||
sEasyChatGraphicsResources->selectDestFieldCursorSprite->pos2.x = 0;
|
||||
sEasyChatGraphicsResources->selectDestFieldCursorSprite->x2 = 0;
|
||||
}
|
||||
|
||||
static void UnfreezeSelectDestFieldCursorSprite(void)
|
||||
@@ -1970,11 +1970,11 @@ static void CreateRedRectangularCursorSpritePair(void)
|
||||
{
|
||||
u8 spriteId = CreateSprite(&sSpriteTemplate_RedRectangularCursor, 0, 0, 3);
|
||||
sEasyChatGraphicsResources->rectCursorSpriteRight = &gSprites[spriteId];
|
||||
sEasyChatGraphicsResources->rectCursorSpriteRight->pos2.x = 32;
|
||||
sEasyChatGraphicsResources->rectCursorSpriteRight->x2 = 32;
|
||||
|
||||
spriteId = CreateSprite(&sSpriteTemplate_RedRectangularCursor, 0, 0, 3);
|
||||
sEasyChatGraphicsResources->rectCursorSpriteLeft = &gSprites[spriteId];
|
||||
sEasyChatGraphicsResources->rectCursorSpriteLeft->pos2.x = -32;
|
||||
sEasyChatGraphicsResources->rectCursorSpriteLeft->x2 = -32;
|
||||
|
||||
sEasyChatGraphicsResources->rectCursorSpriteRight->hFlip = TRUE;
|
||||
EC_MoveCursor();
|
||||
@@ -2008,22 +2008,22 @@ static void MoveCursor_Group(s8 x, s8 y)
|
||||
if (x != -1)
|
||||
{
|
||||
StartSpriteAnim(sEasyChatGraphicsResources->rectCursorSpriteRight, 0);
|
||||
sEasyChatGraphicsResources->rectCursorSpriteRight->pos1.x = x * 84 + 58;
|
||||
sEasyChatGraphicsResources->rectCursorSpriteRight->pos1.y = y * 16 + 96;
|
||||
sEasyChatGraphicsResources->rectCursorSpriteRight->x = x * 84 + 58;
|
||||
sEasyChatGraphicsResources->rectCursorSpriteRight->y = y * 16 + 96;
|
||||
|
||||
StartSpriteAnim(sEasyChatGraphicsResources->rectCursorSpriteLeft, 0);
|
||||
sEasyChatGraphicsResources->rectCursorSpriteLeft->pos1.x = x * 84 + 58;
|
||||
sEasyChatGraphicsResources->rectCursorSpriteLeft->pos1.y = y * 16 + 96;
|
||||
sEasyChatGraphicsResources->rectCursorSpriteLeft->x = x * 84 + 58;
|
||||
sEasyChatGraphicsResources->rectCursorSpriteLeft->y = y * 16 + 96;
|
||||
}
|
||||
else
|
||||
{
|
||||
StartSpriteAnim(sEasyChatGraphicsResources->rectCursorSpriteRight, 1);
|
||||
sEasyChatGraphicsResources->rectCursorSpriteRight->pos1.x = 216;
|
||||
sEasyChatGraphicsResources->rectCursorSpriteRight->pos1.y = y * 16 + 112;
|
||||
sEasyChatGraphicsResources->rectCursorSpriteRight->x = 216;
|
||||
sEasyChatGraphicsResources->rectCursorSpriteRight->y = y * 16 + 112;
|
||||
|
||||
StartSpriteAnim(sEasyChatGraphicsResources->rectCursorSpriteLeft, 1);
|
||||
sEasyChatGraphicsResources->rectCursorSpriteLeft->pos1.x = 216;
|
||||
sEasyChatGraphicsResources->rectCursorSpriteLeft->pos1.y = y * 16 + 112;
|
||||
sEasyChatGraphicsResources->rectCursorSpriteLeft->x = 216;
|
||||
sEasyChatGraphicsResources->rectCursorSpriteLeft->y = y * 16 + 112;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2048,22 +2048,22 @@ static void MoveCursor_Alpha(s8 cursorX, s8 cursorY)
|
||||
}
|
||||
|
||||
StartSpriteAnim(sEasyChatGraphicsResources->rectCursorSpriteRight, anim);
|
||||
sEasyChatGraphicsResources->rectCursorSpriteRight->pos1.x = x;
|
||||
sEasyChatGraphicsResources->rectCursorSpriteRight->pos1.y = y;
|
||||
sEasyChatGraphicsResources->rectCursorSpriteRight->x = x;
|
||||
sEasyChatGraphicsResources->rectCursorSpriteRight->y = y;
|
||||
|
||||
StartSpriteAnim(sEasyChatGraphicsResources->rectCursorSpriteLeft, anim);
|
||||
sEasyChatGraphicsResources->rectCursorSpriteLeft->pos1.x = x;
|
||||
sEasyChatGraphicsResources->rectCursorSpriteLeft->pos1.y = y;
|
||||
sEasyChatGraphicsResources->rectCursorSpriteLeft->x = x;
|
||||
sEasyChatGraphicsResources->rectCursorSpriteLeft->y = y;
|
||||
}
|
||||
else
|
||||
{
|
||||
StartSpriteAnim(sEasyChatGraphicsResources->rectCursorSpriteRight, 1);
|
||||
sEasyChatGraphicsResources->rectCursorSpriteRight->pos1.x = 216;
|
||||
sEasyChatGraphicsResources->rectCursorSpriteRight->pos1.y = cursorY * 16 + 112;
|
||||
sEasyChatGraphicsResources->rectCursorSpriteRight->x = 216;
|
||||
sEasyChatGraphicsResources->rectCursorSpriteRight->y = cursorY * 16 + 112;
|
||||
|
||||
StartSpriteAnim(sEasyChatGraphicsResources->rectCursorSpriteLeft, 1);
|
||||
sEasyChatGraphicsResources->rectCursorSpriteLeft->pos1.x = 216;
|
||||
sEasyChatGraphicsResources->rectCursorSpriteLeft->pos1.y = cursorY * 16 + 112;
|
||||
sEasyChatGraphicsResources->rectCursorSpriteLeft->x = 216;
|
||||
sEasyChatGraphicsResources->rectCursorSpriteLeft->y = cursorY * 16 + 112;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2081,8 +2081,8 @@ static void SpriteCB_SelectWordCursorSprite(struct Sprite * sprite)
|
||||
if (++sprite->data[0] > 2)
|
||||
{
|
||||
sprite->data[0] = 0;
|
||||
if (++sprite->pos2.x > 0)
|
||||
sprite->pos2.x = -6;
|
||||
if (++sprite->x2 > 0)
|
||||
sprite->x2 = -6;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2101,9 +2101,9 @@ static void SetSelectWordCursorSpritePosExplicit(u8 x, u8 y)
|
||||
{
|
||||
if (sEasyChatGraphicsResources->selectWordCursorSprite)
|
||||
{
|
||||
sEasyChatGraphicsResources->selectWordCursorSprite->pos1.x = x * 8 + 4;
|
||||
sEasyChatGraphicsResources->selectWordCursorSprite->pos1.y = (y + 1) * 8 + 1;
|
||||
sEasyChatGraphicsResources->selectWordCursorSprite->pos2.x = 0;
|
||||
sEasyChatGraphicsResources->selectWordCursorSprite->x = x * 8 + 4;
|
||||
sEasyChatGraphicsResources->selectWordCursorSprite->y = (y + 1) * 8 + 1;
|
||||
sEasyChatGraphicsResources->selectWordCursorSprite->x2 = 0;
|
||||
sEasyChatGraphicsResources->selectWordCursorSprite->data[0] = 0;
|
||||
}
|
||||
}
|
||||
@@ -2121,7 +2121,7 @@ static void CreateSelectGroupHelpSprite(void)
|
||||
{
|
||||
u8 spriteId = CreateSprite(&sSpriteTemplate_SelectGroupHelp, 208, 128, 6);
|
||||
sEasyChatGraphicsResources->selectGroupHelpSprite = &gSprites[spriteId];
|
||||
sEasyChatGraphicsResources->selectGroupHelpSprite->pos2.x = -64;
|
||||
sEasyChatGraphicsResources->selectGroupHelpSprite->x2 = -64;
|
||||
|
||||
spriteId = CreateSprite(&sSpriteTemplate_EasyChatModeIcons, 208, 80, 5);
|
||||
sEasyChatGraphicsResources->modeIconsSprite = &gSprites[spriteId];
|
||||
@@ -2135,10 +2135,10 @@ static bool8 AnimateSeletGroupModeAndHelpSpriteEnter(void)
|
||||
default:
|
||||
return FALSE;
|
||||
case 0:
|
||||
sEasyChatGraphicsResources->selectGroupHelpSprite->pos2.x += 8;
|
||||
if (sEasyChatGraphicsResources->selectGroupHelpSprite->pos2.x >= 0)
|
||||
sEasyChatGraphicsResources->selectGroupHelpSprite->x2 += 8;
|
||||
if (sEasyChatGraphicsResources->selectGroupHelpSprite->x2 >= 0)
|
||||
{
|
||||
sEasyChatGraphicsResources->selectGroupHelpSprite->pos2.x = 0;
|
||||
sEasyChatGraphicsResources->selectGroupHelpSprite->x2 = 0;
|
||||
if (!IsEasyChatAlphaMode())
|
||||
StartSpriteAnim(sEasyChatGraphicsResources->modeIconsSprite, 1);
|
||||
else
|
||||
@@ -2175,8 +2175,8 @@ static bool8 RunModeIconHidingAnimation(void)
|
||||
sEasyChatGraphicsResources->modeIconState = 1;
|
||||
break;
|
||||
case 1:
|
||||
sEasyChatGraphicsResources->selectGroupHelpSprite->pos2.x -= 8;
|
||||
if (sEasyChatGraphicsResources->selectGroupHelpSprite->pos2.x <= -64)
|
||||
sEasyChatGraphicsResources->selectGroupHelpSprite->x2 -= 8;
|
||||
if (sEasyChatGraphicsResources->selectGroupHelpSprite->x2 <= -64)
|
||||
{
|
||||
DestroySprite(sEasyChatGraphicsResources->modeIconsSprite);
|
||||
DestroySprite(sEasyChatGraphicsResources->selectGroupHelpSprite);
|
||||
@@ -2241,14 +2241,14 @@ static void UpdateVerticalScrollArrowSpriteXPos(int direction)
|
||||
if (!direction)
|
||||
{
|
||||
// Group select
|
||||
sEasyChatGraphicsResources->upTriangleCursorSprite->pos1.x = 96;
|
||||
sEasyChatGraphicsResources->downTriangleCursorSprite->pos1.x = 96;
|
||||
sEasyChatGraphicsResources->upTriangleCursorSprite->x = 96;
|
||||
sEasyChatGraphicsResources->downTriangleCursorSprite->x = 96;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Word select
|
||||
sEasyChatGraphicsResources->upTriangleCursorSprite->pos1.x = 120;
|
||||
sEasyChatGraphicsResources->downTriangleCursorSprite->pos1.x = 120;
|
||||
sEasyChatGraphicsResources->upTriangleCursorSprite->x = 120;
|
||||
sEasyChatGraphicsResources->downTriangleCursorSprite->x = 120;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+53
-53
@@ -454,10 +454,10 @@ static const struct SpriteTemplate sShockWaveProgressingBoltSpriteTemplate =
|
||||
static void AnimLightning(struct Sprite *sprite)
|
||||
{
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
sprite->pos1.x -= gBattleAnimArgs[0];
|
||||
sprite->x -= gBattleAnimArgs[0];
|
||||
else
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->x += gBattleAnimArgs[0];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
sprite->callback = sub_80ADC3C;
|
||||
}
|
||||
|
||||
@@ -470,9 +470,9 @@ static void sub_80ADC3C(struct Sprite *sprite)
|
||||
static void sub_80ADC58(struct Sprite *sprite)
|
||||
{
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
sprite->pos1.x -= gBattleAnimArgs[0];
|
||||
sprite->x -= gBattleAnimArgs[0];
|
||||
else
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->x += gBattleAnimArgs[0];
|
||||
sprite->callback = sub_80ADC9C;
|
||||
}
|
||||
|
||||
@@ -484,17 +484,17 @@ static void sub_80ADC9C(struct Sprite *sprite)
|
||||
|
||||
static void sub_80ADCB8(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
{
|
||||
sprite->pos1.x -= gBattleAnimArgs[0];
|
||||
sprite->pos1.y -= gBattleAnimArgs[1];
|
||||
sprite->x -= gBattleAnimArgs[0];
|
||||
sprite->y -= gBattleAnimArgs[1];
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->x += gBattleAnimArgs[0];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
}
|
||||
sprite->data[0] = 0;
|
||||
sprite->data[1] = gBattleAnimArgs[2];
|
||||
@@ -534,16 +534,16 @@ static void sub_80ADD4C(struct Sprite *sprite)
|
||||
}
|
||||
if (gBattleAnimArgs[5] == 0)
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(battler, BATTLER_COORD_X);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(battler, BATTLER_COORD_Y);
|
||||
sprite->x = GetBattlerSpriteCoord(battler, BATTLER_COORD_X);
|
||||
sprite->y = GetBattlerSpriteCoord(battler, BATTLER_COORD_Y);
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(battler, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
sprite->x = GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2);
|
||||
sprite->y = GetBattlerSpriteCoord(battler, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
}
|
||||
sprite->pos2.x = (gSineTable[gBattleAnimArgs[0]] * gBattleAnimArgs[1]) >> 8;
|
||||
sprite->pos2.y = (gSineTable[gBattleAnimArgs[0] + 64] * gBattleAnimArgs[1]) >> 8;
|
||||
sprite->x2 = (gSineTable[gBattleAnimArgs[0]] * gBattleAnimArgs[1]) >> 8;
|
||||
sprite->y2 = (gSineTable[gBattleAnimArgs[0] + 64] * gBattleAnimArgs[1]) >> 8;
|
||||
if (gBattleAnimArgs[6] & 1)
|
||||
sprite->oam.priority = GetBattlerSpriteBGPriority(battler) + 1;
|
||||
matrixNum = sprite->oam.matrixNum;
|
||||
@@ -559,9 +559,9 @@ static void AnimZapCannonSpark(struct Sprite *sprite)
|
||||
{
|
||||
InitSpritePosToAnimAttacker(sprite, 1);
|
||||
sprite->data[0] = gBattleAnimArgs[3];
|
||||
sprite->data[1] = sprite->pos1.x;
|
||||
sprite->data[1] = sprite->x;
|
||||
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
|
||||
sprite->data[3] = sprite->pos1.y;
|
||||
sprite->data[3] = sprite->y;
|
||||
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
InitAnimLinearTranslation(sprite);
|
||||
sprite->data[5] = gBattleAnimArgs[2];
|
||||
@@ -576,8 +576,8 @@ static void sub_80ADF38(struct Sprite *sprite)
|
||||
{
|
||||
if (!AnimTranslateLinear(sprite))
|
||||
{
|
||||
sprite->pos2.x += Sin(sprite->data[7], sprite->data[5]);
|
||||
sprite->pos2.y += Cos(sprite->data[7], sprite->data[5]);
|
||||
sprite->x2 += Sin(sprite->data[7], sprite->data[5]);
|
||||
sprite->y2 += Cos(sprite->data[7], sprite->data[5]);
|
||||
sprite->data[7] = (sprite->data[7] + sprite->data[6]) & 0xFF;
|
||||
if(!(sprite->data[7] % 3))
|
||||
sprite->invisible ^= 1;
|
||||
@@ -603,8 +603,8 @@ static void AnimThunderboltOrb(struct Sprite *sprite)
|
||||
{
|
||||
if (IsContest() || GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER)
|
||||
gBattleAnimArgs[1] = -gBattleAnimArgs[1];
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + gBattleAnimArgs[1];
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[2];
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + gBattleAnimArgs[1];
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[2];
|
||||
sprite->data[3] = gBattleAnimArgs[0];
|
||||
sprite->data[4] = gBattleAnimArgs[3];
|
||||
sprite->data[5] = gBattleAnimArgs[3];
|
||||
@@ -622,8 +622,8 @@ static void AnimSparkElectricityFlashing(struct Sprite *sprite)
|
||||
battler = gBattleAnimAttacker;
|
||||
if (IsContest() || GetBattlerSide(battler) == B_SIDE_PLAYER)
|
||||
gBattleAnimArgs[0] = -gBattleAnimArgs[0];
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2) + gBattleAnimArgs[0];
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(battler, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[1];
|
||||
sprite->x = GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2) + gBattleAnimArgs[0];
|
||||
sprite->y = GetBattlerSpriteCoord(battler, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[1];
|
||||
sprite->data[4] = gBattleAnimArgs[7] & 0x7FFF;
|
||||
sprite->data[5] = gBattleAnimArgs[2];
|
||||
sprite->data[6] = gBattleAnimArgs[5];
|
||||
@@ -635,8 +635,8 @@ static void AnimSparkElectricityFlashing(struct Sprite *sprite)
|
||||
|
||||
static void sub_80AE130(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos2.x = Sin(sprite->data[7], sprite->data[5]);
|
||||
sprite->pos2.y = Cos(sprite->data[7], sprite->data[5]);
|
||||
sprite->x2 = Sin(sprite->data[7], sprite->data[5]);
|
||||
sprite->y2 = Cos(sprite->data[7], sprite->data[5]);
|
||||
sprite->data[7] = (sprite->data[7] + sprite->data[6]) & 0xFF;
|
||||
if (sprite->data[7] % sprite->data[4] == 0)
|
||||
sprite->invisible ^= 1;
|
||||
@@ -751,9 +751,9 @@ static void AnimThunderWave(struct Sprite *sprite)
|
||||
{
|
||||
u8 spriteId;
|
||||
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
spriteId = CreateSprite(&gThunderWaveSpriteTemplate, sprite->pos1.x + 32, sprite->pos1.y, sprite->subpriority);
|
||||
sprite->x += gBattleAnimArgs[0];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
spriteId = CreateSprite(&gThunderWaveSpriteTemplate, sprite->x + 32, sprite->y, sprite->subpriority);
|
||||
gSprites[spriteId].oam.tileNum += 8;
|
||||
++gAnimVisualTaskCount;
|
||||
gSprites[spriteId].callback = sub_80AE4F4;
|
||||
@@ -812,12 +812,12 @@ static void sub_80AE5BC(u8 taskId)
|
||||
{
|
||||
struct Sprite *sprite = &gSprites[spriteId];
|
||||
|
||||
sprite->pos1.x += sElectricChargingParticleCoordOffsets[task->data[9]][0];
|
||||
sprite->pos1.y += sElectricChargingParticleCoordOffsets[task->data[9]][1];
|
||||
sprite->x += sElectricChargingParticleCoordOffsets[task->data[9]][0];
|
||||
sprite->y += sElectricChargingParticleCoordOffsets[task->data[9]][1];
|
||||
sprite->data[0] = 40 - task->data[8] * 5;
|
||||
sprite->data[1] = sprite->pos1.x;
|
||||
sprite->data[1] = sprite->x;
|
||||
sprite->data[2] = task->data[14];
|
||||
sprite->data[3] = sprite->pos1.y;
|
||||
sprite->data[3] = sprite->y;
|
||||
sprite->data[4] = task->data[15];
|
||||
sprite->data[5] = taskId;
|
||||
InitAnimLinearTranslation(sprite);
|
||||
@@ -861,13 +861,13 @@ static void AnimGrowingChargeOrb(struct Sprite *sprite)
|
||||
{
|
||||
if (!gBattleAnimArgs[0])
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
}
|
||||
StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
|
||||
sprite->callback = RunStoredCallbackWhenAffineAnimEnds;
|
||||
@@ -877,16 +877,16 @@ static void AnimElectricPuff(struct Sprite *sprite)
|
||||
{
|
||||
if (!gBattleAnimArgs[0])
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
}
|
||||
sprite->pos2.x = gBattleAnimArgs[1];
|
||||
sprite->pos2.y = gBattleAnimArgs[2];
|
||||
sprite->x2 = gBattleAnimArgs[1];
|
||||
sprite->y2 = gBattleAnimArgs[2];
|
||||
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
|
||||
sprite->callback = RunStoredCallbackWhenAnimEnds;
|
||||
}
|
||||
@@ -894,8 +894,8 @@ static void AnimElectricPuff(struct Sprite *sprite)
|
||||
static void AnimVoltTackleOrbSlide(struct Sprite *sprite)
|
||||
{
|
||||
StartSpriteAffineAnim(sprite, 1);
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
sprite->data[6] = GetAnimBattlerSpriteId(ANIM_ATTACKER);
|
||||
sprite->data[7] = 16;
|
||||
if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT)
|
||||
@@ -912,9 +912,9 @@ static void sub_80AE83C(struct Sprite *sprite)
|
||||
++sprite->data[0];
|
||||
break;
|
||||
case 1:
|
||||
sprite->pos1.x += sprite->data[7];
|
||||
gSprites[sprite->data[6]].pos2.x += sprite->data[7];
|
||||
if ((u16)(sprite->pos1.x + 80) > 400)
|
||||
sprite->x += sprite->data[7];
|
||||
gSprites[sprite->data[6]].x2 += sprite->data[7];
|
||||
if ((u16)(sprite->x + 80) > 400)
|
||||
DestroySpriteAndMatrix(sprite);
|
||||
break;
|
||||
}
|
||||
@@ -939,7 +939,7 @@ void AnimTask_VoltTackleAttackerReappear(u8 taskId)
|
||||
task->data[14] = 32;
|
||||
task->data[13] = -2;
|
||||
}
|
||||
gSprites[task->data[15]].pos2.x = task->data[14];
|
||||
gSprites[task->data[15]].x2 = task->data[14];
|
||||
++task->data[0];
|
||||
break;
|
||||
case 1:
|
||||
@@ -951,7 +951,7 @@ void AnimTask_VoltTackleAttackerReappear(u8 taskId)
|
||||
if (task->data[14])
|
||||
{
|
||||
task->data[14] += task->data[13];
|
||||
gSprites[task->data[15]].pos2.x = task->data[14];
|
||||
gSprites[task->data[15]].x2 = task->data[14];
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1085,8 +1085,8 @@ static void AnimGrowingShockWaveOrb(struct Sprite *sprite)
|
||||
switch (sprite->data[0])
|
||||
{
|
||||
case 0:
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
StartSpriteAffineAnim(sprite, 2);
|
||||
++sprite->data[0];
|
||||
break;
|
||||
|
||||
+69
-69
@@ -1617,11 +1617,11 @@ static u8 TrySetupObjectEventSprite(struct ObjectEventTemplate *objectEventTempl
|
||||
}
|
||||
|
||||
sprite = &gSprites[spriteId];
|
||||
sub_8063AD4(objectEvent->currentCoords.x + cameraX, objectEvent->currentCoords.y + cameraY, &sprite->pos1.x, &sprite->pos1.y);
|
||||
sub_8063AD4(objectEvent->currentCoords.x + cameraX, objectEvent->currentCoords.y + cameraY, &sprite->x, &sprite->y);
|
||||
sprite->centerToCornerVecX = -(graphicsInfo->width >> 1);
|
||||
sprite->centerToCornerVecY = -(graphicsInfo->height >> 1);
|
||||
sprite->pos1.x += 8;
|
||||
sprite->pos1.y += 16 + sprite->centerToCornerVecY;
|
||||
sprite->x += 8;
|
||||
sprite->y += 16 + sprite->centerToCornerVecY;
|
||||
sprite->oam.paletteNum = graphicsInfo->paletteSlot;
|
||||
sprite->coordOffsetEnabled = TRUE;
|
||||
sprite->data[0] = objectEventId;
|
||||
@@ -1772,7 +1772,7 @@ u8 sprite_new(u8 graphicsId, u8 a1, s16 x, s16 y, u8 z, u8 direction)
|
||||
sprite = &gSprites[spriteId];
|
||||
sprite->centerToCornerVecX = -(graphicsInfo->width >> 1);
|
||||
sprite->centerToCornerVecY = -(graphicsInfo->height >> 1);
|
||||
sprite->pos1.y += sprite->centerToCornerVecY;
|
||||
sprite->y += sprite->centerToCornerVecY;
|
||||
sprite->oam.paletteNum = graphicsInfo->paletteSlot;
|
||||
sprite->coordOffsetEnabled = TRUE;
|
||||
sprite->data[0] = a1;
|
||||
@@ -1811,7 +1811,7 @@ u8 sub_805EB44(u8 graphicsId, u8 a1, s16 x, s16 y)
|
||||
{
|
||||
sprite = &gSprites[spriteId];
|
||||
sprite->centerToCornerVecY = -(graphicsInfo->height >> 1);
|
||||
sprite->pos1.y += sprite->centerToCornerVecY;
|
||||
sprite->y += sprite->centerToCornerVecY;
|
||||
sprite->oam.paletteNum = graphicsInfo->paletteSlot;
|
||||
sprite->data[0] = a1;
|
||||
if (graphicsInfo->paletteSlot == 10)
|
||||
@@ -1950,11 +1950,11 @@ static void ReloadMapObjectWithOffset(u8 objectEventId, s16 x, s16 y)
|
||||
if (spriteId != MAX_SPRITES)
|
||||
{
|
||||
sprite = &gSprites[spriteId];
|
||||
sub_8063AD4(x + objectEvent->currentCoords.x, y + objectEvent->currentCoords.y, &sprite->pos1.x, &sprite->pos1.y);
|
||||
sub_8063AD4(x + objectEvent->currentCoords.x, y + objectEvent->currentCoords.y, &sprite->x, &sprite->y);
|
||||
sprite->centerToCornerVecX = -(graphicsInfo->width >> 1);
|
||||
sprite->centerToCornerVecY = -(graphicsInfo->height >> 1);
|
||||
sprite->pos1.x += 8;
|
||||
sprite->pos1.y += 16 + sprite->centerToCornerVecY;
|
||||
sprite->x += 8;
|
||||
sprite->y += 16 + sprite->centerToCornerVecY;
|
||||
sprite->images = graphicsInfo->images;
|
||||
if (objectEvent->movementType == MOVEMENT_TYPE_PLAYER)
|
||||
{
|
||||
@@ -2041,11 +2041,11 @@ void ObjectEventSetGraphicsId(struct ObjectEvent *objectEvent, u8 graphicsId)
|
||||
}
|
||||
objectEvent->inanimate = graphicsInfo->inanimate;
|
||||
objectEvent->graphicsId = graphicsId;
|
||||
SetSpritePosToMapCoords(objectEvent->currentCoords.x, objectEvent->currentCoords.y, &sprite->pos1.x, &sprite->pos1.y);
|
||||
SetSpritePosToMapCoords(objectEvent->currentCoords.x, objectEvent->currentCoords.y, &sprite->x, &sprite->y);
|
||||
sprite->centerToCornerVecX = -(graphicsInfo->width >> 1);
|
||||
sprite->centerToCornerVecY = -(graphicsInfo->height >> 1);
|
||||
sprite->pos1.x += 8;
|
||||
sprite->pos1.y += 16 + sprite->centerToCornerVecY;
|
||||
sprite->x += 8;
|
||||
sprite->y += 16 + sprite->centerToCornerVecY;
|
||||
if (objectEvent->trackedByCamera)
|
||||
{
|
||||
CameraObjectReset1();
|
||||
@@ -2172,8 +2172,8 @@ void SetObjectPositionByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup, s16 x,
|
||||
if (!TryGetObjectEventIdByLocalIdAndMap(localId, mapNum, mapGroup, &objectEventId))
|
||||
{
|
||||
sprite = &gSprites[gObjectEvents[objectEventId].spriteId];
|
||||
sprite->pos2.x = x;
|
||||
sprite->pos2.y = y;
|
||||
sprite->x2 = x;
|
||||
sprite->y2 = y;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2317,11 +2317,11 @@ void MoveObjectEventToMapCoords(struct ObjectEvent *objectEvent, s16 x, s16 y)
|
||||
sprite = &gSprites[objectEvent->spriteId];
|
||||
graphicsInfo = GetObjectEventGraphicsInfo(objectEvent->graphicsId);
|
||||
SetObjectEventCoords(objectEvent, x, y);
|
||||
SetSpritePosToMapCoords(objectEvent->currentCoords.x, objectEvent->currentCoords.y, &sprite->pos1.x, &sprite->pos1.y);
|
||||
SetSpritePosToMapCoords(objectEvent->currentCoords.x, objectEvent->currentCoords.y, &sprite->x, &sprite->y);
|
||||
sprite->centerToCornerVecX = -(graphicsInfo->width >> 1);
|
||||
sprite->centerToCornerVecY = -(graphicsInfo->height >> 1);
|
||||
sprite->pos1.x += 8;
|
||||
sprite->pos1.y += 16 + sprite->centerToCornerVecY;
|
||||
sprite->x += 8;
|
||||
sprite->y += 16 + sprite->centerToCornerVecY;
|
||||
sub_805EFF4(objectEvent);
|
||||
if (objectEvent->trackedByCamera)
|
||||
CameraObjectReset1();
|
||||
@@ -2420,8 +2420,8 @@ static void ObjectCB_CameraObject(struct Sprite *sprite)
|
||||
|
||||
static void CameraObject_0(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x = gSprites[sprite->data[0]].pos1.x;
|
||||
sprite->pos1.y = gSprites[sprite->data[0]].pos1.y;
|
||||
sprite->x = gSprites[sprite->data[0]].x;
|
||||
sprite->y = gSprites[sprite->data[0]].y;
|
||||
sprite->invisible = TRUE;
|
||||
sprite->data[1] = 1;
|
||||
CameraObject_1(sprite);
|
||||
@@ -2429,19 +2429,19 @@ static void CameraObject_0(struct Sprite *sprite)
|
||||
|
||||
static void CameraObject_1(struct Sprite *sprite)
|
||||
{
|
||||
s16 x = gSprites[sprite->data[0]].pos1.x;
|
||||
s16 y = gSprites[sprite->data[0]].pos1.y;
|
||||
s16 x = gSprites[sprite->data[0]].x;
|
||||
s16 y = gSprites[sprite->data[0]].y;
|
||||
|
||||
sprite->data[2] = x - sprite->pos1.x;
|
||||
sprite->data[3] = y - sprite->pos1.y;
|
||||
sprite->pos1.x = x;
|
||||
sprite->pos1.y = y;
|
||||
sprite->data[2] = x - sprite->x;
|
||||
sprite->data[3] = y - sprite->y;
|
||||
sprite->x = x;
|
||||
sprite->y = y;
|
||||
}
|
||||
|
||||
static void CameraObject_2(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x = gSprites[sprite->data[0]].pos1.x;
|
||||
sprite->pos1.y = gSprites[sprite->data[0]].pos1.y;
|
||||
sprite->x = gSprites[sprite->data[0]].x;
|
||||
sprite->y = gSprites[sprite->data[0]].y;
|
||||
sprite->data[2] = 0;
|
||||
sprite->data[3] = 0;
|
||||
}
|
||||
@@ -2510,8 +2510,8 @@ u8 CopySprite(struct Sprite *sprite, s16 x, s16 y, u8 subpriority)
|
||||
if (!gSprites[i].inUse)
|
||||
{
|
||||
gSprites[i] = *sprite;
|
||||
gSprites[i].pos1.x = x;
|
||||
gSprites[i].pos1.y = y;
|
||||
gSprites[i].x = x;
|
||||
gSprites[i].y = y;
|
||||
gSprites[i].subpriority = subpriority;
|
||||
break;
|
||||
}
|
||||
@@ -2528,8 +2528,8 @@ u8 CreateCopySpriteAt(struct Sprite *sprite, s16 x, s16 y, u8 subpriority)
|
||||
if (!gSprites[i].inUse)
|
||||
{
|
||||
gSprites[i] = *sprite;
|
||||
gSprites[i].pos1.x = x;
|
||||
gSprites[i].pos1.y = y;
|
||||
gSprites[i].x = x;
|
||||
gSprites[i].y = y;
|
||||
gSprites[i].subpriority = subpriority;
|
||||
return i;
|
||||
}
|
||||
@@ -7896,8 +7896,8 @@ static bool8 MovementActionFunc_x99_1(struct ObjectEvent *objectEvent, struct Sp
|
||||
sprite->animPaused = FALSE;
|
||||
objectEvent->disableAnim = FALSE;
|
||||
}
|
||||
sprite->pos2.y = -(3 * gSineTable[sprite->data[6]] >> 7);
|
||||
objectEvent->singleMovementActive = sprite->pos2.y != 0;
|
||||
sprite->y2 = -(3 * gSineTable[sprite->data[6]] >> 7);
|
||||
objectEvent->singleMovementActive = sprite->y2 != 0;
|
||||
return FALSE;
|
||||
case 1:
|
||||
if (++sprite->data[4] > 16)
|
||||
@@ -7932,7 +7932,7 @@ static bool8 MovementActionFunc_x9A_1(struct ObjectEvent *objectEvent, struct Sp
|
||||
{
|
||||
bool8 ret;
|
||||
sprite->data[7] = (sprite->data[7] + 4) & 0xFF;
|
||||
sprite->pos2.x = gSineTable[sprite->data[7]] >> 7;
|
||||
sprite->x2 = gSineTable[sprite->data[7]] >> 7;
|
||||
if (sprite->data[7] == 0)
|
||||
ret = TRUE;
|
||||
else
|
||||
@@ -7967,30 +7967,30 @@ static bool8 MovementAction_PauseSpriteAnim(struct ObjectEvent *objectEvent, str
|
||||
|
||||
static bool8 MovementActionFunc_xA4_0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos2.y = 0;
|
||||
sprite->y2 = 0;
|
||||
sprite->data[2]++;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static bool8 MovementActionFunc_xA4_1(struct ObjectEvent *objectEvent, struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos2.y -= 8;
|
||||
if (sprite->pos2.y == -160)
|
||||
sprite->y2 -= 8;
|
||||
if (sprite->y2 == -160)
|
||||
sprite->data[2]++;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static bool8 MovementActionFunc_xA5_0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos2.y = -160;
|
||||
sprite->y2 = -160;
|
||||
sprite->data[2]++;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static bool8 MovementActionFunc_xA5_1(struct ObjectEvent *objectEvent, struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos2.y += 8;
|
||||
if (sprite->pos2.y == 0)
|
||||
sprite->y2 += 8;
|
||||
if (sprite->y2 == 0)
|
||||
sprite->data[2]++;
|
||||
return FALSE;
|
||||
}
|
||||
@@ -8035,13 +8035,13 @@ static void CalcWhetherObjectIsOffscreen(struct ObjectEvent *objectEvent, struct
|
||||
graphicsInfo = GetObjectEventGraphicsInfo(objectEvent->graphicsId);
|
||||
if (sprite->coordOffsetEnabled)
|
||||
{
|
||||
x = sprite->pos1.x + sprite->pos2.x + sprite->centerToCornerVecX + gSpriteCoordOffsetX;
|
||||
y = sprite->pos1.y + sprite->pos2.y + sprite->centerToCornerVecY + gSpriteCoordOffsetY;
|
||||
x = sprite->x + sprite->x2 + sprite->centerToCornerVecX + gSpriteCoordOffsetX;
|
||||
y = sprite->y + sprite->y2 + sprite->centerToCornerVecY + gSpriteCoordOffsetY;
|
||||
}
|
||||
else
|
||||
{
|
||||
x = sprite->pos1.x + sprite->pos2.x + sprite->centerToCornerVecX;
|
||||
y = sprite->pos1.y + sprite->pos2.y + sprite->centerToCornerVecY;
|
||||
x = sprite->x + sprite->x2 + sprite->centerToCornerVecX;
|
||||
y = sprite->y + sprite->y2 + sprite->centerToCornerVecY;
|
||||
}
|
||||
x2 = graphicsInfo->width + (s16)x;
|
||||
y2 = graphicsInfo->height + (s16)y;
|
||||
@@ -8471,7 +8471,7 @@ void ObjectEventUpdateZCoord(struct ObjectEvent *objEvent)
|
||||
void SetObjectSubpriorityByZCoord(u8 a, struct Sprite *sprite, u8 b)
|
||||
{
|
||||
s32 tmp = sprite->centerToCornerVecY;
|
||||
u32 tmpa = *(u16 *)&sprite->pos1.y;
|
||||
u32 tmpa = *(u16 *)&sprite->y;
|
||||
u32 tmpb = *(u16 *)&gSpriteCoordOffsetY;
|
||||
s32 tmp2 = (tmpa - tmp) + tmpb;
|
||||
u16 tmp3 = (0x10 - ((((u32)tmp2 + 8) & 0xFF) >> 4)) * 2;
|
||||
@@ -8887,32 +8887,32 @@ void UnfreezeObjectEvents(void)
|
||||
|
||||
static void little_step(struct Sprite * sprite, u8 direction)
|
||||
{
|
||||
sprite->pos1.x += sDirectionToVectors[direction].x;
|
||||
sprite->pos1.y += sDirectionToVectors[direction].y;
|
||||
sprite->x += sDirectionToVectors[direction].x;
|
||||
sprite->y += sDirectionToVectors[direction].y;
|
||||
}
|
||||
|
||||
static void double_little_steps(struct Sprite * sprite, u8 direction)
|
||||
{
|
||||
sprite->pos1.x += 2 * (u16)sDirectionToVectors[direction].x;
|
||||
sprite->pos1.y += 2 * (u16)sDirectionToVectors[direction].y;
|
||||
sprite->x += 2 * (u16)sDirectionToVectors[direction].x;
|
||||
sprite->y += 2 * (u16)sDirectionToVectors[direction].y;
|
||||
}
|
||||
|
||||
static void triple_little_steps(struct Sprite * sprite, u8 direction)
|
||||
{
|
||||
sprite->pos1.x += 2 * (u16)sDirectionToVectors[direction].x + (u16)sDirectionToVectors[direction].x;
|
||||
sprite->pos1.y += 2 * (u16)sDirectionToVectors[direction].y + (u16)sDirectionToVectors[direction].y;
|
||||
sprite->x += 2 * (u16)sDirectionToVectors[direction].x + (u16)sDirectionToVectors[direction].x;
|
||||
sprite->y += 2 * (u16)sDirectionToVectors[direction].y + (u16)sDirectionToVectors[direction].y;
|
||||
}
|
||||
|
||||
static void quad_little_steps(struct Sprite * sprite, u8 direction)
|
||||
{
|
||||
sprite->pos1.x += 4 * (u16)sDirectionToVectors[direction].x;
|
||||
sprite->pos1.y += 4 * (u16)sDirectionToVectors[direction].y;
|
||||
sprite->x += 4 * (u16)sDirectionToVectors[direction].x;
|
||||
sprite->y += 4 * (u16)sDirectionToVectors[direction].y;
|
||||
}
|
||||
|
||||
static void oct_little_steps(struct Sprite * sprite, u8 direction)
|
||||
{
|
||||
sprite->pos1.x += 8 * (u16)sDirectionToVectors[direction].x;
|
||||
sprite->pos1.y += 8 * (u16)sDirectionToVectors[direction].y;
|
||||
sprite->x += 8 * (u16)sDirectionToVectors[direction].x;
|
||||
sprite->y += 8 * (u16)sDirectionToVectors[direction].y;
|
||||
}
|
||||
|
||||
void oamt_npc_ministep_reset(struct Sprite * sprite, u8 direction, u8 speed)
|
||||
@@ -9158,7 +9158,7 @@ u8 sub_8068D3C(struct Sprite *sprite)
|
||||
if (sprite->tJumpSpeed != 0)
|
||||
little_step(sprite, sprite->tDirection);
|
||||
|
||||
sprite->pos2.y = GetJumpYDisplacement(sprite->tStepNo >> shifts[sprite->tJumpSpeed], sprite->tJumpHeight);
|
||||
sprite->y2 = GetJumpYDisplacement(sprite->tStepNo >> shifts[sprite->tJumpSpeed], sprite->tJumpHeight);
|
||||
|
||||
sprite->tStepNo++;
|
||||
|
||||
@@ -9167,7 +9167,7 @@ u8 sub_8068D3C(struct Sprite *sprite)
|
||||
|
||||
if (sprite->tStepNo >= duration[sprite->tJumpSpeed])
|
||||
{
|
||||
sprite->pos2.y = 0;
|
||||
sprite->y2 = 0;
|
||||
jumpPhase = -1;
|
||||
}
|
||||
|
||||
@@ -9183,7 +9183,7 @@ u8 sub_8068DC4(struct Sprite *sprite)
|
||||
if (sprite->tJumpSpeed != 0 && !(sprite->tStepNo & 1))
|
||||
little_step(sprite, sprite->tDirection);
|
||||
|
||||
sprite->pos2.y = GetJumpYDisplacement(sprite->tStepNo >> shifts[sprite->tJumpSpeed], sprite->tJumpHeight);
|
||||
sprite->y2 = GetJumpYDisplacement(sprite->tStepNo >> shifts[sprite->tJumpSpeed], sprite->tJumpHeight);
|
||||
|
||||
sprite->tStepNo++;
|
||||
|
||||
@@ -9192,7 +9192,7 @@ u8 sub_8068DC4(struct Sprite *sprite)
|
||||
|
||||
if (sprite->tStepNo >= duration[sprite->tJumpSpeed])
|
||||
{
|
||||
sprite->pos2.y = 0;
|
||||
sprite->y2 = 0;
|
||||
jumpPhase = -1;
|
||||
}
|
||||
|
||||
@@ -9247,13 +9247,13 @@ void UpdateObjectEventSpriteVisibility(struct Sprite *sprite, bool8 invisible)
|
||||
|
||||
if (sprite->coordOffsetEnabled)
|
||||
{
|
||||
x = sprite->pos1.x + sprite->pos2.x + sprite->centerToCornerVecX + gSpriteCoordOffsetX;
|
||||
y = sprite->pos1.y + sprite->pos2.y + sprite->centerToCornerVecY + gSpriteCoordOffsetY;
|
||||
x = sprite->x + sprite->x2 + sprite->centerToCornerVecX + gSpriteCoordOffsetX;
|
||||
y = sprite->y + sprite->y2 + sprite->centerToCornerVecY + gSpriteCoordOffsetY;
|
||||
}
|
||||
else
|
||||
{
|
||||
x = sprite->pos1.x + sprite->pos2.x + sprite->centerToCornerVecX;
|
||||
y = sprite->pos1.y + sprite->pos2.y + sprite->centerToCornerVecY;
|
||||
x = sprite->x + sprite->x2 + sprite->centerToCornerVecX;
|
||||
y = sprite->y + sprite->y2 + sprite->centerToCornerVecY;
|
||||
}
|
||||
|
||||
x2 = x - (sprite->centerToCornerVecX >> 1);
|
||||
@@ -9377,13 +9377,13 @@ static void DoObjectUnionRoomWarpYDisplacementUpwards(struct Sprite * sprite)
|
||||
switch (sprite->tUnionRoomWarpAnimState)
|
||||
{
|
||||
case 0:
|
||||
sprite->pos2.y = 0;
|
||||
sprite->y2 = 0;
|
||||
sprite->tUnionRoomWarpAnimState++;
|
||||
// fallthrough
|
||||
case 1:
|
||||
if ((sprite->pos2.y -= 8) == -160)
|
||||
if ((sprite->y2 -= 8) == -160)
|
||||
{
|
||||
sprite->pos2.y = 0;
|
||||
sprite->y2 = 0;
|
||||
sprite->tInvisible = 1;
|
||||
sprite->tUnionRoomWarpAnimNo = 0;
|
||||
sprite->tUnionRoomWarpAnimState = 0;
|
||||
@@ -9397,11 +9397,11 @@ static void DoObjectUnionRoomWarpYDisplacementDownwards(struct Sprite * sprite)
|
||||
switch (sprite->tUnionRoomWarpAnimState)
|
||||
{
|
||||
case 0:
|
||||
sprite->pos2.y = -160;
|
||||
sprite->y2 = -160;
|
||||
sprite->tUnionRoomWarpAnimState++;
|
||||
// fallthrough
|
||||
case 1:
|
||||
if ((sprite->pos2.y += 8) == 0)
|
||||
if ((sprite->y2 += 8) == 0)
|
||||
{
|
||||
sprite->tUnionRoomWarpAnimNo = 0;
|
||||
sprite->tUnionRoomWarpAnimState = 0;
|
||||
@@ -9463,8 +9463,8 @@ void DoShadowFieldEffect(struct ObjectEvent *objectEvent)
|
||||
static void DoRippleFieldEffect(struct ObjectEvent *objectEvent, struct Sprite *sprite)
|
||||
{
|
||||
const struct ObjectEventGraphicsInfo *graphicsInfo = GetObjectEventGraphicsInfo(objectEvent->graphicsId);
|
||||
gFieldEffectArguments[0] = sprite->pos1.x;
|
||||
gFieldEffectArguments[1] = sprite->pos1.y + (graphicsInfo->height >> 1) - 2;
|
||||
gFieldEffectArguments[0] = sprite->x;
|
||||
gFieldEffectArguments[1] = sprite->y + (graphicsInfo->height >> 1) - 2;
|
||||
gFieldEffectArguments[2] = 151;
|
||||
gFieldEffectArguments[3] = 3;
|
||||
FieldEffectStart(FLDEFF_RIPPLE);
|
||||
|
||||
+14
-14
@@ -105,16 +105,16 @@ static void SetEvoSparklesMatrices(void)
|
||||
static void SpriteCB_PreEvoSparkleSet1(struct Sprite * sprite)
|
||||
{
|
||||
u8 mnum;
|
||||
if (sprite->pos1.y > 8)
|
||||
if (sprite->y > 8)
|
||||
{
|
||||
sprite->pos1.y = 88 - sprite->data[7] * sprite->data[7] / 80;
|
||||
sprite->pos2.y = Sin((u8)sprite->data[6], sprite->data[5]) / 4;
|
||||
sprite->pos2.x = Cos((u8) sprite->data[6], sprite->data[5]);
|
||||
sprite->y = 88 - sprite->data[7] * sprite->data[7] / 80;
|
||||
sprite->y2 = Sin((u8)sprite->data[6], sprite->data[5]) / 4;
|
||||
sprite->x2 = Cos((u8) sprite->data[6], sprite->data[5]);
|
||||
sprite->data[6] += 4;
|
||||
if (sprite->data[7] & 1)
|
||||
sprite->data[5]--;
|
||||
sprite->data[7]++;
|
||||
if (sprite->pos2.y > 0)
|
||||
if (sprite->y2 > 0)
|
||||
sprite->subpriority = 1;
|
||||
else
|
||||
sprite->subpriority = 20;
|
||||
@@ -145,11 +145,11 @@ static void CreatePreEvoSparkleSet1(u8 a0)
|
||||
|
||||
static void SpriteCB_PreEvoSparkleSet2(struct Sprite * sprite)
|
||||
{
|
||||
if (sprite->pos1.y < 88)
|
||||
if (sprite->y < 88)
|
||||
{
|
||||
sprite->pos1.y = 8 + sprite->data[7] * sprite->data[7] / 5;
|
||||
sprite->pos2.y = Sin((u8)sprite->data[6], sprite->data[5]) / 4;
|
||||
sprite->pos2.x = Cos((u8)sprite->data[6], sprite->data[5]);
|
||||
sprite->y = 8 + sprite->data[7] * sprite->data[7] / 5;
|
||||
sprite->y2 = Sin((u8)sprite->data[6], sprite->data[5]) / 4;
|
||||
sprite->x2 = Cos((u8)sprite->data[6], sprite->data[5]);
|
||||
sprite->data[5] = Sin((u8)(sprite->data[7] * 4), 40) + 8;
|
||||
sprite->data[7]++;
|
||||
}
|
||||
@@ -178,8 +178,8 @@ static void SpriteCB_PostEvoSparkleSet1(struct Sprite * sprite)
|
||||
{
|
||||
if (sprite->data[5] > 8)
|
||||
{
|
||||
sprite->pos2.y = Sin((u8)sprite->data[6], sprite->data[5]);
|
||||
sprite->pos2.x = Cos((u8)sprite->data[6], sprite->data[5]);
|
||||
sprite->y2 = Sin((u8)sprite->data[6], sprite->data[5]);
|
||||
sprite->x2 = Cos((u8)sprite->data[6], sprite->data[5]);
|
||||
sprite->data[5] -= sprite->data[3];
|
||||
sprite->data[6] += 4;
|
||||
}
|
||||
@@ -209,11 +209,11 @@ static void SpriteCB_PostEvoSparkleSet2(struct Sprite * sprite)
|
||||
{
|
||||
u8 mnum;
|
||||
if ((sprite->data[7] & 3) == 0)
|
||||
sprite->pos1.y++;
|
||||
sprite->y++;
|
||||
if (sprite->data[6] < 128)
|
||||
{
|
||||
sprite->pos2.y = -Sin((u8)sprite->data[6], sprite->data[5]);
|
||||
sprite->pos1.x = 120 + sprite->data[3] * sprite->data[7] / 3;
|
||||
sprite->y2 = -Sin((u8)sprite->data[6], sprite->data[5]);
|
||||
sprite->x = 120 + sprite->data[3] * sprite->data[7] / 3;
|
||||
sprite->data[6]++;
|
||||
mnum = 31 - sprite->data[6] * 12 / 128;
|
||||
if (sprite->data[6] > 64)
|
||||
|
||||
+12
-12
@@ -753,10 +753,10 @@ static void Task_TopMenuHandleInput(u8 taskId)
|
||||
UpdateInfoBoxTilemap(1, 5);
|
||||
PrintUIHelp(1);
|
||||
task->data[2] = CreatePersonPicSprite(sFameCheckerData->unlockedPersons[cursorPos]);
|
||||
gSprites[task->data[2]].pos2.x = 0xF0;
|
||||
gSprites[task->data[2]].x2 = 0xF0;
|
||||
gSprites[task->data[2]].data[0] = 1;
|
||||
task->data[3] = CreateSpinningPokeballSprite();
|
||||
gSprites[task->data[3]].pos2.x = 0xF0;
|
||||
gSprites[task->data[3]].x2 = 0xF0;
|
||||
gSprites[task->data[3]].data[0] = 1;
|
||||
task->func = Task_EnterPickMode;
|
||||
}
|
||||
@@ -808,9 +808,9 @@ static bool8 TryExitPickMode(u8 taskId)
|
||||
if (sFameCheckerData->inPickMode)
|
||||
{
|
||||
gSprites[task->data[2]].data[0] = 2;
|
||||
gSprites[task->data[2]].pos2.x += 10;
|
||||
gSprites[task->data[2]].x2 += 10;
|
||||
gSprites[task->data[3]].data[0] = 2;
|
||||
gSprites[task->data[3]].pos2.x += 10;
|
||||
gSprites[task->data[3]].x2 += 10;
|
||||
WipeMsgBoxAndTransfer();
|
||||
task->func = Task_ExitPickMode;
|
||||
MessageBoxPrintEmptyText();
|
||||
@@ -932,8 +932,8 @@ static void FC_MoveSelectorCursor(u8 taskId, s8 dx, s8 dy)
|
||||
u8 i;
|
||||
s16 *data = gTasks[taskId].data;
|
||||
PlaySE(SE_M_SWAGGER2);
|
||||
gSprites[data[0]].pos1.x += dx;
|
||||
gSprites[data[0]].pos1.y += dy;
|
||||
gSprites[data[0]].x += dx;
|
||||
gSprites[data[0]].y += dy;
|
||||
for (i = 0; i < 6; i++)
|
||||
SetMessageSelectorIconObjMode(sFameCheckerData->spriteIds[i], ST_OAM_OBJ_BLEND);
|
||||
FillWindowPixelRect(FCWINDOWID_MSGBOX, PIXEL_FILL(1), 0, 0, 0xd0, 0x20);
|
||||
@@ -1315,23 +1315,23 @@ static void SpriteCB_FCSpinningPokeball(struct Sprite * sprite)
|
||||
{
|
||||
if (sprite->data[0] == 1)
|
||||
{
|
||||
if (sprite->pos2.x - 10 < 0)
|
||||
if (sprite->x2 - 10 < 0)
|
||||
{
|
||||
sprite->pos2.x = 0;
|
||||
sprite->x2 = 0;
|
||||
sprite->data[0] = 0;
|
||||
}
|
||||
else
|
||||
sprite->pos2.x -= 10;
|
||||
sprite->x2 -= 10;
|
||||
}
|
||||
else if (sprite->data[0] == 2)
|
||||
{
|
||||
if (sprite->pos2.x > 240)
|
||||
if (sprite->x2 > 240)
|
||||
{
|
||||
sprite->pos2.x = 240;
|
||||
sprite->x2 = 240;
|
||||
sprite->data[0] = 0;
|
||||
}
|
||||
else
|
||||
sprite->pos2.x += 10;
|
||||
sprite->x2 += 10;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+101
-101
@@ -826,8 +826,8 @@ static u8 CreatePokeballGlowSprite(s16 duration, s16 x, s16 y, bool16 fanfare)
|
||||
struct Sprite * sprite;
|
||||
spriteId = CreateInvisibleSprite(SpriteCB_PokeballGlowEffect);
|
||||
sprite = &gSprites[spriteId];
|
||||
sprite->pos2.x = x;
|
||||
sprite->pos2.y = y;
|
||||
sprite->x2 = x;
|
||||
sprite->y2 = y;
|
||||
sprite->subpriority = 0xFF;
|
||||
sprite->data[5] = fanfare;
|
||||
sprite->data[6] = duration;
|
||||
@@ -859,7 +859,7 @@ static void PokeballGlowEffect_0(struct Sprite * sprite)
|
||||
if (sprite->data[1] == 0 || (--sprite->data[1]) == 0)
|
||||
{
|
||||
sprite->data[1] = 25;
|
||||
endSpriteId = CreateSpriteAtEnd(&sUnknown_83CBF88, sUnknown_83CC010[sprite->data[2]].x + sprite->pos2.x, sUnknown_83CC010[sprite->data[2]].y + sprite->pos2.y, 0xFF);
|
||||
endSpriteId = CreateSpriteAtEnd(&sUnknown_83CBF88, sUnknown_83CC010[sprite->data[2]].x + sprite->x2, sUnknown_83CC010[sprite->data[2]].y + sprite->y2, 0xFF);
|
||||
gSprites[endSpriteId].oam.priority = 2;
|
||||
gSprites[endSpriteId].data[0] = sprite->data[7];
|
||||
sprite->data[2]++;
|
||||
@@ -1155,7 +1155,7 @@ static bool8 FallWarpEffect_3(struct Task * task)
|
||||
s16 centerToCornerVecY;
|
||||
sprite = &gSprites[gPlayerAvatar.spriteId];
|
||||
centerToCornerVecY = -(sprite->centerToCornerVecY << 1);
|
||||
sprite->pos2.y = -(sprite->pos1.y + sprite->centerToCornerVecY + gSpriteCoordOffsetY + centerToCornerVecY);
|
||||
sprite->y2 = -(sprite->y + sprite->centerToCornerVecY + gSpriteCoordOffsetY + centerToCornerVecY);
|
||||
task->data[1] = 1;
|
||||
task->data[2] = 0;
|
||||
gObjectEvents[gPlayerAvatar.objectEventId].invisible = FALSE;
|
||||
@@ -1171,7 +1171,7 @@ static bool8 FallWarpEffect_4(struct Task * task)
|
||||
|
||||
objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId];
|
||||
sprite = &gSprites[gPlayerAvatar.spriteId];
|
||||
sprite->pos2.y += task->data[1];
|
||||
sprite->y2 += task->data[1];
|
||||
if (task->data[1] < 8)
|
||||
{
|
||||
task->data[2] += task->data[1];
|
||||
@@ -1180,19 +1180,19 @@ static bool8 FallWarpEffect_4(struct Task * task)
|
||||
task->data[1] <<= 1;
|
||||
}
|
||||
}
|
||||
if (task->data[3] == 0 && sprite->pos2.y >= -16)
|
||||
if (task->data[3] == 0 && sprite->y2 >= -16)
|
||||
{
|
||||
task->data[3]++;
|
||||
objectEvent->fixedPriority = FALSE;
|
||||
sprite->subspriteMode = task->data[4];
|
||||
objectEvent->triggerGroundEffectsOnMove = TRUE;
|
||||
}
|
||||
if (sprite->pos2.y >= 0)
|
||||
if (sprite->y2 >= 0)
|
||||
{
|
||||
PlaySE(SE_M_STRENGTH);
|
||||
objectEvent->triggerGroundEffectsOnStop = TRUE;
|
||||
objectEvent->landingJump = TRUE;
|
||||
sprite->pos2.y = 0;
|
||||
sprite->y2 = 0;
|
||||
task->data[0]++;
|
||||
}
|
||||
return FALSE;
|
||||
@@ -1358,8 +1358,8 @@ static void Escalator_AnimatePlayerGoingDown(struct Task * task)
|
||||
{
|
||||
struct Sprite * sprite;
|
||||
sprite = &gSprites[gPlayerAvatar.spriteId];
|
||||
sprite->pos2.x = Cos(0x84, task->data[2]);
|
||||
sprite->pos2.y = Sin(0x94, task->data[2]);
|
||||
sprite->x2 = Cos(0x84, task->data[2]);
|
||||
sprite->y2 = Sin(0x94, task->data[2]);
|
||||
task->data[3]++;
|
||||
if (task->data[3] & 1)
|
||||
{
|
||||
@@ -1371,8 +1371,8 @@ static void Escalator_AnimatePlayerGoingUp(struct Task * task)
|
||||
{
|
||||
struct Sprite * sprite;
|
||||
sprite = &gSprites[gPlayerAvatar.spriteId];
|
||||
sprite->pos2.x = Cos(0x7c, task->data[2]);
|
||||
sprite->pos2.y = Sin(0x76, task->data[2]);
|
||||
sprite->x2 = Cos(0x7c, task->data[2]);
|
||||
sprite->y2 = Sin(0x76, task->data[2]);
|
||||
task->data[3]++;
|
||||
if (task->data[3] & 1)
|
||||
{
|
||||
@@ -1455,8 +1455,8 @@ static bool8 EscalatorWarpInEffect_2(struct Task * task)
|
||||
{
|
||||
struct Sprite * sprite;
|
||||
sprite = &gSprites[gPlayerAvatar.spriteId];
|
||||
sprite->pos2.x = Cos(0x84, task->data[1]);
|
||||
sprite->pos2.y = Sin(0x94, task->data[1]);
|
||||
sprite->x2 = Cos(0x84, task->data[1]);
|
||||
sprite->y2 = Sin(0x94, task->data[1]);
|
||||
task->data[0]++;
|
||||
return FALSE;
|
||||
}
|
||||
@@ -1465,8 +1465,8 @@ static bool8 EscalatorWarpInEffect_3(struct Task * task)
|
||||
{
|
||||
struct Sprite * sprite;
|
||||
sprite = &gSprites[gPlayerAvatar.spriteId];
|
||||
sprite->pos2.x = Cos(0x84, task->data[1]);
|
||||
sprite->pos2.y = Sin(0x94, task->data[1]);
|
||||
sprite->x2 = Cos(0x84, task->data[1]);
|
||||
sprite->y2 = Sin(0x94, task->data[1]);
|
||||
task->data[2]++;
|
||||
if (task->data[2] & 1)
|
||||
{
|
||||
@@ -1474,8 +1474,8 @@ static bool8 EscalatorWarpInEffect_3(struct Task * task)
|
||||
}
|
||||
if (task->data[1] == 0)
|
||||
{
|
||||
sprite->pos2.x = 0;
|
||||
sprite->pos2.y = 0;
|
||||
sprite->x2 = 0;
|
||||
sprite->y2 = 0;
|
||||
task->data[0] = 5;
|
||||
}
|
||||
return FALSE;
|
||||
@@ -1486,8 +1486,8 @@ static bool8 EscalatorWarpInEffect_4(struct Task * task)
|
||||
{
|
||||
struct Sprite * sprite;
|
||||
sprite = &gSprites[gPlayerAvatar.spriteId];
|
||||
sprite->pos2.x = Cos(0x7c, task->data[1]);
|
||||
sprite->pos2.y = Sin(0x76, task->data[1]);
|
||||
sprite->x2 = Cos(0x7c, task->data[1]);
|
||||
sprite->y2 = Sin(0x76, task->data[1]);
|
||||
task->data[0]++;
|
||||
return FALSE;
|
||||
}
|
||||
@@ -1496,8 +1496,8 @@ static bool8 EscalatorWarpInEffect_5(struct Task * task)
|
||||
{
|
||||
struct Sprite * sprite;
|
||||
sprite = &gSprites[gPlayerAvatar.spriteId];
|
||||
sprite->pos2.x = Cos(0x7c, task->data[1]);
|
||||
sprite->pos2.y = Sin(0x76, task->data[1]);
|
||||
sprite->x2 = Cos(0x7c, task->data[1]);
|
||||
sprite->y2 = Sin(0x76, task->data[1]);
|
||||
task->data[2]++;
|
||||
if (task->data[2] & 1)
|
||||
{
|
||||
@@ -1505,8 +1505,8 @@ static bool8 EscalatorWarpInEffect_5(struct Task * task)
|
||||
}
|
||||
if (task->data[1] == 0)
|
||||
{
|
||||
sprite->pos2.x = 0;
|
||||
sprite->pos2.y = 0;
|
||||
sprite->x2 = 0;
|
||||
sprite->y2 = 0;
|
||||
task->data[0]++;
|
||||
}
|
||||
return FALSE;
|
||||
@@ -1736,7 +1736,7 @@ static bool8 LavaridgeGymB1FWarpEffect_2(struct Task * task, struct ObjectEvent
|
||||
|
||||
static bool8 LavaridgeGymB1FWarpEffect_3(struct Task * task, struct ObjectEvent * objectEvent, struct Sprite * sprite)
|
||||
{
|
||||
sprite->pos2.y = 0;
|
||||
sprite->y2 = 0;
|
||||
task->data[3] = 1;
|
||||
gFieldEffectArguments[0] = objectEvent->currentCoords.x;
|
||||
gFieldEffectArguments[1] = objectEvent->currentCoords.y;
|
||||
@@ -1765,9 +1765,9 @@ static bool8 LavaridgeGymB1FWarpEffect_4(struct Task * task, struct ObjectEvent
|
||||
if (task->data[2] > 6)
|
||||
{
|
||||
centerToCornerVecY = -(sprite->centerToCornerVecY << 1);
|
||||
if (sprite->pos2.y > -(sprite->pos1.y + sprite->centerToCornerVecY + gSpriteCoordOffsetY + centerToCornerVecY))
|
||||
if (sprite->y2 > -(sprite->y + sprite->centerToCornerVecY + gSpriteCoordOffsetY + centerToCornerVecY))
|
||||
{
|
||||
sprite->pos2.y -= task->data[3];
|
||||
sprite->y2 -= task->data[3];
|
||||
if (task->data[3] <= 7)
|
||||
{
|
||||
task->data[3]++;
|
||||
@@ -1777,7 +1777,7 @@ static bool8 LavaridgeGymB1FWarpEffect_4(struct Task * task, struct ObjectEvent
|
||||
task->data[4] = 1;
|
||||
}
|
||||
}
|
||||
if (task->data[5] == 0 && sprite->pos2.y < -0x10)
|
||||
if (task->data[5] == 0 && sprite->y2 < -0x10)
|
||||
{
|
||||
task->data[5]++;
|
||||
objectEvent->fixedPriority = TRUE;
|
||||
@@ -2108,7 +2108,7 @@ static bool32 sub_80857F0(struct ObjectEvent * playerObj, s16 *state_p, s16 *y_p
|
||||
(*state_p)++;
|
||||
// fallthrough
|
||||
case 1:
|
||||
sprite->pos2.y -= 8;
|
||||
sprite->y2 -= 8;
|
||||
(*y_p) -= 8;
|
||||
if (*y_p <= -16)
|
||||
{
|
||||
@@ -2120,7 +2120,7 @@ static bool32 sub_80857F0(struct ObjectEvent * playerObj, s16 *state_p, s16 *y_p
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
sprite->pos2.y -= 8;
|
||||
sprite->y2 -= 8;
|
||||
(*y_p) -= 8;
|
||||
if (*y_p <= -88)
|
||||
{
|
||||
@@ -2147,7 +2147,7 @@ static bool32 sub_80858A4(struct ObjectEvent * playerObj, s16 *state_p, s16 *y_p
|
||||
case 0:
|
||||
CameraObjectReset2();
|
||||
*y_p = -88;
|
||||
sprite->pos2.y -= 88;
|
||||
sprite->y2 -= 88;
|
||||
*priority_p = sprite->oam.priority;
|
||||
*subpriority_p = sprite->subpriority;
|
||||
*subspriteMode_p = sprite->subspriteMode;
|
||||
@@ -2158,7 +2158,7 @@ static bool32 sub_80858A4(struct ObjectEvent * playerObj, s16 *state_p, s16 *y_p
|
||||
(*state_p)++;
|
||||
// fallthrough
|
||||
case 1:
|
||||
sprite->pos2.y += 4;
|
||||
sprite->y2 += 4;
|
||||
(*y_p) += 4;
|
||||
if (*y_p >= -16)
|
||||
{
|
||||
@@ -2169,7 +2169,7 @@ static bool32 sub_80858A4(struct ObjectEvent * playerObj, s16 *state_p, s16 *y_p
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
sprite->pos2.y += 4;
|
||||
sprite->y2 += 4;
|
||||
(*y_p) += 4;
|
||||
if (*y_p >= 0)
|
||||
{
|
||||
@@ -2310,7 +2310,7 @@ static void TeleportFieldEffectTask3(struct Task * task)
|
||||
task->data[1] = 4;
|
||||
ObjectEventTurn(objectEvent, spinDirections[objectEvent->facingDirection]);
|
||||
}
|
||||
sprite->pos1.y -= task->data[3];
|
||||
sprite->y -= task->data[3];
|
||||
task->data[4] += task->data[3];
|
||||
if ((--task->data[2]) <= 0 && (task->data[2] = 4, task->data[3] < 8))
|
||||
{
|
||||
@@ -2375,7 +2375,7 @@ static void TeleportInFieldEffectTask1(struct Task * task)
|
||||
{
|
||||
sprite = &gSprites[gPlayerAvatar.spriteId];
|
||||
centerToCornerVecY = -(sprite->centerToCornerVecY << 1);
|
||||
sprite->pos2.y = -(sprite->pos1.y + sprite->centerToCornerVecY + gSpriteCoordOffsetY + centerToCornerVecY);
|
||||
sprite->y2 = -(sprite->y + sprite->centerToCornerVecY + gSpriteCoordOffsetY + centerToCornerVecY);
|
||||
gObjectEvents[gPlayerAvatar.objectEventId].invisible = FALSE;
|
||||
task->data[0]++;
|
||||
task->data[1] = 8;
|
||||
@@ -2391,7 +2391,7 @@ static void TeleportInFieldEffectTask2(struct Task * task)
|
||||
u8 spinDirections[5] = {1, 3, 4, 2, 1};
|
||||
struct ObjectEvent * objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId];
|
||||
struct Sprite * sprite = &gSprites[gPlayerAvatar.spriteId];
|
||||
if ((sprite->pos2.y += task->data[1]) >= -8)
|
||||
if ((sprite->y2 += task->data[1]) >= -8)
|
||||
{
|
||||
if (task->data[13] == 0)
|
||||
{
|
||||
@@ -2407,7 +2407,7 @@ static void TeleportInFieldEffectTask2(struct Task * task)
|
||||
sprite->subspriteMode = SUBSPRITES_IGNORE_PRIORITY;
|
||||
}
|
||||
}
|
||||
if (sprite->pos2.y >= -0x30 && task->data[1] > 1 && !(sprite->pos2.y & 1))
|
||||
if (sprite->y2 >= -0x30 && task->data[1] > 1 && !(sprite->y2 & 1))
|
||||
{
|
||||
task->data[1]--;
|
||||
}
|
||||
@@ -2416,9 +2416,9 @@ static void TeleportInFieldEffectTask2(struct Task * task)
|
||||
task->data[2] = 4;
|
||||
ObjectEventTurn(objectEvent, spinDirections[objectEvent->facingDirection]);
|
||||
}
|
||||
if (sprite->pos2.y >= 0)
|
||||
if (sprite->y2 >= 0)
|
||||
{
|
||||
sprite->pos2.y = 0;
|
||||
sprite->y2 = 0;
|
||||
task->data[0]++;
|
||||
task->data[1] = 1;
|
||||
task->data[2] = 0;
|
||||
@@ -2836,9 +2836,9 @@ static u8 sub_8086860(u32 species, u32 otId, u32 personality)
|
||||
|
||||
static void sub_80868C0(struct Sprite * sprite)
|
||||
{
|
||||
if ((sprite->pos1.x -= 20) <= 0x78)
|
||||
if ((sprite->x -= 20) <= 0x78)
|
||||
{
|
||||
sprite->pos1.x = 0x78;
|
||||
sprite->x = 0x78;
|
||||
sprite->data[1] = 30;
|
||||
sprite->callback = sub_8086904;
|
||||
if (sprite->data[6])
|
||||
@@ -2862,13 +2862,13 @@ static void sub_8086904(struct Sprite * sprite)
|
||||
|
||||
static void sub_8086920(struct Sprite * sprite)
|
||||
{
|
||||
if (sprite->pos1.x < -0x40)
|
||||
if (sprite->x < -0x40)
|
||||
{
|
||||
sprite->data[7] = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos1.x -= 20;
|
||||
sprite->x -= 20;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3063,17 +3063,17 @@ static void sub_8086D94(struct Sprite * sprite)
|
||||
{
|
||||
struct Sprite * npcSprite;
|
||||
|
||||
sprite->pos2.x = Cos(sprite->data[2], 0x8c);
|
||||
sprite->pos2.y = Sin(sprite->data[2], 0x48);
|
||||
sprite->x2 = Cos(sprite->data[2], 0x8c);
|
||||
sprite->y2 = Sin(sprite->data[2], 0x48);
|
||||
sprite->data[2] = (sprite->data[2] + 4) & 0xff;
|
||||
if (sprite->data[0])
|
||||
{
|
||||
npcSprite = &gSprites[sprite->data[1]];
|
||||
npcSprite->coordOffsetEnabled = FALSE;
|
||||
npcSprite->pos1.x = sprite->pos1.x + sprite->pos2.x;
|
||||
npcSprite->pos1.y = sprite->pos1.y + sprite->pos2.y - 8;
|
||||
npcSprite->pos2.x = 0;
|
||||
npcSprite->pos2.y = 0;
|
||||
npcSprite->x = sprite->x + sprite->x2;
|
||||
npcSprite->y = sprite->y + sprite->y2 - 8;
|
||||
npcSprite->x2 = 0;
|
||||
npcSprite->y2 = 0;
|
||||
}
|
||||
if (sprite->data[2] >= 0x80)
|
||||
{
|
||||
@@ -3257,10 +3257,10 @@ static void sub_80871C8(u8 spriteId)
|
||||
struct Sprite * sprite;
|
||||
sprite = &gSprites[spriteId];
|
||||
sprite->callback = sub_80872F0;
|
||||
sprite->pos1.x = 0x78;
|
||||
sprite->pos1.y = 0x00;
|
||||
sprite->pos2.x = 0;
|
||||
sprite->pos2.y = 0;
|
||||
sprite->x = 0x78;
|
||||
sprite->y = 0x00;
|
||||
sprite->x2 = 0;
|
||||
sprite->y2 = 0;
|
||||
memset(&sprite->data[0], 0, 8 * sizeof(u16) /* zero all data cells */);
|
||||
sprite->data[6] = 0x40;
|
||||
}
|
||||
@@ -3298,17 +3298,17 @@ static void sub_8087220(struct Sprite * sprite)
|
||||
InitSpriteAffineAnim(sprite);
|
||||
StartSpriteAffineAnim(sprite, 0);
|
||||
if (gSaveBlock2Ptr->playerGender == MALE)
|
||||
sprite->pos1.x = 0x80;
|
||||
sprite->x = 0x80;
|
||||
else
|
||||
sprite->pos1.x = 0x76;
|
||||
sprite->pos1.y = -0x30;
|
||||
sprite->x = 0x76;
|
||||
sprite->y = -0x30;
|
||||
sprite->data[0]++;
|
||||
sprite->data[1] = 0x40;
|
||||
sprite->data[2] = 0x100;
|
||||
}
|
||||
sprite->data[1] += (sprite->data[2] >> 8);
|
||||
sprite->pos2.x = Cos(sprite->data[1], 0x78);
|
||||
sprite->pos2.y = Sin(sprite->data[1], 0x78);
|
||||
sprite->x2 = Cos(sprite->data[1], 0x78);
|
||||
sprite->y2 = Sin(sprite->data[1], 0x78);
|
||||
if (sprite->data[2] < 0x800)
|
||||
{
|
||||
sprite->data[2] += 0x60;
|
||||
@@ -3325,17 +3325,17 @@ static void sub_8087220(struct Sprite * sprite)
|
||||
|
||||
static void sub_80872F0(struct Sprite * sprite)
|
||||
{
|
||||
sprite->pos2.x = Cos(sprite->data[2], 0x8c);
|
||||
sprite->pos2.y = Sin(sprite->data[2], 0x48);
|
||||
sprite->x2 = Cos(sprite->data[2], 0x8c);
|
||||
sprite->y2 = Sin(sprite->data[2], 0x48);
|
||||
sprite->data[2] = (sprite->data[2] + 4) & 0xff;
|
||||
if (sprite->data[6] != MAX_SPRITES)
|
||||
{
|
||||
struct Sprite * sprite1 = &gSprites[sprite->data[6]];
|
||||
sprite1->coordOffsetEnabled = FALSE;
|
||||
sprite1->pos1.x = sprite->pos1.x + sprite->pos2.x;
|
||||
sprite1->pos1.y = sprite->pos1.y + sprite->pos2.y - 8;
|
||||
sprite1->pos2.x = 0;
|
||||
sprite1->pos2.y = 0;
|
||||
sprite1->x = sprite->x + sprite->x2;
|
||||
sprite1->y = sprite->y + sprite->y2 - 8;
|
||||
sprite1->x2 = 0;
|
||||
sprite1->y2 = 0;
|
||||
}
|
||||
if (sprite->data[2] >= 0x80)
|
||||
{
|
||||
@@ -3354,10 +3354,10 @@ static void sub_8087364(struct Sprite * sprite)
|
||||
InitSpriteAffineAnim(sprite);
|
||||
StartSpriteAffineAnim(sprite, 1);
|
||||
if (gSaveBlock2Ptr->playerGender == MALE)
|
||||
sprite->pos1.x = 0x70;
|
||||
sprite->x = 0x70;
|
||||
else
|
||||
sprite->pos1.x = 0x64;
|
||||
sprite->pos1.y = -0x20;
|
||||
sprite->x = 0x64;
|
||||
sprite->y = -0x20;
|
||||
sprite->data[0]++;
|
||||
sprite->data[1] = 0xf0;
|
||||
sprite->data[2] = 0x800;
|
||||
@@ -3366,8 +3366,8 @@ static void sub_8087364(struct Sprite * sprite)
|
||||
sprite->data[1] += sprite->data[2] >> 8;
|
||||
sprite->data[3] += sprite->data[2] >> 8;
|
||||
sprite->data[1] &= 0xff;
|
||||
sprite->pos2.x = Cos(sprite->data[1], 0x20);
|
||||
sprite->pos2.y = Sin(sprite->data[1], 0x78);
|
||||
sprite->x2 = Cos(sprite->data[1], 0x20);
|
||||
sprite->y2 = Sin(sprite->data[1], 0x78);
|
||||
if (sprite->data[2] > 0x100)
|
||||
{
|
||||
sprite->data[2] -= sprite->data[4];
|
||||
@@ -3466,10 +3466,10 @@ static void FlyInEffect_2(struct Task * task)
|
||||
objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId];
|
||||
sprite = &gSprites[objectEvent->spriteId];
|
||||
sub_8087204(task->data[1], 0x40);
|
||||
sprite->pos1.x += sprite->pos2.x;
|
||||
sprite->pos1.y += sprite->pos2.y;
|
||||
sprite->pos2.x = 0;
|
||||
sprite->pos2.y = 0;
|
||||
sprite->x += sprite->x2;
|
||||
sprite->y += sprite->y2;
|
||||
sprite->x2 = 0;
|
||||
sprite->y2 = 0;
|
||||
task->data[0]++;
|
||||
task->data[2] = 0;
|
||||
}
|
||||
@@ -3498,7 +3498,7 @@ static void FlyInEffect_3(struct Task * task)
|
||||
8
|
||||
};
|
||||
struct Sprite * sprite = &gSprites[gPlayerAvatar.spriteId];
|
||||
sprite->pos2.y = gUnknown_83CC1F0[task->data[2]];
|
||||
sprite->y2 = gUnknown_83CC1F0[task->data[2]];
|
||||
if ((++task->data[2]) >= 18)
|
||||
{
|
||||
task->data[0]++;
|
||||
@@ -3515,8 +3515,8 @@ static void FlyInEffect_4(struct Task * task)
|
||||
sprite = &gSprites[objectEvent->spriteId];
|
||||
objectEvent->inanimate = FALSE;
|
||||
MoveObjectEventToMapCoords(objectEvent, objectEvent->currentCoords.x, objectEvent->currentCoords.y);
|
||||
sprite->pos2.x = 0;
|
||||
sprite->pos2.y = 0;
|
||||
sprite->x2 = 0;
|
||||
sprite->y2 = 0;
|
||||
sprite->coordOffsetEnabled = TRUE;
|
||||
StartPlayerAvatarSummonMonForFieldMoveAnim();
|
||||
ObjectEventSetHeldMovement(objectEvent, MOVEMENT_ACTION_START_ANIM_IN_DIRECTION);
|
||||
@@ -3592,18 +3592,18 @@ static void sub_80877FC(struct Sprite * sprite, u8 affineAnimId)
|
||||
static void sub_8087828(struct Sprite * sprite)
|
||||
{
|
||||
struct Sprite * sprite2;
|
||||
sprite->pos2.x = Cos(sprite->data[2], 0xB4);
|
||||
sprite->pos2.y = Sin(sprite->data[2], 0x48);
|
||||
sprite->x2 = Cos(sprite->data[2], 0xB4);
|
||||
sprite->y2 = Sin(sprite->data[2], 0x48);
|
||||
sprite->data[2] += 2;
|
||||
sprite->data[2] &= 0xFF;
|
||||
if (sprite->data[6] != MAX_SPRITES)
|
||||
{
|
||||
sprite2 = &gSprites[sprite->data[6]];
|
||||
sprite2->coordOffsetEnabled = FALSE;
|
||||
sprite2->pos1.x = sprite->pos1.x + sprite->pos2.x;
|
||||
sprite2->pos1.y = sprite->pos1.y + sprite->pos2.y - 8;
|
||||
sprite2->pos2.x = 0;
|
||||
sprite2->pos2.y = 0;
|
||||
sprite2->x = sprite->x + sprite->x2;
|
||||
sprite2->y = sprite->y + sprite->y2 - 8;
|
||||
sprite2->x2 = 0;
|
||||
sprite2->y2 = 0;
|
||||
}
|
||||
if (sprite->data[2] >= 0x80)
|
||||
{
|
||||
@@ -3648,8 +3648,8 @@ u32 FldEff_MoveDeoxysRock(void)
|
||||
ShiftObjectEventCoords(objectEvent, gFieldEffectArguments[3] + 7, gFieldEffectArguments[4] + 7);
|
||||
taskId = CreateTask(Task_MoveDeoxysRock_Step, 0x50);
|
||||
gTasks[taskId].data[1] = objectEvent->spriteId;
|
||||
gTasks[taskId].data[2] = gSprites[objectEvent->spriteId].pos1.x + x;
|
||||
gTasks[taskId].data[3] = gSprites[objectEvent->spriteId].pos1.y + y;
|
||||
gTasks[taskId].data[2] = gSprites[objectEvent->spriteId].x + x;
|
||||
gTasks[taskId].data[3] = gSprites[objectEvent->spriteId].y + y;
|
||||
gTasks[taskId].data[8] = gFieldEffectArguments[5];
|
||||
gTasks[taskId].data[9] = objectEventIdBuffer;
|
||||
}
|
||||
@@ -3664,8 +3664,8 @@ static void Task_MoveDeoxysRock_Step(u8 taskId)
|
||||
switch (data[0])
|
||||
{
|
||||
case 0:
|
||||
data[4] = sprite->pos1.x << 4;
|
||||
data[5] = sprite->pos1.y << 4;
|
||||
data[4] = sprite->x << 4;
|
||||
data[5] = sprite->y << 4;
|
||||
|
||||
// UB: Possible divide by zero
|
||||
data[6] = SAFE_DIV(((data[2] << 4) - data[4]), data[8]);
|
||||
@@ -3678,14 +3678,14 @@ static void Task_MoveDeoxysRock_Step(u8 taskId)
|
||||
data[8]--;
|
||||
data[4] += data[6];
|
||||
data[5] += data[7];
|
||||
sprite->pos1.x = data[4] >> 4;
|
||||
sprite->pos1.y = data[5] >> 4;
|
||||
sprite->x = data[4] >> 4;
|
||||
sprite->y = data[5] >> 4;
|
||||
}
|
||||
else
|
||||
{
|
||||
objectEvent = &gObjectEvents[data[9]];
|
||||
sprite->pos1.x = data[2];
|
||||
sprite->pos1.y = data[3];
|
||||
sprite->x = data[2];
|
||||
sprite->y = data[3];
|
||||
ShiftStillObjectEventCoords(objectEvent);
|
||||
objectEvent->triggerGroundEffectsOnStop = TRUE;
|
||||
FieldEffectActiveListRemove(FLDEFF_MOVE_DEOXYS_ROCK);
|
||||
@@ -3856,8 +3856,8 @@ static void Unk44Effect_2(s16 *data, u8 taskId)
|
||||
static void sub_8087CFC(struct Sprite* sprite)
|
||||
{
|
||||
int i;
|
||||
int xPos = (s16)gTotalCameraPixelOffsetX + sprite->pos1.x + sprite->pos2.x;
|
||||
int yPos = (s16)gTotalCameraPixelOffsetY + sprite->pos1.y + sprite->pos2.y - 4;
|
||||
int xPos = (s16)gTotalCameraPixelOffsetX + sprite->x + sprite->x2;
|
||||
int yPos = (s16)gTotalCameraPixelOffsetY + sprite->y + sprite->y2 - 4;
|
||||
|
||||
for (i = 0; i < 4; i++)
|
||||
{
|
||||
@@ -3876,23 +3876,23 @@ static void SpriteCB_FldEffUnk44(struct Sprite* sprite)
|
||||
switch (sprite->data[0])
|
||||
{
|
||||
case 0:
|
||||
sprite->pos1.x -= 16;
|
||||
sprite->pos1.y -= 12;
|
||||
sprite->x -= 16;
|
||||
sprite->y -= 12;
|
||||
break;
|
||||
case 1:
|
||||
sprite->pos1.x += 16;
|
||||
sprite->pos1.y -= 12;
|
||||
sprite->x += 16;
|
||||
sprite->y -= 12;
|
||||
break;
|
||||
case 2:
|
||||
sprite->pos1.x -= 16;
|
||||
sprite->pos1.y += 12;
|
||||
sprite->x -= 16;
|
||||
sprite->y += 12;
|
||||
break;
|
||||
case 3:
|
||||
sprite->pos1.x += 16;
|
||||
sprite->pos1.y += 12;
|
||||
sprite->x += 16;
|
||||
sprite->y += 12;
|
||||
break;
|
||||
}
|
||||
if (sprite->pos1.x < -4 || sprite->pos1.x > 0xF4 || sprite->pos1.y < -4 || sprite->pos1.y > 0xA4)
|
||||
if (sprite->x < -4 || sprite->x > 0xF4 || sprite->y < -4 || sprite->y > 0xA4)
|
||||
DestroySprite(sprite);
|
||||
}
|
||||
|
||||
|
||||
+50
-50
@@ -33,7 +33,7 @@ void SetUpReflection(struct ObjectEvent * objectEvent, struct Sprite * sprite, b
|
||||
{
|
||||
struct Sprite * reflectionSprite;
|
||||
|
||||
reflectionSprite = &gSprites[CreateCopySpriteAt(sprite, sprite->pos1.x, sprite->pos1.y, 0x98)];
|
||||
reflectionSprite = &gSprites[CreateCopySpriteAt(sprite, sprite->x, sprite->y, 0x98)];
|
||||
reflectionSprite->callback = UpdateObjectReflectionSprite;
|
||||
reflectionSprite->oam.priority = 3;
|
||||
reflectionSprite->oam.paletteNum = gReflectionEffectPaletteMap[reflectionSprite->oam.paletteNum];
|
||||
@@ -131,13 +131,13 @@ static void UpdateObjectReflectionSprite(struct Sprite * reflectionSprite)
|
||||
reflectionSprite->subspriteTables = mainSprite->subspriteTables;
|
||||
reflectionSprite->subspriteTableNum = mainSprite->subspriteTableNum;
|
||||
reflectionSprite->invisible = mainSprite->invisible;
|
||||
reflectionSprite->pos1.x = mainSprite->pos1.x;
|
||||
reflectionSprite->x = mainSprite->x;
|
||||
// reflectionSprite->data[2] holds an additional vertical offset, used by the high bridges on Route 120
|
||||
reflectionSprite->pos1.y = mainSprite->pos1.y + GetReflectionVerticalOffset(objectEvent) + reflectionSprite->data[2];
|
||||
reflectionSprite->y = mainSprite->y + GetReflectionVerticalOffset(objectEvent) + reflectionSprite->data[2];
|
||||
reflectionSprite->centerToCornerVecX = mainSprite->centerToCornerVecX;
|
||||
reflectionSprite->centerToCornerVecY = mainSprite->centerToCornerVecY;
|
||||
reflectionSprite->pos2.x = mainSprite->pos2.x;
|
||||
reflectionSprite->pos2.y = -mainSprite->pos2.y;
|
||||
reflectionSprite->x2 = mainSprite->x2;
|
||||
reflectionSprite->y2 = -mainSprite->y2;
|
||||
reflectionSprite->coordOffsetEnabled = mainSprite->coordOffsetEnabled;
|
||||
|
||||
/*
|
||||
@@ -192,8 +192,8 @@ void ShowWarpArrowSprite(u8 spriteId, u8 direction, s16 x, s16 y)
|
||||
{
|
||||
SetSpritePosToMapCoords(x, y, &x2, &y2);
|
||||
sprite = &gSprites[spriteId];
|
||||
sprite->pos1.x = x2 + 8;
|
||||
sprite->pos1.y = y2 + 8;
|
||||
sprite->x = x2 + 8;
|
||||
sprite->y = y2 + 8;
|
||||
sprite->invisible = FALSE;
|
||||
sprite->data[0] = x;
|
||||
sprite->data[1] = y;
|
||||
@@ -250,8 +250,8 @@ void UpdateShadowFieldEffect(struct Sprite * sprite)
|
||||
objectEvent = &gObjectEvents[objectEventId];
|
||||
linkedSprite = &gSprites[objectEvent->spriteId];
|
||||
sprite->oam.priority = linkedSprite->oam.priority;
|
||||
sprite->pos1.x = linkedSprite->pos1.x;
|
||||
sprite->pos1.y = linkedSprite->pos1.y + sprite->data[3];
|
||||
sprite->x = linkedSprite->x;
|
||||
sprite->y = linkedSprite->y + sprite->data[3];
|
||||
if (!objectEvent->active || !objectEvent->hasShadow
|
||||
|| MetatileBehavior_IsPokeGrass(objectEvent->currentMetatileBehavior)
|
||||
|| MetatileBehavior_IsSurfable(objectEvent->currentMetatileBehavior)
|
||||
@@ -474,8 +474,8 @@ u32 FldEff_ShortGrass(void)
|
||||
sprite->data[0] = gFieldEffectArguments[0];
|
||||
sprite->data[1] = gFieldEffectArguments[1];
|
||||
sprite->data[2] = gFieldEffectArguments[2];
|
||||
sprite->data[3] = gSprites[objectEvent->spriteId].pos1.x;
|
||||
sprite->data[4] = gSprites[objectEvent->spriteId].pos1.y;
|
||||
sprite->data[3] = gSprites[objectEvent->spriteId].x;
|
||||
sprite->data[4] = gSprites[objectEvent->spriteId].y;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
@@ -496,8 +496,8 @@ void UpdateShortGrassFieldEffect(struct Sprite * sprite)
|
||||
{
|
||||
graphicsInfo = GetObjectEventGraphicsInfo(gObjectEvents[objectEventId].graphicsId);
|
||||
linkedSprite = &gSprites[gObjectEvents[objectEventId].spriteId];
|
||||
y = linkedSprite->pos1.y;
|
||||
x = linkedSprite->pos1.x;
|
||||
y = linkedSprite->y;
|
||||
x = linkedSprite->x;
|
||||
if (x != sprite->data[3] || y != sprite->data[4])
|
||||
{
|
||||
sprite->data[3] = x;
|
||||
@@ -507,9 +507,9 @@ void UpdateShortGrassFieldEffect(struct Sprite * sprite)
|
||||
StartSpriteAnim(sprite, 0);
|
||||
}
|
||||
}
|
||||
sprite->pos1.x = x;
|
||||
sprite->pos1.y = y;
|
||||
sprite->pos2.y = (graphicsInfo->height >> 1) - 8;
|
||||
sprite->x = x;
|
||||
sprite->y = y;
|
||||
sprite->y2 = (graphicsInfo->height >> 1) - 8;
|
||||
sprite->subpriority = linkedSprite->subpriority - 1;
|
||||
sprite->oam.priority = linkedSprite->oam.priority;
|
||||
UpdateObjectEventSpriteVisibility(sprite, linkedSprite->invisible);
|
||||
@@ -622,7 +622,7 @@ u32 FldEff_Splash(void)
|
||||
sprite->data[0] = gFieldEffectArguments[0];
|
||||
sprite->data[1] = gFieldEffectArguments[1];
|
||||
sprite->data[2] = gFieldEffectArguments[2];
|
||||
sprite->pos2.y = (graphicsInfo->height >> 1) - 4;
|
||||
sprite->y2 = (graphicsInfo->height >> 1) - 4;
|
||||
PlaySE(SE_PUDDLE);
|
||||
}
|
||||
return 0;
|
||||
@@ -638,8 +638,8 @@ void UpdateSplashFieldEffect(struct Sprite * sprite)
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos1.x = gSprites[gObjectEvents[objectEventId].spriteId].pos1.x;
|
||||
sprite->pos1.y = gSprites[gObjectEvents[objectEventId].spriteId].pos1.y;
|
||||
sprite->x = gSprites[gObjectEvents[objectEventId].spriteId].x;
|
||||
sprite->y = gSprites[gObjectEvents[objectEventId].spriteId].y;
|
||||
UpdateObjectEventSpriteVisibility(sprite, FALSE);
|
||||
}
|
||||
}
|
||||
@@ -703,7 +703,7 @@ u32 FldEff_FeetInFlowingWater(void)
|
||||
sprite->data[2] = gFieldEffectArguments[2];
|
||||
sprite->data[3] = -1;
|
||||
sprite->data[4] = -1;
|
||||
sprite->pos2.y = (graphicsInfo->height >> 1) - 4;
|
||||
sprite->y2 = (graphicsInfo->height >> 1) - 4;
|
||||
StartSpriteAnim(sprite, 1);
|
||||
}
|
||||
return 0;
|
||||
@@ -723,8 +723,8 @@ static void UpdateFeetInFlowingWaterFieldEffect(struct Sprite * sprite)
|
||||
{
|
||||
objectEvent = &gObjectEvents[objectEventId];
|
||||
linkedSprite = &gSprites[objectEvent->spriteId];
|
||||
sprite->pos1.x = linkedSprite->pos1.x;
|
||||
sprite->pos1.y = linkedSprite->pos1.y;
|
||||
sprite->x = linkedSprite->x;
|
||||
sprite->y = linkedSprite->y;
|
||||
sprite->subpriority = linkedSprite->subpriority;
|
||||
UpdateObjectEventSpriteVisibility(sprite, FALSE);
|
||||
if (objectEvent->currentCoords.x != sprite->data[3] || objectEvent->currentCoords.y != sprite->data[4])
|
||||
@@ -773,8 +773,8 @@ u32 FldEff_HotSpringsWater(void)
|
||||
sprite->data[0] = gFieldEffectArguments[0];
|
||||
sprite->data[1] = gFieldEffectArguments[1];
|
||||
sprite->data[2] = gFieldEffectArguments[2];
|
||||
sprite->data[3] = gSprites[objectEvent->spriteId].pos1.x;
|
||||
sprite->data[4] = gSprites[objectEvent->spriteId].pos1.y;
|
||||
sprite->data[3] = gSprites[objectEvent->spriteId].x;
|
||||
sprite->data[4] = gSprites[objectEvent->spriteId].y;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
@@ -793,8 +793,8 @@ void UpdateHotSpringsWaterFieldEffect(struct Sprite * sprite)
|
||||
{
|
||||
graphicsInfo = GetObjectEventGraphicsInfo(gObjectEvents[objectEventId].graphicsId);
|
||||
linkedSprite = &gSprites[gObjectEvents[objectEventId].spriteId];
|
||||
sprite->pos1.x = linkedSprite->pos1.x;
|
||||
sprite->pos1.y = (graphicsInfo->height >> 1) + linkedSprite->pos1.y - 8;
|
||||
sprite->x = linkedSprite->x;
|
||||
sprite->y = (graphicsInfo->height >> 1) + linkedSprite->y - 8;
|
||||
sprite->subpriority = linkedSprite->subpriority - 1;
|
||||
UpdateObjectEventSpriteVisibility(sprite, FALSE);
|
||||
}
|
||||
@@ -1023,7 +1023,7 @@ void sub_80DC588(struct ObjectEvent * objectEvent, struct Sprite * sprite)
|
||||
u8 i;
|
||||
s16 x = objectEvent->currentCoords.x;
|
||||
s16 y = objectEvent->currentCoords.y;
|
||||
s32 spriteY = sprite->pos2.y;
|
||||
s32 spriteY = sprite->y2;
|
||||
|
||||
if (spriteY == 0 && (x != sprite->data[6] || y != sprite->data[7]))
|
||||
{
|
||||
@@ -1050,7 +1050,7 @@ static void CreateBobbingEffect(struct ObjectEvent * objectEvent, struct Sprite
|
||||
{
|
||||
if (((u16)(++ sprite->data[4]) & unk_83FECFA[sprite->data[5]]) == 0)
|
||||
{
|
||||
sprite->pos2.y += sprite->data[3];
|
||||
sprite->y2 += sprite->data[3];
|
||||
}
|
||||
if ((sprite->data[4] & 0x1F) == 0)
|
||||
{
|
||||
@@ -1059,13 +1059,13 @@ static void CreateBobbingEffect(struct ObjectEvent * objectEvent, struct Sprite
|
||||
if (v0 != 2)
|
||||
{
|
||||
if (sub_80DC4EC(sprite) == 0)
|
||||
linkedSprite->pos2.y = sprite->pos2.y;
|
||||
linkedSprite->y2 = sprite->y2;
|
||||
else
|
||||
linkedSprite->pos2.y = sprite->data[1] + sprite->pos2.y;
|
||||
linkedSprite->y2 = sprite->data[1] + sprite->y2;
|
||||
if (sprite->animCmdIndex != 0)
|
||||
linkedSprite->pos2.y++;
|
||||
sprite->pos1.x = linkedSprite->pos1.x;
|
||||
sprite->pos1.y = linkedSprite->pos1.y + 8;
|
||||
linkedSprite->y2++;
|
||||
sprite->x = linkedSprite->x;
|
||||
sprite->y = linkedSprite->y + 8;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1091,7 +1091,7 @@ static void sub_80DC700(struct Sprite * sprite)
|
||||
oldSprite = &gSprites[sprite->data[0]];
|
||||
if (((sprite->data[2]++) & 0x03) == 0)
|
||||
{
|
||||
oldSprite->pos2.y += sprite->data[1];
|
||||
oldSprite->y2 += sprite->data[1];
|
||||
}
|
||||
if ((sprite->data[2] & 0x0F) == 0)
|
||||
{
|
||||
@@ -1137,9 +1137,9 @@ u32 FldEff_SandPile(void)
|
||||
sprite->data[0] = gFieldEffectArguments[0];
|
||||
sprite->data[1] = gFieldEffectArguments[1];
|
||||
sprite->data[2] = gFieldEffectArguments[2];
|
||||
sprite->data[3] = gSprites[objectEvent->spriteId].pos1.x;
|
||||
sprite->data[4] = gSprites[objectEvent->spriteId].pos1.y;
|
||||
sprite->pos2.y = (graphicsInfo->height >> 1) - 2;
|
||||
sprite->data[3] = gSprites[objectEvent->spriteId].x;
|
||||
sprite->data[4] = gSprites[objectEvent->spriteId].y;
|
||||
sprite->y2 = (graphicsInfo->height >> 1) - 2;
|
||||
SeekSpriteAnim(sprite, 2);
|
||||
}
|
||||
return 0;
|
||||
@@ -1157,8 +1157,8 @@ void UpdateSandPileFieldEffect(struct Sprite * sprite)
|
||||
}
|
||||
else
|
||||
{
|
||||
y = gSprites[gObjectEvents[objectEventId].spriteId].pos1.y;
|
||||
x = gSprites[gObjectEvents[objectEventId].spriteId].pos1.x;
|
||||
y = gSprites[gObjectEvents[objectEventId].spriteId].y;
|
||||
x = gSprites[gObjectEvents[objectEventId].spriteId].x;
|
||||
if (x != sprite->data[3] || y != sprite->data[4])
|
||||
{
|
||||
sprite->data[3] = x;
|
||||
@@ -1168,8 +1168,8 @@ void UpdateSandPileFieldEffect(struct Sprite * sprite)
|
||||
StartSpriteAnim(sprite, 0);
|
||||
}
|
||||
}
|
||||
sprite->pos1.x = x;
|
||||
sprite->pos1.y = y;
|
||||
sprite->x = x;
|
||||
sprite->y = y;
|
||||
sprite->subpriority = gSprites[gObjectEvents[objectEventId].spriteId].subpriority;
|
||||
UpdateObjectEventSpriteVisibility(sprite, FALSE);
|
||||
}
|
||||
@@ -1195,7 +1195,7 @@ void UpdateBubblesFieldEffect(struct Sprite * sprite)
|
||||
{
|
||||
sprite->data[0] += 0x80;
|
||||
sprite->data[0] &= 0x100;
|
||||
sprite->pos1.y -= sprite->data[0] >> 8;
|
||||
sprite->y -= sprite->data[0] >> 8;
|
||||
UpdateObjectEventSpriteVisibility(sprite, FALSE);
|
||||
if (sprite->invisible || sprite->animEnded)
|
||||
{
|
||||
@@ -1274,8 +1274,8 @@ void UpdateDisguiseFieldEffect(struct Sprite * sprite)
|
||||
graphicsInfo = GetObjectEventGraphicsInfo(gObjectEvents[objectEventId].graphicsId);
|
||||
linkedSprite = &gSprites[gObjectEvents[objectEventId].spriteId];
|
||||
sprite->invisible = linkedSprite->invisible;
|
||||
sprite->pos1.x = linkedSprite->pos1.x;
|
||||
sprite->pos1.y = (graphicsInfo->height >> 1) + linkedSprite->pos1.y - 16;
|
||||
sprite->x = linkedSprite->x;
|
||||
sprite->y = (graphicsInfo->height >> 1) + linkedSprite->y - 16;
|
||||
sprite->subpriority = linkedSprite->subpriority - 1;
|
||||
if (sprite->data[0] == 1)
|
||||
{
|
||||
@@ -1392,13 +1392,13 @@ static void sub_80DCD48(struct Sprite * sprite, u8 z, u8 offset)
|
||||
{
|
||||
graphicsInfo = GetObjectEventGraphicsInfo(objectEvent->graphicsId);
|
||||
linkedSprite = &gSprites[objectEvent->spriteId];
|
||||
xhi = sprite->pos1.x + sprite->centerToCornerVecX;
|
||||
var = sprite->pos1.x - sprite->centerToCornerVecX;
|
||||
if (xhi < linkedSprite->pos1.x && var > linkedSprite->pos1.x)
|
||||
xhi = sprite->x + sprite->centerToCornerVecX;
|
||||
var = sprite->x - sprite->centerToCornerVecX;
|
||||
if (xhi < linkedSprite->x && var > linkedSprite->x)
|
||||
{
|
||||
lyhi = linkedSprite->pos1.y + linkedSprite->centerToCornerVecY;
|
||||
var = linkedSprite->pos1.y;
|
||||
ylo = sprite->pos1.y - sprite->centerToCornerVecY;
|
||||
lyhi = linkedSprite->y + linkedSprite->centerToCornerVecY;
|
||||
var = linkedSprite->y;
|
||||
ylo = sprite->y - sprite->centerToCornerVecY;
|
||||
yhi = ylo + linkedSprite->centerToCornerVecY;
|
||||
if ((lyhi < yhi || lyhi < ylo) && var > yhi && sprite->subpriority <= linkedSprite->subpriority)
|
||||
{
|
||||
|
||||
@@ -849,8 +849,8 @@ static void sub_807EAC4(s16 a0, s16 a1, s16 *a2, s16 *a3, s16 *a4)
|
||||
*a3 += a1;
|
||||
*a2 += a0;
|
||||
(*a4)++;
|
||||
playerSpr->pos2.x = *a2 >> 5;
|
||||
playerSpr->pos2.y = *a3 >> 5;
|
||||
playerSpr->x2 = *a2 >> 5;
|
||||
playerSpr->y2 = *a3 >> 5;
|
||||
if (playerObj->heldMovementFinished)
|
||||
{
|
||||
ObjectEventForceSetHeldMovement(playerObj, GetWalkInPlaceNormalMovementAction(GetPlayerFacingDirection()));
|
||||
@@ -937,8 +937,8 @@ static void sub_807ECBC(s16 *a0, s16 *a1, s16 *a2, s16 *a3, s16 *a4)
|
||||
*a3 = *a1 * 16;
|
||||
*a4 = 16;
|
||||
sprite = &gSprites[gPlayerAvatar.spriteId];
|
||||
sprite->pos2.x = *a2 >> 5;
|
||||
sprite->pos2.y = *a3 >> 5;
|
||||
sprite->x2 = *a2 >> 5;
|
||||
sprite->y2 = *a3 >> 5;
|
||||
*a0 *= -1;
|
||||
*a1 *= -1;
|
||||
}
|
||||
@@ -951,15 +951,15 @@ static bool8 sub_807EDA0(s16 *a0, s16 *a1, s16 *a2, s16 *a3, s16 *a4)
|
||||
{
|
||||
*a2 += *a0;
|
||||
*a3 += *a1;
|
||||
sprite->pos2.x = *a2 >> 5;
|
||||
sprite->pos2.y = *a3 >> 5;
|
||||
sprite->x2 = *a2 >> 5;
|
||||
sprite->y2 = *a3 >> 5;
|
||||
(*a4)--;
|
||||
return TRUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos2.x = 0;
|
||||
sprite->pos2.y = 0;
|
||||
sprite->x2 = 0;
|
||||
sprite->y2 = 0;
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
+21
-21
@@ -1862,8 +1862,8 @@ static bool8 Fishing11(struct Task *task)
|
||||
ObjectEventTurn(playerObjEvent, playerObjEvent->movementDirection);
|
||||
if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_SURFING)
|
||||
sub_80DC4A4(gObjectEvents[gPlayerAvatar.objectEventId].fieldEffectSpriteId, 0, 0);
|
||||
gSprites[gPlayerAvatar.spriteId].pos2.x = 0;
|
||||
gSprites[gPlayerAvatar.spriteId].pos2.y = 0;
|
||||
gSprites[gPlayerAvatar.spriteId].x2 = 0;
|
||||
gSprites[gPlayerAvatar.spriteId].y2 = 0;
|
||||
ClearDialogWindowAndFrame(0, TRUE);
|
||||
task->tFrameCounter++;
|
||||
return FALSE;
|
||||
@@ -1920,8 +1920,8 @@ static bool8 Fishing15(struct Task *task)
|
||||
ObjectEventTurn(playerObjEvent, playerObjEvent->movementDirection);
|
||||
if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_SURFING)
|
||||
sub_80DC4A4(gObjectEvents[gPlayerAvatar.objectEventId].fieldEffectSpriteId, 0, 0);
|
||||
gSprites[gPlayerAvatar.spriteId].pos2.x = 0;
|
||||
gSprites[gPlayerAvatar.spriteId].pos2.y = 0;
|
||||
gSprites[gPlayerAvatar.spriteId].x2 = 0;
|
||||
gSprites[gPlayerAvatar.spriteId].y2 = 0;
|
||||
task->tStep++;
|
||||
}
|
||||
return FALSE;
|
||||
@@ -1951,8 +1951,8 @@ void AlignFishingAnimationFrames(struct Sprite * playerSprite)
|
||||
u8 animType;
|
||||
|
||||
AnimateSprite(playerSprite);
|
||||
playerSprite->pos2.x = 0;
|
||||
playerSprite->pos2.y = 0;
|
||||
playerSprite->x2 = 0;
|
||||
playerSprite->y2 = 0;
|
||||
animCmdIndex = playerSprite->animCmdIndex;
|
||||
if (playerSprite->anims[playerSprite->animNum][animCmdIndex].type == -1)
|
||||
{
|
||||
@@ -1967,16 +1967,16 @@ void AlignFishingAnimationFrames(struct Sprite * playerSprite)
|
||||
animType = playerSprite->anims[playerSprite->animNum][animCmdIndex].type;
|
||||
if (animType == 1 || animType == 2 || animType == 3)
|
||||
{
|
||||
playerSprite->pos2.x = 8;
|
||||
playerSprite->x2 = 8;
|
||||
if (GetPlayerFacingDirection() == 3)
|
||||
playerSprite->pos2.x = -8;
|
||||
playerSprite->x2 = -8;
|
||||
}
|
||||
if (animType == 5)
|
||||
playerSprite->pos2.y = -8;
|
||||
playerSprite->y2 = -8;
|
||||
if (animType == 10 || animType == 11)
|
||||
playerSprite->pos2.y = 8;
|
||||
playerSprite->y2 = 8;
|
||||
if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_SURFING)
|
||||
sub_80DC4A4(gObjectEvents[gPlayerAvatar.objectEventId].fieldEffectSpriteId, 1, playerSprite->pos2.y);
|
||||
sub_80DC4A4(gObjectEvents[gPlayerAvatar.objectEventId].fieldEffectSpriteId, 1, playerSprite->y2);
|
||||
}
|
||||
|
||||
#define tState data[0]
|
||||
@@ -2038,8 +2038,8 @@ static void Task_TeleportWarpOutPlayerAnim(u8 taskId)
|
||||
SavePlayerFacingDirectionForTeleport(object->facingDirection);
|
||||
tRotationTimer = 0;
|
||||
tDeltaY = 1;
|
||||
tYdeflection = (u16)(sprite->pos1.y + sprite->pos2.y) * 16;
|
||||
sprite->pos2.y = 0;
|
||||
tYdeflection = (u16)(sprite->y + sprite->y2) * 16;
|
||||
sprite->y2 = 0;
|
||||
CameraObjectReset2();
|
||||
object->fixedPriority = TRUE;
|
||||
sprite->oam.priority = 0;
|
||||
@@ -2050,8 +2050,8 @@ static void Task_TeleportWarpOutPlayerAnim(u8 taskId)
|
||||
TeleportAnim_RotatePlayer(object, &tRotationTimer);
|
||||
tYdeflection -= tDeltaY;
|
||||
tDeltaY += 3;
|
||||
sprite->pos1.y = tYdeflection >> 4;
|
||||
if (sprite->pos1.y + (s16)gTotalCameraPixelOffsetY < -32)
|
||||
sprite->y = tYdeflection >> 4;
|
||||
if (sprite->y + (s16)gTotalCameraPixelOffsetY < -32)
|
||||
{
|
||||
tState++;
|
||||
}
|
||||
@@ -2086,11 +2086,11 @@ static void Task_TeleportWarpInPlayerAnim(u8 taskId)
|
||||
ObjectEventForceSetHeldMovement(object, GetFaceDirectionMovementAction(sTeleportFacingDirectionSequence[tFinalFacingDirection]));
|
||||
tRotationTimer = 0;
|
||||
tDeltaY = 116;
|
||||
tYpos = sprite->pos1.y;
|
||||
tYpos = sprite->y;
|
||||
tPriority = sprite->oam.priority;
|
||||
tSubpriority = sprite->subpriority;
|
||||
tYdeflection = -((u16)sprite->pos2.y + 32) * 16;
|
||||
sprite->pos2.y = 0;
|
||||
tYdeflection = -((u16)sprite->y2 + 32) * 16;
|
||||
sprite->y2 = 0;
|
||||
CameraObjectReset2();
|
||||
object->fixedPriority = TRUE;
|
||||
sprite->oam.priority = 1;
|
||||
@@ -2105,10 +2105,10 @@ static void Task_TeleportWarpInPlayerAnim(u8 taskId)
|
||||
{
|
||||
tDeltaY = 4;
|
||||
}
|
||||
sprite->pos1.y = tYdeflection >> 4;
|
||||
if (sprite->pos1.y >= tYpos)
|
||||
sprite->y = tYdeflection >> 4;
|
||||
if (sprite->y >= tYpos)
|
||||
{
|
||||
sprite->pos1.y = tYpos;
|
||||
sprite->y = tYpos;
|
||||
tLandingDelay = 0;
|
||||
tState++;
|
||||
}
|
||||
|
||||
+54
-54
@@ -164,7 +164,7 @@ static void CreateCloudSprites(void)
|
||||
{
|
||||
gWeatherPtr->sprites.s1.cloudSprites[i] = &gSprites[spriteId];
|
||||
sprite = gWeatherPtr->sprites.s1.cloudSprites[i];
|
||||
SetSpritePosToMapCoords(sCloudSpriteMapCoords[i].x + 7, sCloudSpriteMapCoords[i].y + 7, &sprite->pos1.x, &sprite->pos1.y);
|
||||
SetSpritePosToMapCoords(sCloudSpriteMapCoords[i].x + 7, sCloudSpriteMapCoords[i].y + 7, &sprite->x, &sprite->y);
|
||||
sprite->coordOffsetEnabled = TRUE;
|
||||
}
|
||||
else
|
||||
@@ -198,7 +198,7 @@ static void UpdateCloudSprite(struct Sprite *sprite)
|
||||
// Move 1 pixel left every 2 frames.
|
||||
sprite->data[0] = (sprite->data[0] + 1) & 1;
|
||||
if (sprite->data[0])
|
||||
sprite->pos1.x--;
|
||||
sprite->x--;
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
@@ -559,12 +559,12 @@ static void UpdateRainSprite(struct Sprite *sprite)
|
||||
// Raindrop is in its "falling" motion.
|
||||
sprite->tPosX += sRainSpriteMovement[gWeatherPtr->isDownpour][0];
|
||||
sprite->tPosY += sRainSpriteMovement[gWeatherPtr->isDownpour][1];
|
||||
sprite->pos1.x = sprite->tPosX >> 4;
|
||||
sprite->pos1.y = sprite->tPosY >> 4;
|
||||
sprite->x = sprite->tPosX >> 4;
|
||||
sprite->y = sprite->tPosY >> 4;
|
||||
|
||||
if (sprite->tActive
|
||||
&& (sprite->pos1.x >= -8 && sprite->pos1.x <= 248)
|
||||
&& sprite->pos1.y >= -16 && sprite->pos1.y <= 176)
|
||||
&& (sprite->x >= -8 && sprite->x <= 248)
|
||||
&& sprite->y >= -16 && sprite->y <= 176)
|
||||
sprite->invisible = FALSE;
|
||||
else
|
||||
sprite->invisible = TRUE;
|
||||
@@ -574,8 +574,8 @@ static void UpdateRainSprite(struct Sprite *sprite)
|
||||
// Make raindrop splash on the ground
|
||||
StartSpriteAnim(sprite, gWeatherPtr->isDownpour + 1);
|
||||
sprite->tState = 1;
|
||||
sprite->pos1.x -= gSpriteCoordOffsetX;
|
||||
sprite->pos1.y -= gSpriteCoordOffsetY;
|
||||
sprite->x -= gSpriteCoordOffsetX;
|
||||
sprite->y -= gSpriteCoordOffsetY;
|
||||
sprite->coordOffsetEnabled = TRUE;
|
||||
}
|
||||
}
|
||||
@@ -885,10 +885,10 @@ static void InitSnowflakeSpriteMovement(struct Sprite *sprite)
|
||||
u16 rand;
|
||||
u16 x = ((sprite->tSnowflakeId * 5) & 7) * 30 + (Random() % 30);
|
||||
|
||||
sprite->pos1.y = -3 - (gSpriteCoordOffsetY + sprite->centerToCornerVecY);
|
||||
sprite->pos1.x = x - (gSpriteCoordOffsetX + sprite->centerToCornerVecX);
|
||||
sprite->tPosY = sprite->pos1.y * 128;
|
||||
sprite->pos2.x = 0;
|
||||
sprite->y = -3 - (gSpriteCoordOffsetY + sprite->centerToCornerVecY);
|
||||
sprite->x = x - (gSpriteCoordOffsetX + sprite->centerToCornerVecX);
|
||||
sprite->tPosY = sprite->y * 128;
|
||||
sprite->x2 = 0;
|
||||
rand = Random();
|
||||
sprite->tDeltaY = (rand & 3) * 5 + 64;
|
||||
sprite->tDeltaY2 = sprite->tDeltaY;
|
||||
@@ -905,8 +905,8 @@ static void WaitSnowflakeSprite(struct Sprite *sprite)
|
||||
{
|
||||
sprite->invisible = FALSE;
|
||||
sprite->callback = UpdateSnowflakeSprite;
|
||||
sprite->pos1.y = 250 - (gSpriteCoordOffsetY + sprite->centerToCornerVecY);
|
||||
sprite->tPosY = sprite->pos1.y * 128;
|
||||
sprite->y = 250 - (gSpriteCoordOffsetY + sprite->centerToCornerVecY);
|
||||
sprite->tPosY = sprite->y * 128;
|
||||
gWeatherPtr->unknown_6E2 = 0;
|
||||
}
|
||||
}
|
||||
@@ -917,32 +917,32 @@ static void UpdateSnowflakeSprite(struct Sprite *sprite)
|
||||
s16 y;
|
||||
|
||||
sprite->tPosY += sprite->tDeltaY;
|
||||
sprite->pos1.y = sprite->tPosY >> 7;
|
||||
sprite->y = sprite->tPosY >> 7;
|
||||
sprite->tWaveIndex += sprite->tWaveDelta;
|
||||
sprite->tWaveIndex &= 0xFF;
|
||||
sprite->pos2.x = gSineTable[sprite->tWaveIndex] / 64;
|
||||
sprite->x2 = gSineTable[sprite->tWaveIndex] / 64;
|
||||
|
||||
x = (sprite->pos1.x + sprite->centerToCornerVecX + gSpriteCoordOffsetX) & 0x1FF;
|
||||
x = (sprite->x + sprite->centerToCornerVecX + gSpriteCoordOffsetX) & 0x1FF;
|
||||
if (x & 0x100)
|
||||
x |= -0x100;
|
||||
|
||||
if (x < -3)
|
||||
sprite->pos1.x = 242 - (gSpriteCoordOffsetX + sprite->centerToCornerVecX);
|
||||
sprite->x = 242 - (gSpriteCoordOffsetX + sprite->centerToCornerVecX);
|
||||
else if (x > 242)
|
||||
sprite->pos1.x = -3 - (gSpriteCoordOffsetX + sprite->centerToCornerVecX);
|
||||
sprite->x = -3 - (gSpriteCoordOffsetX + sprite->centerToCornerVecX);
|
||||
|
||||
y = (sprite->pos1.y + sprite->centerToCornerVecY + gSpriteCoordOffsetY) & 0xFF;
|
||||
y = (sprite->y + sprite->centerToCornerVecY + gSpriteCoordOffsetY) & 0xFF;
|
||||
if (y > 163 && y < 171)
|
||||
{
|
||||
sprite->pos1.y = 250 - (gSpriteCoordOffsetY + sprite->centerToCornerVecY);
|
||||
sprite->tPosY = sprite->pos1.y * 128;
|
||||
sprite->y = 250 - (gSpriteCoordOffsetY + sprite->centerToCornerVecY);
|
||||
sprite->tPosY = sprite->y * 128;
|
||||
sprite->tFallCounter = 0;
|
||||
sprite->tFallDuration = 220;
|
||||
}
|
||||
else if (y > 242 && y < 250)
|
||||
{
|
||||
sprite->pos1.y = 163;
|
||||
sprite->tPosY = sprite->pos1.y * 128;
|
||||
sprite->y = 163;
|
||||
sprite->tPosY = sprite->y * 128;
|
||||
sprite->tFallCounter = 0;
|
||||
sprite->tFallDuration = 220;
|
||||
sprite->invisible = TRUE;
|
||||
@@ -952,7 +952,7 @@ static void UpdateSnowflakeSprite(struct Sprite *sprite)
|
||||
if (++sprite->tFallCounter == sprite->tFallDuration)
|
||||
{
|
||||
InitSnowflakeSpriteMovement(sprite);
|
||||
sprite->pos1.y = 250;
|
||||
sprite->y = 250;
|
||||
sprite->invisible = TRUE;
|
||||
sprite->callback = WaitSnowflakeSprite;
|
||||
}
|
||||
@@ -1361,12 +1361,12 @@ bool8 FogHorizontal_Finish(void)
|
||||
|
||||
static void FogHorizontalSpriteCallback(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos2.y = (u8)gSpriteCoordOffsetY;
|
||||
sprite->pos1.x = gWeatherPtr->fogHScrollPosX + 32 + sprite->tSpriteColumn * 64;
|
||||
if (sprite->pos1.x > 271)
|
||||
sprite->y2 = (u8)gSpriteCoordOffsetY;
|
||||
sprite->x = gWeatherPtr->fogHScrollPosX + 32 + sprite->tSpriteColumn * 64;
|
||||
if (sprite->x > 271)
|
||||
{
|
||||
sprite->pos1.x = 480 + gWeatherPtr->fogHScrollPosX - (4 - sprite->tSpriteColumn) * 64;
|
||||
sprite->pos1.x &= 0x1FF;
|
||||
sprite->x = 480 + gWeatherPtr->fogHScrollPosX - (4 - sprite->tSpriteColumn) * 64;
|
||||
sprite->x &= 0x1FF;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1391,8 +1391,8 @@ static void CreateFogHorizontalSprites(void)
|
||||
{
|
||||
sprite = &gSprites[spriteId];
|
||||
sprite->tSpriteColumn = i % 5;
|
||||
sprite->pos1.x = (i % 5) * 64 + 32;
|
||||
sprite->pos1.y = (i / 5) * 64 + 32;
|
||||
sprite->x = (i % 5) * 64 + 32;
|
||||
sprite->y = (i / 5) * 64 + 32;
|
||||
gWeatherPtr->sprites.s2.fogHSprites[i] = sprite;
|
||||
}
|
||||
else
|
||||
@@ -1615,12 +1615,12 @@ static void UpdateAshSprite(struct Sprite *sprite)
|
||||
sprite->tOffsetY++;
|
||||
}
|
||||
|
||||
sprite->pos1.y = gSpriteCoordOffsetY + sprite->tOffsetY;
|
||||
sprite->pos1.x = gWeatherPtr->ashBaseSpritesX + 32 + sprite->tSpriteColumn * 64;
|
||||
if (sprite->pos1.x > 271)
|
||||
sprite->y = gSpriteCoordOffsetY + sprite->tOffsetY;
|
||||
sprite->x = gWeatherPtr->ashBaseSpritesX + 32 + sprite->tSpriteColumn * 64;
|
||||
if (sprite->x > 271)
|
||||
{
|
||||
sprite->pos1.x = gWeatherPtr->ashBaseSpritesX + 480 - (4 - sprite->tSpriteColumn) * 64;
|
||||
sprite->pos1.x &= 0x1FF;
|
||||
sprite->x = gWeatherPtr->ashBaseSpritesX + 480 - (4 - sprite->tSpriteColumn) * 64;
|
||||
sprite->x &= 0x1FF;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1820,12 +1820,12 @@ static void DestroyFogDiagonalSprites(void)
|
||||
|
||||
static void UpdateFogDiagonalSprite(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos2.y = gWeatherPtr->fogDPosY;
|
||||
sprite->pos1.x = gWeatherPtr->fogDBaseSpritesX + 32 + sprite->tSpriteColumn * 64;
|
||||
if (sprite->pos1.x > 271)
|
||||
sprite->y2 = gWeatherPtr->fogDPosY;
|
||||
sprite->x = gWeatherPtr->fogDBaseSpritesX + 32 + sprite->tSpriteColumn * 64;
|
||||
if (sprite->x > 271)
|
||||
{
|
||||
sprite->pos1.x = gWeatherPtr->fogDBaseSpritesX + 480 - (4 - sprite->tSpriteColumn) * 64;
|
||||
sprite->pos1.x &= 0x1FF;
|
||||
sprite->x = gWeatherPtr->fogDBaseSpritesX + 480 - (4 - sprite->tSpriteColumn) * 64;
|
||||
sprite->x &= 0x1FF;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2090,12 +2090,12 @@ static void CreateSwirlSandstormSprites(void)
|
||||
|
||||
static void UpdateSandstormSprite(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos2.y = gWeatherPtr->sandstormPosY;
|
||||
sprite->pos1.x = gWeatherPtr->sandstormBaseSpritesX + 32 + sprite->tSpriteColumn * 64;
|
||||
if (sprite->pos1.x > 271)
|
||||
sprite->y2 = gWeatherPtr->sandstormPosY;
|
||||
sprite->x = gWeatherPtr->sandstormBaseSpritesX + 32 + sprite->tSpriteColumn * 64;
|
||||
if (sprite->x > 271)
|
||||
{
|
||||
sprite->pos1.x = gWeatherPtr->sandstormBaseSpritesX + 480 - (4 - sprite->tSpriteColumn) * 64;
|
||||
sprite->pos1.x &= 0x1FF;
|
||||
sprite->x = gWeatherPtr->sandstormBaseSpritesX + 480 - (4 - sprite->tSpriteColumn) * 64;
|
||||
sprite->x &= 0x1FF;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2109,16 +2109,16 @@ static void UpdateSandstormSwirlSprite(struct Sprite *sprite)
|
||||
{
|
||||
u32 x, y;
|
||||
|
||||
if (--sprite->pos1.y < -48)
|
||||
if (--sprite->y < -48)
|
||||
{
|
||||
sprite->pos1.y = 208;
|
||||
sprite->y = 208;
|
||||
sprite->tRadius = 4;
|
||||
}
|
||||
|
||||
x = sprite->tRadius * gSineTable[sprite->tWaveIndex];
|
||||
y = sprite->tRadius * gSineTable[sprite->tWaveIndex + 0x40];
|
||||
sprite->pos2.x = x >> 8;
|
||||
sprite->pos2.y = y >> 8;
|
||||
sprite->x2 = x >> 8;
|
||||
sprite->y2 = y >> 8;
|
||||
sprite->tWaveIndex = (sprite->tWaveIndex + 10) & 0xFF;
|
||||
if (++sprite->tRadiusCounter > 8)
|
||||
{
|
||||
@@ -2299,17 +2299,17 @@ static void UpdateBubbleSprite(struct Sprite *sprite)
|
||||
sprite->tScrollXCounter = 0;
|
||||
if (sprite->tScrollXDir == 0)
|
||||
{
|
||||
if (++sprite->pos2.x > 4)
|
||||
if (++sprite->x2 > 4)
|
||||
sprite->tScrollXDir = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (--sprite->pos2.x <= 0)
|
||||
if (--sprite->x2 <= 0)
|
||||
sprite->tScrollXDir = 0;
|
||||
}
|
||||
}
|
||||
|
||||
sprite->pos1.y -= 3;
|
||||
sprite->y -= 3;
|
||||
if (++sprite->tCounter >= 120)
|
||||
DestroySprite(sprite);
|
||||
}
|
||||
|
||||
+60
-60
@@ -414,7 +414,7 @@ const struct SpriteTemplate gFocusPunchFistSpriteTemplate =
|
||||
static void unc_080B08A0(struct Sprite *sprite)
|
||||
{
|
||||
SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[0]);
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
sprite->data[0] = 15;
|
||||
sprite->callback = WaitAnimForDuration;
|
||||
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
|
||||
@@ -475,8 +475,8 @@ static void AnimFistOrFootRandomPos(struct Sprite *sprite)
|
||||
if (gBattleAnimArgs[2] < 0)
|
||||
gBattleAnimArgs[2] = Random() % 5;
|
||||
StartSpriteAnim(sprite, gBattleAnimArgs[2]);
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(battler, 2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(battler, 3);
|
||||
sprite->x = GetBattlerSpriteCoord(battler, 2);
|
||||
sprite->y = GetBattlerSpriteCoord(battler, 3);
|
||||
xMod = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_WIDTH) / 2;
|
||||
yMod = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_HEIGHT) / 4;
|
||||
x = Random() % xMod;
|
||||
@@ -487,10 +487,10 @@ static void AnimFistOrFootRandomPos(struct Sprite *sprite)
|
||||
y *= -1;
|
||||
if ((gBattlerPositions[battler] & BIT_SIDE) == B_SIDE_PLAYER)
|
||||
y += 0xFFF0;
|
||||
sprite->pos1.x += x;
|
||||
sprite->pos1.y += y;
|
||||
sprite->x += x;
|
||||
sprite->y += y;
|
||||
sprite->data[0] = gBattleAnimArgs[1];
|
||||
sprite->data[7] = CreateSprite(&gBasicHitSplatSpriteTemplate, sprite->pos1.x, sprite->pos1.y, sprite->subpriority + 1);
|
||||
sprite->data[7] = CreateSprite(&gBasicHitSplatSpriteTemplate, sprite->x, sprite->y, sprite->subpriority + 1);
|
||||
if (sprite->data[7] != 64)
|
||||
{
|
||||
StartSpriteAffineAnim(&gSprites[sprite->data[7]], 0);
|
||||
@@ -522,14 +522,14 @@ static void AnimCrossChopHand(struct Sprite *sprite)
|
||||
sprite->data[0] = 30;
|
||||
if (gBattleAnimArgs[2] == 0)
|
||||
{
|
||||
sprite->data[2] = sprite->pos1.x - 20;
|
||||
sprite->data[2] = sprite->x - 20;
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->data[2] = sprite->pos1.x + 20;
|
||||
sprite->data[2] = sprite->x + 20;
|
||||
sprite->hFlip = 1;
|
||||
}
|
||||
sprite->data[4] = sprite->pos1.y - 20;
|
||||
sprite->data[4] = sprite->y - 20;
|
||||
sprite->callback = StartAnimLinearTranslation;
|
||||
StoreSpriteCallbackInData6(sprite, sub_80B0BD8);
|
||||
}
|
||||
@@ -538,13 +538,13 @@ static void sub_80B0BD8(struct Sprite *sprite)
|
||||
{
|
||||
if (++sprite->data[5] == 11)
|
||||
{
|
||||
sprite->data[2] = sprite->pos1.x - sprite->pos2.x;
|
||||
sprite->data[4] = sprite->pos1.y - sprite->pos2.y;
|
||||
sprite->data[2] = sprite->x - sprite->x2;
|
||||
sprite->data[4] = sprite->y - sprite->y2;
|
||||
sprite->data[0] = 8;
|
||||
sprite->pos1.x += sprite->pos2.x;
|
||||
sprite->pos1.y += sprite->pos2.y;
|
||||
sprite->pos2.y = 0;
|
||||
sprite->pos2.x = 0;
|
||||
sprite->x += sprite->x2;
|
||||
sprite->y += sprite->y2;
|
||||
sprite->y2 = 0;
|
||||
sprite->x2 = 0;
|
||||
sprite->callback = StartAnimLinearTranslation;
|
||||
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
|
||||
}
|
||||
@@ -558,10 +558,10 @@ static void AnimSlidingKick(struct Sprite *sprite)
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
|
||||
sprite->data[0] = gBattleAnimArgs[3];
|
||||
sprite->data[1] = sprite->pos1.x;
|
||||
sprite->data[2] = sprite->pos1.x + gBattleAnimArgs[2];
|
||||
sprite->data[3] = sprite->pos1.y;
|
||||
sprite->data[4] = sprite->pos1.y;
|
||||
sprite->data[1] = sprite->x;
|
||||
sprite->data[2] = sprite->x + gBattleAnimArgs[2];
|
||||
sprite->data[3] = sprite->y;
|
||||
sprite->data[4] = sprite->y;
|
||||
InitAnimLinearTranslation(sprite);
|
||||
sprite->data[5] = gBattleAnimArgs[5];
|
||||
sprite->data[6] = gBattleAnimArgs[4];
|
||||
@@ -573,7 +573,7 @@ static void sub_80B0CB4(struct Sprite *sprite)
|
||||
{
|
||||
if (!AnimTranslateLinear(sprite))
|
||||
{
|
||||
sprite->pos2.y += Sin(sprite->data[7] >> 8, sprite->data[5]);
|
||||
sprite->y2 += Sin(sprite->data[7] >> 8, sprite->data[5]);
|
||||
sprite->data[7] += sprite->data[6];
|
||||
}
|
||||
else
|
||||
@@ -648,8 +648,8 @@ static void AnimDizzyPunchDuck(struct Sprite *sprite)
|
||||
else
|
||||
{
|
||||
sprite->data[4] += sprite->data[1];
|
||||
sprite->pos2.x = sprite->data[4] >> 8;
|
||||
sprite->pos2.y = Sin(sprite->data[3], sprite->data[2]);
|
||||
sprite->x2 = sprite->data[4] >> 8;
|
||||
sprite->y2 = Sin(sprite->data[3], sprite->data[2]);
|
||||
sprite->data[3] = (sprite->data[3] + 3) & 0xFF;
|
||||
if (sprite->data[3] > 100)
|
||||
sprite->invisible = sprite->data[3] % 2;
|
||||
@@ -662,16 +662,16 @@ static void AnimBrickBreakWall(struct Sprite *sprite)
|
||||
{
|
||||
if (gBattleAnimArgs[0] == 0)
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 0);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 1);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, 0);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, 1);
|
||||
}
|
||||
sprite->pos1.x += gBattleAnimArgs[1];
|
||||
sprite->pos1.y += gBattleAnimArgs[2];
|
||||
sprite->x += gBattleAnimArgs[1];
|
||||
sprite->y += gBattleAnimArgs[2];
|
||||
sprite->data[0] = 0;
|
||||
sprite->data[1] = gBattleAnimArgs[3];
|
||||
sprite->data[2] = gBattleAnimArgs[4];
|
||||
@@ -698,9 +698,9 @@ static void sub_80B0EF0(struct Sprite *sprite)
|
||||
sprite->data[1] = 0;
|
||||
++sprite->data[3];
|
||||
if (sprite->data[3] & 1)
|
||||
sprite->pos2.x = 2;
|
||||
sprite->x2 = 2;
|
||||
else
|
||||
sprite->pos2.x = -2;
|
||||
sprite->x2 = -2;
|
||||
}
|
||||
|
||||
if (--sprite->data[2] == 0)
|
||||
@@ -713,13 +713,13 @@ static void AnimBrickBreakWallShard(struct Sprite *sprite)
|
||||
{
|
||||
if (gBattleAnimArgs[0] == 0)
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0) + gBattleAnimArgs[2];
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1) + gBattleAnimArgs[3];
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0) + gBattleAnimArgs[2];
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1) + gBattleAnimArgs[3];
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 0) + gBattleAnimArgs[2];
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 1) + gBattleAnimArgs[3];
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, 0) + gBattleAnimArgs[2];
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, 1) + gBattleAnimArgs[3];
|
||||
}
|
||||
sprite->oam.tileNum += gBattleAnimArgs[1] * 16;
|
||||
sprite->data[0] = 0;
|
||||
@@ -750,8 +750,8 @@ static void AnimBrickBreakWallShard(struct Sprite *sprite)
|
||||
|
||||
static void sub_80B1050(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x += sprite->data[6];
|
||||
sprite->pos1.y += sprite->data[7];
|
||||
sprite->x += sprite->data[6];
|
||||
sprite->y += sprite->data[7];
|
||||
if (++sprite->data[0] > 40)
|
||||
DestroyAnimSprite(sprite);
|
||||
}
|
||||
@@ -760,8 +760,8 @@ static void AnimSuperpowerOrb(struct Sprite *sprite)
|
||||
{
|
||||
if (gBattleAnimArgs[0] == 0)
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattlerAttacker, 2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattlerAttacker, 3);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattlerAttacker, 2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattlerAttacker, 3);
|
||||
sprite->oam.priority = GetBattlerSpriteBGPriority(gBattleAnimAttacker);
|
||||
sprite->data[7] = gBattleAnimTarget;
|
||||
}
|
||||
@@ -782,9 +782,9 @@ static void sub_80B111C(struct Sprite *sprite)
|
||||
{
|
||||
SetGpuReg(REG_OFFSET_BLDCNT, 0);
|
||||
sprite->data[0] = 16;
|
||||
sprite->data[1] = sprite->pos1.x;
|
||||
sprite->data[1] = sprite->x;
|
||||
sprite->data[2] = GetBattlerSpriteCoord(sprite->data[7], 2);
|
||||
sprite->data[3] = sprite->pos1.y;
|
||||
sprite->data[3] = sprite->y;
|
||||
sprite->data[4] = GetBattlerSpriteCoord(sprite->data[7], 3);
|
||||
InitAnimLinearTranslation(sprite);
|
||||
StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
|
||||
@@ -794,10 +794,10 @@ static void sub_80B111C(struct Sprite *sprite)
|
||||
|
||||
static void AnimSuperpowerRock(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x = gBattleAnimArgs[0];
|
||||
sprite->pos1.y = 120;
|
||||
sprite->x = gBattleAnimArgs[0];
|
||||
sprite->y = 120;
|
||||
sprite->data[0] = gBattleAnimArgs[3];
|
||||
StorePointerInVars(&sprite->data[4], &sprite->data[5], (void *)(sprite->pos1.y << 8));
|
||||
StorePointerInVars(&sprite->data[4], &sprite->data[5], (void *)(sprite->y << 8));
|
||||
sprite->data[6] = gBattleAnimArgs[1];
|
||||
sprite->oam.tileNum += gBattleAnimArgs[2] * 4;
|
||||
sprite->callback = sub_80B11E4;
|
||||
@@ -813,8 +813,8 @@ static void sub_80B11E4(struct Sprite *sprite)
|
||||
var0 -= sprite->data[6];
|
||||
StorePointerInVars(&sprite->data[4], &sprite->data[5], var0);
|
||||
var0 = (void *)(((intptr_t)var0) >> 8);
|
||||
sprite->pos1.y = (intptr_t)var0;
|
||||
if (sprite->pos1.y < -8)
|
||||
sprite->y = (intptr_t)var0;
|
||||
if (sprite->y < -8)
|
||||
DestroyAnimSprite(sprite);
|
||||
else
|
||||
--sprite->data[0];
|
||||
@@ -828,8 +828,8 @@ static void sub_80B11E4(struct Sprite *sprite)
|
||||
|
||||
sprite->data[0] = pos2 - pos0;
|
||||
sprite->data[1] = pos3 - pos1;
|
||||
sprite->data[2] = sprite->pos1.x << 4;
|
||||
sprite->data[3] = sprite->pos1.y << 4;
|
||||
sprite->data[2] = sprite->x << 4;
|
||||
sprite->data[3] = sprite->y << 4;
|
||||
sprite->callback = sub_80B12A4;
|
||||
}
|
||||
}
|
||||
@@ -840,10 +840,10 @@ static void sub_80B12A4(struct Sprite *sprite)
|
||||
|
||||
sprite->data[2] += sprite->data[0];
|
||||
sprite->data[3] += sprite->data[1];
|
||||
sprite->pos1.x = sprite->data[2] >> 4;
|
||||
sprite->pos1.y = sprite->data[3] >> 4;
|
||||
edgeX = sprite->pos1.x + 8;
|
||||
if (edgeX > 256 || sprite->pos1.y < -8 || sprite->pos1.y > 120)
|
||||
sprite->x = sprite->data[2] >> 4;
|
||||
sprite->y = sprite->data[3] >> 4;
|
||||
edgeX = sprite->x + 8;
|
||||
if (edgeX > 256 || sprite->y < -8 || sprite->y > 120)
|
||||
DestroyAnimSprite(sprite);
|
||||
}
|
||||
|
||||
@@ -853,8 +853,8 @@ static void AnimSuperpowerFireball(struct Sprite *sprite)
|
||||
|
||||
if (gBattleAnimArgs[0] == 0)
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattlerAttacker, 2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattlerAttacker, 3);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattlerAttacker, 2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattlerAttacker, 3);
|
||||
battler = gBattleAnimTarget;
|
||||
sprite->oam.priority = GetBattlerSpriteBGPriority(gBattleAnimAttacker);
|
||||
}
|
||||
@@ -868,9 +868,9 @@ static void AnimSuperpowerFireball(struct Sprite *sprite)
|
||||
else if (GetBattlerSide(battler) == B_SIDE_PLAYER)
|
||||
sprite->oam.matrixNum |= (ST_OAM_HFLIP | ST_OAM_VFLIP);
|
||||
sprite->data[0] = 16;
|
||||
sprite->data[1] = sprite->pos1.x;
|
||||
sprite->data[1] = sprite->x;
|
||||
sprite->data[2] = GetBattlerSpriteCoord(battler, 2);
|
||||
sprite->data[3] = sprite->pos1.y;
|
||||
sprite->data[3] = sprite->y;
|
||||
sprite->data[4] = GetBattlerSpriteCoord(battler, 3);
|
||||
InitAnimLinearTranslation(sprite);
|
||||
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
|
||||
@@ -888,8 +888,8 @@ static void AnimArmThrustHit(struct Sprite *sprite)
|
||||
{
|
||||
u8 turn;
|
||||
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
|
||||
sprite->data[1] = gBattleAnimArgs[3];
|
||||
sprite->data[2] = gBattleAnimArgs[0];
|
||||
sprite->data[3] = gBattleAnimArgs[1];
|
||||
@@ -903,8 +903,8 @@ static void AnimArmThrustHit(struct Sprite *sprite)
|
||||
++sprite->data[1];
|
||||
}
|
||||
StartSpriteAnim(sprite, sprite->data[1]);
|
||||
sprite->pos2.x = sprite->data[2];
|
||||
sprite->pos2.y = sprite->data[3];
|
||||
sprite->x2 = sprite->data[2];
|
||||
sprite->y2 = sprite->data[3];
|
||||
sprite->callback = sub_80B13D4;
|
||||
}
|
||||
|
||||
@@ -927,7 +927,7 @@ static void AnimFocusPunchFist(struct Sprite *sprite)
|
||||
if (sprite->affineAnimEnded)
|
||||
{
|
||||
sprite->data[1] = (sprite->data[1] + 40) & 0xFF;
|
||||
sprite->pos2.x = Sin(sprite->data[1], 2);
|
||||
sprite->x2 = Sin(sprite->data[1], 2);
|
||||
if (++sprite->data[0] > 40)
|
||||
DestroyAnimSprite(sprite);
|
||||
}
|
||||
|
||||
+75
-75
@@ -472,7 +472,7 @@ static void AnimFireSpiralInward(struct Sprite *sprite)
|
||||
static void AnimFireSpread(struct Sprite *sprite)
|
||||
{
|
||||
SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[0]);
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
sprite->data[0] = gBattleAnimArgs[4];
|
||||
sprite->data[1] = gBattleAnimArgs[2];
|
||||
sprite->data[2] = gBattleAnimArgs[3];
|
||||
@@ -485,14 +485,14 @@ static void AnimFirePlume(struct Sprite *sprite)
|
||||
SetSpriteCoordsToAnimAttackerCoords(sprite);
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
{
|
||||
sprite->pos1.x -= gBattleAnimArgs[0];
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->x -= gBattleAnimArgs[0];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
sprite->data[2] = -gBattleAnimArgs[4];
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->x += gBattleAnimArgs[0];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
sprite->data[2] = gBattleAnimArgs[4];
|
||||
}
|
||||
sprite->data[1] = gBattleAnimArgs[2];
|
||||
@@ -505,14 +505,14 @@ static void AnimLargeFlame(struct Sprite *sprite)
|
||||
{
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
{
|
||||
sprite->pos1.x -= gBattleAnimArgs[0];
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->x -= gBattleAnimArgs[0];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
sprite->data[2] = gBattleAnimArgs[4];
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->x += gBattleAnimArgs[0];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
sprite->data[2] = -gBattleAnimArgs[4];
|
||||
}
|
||||
sprite->data[1] = gBattleAnimArgs[2];
|
||||
@@ -525,8 +525,8 @@ static void sub_80ACA6C(struct Sprite *sprite)
|
||||
{
|
||||
if (++sprite->data[0] < sprite->data[4])
|
||||
{
|
||||
sprite->pos2.x += sprite->data[2];
|
||||
sprite->pos2.y += sprite->data[3];
|
||||
sprite->x2 += sprite->data[2];
|
||||
sprite->y2 += sprite->data[3];
|
||||
}
|
||||
if (sprite->data[0] == sprite->data[1])
|
||||
DestroySpriteAndMatrix(sprite);
|
||||
@@ -537,14 +537,14 @@ static void sub_80ACAA8(struct Sprite *sprite)
|
||||
SetSpriteCoordsToAnimAttackerCoords(sprite);
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
{
|
||||
sprite->pos1.x -= gBattleAnimArgs[0];
|
||||
sprite->x -= gBattleAnimArgs[0];
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->x += gBattleAnimArgs[0];
|
||||
sprite->subpriority = 8;
|
||||
}
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
sprite->data[0] = gBattleAnimArgs[2];
|
||||
sprite->data[1] = gBattleAnimArgs[3];
|
||||
sprite->data[2] = gBattleAnimArgs[4];
|
||||
@@ -560,8 +560,8 @@ static void sub_80ACB1C(struct Sprite *sprite)
|
||||
{
|
||||
if(sprite->data[5] > 10000)
|
||||
sprite->subpriority = 1;
|
||||
sprite->pos2.x = Sin(sprite->data[0], sprite->data[1] + (sprite->data[5] >> 8));
|
||||
sprite->pos2.y = Cos(sprite->data[0], sprite->data[1] + (sprite->data[5] >> 8));
|
||||
sprite->x2 = Sin(sprite->data[0], sprite->data[1] + (sprite->data[5] >> 8));
|
||||
sprite->y2 = Cos(sprite->data[0], sprite->data[1] + (sprite->data[5] >> 8));
|
||||
sprite->data[0] += sprite->data[2];
|
||||
sprite->data[5] += sprite->data[4];
|
||||
if (sprite->data[0] > 255)
|
||||
@@ -579,8 +579,8 @@ static void sub_80ACB1C(struct Sprite *sprite)
|
||||
//sunlight
|
||||
static void sub_80ACBB0(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x = 0;
|
||||
sprite->pos1.y = 0;
|
||||
sprite->x = 0;
|
||||
sprite->y = 0;
|
||||
sprite->data[0] = 60;
|
||||
sprite->data[2] = 140;
|
||||
sprite->data[4] = 80;
|
||||
@@ -639,9 +639,9 @@ static void AnimFireRing_Step1(struct Sprite *sprite)
|
||||
if (++sprite->data[0] == 0x12)
|
||||
{
|
||||
sprite->data[0] = 0x19;
|
||||
sprite->data[1] = sprite->pos1.x;
|
||||
sprite->data[1] = sprite->x;
|
||||
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
|
||||
sprite->data[3] = sprite->pos1.y;
|
||||
sprite->data[3] = sprite->y;
|
||||
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
|
||||
InitAnimLinearTranslation(sprite);
|
||||
sprite->callback = AnimFireRing_Step2;
|
||||
@@ -654,16 +654,16 @@ static void AnimFireRing_Step2(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[0] = 0;
|
||||
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
|
||||
sprite->pos2.x = sprite->pos2.y = 0;
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
|
||||
sprite->x2 = sprite->y2 = 0;
|
||||
sprite->callback = AnimFireRing_Step3;
|
||||
sprite->callback(sprite);
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos2.x += Sin(sprite->data[7], 28);
|
||||
sprite->pos2.y += Cos(sprite->data[7], 28);
|
||||
sprite->x2 += Sin(sprite->data[7], 28);
|
||||
sprite->y2 += Cos(sprite->data[7], 28);
|
||||
sprite->data[7] = (sprite->data[7] + 20) & 0xFF;
|
||||
}
|
||||
}
|
||||
@@ -677,8 +677,8 @@ static void AnimFireRing_Step3(struct Sprite *sprite)
|
||||
|
||||
static void UpdateFireRingCircleOffset(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos2.x = Sin(sprite->data[7], 28);
|
||||
sprite->pos2.y = Cos(sprite->data[7], 28);
|
||||
sprite->x2 = Sin(sprite->data[7], 28);
|
||||
sprite->y2 = Cos(sprite->data[7], 28);
|
||||
sprite->data[7] = (sprite->data[7] + 20) & 0xFF;
|
||||
}
|
||||
|
||||
@@ -690,8 +690,8 @@ static void UpdateFireRingCircleOffset(struct Sprite *sprite)
|
||||
// AnimFireCross(struct Sprite *sprite)
|
||||
static void AnimFireCross(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->x += gBattleAnimArgs[0];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
sprite->data[0] = gBattleAnimArgs[2];
|
||||
sprite->data[1] = gBattleAnimArgs[3];
|
||||
sprite->data[2] = gBattleAnimArgs[4];
|
||||
@@ -720,8 +720,8 @@ static void sub_80ACE28(struct Sprite *sprite)
|
||||
|
||||
static void sub_80ACE50(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos2.x = Sin(sprite->data[1], sprite->data[2] >> 8);
|
||||
sprite->pos2.y = Cos(sprite->data[1], sprite->data[2] >> 8);
|
||||
sprite->x2 = Sin(sprite->data[1], sprite->data[2] >> 8);
|
||||
sprite->y2 = Cos(sprite->data[1], sprite->data[2] >> 8);
|
||||
sprite->data[1] = (sprite->data[1] + 10) & 0xFF;
|
||||
sprite->data[2] += 0xD0;
|
||||
if (--sprite->data[0] == -1)
|
||||
@@ -737,7 +737,7 @@ void AnimTask_EruptionLaunchRocks(u8 taskId) // initialize animation task for Mo
|
||||
task->data[1] = 0;
|
||||
task->data[2] = 0;
|
||||
task->data[3] = 0;
|
||||
task->data[4] = gSprites[task->data[15]].pos1.y;
|
||||
task->data[4] = gSprites[task->data[15]].y;
|
||||
task->data[5] = GetBattlerSide(gBattleAnimAttacker);
|
||||
task->data[6] = 0;
|
||||
PrepareBattlerSpriteForRotScale(task->data[15], ST_OAM_OBJ_NORMAL);
|
||||
@@ -759,22 +759,22 @@ static void AnimTask_EruptionLaunchRocks_Step(u8 taskId) // animate Move_ERUPTIO
|
||||
{
|
||||
task->data[1] = 0;
|
||||
if (++task->data[2] & 0x1)
|
||||
gSprites[task->data[15]].pos2.x = 3;
|
||||
gSprites[task->data[15]].x2 = 3;
|
||||
else
|
||||
gSprites[task->data[15]].pos2.x = -3;
|
||||
gSprites[task->data[15]].x2 = -3;
|
||||
}
|
||||
if (task->data[5])
|
||||
{
|
||||
if (++task->data[3] > 4)
|
||||
{
|
||||
task->data[3] = 0;
|
||||
++gSprites[task->data[15]].pos1.y;
|
||||
++gSprites[task->data[15]].y;
|
||||
}
|
||||
}
|
||||
if(!BattleAnimHelper_RunSpriteSquash(task))
|
||||
{
|
||||
SetBattlerSpriteYOffsetFromYScale(task->data[15]);
|
||||
gSprites[task->data[15]].pos2.x = 0;
|
||||
gSprites[task->data[15]].x2 = 0;
|
||||
task->data[1] = 0;
|
||||
task->data[2] = 0;
|
||||
task->data[3] = 0;
|
||||
@@ -804,9 +804,9 @@ static void AnimTask_EruptionLaunchRocks_Step(u8 taskId) // animate Move_ERUPTIO
|
||||
{
|
||||
task->data[1] = 0;
|
||||
if (++task->data[2] & 1)
|
||||
gSprites[task->data[15]].pos2.y += 3;
|
||||
gSprites[task->data[15]].y2 += 3;
|
||||
else
|
||||
gSprites[task->data[15]].pos2.y -= 3;
|
||||
gSprites[task->data[15]].y2 -= 3;
|
||||
}
|
||||
if (++task->data[3] > 0x18)
|
||||
{
|
||||
@@ -815,7 +815,7 @@ static void AnimTask_EruptionLaunchRocks_Step(u8 taskId) // animate Move_ERUPTIO
|
||||
else
|
||||
BattleAnimHelper_SetSpriteSquashParams(task, task->data[15], 0x180, 0xC0, 0x100, 0x100, 0x8);
|
||||
if (task->data[2] & 1)
|
||||
gSprites[task->data[15]].pos2.y -= 3;
|
||||
gSprites[task->data[15]].y2 -= 3;
|
||||
task->data[1] = 0;
|
||||
task->data[2] = 0;
|
||||
task->data[3] = 0;
|
||||
@@ -824,10 +824,10 @@ static void AnimTask_EruptionLaunchRocks_Step(u8 taskId) // animate Move_ERUPTIO
|
||||
break;
|
||||
case 5:
|
||||
if (task->data[5])
|
||||
--gSprites[task->data[15]].pos1.y;
|
||||
--gSprites[task->data[15]].y;
|
||||
if (!BattleAnimHelper_RunSpriteSquash(task))
|
||||
{
|
||||
gSprites[task->data[15]].pos1.y = task->data[4];
|
||||
gSprites[task->data[15]].y = task->data[4];
|
||||
ResetSpriteRotScale(task->data[15]);
|
||||
|
||||
task->data[2] = 0;
|
||||
@@ -846,7 +846,7 @@ static void sub_80AD1F8(u8 spriteId, u8 taskId, u8 a3)
|
||||
u16 i, j;
|
||||
s8 sign;
|
||||
u16 y = sub_80AD374(spriteId);
|
||||
u16 x = gSprites[spriteId].pos1.x;
|
||||
u16 x = gSprites[spriteId].x;
|
||||
|
||||
if(GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
|
||||
{
|
||||
@@ -887,7 +887,7 @@ static void AnimEruptionLaunchRock(struct Sprite *sprite)
|
||||
|
||||
static u16 sub_80AD374(u8 spriteId)
|
||||
{
|
||||
u16 var1 = gSprites[spriteId].pos1.y + gSprites[spriteId].pos2.y + gSprites[spriteId].centerToCornerVecY;
|
||||
u16 var1 = gSprites[spriteId].y + gSprites[spriteId].y2 + gSprites[spriteId].centerToCornerVecY;
|
||||
|
||||
if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
|
||||
var1 = ((var1 << 16) + 0x4A0000) >> 16;
|
||||
@@ -900,8 +900,8 @@ static void sub_80AD3C8(struct Sprite *sprite, s16 x, s16 y)
|
||||
{
|
||||
sprite->data[0] = 0;
|
||||
sprite->data[1] = 0;
|
||||
sprite->data[2] = (u16)sprite->pos1.x * 8;
|
||||
sprite->data[3] = (u16)sprite->pos1.y * 8;
|
||||
sprite->data[2] = (u16)sprite->x * 8;
|
||||
sprite->data[3] = (u16)sprite->y * 8;
|
||||
sprite->data[4] = x * 8;
|
||||
sprite->data[5] = y * 8;
|
||||
}
|
||||
@@ -918,17 +918,17 @@ static void sub_80AD3E4(struct Sprite *sprite)
|
||||
sprite->data[3] += var1;
|
||||
}
|
||||
sprite->data[2] += sprite->data[4];
|
||||
sprite->pos1.x = sprite->data[2] >> 3;
|
||||
sprite->x = sprite->data[2] >> 3;
|
||||
sprite->data[3] += sprite->data[5];
|
||||
sprite->pos1.y = sprite->data[3] >> 3;
|
||||
if (sprite->pos1.x < -8 || sprite->pos1.x > 0xf8 || sprite->pos1.y < -8 || sprite->pos1.y > 120)
|
||||
sprite->y = sprite->data[3] >> 3;
|
||||
if (sprite->x < -8 || sprite->x > 0xf8 || sprite->y < -8 || sprite->y > 120)
|
||||
sprite->invisible = TRUE;
|
||||
}
|
||||
|
||||
static void AnimEruptionFallingRock(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x = gBattleAnimArgs[0];
|
||||
sprite->pos1.y = gBattleAnimArgs[1];
|
||||
sprite->x = gBattleAnimArgs[0];
|
||||
sprite->y = gBattleAnimArgs[1];
|
||||
sprite->data[0] = 0;
|
||||
sprite->data[1] = 0;
|
||||
sprite->data[2] = 0;
|
||||
@@ -951,10 +951,10 @@ static void sub_80AD4A8(struct Sprite *sprite)
|
||||
++sprite->data[0];
|
||||
// fall through
|
||||
case 1:
|
||||
sprite->pos1.y += 8;
|
||||
if (sprite->pos1.y >= sprite->data[7])
|
||||
sprite->y += 8;
|
||||
if (sprite->y >= sprite->data[7])
|
||||
{
|
||||
sprite->pos1.y = sprite->data[7];
|
||||
sprite->y = sprite->data[7];
|
||||
++sprite->data[0];
|
||||
}
|
||||
break;
|
||||
@@ -963,9 +963,9 @@ static void sub_80AD4A8(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[1] = 0;
|
||||
if ((++sprite->data[2] & 1) != 0)
|
||||
sprite->pos2.y = -3;
|
||||
sprite->y2 = -3;
|
||||
else
|
||||
sprite->pos2.y = 3;
|
||||
sprite->y2 = 3;
|
||||
}
|
||||
if (++sprite->data[3] > 16)
|
||||
DestroyAnimSprite(sprite);
|
||||
@@ -992,10 +992,10 @@ static void AnimWillOWispOrb(struct Sprite *sprite)
|
||||
case 1:
|
||||
sprite->data[1] += 192;
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
sprite->pos2.y = -(sprite->data[1] >> 8);
|
||||
sprite->y2 = -(sprite->data[1] >> 8);
|
||||
else
|
||||
sprite->pos2.y = sprite->data[1] >> 8;
|
||||
sprite->pos2.x = Sin(sprite->data[2], sprite->data[4]);
|
||||
sprite->y2 = sprite->data[1] >> 8;
|
||||
sprite->x2 = Sin(sprite->data[2], sprite->data[4]);
|
||||
sprite->data[2] = (sprite->data[2] + 4) & 0xFF;
|
||||
if (++sprite->data[3] == 1)
|
||||
{
|
||||
@@ -1004,17 +1004,17 @@ static void AnimWillOWispOrb(struct Sprite *sprite)
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
sprite->pos2.x = Sin(sprite->data[2], sprite->data[4]);
|
||||
sprite->x2 = Sin(sprite->data[2], sprite->data[4]);
|
||||
sprite->data[2] = (sprite->data[2] + 4) & 0xFF;
|
||||
if (++sprite->data[3] == 31)
|
||||
{
|
||||
sprite->pos1.x += sprite->pos2.x;
|
||||
sprite->pos1.y += sprite->pos2.y;
|
||||
sprite->pos2.x = sprite->pos2.y = 0;
|
||||
sprite->x += sprite->x2;
|
||||
sprite->y += sprite->y2;
|
||||
sprite->x2 = sprite->y2 = 0;
|
||||
sprite->data[0] = 256;
|
||||
sprite->data[1] = sprite->pos1.x;
|
||||
sprite->data[1] = sprite->x;
|
||||
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
|
||||
sprite->data[3] = sprite->pos1.y;
|
||||
sprite->data[3] = sprite->y;
|
||||
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
|
||||
BattleAnim_InitLinearTranslationWithDuration(sprite);
|
||||
sprite->callback = sub_80AD690;
|
||||
@@ -1029,7 +1029,7 @@ static void sub_80AD690(struct Sprite *sprite)
|
||||
|
||||
if (!AnimTranslateLinear(sprite))
|
||||
{
|
||||
sprite->pos2.x += Sin(sprite->data[5], 16);
|
||||
sprite->x2 += Sin(sprite->data[5], 16);
|
||||
initialData5 = sprite->data[5];
|
||||
sprite->data[5] = (sprite->data[5] + 4) & 0xFF;
|
||||
newData5 = sprite->data[5];
|
||||
@@ -1052,8 +1052,8 @@ static void AnimWillOWispFire(struct Sprite *sprite)
|
||||
}
|
||||
sprite->data[3] += 0xC0 * 2;
|
||||
sprite->data[4] += 0xA0;
|
||||
sprite->pos2.x = Sin(sprite->data[1], sprite->data[3] >> 8);
|
||||
sprite->pos2.y = Cos(sprite->data[1], sprite->data[4] >> 8);
|
||||
sprite->x2 = Sin(sprite->data[1], sprite->data[3] >> 8);
|
||||
sprite->y2 = Cos(sprite->data[1], sprite->data[4] >> 8);
|
||||
sprite->data[1] = (sprite->data[1] + 7) & 0xFF;
|
||||
if (!IsContest())
|
||||
{
|
||||
@@ -1104,7 +1104,7 @@ static void sub_80AD870(u8 taskId)
|
||||
task->data[11] = -2;
|
||||
}
|
||||
for (task->data[3] = 0; task->data[3] < task->data[13]; task->data[3]++)
|
||||
gSprites[task->data[task->data[3] + 14]].pos2.x = task->data[10] + task->data[11];
|
||||
gSprites[task->data[task->data[3] + 14]].x2 = task->data[10] + task->data[11];
|
||||
if (++task->data[9] == 16)
|
||||
{
|
||||
task->data[9] = 0;
|
||||
@@ -1122,7 +1122,7 @@ static void sub_80AD870(u8 taskId)
|
||||
task->data[11] = -2;
|
||||
}
|
||||
for (task->data[3] = 0; task->data[3] < task->data[13]; task->data[3]++)
|
||||
gSprites[task->data[task->data[3] + 14]].pos2.x = task->data[10] + task->data[11];
|
||||
gSprites[task->data[task->data[3] + 14]].x2 = task->data[10] + task->data[11];
|
||||
if (++task->data[9] == 96)
|
||||
{
|
||||
task->data[9] = 0;
|
||||
@@ -1141,13 +1141,13 @@ static void sub_80AD870(u8 taskId)
|
||||
task->data[11] = -2;
|
||||
}
|
||||
for (task->data[3] = 0; task->data[3] < task->data[13]; task->data[3]++)
|
||||
gSprites[task->data[task->data[3] + 14]].pos2.x = task->data[10] + task->data[11];
|
||||
gSprites[task->data[task->data[3] + 14]].x2 = task->data[10] + task->data[11];
|
||||
if (++task->data[9] == 16)
|
||||
++task->data[0];
|
||||
break;
|
||||
case 3:
|
||||
for (task->data[3] = 0; task->data[3] < task->data[13]; task->data[3]++)
|
||||
gSprites[task->data[task->data[3] + 14]].pos2.x = 0;
|
||||
gSprites[task->data[task->data[3] + 14]].x2 = 0;
|
||||
DestroyAnimVisualTask(taskId);
|
||||
break;
|
||||
}
|
||||
@@ -1184,13 +1184,13 @@ void AnimTask_ShakeTargetInPattern(u8 taskId)
|
||||
else
|
||||
unk = sShakeDirsPattern1[gTasks[taskId].data[0] % 10];
|
||||
if (gTasks[taskId].data[3] == 1)
|
||||
gSprites[spriteId].pos2.y = gBattleAnimArgs[1] * unk < 0 ? -(gBattleAnimArgs[1] * unk) : gBattleAnimArgs[1] * unk;
|
||||
gSprites[spriteId].y2 = gBattleAnimArgs[1] * unk < 0 ? -(gBattleAnimArgs[1] * unk) : gBattleAnimArgs[1] * unk;
|
||||
else
|
||||
gSprites[spriteId].pos2.x = gBattleAnimArgs[1] * unk;
|
||||
gSprites[spriteId].x2 = gBattleAnimArgs[1] * unk;
|
||||
if (gTasks[taskId].data[0] == gTasks[taskId].data[1])
|
||||
{
|
||||
gSprites[spriteId].pos2.x = 0;
|
||||
gSprites[spriteId].pos2.y = 0;
|
||||
gSprites[spriteId].x2 = 0;
|
||||
gSprites[spriteId].y2 = 0;
|
||||
DestroyAnimVisualTask(taskId);
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -261,8 +261,8 @@ static void SpriteCallback_CutGrass_Init(struct Sprite * sprite)
|
||||
|
||||
static void SpriteCallback_CutGrass_Run(struct Sprite * sprite)
|
||||
{
|
||||
sprite->pos2.x = Sin(sprite->data[2], sprite->data[0]);
|
||||
sprite->pos2.y = Cos(sprite->data[2], sprite->data[0]);
|
||||
sprite->x2 = Sin(sprite->data[2], sprite->data[0]);
|
||||
sprite->y2 = Cos(sprite->data[2], sprite->data[0]);
|
||||
sprite->data[2] += 8;
|
||||
sprite->data[2] &= 0xFF;
|
||||
sprite->data[0]++;
|
||||
|
||||
+84
-84
@@ -363,7 +363,7 @@ const struct SpriteTemplate gSkyAttackBirdSpriteTemplate =
|
||||
static void AnimEllipticalGust(struct Sprite *sprite)
|
||||
{
|
||||
InitSpritePosToAnimTarget(sprite, FALSE);
|
||||
sprite->pos1.y += 20;
|
||||
sprite->y += 20;
|
||||
sprite->data[1] = 191;
|
||||
sprite->callback = sub_80B190C;
|
||||
sprite->callback(sprite);
|
||||
@@ -371,8 +371,8 @@ static void AnimEllipticalGust(struct Sprite *sprite)
|
||||
|
||||
static void sub_80B190C(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos2.x = Sin(sprite->data[1], 32);
|
||||
sprite->pos2.y = Cos(sprite->data[1], 8);
|
||||
sprite->x2 = Sin(sprite->data[1], 32);
|
||||
sprite->y2 = Cos(sprite->data[1], 8);
|
||||
sprite->data[1] += 5;
|
||||
sprite->data[1] &= 0xFF;
|
||||
if (++sprite->data[0] == 71)
|
||||
@@ -417,9 +417,9 @@ static void AnimGustToTarget(struct Sprite *sprite)
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
|
||||
sprite->data[0] = gBattleAnimArgs[4];
|
||||
sprite->data[1] = sprite->pos1.x;
|
||||
sprite->data[1] = sprite->x;
|
||||
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + gBattleAnimArgs[2];
|
||||
sprite->data[3] = sprite->pos1.y;
|
||||
sprite->data[3] = sprite->y;
|
||||
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[3];
|
||||
InitAnimLinearTranslation(sprite);
|
||||
sprite->callback = RunStoredCallbackWhenAffineAnimEnds;
|
||||
@@ -446,10 +446,10 @@ static void AnimAirWaveCrescent(struct Sprite *sprite)
|
||||
gBattleAnimArgs[1] = -gBattleAnimArgs[1];
|
||||
gBattleAnimArgs[3] = -gBattleAnimArgs[3];
|
||||
}
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
sprite->x += gBattleAnimArgs[0];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
sprite->data[0] = gBattleAnimArgs[4];
|
||||
if (gBattleAnimArgs[6] == 0)
|
||||
{
|
||||
@@ -485,9 +485,9 @@ static void sub_80B1BF8(struct Sprite *sprite)
|
||||
else
|
||||
{
|
||||
sprite->data[2] += sprite->data[1];
|
||||
sprite->pos2.y -= (sprite->data[2] >> 8);
|
||||
sprite->y2 -= (sprite->data[2] >> 8);
|
||||
}
|
||||
if (sprite->pos1.y + sprite->pos2.y < -32)
|
||||
if (sprite->y + sprite->y2 < -32)
|
||||
DestroyAnimSprite(sprite);
|
||||
}
|
||||
|
||||
@@ -495,19 +495,19 @@ static void AnimFlyBallAttack(struct Sprite *sprite)
|
||||
{
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
{
|
||||
sprite->pos1.x = 272;
|
||||
sprite->pos1.y = -32;
|
||||
sprite->x = 272;
|
||||
sprite->y = -32;
|
||||
StartSpriteAffineAnim(sprite, 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos1.x = -32;
|
||||
sprite->pos1.y = -32;
|
||||
sprite->x = -32;
|
||||
sprite->y = -32;
|
||||
}
|
||||
sprite->data[0] = gBattleAnimArgs[0];
|
||||
sprite->data[1] = sprite->pos1.x;
|
||||
sprite->data[1] = sprite->x;
|
||||
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
|
||||
sprite->data[3] = sprite->pos1.y;
|
||||
sprite->data[3] = sprite->y;
|
||||
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
InitAnimLinearTranslation(sprite);
|
||||
sprite->callback = sub_80B1CC0;
|
||||
@@ -519,13 +519,13 @@ static void sub_80B1CC0(struct Sprite *sprite)
|
||||
AnimTranslateLinear(sprite);
|
||||
if (((u16)sprite->data[3] >> 8) > 200)
|
||||
{
|
||||
sprite->pos1.x += sprite->pos2.x;
|
||||
sprite->pos2.x = 0;
|
||||
sprite->x += sprite->x2;
|
||||
sprite->x2 = 0;
|
||||
sprite->data[3] &= 0xFF;
|
||||
}
|
||||
if (sprite->pos1.x + sprite->pos2.x < -32
|
||||
|| sprite->pos1.x + sprite->pos2.x > 272
|
||||
|| sprite->pos1.y + sprite->pos2.y > 160)
|
||||
if (sprite->x + sprite->x2 < -32
|
||||
|| sprite->x + sprite->x2 > 272
|
||||
|| sprite->y + sprite->y2 > 160)
|
||||
{
|
||||
gSprites[GetAnimBattlerSpriteId(ANIM_ATTACKER)].invisible = FALSE;
|
||||
DestroyAnimSprite(sprite);
|
||||
@@ -576,10 +576,10 @@ static void AnimFallingFeather(struct Sprite *sprite)
|
||||
battler = gBattleAnimTarget;
|
||||
if (GetBattlerSide(battler) == B_SIDE_PLAYER)
|
||||
gBattleAnimArgs[0] = -gBattleAnimArgs[0];
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(battler, BATTLER_COORD_ATTR_HEIGHT) + gBattleAnimArgs[0];
|
||||
sprite->x = GetBattlerSpriteCoord(battler, BATTLER_COORD_ATTR_HEIGHT) + gBattleAnimArgs[0];
|
||||
spriteCoord = GetBattlerSpriteCoord(battler, BATTLER_COORD_ATTR_WIDTH);
|
||||
sprite->pos1.y = spriteCoord + gBattleAnimArgs[1];
|
||||
data->unk8 = sprite->pos1.y << 8;
|
||||
sprite->y = spriteCoord + gBattleAnimArgs[1];
|
||||
data->unk8 = sprite->y << 8;
|
||||
data->unkE_1 = spriteCoord + gBattleAnimArgs[6];
|
||||
data->unk0_0c = 1;
|
||||
data->unk2 = gBattleAnimArgs[2] & 0xFF;
|
||||
@@ -616,9 +616,9 @@ static void AnimFallingFeather(struct Sprite *sprite)
|
||||
}
|
||||
}
|
||||
data->unk0_1 = data->unk2 >> 6;
|
||||
sprite->pos2.x = (gSineTable[data->unk2] * data->unkC[0]) >> 8;
|
||||
sprite->x2 = (gSineTable[data->unk2] * data->unkC[0]) >> 8;
|
||||
matrixNum = sprite->oam.matrixNum;
|
||||
sinIndex = (-sprite->pos2.x >> 1) + data->unkA;
|
||||
sinIndex = (-sprite->x2 >> 1) + data->unkA;
|
||||
sinVal = gSineTable[sinIndex];
|
||||
gOamMatrices[matrixNum].a = gOamMatrices[matrixNum].d = gSineTable[sinIndex + 64];
|
||||
if (sprite)
|
||||
@@ -858,10 +858,10 @@ static void AnimFallingFeather_Step(struct Sprite *sprite)
|
||||
break;
|
||||
}
|
||||
|
||||
sprite->pos2.x = ((s32)data->unkC[data->unk0_0b] * gSineTable[data->unk2]) >> 8;
|
||||
sprite->x2 = ((s32)data->unkC[data->unk0_0b] * gSineTable[data->unk2]) >> 8;
|
||||
matrixNum = sprite->oam.matrixNum;
|
||||
|
||||
sinIndex = (-sprite->pos2.x >> 1) + data->unkA;
|
||||
sinIndex = (-sprite->x2 >> 1) + data->unkA;
|
||||
sinVal = gSineTable[sinIndex];
|
||||
|
||||
gOamMatrices[matrixNum].a = gOamMatrices[matrixNum].d = gSineTable[sinIndex + 64];
|
||||
@@ -869,13 +869,13 @@ static void AnimFallingFeather_Step(struct Sprite *sprite)
|
||||
gOamMatrices[matrixNum].c = -sinVal;
|
||||
|
||||
data->unk8 += data->unk6;
|
||||
sprite->pos1.y = data->unk8 >> 8;
|
||||
sprite->y = data->unk8 >> 8;
|
||||
if (data->unk4 & 0x8000)
|
||||
data->unk2 = (data->unk2 - (data->unk4 & 0x7FFF)) & 0xFF;
|
||||
else
|
||||
data->unk2 = (data->unk2 + (data->unk4 & 0x7FFF)) & 0xFF;
|
||||
|
||||
if (sprite->pos1.y + sprite->pos2.y >= data->unkE_1)
|
||||
if (sprite->y + sprite->y2 >= data->unkE_1)
|
||||
{
|
||||
sprite->data[0] = 0;
|
||||
sprite->callback = DestroyAnimSpriteAfterTimer;
|
||||
@@ -886,8 +886,8 @@ static void AnimFallingFeather_Step(struct Sprite *sprite)
|
||||
static void sub_80B24C0(struct Sprite *sprite)
|
||||
{
|
||||
sprite->oam.priority = GetBattlerSpriteBGPriority(gBattleAnimTarget);
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
|
||||
sprite->callback = TranslateAnimSpriteToTargetMonLocation;
|
||||
}
|
||||
|
||||
@@ -917,8 +917,8 @@ static void sub_80B2514(struct Sprite *sprite)
|
||||
sprite->data[4] = gSineTable[sprite->data[1] & 0xFF];
|
||||
sprite->data[5] = -gSineTable[(sprite->data[1] & 0xFF) + 64];
|
||||
sprite->data[6] = 0;
|
||||
sprite->pos2.y = 0;
|
||||
sprite->pos2.x = 0;
|
||||
sprite->y2 = 0;
|
||||
sprite->x2 = 0;
|
||||
matrixNum = sprite->oam.matrixNum;
|
||||
sprite->data[1] = (u16)sprite->data[1] >> 8;
|
||||
rn = Random();
|
||||
@@ -948,18 +948,18 @@ static void sub_80B268C(struct Sprite *sprite)
|
||||
++sprite->data[0];
|
||||
if (sprite->data[0] <= 4)
|
||||
return;
|
||||
sprite->pos2.x = (sprite->data[4] * sprite->data[6]) >> 8;
|
||||
sprite->pos2.y = (sprite->data[5] * sprite->data[6]) >> 8;
|
||||
sprite->x2 = (sprite->data[4] * sprite->data[6]) >> 8;
|
||||
sprite->y2 = (sprite->data[5] * sprite->data[6]) >> 8;
|
||||
sprite->data[6] += sprite->data[3] & 0xFF;
|
||||
if (sprite->data[6] < (sprite->data[2] & 0xFF))
|
||||
return;
|
||||
sprite->pos1.x += sprite->pos2.x;
|
||||
sprite->pos1.y += sprite->pos2.y;
|
||||
sprite->pos2.x = 0;
|
||||
sprite->pos2.y = 0;
|
||||
sprite->x += sprite->x2;
|
||||
sprite->y += sprite->y2;
|
||||
sprite->x2 = 0;
|
||||
sprite->y2 = 0;
|
||||
memcpy(&fData, tData, sizeof(struct FeatherDanceData));
|
||||
memset(tData, 0, sizeof(struct FeatherDanceData));
|
||||
tData->unk8 = sprite->pos1.y << 8;
|
||||
tData->unk8 = sprite->y << 8;
|
||||
tData->unk6 = fData.unk6 >> 8;
|
||||
tData->unk2 = 0;
|
||||
tData->unkA = fData.unk2;
|
||||
@@ -998,13 +998,13 @@ static void AnimWhirlwindLine(struct Sprite *sprite)
|
||||
InitSpritePosToAnimTarget(sprite, FALSE);
|
||||
if ((!gBattleAnimArgs[2] && GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
|
||||
|| (gBattleAnimArgs[2] == 1 && GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER))
|
||||
sprite->pos1.x += 8;
|
||||
sprite->x += 8;
|
||||
SeekSpriteAnim(sprite, gBattleAnimArgs[4]);
|
||||
sprite->pos1.x -= 32;
|
||||
sprite->x -= 32;
|
||||
sprite->data[1] = 0x0ccc;
|
||||
arg = gBattleAnimArgs[4];
|
||||
mult = 12;
|
||||
sprite->pos2.x += mult * arg;
|
||||
sprite->x2 += mult * arg;
|
||||
sprite->data[0] = arg;
|
||||
sprite->data[7] = gBattleAnimArgs[3];
|
||||
sprite->callback = sub_80B2820;
|
||||
@@ -1012,11 +1012,11 @@ static void AnimWhirlwindLine(struct Sprite *sprite)
|
||||
|
||||
static void sub_80B2820(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos2.x += sprite->data[1] >> 8;
|
||||
sprite->x2 += sprite->data[1] >> 8;
|
||||
if (++sprite->data[0] == 6)
|
||||
{
|
||||
sprite->data[0] = 0;
|
||||
sprite->pos2.x = 0;
|
||||
sprite->x2 = 0;
|
||||
StartSpriteAnim(sprite, 0);
|
||||
}
|
||||
|
||||
@@ -1064,18 +1064,18 @@ static void AnimBounceBallLand(struct Sprite *sprite)
|
||||
switch (sprite->data[0])
|
||||
{
|
||||
case 0:
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 1);
|
||||
sprite->pos2.y = -sprite->pos1.y - 32;
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, 1);
|
||||
sprite->y2 = -sprite->y - 32;
|
||||
++sprite->data[0];
|
||||
break;
|
||||
case 1:
|
||||
sprite->pos2.y += 10;
|
||||
if (sprite->pos2.y >= 0)
|
||||
sprite->y2 += 10;
|
||||
if (sprite->y2 >= 0)
|
||||
++sprite->data[0];
|
||||
break;
|
||||
case 2:
|
||||
sprite->pos2.y -= 10;
|
||||
if (sprite->pos1.y + sprite->pos2.y < -32)
|
||||
sprite->y2 -= 10;
|
||||
if (sprite->y + sprite->y2 < -32)
|
||||
{
|
||||
gSprites[GetAnimBattlerSpriteId(ANIM_ATTACKER)].invisible = FALSE;
|
||||
DestroyAnimSprite(sprite);
|
||||
@@ -1099,10 +1099,10 @@ static void sub_80B2A50(struct Sprite *sprite)
|
||||
{
|
||||
--sprite->data[0];
|
||||
}
|
||||
else if (sprite->pos1.y + sprite->pos2.y > -32)
|
||||
else if (sprite->y + sprite->y2 > -32)
|
||||
{
|
||||
sprite->data[2] += sprite->data[1];
|
||||
sprite->pos2.y -= (sprite->data[2] >> 8);
|
||||
sprite->y2 -= (sprite->data[2] >> 8);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1114,10 +1114,10 @@ static void sub_80B2A50(struct Sprite *sprite)
|
||||
|
||||
static void sub_80B2AB0(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos2.y += sprite->data[2] >> 8;
|
||||
if (sprite->pos1.y + sprite->pos2.y > -32)
|
||||
sprite->y2 += sprite->data[2] >> 8;
|
||||
if (sprite->y + sprite->y2 > -32)
|
||||
sprite->invisible = FALSE;
|
||||
if (sprite->pos2.y > 0)
|
||||
if (sprite->y2 > 0)
|
||||
DestroyAnimSprite(sprite);
|
||||
}
|
||||
|
||||
@@ -1131,13 +1131,13 @@ static void AnimDiveWaterSplash(struct Sprite *sprite)
|
||||
case 0:
|
||||
if (!gBattleAnimArgs[0])
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 0);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 1);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, 0);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, 1);
|
||||
}
|
||||
sprite->data[1] = 512;
|
||||
TrySetSpriteRotScale(sprite, 0, 256, sprite->data[1], 0);
|
||||
@@ -1156,7 +1156,7 @@ static void AnimDiveWaterSplash(struct Sprite *sprite)
|
||||
if (t2 > 128)
|
||||
t2 = 128;
|
||||
t2 = (64 - t2) / 2;
|
||||
sprite->pos2.y = t2;
|
||||
sprite->y2 = t2;
|
||||
if (sprite->data[2] == 24)
|
||||
{
|
||||
TryResetSpriteAffineState(sprite);
|
||||
@@ -1185,13 +1185,13 @@ static void AnimSprayWaterDroplet(struct Sprite *sprite)
|
||||
sprite->oam.matrixNum = ST_OAM_HFLIP;
|
||||
if (gBattleAnimArgs[1] == 0)
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1) + 32;
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1) + 32;
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 0);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 1) + 32;
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, 0);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, 1) + 32;
|
||||
}
|
||||
sprite->callback = sub_80B2C88;
|
||||
}
|
||||
@@ -1200,13 +1200,13 @@ static void sub_80B2C88(struct Sprite *sprite)
|
||||
{
|
||||
if (sprite->data[2] == 0)
|
||||
{
|
||||
sprite->pos2.x += sprite->data[0] >> 8;
|
||||
sprite->pos2.y -= sprite->data[1] >> 8;
|
||||
sprite->x2 += sprite->data[0] >> 8;
|
||||
sprite->y2 -= sprite->data[1] >> 8;
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos2.x -= sprite->data[0] >> 8;
|
||||
sprite->pos2.y -= sprite->data[1] >> 8;
|
||||
sprite->x2 -= sprite->data[0] >> 8;
|
||||
sprite->y2 -= sprite->data[1] >> 8;
|
||||
}
|
||||
sprite->data[0] = sprite->data[0];
|
||||
sprite->data[1] -= 32;
|
||||
@@ -1245,16 +1245,16 @@ static void sub_80B2CF8(struct Sprite *sprite)
|
||||
static void AnimSkyAttackBird(struct Sprite *sprite)
|
||||
{
|
||||
u16 rotation;
|
||||
s16 posx = sprite->pos1.x;
|
||||
s16 posy = sprite->pos1.y;
|
||||
s16 posx = sprite->x;
|
||||
s16 posy = sprite->y;
|
||||
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
|
||||
sprite->data[4] = sprite->pos1.x << 4;
|
||||
sprite->data[5] = sprite->pos1.y << 4;
|
||||
sprite->data[6] = ((posx - sprite->pos1.x) << 4) / 12;
|
||||
sprite->data[7] = ((posy - sprite->pos1.y) << 4) / 12;
|
||||
rotation = ArcTan2Neg(posx - sprite->pos1.x, posy - sprite->pos1.y);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
|
||||
sprite->data[4] = sprite->x << 4;
|
||||
sprite->data[5] = sprite->y << 4;
|
||||
sprite->data[6] = ((posx - sprite->x) << 4) / 12;
|
||||
sprite->data[7] = ((posy - sprite->y) << 4) / 12;
|
||||
rotation = ArcTan2Neg(posx - sprite->x, posy - sprite->y);
|
||||
rotation += 49152;
|
||||
TrySetSpriteRotScale(sprite, 1, 0x100, 0x100, rotation);
|
||||
sprite->callback = sub_80B2E20;
|
||||
@@ -1264,10 +1264,10 @@ static void sub_80B2E20(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[4] += sprite->data[6];
|
||||
sprite->data[5] += sprite->data[7];
|
||||
sprite->pos1.x = sprite->data[4] >> 4;
|
||||
sprite->pos1.y = sprite->data[5] >> 4;
|
||||
if (sprite->pos1.x > 285 || sprite->pos1.x < -45
|
||||
|| sprite->pos1.y > 157 || sprite->pos1.y < -45)
|
||||
sprite->x = sprite->data[4] >> 4;
|
||||
sprite->y = sprite->data[5] >> 4;
|
||||
if (sprite->x > 285 || sprite->x < -45
|
||||
|| sprite->y > 157 || sprite->y < -45)
|
||||
DestroySpriteAndMatrix(sprite);
|
||||
}
|
||||
|
||||
|
||||
+49
-49
@@ -222,9 +222,9 @@ static void AnimConfuseRayBallBounce(struct Sprite *sprite)
|
||||
{
|
||||
InitSpritePosToAnimAttacker(sprite, 1);
|
||||
sprite->data[0] = gBattleAnimArgs[2];
|
||||
sprite->data[1] = sprite->pos1.x;
|
||||
sprite->data[1] = sprite->x;
|
||||
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
|
||||
sprite->data[3] = sprite->pos1.y;
|
||||
sprite->data[3] = sprite->y;
|
||||
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
|
||||
BattleAnim_InitLinearTranslationWithDuration(sprite);
|
||||
sprite->callback = sub_80B52D0;
|
||||
@@ -243,8 +243,8 @@ static void sub_80B52D0(struct Sprite *sprite)
|
||||
sprite->callback = sub_80B5344;
|
||||
return;
|
||||
}
|
||||
sprite->pos2.x += Sin(sprite->data[5], 10);
|
||||
sprite->pos2.y += Cos(sprite->data[5], 15);
|
||||
sprite->x2 += Sin(sprite->data[5], 10);
|
||||
sprite->y2 += Cos(sprite->data[5], 15);
|
||||
r2 = sprite->data[5];
|
||||
sprite->data[5] = (sprite->data[5] + 5) & 0xFF;
|
||||
r0 = sprite->data[5];
|
||||
@@ -261,8 +261,8 @@ static void sub_80B5344(struct Sprite *sprite)
|
||||
|
||||
sprite->data[0] = 1;
|
||||
AnimTranslateLinear(sprite);
|
||||
sprite->pos2.x += Sin(sprite->data[5], 10);
|
||||
sprite->pos2.y += Cos(sprite->data[5], 15);
|
||||
sprite->x2 += Sin(sprite->data[5], 10);
|
||||
sprite->y2 += Cos(sprite->data[5], 15);
|
||||
r2 = sprite->data[5];
|
||||
sprite->data[5] = (sprite->data[5] + 5) & 0xFF;
|
||||
r0 = sprite->data[5];
|
||||
@@ -317,8 +317,8 @@ static void sub_80B5470(struct Sprite *sprite)
|
||||
{
|
||||
u16 temp1;
|
||||
|
||||
sprite->pos2.x = Sin(sprite->data[0], 32);
|
||||
sprite->pos2.y = Cos(sprite->data[0], 8);
|
||||
sprite->x2 = Sin(sprite->data[0], 32);
|
||||
sprite->y2 = Cos(sprite->data[0], 8);
|
||||
temp1 = sprite->data[0] - 65;
|
||||
if (temp1 <= 130)
|
||||
sprite->oam.priority = 2;
|
||||
@@ -326,7 +326,7 @@ static void sub_80B5470(struct Sprite *sprite)
|
||||
sprite->oam.priority = 1;
|
||||
sprite->data[0] = (sprite->data[0] + 19) & 0xFF;
|
||||
sprite->data[2] += 80;
|
||||
sprite->pos2.y += sprite->data[2] >> 8;
|
||||
sprite->y2 += sprite->data[2] >> 8;
|
||||
sprite->data[7] += 1;
|
||||
if (sprite->data[7] == 61)
|
||||
DestroyAnimSprite(sprite);
|
||||
@@ -395,19 +395,19 @@ static void sub_80B55C8(u8 taskId)
|
||||
// arg 2: duration step 3 (center -> target)
|
||||
static void AnimShadowBall(struct Sprite *sprite)
|
||||
{
|
||||
s16 oldPosX = sprite->pos1.x;
|
||||
s16 oldPosY = sprite->pos1.y;
|
||||
s16 oldPosX = sprite->x;
|
||||
s16 oldPosY = sprite->y;
|
||||
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
|
||||
sprite->data[0] = 0;
|
||||
sprite->data[1] = gBattleAnimArgs[0];
|
||||
sprite->data[2] = gBattleAnimArgs[1];
|
||||
sprite->data[3] = gBattleAnimArgs[2];
|
||||
sprite->data[4] = sprite->pos1.x << 4;
|
||||
sprite->data[5] = sprite->pos1.y << 4;
|
||||
sprite->data[6] = ((oldPosX - sprite->pos1.x) << 4) / (gBattleAnimArgs[0] << 1);
|
||||
sprite->data[7] = ((oldPosY - sprite->pos1.y) << 4) / (gBattleAnimArgs[0] << 1);
|
||||
sprite->data[4] = sprite->x << 4;
|
||||
sprite->data[5] = sprite->y << 4;
|
||||
sprite->data[6] = ((oldPosX - sprite->x) << 4) / (gBattleAnimArgs[0] << 1);
|
||||
sprite->data[7] = ((oldPosY - sprite->y) << 4) / (gBattleAnimArgs[0] << 1);
|
||||
sprite->callback = AnimShadowBallStep;
|
||||
}
|
||||
|
||||
@@ -418,8 +418,8 @@ static void AnimShadowBallStep(struct Sprite *sprite)
|
||||
case 0:
|
||||
sprite->data[4] += sprite->data[6];
|
||||
sprite->data[5] += sprite->data[7];
|
||||
sprite->pos1.x = sprite->data[4] >> 4;
|
||||
sprite->pos1.y = sprite->data[5] >> 4;
|
||||
sprite->x = sprite->data[4] >> 4;
|
||||
sprite->y = sprite->data[5] >> 4;
|
||||
sprite->data[1] -= 1;
|
||||
if (sprite->data[1] > 0)
|
||||
break;
|
||||
@@ -431,22 +431,22 @@ static void AnimShadowBallStep(struct Sprite *sprite)
|
||||
break;
|
||||
sprite->data[1] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
|
||||
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
|
||||
sprite->data[4] = sprite->pos1.x << 4;
|
||||
sprite->data[5] = sprite->pos1.y << 4;
|
||||
sprite->data[6] = ((sprite->data[1] - sprite->pos1.x) << 4) / sprite->data[3];
|
||||
sprite->data[7] = ((sprite->data[2] - sprite->pos1.y) << 4) / sprite->data[3];
|
||||
sprite->data[4] = sprite->x << 4;
|
||||
sprite->data[5] = sprite->y << 4;
|
||||
sprite->data[6] = ((sprite->data[1] - sprite->x) << 4) / sprite->data[3];
|
||||
sprite->data[7] = ((sprite->data[2] - sprite->y) << 4) / sprite->data[3];
|
||||
sprite->data[0] += 1;
|
||||
break;
|
||||
case 2:
|
||||
sprite->data[4] += sprite->data[6];
|
||||
sprite->data[5] += sprite->data[7];
|
||||
sprite->pos1.x = sprite->data[4] >> 4;
|
||||
sprite->pos1.y = sprite->data[5] >> 4;
|
||||
sprite->x = sprite->data[4] >> 4;
|
||||
sprite->y = sprite->data[5] >> 4;
|
||||
sprite->data[3] -= 1;
|
||||
if (sprite->data[3] > 0)
|
||||
break;
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
|
||||
sprite->data[0] += 1;
|
||||
break;
|
||||
case 3:
|
||||
@@ -648,7 +648,7 @@ static void sub_80B5AD4(u8 taskId)
|
||||
++task->data[15];
|
||||
break;
|
||||
case 2:
|
||||
startLine = gSprites[task->data[13]].pos1.y + gSprites[task->data[13]].pos2.y - 32;
|
||||
startLine = gSprites[task->data[13]].y + gSprites[task->data[13]].y2 - 32;
|
||||
if (startLine < 0)
|
||||
startLine = 0;
|
||||
if (position == 1)
|
||||
@@ -762,8 +762,8 @@ static void AnimDestinyBondWhiteShadow(struct Sprite *sprite)
|
||||
sprite->data[6] = battler2Y;
|
||||
sprite->data[7] = sprite->data[4] / 2;
|
||||
sprite->oam.priority = 2;
|
||||
sprite->pos1.x = battler1X;
|
||||
sprite->pos1.y = battler1Y;
|
||||
sprite->x = battler1X;
|
||||
sprite->y = battler1Y;
|
||||
sprite->callback = sub_80B5FE0;
|
||||
sprite->invisible = TRUE;
|
||||
}
|
||||
@@ -774,8 +774,8 @@ static void sub_80B5FE0(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[0] += sprite->data[2];
|
||||
sprite->data[1] += sprite->data[3];
|
||||
sprite->pos1.x = sprite->data[0] >> 4;
|
||||
sprite->pos1.y = sprite->data[1] >> 4;
|
||||
sprite->x = sprite->data[0] >> 4;
|
||||
sprite->y = sprite->data[1] >> 4;
|
||||
if (--sprite->data[4] == 0)
|
||||
sprite->data[0] = 0;
|
||||
}
|
||||
@@ -1020,7 +1020,7 @@ static void AnimCurseNail(struct Sprite *sprite)
|
||||
xDelta = -24;
|
||||
xDelta2 = 2;
|
||||
}
|
||||
sprite->pos1.x += xDelta;
|
||||
sprite->x += xDelta;
|
||||
sprite->data[1] = xDelta2;
|
||||
sprite->data[0] = 60;
|
||||
sprite->callback = sub_80B66A8;
|
||||
@@ -1036,12 +1036,12 @@ static void sub_80B66A8(struct Sprite *sprite)
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos2.x += sprite->data[1];
|
||||
var0 = sprite->pos2.x + 7;
|
||||
sprite->x2 += sprite->data[1];
|
||||
var0 = sprite->x2 + 7;
|
||||
if (var0 > 14)
|
||||
{
|
||||
sprite->pos1.x += sprite->pos2.x;
|
||||
sprite->pos2.x = 0;
|
||||
sprite->x += sprite->x2;
|
||||
sprite->x2 = 0;
|
||||
sprite->oam.tileNum += 8;
|
||||
if (++sprite->data[2] == 3)
|
||||
{
|
||||
@@ -1097,12 +1097,12 @@ static void AnimGhostStatusSprite(struct Sprite *sprite)
|
||||
{
|
||||
u16 coeffB, coeffA;
|
||||
|
||||
sprite->pos2.x = Sin(sprite->data[0], 12);
|
||||
sprite->x2 = Sin(sprite->data[0], 12);
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
sprite->pos2.x = -sprite->pos2.x;
|
||||
sprite->x2 = -sprite->x2;
|
||||
sprite->data[0] = (sprite->data[0] + 6) & 0xFF;
|
||||
sprite->data[1] += 0x100;
|
||||
sprite->pos2.y = -(sprite->data[1] >> 8);
|
||||
sprite->y2 = -(sprite->data[1] >> 8);
|
||||
++sprite->data[7];
|
||||
if (sprite->data[7] == 1)
|
||||
{
|
||||
@@ -1244,7 +1244,7 @@ static void AnimGrudgeFlame(struct Sprite *sprite)
|
||||
else
|
||||
sprite->data[2] -= 2;
|
||||
sprite->data[2] &= 0xFF;
|
||||
sprite->pos2.x = Sin(sprite->data[2], sprite->data[3]);
|
||||
sprite->x2 = Sin(sprite->data[2], sprite->data[3]);
|
||||
index = sprite->data[2] - 65;
|
||||
if (index < 127)
|
||||
sprite->oam.priority = gTasks[sprite->data[0]].data[5] + 1;
|
||||
@@ -1252,7 +1252,7 @@ static void AnimGrudgeFlame(struct Sprite *sprite)
|
||||
sprite->oam.priority = gTasks[sprite->data[0]].data[5];
|
||||
++sprite->data[5];
|
||||
sprite->data[6] = (sprite->data[5] * 8) & 0xFF;
|
||||
sprite->pos2.y = Sin(sprite->data[6], 7);
|
||||
sprite->y2 = Sin(sprite->data[6], 7);
|
||||
if (gTasks[sprite->data[0]].data[8])
|
||||
{
|
||||
--gTasks[sprite->data[0]].data[7];
|
||||
@@ -1351,7 +1351,7 @@ static void sub_80B6BE4(u8 taskId)
|
||||
ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_BG2_ON);
|
||||
break;
|
||||
case 6:
|
||||
y = gSprites[task->data[4]].pos1.y + gSprites[task->data[4]].pos2.y - 0x20;
|
||||
y = gSprites[task->data[4]].y + gSprites[task->data[4]].y2 - 0x20;
|
||||
if (y < 0)
|
||||
y = 0;
|
||||
if (rank == 1)
|
||||
@@ -1456,7 +1456,7 @@ static void sub_80B7158(struct Sprite *sprite)
|
||||
sprite->data[2] = gBattleAnimArgs[0];
|
||||
sprite->data[3] = gBattleAnimArgs[1];
|
||||
sprite->callback = sub_80B71B0;
|
||||
gSprites[sprite->data[5]].pos1.y += 8;
|
||||
gSprites[sprite->data[5]].y += 8;
|
||||
}
|
||||
|
||||
static void sub_80B71B0(struct Sprite *sprite)
|
||||
@@ -1464,17 +1464,17 @@ static void sub_80B71B0(struct Sprite *sprite)
|
||||
if (sprite->data[3])
|
||||
{
|
||||
--sprite->data[3];
|
||||
gSprites[sprite->data[5]].pos2.x = Sin(sprite->data[0], sprite->data[1]);
|
||||
gSprites[sprite->data[5]].pos2.y = Cos(sprite->data[0], sprite->data[1]);
|
||||
gSprites[sprite->data[5]].x2 = Sin(sprite->data[0], sprite->data[1]);
|
||||
gSprites[sprite->data[5]].y2 = Cos(sprite->data[0], sprite->data[1]);
|
||||
sprite->data[0] += sprite->data[2];
|
||||
if (sprite->data[0] > 255)
|
||||
sprite->data[0] -= 256;
|
||||
}
|
||||
else
|
||||
{
|
||||
gSprites[sprite->data[5]].pos2.x = 0;
|
||||
gSprites[sprite->data[5]].pos2.y = 0;
|
||||
gSprites[sprite->data[5]].pos1.y -= 8;
|
||||
gSprites[sprite->data[5]].x2 = 0;
|
||||
gSprites[sprite->data[5]].y2 = 0;
|
||||
gSprites[sprite->data[5]].y -= 8;
|
||||
sprite->callback = DestroySpriteAndMatrix;
|
||||
}
|
||||
}
|
||||
|
||||
+33
-33
@@ -140,8 +140,8 @@ const struct SpriteTemplate gDirtMoundSpriteTemplate =
|
||||
// a boomerang. After hitting the target mon, it comes back to the user.
|
||||
static void AnimBonemerangProjectile(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
|
||||
sprite->data[0] = 20;
|
||||
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
|
||||
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
|
||||
@@ -154,10 +154,10 @@ static void AnimBonemerangProjectileStep(struct Sprite *sprite)
|
||||
{
|
||||
if (TranslateAnimHorizontalArc(sprite))
|
||||
{
|
||||
sprite->pos1.x += sprite->pos2.x;
|
||||
sprite->pos1.y += sprite->pos2.y;
|
||||
sprite->pos2.y = 0;
|
||||
sprite->pos2.x = 0;
|
||||
sprite->x += sprite->x2;
|
||||
sprite->y += sprite->y2;
|
||||
sprite->y2 = 0;
|
||||
sprite->x2 = 0;
|
||||
sprite->data[0] = 20;
|
||||
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
|
||||
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
|
||||
@@ -229,16 +229,16 @@ static void AnimMudSportDirt(struct Sprite *sprite)
|
||||
++sprite->oam.tileNum;
|
||||
if (gBattleAnimArgs[0] == 0)
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) + gBattleAnimArgs[1];
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + gBattleAnimArgs[2];
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) + gBattleAnimArgs[1];
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + gBattleAnimArgs[2];
|
||||
sprite->data[0] = gBattleAnimArgs[1] > 0 ? 1 : -1;
|
||||
sprite->callback = AnimMudSportDirtRising;
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos1.x = gBattleAnimArgs[1];
|
||||
sprite->pos1.y = gBattleAnimArgs[2];
|
||||
sprite->pos2.y = -gBattleAnimArgs[2];
|
||||
sprite->x = gBattleAnimArgs[1];
|
||||
sprite->y = gBattleAnimArgs[2];
|
||||
sprite->y2 = -gBattleAnimArgs[2];
|
||||
sprite->callback = AnimMudSportDirtFalling;
|
||||
}
|
||||
}
|
||||
@@ -248,10 +248,10 @@ static void AnimMudSportDirtRising(struct Sprite *sprite)
|
||||
if (++sprite->data[1] > 1)
|
||||
{
|
||||
sprite->data[1] = 0;
|
||||
sprite->pos1.x += sprite->data[0];
|
||||
sprite->x += sprite->data[0];
|
||||
}
|
||||
sprite->pos1.y -= 4;
|
||||
if (sprite->pos1.y < -4)
|
||||
sprite->y -= 4;
|
||||
if (sprite->y < -4)
|
||||
DestroyAnimSprite(sprite);
|
||||
}
|
||||
|
||||
@@ -260,10 +260,10 @@ static void AnimMudSportDirtFalling(struct Sprite *sprite)
|
||||
switch (sprite->data[0])
|
||||
{
|
||||
case 0:
|
||||
sprite->pos2.y += 4;
|
||||
if (sprite->pos2.y >= 0)
|
||||
sprite->y2 += 4;
|
||||
if (sprite->y2 >= 0)
|
||||
{
|
||||
sprite->pos2.y = 0;
|
||||
sprite->y2 = 0;
|
||||
++sprite->data[0];
|
||||
}
|
||||
break;
|
||||
@@ -343,7 +343,7 @@ static void sub_80B8ED4(u8 taskId)
|
||||
else
|
||||
gBattle_BG2_Y = task->data[13] - task->data[5];
|
||||
|
||||
gSprites[task->data[10]].pos2.x = 272 - gSprites[task->data[10]].pos1.x;
|
||||
gSprites[task->data[10]].x2 = 272 - gSprites[task->data[10]].x;
|
||||
++task->data[0];
|
||||
}
|
||||
break;
|
||||
@@ -363,8 +363,8 @@ static void sub_80B908C(u8 taskId)
|
||||
u8 spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER);
|
||||
|
||||
gSprites[spriteId].invisible = TRUE;
|
||||
gSprites[spriteId].pos2.x = 0;
|
||||
gSprites[spriteId].pos2.y = 0;
|
||||
gSprites[spriteId].x2 = 0;
|
||||
gSprites[spriteId].y2 = 0;
|
||||
if (GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker) == 1)
|
||||
gBattle_BG1_Y = 0;
|
||||
else
|
||||
@@ -393,8 +393,8 @@ static void sub_80B912C(u8 taskId)
|
||||
case 0:
|
||||
task->data[10] = GetAnimBattlerSpriteId(ANIM_ATTACKER);
|
||||
gSprites[task->data[10]].invisible = FALSE;
|
||||
gSprites[task->data[10]].pos2.x = 0;
|
||||
gSprites[task->data[10]].pos2.y = 160 - gSprites[task->data[10]].pos1.y;
|
||||
gSprites[task->data[10]].x2 = 0;
|
||||
gSprites[task->data[10]].y2 = 160 - gSprites[task->data[10]].y;
|
||||
++task->data[0];
|
||||
break;
|
||||
case 1:
|
||||
@@ -426,12 +426,12 @@ static void sub_80B91B0(u8 taskId)
|
||||
++task->data[0];
|
||||
break;
|
||||
case 2:
|
||||
gSprites[task->data[10]].pos2.y = 96;
|
||||
gSprites[task->data[10]].y2 = 96;
|
||||
++task->data[0];
|
||||
break;
|
||||
case 3:
|
||||
gSprites[task->data[10]].pos2.y -= 8;
|
||||
if (gSprites[task->data[10]].pos2.y == 0)
|
||||
gSprites[task->data[10]].y2 -= 8;
|
||||
if (gSprites[task->data[10]].y2 == 0)
|
||||
{
|
||||
gScanlineEffect.state = 3;
|
||||
++task->data[0];
|
||||
@@ -500,11 +500,11 @@ static void AnimFissureDirtPlumeParticle(struct Sprite *sprite)
|
||||
xOffset *= -1;
|
||||
gBattleAnimArgs[2] *= -1;
|
||||
}
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(battler, 2) + xOffset;
|
||||
sprite->pos1.y = GetBattlerYCoordWithElevation(battler) + 30;
|
||||
sprite->x = GetBattlerSpriteCoord(battler, 2) + xOffset;
|
||||
sprite->y = GetBattlerYCoordWithElevation(battler) + 30;
|
||||
sprite->data[0] = gBattleAnimArgs[5];
|
||||
sprite->data[2] = sprite->pos1.x + gBattleAnimArgs[2];
|
||||
sprite->data[4] = sprite->pos1.y + gBattleAnimArgs[3];
|
||||
sprite->data[2] = sprite->x + gBattleAnimArgs[2];
|
||||
sprite->data[4] = sprite->y + gBattleAnimArgs[3];
|
||||
sprite->data[5] = gBattleAnimArgs[4];
|
||||
InitAnimArcTranslation(sprite);
|
||||
sprite->callback = AnimFissureDirtPlumeParticleStep;
|
||||
@@ -530,8 +530,8 @@ static void AnimDigDirtMound(struct Sprite *sprite)
|
||||
battler = gBattleAnimAttacker;
|
||||
else
|
||||
battler = gBattleAnimTarget;
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(battler, 0) - 16 + (gBattleAnimArgs[1] * 32);
|
||||
sprite->pos1.y = GetBattlerYCoordWithElevation(battler) + 32;
|
||||
sprite->x = GetBattlerSpriteCoord(battler, 0) - 16 + (gBattleAnimArgs[1] * 32);
|
||||
sprite->y = GetBattlerYCoordWithElevation(battler) + 32;
|
||||
sprite->oam.tileNum += gBattleAnimArgs[1] * 8;
|
||||
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
|
||||
sprite->data[0] = gBattleAnimArgs[2];
|
||||
@@ -665,7 +665,7 @@ static void sub_80B967C(u8 taskId)
|
||||
break;
|
||||
case 2:
|
||||
for (i = 0; i < task->data[13]; ++i)
|
||||
gSprites[task->data[9 + i]].pos2.x = 0;
|
||||
gSprites[task->data[9 + i]].x2 = 0;
|
||||
DestroyAnimVisualTask(taskId);
|
||||
break;
|
||||
}
|
||||
@@ -680,7 +680,7 @@ static void sub_80B9760(struct Task *task)
|
||||
else
|
||||
xOffset = -(task->data[14] / 2);
|
||||
for (i = 0; i < task->data[13]; ++i)
|
||||
gSprites[task->data[9 + i]].pos2.x = xOffset;
|
||||
gSprites[task->data[9 + i]].x2 = xOffset;
|
||||
}
|
||||
|
||||
void AnimTask_IsPowerOver99(u8 taskId)
|
||||
|
||||
+16
-16
@@ -629,9 +629,9 @@ static void Task_Hof_WaitAndPrintPlayerInfo(u8 taskId)
|
||||
{
|
||||
gTasks[taskId].data[3]--;
|
||||
}
|
||||
else if (gSprites[gTasks[taskId].data[4]].pos1.x != 192)
|
||||
else if (gSprites[gTasks[taskId].data[4]].x != 192)
|
||||
{
|
||||
gSprites[gTasks[taskId].data[4]].pos1.x++;
|
||||
gSprites[gTasks[taskId].data[4]].x++;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1220,18 +1220,18 @@ static void SpriteCB_EndGetOnScreen(struct Sprite * sprite)
|
||||
|
||||
static void SpriteCB_GetOnScreen(struct Sprite * sprite)
|
||||
{
|
||||
if (sprite->pos1.x != sprite->data[1]
|
||||
|| sprite->pos1.y != sprite->data[2])
|
||||
if (sprite->x != sprite->data[1]
|
||||
|| sprite->y != sprite->data[2])
|
||||
{
|
||||
if (sprite->pos1.x < sprite->data[1])
|
||||
sprite->pos1.x += 15;
|
||||
if (sprite->pos1.x > sprite->data[1])
|
||||
sprite->pos1.x -= 15;
|
||||
if (sprite->x < sprite->data[1])
|
||||
sprite->x += 15;
|
||||
if (sprite->x > sprite->data[1])
|
||||
sprite->x -= 15;
|
||||
|
||||
if (sprite->pos1.y < sprite->data[2])
|
||||
sprite->pos1.y += 10;
|
||||
if (sprite->pos1.y > sprite->data[2])
|
||||
sprite->pos1.y -= 10;
|
||||
if (sprite->y < sprite->data[2])
|
||||
sprite->y += 10;
|
||||
if (sprite->y > sprite->data[2])
|
||||
sprite->y -= 10;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1242,7 +1242,7 @@ static void SpriteCB_GetOnScreen(struct Sprite * sprite)
|
||||
|
||||
static void SpriteCB_Confetti(struct Sprite* sprite)
|
||||
{
|
||||
if (sprite->pos2.y > 120)
|
||||
if (sprite->y2 > 120)
|
||||
{
|
||||
DestroySprite(sprite);
|
||||
}
|
||||
@@ -1251,12 +1251,12 @@ static void SpriteCB_Confetti(struct Sprite* sprite)
|
||||
u16 rand;
|
||||
u8 tableID;
|
||||
|
||||
sprite->pos2.y++;
|
||||
sprite->pos2.y += sprite->data[1];
|
||||
sprite->y2++;
|
||||
sprite->y2 += sprite->data[1];
|
||||
|
||||
tableID = sprite->data[0];
|
||||
rand = (Random() % 4) + 8;
|
||||
sprite->pos2.x = rand * gSineTable[tableID] / 256;
|
||||
sprite->x2 = rand * gSineTable[tableID] / 256;
|
||||
|
||||
sprite->data[0] += 4;
|
||||
}
|
||||
|
||||
@@ -541,8 +541,8 @@ static void sub_80AF108(struct Sprite *sprite)
|
||||
sprite->data[2] = -sprite->data[2];
|
||||
for (; (attackerX >= -32 && attackerX <= 272) && (attackerY >= -32 && attackerY <= 192); attackerX += sprite->data[1], attackerY += sprite->data[2])
|
||||
;
|
||||
sprite->pos1.x = attackerX;
|
||||
sprite->pos1.y = attackerY;
|
||||
sprite->x = attackerX;
|
||||
sprite->y = attackerY;
|
||||
sprite->data[0] = gBattleAnimArgs[4];
|
||||
sprite->data[1] = attackerX;
|
||||
sprite->data[2] = targetX;
|
||||
@@ -561,10 +561,10 @@ static void sub_80AF28C(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[5] += sprite->data[1];
|
||||
sprite->data[6] += sprite->data[2];
|
||||
sprite->pos2.x = sprite->data[5];
|
||||
sprite->pos2.y = sprite->data[6];
|
||||
sprite->pos2.x += Sin(sprite->data[7], sprite->data[3]);
|
||||
sprite->pos2.y += Sin(sprite->data[7], sprite->data[3]);
|
||||
sprite->x2 = sprite->data[5];
|
||||
sprite->y2 = sprite->data[6];
|
||||
sprite->x2 += Sin(sprite->data[7], sprite->data[3]);
|
||||
sprite->y2 += Sin(sprite->data[7], sprite->data[3]);
|
||||
sprite->data[7] = (sprite->data[7] + sprite->data[4]) & 0xFF;
|
||||
--sprite->data[0];
|
||||
}
|
||||
@@ -621,11 +621,11 @@ static void AnimIceEffectParticle(struct Sprite *sprite)
|
||||
}
|
||||
else
|
||||
{
|
||||
SetAverageBattlerPositions(gBattleAnimTarget, 1, &sprite->pos1.x, &sprite->pos1.y);
|
||||
SetAverageBattlerPositions(gBattleAnimTarget, 1, &sprite->x, &sprite->y);
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
gBattleAnimArgs[0] = -gBattleAnimArgs[0];
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->x += gBattleAnimArgs[0];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
}
|
||||
StoreSpriteCallbackInData6(sprite, AnimFlickerIceEffectParticle);
|
||||
sprite->callback = RunStoredCallbackWhenAffineAnimEnds;
|
||||
@@ -652,8 +652,8 @@ static void AnimSwirlingSnowball_Step1(struct Sprite *sprite)
|
||||
|
||||
InitSpritePosToAnimAttacker(sprite, TRUE);
|
||||
sprite->data[0] = gBattleAnimArgs[4];
|
||||
sprite->data[1] = sprite->pos1.x;
|
||||
sprite->data[3] = sprite->pos1.y;
|
||||
sprite->data[1] = sprite->x;
|
||||
sprite->data[3] = sprite->y;
|
||||
if (!gBattleAnimArgs[5])
|
||||
{
|
||||
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
|
||||
@@ -676,14 +676,14 @@ static void AnimSwirlingSnowball_Step1(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[0] = 1;
|
||||
AnimFastTranslateLinear(sprite);
|
||||
if ((u32)(sprite->pos1.x + sprite->pos2.x + 16) > 272
|
||||
|| sprite->pos1.y + sprite->pos2.y > 160
|
||||
|| sprite->pos1.y + sprite->pos2.y < -16)
|
||||
if ((u32)(sprite->x + sprite->x2 + 16) > 272
|
||||
|| sprite->y + sprite->y2 > 160
|
||||
|| sprite->y + sprite->y2 < -16)
|
||||
break;
|
||||
}
|
||||
sprite->pos1.x += sprite->pos2.x;
|
||||
sprite->pos1.y += sprite->pos2.y;
|
||||
sprite->pos2.x = sprite->pos2.y = 0;
|
||||
sprite->x += sprite->x2;
|
||||
sprite->y += sprite->y2;
|
||||
sprite->x2 = sprite->y2 = 0;
|
||||
for (i = 0; i < 8; ++i)
|
||||
sprite->data[i] = tempDataHolder[i];
|
||||
sprite->callback = InitAndStartAnimFastLinearTranslationWithSpeed;
|
||||
@@ -694,10 +694,10 @@ static void AnimSwirlingSnowball_Step2(struct Sprite *sprite)
|
||||
{
|
||||
s16 tempVar;
|
||||
|
||||
sprite->pos1.x += sprite->pos2.x;
|
||||
sprite->pos1.y += sprite->pos2.y;
|
||||
sprite->pos2.y = 0;
|
||||
sprite->pos2.x = 0;
|
||||
sprite->x += sprite->x2;
|
||||
sprite->y += sprite->y2;
|
||||
sprite->y2 = 0;
|
||||
sprite->x2 = 0;
|
||||
sprite->data[0] = 128;
|
||||
tempVar = GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER ? 20 : -20;
|
||||
sprite->data[3] = Sin(sprite->data[0], tempVar);
|
||||
@@ -713,16 +713,16 @@ static void AnimSwirlingSnowball_Step3(struct Sprite *sprite)
|
||||
|
||||
if (sprite->data[5] <= 31)
|
||||
{
|
||||
sprite->pos2.x = Sin(sprite->data[0], tempVar) - sprite->data[3];
|
||||
sprite->pos2.y = Cos(sprite->data[0], 15) - sprite->data[4];
|
||||
sprite->x2 = Sin(sprite->data[0], tempVar) - sprite->data[3];
|
||||
sprite->y2 = Cos(sprite->data[0], 15) - sprite->data[4];
|
||||
sprite->data[0] = (sprite->data[0] + 16) & 0xFF;
|
||||
sprite->data[5] += 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos1.x += sprite->pos2.x;
|
||||
sprite->pos1.y += sprite->pos2.y;
|
||||
sprite->pos2.x = sprite->pos2.y = 0;
|
||||
sprite->x += sprite->x2;
|
||||
sprite->y += sprite->y2;
|
||||
sprite->x2 = sprite->y2 = 0;
|
||||
sprite->data[3] = sprite->data[4] = 0;
|
||||
sprite->callback = AnimSwirlingSnowball_End;
|
||||
}
|
||||
@@ -732,9 +732,9 @@ static void AnimSwirlingSnowball_End(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[0] = 1;
|
||||
AnimFastTranslateLinear(sprite);
|
||||
if ((u32)(sprite->pos1.x + sprite->pos2.x + 16) > 272
|
||||
|| sprite->pos1.y + sprite->pos2.y > 256
|
||||
|| sprite->pos1.y + sprite->pos2.y < -16)
|
||||
if ((u32)(sprite->x + sprite->x2 + 16) > 272
|
||||
|| sprite->y + sprite->y2 > 256
|
||||
|| sprite->y + sprite->y2 < -16)
|
||||
DestroyAnimSprite(sprite);
|
||||
}
|
||||
|
||||
@@ -755,8 +755,8 @@ static void AnimMoveParticleBeyondTarget(struct Sprite *sprite)
|
||||
|
||||
InitSpritePosToAnimAttacker(sprite, TRUE);
|
||||
sprite->data[0] = gBattleAnimArgs[4];
|
||||
sprite->data[1] = sprite->pos1.x;
|
||||
sprite->data[3] = sprite->pos1.y;
|
||||
sprite->data[1] = sprite->x;
|
||||
sprite->data[3] = sprite->y;
|
||||
if (!gBattleAnimArgs[7])
|
||||
{
|
||||
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
|
||||
@@ -780,15 +780,15 @@ static void AnimMoveParticleBeyondTarget(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[0] = 1;
|
||||
AnimFastTranslateLinear(sprite);
|
||||
if ((u32)(sprite->pos1.x + sprite->pos2.x + 16) > 272
|
||||
|| sprite->pos1.y + sprite->pos2.y > 160
|
||||
|| sprite->pos1.y + sprite->pos2.y < -16)
|
||||
if ((u32)(sprite->x + sprite->x2 + 16) > 272
|
||||
|| sprite->y + sprite->y2 > 160
|
||||
|| sprite->y + sprite->y2 < -16)
|
||||
break;
|
||||
}
|
||||
sprite->pos1.x += sprite->pos2.x;
|
||||
sprite->pos1.y += sprite->pos2.y;
|
||||
sprite->pos2.y = 0;
|
||||
sprite->pos2.x = 0;
|
||||
sprite->x += sprite->x2;
|
||||
sprite->y += sprite->y2;
|
||||
sprite->y2 = 0;
|
||||
sprite->x2 = 0;
|
||||
for (i = 0; i < 8; ++i)
|
||||
sprite->data[i] = tempDataHolder[i];
|
||||
sprite->data[5] = gBattleAnimArgs[5];
|
||||
@@ -802,13 +802,13 @@ static void AnimWiggleParticleTowardsTarget(struct Sprite *sprite)
|
||||
AnimFastTranslateLinear(sprite);
|
||||
if (sprite->data[0] == 0)
|
||||
sprite->data[0] = 1;
|
||||
sprite->pos2.y += Sin(sprite->data[7], sprite->data[5]);
|
||||
sprite->y2 += Sin(sprite->data[7], sprite->data[5]);
|
||||
sprite->data[7] = (sprite->data[7] + sprite->data[6]) & 0xFF;
|
||||
if (sprite->data[0] == 1)
|
||||
{
|
||||
if ((u32)(sprite->pos1.x + sprite->pos2.x + 16) > 272
|
||||
|| sprite->pos1.y + sprite->pos2.y > 160
|
||||
|| sprite->pos1.y + sprite->pos2.y < -16)
|
||||
if ((u32)(sprite->x + sprite->x2 + 16) > 272
|
||||
|| sprite->y + sprite->y2 > 160
|
||||
|| sprite->y + sprite->y2 < -16)
|
||||
DestroyAnimSprite(sprite);
|
||||
}
|
||||
}
|
||||
@@ -827,11 +827,11 @@ static void AnimWaveFromCenterOfTarget(struct Sprite *sprite)
|
||||
}
|
||||
else
|
||||
{
|
||||
SetAverageBattlerPositions(gBattleAnimTarget, 0, &sprite->pos1.x, &sprite->pos1.y);
|
||||
SetAverageBattlerPositions(gBattleAnimTarget, 0, &sprite->x, &sprite->y);
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
gBattleAnimArgs[0] = -gBattleAnimArgs[0];
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->x += gBattleAnimArgs[0];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
}
|
||||
++sprite->data[0];
|
||||
}
|
||||
@@ -862,12 +862,12 @@ static void InitSwirlingFogAnim(struct Sprite *sprite)
|
||||
}
|
||||
else
|
||||
{
|
||||
SetAverageBattlerPositions(gBattleAnimAttacker, 0, &sprite->pos1.x, &sprite->pos1.y);
|
||||
SetAverageBattlerPositions(gBattleAnimAttacker, 0, &sprite->x, &sprite->y);
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
sprite->pos1.x -= gBattleAnimArgs[0];
|
||||
sprite->x -= gBattleAnimArgs[0];
|
||||
else
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->x += gBattleAnimArgs[0];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
}
|
||||
battler = gBattleAnimAttacker;
|
||||
}
|
||||
@@ -879,12 +879,12 @@ static void InitSwirlingFogAnim(struct Sprite *sprite)
|
||||
}
|
||||
else
|
||||
{
|
||||
SetAverageBattlerPositions(gBattleAnimTarget, 0, &sprite->pos1.x, &sprite->pos1.y);
|
||||
SetAverageBattlerPositions(gBattleAnimTarget, 0, &sprite->x, &sprite->y);
|
||||
if (GetBattlerSide(gBattleAnimTarget) != B_SIDE_PLAYER)
|
||||
sprite->pos1.x -= gBattleAnimArgs[0];
|
||||
sprite->x -= gBattleAnimArgs[0];
|
||||
else
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->x += gBattleAnimArgs[0];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
}
|
||||
battler = gBattleAnimTarget;
|
||||
}
|
||||
@@ -895,12 +895,12 @@ static void InitSwirlingFogAnim(struct Sprite *sprite)
|
||||
tempVar = 0x40;
|
||||
sprite->data[6] = tempVar;
|
||||
if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER)
|
||||
sprite->pos1.y += 8;
|
||||
sprite->y += 8;
|
||||
sprite->data[0] = gBattleAnimArgs[3];
|
||||
sprite->data[1] = sprite->pos1.x;
|
||||
sprite->data[2] = sprite->pos1.x;
|
||||
sprite->data[3] = sprite->pos1.y;
|
||||
sprite->data[4] = sprite->pos1.y + gBattleAnimArgs[2];
|
||||
sprite->data[1] = sprite->x;
|
||||
sprite->data[2] = sprite->x;
|
||||
sprite->data[3] = sprite->y;
|
||||
sprite->data[4] = sprite->y + gBattleAnimArgs[2];
|
||||
InitAnimLinearTranslation(sprite);
|
||||
sprite->data[5] = 64;
|
||||
sprite->callback = AnimSwirlingFogAnim;
|
||||
@@ -912,8 +912,8 @@ static void AnimSwirlingFogAnim(struct Sprite *sprite)
|
||||
{
|
||||
if (!AnimTranslateLinear(sprite))
|
||||
{
|
||||
sprite->pos2.x += Sin(sprite->data[5], sprite->data[6]);
|
||||
sprite->pos2.y += Cos(sprite->data[5], -6);
|
||||
sprite->x2 += Sin(sprite->data[5], sprite->data[6]);
|
||||
sprite->y2 += Cos(sprite->data[5], -6);
|
||||
if ((u16)(sprite->data[5] - 64) <= 0x7F)
|
||||
sprite->oam.priority = GetBattlerSpriteBGPriority(sprite->data[7]);
|
||||
else
|
||||
@@ -1019,8 +1019,8 @@ static void AnimTask_Haze2(u8 taskId)
|
||||
// arg 5: ??? unknown (seems to vibrate target mon somehow)
|
||||
static void AnimThrowMistBall(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
sprite->callback = TranslateAnimSpriteToTargetMonLocation;
|
||||
}
|
||||
|
||||
@@ -1127,21 +1127,21 @@ static void InitPoisonGasCloudAnim(struct Sprite *sprite)
|
||||
sprite->subpriority = gSprites[GetAnimBattlerSpriteId(ANIM_TARGET)].subpriority + 1;
|
||||
sprite->data[6] = 1;
|
||||
}
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
if (gBattleAnimArgs[7])
|
||||
{
|
||||
sprite->data[1] = sprite->pos1.x + gBattleAnimArgs[1];
|
||||
sprite->data[1] = sprite->x + gBattleAnimArgs[1];
|
||||
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + gBattleAnimArgs[3];
|
||||
sprite->data[3] = sprite->pos1.y + gBattleAnimArgs[2];
|
||||
sprite->data[3] = sprite->y + gBattleAnimArgs[2];
|
||||
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[4];
|
||||
sprite->data[7] |= GetBattlerSpriteBGPriority(gBattleAnimTarget) << 8;
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->data[1] = sprite->pos1.x + gBattleAnimArgs[1];
|
||||
sprite->data[1] = sprite->x + gBattleAnimArgs[1];
|
||||
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X) + gBattleAnimArgs[3];
|
||||
sprite->data[3] = sprite->pos1.y + gBattleAnimArgs[2];
|
||||
sprite->data[3] = sprite->y + gBattleAnimArgs[2];
|
||||
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y) + gBattleAnimArgs[4];
|
||||
sprite->data[7] |= GetBattlerSpriteBGPriority(gBattleAnimTarget) << 8;
|
||||
}
|
||||
@@ -1163,7 +1163,7 @@ static void MovePoisonGasCloud(struct Sprite *sprite)
|
||||
case 0:
|
||||
AnimTranslateLinear(sprite);
|
||||
value = gSineTable[sprite->data[5]];
|
||||
sprite->pos2.x += value >> 4;
|
||||
sprite->x2 += value >> 4;
|
||||
if (sprite->data[6])
|
||||
sprite->data[5] = (sprite->data[5] - 8) & 0xFF;
|
||||
else
|
||||
@@ -1171,12 +1171,12 @@ static void MovePoisonGasCloud(struct Sprite *sprite)
|
||||
if (sprite->data[0] <= 0)
|
||||
{
|
||||
sprite->data[0] = 80;
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X);
|
||||
sprite->data[1] = sprite->pos1.x;
|
||||
sprite->data[2] = sprite->pos1.x;
|
||||
sprite->pos1.y += sprite->pos2.y;
|
||||
sprite->data[3] = sprite->pos1.y;
|
||||
sprite->data[4] = sprite->pos1.y + 29;
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X);
|
||||
sprite->data[1] = sprite->x;
|
||||
sprite->data[2] = sprite->x;
|
||||
sprite->y += sprite->y2;
|
||||
sprite->data[3] = sprite->y;
|
||||
sprite->data[4] = sprite->y + 29;
|
||||
++sprite->data[7];
|
||||
if (IsContest())
|
||||
sprite->data[5] = 80;
|
||||
@@ -1184,9 +1184,9 @@ static void MovePoisonGasCloud(struct Sprite *sprite)
|
||||
sprite->data[5] = 204;
|
||||
else
|
||||
sprite->data[5] = 80;
|
||||
sprite->pos2.y = 0;
|
||||
sprite->y2 = 0;
|
||||
value = gSineTable[sprite->data[5]];
|
||||
sprite->pos2.x = value >> 3;
|
||||
sprite->x2 = value >> 3;
|
||||
sprite->data[5] = (sprite->data[5] + 2) & 0xFF;
|
||||
InitAnimLinearTranslation(sprite);
|
||||
}
|
||||
@@ -1194,8 +1194,8 @@ static void MovePoisonGasCloud(struct Sprite *sprite)
|
||||
case 1:
|
||||
AnimTranslateLinear(sprite);
|
||||
value = gSineTable[sprite->data[5]];
|
||||
sprite->pos2.x += value >> 3;
|
||||
sprite->pos2.y += (gSineTable[sprite->data[5] + 0x40] * -3) >> 8;
|
||||
sprite->x2 += value >> 3;
|
||||
sprite->y2 += (gSineTable[sprite->data[5] + 0x40] * -3) >> 8;
|
||||
if (!IsContest())
|
||||
{
|
||||
u16 var0 = sprite->data[5] - 0x40;
|
||||
@@ -1219,9 +1219,9 @@ static void MovePoisonGasCloud(struct Sprite *sprite)
|
||||
if (sprite->data[0] <= 0)
|
||||
{
|
||||
sprite->data[0] = 0x300;
|
||||
sprite->data[1] = sprite->pos1.x += sprite->pos2.x;
|
||||
sprite->data[3] = sprite->pos1.y += sprite->pos2.y;
|
||||
sprite->data[4] = sprite->pos1.y + 4;
|
||||
sprite->data[1] = sprite->x += sprite->x2;
|
||||
sprite->data[3] = sprite->y += sprite->y2;
|
||||
sprite->data[4] = sprite->y + 4;
|
||||
if (IsContest())
|
||||
sprite->data[2] = -0x10;
|
||||
else if (GET_BATTLER_SIDE2(gBattleAnimTarget) != B_SIDE_PLAYER)
|
||||
@@ -1229,7 +1229,7 @@ static void MovePoisonGasCloud(struct Sprite *sprite)
|
||||
else
|
||||
sprite->data[2] = -0x10;
|
||||
++sprite->data[7];
|
||||
sprite->pos2.x = sprite->pos2.y = 0;
|
||||
sprite->x2 = sprite->y2 = 0;
|
||||
BattleAnim_InitLinearTranslationWithDuration(sprite);
|
||||
}
|
||||
break;
|
||||
@@ -1362,9 +1362,9 @@ static void AnimHailBegin(struct Sprite *sprite)
|
||||
{
|
||||
u8 spriteId;
|
||||
|
||||
sprite->pos1.x += 4;
|
||||
sprite->pos1.y += 8;
|
||||
if (sprite->pos1.x < sprite->data[3] && sprite->pos1.y < sprite->data[4])
|
||||
sprite->x += 4;
|
||||
sprite->y += 8;
|
||||
if (sprite->x < sprite->data[3] && sprite->y < sprite->data[4])
|
||||
return;
|
||||
if (sprite->data[0] == 1 && sprite->data[5] == 0)
|
||||
{
|
||||
@@ -1455,10 +1455,10 @@ static void AnimIceBallParticle(struct Sprite *sprite)
|
||||
sprite->data[3] += sprite->data[1];
|
||||
sprite->data[4] += sprite->data[2];
|
||||
if (sprite->data[1] & 1)
|
||||
sprite->pos2.x = -(sprite->data[3] >> 8);
|
||||
sprite->x2 = -(sprite->data[3] >> 8);
|
||||
else
|
||||
sprite->pos2.x = sprite->data[3] >> 8;
|
||||
sprite->pos2.y = sprite->data[4] >> 8;
|
||||
sprite->x2 = sprite->data[3] >> 8;
|
||||
sprite->y2 = sprite->data[4] >> 8;
|
||||
if (++sprite->data[0] == 21)
|
||||
DestroyAnimSprite(sprite);
|
||||
}
|
||||
|
||||
+57
-57
@@ -1530,14 +1530,14 @@ static void SpriteCB_Grass(struct Sprite * sprite)
|
||||
switch (data[0])
|
||||
{
|
||||
case 0:
|
||||
data[1] = sprite->pos1.x << 5;
|
||||
data[1] = sprite->x << 5;
|
||||
data[2] = 160;
|
||||
data[0]++;
|
||||
// fallthrough
|
||||
case 1:
|
||||
data[1] -= data[2];
|
||||
sprite->pos1.x = data[1] >> 5;
|
||||
if (sprite->pos1.x <= 52)
|
||||
sprite->x = data[1] >> 5;
|
||||
if (sprite->x <= 52)
|
||||
{
|
||||
FightScene3_SlowBg1Scroll();
|
||||
data[0]++;
|
||||
@@ -1545,8 +1545,8 @@ static void SpriteCB_Grass(struct Sprite * sprite)
|
||||
break;
|
||||
case 2:
|
||||
data[1] -= 32;
|
||||
sprite->pos1.x = data[1] >> 5;
|
||||
if (sprite->pos1.x <= -32)
|
||||
sprite->x = data[1] >> 5;
|
||||
if (sprite->x <= -32)
|
||||
{
|
||||
sprite->invisible = TRUE;
|
||||
sprite->data[0]++;
|
||||
@@ -1685,8 +1685,8 @@ static void IntroCB_FightScene4(struct IntroSequenceData * this)
|
||||
if (JOY_NEW(R_BUTTON))
|
||||
{
|
||||
BlendPalettes(0xFFFF0064, 0, RGB_WHITE);
|
||||
this->nidorinoAnimSprite->pos2.x = 0;
|
||||
this->nidorinoAnimSprite->pos1.x = 0xB4;
|
||||
this->nidorinoAnimSprite->x2 = 0;
|
||||
this->nidorinoAnimSprite->x = 0xB4;
|
||||
this->state = 1;
|
||||
this->data[5] = 30;
|
||||
}
|
||||
@@ -1722,8 +1722,8 @@ static void CreateGengarBackSprite(struct IntroSequenceData * this)
|
||||
|
||||
static void FightScene4_StartNidorinoAffineAnim(struct IntroSequenceData * this)
|
||||
{
|
||||
this->nidorinoAnimSprite->pos1.x += this->nidorinoAnimSprite->pos2.x;
|
||||
this->nidorinoAnimSprite->pos1.y += this->nidorinoAnimSprite->pos2.y;
|
||||
this->nidorinoAnimSprite->x += this->nidorinoAnimSprite->x2;
|
||||
this->nidorinoAnimSprite->y += this->nidorinoAnimSprite->y2;
|
||||
obj_pos2_update_enable(this->nidorinoAnimSprite, 0, 0x2A);
|
||||
this->nidorinoAnimSprite->callback = SpriteCallbackDummy;
|
||||
StartSpriteAffineAnim(this->nidorinoAnimSprite, 1);
|
||||
@@ -2048,9 +2048,9 @@ static void SpriteCB_LargeStar(struct Sprite * sprite)
|
||||
sprite->data[0] -= sprite->data[2];
|
||||
sprite->data[1] += sprite->data[3];
|
||||
sprite->data[4] += 48;
|
||||
sprite->pos1.x = sprite->data[0] >> 4;
|
||||
sprite->pos1.y = sprite->data[1] >> 4;
|
||||
sprite->pos2.y = gSineTable[(sprite->data[4] >> 4) + 0x40] >> 5;
|
||||
sprite->x = sprite->data[0] >> 4;
|
||||
sprite->y = sprite->data[1] >> 4;
|
||||
sprite->y2 = gSineTable[(sprite->data[4] >> 4) + 0x40] >> 5;
|
||||
sprite->data[5]++;
|
||||
if (sprite->data[5] % sTrailingSparklesSpawnRate)
|
||||
{
|
||||
@@ -2058,9 +2058,9 @@ static void SpriteCB_LargeStar(struct Sprite * sprite)
|
||||
v = v * 1103515245 + 24691;
|
||||
StoreWordInTwoHalfwords(&sprite->data[6], v);
|
||||
v >>= 16;
|
||||
GameFreakScene_TrailingSparklesGen(sprite->pos1.x, sprite->pos1.y + sprite->pos2.y, v);
|
||||
GameFreakScene_TrailingSparklesGen(sprite->x, sprite->y + sprite->y2, v);
|
||||
}
|
||||
if (sprite->pos1.x < -8)
|
||||
if (sprite->x < -8)
|
||||
DestroySprite(sprite);
|
||||
}
|
||||
|
||||
@@ -2073,17 +2073,17 @@ static void SpriteCB_TrailingSparkles(struct Sprite * sprite)
|
||||
sprite->data[4]++;
|
||||
sprite->data[5] += sprite->data[4];
|
||||
sprite->data[7]++;
|
||||
sprite->pos1.x = (u16)sprite->data[0] >> sTrailingSparklesXprecision;
|
||||
sprite->pos1.y = sprite->data[1] >> sTrailingSparklesYprecision;
|
||||
sprite->x = (u16)sprite->data[0] >> sTrailingSparklesXprecision;
|
||||
sprite->y = sprite->data[1] >> sTrailingSparklesYprecision;
|
||||
if (sTrailingSparklesGravityShift && sprite->data[3] < 0)
|
||||
sprite->pos2.y = sprite->data[5] >> sTrailingSparklesGravityShift;
|
||||
sprite->y2 = sprite->data[5] >> sTrailingSparklesGravityShift;
|
||||
if (sprite->data[7] > sTrailingSparklesFlickerStartTime)
|
||||
{
|
||||
sprite->invisible = !sprite->invisible;
|
||||
if (sprite->data[7] > sTrailingSparklesDestroySpriteTime)
|
||||
DestroySprite(sprite);
|
||||
}
|
||||
if (sprite->pos1.y + sprite->pos2.y < 0 || sprite->pos1.y + sprite->pos2.y > 160)
|
||||
if (sprite->y + sprite->y2 < 0 || sprite->y + sprite->y2 > 160)
|
||||
DestroySprite(sprite);
|
||||
}
|
||||
|
||||
@@ -2093,29 +2093,29 @@ static void SpriteCB_TrailingSparkles2(struct Sprite * sprite)
|
||||
{
|
||||
sprite->data[2]--;
|
||||
sprite->data[1]++;
|
||||
sprite->pos1.y = sprite->data[1] >> 4;
|
||||
if (sprite->pos1.y > 0x56)
|
||||
sprite->y = sprite->data[1] >> 4;
|
||||
if (sprite->y > 0x56)
|
||||
{
|
||||
sprite->pos1.y = 0x4A;
|
||||
sprite->y = 0x4A;
|
||||
sprite->data[1] = 0x4A0;
|
||||
}
|
||||
if (sprite->animEnded)
|
||||
{
|
||||
if (sprite->data[0] == 0)
|
||||
{
|
||||
sprite->pos1.x += 26;
|
||||
if (sprite->pos1.x > 188)
|
||||
sprite->x += 26;
|
||||
if (sprite->x > 188)
|
||||
{
|
||||
sprite->pos1.x = 376 - sprite->pos1.x;
|
||||
sprite->x = 376 - sprite->x;
|
||||
sprite->data[0] = 1;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos1.x -= 26;
|
||||
if (sprite->pos1.x < 52)
|
||||
sprite->x -= 26;
|
||||
if (sprite->x < 52)
|
||||
{
|
||||
sprite->pos1.x = 104 - sprite->pos1.x;
|
||||
sprite->x = 104 - sprite->x;
|
||||
sprite->data[0] = 0;
|
||||
}
|
||||
}
|
||||
@@ -2129,7 +2129,7 @@ static void SpriteCB_TrailingSparkles2(struct Sprite * sprite)
|
||||
if (sprite->animEnded)
|
||||
StartSpriteAnim(sprite, 0);
|
||||
sprite->data[1] += 4;
|
||||
sprite->pos1.y = sprite->data[1] >> 4;
|
||||
sprite->y = sprite->data[1] >> 4;
|
||||
sprite->data[4]++;
|
||||
if (sprite->data[4] > 50)
|
||||
DestroySprite(sprite);
|
||||
@@ -2155,8 +2155,8 @@ static void StartNidorinoAnimSpriteSlideIn(struct Sprite * sprite, s16 x0, s16 x
|
||||
sprite->data[2] = speed;
|
||||
sprite->data[3] = x1;
|
||||
sprite->data[4] = 0;
|
||||
sprite->pos1.x = x0;
|
||||
sprite->pos1.y = 100;
|
||||
sprite->x = x0;
|
||||
sprite->y = 100;
|
||||
sprite->callback = SpriteCB_NidorinoAnimSpriteSlideIn;
|
||||
}
|
||||
|
||||
@@ -2169,10 +2169,10 @@ static void SpriteCB_NidorinoAnimSpriteSlideIn(struct Sprite * sprite)
|
||||
sprite->data[1]--;
|
||||
}
|
||||
sprite->data[0] += sprite->data[1];
|
||||
sprite->pos1.x = sprite->data[0] >> 4;
|
||||
if (sprite->pos1.x >= sprite->data[3])
|
||||
sprite->x = sprite->data[0] >> 4;
|
||||
if (sprite->x >= sprite->data[3])
|
||||
{
|
||||
sprite->pos1.x = sprite->data[3];
|
||||
sprite->x = sprite->data[3];
|
||||
sprite->callback = SpriteCallbackDummy;
|
||||
}
|
||||
}
|
||||
@@ -2187,7 +2187,7 @@ static void FightScene4_NidorinoRearsUp(struct IntroSequenceData * ptr)
|
||||
StartSpriteAnim(ptr->nidorinoAnimSprite, 2);
|
||||
ptr->nidorinoAnimSprite->data[0] = 0;
|
||||
ptr->nidorinoAnimSprite->data[1] = 0;
|
||||
ptr->nidorinoAnimSprite->pos2.y = 3;
|
||||
ptr->nidorinoAnimSprite->y2 = 3;
|
||||
ptr->nidorinoAnimSprite->callback = SpriteCB_NidorinoRearsUp;
|
||||
}
|
||||
|
||||
@@ -2200,7 +2200,7 @@ static void SpriteCB_NidorinoRearsUp(struct Sprite * sprite)
|
||||
if (sprite->data[1] > 8)
|
||||
{
|
||||
StartSpriteAnim(sprite, 1);
|
||||
sprite->pos2.y = 0;
|
||||
sprite->y2 = 0;
|
||||
sprite->data[0]++;
|
||||
}
|
||||
break;
|
||||
@@ -2214,13 +2214,13 @@ static void SpriteCB_NidorinoRearsUp(struct Sprite * sprite)
|
||||
if (sprite->data[2] > 1)
|
||||
{
|
||||
sprite->data[2] = 0;
|
||||
sprite->pos2.y = sprite->pos2.y == 0 ? 1 : 0;
|
||||
sprite->y2 = sprite->y2 == 0 ? 1 : 0;
|
||||
}
|
||||
sprite->data[1]++;
|
||||
if (sprite->data[1] > 48)
|
||||
{
|
||||
StartSpriteAnim(sprite, 0);
|
||||
sprite->pos2.y = 0;
|
||||
sprite->y2 = 0;
|
||||
sprite->callback = SpriteCallbackDummy;
|
||||
}
|
||||
break;
|
||||
@@ -2258,8 +2258,8 @@ static void SpriteCB_NidorinoRecoil(struct Sprite * sprite)
|
||||
case 1:
|
||||
sprite->data[2] += sprite->data[7];
|
||||
sprite->data[3] += 8;
|
||||
sprite->pos2.x = sprite->data[2] >> 4;
|
||||
sprite->pos2.y = -((gSineTable[sprite->data[3]] * gUnknown_203AB04) >> gUnknown_203AB08);
|
||||
sprite->x2 = sprite->data[2] >> 4;
|
||||
sprite->y2 = -((gSineTable[sprite->data[3]] * gUnknown_203AB04) >> gUnknown_203AB08);
|
||||
sprite->data[5]++;
|
||||
if (sprite->data[5] > gUnknown_203AB06)
|
||||
{
|
||||
@@ -2278,11 +2278,11 @@ static void SpriteCB_NidorinoRecoil(struct Sprite * sprite)
|
||||
break;
|
||||
case 2:
|
||||
sprite->data[2] += sprite->data[7];
|
||||
sprite->pos2.x = sprite->data[2] >> 4;
|
||||
sprite->x2 = sprite->data[2] >> 4;
|
||||
sprite->data[1]++;
|
||||
if (sprite->data[1] > 6)
|
||||
{
|
||||
CreateNidorinoRecoilDustSprites(sprite->pos1.x + sprite->pos2.x, sprite->pos1.y + sprite->pos2.y, sprite->data[6]);
|
||||
CreateNidorinoRecoilDustSprites(sprite->x + sprite->x2, sprite->y + sprite->y2, sprite->data[6]);
|
||||
sprite->data[6] *= 1103515245;
|
||||
}
|
||||
if (sprite->data[1] > 12)
|
||||
@@ -2296,7 +2296,7 @@ static void SpriteCB_NidorinoRecoil(struct Sprite * sprite)
|
||||
sprite->data[1]++;
|
||||
if (sprite->data[1] > 16)
|
||||
{
|
||||
StartSpriteHopToPosAnim(sprite, gUnknown_203AB0A, -sprite->pos2.x, 4);
|
||||
StartSpriteHopToPosAnim(sprite, gUnknown_203AB0A, -sprite->x2, 4);
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -2332,15 +2332,15 @@ static void SpriteCB_NidorinoRecoilDust(struct Sprite * sprite)
|
||||
switch (sprite->data[0])
|
||||
{
|
||||
case 0:
|
||||
data[1] = sprite->pos1.x << 4;
|
||||
data[2] = sprite->pos1.y << 4;
|
||||
data[1] = sprite->x << 4;
|
||||
data[2] = sprite->y << 4;
|
||||
sprite->data[0]++;
|
||||
// fallthrough
|
||||
case 1:
|
||||
data[1] -= data[3];
|
||||
data[2] += data[4];
|
||||
sprite->pos1.x = data[1] >> 4;
|
||||
sprite->pos1.y = data[2] >> 4;
|
||||
sprite->x = data[1] >> 4;
|
||||
sprite->y = data[2] >> 4;
|
||||
if (sprite->animEnded)
|
||||
DestroySprite(sprite);
|
||||
break;
|
||||
@@ -2357,7 +2357,7 @@ static void StartSpriteHopToPosAnim(struct Sprite * sprite, u16 a1, s16 a2, u8 a
|
||||
{
|
||||
sprite->data[0] = 0;
|
||||
sprite->data[1] = a1;
|
||||
sprite->data[2] = sprite->pos2.x << 4;
|
||||
sprite->data[2] = sprite->x2 << 4;
|
||||
sprite->data[3] = (a2 << 4) / a1;
|
||||
sprite->data[4] = 0;
|
||||
sprite->data[5] = 0x800 / a1;
|
||||
@@ -2386,13 +2386,13 @@ static void SpriteCB_HopToPos(struct Sprite * sprite)
|
||||
{
|
||||
sprite->data[2] += sprite->data[3];
|
||||
sprite->data[4] += sprite->data[5];
|
||||
sprite->pos2.x = sprite->data[2] >> 4;
|
||||
sprite->pos2.y = -(gSineTable[sprite->data[4] >> 4] >> sprite->data[7]);
|
||||
sprite->x2 = sprite->data[2] >> 4;
|
||||
sprite->y2 = -(gSineTable[sprite->data[4] >> 4] >> sprite->data[7]);
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos2.x = (u16)sprite->data[2] >> 4;
|
||||
sprite->pos2.y = 0;
|
||||
sprite->x2 = (u16)sprite->data[2] >> 4;
|
||||
sprite->y2 = 0;
|
||||
StartSpriteAnim(sprite, 2);
|
||||
if (sprite->data[7] == 5)
|
||||
sprite->callback = SpriteCallbackDummy;
|
||||
@@ -2422,8 +2422,8 @@ static void StartNidorinoAnim_LaunchSelfAtGengarAnim(struct IntroSequenceData *
|
||||
ptr->nidorinoAnimSprite->data[3] = 0;
|
||||
ptr->nidorinoAnimSprite->data[4] = 0;
|
||||
ptr->nidorinoAnimSprite->data[5] = 0;
|
||||
ptr->nidorinoAnimSprite->pos1.x += ptr->nidorinoAnimSprite->pos2.x;
|
||||
ptr->nidorinoAnimSprite->pos2.x = 0;
|
||||
ptr->nidorinoAnimSprite->x += ptr->nidorinoAnimSprite->x2;
|
||||
ptr->nidorinoAnimSprite->x2 = 0;
|
||||
gUnknown_203AB0C = 0x24;
|
||||
gUnknown_203AB06 = 0x28;
|
||||
gUnknown_203AB04 = 0x03;
|
||||
@@ -2443,9 +2443,9 @@ static void SpriteCB_NidorinoAnim_LaunchSelfAtGengar(struct Sprite * sprite)
|
||||
{
|
||||
sprite->data[2]++;
|
||||
if (sprite->data[2] & 1)
|
||||
sprite->pos2.x++;
|
||||
sprite->x2++;
|
||||
else
|
||||
sprite->pos2.x--;
|
||||
sprite->x2--;
|
||||
}
|
||||
if (sprite->data[1] > 17)
|
||||
{
|
||||
@@ -2464,8 +2464,8 @@ static void SpriteCB_NidorinoAnim_LaunchSelfAtGengar(struct Sprite * sprite)
|
||||
break;
|
||||
case 2:
|
||||
sprite->data[1] += sprite->data[7];
|
||||
sprite->pos2.x = -(sprite->data[1] >> 4);
|
||||
sprite->pos2.y = -((gSineTable[sprite->data[1] >> 4] * gUnknown_203AB04) >> gUnknown_203AB08);
|
||||
sprite->x2 = -(sprite->data[1] >> 4);
|
||||
sprite->y2 = -((gSineTable[sprite->data[1] >> 4] * gUnknown_203AB04) >> gUnknown_203AB08);
|
||||
sprite->data[2]++;
|
||||
if (sprite->data[7] > 12)
|
||||
sprite->data[7]--;
|
||||
|
||||
@@ -562,15 +562,15 @@ void CreateBagOrSatchelSprite(u8 animNum)
|
||||
void sub_8098528(u8 animNum)
|
||||
{
|
||||
struct Sprite * sprite = &gSprites[sItemMenuIconSpriteIds[0]];
|
||||
sprite->pos2.y = -5;
|
||||
sprite->y2 = -5;
|
||||
sprite->callback = sub_8098560;
|
||||
StartSpriteAnim(sprite, animNum);
|
||||
}
|
||||
|
||||
static void sub_8098560(struct Sprite * sprite)
|
||||
{
|
||||
if (sprite->pos2.y != 0)
|
||||
sprite->pos2.y++;
|
||||
if (sprite->y2 != 0)
|
||||
sprite->y2++;
|
||||
else
|
||||
sprite->callback = SpriteCallbackDummy;
|
||||
}
|
||||
@@ -635,8 +635,8 @@ void ItemMenuIcons_MoveInsertIndicatorBar(s16 x, u16 y)
|
||||
|
||||
for (i = 0; i < 9; i++)
|
||||
{
|
||||
gSprites[ptr[i]].pos2.x = x;
|
||||
gSprites[ptr[i]].pos1.y = y + 7;
|
||||
gSprites[ptr[i]].x2 = x;
|
||||
gSprites[ptr[i]].y = y + 7;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -743,8 +743,8 @@ void CreateItemMenuIcon(u16 itemId, u8 idx)
|
||||
if (spriteId != MAX_SPRITES)
|
||||
{
|
||||
ptr[idx] = spriteId;
|
||||
gSprites[spriteId].pos2.x = 24;
|
||||
gSprites[spriteId].pos2.y = 140;
|
||||
gSprites[spriteId].x2 = 24;
|
||||
gSprites[spriteId].y2 = 140;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -780,8 +780,8 @@ void sub_80989A0(u16 itemId, u8 idx)
|
||||
if (spriteId != MAX_SPRITES)
|
||||
{
|
||||
ptr[idx] = spriteId;
|
||||
gSprites[spriteId].pos2.x = 24;
|
||||
gSprites[spriteId].pos2.y = 147;
|
||||
gSprites[spriteId].x2 = 24;
|
||||
gSprites[spriteId].y2 = 147;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+12
-12
@@ -597,12 +597,12 @@ static void SpriteCallback_Arrow(struct Sprite * sprite)
|
||||
s16 x, y;
|
||||
sprite->spCurX += sprite->spDeltaX;
|
||||
sprite->spCurY += sprite->spDeltaY;
|
||||
sprite->pos1.x = sprite->spCenterX + (sprite->spCurX >> 8);
|
||||
sprite->pos1.y = sprite->spCenterY + (sprite->spCurY >> 8);
|
||||
if (sprite->pos1.x <= 104
|
||||
|| sprite->pos1.x > 132
|
||||
|| sprite->pos1.y <= 60
|
||||
|| sprite->pos1.y > 88)
|
||||
sprite->x = sprite->spCenterX + (sprite->spCurX >> 8);
|
||||
sprite->y = sprite->spCenterY + (sprite->spCurY >> 8);
|
||||
if (sprite->x <= 104
|
||||
|| sprite->x > 132
|
||||
|| sprite->y <= 60
|
||||
|| sprite->y > 88)
|
||||
sprite->callback = SpriteCallback_DestroyArrow;
|
||||
}
|
||||
|
||||
@@ -634,12 +634,12 @@ static void SpriteCallback_Star(struct Sprite * sprite)
|
||||
s16 x, y;
|
||||
sprite->spCurX += sprite->spDeltaX;
|
||||
sprite->spCurY += sprite->spDeltaY;
|
||||
sprite->pos1.x = sprite->spCenterX + (sprite->spCurX >> 8);
|
||||
sprite->pos1.y = sprite->spCenterY + (sprite->spCurY >> 8);
|
||||
if (sprite->pos1.x <= 104
|
||||
|| sprite->pos1.x > 132
|
||||
|| sprite->pos1.y <= 60
|
||||
|| sprite->pos1.y > 88)
|
||||
sprite->x = sprite->spCenterX + (sprite->spCurX >> 8);
|
||||
sprite->y = sprite->spCenterY + (sprite->spCurY >> 8);
|
||||
if (sprite->x <= 104
|
||||
|| sprite->x > 132
|
||||
|| sprite->y <= 60
|
||||
|| sprite->y > 88)
|
||||
sprite->callback = SpriteCallback_DestroyStar;
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -719,10 +719,10 @@ static void SpriteCB_ListMenuScrollIndicators(struct Sprite * sprite)
|
||||
case 0:
|
||||
break;
|
||||
case 1:
|
||||
sprite->pos2.x = Sin(abcissa, 3) * sprite->data[2];
|
||||
sprite->x2 = Sin(abcissa, 3) * sprite->data[2];
|
||||
break;
|
||||
case 2:
|
||||
sprite->pos2.y = Sin(abcissa, 1) * sprite->data[2];
|
||||
sprite->y2 = Sin(abcissa, 1) * sprite->data[2];
|
||||
break;
|
||||
}
|
||||
sprite->data[1]++;
|
||||
|
||||
+2
-2
@@ -899,8 +899,8 @@ void UpdateWirelessStatusIndicatorSprite(void)
|
||||
sprite->sFrameDelay++;
|
||||
}
|
||||
gMain.oamBuffer[125] = sWirelessStatusIndicatorOamData;
|
||||
gMain.oamBuffer[125].x = sprite->pos1.x + sprite->centerToCornerVecX;
|
||||
gMain.oamBuffer[125].y = sprite->pos1.y + sprite->centerToCornerVecY;
|
||||
gMain.oamBuffer[125].x = sprite->x + sprite->centerToCornerVecX;
|
||||
gMain.oamBuffer[125].y = sprite->y + sprite->centerToCornerVecY;
|
||||
gMain.oamBuffer[125].paletteNum = sprite->oam.paletteNum;
|
||||
gMain.oamBuffer[125].tileNum = sprite->sTileStart + sprite->anims[sprite->sCurrAnimNum][sprite->sFrameIdx].frame.imageValue;
|
||||
CpuCopy16(gMain.oamBuffer + 125, (struct OamData *)OAM + 125, sizeof(struct OamData));
|
||||
|
||||
@@ -282,11 +282,11 @@ static void SpriteCallback_ScrollIndicatorArrow(struct Sprite *sprite)
|
||||
{
|
||||
case 0:
|
||||
multiplier = sprite->tMultiplier;
|
||||
sprite->pos2.x = (gSineTable[(u8)(sprite->tSinePos)] * multiplier) / 256;
|
||||
sprite->x2 = (gSineTable[(u8)(sprite->tSinePos)] * multiplier) / 256;
|
||||
break;
|
||||
case 1:
|
||||
multiplier = sprite->tMultiplier;
|
||||
sprite->pos2.y = (gSineTable[(u8)(sprite->tSinePos)] * multiplier) / 256;
|
||||
sprite->y2 = (gSineTable[(u8)(sprite->tSinePos)] * multiplier) / 256;
|
||||
break;
|
||||
}
|
||||
sprite->tSinePos += sprite->tFrequency;
|
||||
@@ -571,8 +571,8 @@ void ListMenuUpdateRedOutlineCursorObject(u8 taskId, u16 x, u16 y)
|
||||
{
|
||||
struct RedOutlineCursor *data = (struct RedOutlineCursor *)gTasks[taskId].data;
|
||||
|
||||
gSprites[data->spriteId].pos1.x = x + 120;
|
||||
gSprites[data->spriteId].pos1.y = y + 120;
|
||||
gSprites[data->spriteId].x = x + 120;
|
||||
gSprites[data->spriteId].y = y + 120;
|
||||
}
|
||||
|
||||
void ListMenuRemoveRedOutlineCursorObject(u8 taskId)
|
||||
@@ -590,7 +590,7 @@ void ListMenuRemoveRedOutlineCursorObject(u8 taskId)
|
||||
|
||||
static void SpriteCallback_RedArrowCursor(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos2.x = gSineTable[(u8)(sprite->data[0])] / 64;
|
||||
sprite->x2 = gSineTable[(u8)(sprite->data[0])] / 64;
|
||||
sprite->data[0] += 8;
|
||||
}
|
||||
|
||||
@@ -628,8 +628,8 @@ static u8 ListMenuAddRedArrowCursorObject(const struct CursorStruct *cursor)
|
||||
spriteTemplate.tileTag = cursor->tileTag;
|
||||
spriteTemplate.paletteTag = cursor->palTag;
|
||||
data->spriteId = CreateSprite(&spriteTemplate, cursor->left, cursor->top, 0);
|
||||
gSprites[data->spriteId].pos2.x = 8;
|
||||
gSprites[data->spriteId].pos2.y = 8;
|
||||
gSprites[data->spriteId].x2 = 8;
|
||||
gSprites[data->spriteId].y2 = 8;
|
||||
if (cursor->palTag == SPRITE_INVALID_TAG)
|
||||
gSprites[data->spriteId].oam.paletteNum = cursor->palNum;
|
||||
return taskId;
|
||||
@@ -639,8 +639,8 @@ static void ListMenuUpdateRedArrowCursorObject(u8 taskId, u16 x, u16 y)
|
||||
{
|
||||
struct RedArrowCursor *data = (struct RedArrowCursor *)gTasks[taskId].data;
|
||||
|
||||
gSprites[data->spriteId].pos1.x = x;
|
||||
gSprites[data->spriteId].pos1.y = y;
|
||||
gSprites[data->spriteId].x = x;
|
||||
gSprites[data->spriteId].y = y;
|
||||
}
|
||||
|
||||
static void ListMenuRemoveRedArrowCursorObject(u8 taskId)
|
||||
|
||||
+10
-10
@@ -107,7 +107,7 @@ static bool32 RunMinigameCountdownDigitsAnim(u8 spriteId)
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
sprite->pos1.y -= 4;
|
||||
sprite->y -= 4;
|
||||
if (++sprite->data[2] >= 8)
|
||||
{
|
||||
if (sprite->data[4] < 2)
|
||||
@@ -124,7 +124,7 @@ static bool32 RunMinigameCountdownDigitsAnim(u8 spriteId)
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
sprite->pos1.y += 4;
|
||||
sprite->y += 4;
|
||||
if (++sprite->data[2] >= 8)
|
||||
{
|
||||
sprite->data[2] = 0;
|
||||
@@ -147,8 +147,8 @@ static bool32 RunMinigameCountdownDigitsAnim(u8 spriteId)
|
||||
|
||||
static void StartStartGraphic(u8 spriteId1, u8 spriteId2, u8 spriteId3)
|
||||
{
|
||||
gSprites[spriteId2].pos2.y = -40;
|
||||
gSprites[spriteId3].pos2.y = -40;
|
||||
gSprites[spriteId2].y2 = -40;
|
||||
gSprites[spriteId3].y2 = -40;
|
||||
gSprites[spriteId2].invisible = FALSE;
|
||||
gSprites[spriteId3].invisible = FALSE;
|
||||
gSprites[spriteId2].callback = SpriteCB_Start;
|
||||
@@ -169,17 +169,17 @@ static void SpriteCB_Start(struct Sprite * sprite)
|
||||
{
|
||||
case 0:
|
||||
data[4] = 64;
|
||||
data[5] = sprite->pos2.y << 4;
|
||||
data[5] = sprite->y2 << 4;
|
||||
data[0]++;
|
||||
//fallthrough
|
||||
case 1:
|
||||
data[5] += data[4];
|
||||
data[4]++;
|
||||
sprite->pos2.y = data[5] >> 4;
|
||||
if (sprite->pos2.y >= 0)
|
||||
sprite->y2 = data[5] >> 4;
|
||||
if (sprite->y2 >= 0)
|
||||
{
|
||||
PlaySE(SE_BALL_BOUNCE_2);
|
||||
sprite->pos2.y = 0;
|
||||
sprite->y2 = 0;
|
||||
data[0]++;
|
||||
}
|
||||
break;
|
||||
@@ -192,7 +192,7 @@ static void SpriteCB_Start(struct Sprite * sprite)
|
||||
data[0]++;
|
||||
}
|
||||
y = gSineTable[data[1]];
|
||||
sprite->pos2.y = -(y >> 4);
|
||||
sprite->y2 = -(y >> 4);
|
||||
break;
|
||||
case 3:
|
||||
data[1] += 16;
|
||||
@@ -202,7 +202,7 @@ static void SpriteCB_Start(struct Sprite * sprite)
|
||||
data[1] = 0;
|
||||
data[0]++;
|
||||
}
|
||||
sprite->pos2.y = -(gSineTable[data[1]] >> 5);
|
||||
sprite->y2 = -(gSineTable[data[1]] >> 5);
|
||||
break;
|
||||
case 4:
|
||||
if (++data[1] > 40)
|
||||
|
||||
+4
-4
@@ -392,7 +392,7 @@ static void CreateMonMarkingsMenuSprites(s16 x, s16 y, u16 tilesTag, u16 palette
|
||||
}
|
||||
}
|
||||
|
||||
sMenu->menuWindowSprites[1]->pos1.y = y + 96;
|
||||
sMenu->menuWindowSprites[1]->y = y + 96;
|
||||
|
||||
sprTemplate.tileTag++;
|
||||
sprTemplate.paletteTag++;
|
||||
@@ -425,8 +425,8 @@ static void CreateMonMarkingsMenuSprites(s16 x, s16 y, u16 tilesTag, u16 palette
|
||||
sMenu->menuTextSprite->oam.shape = ST_OAM_SQUARE;
|
||||
sMenu->menuTextSprite->oam.size = 2;
|
||||
StartSpriteAnim(sMenu->menuTextSprite, 9);
|
||||
sMenu->menuTextSprite->pos1.x = x + 32;
|
||||
sMenu->menuTextSprite->pos1.y = y + 80;
|
||||
sMenu->menuTextSprite->x = x + 32;
|
||||
sMenu->menuTextSprite->y = y + 80;
|
||||
CalcCenterToCornerVec(sMenu->menuTextSprite, 1, 2, 0);
|
||||
}
|
||||
else
|
||||
@@ -463,7 +463,7 @@ static void SpriteCB_MarkingIcon(struct Sprite * sprite)
|
||||
|
||||
static void SpriteCB_Cursor(struct Sprite * sprite)
|
||||
{
|
||||
sprite->pos1.y = 16 * sMenu->cursorPos + sprite->data[0];
|
||||
sprite->y = 16 * sMenu->cursorPos + sprite->data[0];
|
||||
}
|
||||
|
||||
struct Sprite * CreateMonMarkingSprite_SelectCombo(u16 tileTag, u16 paletteTag, const u16 *palette)
|
||||
|
||||
+12
-12
@@ -1015,7 +1015,7 @@ static void sub_809E7F0(struct Sprite *sprite)
|
||||
sprite->data[0] = 8;
|
||||
sprite->data[1] = (sprite->data[1] + 1) & 3;
|
||||
}
|
||||
sprite->pos2.x = arr[sprite->data[1]];
|
||||
sprite->x2 = arr[sprite->data[1]];
|
||||
}
|
||||
|
||||
static void sub_809E83C(struct Sprite *sprite)
|
||||
@@ -1026,13 +1026,13 @@ static void sub_809E83C(struct Sprite *sprite)
|
||||
var = GetTextCaretPosition();
|
||||
if (var != (u8)sprite->data[0])
|
||||
{
|
||||
sprite->pos2.y = 0;
|
||||
sprite->y2 = 0;
|
||||
sprite->data[1] = 0;
|
||||
sprite->data[2] = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos2.y = arr[sprite->data[1]];
|
||||
sprite->y2 = arr[sprite->data[1]];
|
||||
sprite->data[2]++;
|
||||
if (sprite->data[2] > 8)
|
||||
{
|
||||
@@ -1067,11 +1067,11 @@ static void SetCursorPos(s16 x, s16 y)
|
||||
struct Sprite *cursorSprite = &gSprites[sNamingScreenData->cursorSpriteId];
|
||||
|
||||
if (x < gUnknown_83E2330[sub_809DE50()])
|
||||
cursorSprite->pos1.x = gUnknown_83E2333[sub_809DE50()][x] + 38;
|
||||
cursorSprite->x = gUnknown_83E2333[sub_809DE50()][x] + 38;
|
||||
else
|
||||
cursorSprite->pos1.x = 0;
|
||||
cursorSprite->x = 0;
|
||||
|
||||
cursorSprite->pos1.y = y * 16 + 88;
|
||||
cursorSprite->y = y * 16 + 88;
|
||||
cursorSprite->data[2] = cursorSprite->data[0];
|
||||
cursorSprite->data[3] = cursorSprite->data[1];
|
||||
cursorSprite->data[0] = x;
|
||||
@@ -1200,11 +1200,11 @@ static bool8 PageSwapSpritesCB_SwapHide(struct Sprite *sprite)
|
||||
struct Sprite *sprite2 = &gSprites[sprite->data[7]];
|
||||
u8 page;
|
||||
|
||||
sprite1->pos2.y++;
|
||||
if (sprite1->pos2.y > 7)
|
||||
sprite1->y2++;
|
||||
if (sprite1->y2 > 7)
|
||||
{
|
||||
sprite->data[0]++;
|
||||
sprite1->pos2.y = -4;
|
||||
sprite1->y2 = -4;
|
||||
sprite1->invisible = TRUE;
|
||||
page = sprite->data[1];
|
||||
sub_809ED88(sub_809DE20((page + 1) % 3), sprite1, sprite2);
|
||||
@@ -1218,10 +1218,10 @@ static bool8 PageSwapSpritesCB_SwapShow(struct Sprite *sprite)
|
||||
struct Sprite *sprite2 = &gSprites[sprite->data[7]];
|
||||
|
||||
sprite1->invisible = FALSE;
|
||||
sprite1->pos2.y++;
|
||||
if (sprite1->pos2.y >= 0)
|
||||
sprite1->y2++;
|
||||
if (sprite1->y2 >= 0)
|
||||
{
|
||||
sprite1->pos2.y = 0;
|
||||
sprite1->y2 = 0;
|
||||
sprite->data[0] = 1;
|
||||
}
|
||||
return FALSE;
|
||||
|
||||
+12
-12
@@ -260,8 +260,8 @@ const struct SpriteTemplate gPersistHitSplatSpriteTemplate =
|
||||
// arg 4: duration
|
||||
static void AnimConfusionDuck(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->x += gBattleAnimArgs[0];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
sprite->data[0] = gBattleAnimArgs[2];
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
{
|
||||
@@ -281,8 +281,8 @@ static void AnimConfusionDuck(struct Sprite *sprite)
|
||||
|
||||
static void AnimConfusionDuckStep(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos2.x = Cos(sprite->data[0], 30);
|
||||
sprite->pos2.y = Sin(sprite->data[0], 10);
|
||||
sprite->x2 = Cos(sprite->data[0], 30);
|
||||
sprite->y2 = Sin(sprite->data[0], 10);
|
||||
if ((u16)sprite->data[0] < 128)
|
||||
sprite->oam.priority = 1;
|
||||
else
|
||||
@@ -393,8 +393,8 @@ static void sub_80B9B5C(struct Sprite *sprite)
|
||||
|
||||
static void sub_80B9B8C(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->x += gBattleAnimArgs[0];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
sprite->data[0] = 0;
|
||||
sprite->data[1] = 10;
|
||||
sprite->data[2] = 8;
|
||||
@@ -869,8 +869,8 @@ static void AnimHitSplatRandom(struct Sprite *sprite)
|
||||
InitSpritePosToAnimAttacker(sprite, 0);
|
||||
else
|
||||
InitSpritePosToAnimTarget(sprite, FALSE);
|
||||
sprite->pos2.x += (Random() % 48) - 24;
|
||||
sprite->pos2.y += (Random() % 24) - 12;
|
||||
sprite->x2 += (Random() % 48) - 24;
|
||||
sprite->y2 += (Random() % 24) - 12;
|
||||
StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
|
||||
sprite->callback = RunStoredCallbackWhenAffineAnimEnds;
|
||||
}
|
||||
@@ -878,10 +878,10 @@ static void AnimHitSplatRandom(struct Sprite *sprite)
|
||||
static void AnimHitSplatOnMonEdge(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[0] = GetAnimBattlerSpriteId(gBattleAnimArgs[0]);
|
||||
sprite->pos1.x = gSprites[sprite->data[0]].pos1.x + gSprites[sprite->data[0]].pos2.x;
|
||||
sprite->pos1.y = gSprites[sprite->data[0]].pos1.y + gSprites[sprite->data[0]].pos2.y;
|
||||
sprite->pos2.x = gBattleAnimArgs[1];
|
||||
sprite->pos2.y = gBattleAnimArgs[2];
|
||||
sprite->x = gSprites[sprite->data[0]].x + gSprites[sprite->data[0]].x2;
|
||||
sprite->y = gSprites[sprite->data[0]].y + gSprites[sprite->data[0]].y2;
|
||||
sprite->x2 = gBattleAnimArgs[1];
|
||||
sprite->y2 = gBattleAnimArgs[2];
|
||||
StartSpriteAffineAnim(sprite, gBattleAnimArgs[3]);
|
||||
StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
|
||||
sprite->callback = RunStoredCallbackWhenAffineAnimEnds;
|
||||
|
||||
+2
-2
@@ -1000,7 +1000,7 @@ static void Task_OakSpeech16(u8 taskId)
|
||||
{
|
||||
if (data[0] < 24)
|
||||
{
|
||||
gSprites[data[4]].pos1.y--;
|
||||
gSprites[data[4]].y--;
|
||||
}
|
||||
data[0]--;
|
||||
}
|
||||
@@ -1630,7 +1630,7 @@ static void CreateNidoranFSprite(u8 taskId)
|
||||
|
||||
static void SpriteCB_PikaSync(struct Sprite * sprite)
|
||||
{
|
||||
sprite->pos2.y = gSprites[sprite->data[0]].animCmdIndex;
|
||||
sprite->y2 = gSprites[sprite->data[0]].animCmdIndex;
|
||||
}
|
||||
|
||||
static void CreatePikaOrGrassPlatformSpriteAndLinkToCurrentTask(u8 taskId, u8 state)
|
||||
|
||||
+2
-2
@@ -3536,8 +3536,8 @@ static void SpriteCB_LinkPlayer(struct Sprite *sprite)
|
||||
{
|
||||
struct LinkPlayerObjectEvent *linkPlayerObjEvent = &gLinkPlayerObjectEvents[sprite->data[0]];
|
||||
struct ObjectEvent *objEvent = &gObjectEvents[linkPlayerObjEvent->objEventId];
|
||||
sprite->pos1.x = objEvent->initialCoords.x;
|
||||
sprite->pos1.y = objEvent->initialCoords.y;
|
||||
sprite->x = objEvent->initialCoords.x;
|
||||
sprite->y = objEvent->initialCoords.y;
|
||||
SetObjectSubpriorityByZCoord(objEvent->previousElevation, sprite, 1);
|
||||
sprite->oam.priority = ZCoordToPriority(objEvent->previousElevation);
|
||||
|
||||
|
||||
+34
-34
@@ -2722,22 +2722,22 @@ static void AnimateSelectedPartyIcon(u8 spriteId, u8 animNum)
|
||||
gSprites[spriteId].data[0] = 0;
|
||||
if (animNum == 0)
|
||||
{
|
||||
if (gSprites[spriteId].pos1.x == 16)
|
||||
if (gSprites[spriteId].x == 16)
|
||||
{
|
||||
gSprites[spriteId].pos2.x = 0;
|
||||
gSprites[spriteId].pos2.y = -4;
|
||||
gSprites[spriteId].x2 = 0;
|
||||
gSprites[spriteId].y2 = -4;
|
||||
}
|
||||
else
|
||||
{
|
||||
gSprites[spriteId].pos2.x = -4;
|
||||
gSprites[spriteId].pos2.y = 0;
|
||||
gSprites[spriteId].x2 = -4;
|
||||
gSprites[spriteId].y2 = 0;
|
||||
}
|
||||
gSprites[spriteId].callback = SpriteCB_UpdatePartyMonIcon;
|
||||
}
|
||||
else
|
||||
{
|
||||
gSprites[spriteId].pos2.x = 0;
|
||||
gSprites[spriteId].pos2.y = 0;
|
||||
gSprites[spriteId].x2 = 0;
|
||||
gSprites[spriteId].y2 = 0;
|
||||
gSprites[spriteId].callback = SpriteCB_BouncePartyMonIcon;
|
||||
}
|
||||
}
|
||||
@@ -2749,9 +2749,9 @@ static void SpriteCB_BouncePartyMonIcon(struct Sprite *sprite)
|
||||
if (animCmd != 0)
|
||||
{
|
||||
if (animCmd & 1) // % 2 also matches
|
||||
sprite->pos2.y = -3;
|
||||
sprite->y2 = -3;
|
||||
else
|
||||
sprite->pos2.y = 1;
|
||||
sprite->y2 = 1;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2837,8 +2837,8 @@ static void CreateHeldItemSpriteForTrade(u8 spriteId, bool8 isMail)
|
||||
u8 subpriority = gSprites[spriteId].subpriority;
|
||||
u8 newSpriteId = CreateSprite(&sSpriteTemplate_HeldItem, 250, 170, subpriority - 1);
|
||||
|
||||
gSprites[newSpriteId].pos2.x = 4;
|
||||
gSprites[newSpriteId].pos2.y = 10;
|
||||
gSprites[newSpriteId].x2 = 4;
|
||||
gSprites[newSpriteId].y2 = 10;
|
||||
gSprites[newSpriteId].callback = SpriteCB_HeldItem;
|
||||
gSprites[newSpriteId].data[7] = spriteId;
|
||||
StartSpriteAnim(&gSprites[newSpriteId], isMail);
|
||||
@@ -2856,8 +2856,8 @@ static void SpriteCB_HeldItem(struct Sprite *sprite)
|
||||
else
|
||||
{
|
||||
sprite->invisible = FALSE;
|
||||
sprite->pos1.x = gSprites[otherSpriteId].pos1.x + gSprites[otherSpriteId].pos2.x;
|
||||
sprite->pos1.y = gSprites[otherSpriteId].pos1.y + gSprites[otherSpriteId].pos2.y;
|
||||
sprite->x = gSprites[otherSpriteId].x + gSprites[otherSpriteId].x2;
|
||||
sprite->y = gSprites[otherSpriteId].y + gSprites[otherSpriteId].y2;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2904,15 +2904,15 @@ void SpriteCB_BounceConfirmCancelButton(u8 spriteId, u8 spriteId2, u8 animNum)
|
||||
{
|
||||
StartSpriteAnim(&gSprites[spriteId], 2);
|
||||
StartSpriteAnim(&gSprites[spriteId2], 4);
|
||||
gSprites[spriteId].pos2.y = 0;
|
||||
gSprites[spriteId2].pos2.y = 0;
|
||||
gSprites[spriteId].y2 = 0;
|
||||
gSprites[spriteId2].y2 = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
StartSpriteAnim(&gSprites[spriteId], 3);
|
||||
StartSpriteAnim(&gSprites[spriteId2], 5);
|
||||
gSprites[spriteId].pos2.y = -4;
|
||||
gSprites[spriteId2].pos2.y = 4;
|
||||
gSprites[spriteId].y2 = -4;
|
||||
gSprites[spriteId2].y2 = 4;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3247,10 +3247,10 @@ static void MoveAndBufferPartySlot(const void *rectSrc, s16 x, s16 y, s16 width,
|
||||
|
||||
static void MovePartyMenuBoxSprites(struct PartyMenuBox *menuBox, s16 offset)
|
||||
{
|
||||
gSprites[menuBox->pokeballSpriteId].pos2.x += offset * 8;
|
||||
gSprites[menuBox->itemSpriteId].pos2.x += offset * 8;
|
||||
gSprites[menuBox->monSpriteId].pos2.x += offset * 8;
|
||||
gSprites[menuBox->statusSpriteId].pos2.x += offset * 8;
|
||||
gSprites[menuBox->pokeballSpriteId].x2 += offset * 8;
|
||||
gSprites[menuBox->itemSpriteId].x2 += offset * 8;
|
||||
gSprites[menuBox->monSpriteId].x2 += offset * 8;
|
||||
gSprites[menuBox->statusSpriteId].x2 += offset * 8;
|
||||
}
|
||||
|
||||
static void SlidePartyMenuBoxSpritesOneStep(u8 taskId)
|
||||
@@ -3340,18 +3340,18 @@ static void SwitchMenuBoxSprites(u8 *spriteIdPtr1, u8 *spriteIdPtr2)
|
||||
|
||||
*spriteIdPtr1 = *spriteIdPtr2;
|
||||
*spriteIdPtr2 = spriteIdBuffer;
|
||||
xBuffer1 = gSprites[*spriteIdPtr1].pos1.x;
|
||||
yBuffer1 = gSprites[*spriteIdPtr1].pos1.y;
|
||||
xBuffer2 = gSprites[*spriteIdPtr1].pos2.x;
|
||||
yBuffer2 = gSprites[*spriteIdPtr1].pos2.y;
|
||||
gSprites[*spriteIdPtr1].pos1.x = gSprites[*spriteIdPtr2].pos1.x;
|
||||
gSprites[*spriteIdPtr1].pos1.y = gSprites[*spriteIdPtr2].pos1.y;
|
||||
gSprites[*spriteIdPtr1].pos2.x = gSprites[*spriteIdPtr2].pos2.x;
|
||||
gSprites[*spriteIdPtr1].pos2.y = gSprites[*spriteIdPtr2].pos2.y;
|
||||
gSprites[*spriteIdPtr2].pos1.x = xBuffer1;
|
||||
gSprites[*spriteIdPtr2].pos1.y = yBuffer1;
|
||||
gSprites[*spriteIdPtr2].pos2.x = xBuffer2;
|
||||
gSprites[*spriteIdPtr2].pos2.y = yBuffer2;
|
||||
xBuffer1 = gSprites[*spriteIdPtr1].x;
|
||||
yBuffer1 = gSprites[*spriteIdPtr1].y;
|
||||
xBuffer2 = gSprites[*spriteIdPtr1].x2;
|
||||
yBuffer2 = gSprites[*spriteIdPtr1].y2;
|
||||
gSprites[*spriteIdPtr1].x = gSprites[*spriteIdPtr2].x;
|
||||
gSprites[*spriteIdPtr1].y = gSprites[*spriteIdPtr2].y;
|
||||
gSprites[*spriteIdPtr1].x2 = gSprites[*spriteIdPtr2].x2;
|
||||
gSprites[*spriteIdPtr1].y2 = gSprites[*spriteIdPtr2].y2;
|
||||
gSprites[*spriteIdPtr2].x = xBuffer1;
|
||||
gSprites[*spriteIdPtr2].y = yBuffer1;
|
||||
gSprites[*spriteIdPtr2].x2 = xBuffer2;
|
||||
gSprites[*spriteIdPtr2].y2 = yBuffer2;
|
||||
}
|
||||
|
||||
static void SwitchPartyMon(void)
|
||||
@@ -6320,7 +6320,7 @@ static void Task_WaitAfterMultiPartnerPartySlideIn(u8 taskId)
|
||||
static void MoveMultiPartyMenuBoxSprite(u8 spriteId, s16 x)
|
||||
{
|
||||
if (x >= 0)
|
||||
gSprites[spriteId].pos2.x = x;
|
||||
gSprites[spriteId].x2 = x;
|
||||
}
|
||||
|
||||
static void SlideMultiPartyMenuBoxSpritesOneStep(u8 taskId)
|
||||
|
||||
+14
-14
@@ -230,10 +230,10 @@ static void sub_80B1728(struct Sprite *sprite)
|
||||
static void AnimSludgeBombHitParticle(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[0] = gBattleAnimArgs[2];
|
||||
sprite->data[1] = sprite->pos1.x;
|
||||
sprite->data[2] = sprite->pos1.x + gBattleAnimArgs[0];
|
||||
sprite->data[3] = sprite->pos1.y;
|
||||
sprite->data[4] = sprite->pos1.y + gBattleAnimArgs[1];
|
||||
sprite->data[1] = sprite->x;
|
||||
sprite->data[2] = sprite->x + gBattleAnimArgs[0];
|
||||
sprite->data[3] = sprite->y;
|
||||
sprite->data[4] = sprite->y + gBattleAnimArgs[1];
|
||||
InitSpriteDataForLinearTranslation(sprite);
|
||||
sprite->data[5] = sprite->data[1] / gBattleAnimArgs[2];
|
||||
sprite->data[6] = sprite->data[2] / gBattleAnimArgs[2];
|
||||
@@ -251,14 +251,14 @@ static void sub_80B1798(struct Sprite *sprite)
|
||||
|
||||
static void AnimAcidPoisonDroplet(struct Sprite *sprite)
|
||||
{
|
||||
SetAverageBattlerPositions(gBattleAnimTarget, TRUE, &sprite->pos1.x, &sprite->pos1.y);
|
||||
SetAverageBattlerPositions(gBattleAnimTarget, TRUE, &sprite->x, &sprite->y);
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
gBattleAnimArgs[0] = -gBattleAnimArgs[0];
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->x += gBattleAnimArgs[0];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
sprite->data[0] = gBattleAnimArgs[4];
|
||||
sprite->data[2] = sprite->pos1.x + gBattleAnimArgs[2];
|
||||
sprite->data[4] = sprite->pos1.y + sprite->data[0];
|
||||
sprite->data[2] = sprite->x + gBattleAnimArgs[2];
|
||||
sprite->data[4] = sprite->y + sprite->data[0];
|
||||
sprite->callback = StartAnimLinearTranslation;
|
||||
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
|
||||
}
|
||||
@@ -277,12 +277,12 @@ static void AnimBubbleEffect(struct Sprite *sprite)
|
||||
}
|
||||
else
|
||||
{
|
||||
SetAverageBattlerPositions(gBattleAnimTarget, TRUE, &sprite->pos1.x, &sprite->pos1.y);
|
||||
SetAverageBattlerPositions(gBattleAnimTarget, TRUE, &sprite->x, &sprite->y);
|
||||
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
gBattleAnimArgs[0] = -gBattleAnimArgs[0];
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->x += gBattleAnimArgs[0];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
}
|
||||
sprite->callback = AnimBubbleEffectStep;
|
||||
}
|
||||
@@ -290,9 +290,9 @@ static void AnimBubbleEffect(struct Sprite *sprite)
|
||||
static void AnimBubbleEffectStep(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[0] = (sprite->data[0] + 0xB) & 0xFF;
|
||||
sprite->pos2.x = Sin(sprite->data[0], 4);
|
||||
sprite->x2 = Sin(sprite->data[0], 4);
|
||||
sprite->data[1] += 0x30;
|
||||
sprite->pos2.y = -(sprite->data[1] >> 8);
|
||||
sprite->y2 = -(sprite->data[1] >> 8);
|
||||
if (sprite->affineAnimEnded)
|
||||
DestroyAnimSprite(sprite);
|
||||
}
|
||||
|
||||
+51
-51
@@ -388,13 +388,13 @@ static void Task_DoPokeballSendOutAnim(u8 taskId)
|
||||
}
|
||||
|
||||
gBattlerTarget = battlerId;
|
||||
gSprites[ballSpriteId].pos1.x = x;
|
||||
gSprites[ballSpriteId].pos1.y = y;
|
||||
gSprites[ballSpriteId].x = x;
|
||||
gSprites[ballSpriteId].y = y;
|
||||
gSprites[ballSpriteId].callback = SpriteCB_PlayerMonSendOut_1;
|
||||
break;
|
||||
case POKEBALL_OPPONENT_SENDOUT:
|
||||
gSprites[ballSpriteId].pos1.x = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X);
|
||||
gSprites[ballSpriteId].pos1.y = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y) + 24;
|
||||
gSprites[ballSpriteId].x = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X);
|
||||
gSprites[ballSpriteId].y = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y) + 24;
|
||||
gBattlerTarget = battlerId;
|
||||
gSprites[ballSpriteId].data[0] = 0;
|
||||
gSprites[ballSpriteId].callback = SpriteCB_OpponentMonSendOut;
|
||||
@@ -435,13 +435,13 @@ static void SpriteCB_TestBallThrow(struct Sprite *sprite)
|
||||
|
||||
StartSpriteAnim(sprite, 1);
|
||||
sprite->affineAnimPaused = TRUE;
|
||||
sprite->pos1.x += sprite->pos2.x;
|
||||
sprite->pos1.y += sprite->pos2.y;
|
||||
sprite->pos2.x = 0;
|
||||
sprite->pos2.y = 0;
|
||||
sprite->x += sprite->x2;
|
||||
sprite->y += sprite->y2;
|
||||
sprite->x2 = 0;
|
||||
sprite->y2 = 0;
|
||||
sprite->data[5] = 0;
|
||||
ballId = ItemIdToBallId(GetBattlerPokeballItemId(opponentBattler));
|
||||
LaunchBallStarsTask(sprite->pos1.x, sprite->pos1.y - 5, 1, 0x1C, ballId);
|
||||
LaunchBallStarsTask(sprite->x, sprite->y - 5, 1, 0x1C, ballId);
|
||||
sprite->data[0] = LaunchBallFadeMonTask(FALSE, opponentBattler, 14, ballId);
|
||||
sprite->sBattler = opponentBattler;
|
||||
sprite->data[7] = noOfShakes;
|
||||
@@ -489,7 +489,7 @@ static void sub_804AD00(struct Sprite *sprite)
|
||||
else
|
||||
{
|
||||
gSprites[gBattlerSpriteIds[sprite->sBattler]].data[1] += 0x60;
|
||||
gSprites[gBattlerSpriteIds[sprite->sBattler]].pos2.y = -gSprites[gBattlerSpriteIds[sprite->sBattler]].data[1] >> 8;
|
||||
gSprites[gBattlerSpriteIds[sprite->sBattler]].y2 = -gSprites[gBattlerSpriteIds[sprite->sBattler]].data[1] >> 8;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -503,8 +503,8 @@ static void sub_804AD98(struct Sprite *sprite)
|
||||
sprite->data[3] = 0;
|
||||
sprite->data[4] = 32;
|
||||
sprite->data[5] = 0;
|
||||
sprite->pos1.y += Cos(0, 32);
|
||||
sprite->pos2.y = -Cos(0, sprite->data[4]);
|
||||
sprite->y += Cos(0, 32);
|
||||
sprite->y2 = -Cos(0, sprite->data[4]);
|
||||
sprite->callback = sub_804ADEC;
|
||||
}
|
||||
}
|
||||
@@ -517,7 +517,7 @@ static void sub_804ADEC(struct Sprite *sprite)
|
||||
switch (sprite->data[3] & 0xFF)
|
||||
{
|
||||
case 0:
|
||||
sprite->pos2.y = -Cos(sprite->data[5], sprite->data[4]);
|
||||
sprite->y2 = -Cos(sprite->data[5], sprite->data[4]);
|
||||
sprite->data[5] += 4 + (sprite->data[3] >> 8);
|
||||
if (sprite->data[5] >= 64)
|
||||
{
|
||||
@@ -543,7 +543,7 @@ static void sub_804ADEC(struct Sprite *sprite)
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
sprite->pos2.y = -Cos(sprite->data[5], sprite->data[4]);
|
||||
sprite->y2 = -Cos(sprite->data[5], sprite->data[4]);
|
||||
sprite->data[5] -= 4 + (sprite->data[3] >> 8);
|
||||
if (sprite->data[5] <= 0)
|
||||
{
|
||||
@@ -555,8 +555,8 @@ static void sub_804ADEC(struct Sprite *sprite)
|
||||
if (r5)
|
||||
{
|
||||
sprite->data[3] = 0;
|
||||
sprite->pos1.y += Cos(64, 32);
|
||||
sprite->pos2.y = 0;
|
||||
sprite->y += Cos(64, 32);
|
||||
sprite->y2 = 0;
|
||||
if (sprite->data[7] == 0)
|
||||
{
|
||||
sprite->callback = SpriteCB_ReleaseMonFromBall;
|
||||
@@ -589,7 +589,7 @@ static void sub_804AF24(struct Sprite *sprite)
|
||||
{
|
||||
case 0:
|
||||
case 2:
|
||||
sprite->pos2.x += sprite->data[4];
|
||||
sprite->x2 += sprite->data[4];
|
||||
sprite->data[5] += sprite->data[4];
|
||||
sprite->affineAnimPaused = FALSE;
|
||||
if (sprite->data[5] > 3 || sprite->data[5] < -3)
|
||||
@@ -750,7 +750,7 @@ static void SpriteCB_ReleaseMonFromBall(struct Sprite *sprite)
|
||||
|
||||
StartSpriteAnim(sprite, 1);
|
||||
ballId = ItemIdToBallId(GetBattlerPokeballItemId(battlerId));
|
||||
LaunchBallStarsTask(sprite->pos1.x, sprite->pos1.y - 5, 1, 0x1C, ballId);
|
||||
LaunchBallStarsTask(sprite->x, sprite->y - 5, 1, 0x1C, ballId);
|
||||
sprite->data[0] = LaunchBallFadeMonTask(1, sprite->sBattler, 14, ballId);
|
||||
sprite->callback = HandleBallAnimEnd;
|
||||
|
||||
@@ -842,13 +842,13 @@ static void HandleBallAnimEnd(struct Sprite *sprite)
|
||||
else
|
||||
{
|
||||
gSprites[gBattlerSpriteIds[battlerId]].data[1] -= 288;
|
||||
gSprites[gBattlerSpriteIds[battlerId]].pos2.y = gSprites[gBattlerSpriteIds[battlerId]].data[1] >> 8;
|
||||
gSprites[gBattlerSpriteIds[battlerId]].y2 = gSprites[gBattlerSpriteIds[battlerId]].data[1] >> 8;
|
||||
}
|
||||
if (sprite->animEnded && affineAnimEnded)
|
||||
{
|
||||
s32 i, doneBattlers;
|
||||
|
||||
gSprites[gBattlerSpriteIds[battlerId]].pos2.y = 0;
|
||||
gSprites[gBattlerSpriteIds[battlerId]].y2 = 0;
|
||||
gDoingBattleAnim = FALSE;
|
||||
gBattleSpritesDataPtr->healthBoxesData[battlerId].ballAnimActive = FALSE;
|
||||
FreeSpriteOamMatrix(sprite);
|
||||
@@ -925,7 +925,7 @@ static void SpriteCB_PlayerMonSendOut_2(struct Sprite *sprite)
|
||||
r4 = sprite->data[0];
|
||||
AnimTranslateLinear(sprite);
|
||||
sprite->data[7] += sprite->sBattler / 3;
|
||||
sprite->pos2.y += Sin(HIBYTE(sprite->data[7]), sprite->data[5]);
|
||||
sprite->y2 += Sin(HIBYTE(sprite->data[7]), sprite->data[5]);
|
||||
sprite->oam.affineParam += 0x100;
|
||||
if ((sprite->oam.affineParam >> 8) % 3 != 0)
|
||||
sprite->data[0] = r4;
|
||||
@@ -943,9 +943,9 @@ static void SpriteCB_PlayerMonSendOut_2(struct Sprite *sprite)
|
||||
{
|
||||
if (TranslateAnimHorizontalArc(sprite))
|
||||
{
|
||||
sprite->pos1.x += sprite->pos2.x;
|
||||
sprite->pos1.y += sprite->pos2.y;
|
||||
sprite->pos2.x = sprite->pos2.y = 0;
|
||||
sprite->x += sprite->x2;
|
||||
sprite->y += sprite->y2;
|
||||
sprite->x2 = sprite->y2 = 0;
|
||||
sprite->sBattler = sprite->oam.affineParam & 0xFF;
|
||||
sprite->data[0] = 0;
|
||||
|
||||
@@ -1003,10 +1003,10 @@ void CreatePokeballSpriteToReleaseMon(u8 monSpriteId, u8 battlerId, u8 x, u8 y,
|
||||
LoadCompressedSpritePaletteUsingHeap(&gBallSpritePalettes[0]);
|
||||
spriteId = CreateSprite(&gBallSpriteTemplates[0], x, y, subpriortiy);
|
||||
gSprites[spriteId].data[0] = monSpriteId;
|
||||
gSprites[spriteId].data[5] = gSprites[monSpriteId].pos1.x;
|
||||
gSprites[spriteId].data[6] = gSprites[monSpriteId].pos1.y;
|
||||
gSprites[monSpriteId].pos1.x = x;
|
||||
gSprites[monSpriteId].pos1.y = y;
|
||||
gSprites[spriteId].data[5] = gSprites[monSpriteId].x;
|
||||
gSprites[spriteId].data[6] = gSprites[monSpriteId].y;
|
||||
gSprites[monSpriteId].x = x;
|
||||
gSprites[monSpriteId].y = y;
|
||||
gSprites[spriteId].data[1] = g;
|
||||
gSprites[spriteId].data[2] = battlerId;
|
||||
gSprites[spriteId].data[3] = h;
|
||||
@@ -1031,7 +1031,7 @@ static void sub_804B9E8(struct Sprite *sprite)
|
||||
r5 = 0;
|
||||
|
||||
StartSpriteAnim(sprite, 1);
|
||||
LaunchBallStarsTaskForPokeball(sprite->pos1.x, sprite->pos1.y - 5, sprite->oam.priority, r5);
|
||||
LaunchBallStarsTaskForPokeball(sprite->x, sprite->y - 5, sprite->oam.priority, r5);
|
||||
sprite->data[1] = LaunchBallFadeMonTaskForPokeball(1, battlerId, r4);
|
||||
sprite->callback = sub_804BAA4;
|
||||
gSprites[r7].invisible = FALSE;
|
||||
@@ -1063,24 +1063,24 @@ static void sub_804BAA4(struct Sprite *sprite)
|
||||
r12 = TRUE;
|
||||
}
|
||||
|
||||
var1 = (sprite->data[5] - sprite->pos1.x) * sprite->data[7] / 128 + sprite->pos1.x;
|
||||
var2 = (sprite->data[6] - sprite->pos1.y) * sprite->data[7] / 128 + sprite->pos1.y;
|
||||
gSprites[monSpriteId].pos1.x = var1;
|
||||
gSprites[monSpriteId].pos1.y = var2;
|
||||
var1 = (sprite->data[5] - sprite->x) * sprite->data[7] / 128 + sprite->x;
|
||||
var2 = (sprite->data[6] - sprite->y) * sprite->data[7] / 128 + sprite->y;
|
||||
gSprites[monSpriteId].x = var1;
|
||||
gSprites[monSpriteId].y = var2;
|
||||
if (sprite->data[7] < 128)
|
||||
{
|
||||
s16 sine = -(gSineTable[(u8)sprite->data[7]] / 8);
|
||||
|
||||
sprite->data[7] += 4;
|
||||
gSprites[monSpriteId].pos2.x = sine;
|
||||
gSprites[monSpriteId].pos2.y = sine;
|
||||
gSprites[monSpriteId].x2 = sine;
|
||||
gSprites[monSpriteId].y2 = sine;
|
||||
}
|
||||
else
|
||||
{
|
||||
gSprites[monSpriteId].pos1.x = sprite->data[5];
|
||||
gSprites[monSpriteId].pos1.y = sprite->data[6];
|
||||
gSprites[monSpriteId].pos2.x = 0;
|
||||
gSprites[monSpriteId].pos2.y = 0;
|
||||
gSprites[monSpriteId].x = sprite->data[5];
|
||||
gSprites[monSpriteId].y = sprite->data[6];
|
||||
gSprites[monSpriteId].x2 = 0;
|
||||
gSprites[monSpriteId].y2 = 0;
|
||||
r6 = TRUE;
|
||||
}
|
||||
|
||||
@@ -1120,7 +1120,7 @@ static void sub_804BC50(struct Sprite *sprite)
|
||||
r6 = 0;
|
||||
|
||||
StartSpriteAnim(sprite, 1);
|
||||
LaunchBallStarsTaskForPokeball(sprite->pos1.x, sprite->pos1.y - 5, sprite->oam.priority, r6);
|
||||
LaunchBallStarsTaskForPokeball(sprite->x, sprite->y - 5, sprite->oam.priority, r6);
|
||||
sprite->data[1] = LaunchBallFadeMonTaskForPokeball(1, r8, r5);
|
||||
sprite->callback = sub_804BCF8;
|
||||
StartSpriteAffineAnim(&gSprites[r7], 2);
|
||||
@@ -1152,7 +1152,7 @@ static void sub_804BCF8(struct Sprite *sprite)
|
||||
else
|
||||
{
|
||||
gSprites[r1].data[1] += 96;
|
||||
gSprites[r1].pos2.y = -gSprites[r1].data[1] >> 8;
|
||||
gSprites[r1].y2 = -gSprites[r1].data[1] >> 8;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1173,15 +1173,15 @@ void StartHealthboxSlideIn(u8 battlerId)
|
||||
|
||||
healthboxSprite->data[0] = 5;
|
||||
healthboxSprite->data[1] = 0;
|
||||
healthboxSprite->pos2.x = 0x73;
|
||||
healthboxSprite->pos2.y = 0;
|
||||
healthboxSprite->x2 = 0x73;
|
||||
healthboxSprite->y2 = 0;
|
||||
healthboxSprite->callback = sub_804BE48;
|
||||
if (GetBattlerSide(battlerId) != B_SIDE_PLAYER)
|
||||
{
|
||||
healthboxSprite->data[0] = -healthboxSprite->data[0];
|
||||
healthboxSprite->data[1] = -healthboxSprite->data[1];
|
||||
healthboxSprite->pos2.x = -healthboxSprite->pos2.x;
|
||||
healthboxSprite->pos2.y = -healthboxSprite->pos2.y;
|
||||
healthboxSprite->x2 = -healthboxSprite->x2;
|
||||
healthboxSprite->y2 = -healthboxSprite->y2;
|
||||
}
|
||||
|
||||
gSprites[healthboxSprite->data[5]].callback(&gSprites[healthboxSprite->data[5]]);
|
||||
@@ -1201,9 +1201,9 @@ static void sub_804BE24(struct Sprite *sprite)
|
||||
|
||||
static void sub_804BE48(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos2.x -= sprite->data[0];
|
||||
sprite->pos2.y -= sprite->data[1];
|
||||
if (sprite->pos2.x == 0 && sprite->pos2.y == 0)
|
||||
sprite->x2 -= sprite->data[0];
|
||||
sprite->y2 -= sprite->data[1];
|
||||
if (sprite->x2 == 0 && sprite->y2 == 0)
|
||||
sprite->callback = SpriteCallbackDummy;
|
||||
}
|
||||
|
||||
@@ -1221,13 +1221,13 @@ static void SpriteCB_HitAnimHealthoxEffect(struct Sprite *sprite)
|
||||
{
|
||||
u8 r1 = sprite->data[1];
|
||||
|
||||
gSprites[r1].pos2.y = sprite->data[0];
|
||||
gSprites[r1].y2 = sprite->data[0];
|
||||
sprite->data[0] = -sprite->data[0];
|
||||
sprite->data[2]++;
|
||||
if (sprite->data[2] == 21)
|
||||
{
|
||||
gSprites[r1].pos2.x = 0;
|
||||
gSprites[r1].pos2.y = 0;
|
||||
gSprites[r1].x2 = 0;
|
||||
gSprites[r1].y2 = 0;
|
||||
DestroySprite(sprite);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3105,14 +3105,14 @@ u8 DexScreen_DrawMonAreaPage(void)
|
||||
gSprites[sPokedexScreenData->windowIds[14]].oam.affineMode = 1;
|
||||
gSprites[sPokedexScreenData->windowIds[14]].oam.matrixNum = 2;
|
||||
gSprites[sPokedexScreenData->windowIds[14]].oam.priority = 1;
|
||||
gSprites[sPokedexScreenData->windowIds[14]].pos2.y = gPokedexEntries[speciesId].pokemonOffset;
|
||||
gSprites[sPokedexScreenData->windowIds[14]].y2 = gPokedexEntries[speciesId].pokemonOffset;
|
||||
SetOamMatrix(2, gPokedexEntries[speciesId].pokemonScale, 0, 0, gPokedexEntries[speciesId].pokemonScale);
|
||||
sPokedexScreenData->windowIds[15] = CreateTrainerPicSprite(PlayerGenderToFrontTrainerPicId_Debug(gSaveBlock2Ptr->playerGender, TRUE), 1, 80, 104, 0, 0xFFFF);
|
||||
gSprites[sPokedexScreenData->windowIds[15]].oam.paletteNum = 2;
|
||||
gSprites[sPokedexScreenData->windowIds[15]].oam.affineMode = 1;
|
||||
gSprites[sPokedexScreenData->windowIds[15]].oam.matrixNum = 1;
|
||||
gSprites[sPokedexScreenData->windowIds[15]].oam.priority = 1;
|
||||
gSprites[sPokedexScreenData->windowIds[15]].pos2.y = gPokedexEntries[speciesId].trainerOffset;
|
||||
gSprites[sPokedexScreenData->windowIds[15]].y2 = gPokedexEntries[speciesId].trainerOffset;
|
||||
SetOamMatrix(1, gPokedexEntries[speciesId].trainerScale, 0, 0, gPokedexEntries[speciesId].trainerScale);
|
||||
}
|
||||
else
|
||||
|
||||
+2
-2
@@ -168,10 +168,10 @@ static void sub_81477C0(u8 taskId)
|
||||
sub_81476E0(taskId, data);
|
||||
|
||||
StartSpriteAnim(&gSprites[data[14]], 4);
|
||||
gSprites[data[14]].pos2.x = -32;
|
||||
gSprites[data[14]].x2 = -32;
|
||||
|
||||
StartSpriteAnim(&gSprites[data[15]], 5);
|
||||
gSprites[data[15]].pos2.x = 32;
|
||||
gSprites[data[15]].x2 = 32;
|
||||
}
|
||||
|
||||
static void sub_814784C(u8 taskId)
|
||||
|
||||
@@ -726,7 +726,7 @@ static void sub_814A8B8(void)
|
||||
|
||||
void sub_814A940(u32 id, s16 y)
|
||||
{
|
||||
gUnknown_203F3D8->unk81A8[id]->pos2.y = y;
|
||||
gUnknown_203F3D8->unk81A8[id]->y2 = y;
|
||||
}
|
||||
|
||||
void sub_814A95C(int id)
|
||||
|
||||
+11
-11
@@ -406,7 +406,7 @@ void sub_814AF0C(struct PokemonJump2 *arg0, int multiplayerId)
|
||||
sub_814ADB4(arg0->unk81BC[multiplayerId]);
|
||||
arg0->unk81BC[multiplayerId]->data[7] = arg0->unk81A8[multiplayerId] - gSprites;
|
||||
arg0->unk81BC[multiplayerId]->invisible = FALSE;
|
||||
arg0->unk81BC[multiplayerId]->pos1.y = 96;
|
||||
arg0->unk81BC[multiplayerId]->y = 96;
|
||||
arg0->unk81BC[multiplayerId]->callback = sub_814AF74;
|
||||
StartSpriteAnim(arg0->unk81BC[multiplayerId], 1);
|
||||
}
|
||||
@@ -423,11 +423,11 @@ static void sub_814AF74(struct Sprite *sprite)
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
sprite->pos1.y--;
|
||||
sprite->y--;
|
||||
sprite->data[1]++;
|
||||
if (sprite->pos1.y <= 72)
|
||||
if (sprite->y <= 72)
|
||||
{
|
||||
sprite->pos1.y = 72;
|
||||
sprite->y = 72;
|
||||
sprite->data[0]++;
|
||||
}
|
||||
break;
|
||||
@@ -444,7 +444,7 @@ static void sub_814AF74(struct Sprite *sprite)
|
||||
void sub_814AFE8(struct PokemonJump2 *arg0, int multiplayerId)
|
||||
{
|
||||
arg0->unk81A8[multiplayerId]->callback = sub_814B038;
|
||||
arg0->unk81A8[multiplayerId]->pos2.y = 0;
|
||||
arg0->unk81A8[multiplayerId]->y2 = 0;
|
||||
sub_814ADB4(arg0->unk81A8[multiplayerId]);
|
||||
}
|
||||
|
||||
@@ -458,16 +458,16 @@ static void sub_814B038(struct Sprite *sprite)
|
||||
if (++sprite->data[1] > 1)
|
||||
{
|
||||
if (++sprite->data[2] & 1)
|
||||
sprite->pos2.y = 2;
|
||||
sprite->y2 = 2;
|
||||
else
|
||||
sprite->pos2.y = -2;
|
||||
sprite->y2 = -2;
|
||||
|
||||
sprite->data[1] = 0;
|
||||
}
|
||||
|
||||
if (sprite->data[2] > 12)
|
||||
{
|
||||
sprite->pos2.y = 0;
|
||||
sprite->y2 = 0;
|
||||
sprite->callback = SpriteCallbackDummy;
|
||||
}
|
||||
}
|
||||
@@ -543,7 +543,7 @@ static void sub_814B1CC(struct Sprite *sprite)
|
||||
if (sprite->data[1] > 0x7F)
|
||||
sprite->data[1] = 0;
|
||||
|
||||
sprite->pos2.y = -(gSineTable[sprite->data[1]] >> 3);
|
||||
sprite->y2 = -(gSineTable[sprite->data[1]] >> 3);
|
||||
if (sprite->data[1] == 0)
|
||||
{
|
||||
if (++sprite->data[2] < 2)
|
||||
@@ -608,7 +608,7 @@ void sub_814B348(struct PokemonJump2 *arg0, int arg1)
|
||||
count = 0;
|
||||
for (i = 0; i < 4; i++)
|
||||
{
|
||||
arg0->unk81D0[count]->pos1.y = gUnknown_846E100[i][arg1];
|
||||
arg0->unk81D0[count]->y = gUnknown_846E100[i][arg1];
|
||||
arg0->unk81D0[count]->oam.priority = priority;
|
||||
arg0->unk81D0[count]->oam.paletteNum = palNum;
|
||||
StartSpriteAnim(arg0->unk81D0[count], arg1);
|
||||
@@ -617,7 +617,7 @@ void sub_814B348(struct PokemonJump2 *arg0, int arg1)
|
||||
|
||||
for (i = 3; i >= 0; i--)
|
||||
{
|
||||
arg0->unk81D0[count]->pos1.y = gUnknown_846E100[i][arg1];
|
||||
arg0->unk81D0[count]->y = gUnknown_846E100[i][arg1];
|
||||
arg0->unk81D0[count]->oam.priority = priority;
|
||||
arg0->unk81D0[count]->oam.paletteNum = palNum;
|
||||
StartSpriteAnim(arg0->unk81D0[count], arg1);
|
||||
|
||||
@@ -785,14 +785,14 @@ static void MonSpriteZoom_UpdateYPos(struct Sprite * sprite, u8 closeness)
|
||||
closeness = 3;
|
||||
PSA_GetSceneWork(); // return value not used
|
||||
StartSpriteAffineAnim(sprite, closeness);
|
||||
sprite->pos1.y = GetYPosByScale(sAffineScales[closeness]);
|
||||
sprite->y = GetYPosByScale(sAffineScales[closeness]);
|
||||
}
|
||||
|
||||
static void ItemSpriteZoom_UpdateYPos(struct Sprite * sprite, u8 closeness)
|
||||
{
|
||||
MonSpriteZoom_UpdateYPos(sprite, closeness);
|
||||
sprite->pos2.x = GetSpriteOffsetByScale(sprite->data[6] - 32, closeness);
|
||||
sprite->pos2.y = GetSpriteOffsetByScale(sprite->data[7] - 32, closeness);
|
||||
sprite->x2 = GetSpriteOffsetByScale(sprite->data[6] - 32, closeness);
|
||||
sprite->y2 = GetSpriteOffsetByScale(sprite->data[7] - 32, closeness);
|
||||
}
|
||||
|
||||
static void StartMonWiggleAnim(struct PokemonSpecialAnimScene * scene, u8 frameLen, u8 niter, u8 amplitude)
|
||||
@@ -807,7 +807,7 @@ static void StartMonWiggleAnim(struct PokemonSpecialAnimScene * scene, u8 frameL
|
||||
|
||||
static void StopMonWiggleAnim(struct PokemonSpecialAnimScene * scene)
|
||||
{
|
||||
scene->monSprite->pos2.x = 0;
|
||||
scene->monSprite->x2 = 0;
|
||||
scene->monSprite->callback = SpriteCallbackDummy;
|
||||
}
|
||||
|
||||
@@ -820,13 +820,13 @@ static void SpriteCallback_MonSpriteWiggle(struct Sprite * sprite)
|
||||
sprite->data[6]++;
|
||||
if (sprite->data[1] != 0 && sprite->data[6] >= sprite->data[1])
|
||||
{
|
||||
sprite->pos2.x = 0;
|
||||
sprite->x2 = 0;
|
||||
sprite->callback = SpriteCallbackDummy;
|
||||
}
|
||||
else if (sprite->data[6] & 1)
|
||||
sprite->pos2.x = sprite->data[2];
|
||||
sprite->x2 = sprite->data[2];
|
||||
else
|
||||
sprite->pos2.x = -sprite->data[2];
|
||||
sprite->x2 = -sprite->data[2];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -989,8 +989,8 @@ static void Task_ItemUseOnMonAnim(u8 taskId)
|
||||
|
||||
static void CreateSprites_UseItem_OutwardSpiralDots(u8 taskId, s16 *data, struct Sprite * sprite)
|
||||
{
|
||||
int x = sprite->pos1.x + sprite->pos2.x - 4;
|
||||
int y = sprite->pos1.y + sprite->pos2.y - 4;
|
||||
int x = sprite->x + sprite->x2 - 4;
|
||||
int y = sprite->y + sprite->y2 - 4;
|
||||
u8 spriteId;
|
||||
int i;
|
||||
BlendPalettes(0x10000 << IndexOfSpritePaletteTag(5), 16, tBlendColor);
|
||||
@@ -1017,8 +1017,8 @@ static void SpriteCB_OutwardSpiralDots(struct Sprite * sprite)
|
||||
data[1] += 7;
|
||||
data[1] &= 0xFF;
|
||||
data[2] += 4;
|
||||
sprite->pos2.x = (data[2] * gSineTable[data[1] + 0x40]) >> 8;
|
||||
sprite->pos2.y = (data[2] * gSineTable[data[1]]) >> 8;
|
||||
sprite->x2 = (data[2] * gSineTable[data[1] + 0x40]) >> 8;
|
||||
sprite->y2 = (data[2] * gSineTable[data[1]]) >> 8;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1042,16 +1042,16 @@ static void InitItemIconSpriteState(struct PokemonSpecialAnimScene * scene, stru
|
||||
u32 personality;
|
||||
if (closeness == 3)
|
||||
{
|
||||
sprite->pos1.x = 120;
|
||||
sprite->pos1.y = scene->monSpriteY2;
|
||||
sprite->x = 120;
|
||||
sprite->y = scene->monSpriteY2;
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos1.x = 120;
|
||||
sprite->pos1.y = scene->monSpriteY1;
|
||||
sprite->x = 120;
|
||||
sprite->y = scene->monSpriteY1;
|
||||
}
|
||||
sprite->pos1.x += 4;
|
||||
sprite->pos1.y += 4;
|
||||
sprite->x += 4;
|
||||
sprite->y += 4;
|
||||
species = PSA_GetMonSpecies();
|
||||
personality = PSA_GetMonPersonality();
|
||||
switch (PSA_GetAnimType())
|
||||
@@ -1121,14 +1121,14 @@ static void SpriteCB_MachineSetWobble(struct Sprite * sprite)
|
||||
switch (sprite->data[0])
|
||||
{
|
||||
case 0:
|
||||
sprite->pos1.x += 3;
|
||||
sprite->x += 3;
|
||||
sprite->data[0]++;
|
||||
break;
|
||||
case 1:
|
||||
sprite->data[1]++;
|
||||
if (sprite->data[1] > 30)
|
||||
{
|
||||
sprite->pos1.x -= 3;
|
||||
sprite->x -= 3;
|
||||
sprite->callback = SpriteCallbackDummy;
|
||||
}
|
||||
break;
|
||||
@@ -1194,8 +1194,8 @@ static void CreateStarSprites(struct PokemonSpecialAnimScene * scene)
|
||||
personality = PSA_GetMonPersonality();
|
||||
gSprites[spriteId].data[3] = sStarCoordOffsets[i][0] * 8;
|
||||
gSprites[spriteId].data[4] = sStarCoordOffsets[i][1] * 8;
|
||||
gSprites[spriteId].pos1.x += GetSpriteOffsetByScale(Menu2_GetMonSpriteAnchorCoordMinusx20(species, personality, 0), 3);
|
||||
gSprites[spriteId].pos1.y += GetSpriteOffsetByScale(Menu2_GetMonSpriteAnchorCoordMinusx20(species, personality, 1), 3);
|
||||
gSprites[spriteId].x += GetSpriteOffsetByScale(Menu2_GetMonSpriteAnchorCoordMinusx20(species, personality, 0), 3);
|
||||
gSprites[spriteId].y += GetSpriteOffsetByScale(Menu2_GetMonSpriteAnchorCoordMinusx20(species, personality, 1), 3);
|
||||
scene->field_0002++;
|
||||
}
|
||||
}
|
||||
@@ -1213,8 +1213,8 @@ static void SpriteCB_Star(struct Sprite * sprite)
|
||||
{
|
||||
sprite->data[1] += sprite->data[3];
|
||||
sprite->data[2] += sprite->data[4];
|
||||
sprite->pos2.x = sprite->data[1] >> 4;
|
||||
sprite->pos2.y = sprite->data[2] >> 4;
|
||||
sprite->x2 = sprite->data[1] >> 4;
|
||||
sprite->y2 = sprite->data[2] >> 4;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1267,8 +1267,8 @@ static void Task_UseItem_OutwardSpiralDots(u8 taskId)
|
||||
{
|
||||
u32 spriteId, x, y, x2, y2, ampl;
|
||||
struct Sprite * sprite = PSA_GetSceneWork()->itemIconSprite;
|
||||
x = sprite->pos1.x + sprite->pos2.x;
|
||||
y = sprite->pos1.y + sprite->pos2.y;
|
||||
x = sprite->x + sprite->x2;
|
||||
y = sprite->y + sprite->y2;
|
||||
ampl = (PSAScene_RandomFromTask(taskId) % 21) + 70;
|
||||
x2 = x + ((u32)(gSineTable[tAngle + 0x40] * ampl) >> 8);
|
||||
y2 = y + ((u32)(gSineTable[tAngle ] * ampl) >> 8);
|
||||
@@ -1322,8 +1322,8 @@ static void SpriteCallback_UseItem_OutwardSpiralDots(struct Sprite * sprite)
|
||||
{
|
||||
x = (sprite->tsXorig - sprite->tsXinit) * sprite->tsRadius;
|
||||
y = (sprite->tsYorig - sprite->tsYinit) * sprite->tsRadius;
|
||||
sprite->pos1.x = (x >> 8) + sprite->tsXinit;
|
||||
sprite->pos1.y = (y >> 8) + sprite->tsYinit;
|
||||
sprite->x = (x >> 8) + sprite->tsXinit;
|
||||
sprite->y = (y >> 8) + sprite->tsYinit;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1451,8 +1451,8 @@ static void CreateLevelUpVerticalSprite(u8 taskId, s16 *data)
|
||||
static void SpriteCB_LevelUpVertical(struct Sprite * sprite)
|
||||
{
|
||||
sprite->tsYsubpixel -= sprite->tsSpeed;
|
||||
sprite->pos2.y = sprite->tsYsubpixel >> 4;
|
||||
if (sprite->pos2.y < -0x40)
|
||||
sprite->y2 = sprite->tsYsubpixel >> 4;
|
||||
if (sprite->y2 < -0x40)
|
||||
{
|
||||
gTasks[sprite->tsTaskId].tActiveSprCt--;
|
||||
DestroySprite(sprite);
|
||||
|
||||
@@ -548,12 +548,12 @@ static void sub_808C9C4(u8 curBox)
|
||||
r5 = 0;
|
||||
if (i & 2)
|
||||
{
|
||||
sBoxSelectionPopupSpriteManager->unk_0004[i]->pos1.x = 196;
|
||||
sBoxSelectionPopupSpriteManager->unk_0004[i]->x = 196;
|
||||
r5 = 2;
|
||||
}
|
||||
if (i & 1)
|
||||
{
|
||||
sBoxSelectionPopupSpriteManager->unk_0004[i]->pos1.y = 112;
|
||||
sBoxSelectionPopupSpriteManager->unk_0004[i]->y = 112;
|
||||
sBoxSelectionPopupSpriteManager->unk_0004[i]->oam.size = SPRITE_SIZE(8x16);
|
||||
r5++;
|
||||
}
|
||||
@@ -636,11 +636,11 @@ static void sub_808CD64(struct Sprite *sprite)
|
||||
if (++sprite->data[1] > 3)
|
||||
{
|
||||
sprite->data[1] = 0;
|
||||
sprite->pos2.x += sprite->data[0];
|
||||
sprite->x2 += sprite->data[0];
|
||||
if (++sprite->data[2] > 5)
|
||||
{
|
||||
sprite->data[2] = 0;
|
||||
sprite->pos2.x = 0;
|
||||
sprite->x2 = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2166,8 +2166,8 @@ static void PSS_CreateMonMarkingSprite(void)
|
||||
gPSSData->monMarkingSprite = CreateMonMarkingSprite_AllOff(TAG_TILE_10, TAG_PAL_DAC8, NULL);
|
||||
gPSSData->monMarkingSprite->oam.priority = 1;
|
||||
gPSSData->monMarkingSprite->subpriority = 1;
|
||||
gPSSData->monMarkingSprite->pos1.x = 40;
|
||||
gPSSData->monMarkingSprite->pos1.y = 150;
|
||||
gPSSData->monMarkingSprite->x = 40;
|
||||
gPSSData->monMarkingSprite->y = 150;
|
||||
gPSSData->monMarkingSpriteTileStart = (void *)OBJ_VRAM0 + 32 * GetSpriteTileStartByTag(TAG_TILE_10);
|
||||
}
|
||||
|
||||
|
||||
@@ -360,12 +360,12 @@ static void sub_80902E0(struct Sprite *sprite)
|
||||
if (sprite->data[1] != 0)
|
||||
{
|
||||
sprite->data[1]--;
|
||||
sprite->pos1.x += sprite->data[2];
|
||||
sprite->x += sprite->data[2];
|
||||
}
|
||||
else
|
||||
{
|
||||
gPSSData->field_C66--;
|
||||
sprite->pos1.x = sprite->data[3];
|
||||
sprite->x = sprite->data[3];
|
||||
sprite->callback = SpriteCallbackDummy;
|
||||
}
|
||||
}
|
||||
@@ -378,8 +378,8 @@ static void sub_8090324(struct Sprite *sprite)
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos1.x += sprite->data[2];
|
||||
sprite->data[5] = sprite->pos1.x + sprite->pos2.x;
|
||||
sprite->x += sprite->data[2];
|
||||
sprite->data[5] = sprite->x + sprite->x2;
|
||||
if (sprite->data[5] <= 68 || sprite->data[5] >= 252)
|
||||
sprite->callback = SpriteCallbackDummy;
|
||||
}
|
||||
@@ -586,7 +586,7 @@ void CreatePartyMonsSprites(bool8 arg0)
|
||||
{
|
||||
for (i = 0; i < count; i++)
|
||||
{
|
||||
gPSSData->partySprites[i]->pos1.y -= 160;
|
||||
gPSSData->partySprites[i]->y -= 160;
|
||||
gPSSData->partySprites[i]->invisible = TRUE;
|
||||
}
|
||||
}
|
||||
@@ -636,8 +636,8 @@ static void sub_8090A74(struct Sprite *sprite, u16 partyId)
|
||||
else
|
||||
x = 152, y = 8 * (3 * (partyId - 1)) + 16;
|
||||
|
||||
sprite->data[2] = (u16)(sprite->pos1.x) * 8;
|
||||
sprite->data[3] = (u16)(sprite->pos1.y) * 8;
|
||||
sprite->data[2] = (u16)(sprite->x) * 8;
|
||||
sprite->data[3] = (u16)(sprite->y) * 8;
|
||||
sprite->data[4] = ((x * 8) - sprite->data[2]) / 8;
|
||||
sprite->data[5] = ((y * 8) - sprite->data[3]) / 8;
|
||||
sprite->data[6] = 8;
|
||||
@@ -650,21 +650,21 @@ static void sub_8090AE0(struct Sprite *sprite)
|
||||
{
|
||||
s16 x = sprite->data[2] += sprite->data[4];
|
||||
s16 y = sprite->data[3] += sprite->data[5];
|
||||
sprite->pos1.x = x / 8u;
|
||||
sprite->pos1.y = y / 8u;
|
||||
sprite->x = x / 8u;
|
||||
sprite->y = y / 8u;
|
||||
sprite->data[6]--;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (sprite->data[1] == 0)
|
||||
{
|
||||
sprite->pos1.x = 104;
|
||||
sprite->pos1.y = 64;
|
||||
sprite->x = 104;
|
||||
sprite->y = 64;
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos1.x = 152;
|
||||
sprite->pos1.y = 8 * (3 * (sprite->data[1] - 1)) + 16;
|
||||
sprite->x = 152;
|
||||
sprite->y = 8 * (3 * (sprite->data[1] - 1)) + 16;
|
||||
}
|
||||
sprite->callback = SpriteCallbackDummy;
|
||||
gPSSData->partySprites[sprite->data[1]] = sprite;
|
||||
@@ -689,8 +689,8 @@ void sub_8090B98(s16 yDelta)
|
||||
{
|
||||
if (gPSSData->partySprites[i] != NULL)
|
||||
{
|
||||
gPSSData->partySprites[i]->pos1.y += yDelta;
|
||||
posY = gPSSData->partySprites[i]->pos1.y + gPSSData->partySprites[i]->pos2.y + gPSSData->partySprites[i]->centerToCornerVecY;
|
||||
gPSSData->partySprites[i]->y += yDelta;
|
||||
posY = gPSSData->partySprites[i]->y + gPSSData->partySprites[i]->y2 + gPSSData->partySprites[i]->centerToCornerVecY;
|
||||
posY += 16;
|
||||
if (posY > 192)
|
||||
gPSSData->partySprites[i]->invisible = TRUE;
|
||||
@@ -790,12 +790,12 @@ bool8 sub_8090E74(void)
|
||||
gPSSData->field_C5D++;
|
||||
if (gPSSData->field_C5D & 1)
|
||||
{
|
||||
(*gPSSData->field_B00)->pos1.y--;
|
||||
gPSSData->movingMonSprite->pos1.y++;
|
||||
(*gPSSData->field_B00)->y--;
|
||||
gPSSData->movingMonSprite->y++;
|
||||
}
|
||||
|
||||
(*gPSSData->field_B00)->pos2.x = gSineTable[gPSSData->field_C5D * 8] / 16;
|
||||
gPSSData->movingMonSprite->pos2.x = -(gSineTable[gPSSData->field_C5D * 8] / 16);
|
||||
(*gPSSData->field_B00)->x2 = gSineTable[gPSSData->field_C5D * 8] / 16;
|
||||
gPSSData->movingMonSprite->x2 = -(gSineTable[gPSSData->field_C5D * 8] / 16);
|
||||
if (gPSSData->field_C5D == 8)
|
||||
{
|
||||
gPSSData->movingMonSprite->oam.priority = (*gPSSData->field_B00)->oam.priority;
|
||||
@@ -891,8 +891,8 @@ void SetMovingMonPriority(u8 priority)
|
||||
|
||||
static void sub_80911B0(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x = gPSSData->field_CB4->pos1.x;
|
||||
sprite->pos1.y = gPSSData->field_CB4->pos1.y + gPSSData->field_CB4->pos2.y + 4;
|
||||
sprite->x = gPSSData->field_CB4->x;
|
||||
sprite->y = gPSSData->field_CB4->y + gPSSData->field_CB4->y2 + 4;
|
||||
}
|
||||
|
||||
static u16 sub_80911D4(u16 species)
|
||||
@@ -1316,7 +1316,7 @@ static void sub_8091E84(struct Sprite *sprite)
|
||||
{
|
||||
if (sprite->data[2] != 0)
|
||||
sprite->data[2]--;
|
||||
else if ((sprite->pos1.x += sprite->data[0]) == sprite->data[1])
|
||||
else if ((sprite->x += sprite->data[0]) == sprite->data[1])
|
||||
sprite->callback = SpriteCallbackDummy;
|
||||
}
|
||||
|
||||
@@ -1328,8 +1328,8 @@ static void sub_8091EB8(struct Sprite *sprite)
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos1.x += sprite->data[0];
|
||||
sprite->data[2] = sprite->pos1.x + sprite->pos2.x;
|
||||
sprite->x += sprite->data[0];
|
||||
sprite->data[2] = sprite->x + sprite->x2;
|
||||
if (sprite->data[2] < 0x40 || sprite->data[2] > 0x100)
|
||||
DestroySprite(sprite);
|
||||
}
|
||||
@@ -1376,7 +1376,7 @@ static void sub_809200C(s8 direction)
|
||||
|
||||
for (i = 0; i < 2; i++)
|
||||
{
|
||||
gPSSData->field_730[i]->pos2.x = 0;
|
||||
gPSSData->field_730[i]->x2 = 0;
|
||||
gPSSData->field_730[i]->data[0] = 2;
|
||||
}
|
||||
if (direction < 0)
|
||||
@@ -1403,8 +1403,8 @@ static void sub_80920AC(void)
|
||||
|
||||
for (i = 0; i < 2; i++)
|
||||
{
|
||||
gPSSData->field_730[i]->pos1.x = 0x88 * i + 0x5c;
|
||||
gPSSData->field_730[i]->pos2.x = 0;
|
||||
gPSSData->field_730[i]->x = 0x88 * i + 0x5c;
|
||||
gPSSData->field_730[i]->x2 = 0;
|
||||
gPSSData->field_730[i]->invisible = FALSE;
|
||||
}
|
||||
sub_80920FC(TRUE);
|
||||
@@ -1438,17 +1438,17 @@ static void sub_8092164(struct Sprite *sprite)
|
||||
switch (sprite->data[0])
|
||||
{
|
||||
case 0:
|
||||
sprite->pos2.x = 0;
|
||||
sprite->x2 = 0;
|
||||
break;
|
||||
case 1:
|
||||
if (++sprite->data[1] > 3)
|
||||
{
|
||||
sprite->data[1] = 0;
|
||||
sprite->pos2.x += sprite->data[3];
|
||||
sprite->x2 += sprite->data[3];
|
||||
if (++sprite->data[2] > 5)
|
||||
{
|
||||
sprite->data[2] = 0;
|
||||
sprite->pos2.x = 0;
|
||||
sprite->x2 = 0;
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -1456,18 +1456,18 @@ static void sub_8092164(struct Sprite *sprite)
|
||||
sprite->data[0] = 3;
|
||||
break;
|
||||
case 3:
|
||||
sprite->pos1.x -= gPSSData->field_2CE;
|
||||
if (sprite->pos1.x < 73 || sprite->pos1.x > 247)
|
||||
sprite->x -= gPSSData->field_2CE;
|
||||
if (sprite->x < 73 || sprite->x > 247)
|
||||
sprite->invisible = TRUE;
|
||||
if (--sprite->data[1] == 0)
|
||||
{
|
||||
sprite->pos1.x = sprite->data[2];
|
||||
sprite->x = sprite->data[2];
|
||||
sprite->invisible = FALSE;
|
||||
sprite->data[0] = 4;
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
sprite->pos1.x -= gPSSData->field_2CE;
|
||||
sprite->x -= gPSSData->field_2CE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -149,35 +149,35 @@ bool8 sub_80924A8(void)
|
||||
{
|
||||
gPSSData->field_CBC += gPSSData->field_CC4;
|
||||
gPSSData->field_CC0 += gPSSData->field_CC8;
|
||||
gPSSData->field_CB4->pos1.x = gPSSData->field_CBC >> 8;
|
||||
gPSSData->field_CB4->pos1.y = gPSSData->field_CC0 >> 8;
|
||||
if (gPSSData->field_CB4->pos1.x > 0x100)
|
||||
gPSSData->field_CB4->x = gPSSData->field_CBC >> 8;
|
||||
gPSSData->field_CB4->y = gPSSData->field_CC0 >> 8;
|
||||
if (gPSSData->field_CB4->x > 0x100)
|
||||
{
|
||||
tmp = gPSSData->field_CB4->pos1.x - 0x100;
|
||||
gPSSData->field_CB4->pos1.x = tmp + 0x40;
|
||||
tmp = gPSSData->field_CB4->x - 0x100;
|
||||
gPSSData->field_CB4->x = tmp + 0x40;
|
||||
}
|
||||
if (gPSSData->field_CB4->pos1.x < 0x40)
|
||||
if (gPSSData->field_CB4->x < 0x40)
|
||||
{
|
||||
tmp = 0x40 - gPSSData->field_CB4->pos1.x;
|
||||
gPSSData->field_CB4->pos1.x = 0x100 - tmp;
|
||||
tmp = 0x40 - gPSSData->field_CB4->x;
|
||||
gPSSData->field_CB4->x = 0x100 - tmp;
|
||||
}
|
||||
if (gPSSData->field_CB4->pos1.y > 0xb0)
|
||||
if (gPSSData->field_CB4->y > 0xb0)
|
||||
{
|
||||
tmp = gPSSData->field_CB4->pos1.y - 0xb0;
|
||||
gPSSData->field_CB4->pos1.y = tmp - 0x10;
|
||||
tmp = gPSSData->field_CB4->y - 0xb0;
|
||||
gPSSData->field_CB4->y = tmp - 0x10;
|
||||
}
|
||||
if (gPSSData->field_CB4->pos1.y < -0x10)
|
||||
if (gPSSData->field_CB4->y < -0x10)
|
||||
{
|
||||
tmp = -0x10 - gPSSData->field_CB4->pos1.y;
|
||||
gPSSData->field_CB4->pos1.y = 0xb0 - tmp;
|
||||
tmp = -0x10 - gPSSData->field_CB4->y;
|
||||
gPSSData->field_CB4->y = 0xb0 - tmp;
|
||||
}
|
||||
if (gPSSData->field_CD7 && --gPSSData->field_CD7 == 0)
|
||||
gPSSData->field_CB4->vFlip = (gPSSData->field_CB4->vFlip == FALSE);
|
||||
}
|
||||
else
|
||||
{
|
||||
gPSSData->field_CB4->pos1.x = gPSSData->field_CCC;
|
||||
gPSSData->field_CB4->pos1.y = gPSSData->field_CCE;
|
||||
gPSSData->field_CB4->x = gPSSData->field_CCC;
|
||||
gPSSData->field_CB4->y = gPSSData->field_CCE;
|
||||
sub_80929B0();
|
||||
}
|
||||
|
||||
@@ -210,26 +210,26 @@ static void sub_8092660(void)
|
||||
switch (gPSSData->field_CD2)
|
||||
{
|
||||
default:
|
||||
r7 = gPSSData->field_CCE - gPSSData->field_CB4->pos1.y;
|
||||
r7 = gPSSData->field_CCE - gPSSData->field_CB4->y;
|
||||
break;
|
||||
case -1:
|
||||
r7 = gPSSData->field_CCE - 0xc0 - gPSSData->field_CB4->pos1.y;
|
||||
r7 = gPSSData->field_CCE - 0xc0 - gPSSData->field_CB4->y;
|
||||
break;
|
||||
case 1:
|
||||
r7 = gPSSData->field_CCE + 0xc0 - gPSSData->field_CB4->pos1.y;
|
||||
r7 = gPSSData->field_CCE + 0xc0 - gPSSData->field_CB4->y;
|
||||
break;
|
||||
}
|
||||
|
||||
switch (gPSSData->field_CD3)
|
||||
{
|
||||
default:
|
||||
r0 = gPSSData->field_CCC - gPSSData->field_CB4->pos1.x;
|
||||
r0 = gPSSData->field_CCC - gPSSData->field_CB4->x;
|
||||
break;
|
||||
case -1:
|
||||
r0 = gPSSData->field_CCC - 0xc0 - gPSSData->field_CB4->pos1.x;
|
||||
r0 = gPSSData->field_CCC - 0xc0 - gPSSData->field_CB4->x;
|
||||
break;
|
||||
case 1:
|
||||
r0 = gPSSData->field_CCC + 0xc0 - gPSSData->field_CB4->pos1.x;
|
||||
r0 = gPSSData->field_CCC + 0xc0 - gPSSData->field_CB4->x;
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -237,8 +237,8 @@ static void sub_8092660(void)
|
||||
r0 <<= 8;
|
||||
gPSSData->field_CC4 = r0 / gPSSData->field_CD0;
|
||||
gPSSData->field_CC8 = r7 / gPSSData->field_CD0;
|
||||
gPSSData->field_CBC = gPSSData->field_CB4->pos1.x << 8;
|
||||
gPSSData->field_CC0 = gPSSData->field_CB4->pos1.y << 8;
|
||||
gPSSData->field_CBC = gPSSData->field_CB4->x << 8;
|
||||
gPSSData->field_CC0 = gPSSData->field_CB4->y << 8;
|
||||
}
|
||||
|
||||
static void sub_80927E8(u8 newCurosrArea, u8 newCursorPosition)
|
||||
@@ -509,13 +509,13 @@ static bool8 sub_8092E10(void)
|
||||
|
||||
static bool8 sub_8092E20(void)
|
||||
{
|
||||
switch (gPSSData->field_CB4->pos2.y)
|
||||
switch (gPSSData->field_CB4->y2)
|
||||
{
|
||||
default:
|
||||
gPSSData->field_CB4->pos2.y++;
|
||||
gPSSData->field_CB4->y2++;
|
||||
break;
|
||||
case 0:
|
||||
gPSSData->field_CB4->pos2.y++;
|
||||
gPSSData->field_CB4->y2++;
|
||||
break;
|
||||
case 8:
|
||||
return FALSE;
|
||||
@@ -526,12 +526,12 @@ static bool8 sub_8092E20(void)
|
||||
|
||||
static bool8 sub_8092E54(void)
|
||||
{
|
||||
switch (gPSSData->field_CB4->pos2.y)
|
||||
switch (gPSSData->field_CB4->y2)
|
||||
{
|
||||
case 0:
|
||||
return FALSE;
|
||||
default:
|
||||
gPSSData->field_CB4->pos2.y--;
|
||||
gPSSData->field_CB4->y2--;
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -1862,8 +1862,8 @@ static bool8 sub_8094A0C(void)
|
||||
|
||||
static void sub_8094AB8(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x = gPSSData->field_CB4->pos1.x;
|
||||
sprite->pos1.y = gPSSData->field_CB4->pos1.y + 20;
|
||||
sprite->x = gPSSData->field_CB4->x;
|
||||
sprite->y = gPSSData->field_CB4->y + 20;
|
||||
}
|
||||
|
||||
static void sub_8094AD8(void)
|
||||
|
||||
@@ -447,20 +447,20 @@ static void sub_80962F0(u8 id, u8 cursorArea, u8 cursorPos)
|
||||
case CURSOR_AREA_IN_BOX:
|
||||
row = cursorPos % IN_BOX_ROWS;
|
||||
column = cursorPos / IN_BOX_ROWS;
|
||||
gPSSData->itemIconSprites[id].sprite->pos1.x = (24 * row) + 112;
|
||||
gPSSData->itemIconSprites[id].sprite->pos1.y = (24 * column) + 56;
|
||||
gPSSData->itemIconSprites[id].sprite->x = (24 * row) + 112;
|
||||
gPSSData->itemIconSprites[id].sprite->y = (24 * column) + 56;
|
||||
gPSSData->itemIconSprites[id].sprite->oam.priority = 2;
|
||||
break;
|
||||
case CURSOR_AREA_IN_PARTY:
|
||||
if (cursorPos == 0)
|
||||
{
|
||||
gPSSData->itemIconSprites[id].sprite->pos1.x = 116;
|
||||
gPSSData->itemIconSprites[id].sprite->pos1.y = 76;
|
||||
gPSSData->itemIconSprites[id].sprite->x = 116;
|
||||
gPSSData->itemIconSprites[id].sprite->y = 76;
|
||||
}
|
||||
else
|
||||
{
|
||||
gPSSData->itemIconSprites[id].sprite->pos1.x = 164;
|
||||
gPSSData->itemIconSprites[id].sprite->pos1.y = 24 * (cursorPos - 1) + 28;
|
||||
gPSSData->itemIconSprites[id].sprite->x = 164;
|
||||
gPSSData->itemIconSprites[id].sprite->y = 24 * (cursorPos - 1) + 28;
|
||||
}
|
||||
gPSSData->itemIconSprites[id].sprite->oam.priority = 1;
|
||||
break;
|
||||
@@ -641,8 +641,8 @@ static void sub_8096958(struct Sprite *sprite)
|
||||
switch (sprite->data[0])
|
||||
{
|
||||
case 0:
|
||||
sprite->data[1] = sprite->pos1.x << 4;
|
||||
sprite->data[2] = sprite->pos1.y << 4;
|
||||
sprite->data[1] = sprite->x << 4;
|
||||
sprite->data[2] = sprite->y << 4;
|
||||
sprite->data[3] = 10;
|
||||
sprite->data[4] = 21;
|
||||
sprite->data[5] = 0;
|
||||
@@ -650,8 +650,8 @@ static void sub_8096958(struct Sprite *sprite)
|
||||
case 1:
|
||||
sprite->data[1] -= sprite->data[3];
|
||||
sprite->data[2] -= sprite->data[4];
|
||||
sprite->pos1.x = sprite->data[1] >> 4;
|
||||
sprite->pos1.y = sprite->data[2] >> 4;
|
||||
sprite->x = sprite->data[1] >> 4;
|
||||
sprite->y = sprite->data[2] >> 4;
|
||||
if (++sprite->data[5] > 11)
|
||||
sprite->callback = sub_80969BC;
|
||||
break;
|
||||
@@ -660,8 +660,8 @@ static void sub_8096958(struct Sprite *sprite)
|
||||
|
||||
static void sub_80969BC(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x = gPSSData->field_CB4->pos1.x + 4;
|
||||
sprite->pos1.y = gPSSData->field_CB4->pos1.y + gPSSData->field_CB4->pos2.y + 8;
|
||||
sprite->x = gPSSData->field_CB4->x + 4;
|
||||
sprite->y = gPSSData->field_CB4->y + gPSSData->field_CB4->y2 + 8;
|
||||
sprite->oam.priority = gPSSData->field_CB4->oam.priority;
|
||||
}
|
||||
|
||||
@@ -670,8 +670,8 @@ static void sub_80969F4(struct Sprite *sprite)
|
||||
switch (sprite->data[0])
|
||||
{
|
||||
case 0:
|
||||
sprite->data[1] = sprite->pos1.x << 4;
|
||||
sprite->data[2] = sprite->pos1.y << 4;
|
||||
sprite->data[1] = sprite->x << 4;
|
||||
sprite->data[2] = sprite->y << 4;
|
||||
sprite->data[3] = 10;
|
||||
sprite->data[4] = 21;
|
||||
sprite->data[5] = 0;
|
||||
@@ -679,8 +679,8 @@ static void sub_80969F4(struct Sprite *sprite)
|
||||
case 1:
|
||||
sprite->data[1] += sprite->data[3];
|
||||
sprite->data[2] += sprite->data[4];
|
||||
sprite->pos1.x = sprite->data[1] >> 4;
|
||||
sprite->pos1.y = sprite->data[2] >> 4;
|
||||
sprite->x = sprite->data[1] >> 4;
|
||||
sprite->y = sprite->data[2] >> 4;
|
||||
if (++sprite->data[5] > 11)
|
||||
{
|
||||
sub_80962F0(sub_80962A8(sprite), sprite->data[6], sprite->data[7]);
|
||||
@@ -695,8 +695,8 @@ static void sub_8096A74(struct Sprite *sprite)
|
||||
switch (sprite->data[0])
|
||||
{
|
||||
case 0:
|
||||
sprite->data[1] = sprite->pos1.x << 4;
|
||||
sprite->data[2] = sprite->pos1.y << 4;
|
||||
sprite->data[1] = sprite->x << 4;
|
||||
sprite->data[2] = sprite->y << 4;
|
||||
sprite->data[3] = 10;
|
||||
sprite->data[4] = 21;
|
||||
sprite->data[5] = 0;
|
||||
@@ -704,13 +704,13 @@ static void sub_8096A74(struct Sprite *sprite)
|
||||
case 1:
|
||||
sprite->data[1] -= sprite->data[3];
|
||||
sprite->data[2] -= sprite->data[4];
|
||||
sprite->pos1.x = sprite->data[1] >> 4;
|
||||
sprite->pos1.y = sprite->data[2] >> 4;
|
||||
sprite->pos2.x = gSineTable[sprite->data[5] * 8] >> 4;
|
||||
sprite->x = sprite->data[1] >> 4;
|
||||
sprite->y = sprite->data[2] >> 4;
|
||||
sprite->x2 = gSineTable[sprite->data[5] * 8] >> 4;
|
||||
if (++sprite->data[5] > 11)
|
||||
{
|
||||
sub_80962F0(sub_80962A8(sprite), sprite->data[6], sprite->data[7]);
|
||||
sprite->pos2.x = 0;
|
||||
sprite->x2 = 0;
|
||||
sprite->callback = sub_80969BC;
|
||||
}
|
||||
break;
|
||||
@@ -722,8 +722,8 @@ static void sub_8096B10(struct Sprite *sprite)
|
||||
switch (sprite->data[0])
|
||||
{
|
||||
case 0:
|
||||
sprite->data[1] = sprite->pos1.x << 4;
|
||||
sprite->data[2] = sprite->pos1.y << 4;
|
||||
sprite->data[1] = sprite->x << 4;
|
||||
sprite->data[2] = sprite->y << 4;
|
||||
sprite->data[3] = 10;
|
||||
sprite->data[4] = 21;
|
||||
sprite->data[5] = 0;
|
||||
@@ -731,14 +731,14 @@ static void sub_8096B10(struct Sprite *sprite)
|
||||
case 1:
|
||||
sprite->data[1] += sprite->data[3];
|
||||
sprite->data[2] += sprite->data[4];
|
||||
sprite->pos1.x = sprite->data[1] >> 4;
|
||||
sprite->pos1.y = sprite->data[2] >> 4;
|
||||
sprite->pos2.x = -(gSineTable[sprite->data[5] * 8] >> 4);
|
||||
sprite->x = sprite->data[1] >> 4;
|
||||
sprite->y = sprite->data[2] >> 4;
|
||||
sprite->x2 = -(gSineTable[sprite->data[5] * 8] >> 4);
|
||||
if (++sprite->data[5] > 11)
|
||||
{
|
||||
sub_80962F0(sub_80962A8(sprite), sprite->data[6], sprite->data[7]);
|
||||
sprite->callback = SpriteCallbackDummy;
|
||||
sprite->pos2.x = 0;
|
||||
sprite->x2 = 0;
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -746,8 +746,8 @@ static void sub_8096B10(struct Sprite *sprite)
|
||||
|
||||
static void sub_8096BAC(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.y -= 8;
|
||||
if (sprite->pos1.y + sprite->pos2.y < -16)
|
||||
sprite->y -= 8;
|
||||
if (sprite->y + sprite->y2 < -16)
|
||||
{
|
||||
sprite->callback = SpriteCallbackDummy;
|
||||
sub_8096624(sub_80962A8(sprite), FALSE);
|
||||
|
||||
@@ -1532,12 +1532,12 @@ static void PokeSum_SetHpExpBarCoordsFullRight(void)
|
||||
for (i = 0; i < 11; i++)
|
||||
{
|
||||
sExpBarObjs->xpos[i] = (8 * i) + 396;
|
||||
sExpBarObjs->sprites[i]->pos1.x = sExpBarObjs->xpos[i];
|
||||
sExpBarObjs->sprites[i]->x = sExpBarObjs->xpos[i];
|
||||
if (i >= 9)
|
||||
continue;
|
||||
|
||||
sHpBarObjs->xpos[i] = (8 * i) + 412;
|
||||
sHpBarObjs->sprites[i]->pos1.x = sHpBarObjs->xpos[i];
|
||||
sHpBarObjs->sprites[i]->x = sHpBarObjs->xpos[i];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1547,11 +1547,11 @@ static void PokeSum_SetHpExpBarCoordsFullLeft(void)
|
||||
for (i = 0; i < 11; i++)
|
||||
{
|
||||
sExpBarObjs->xpos[i] = (8 * i) + 156;
|
||||
sExpBarObjs->sprites[i]->pos1.x = sExpBarObjs->xpos[i];
|
||||
sExpBarObjs->sprites[i]->x = sExpBarObjs->xpos[i];
|
||||
if (i >= 9)
|
||||
continue;
|
||||
sHpBarObjs->xpos[i] = (8 * i) + 172;
|
||||
sHpBarObjs->sprites[i]->pos1.x = sHpBarObjs->xpos[i];
|
||||
sHpBarObjs->sprites[i]->x = sHpBarObjs->xpos[i];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3010,7 +3010,7 @@ static void PokeSum_FlipPages_SlideHpExpBarsOut(void)
|
||||
if (sExpBarObjs->xpos[i] < 240)
|
||||
{
|
||||
sExpBarObjs->xpos[i] += 60;
|
||||
sExpBarObjs->sprites[i]->pos1.x = sExpBarObjs->xpos[i] + 60;
|
||||
sExpBarObjs->sprites[i]->x = sExpBarObjs->xpos[i] + 60;
|
||||
}
|
||||
|
||||
if (i >= 9)
|
||||
@@ -3019,7 +3019,7 @@ static void PokeSum_FlipPages_SlideHpExpBarsOut(void)
|
||||
if (sHpBarObjs->xpos[i] < 240)
|
||||
{
|
||||
sHpBarObjs->xpos[i] += 60;
|
||||
sHpBarObjs->sprites[i]->pos1.x = sHpBarObjs->xpos[i] + 60;
|
||||
sHpBarObjs->sprites[i]->x = sHpBarObjs->xpos[i] + 60;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3037,7 +3037,7 @@ static void PokeSum_FlipPages_SlideHpExpBarsIn(void)
|
||||
if (sExpBarObjs->xpos[i] < 156 + (8 * i))
|
||||
sExpBarObjs->xpos[i] = 156 + (8 * i);
|
||||
|
||||
sExpBarObjs->sprites[i]->pos1.x = sExpBarObjs->xpos[i];
|
||||
sExpBarObjs->sprites[i]->x = sExpBarObjs->xpos[i];
|
||||
}
|
||||
|
||||
if (i >= 9)
|
||||
@@ -3050,7 +3050,7 @@ static void PokeSum_FlipPages_SlideHpExpBarsIn(void)
|
||||
if (sHpBarObjs->xpos[i] < 172 + (8 * i))
|
||||
sHpBarObjs->xpos[i] = 172 + (8 * i);
|
||||
|
||||
sHpBarObjs->sprites[i]->pos1.x = sHpBarObjs->xpos[i];
|
||||
sHpBarObjs->sprites[i]->x = sHpBarObjs->xpos[i];
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3925,20 +3925,20 @@ static void SpriteCB_PokeSum_MonPicSprite(struct Sprite * sprite)
|
||||
switch (sMonPicBounceState->vigor)
|
||||
{
|
||||
case 0:
|
||||
sprite->pos1.y += sMonPicBounceYDelta_Under60[sMonPicBounceState->animFrame++];
|
||||
sprite->y += sMonPicBounceYDelta_Under60[sMonPicBounceState->animFrame++];
|
||||
arrayLen = NELEMS(sMonPicBounceYDelta_Under60);
|
||||
break;
|
||||
case 1:
|
||||
sprite->pos1.y += sMonPicBounceYDelta_60to80[sMonPicBounceState->animFrame++];
|
||||
sprite->y += sMonPicBounceYDelta_60to80[sMonPicBounceState->animFrame++];
|
||||
arrayLen = NELEMS(sMonPicBounceYDelta_60to80);
|
||||
break;
|
||||
case 2:
|
||||
sprite->pos1.y += sMonPicBounceYDelta_80to99[sMonPicBounceState->animFrame++];
|
||||
sprite->y += sMonPicBounceYDelta_80to99[sMonPicBounceState->animFrame++];
|
||||
arrayLen = NELEMS(sMonPicBounceYDelta_80to99);
|
||||
break;
|
||||
case 3:
|
||||
default:
|
||||
sprite->pos1.y += sMonPicBounceYDelta_Full[sMonPicBounceState->animFrame++];
|
||||
sprite->y += sMonPicBounceYDelta_Full[sMonPicBounceState->animFrame++];
|
||||
arrayLen = NELEMS(sMonPicBounceYDelta_Full);
|
||||
break;
|
||||
}
|
||||
@@ -3964,7 +3964,7 @@ static void SpriteCB_PokeSum_EggPicShake(struct Sprite * sprite)
|
||||
default:
|
||||
if (sMonPicBounceState->initDelay++ >= 120)
|
||||
{
|
||||
sprite->pos1.x += sEggPicShakeXDelta_ItWillTakeSomeTime[sMonPicBounceState->animFrame];
|
||||
sprite->x += sEggPicShakeXDelta_ItWillTakeSomeTime[sMonPicBounceState->animFrame];
|
||||
if (++sMonPicBounceState->animFrame >= NELEMS(sEggPicShakeXDelta_ItWillTakeSomeTime))
|
||||
{
|
||||
sMonPicBounceState->animFrame = 0;
|
||||
@@ -3976,7 +3976,7 @@ static void SpriteCB_PokeSum_EggPicShake(struct Sprite * sprite)
|
||||
case 1:
|
||||
if (sMonPicBounceState->initDelay++ >= 90)
|
||||
{
|
||||
sprite->pos1.x += sEggPicShakeXDelta_OccasionallyMoves[sMonPicBounceState->animFrame];
|
||||
sprite->x += sEggPicShakeXDelta_OccasionallyMoves[sMonPicBounceState->animFrame];
|
||||
if (++sMonPicBounceState->animFrame >= NELEMS(sEggPicShakeXDelta_OccasionallyMoves))
|
||||
{
|
||||
sMonPicBounceState->animFrame = 0;
|
||||
@@ -3988,7 +3988,7 @@ static void SpriteCB_PokeSum_EggPicShake(struct Sprite * sprite)
|
||||
case 2:
|
||||
if (sMonPicBounceState->initDelay++ >= 60)
|
||||
{
|
||||
sprite->pos1.x += sEggPicShakeXDelta_AlmostReadyToHatch[sMonPicBounceState->animFrame];
|
||||
sprite->x += sEggPicShakeXDelta_AlmostReadyToHatch[sMonPicBounceState->animFrame];
|
||||
if (++sMonPicBounceState->animFrame >= NELEMS(sEggPicShakeXDelta_AlmostReadyToHatch))
|
||||
{
|
||||
sMonPicBounceState->animFrame = 0;
|
||||
@@ -4252,7 +4252,7 @@ static void SpriteCB_MoveSelectionCursor(struct Sprite * sprite)
|
||||
if (sMonSummaryScreen->isSwappingMoves == TRUE && i > 1)
|
||||
continue;
|
||||
|
||||
sMoveSelectionCursorObjs[i]->sprite->pos1.y = sMoveSelectionCursorPos * 28 + 34;
|
||||
sMoveSelectionCursorObjs[i]->sprite->y = sMoveSelectionCursorPos * 28 + 34;
|
||||
}
|
||||
|
||||
if (sMonSummaryScreen->isSwappingMoves != TRUE)
|
||||
@@ -4373,17 +4373,17 @@ static void ShowOrHideStatusIcon(u8 invisible)
|
||||
|
||||
if (sMonSummaryScreen->curPageIndex == PSS_PAGE_MOVES_INFO)
|
||||
{
|
||||
if (sStatusIcon->sprite->pos1.y != 45)
|
||||
if (sStatusIcon->sprite->y != 45)
|
||||
{
|
||||
sStatusIcon->sprite->pos1.x = 16;
|
||||
sStatusIcon->sprite->pos1.y = 45;
|
||||
sStatusIcon->sprite->x = 16;
|
||||
sStatusIcon->sprite->y = 45;
|
||||
return;
|
||||
}
|
||||
}
|
||||
else if (sStatusIcon->sprite->pos1.y != 38)
|
||||
else if (sStatusIcon->sprite->y != 38)
|
||||
{
|
||||
sStatusIcon->sprite->pos1.x = 16;
|
||||
sStatusIcon->sprite->pos1.y = 38;
|
||||
sStatusIcon->sprite->x = 16;
|
||||
sStatusIcon->sprite->y = 38;
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -4755,13 +4755,13 @@ static void HideShowPokerusIcon(bool8 invisible)
|
||||
if (sMonSummaryScreen->curPageIndex == PSS_PAGE_MOVES_INFO)
|
||||
{
|
||||
sPokerusIconObj->sprite->invisible = TRUE;
|
||||
sPokerusIconObj->sprite->pos1.x = 16;
|
||||
sPokerusIconObj->sprite->pos1.y = 44;
|
||||
sPokerusIconObj->sprite->x = 16;
|
||||
sPokerusIconObj->sprite->y = 44;
|
||||
}
|
||||
else
|
||||
{
|
||||
sPokerusIconObj->sprite->pos1.x = 114;
|
||||
sPokerusIconObj->sprite->pos1.y = 92;
|
||||
sPokerusIconObj->sprite->x = 114;
|
||||
sPokerusIconObj->sprite->y = 92;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4826,13 +4826,13 @@ static void HideShowShinyStar(bool8 invisible)
|
||||
|
||||
if (sMonSummaryScreen->curPageIndex == PSS_PAGE_MOVES_INFO)
|
||||
{
|
||||
sShinyStarObjData->sprite->pos1.x = 8;
|
||||
sShinyStarObjData->sprite->pos1.y = 24;
|
||||
sShinyStarObjData->sprite->x = 8;
|
||||
sShinyStarObjData->sprite->y = 24;
|
||||
}
|
||||
else
|
||||
{
|
||||
sShinyStarObjData->sprite->pos1.x = 106;
|
||||
sShinyStarObjData->sprite->pos1.y = 40;
|
||||
sShinyStarObjData->sprite->x = 106;
|
||||
sShinyStarObjData->sprite->y = 40;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4884,8 +4884,8 @@ static void PokeSum_CreateMonMarkingsSprite(void)
|
||||
if (sMonSummaryScreen->markingSprite != NULL)
|
||||
{
|
||||
StartSpriteAnim(sMonSummaryScreen->markingSprite, markings);
|
||||
sMonSummaryScreen->markingSprite->pos1.x = 20;
|
||||
sMonSummaryScreen->markingSprite->pos1.y = 91;
|
||||
sMonSummaryScreen->markingSprite->x = 20;
|
||||
sMonSummaryScreen->markingSprite->y = 91;
|
||||
}
|
||||
|
||||
PokeSum_ShowOrHideMonMarkingsSprite(TRUE);
|
||||
|
||||
+37
-37
@@ -440,24 +440,24 @@ static void AnimDefensiveWall(struct Sprite *sprite)
|
||||
{
|
||||
if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
|
||||
{
|
||||
sprite->pos1.x = 72;
|
||||
sprite->pos1.y = 80;
|
||||
sprite->x = 72;
|
||||
sprite->y = 80;
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos1.x = 176;
|
||||
sprite->pos1.y = 40;
|
||||
sprite->x = 176;
|
||||
sprite->y = 40;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
gBattleAnimArgs[0] = -gBattleAnimArgs[0];
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X) + gBattleAnimArgs[0];
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y) + gBattleAnimArgs[1];
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X) + gBattleAnimArgs[0];
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y) + gBattleAnimArgs[1];
|
||||
}
|
||||
if (IsContest())
|
||||
sprite->pos1.y += 9;
|
||||
sprite->y += 9;
|
||||
sprite->data[0] = 256 + IndexOfSpritePaletteTag(gBattleAnimArgs[2]) * 16;
|
||||
sprite->callback = sub_80B300C;
|
||||
sub_80B300C(sprite);
|
||||
@@ -543,13 +543,13 @@ static void AnimWallSparkle(struct Sprite *sprite)
|
||||
{
|
||||
if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
|
||||
{
|
||||
sprite->pos1.x = 72 - gBattleAnimArgs[0];
|
||||
sprite->pos1.y = gBattleAnimArgs[1] + 80;
|
||||
sprite->x = 72 - gBattleAnimArgs[0];
|
||||
sprite->y = gBattleAnimArgs[1] + 80;
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos1.x = gBattleAnimArgs[0] + 176;
|
||||
sprite->pos1.y = gBattleAnimArgs[1] + 40;
|
||||
sprite->x = gBattleAnimArgs[0] + 176;
|
||||
sprite->y = gBattleAnimArgs[1] + 40;
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -570,19 +570,19 @@ static void AnimWallSparkle(struct Sprite *sprite)
|
||||
|
||||
static void AnimBentSpoon(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
{
|
||||
StartSpriteAnim(sprite, 1);
|
||||
sprite->pos1.x -= 40;
|
||||
sprite->pos1.y += 10;
|
||||
sprite->x -= 40;
|
||||
sprite->y += 10;
|
||||
sprite->data[1] = -1;
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos1.x += 40;
|
||||
sprite->pos1.y -= 10;
|
||||
sprite->x += 40;
|
||||
sprite->y -= 10;
|
||||
sprite->data[1] = 1;
|
||||
}
|
||||
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
|
||||
@@ -596,10 +596,10 @@ static void AnimQuestionMark(struct Sprite *sprite)
|
||||
|
||||
if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT)
|
||||
x = -x;
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) + x;
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + y;
|
||||
if (sprite->pos1.y < 16)
|
||||
sprite->pos1.y = 16;
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) + x;
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + y;
|
||||
if (sprite->y < 16)
|
||||
sprite->y = 16;
|
||||
StoreSpriteCallbackInData6(sprite, sub_80B3384);
|
||||
sprite->callback = RunStoredCallbackWhenAnimEnds;
|
||||
}
|
||||
@@ -676,13 +676,13 @@ static void sub_80B34DC(u8 taskId)
|
||||
case 1:
|
||||
if (task->data[3] != 0)
|
||||
{
|
||||
gSprites[task->data[0]].pos2.y -= 8;
|
||||
gSprites[task->data[0]].y2 -= 8;
|
||||
--task->data[3];
|
||||
}
|
||||
else
|
||||
{
|
||||
gSprites[task->data[0]].invisible = TRUE;
|
||||
gSprites[task->data[0]].pos1.x = 272;
|
||||
gSprites[task->data[0]].x = 272;
|
||||
ResetSpriteRotScale(task->data[0]);
|
||||
DestroyAnimVisualTask(taskId);
|
||||
}
|
||||
@@ -726,20 +726,20 @@ static void sub_80B3618(u8 taskId)
|
||||
switch (task->data[2])
|
||||
{
|
||||
case 0:
|
||||
gSprites[spriteId].pos2.x = task->data[12];
|
||||
gSprites[spriteId].pos2.y = -task->data[12];
|
||||
gSprites[spriteId].x2 = task->data[12];
|
||||
gSprites[spriteId].y2 = -task->data[12];
|
||||
break;
|
||||
case 1:
|
||||
gSprites[spriteId].pos2.x = -task->data[12];
|
||||
gSprites[spriteId].pos2.y = task->data[12];
|
||||
gSprites[spriteId].x2 = -task->data[12];
|
||||
gSprites[spriteId].y2 = task->data[12];
|
||||
break;
|
||||
case 2:
|
||||
gSprites[spriteId].pos2.x = task->data[12];
|
||||
gSprites[spriteId].pos2.y = task->data[12];
|
||||
gSprites[spriteId].x2 = task->data[12];
|
||||
gSprites[spriteId].y2 = task->data[12];
|
||||
break;
|
||||
case 3:
|
||||
gSprites[spriteId].pos2.x = -task->data[12];
|
||||
gSprites[spriteId].pos2.y = -task->data[12];
|
||||
gSprites[spriteId].x2 = -task->data[12];
|
||||
gSprites[spriteId].y2 = -task->data[12];
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -786,8 +786,8 @@ static void AnimRedX(struct Sprite *sprite)
|
||||
{
|
||||
if (gBattleAnimArgs[0] == 0)
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
}
|
||||
sprite->data[0] = gBattleAnimArgs[1];
|
||||
sprite->callback = sub_80B37A4;
|
||||
@@ -1039,10 +1039,10 @@ static void AnimPsychoBoost(struct Sprite *sprite)
|
||||
switch (sprite->data[0])
|
||||
{
|
||||
case 0:
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y);
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y);
|
||||
if (IsContest())
|
||||
sprite->pos1.y += 12;
|
||||
sprite->y += 12;
|
||||
sprite->data[1] = 8;
|
||||
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND);
|
||||
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(sprite->data[1], 16 - sprite->data[1]));
|
||||
@@ -1069,7 +1069,7 @@ static void AnimPsychoBoost(struct Sprite *sprite)
|
||||
}
|
||||
}
|
||||
sprite->data[3] += 0x380;
|
||||
sprite->pos2.y -= sprite->data[3] >> 8;
|
||||
sprite->y2 -= sprite->data[3] >> 8;
|
||||
sprite->data[3] &= 0xFF;
|
||||
break;
|
||||
case 3:
|
||||
|
||||
@@ -127,8 +127,8 @@ static void Task_QLFishMovement(u8 taskId)
|
||||
else
|
||||
QL_SetObjectGraphicsId(objectEvent, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_GFX_RIDE));
|
||||
ObjectEventTurn(objectEvent, objectEvent->movementDirection);
|
||||
sprite->pos2.x = 0;
|
||||
sprite->pos2.y = 0;
|
||||
sprite->x2 = 0;
|
||||
sprite->y2 = 0;
|
||||
ScriptContext2_Disable();
|
||||
DestroyTask(taskId);
|
||||
}
|
||||
|
||||
+73
-73
@@ -2279,7 +2279,7 @@ static bool8 HandleSwitchMapInput(void)
|
||||
|
||||
static void SpriteCB_SwitchMapCursor(struct Sprite * sprite)
|
||||
{
|
||||
sprite->pos1.y = sSwitchMapMenu->highlight.top + 16;
|
||||
sprite->y = sSwitchMapMenu->highlight.top + 16;
|
||||
}
|
||||
|
||||
static bool8 CreateSwitchMapCursor(void)
|
||||
@@ -2781,8 +2781,8 @@ static void FreeMapEdgeSprites(void)
|
||||
u8 i;
|
||||
for (i = 0; i < NELEMS(sMapOpenCloseAnim->mapEdges); i++)
|
||||
{
|
||||
sMapOpenCloseAnim->mapEdges[i]->x = sMapOpenCloseAnim->mapEdges[i]->sprite->pos1.x;
|
||||
sMapOpenCloseAnim->mapEdges[i]->y = sMapOpenCloseAnim->mapEdges[i]->sprite->pos1.y;
|
||||
sMapOpenCloseAnim->mapEdges[i]->x = sMapOpenCloseAnim->mapEdges[i]->sprite->x;
|
||||
sMapOpenCloseAnim->mapEdges[i]->y = sMapOpenCloseAnim->mapEdges[i]->sprite->y;
|
||||
if (sMapOpenCloseAnim->mapEdges[i]->sprite != NULL)
|
||||
{
|
||||
DestroySprite(sMapOpenCloseAnim->mapEdges[i]->sprite);
|
||||
@@ -2903,54 +2903,54 @@ static void Task_MapOpenAnim(u8 taskId)
|
||||
static bool8 MoveMapEdgesOutward(void)
|
||||
{
|
||||
sub_80C2B48();
|
||||
if (sMapOpenCloseAnim->mapEdges[0]->sprite->pos1.x == 0)
|
||||
if (sMapOpenCloseAnim->mapEdges[0]->sprite->x == 0)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
else if (sMapOpenCloseAnim->moveState > 17)
|
||||
{
|
||||
sMapOpenCloseAnim->mapEdges[0]->sprite->pos1.x -= 1;
|
||||
sMapOpenCloseAnim->mapEdges[1]->sprite->pos1.x -= 1;
|
||||
sMapOpenCloseAnim->mapEdges[2]->sprite->pos1.x -= 1;
|
||||
sMapOpenCloseAnim->mapEdges[3]->sprite->pos1.x += 1;
|
||||
sMapOpenCloseAnim->mapEdges[4]->sprite->pos1.x += 1;
|
||||
sMapOpenCloseAnim->mapEdges[5]->sprite->pos1.x += 1;
|
||||
sMapOpenCloseAnim->mapEdges[0]->sprite->x -= 1;
|
||||
sMapOpenCloseAnim->mapEdges[1]->sprite->x -= 1;
|
||||
sMapOpenCloseAnim->mapEdges[2]->sprite->x -= 1;
|
||||
sMapOpenCloseAnim->mapEdges[3]->sprite->x += 1;
|
||||
sMapOpenCloseAnim->mapEdges[4]->sprite->x += 1;
|
||||
sMapOpenCloseAnim->mapEdges[5]->sprite->x += 1;
|
||||
}
|
||||
else if (sMapOpenCloseAnim->moveState > 14)
|
||||
{
|
||||
sMapOpenCloseAnim->mapEdges[0]->sprite->pos1.x -= 2;
|
||||
sMapOpenCloseAnim->mapEdges[1]->sprite->pos1.x -= 2;
|
||||
sMapOpenCloseAnim->mapEdges[2]->sprite->pos1.x -= 2;
|
||||
sMapOpenCloseAnim->mapEdges[3]->sprite->pos1.x += 2;
|
||||
sMapOpenCloseAnim->mapEdges[4]->sprite->pos1.x += 2;
|
||||
sMapOpenCloseAnim->mapEdges[5]->sprite->pos1.x += 2;
|
||||
sMapOpenCloseAnim->mapEdges[0]->sprite->x -= 2;
|
||||
sMapOpenCloseAnim->mapEdges[1]->sprite->x -= 2;
|
||||
sMapOpenCloseAnim->mapEdges[2]->sprite->x -= 2;
|
||||
sMapOpenCloseAnim->mapEdges[3]->sprite->x += 2;
|
||||
sMapOpenCloseAnim->mapEdges[4]->sprite->x += 2;
|
||||
sMapOpenCloseAnim->mapEdges[5]->sprite->x += 2;
|
||||
}
|
||||
else if (sMapOpenCloseAnim->moveState > 10)
|
||||
{
|
||||
sMapOpenCloseAnim->mapEdges[0]->sprite->pos1.x -= 3;
|
||||
sMapOpenCloseAnim->mapEdges[1]->sprite->pos1.x -= 3;
|
||||
sMapOpenCloseAnim->mapEdges[2]->sprite->pos1.x -= 3;
|
||||
sMapOpenCloseAnim->mapEdges[3]->sprite->pos1.x += 3;
|
||||
sMapOpenCloseAnim->mapEdges[4]->sprite->pos1.x += 3;
|
||||
sMapOpenCloseAnim->mapEdges[5]->sprite->pos1.x += 3;
|
||||
sMapOpenCloseAnim->mapEdges[0]->sprite->x -= 3;
|
||||
sMapOpenCloseAnim->mapEdges[1]->sprite->x -= 3;
|
||||
sMapOpenCloseAnim->mapEdges[2]->sprite->x -= 3;
|
||||
sMapOpenCloseAnim->mapEdges[3]->sprite->x += 3;
|
||||
sMapOpenCloseAnim->mapEdges[4]->sprite->x += 3;
|
||||
sMapOpenCloseAnim->mapEdges[5]->sprite->x += 3;
|
||||
}
|
||||
else if (sMapOpenCloseAnim->moveState > 6)
|
||||
{
|
||||
sMapOpenCloseAnim->mapEdges[0]->sprite->pos1.x -= 5;
|
||||
sMapOpenCloseAnim->mapEdges[1]->sprite->pos1.x -= 5;
|
||||
sMapOpenCloseAnim->mapEdges[2]->sprite->pos1.x -= 5;
|
||||
sMapOpenCloseAnim->mapEdges[3]->sprite->pos1.x += 5;
|
||||
sMapOpenCloseAnim->mapEdges[4]->sprite->pos1.x += 5;
|
||||
sMapOpenCloseAnim->mapEdges[5]->sprite->pos1.x += 5;
|
||||
sMapOpenCloseAnim->mapEdges[0]->sprite->x -= 5;
|
||||
sMapOpenCloseAnim->mapEdges[1]->sprite->x -= 5;
|
||||
sMapOpenCloseAnim->mapEdges[2]->sprite->x -= 5;
|
||||
sMapOpenCloseAnim->mapEdges[3]->sprite->x += 5;
|
||||
sMapOpenCloseAnim->mapEdges[4]->sprite->x += 5;
|
||||
sMapOpenCloseAnim->mapEdges[5]->sprite->x += 5;
|
||||
}
|
||||
else
|
||||
{
|
||||
sMapOpenCloseAnim->mapEdges[0]->sprite->pos1.x -= 8;
|
||||
sMapOpenCloseAnim->mapEdges[1]->sprite->pos1.x -= 8;
|
||||
sMapOpenCloseAnim->mapEdges[2]->sprite->pos1.x -= 8;
|
||||
sMapOpenCloseAnim->mapEdges[3]->sprite->pos1.x += 8;
|
||||
sMapOpenCloseAnim->mapEdges[4]->sprite->pos1.x += 8;
|
||||
sMapOpenCloseAnim->mapEdges[5]->sprite->pos1.x += 8;
|
||||
sMapOpenCloseAnim->mapEdges[0]->sprite->x -= 8;
|
||||
sMapOpenCloseAnim->mapEdges[1]->sprite->x -= 8;
|
||||
sMapOpenCloseAnim->mapEdges[2]->sprite->x -= 8;
|
||||
sMapOpenCloseAnim->mapEdges[3]->sprite->x += 8;
|
||||
sMapOpenCloseAnim->mapEdges[4]->sprite->x += 8;
|
||||
sMapOpenCloseAnim->mapEdges[5]->sprite->x += 8;
|
||||
}
|
||||
sMapOpenCloseAnim->moveState++;
|
||||
return FALSE;
|
||||
@@ -2959,9 +2959,9 @@ static bool8 MoveMapEdgesOutward(void)
|
||||
static void sub_80C2B48(void)
|
||||
{
|
||||
struct GpuWindowParams data;
|
||||
data.left = sMapOpenCloseAnim->mapEdges[0]->sprite->pos1.x;
|
||||
data.left = sMapOpenCloseAnim->mapEdges[0]->sprite->x;
|
||||
data.top = 16;
|
||||
data.right = sMapOpenCloseAnim->mapEdges[3]->sprite->pos1.x;
|
||||
data.right = sMapOpenCloseAnim->mapEdges[3]->sprite->x;
|
||||
data.bottom = 160;
|
||||
SetGpuWindowDims(0, &data);
|
||||
}
|
||||
@@ -3059,54 +3059,54 @@ static void Task_MapCloseAnim(u8 taskId)
|
||||
static bool8 MoveMapEdgesInward(void)
|
||||
{
|
||||
sub_80C2B48();
|
||||
if (sMapOpenCloseAnim->mapEdges[0]->sprite->pos1.x == 104)
|
||||
if (sMapOpenCloseAnim->mapEdges[0]->sprite->x == 104)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
else if (sMapOpenCloseAnim->moveState > 17)
|
||||
{
|
||||
sMapOpenCloseAnim->mapEdges[0]->sprite->pos1.x += 1;
|
||||
sMapOpenCloseAnim->mapEdges[1]->sprite->pos1.x += 1;
|
||||
sMapOpenCloseAnim->mapEdges[2]->sprite->pos1.x += 1;
|
||||
sMapOpenCloseAnim->mapEdges[3]->sprite->pos1.x -= 1;
|
||||
sMapOpenCloseAnim->mapEdges[4]->sprite->pos1.x -= 1;
|
||||
sMapOpenCloseAnim->mapEdges[5]->sprite->pos1.x -= 1;
|
||||
sMapOpenCloseAnim->mapEdges[0]->sprite->x += 1;
|
||||
sMapOpenCloseAnim->mapEdges[1]->sprite->x += 1;
|
||||
sMapOpenCloseAnim->mapEdges[2]->sprite->x += 1;
|
||||
sMapOpenCloseAnim->mapEdges[3]->sprite->x -= 1;
|
||||
sMapOpenCloseAnim->mapEdges[4]->sprite->x -= 1;
|
||||
sMapOpenCloseAnim->mapEdges[5]->sprite->x -= 1;
|
||||
}
|
||||
else if (sMapOpenCloseAnim->moveState > 14)
|
||||
{
|
||||
sMapOpenCloseAnim->mapEdges[0]->sprite->pos1.x += 2;
|
||||
sMapOpenCloseAnim->mapEdges[1]->sprite->pos1.x += 2;
|
||||
sMapOpenCloseAnim->mapEdges[2]->sprite->pos1.x += 2;
|
||||
sMapOpenCloseAnim->mapEdges[3]->sprite->pos1.x -= 2;
|
||||
sMapOpenCloseAnim->mapEdges[4]->sprite->pos1.x -= 2;
|
||||
sMapOpenCloseAnim->mapEdges[5]->sprite->pos1.x -= 2;
|
||||
sMapOpenCloseAnim->mapEdges[0]->sprite->x += 2;
|
||||
sMapOpenCloseAnim->mapEdges[1]->sprite->x += 2;
|
||||
sMapOpenCloseAnim->mapEdges[2]->sprite->x += 2;
|
||||
sMapOpenCloseAnim->mapEdges[3]->sprite->x -= 2;
|
||||
sMapOpenCloseAnim->mapEdges[4]->sprite->x -= 2;
|
||||
sMapOpenCloseAnim->mapEdges[5]->sprite->x -= 2;
|
||||
}
|
||||
else if (sMapOpenCloseAnim->moveState > 10)
|
||||
{
|
||||
sMapOpenCloseAnim->mapEdges[0]->sprite->pos1.x += 3;
|
||||
sMapOpenCloseAnim->mapEdges[1]->sprite->pos1.x += 3;
|
||||
sMapOpenCloseAnim->mapEdges[2]->sprite->pos1.x += 3;
|
||||
sMapOpenCloseAnim->mapEdges[3]->sprite->pos1.x -= 3;
|
||||
sMapOpenCloseAnim->mapEdges[4]->sprite->pos1.x -= 3;
|
||||
sMapOpenCloseAnim->mapEdges[5]->sprite->pos1.x -= 3;
|
||||
sMapOpenCloseAnim->mapEdges[0]->sprite->x += 3;
|
||||
sMapOpenCloseAnim->mapEdges[1]->sprite->x += 3;
|
||||
sMapOpenCloseAnim->mapEdges[2]->sprite->x += 3;
|
||||
sMapOpenCloseAnim->mapEdges[3]->sprite->x -= 3;
|
||||
sMapOpenCloseAnim->mapEdges[4]->sprite->x -= 3;
|
||||
sMapOpenCloseAnim->mapEdges[5]->sprite->x -= 3;
|
||||
}
|
||||
else if (sMapOpenCloseAnim->moveState > 6)
|
||||
{
|
||||
sMapOpenCloseAnim->mapEdges[0]->sprite->pos1.x += 5;
|
||||
sMapOpenCloseAnim->mapEdges[1]->sprite->pos1.x += 5;
|
||||
sMapOpenCloseAnim->mapEdges[2]->sprite->pos1.x += 5;
|
||||
sMapOpenCloseAnim->mapEdges[3]->sprite->pos1.x -= 5;
|
||||
sMapOpenCloseAnim->mapEdges[4]->sprite->pos1.x -= 5;
|
||||
sMapOpenCloseAnim->mapEdges[5]->sprite->pos1.x -= 5;
|
||||
sMapOpenCloseAnim->mapEdges[0]->sprite->x += 5;
|
||||
sMapOpenCloseAnim->mapEdges[1]->sprite->x += 5;
|
||||
sMapOpenCloseAnim->mapEdges[2]->sprite->x += 5;
|
||||
sMapOpenCloseAnim->mapEdges[3]->sprite->x -= 5;
|
||||
sMapOpenCloseAnim->mapEdges[4]->sprite->x -= 5;
|
||||
sMapOpenCloseAnim->mapEdges[5]->sprite->x -= 5;
|
||||
}
|
||||
else
|
||||
{
|
||||
sMapOpenCloseAnim->mapEdges[0]->sprite->pos1.x += 8;
|
||||
sMapOpenCloseAnim->mapEdges[1]->sprite->pos1.x += 8;
|
||||
sMapOpenCloseAnim->mapEdges[2]->sprite->pos1.x += 8;
|
||||
sMapOpenCloseAnim->mapEdges[3]->sprite->pos1.x -= 8;
|
||||
sMapOpenCloseAnim->mapEdges[4]->sprite->pos1.x -= 8;
|
||||
sMapOpenCloseAnim->mapEdges[5]->sprite->pos1.x -= 8;
|
||||
sMapOpenCloseAnim->mapEdges[0]->sprite->x += 8;
|
||||
sMapOpenCloseAnim->mapEdges[1]->sprite->x += 8;
|
||||
sMapOpenCloseAnim->mapEdges[2]->sprite->x += 8;
|
||||
sMapOpenCloseAnim->mapEdges[3]->sprite->x -= 8;
|
||||
sMapOpenCloseAnim->mapEdges[4]->sprite->x -= 8;
|
||||
sMapOpenCloseAnim->mapEdges[5]->sprite->x -= 8;
|
||||
}
|
||||
sMapOpenCloseAnim->moveState++;
|
||||
return FALSE;
|
||||
@@ -3116,14 +3116,14 @@ static void SpriteCB_MapCursor(struct Sprite * sprite)
|
||||
{
|
||||
if (sMapCursor->moveCounter != 0)
|
||||
{
|
||||
sprite->pos1.x += sMapCursor->horizontalMove;
|
||||
sprite->pos1.y += sMapCursor->verticalMove;
|
||||
sprite->x += sMapCursor->horizontalMove;
|
||||
sprite->y += sMapCursor->verticalMove;
|
||||
sMapCursor->moveCounter--;
|
||||
}
|
||||
else
|
||||
{
|
||||
sMapCursor->sprite->pos1.x = 8 * sMapCursor->x + 36;
|
||||
sMapCursor->sprite->pos1.y = 8 * sMapCursor->y + 36;
|
||||
sMapCursor->sprite->x = 8 * sMapCursor->x + 36;
|
||||
sMapCursor->sprite->y = 8 * sMapCursor->y + 36;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3345,8 +3345,8 @@ static void SnapToIconOrButton(void)
|
||||
break;
|
||||
}
|
||||
}
|
||||
sMapCursor->sprite->pos1.x = 8 * sMapCursor->x + 36;
|
||||
sMapCursor->sprite->pos1.y = 8 * sMapCursor->y + 36;
|
||||
sMapCursor->sprite->x = 8 * sMapCursor->x + 36;
|
||||
sMapCursor->sprite->y = 8 * sMapCursor->y + 36;
|
||||
sMapCursor->selectedMapsec = GetSelectedMapSection(GetSelectedRegionMap(), LAYER_MAP, sMapCursor->y, sMapCursor->x);
|
||||
}
|
||||
|
||||
|
||||
+34
-34
@@ -316,9 +316,9 @@ const struct SpriteTemplate gWeatherBallRockDownSpriteTemplate =
|
||||
static void AnimFallingRock(struct Sprite *sprite)
|
||||
{
|
||||
if (gBattleAnimArgs[3] != 0)
|
||||
SetAverageBattlerPositions(gBattleAnimTarget, 0, &sprite->pos1.x, &sprite->pos1.y);
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->pos1.y += 14;
|
||||
SetAverageBattlerPositions(gBattleAnimTarget, 0, &sprite->x, &sprite->y);
|
||||
sprite->x += gBattleAnimArgs[0];
|
||||
sprite->y += 14;
|
||||
StartSpriteAnim(sprite, gBattleAnimArgs[1]);
|
||||
AnimateSprite(sprite);
|
||||
sprite->data[0] = 0;
|
||||
@@ -334,7 +334,7 @@ static void AnimFallingRock(struct Sprite *sprite)
|
||||
|
||||
static void sub_80B46B4(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x += sprite->data[5];
|
||||
sprite->x += sprite->data[5];
|
||||
sprite->data[0] = 192;
|
||||
sprite->data[1] = sprite->data[5];
|
||||
sprite->data[2] = 4;
|
||||
@@ -350,15 +350,15 @@ static void AnimRockFragment(struct Sprite *sprite)
|
||||
StartSpriteAnim(sprite, gBattleAnimArgs[5]);
|
||||
AnimateSprite(sprite);
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
sprite->pos1.x -= gBattleAnimArgs[0];
|
||||
sprite->x -= gBattleAnimArgs[0];
|
||||
else
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->x += gBattleAnimArgs[0];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
sprite->data[0] = gBattleAnimArgs[4];
|
||||
sprite->data[1] = sprite->pos1.x;
|
||||
sprite->data[2] = sprite->pos1.x + gBattleAnimArgs[2];
|
||||
sprite->data[3] = sprite->pos1.y;
|
||||
sprite->data[4] = sprite->pos1.y + gBattleAnimArgs[3];
|
||||
sprite->data[1] = sprite->x;
|
||||
sprite->data[2] = sprite->x + gBattleAnimArgs[2];
|
||||
sprite->data[3] = sprite->y;
|
||||
sprite->data[4] = sprite->y + gBattleAnimArgs[3];
|
||||
InitSpriteDataForLinearTranslation(sprite);
|
||||
sprite->data[3] = 0;
|
||||
sprite->data[4] = 0;
|
||||
@@ -382,8 +382,8 @@ static void AnimParticleInVortex(struct Sprite *sprite)
|
||||
static void sub_80B47C4(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[4] += sprite->data[1];
|
||||
sprite->pos2.y = -(sprite->data[4] >> 8);
|
||||
sprite->pos2.x = Sin(sprite->data[5], sprite->data[3]);
|
||||
sprite->y2 = -(sprite->data[4] >> 8);
|
||||
sprite->x2 = Sin(sprite->data[5], sprite->data[3]);
|
||||
sprite->data[5] = (sprite->data[5] + sprite->data[2]) & 0xFF;
|
||||
if (--sprite->data[0] == -1)
|
||||
{
|
||||
@@ -493,16 +493,16 @@ static void AnimDirtParticleAcrossScreen(struct Sprite *sprite)
|
||||
{
|
||||
if (gBattleAnimArgs[3] != 0 && GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
{
|
||||
sprite->pos1.x = 304;
|
||||
sprite->x = 304;
|
||||
gBattleAnimArgs[1] = -gBattleAnimArgs[1];
|
||||
sprite->data[5] = 1;
|
||||
sprite->oam.matrixNum = ST_OAM_HFLIP;
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos1.x = -64;
|
||||
sprite->x = -64;
|
||||
}
|
||||
sprite->pos1.y = gBattleAnimArgs[0];
|
||||
sprite->y = gBattleAnimArgs[0];
|
||||
SetSubspriteTables(sprite, sFlyingSandSubspriteTable);
|
||||
sprite->data[1] = gBattleAnimArgs[1];
|
||||
sprite->data[2] = gBattleAnimArgs[2];
|
||||
@@ -512,18 +512,18 @@ static void AnimDirtParticleAcrossScreen(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[3] += sprite->data[1];
|
||||
sprite->data[4] += sprite->data[2];
|
||||
sprite->pos2.x += (sprite->data[3] >> 8);
|
||||
sprite->pos2.y += (sprite->data[4] >> 8);
|
||||
sprite->x2 += (sprite->data[3] >> 8);
|
||||
sprite->y2 += (sprite->data[4] >> 8);
|
||||
sprite->data[3] &= 0xFF;
|
||||
sprite->data[4] &= 0xFF;
|
||||
if (sprite->data[5] == 0)
|
||||
{
|
||||
if (sprite->pos1.x + sprite->pos2.x > 272)
|
||||
if (sprite->x + sprite->x2 > 272)
|
||||
{
|
||||
sprite->callback = DestroyAnimSprite;
|
||||
}
|
||||
}
|
||||
else if (sprite->pos1.x + sprite->pos2.x < -32)
|
||||
else if (sprite->x + sprite->x2 < -32)
|
||||
{
|
||||
sprite->callback = DestroyAnimSprite;
|
||||
}
|
||||
@@ -541,8 +541,8 @@ static void AnimRaiseSprite(struct Sprite *sprite)
|
||||
StartSpriteAnim(sprite, gBattleAnimArgs[4]);
|
||||
InitSpritePosToAnimAttacker(sprite, 0);
|
||||
sprite->data[0] = gBattleAnimArgs[3];
|
||||
sprite->data[2] = sprite->pos1.x;
|
||||
sprite->data[4] = sprite->pos1.y + gBattleAnimArgs[2];
|
||||
sprite->data[2] = sprite->x;
|
||||
sprite->data[4] = sprite->y + gBattleAnimArgs[2];
|
||||
sprite->callback = StartAnimLinearTranslation;
|
||||
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
|
||||
}
|
||||
@@ -600,8 +600,8 @@ static void sub_80B4D00(u8 taskId)
|
||||
case 0:
|
||||
task->data[6] -= task->data[4];
|
||||
task->data[7] -= task->data[5];
|
||||
gSprites[task->data[15]].pos2.x = task->data[6] >> 3;
|
||||
gSprites[task->data[15]].pos2.y = task->data[7] >> 3;
|
||||
gSprites[task->data[15]].x2 = task->data[6] >> 3;
|
||||
gSprites[task->data[15]].y2 = task->data[7] >> 3;
|
||||
if (++task->data[9] == 10)
|
||||
{
|
||||
task->data[11] = 20;
|
||||
@@ -625,8 +625,8 @@ static void sub_80B4D00(u8 taskId)
|
||||
task->data[7] = 0;
|
||||
++task->data[0];
|
||||
}
|
||||
gSprites[task->data[15]].pos2.x = task->data[6] >> 3;
|
||||
gSprites[task->data[15]].pos2.y = task->data[7] >> 3;
|
||||
gSprites[task->data[15]].x2 = task->data[6] >> 3;
|
||||
gSprites[task->data[15]].y2 = task->data[7] >> 3;
|
||||
break;
|
||||
case 3:
|
||||
task->data[2] += task->data[4];
|
||||
@@ -721,7 +721,7 @@ static u8 sub_80B4FB8(void)
|
||||
static void AnimRockTomb(struct Sprite *sprite)
|
||||
{
|
||||
StartSpriteAnim(sprite, gBattleAnimArgs[4]);
|
||||
sprite->pos2.x = gBattleAnimArgs[0];
|
||||
sprite->x2 = gBattleAnimArgs[0];
|
||||
sprite->data[2] = gBattleAnimArgs[1];
|
||||
sprite->data[3] -= gBattleAnimArgs[2];
|
||||
sprite->data[0] = 3;
|
||||
@@ -735,7 +735,7 @@ static void sub_80B5024(struct Sprite *sprite)
|
||||
sprite->invisible = FALSE;
|
||||
if (sprite->data[3] != 0)
|
||||
{
|
||||
sprite->pos2.y = sprite->data[2] + sprite->data[3];
|
||||
sprite->y2 = sprite->data[2] + sprite->data[3];
|
||||
sprite->data[3] += sprite->data[0];
|
||||
++sprite->data[0];
|
||||
if (sprite->data[3] > 0)
|
||||
@@ -758,10 +758,10 @@ static void AnimRockBlastRock(struct Sprite *sprite)
|
||||
|
||||
static void AnimRockScatter(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 0);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 1);
|
||||
sprite->pos1.x += gBattleAnimArgs[0];
|
||||
sprite->pos1.y += gBattleAnimArgs[1];
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, 0);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, 1);
|
||||
sprite->x += gBattleAnimArgs[0];
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
sprite->data[1] = gBattleAnimArgs[0];
|
||||
sprite->data[2] = gBattleAnimArgs[1];
|
||||
sprite->data[5] = gBattleAnimArgs[2];
|
||||
@@ -774,8 +774,8 @@ static void sub_80B50F8(struct Sprite *sprite)
|
||||
sprite->data[0] += 8;
|
||||
sprite->data[3] += sprite->data[1];
|
||||
sprite->data[4] += sprite->data[2];
|
||||
sprite->pos2.x += sprite->data[3] / 40;
|
||||
sprite->pos2.y -= Sin(sprite->data[0], sprite->data[5]);
|
||||
sprite->x2 += sprite->data[3] / 40;
|
||||
sprite->y2 -= Sin(sprite->data[0], sprite->data[5]);
|
||||
if (sprite->data[0] > 140)
|
||||
DestroyAnimSprite(sprite);
|
||||
}
|
||||
|
||||
+4
-4
@@ -405,7 +405,7 @@ static void CreateFerrySprite(void)
|
||||
}
|
||||
else
|
||||
{
|
||||
gSprites[spriteId].pos1.x = 240;
|
||||
gSprites[spriteId].x = 240;
|
||||
gSprites[spriteId].data[0] *= -1;
|
||||
}
|
||||
}
|
||||
@@ -413,13 +413,13 @@ static void CreateFerrySprite(void)
|
||||
static void SpriteCB_Ferry(struct Sprite * sprite)
|
||||
{
|
||||
sprite->data[1] += sprite->data[0];
|
||||
sprite->pos2.x = sprite->data[1] >> 4;
|
||||
sprite->x2 = sprite->data[1] >> 4;
|
||||
if (sprite->data[2] % 5 == 0)
|
||||
{
|
||||
CreateWakeSprite(sprite->pos1.x + sprite->pos2.x);
|
||||
CreateWakeSprite(sprite->x + sprite->x2);
|
||||
}
|
||||
sprite->data[2]++;
|
||||
if ((u16)(300 + sprite->pos2.x) > 600)
|
||||
if ((u16)(300 + sprite->x2) > 600)
|
||||
{
|
||||
DestroySprite(sprite);
|
||||
}
|
||||
|
||||
+1
-1
@@ -1778,7 +1778,7 @@ static void UpdateReelIconSprites(const s16 * reelPosPtr, const s16 * yposPtr)
|
||||
ypos = *yposPtr * 8;
|
||||
for (j = 0; j < 5; j++)
|
||||
{
|
||||
sSlotMachineGfxManager->reelIconSprites[i][j]->pos2.y = ypos;
|
||||
sSlotMachineGfxManager->reelIconSprites[i][j]->y2 = ypos;
|
||||
{
|
||||
s32 animId = sReelIconAnimByReelAndPos[i][reelPos];
|
||||
struct Sprite * sprite = sSlotMachineGfxManager->reelIconSprites[i][j];
|
||||
|
||||
+10
-10
@@ -166,8 +166,8 @@ static const struct Sprite sDummySprite =
|
||||
.template = &gDummySpriteTemplate,
|
||||
.subspriteTables = NULL,
|
||||
.callback = SpriteCallbackDummy,
|
||||
.pos1 = { 304, 160 },
|
||||
.pos2 = { 0, 0 },
|
||||
.x = 304, .y = 160,
|
||||
.x2 = 0, .y2 = 0,
|
||||
.centerToCornerVecX = 0,
|
||||
.centerToCornerVecY = 0,
|
||||
.animNum = 0,
|
||||
@@ -369,13 +369,13 @@ void UpdateOamCoords(void)
|
||||
{
|
||||
if (sprite->coordOffsetEnabled)
|
||||
{
|
||||
sprite->oam.x = sprite->pos1.x + sprite->pos2.x + sprite->centerToCornerVecX + gSpriteCoordOffsetX;
|
||||
sprite->oam.y = sprite->pos1.y + sprite->pos2.y + sprite->centerToCornerVecY + gSpriteCoordOffsetY;
|
||||
sprite->oam.x = sprite->x + sprite->x2 + sprite->centerToCornerVecX + gSpriteCoordOffsetX;
|
||||
sprite->oam.y = sprite->y + sprite->y2 + sprite->centerToCornerVecY + gSpriteCoordOffsetY;
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->oam.x = sprite->pos1.x + sprite->pos2.x + sprite->centerToCornerVecX;
|
||||
sprite->oam.y = sprite->pos1.y + sprite->pos2.y + sprite->centerToCornerVecY;
|
||||
sprite->oam.x = sprite->x + sprite->x2 + sprite->centerToCornerVecX;
|
||||
sprite->oam.y = sprite->y + sprite->y2 + sprite->centerToCornerVecY;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -573,8 +573,8 @@ u8 CreateSpriteAt(u8 index, const struct SpriteTemplate *template, s16 x, s16 y,
|
||||
sprite->affineAnims = template->affineAnims;
|
||||
sprite->template = template;
|
||||
sprite->callback = template->callback;
|
||||
sprite->pos1.x = x;
|
||||
sprite->pos1.y = y;
|
||||
sprite->x = x;
|
||||
sprite->y = y;
|
||||
|
||||
CalcCenterToCornerVec(sprite, sprite->oam.shape, sprite->oam.size, sprite->oam.affineMode);
|
||||
|
||||
@@ -1249,14 +1249,14 @@ static void obj_update_pos2(struct Sprite *sprite, s32 xmod, s32 ymod)
|
||||
dim = sOamDimensionsCopy[sprite->oam.shape][sprite->oam.size][0];
|
||||
baseDim = dim << 8;
|
||||
xFormed = (dim << 16) / gOamMatrices[matrixNum].a;
|
||||
sprite->pos2.x = affine_get_new_pos2(baseDim, xFormed, xmod);
|
||||
sprite->x2 = affine_get_new_pos2(baseDim, xFormed, xmod);
|
||||
}
|
||||
if (ymod != 0x800)
|
||||
{
|
||||
dim = sOamDimensionsCopy[sprite->oam.shape][sprite->oam.size][1];
|
||||
baseDim = dim << 8;
|
||||
xFormed = (dim << 16) / gOamMatrices[matrixNum].d;
|
||||
sprite->pos2.y = affine_get_new_pos2(baseDim, xFormed, ymod);
|
||||
sprite->y2 = affine_get_new_pos2(baseDim, xFormed, ymod);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+9
-9
@@ -116,7 +116,7 @@ static void Task_SSAnneRun(u8 taskId)
|
||||
}
|
||||
TryGetObjectEventIdByLocalIdAndMap(1, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &objectEventId);
|
||||
boatObject = &gObjectEvents[objectEventId];
|
||||
if (gSprites[boatObject->spriteId].pos1.x + gSprites[boatObject->spriteId].pos2.x < -120)
|
||||
if (gSprites[boatObject->spriteId].x + gSprites[boatObject->spriteId].x2 < -120)
|
||||
{
|
||||
PlaySE(SE_SS_ANNE_HORN);
|
||||
gTasks[taskId].func = Task_SSAnneFinish;
|
||||
@@ -124,7 +124,7 @@ static void Task_SSAnneRun(u8 taskId)
|
||||
else
|
||||
{
|
||||
x = data[2] / 5;
|
||||
gSprites[boatObject->spriteId].pos2.x = -x;
|
||||
gSprites[boatObject->spriteId].x2 = -x;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -150,7 +150,7 @@ static void CreateWakeBehindBoat(void)
|
||||
|
||||
TryGetObjectEventIdByLocalIdAndMap(1, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &objectEventId);
|
||||
boatObject = &gObjectEvents[objectEventId];
|
||||
x = gSprites[boatObject->spriteId].pos1.x + gSprites[boatObject->spriteId].pos2.x + 80;
|
||||
x = gSprites[boatObject->spriteId].x + gSprites[boatObject->spriteId].x2 + 80;
|
||||
spriteId = CreateSprite(&sWakeSpriteTemplate, x, 109, 0xFF);
|
||||
gSprites[spriteId].oam.priority = 2;
|
||||
gSprites[spriteId].oam.paletteNum = 10;
|
||||
@@ -164,12 +164,12 @@ static void WakeSpriteCallback(struct Sprite * sprite)
|
||||
|
||||
TryGetObjectEventIdByLocalIdAndMap(1, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &objectEventId);
|
||||
boatObject = &gObjectEvents[objectEventId];
|
||||
x = gSprites[boatObject->spriteId].pos1.x + gSprites[boatObject->spriteId].pos2.x + 80;
|
||||
sprite->pos1.x = x;
|
||||
x = gSprites[boatObject->spriteId].x + gSprites[boatObject->spriteId].x2 + 80;
|
||||
sprite->x = x;
|
||||
if (sprite->data[0] / 6 < 22)
|
||||
sprite->data[0]++;
|
||||
sprite->pos2.x = sprite->data[0] / 6;
|
||||
if (sprite->pos1.x + sprite->pos2.x < -18)
|
||||
sprite->x2 = sprite->data[0] / 6;
|
||||
if (sprite->x + sprite->x2 < -18)
|
||||
DestroySprite(sprite);
|
||||
}
|
||||
|
||||
@@ -182,7 +182,7 @@ static void CreateSmokeSprite(void)
|
||||
|
||||
TryGetObjectEventIdByLocalIdAndMap(1, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &objectEventId);
|
||||
boatObject = &gObjectEvents[objectEventId];
|
||||
x = gSprites[boatObject->spriteId].pos1.x + gSprites[boatObject->spriteId].pos2.x + 49;
|
||||
x = gSprites[boatObject->spriteId].x + gSprites[boatObject->spriteId].x2 + 49;
|
||||
if ((s16)x >= -32)
|
||||
{
|
||||
spriteId = CreateSprite(&sSmokeSpriteTemplate, x, 78, 8);
|
||||
@@ -194,7 +194,7 @@ static void CreateSmokeSprite(void)
|
||||
static void SmokeSpriteCallback(struct Sprite * sprite)
|
||||
{
|
||||
sprite->data[0]++;
|
||||
sprite->pos2.x = sprite->data[0] / 4;
|
||||
sprite->x2 = sprite->data[0] / 4;
|
||||
if (sprite->animEnded)
|
||||
DestroySprite(sprite);
|
||||
}
|
||||
|
||||
+18
-18
@@ -610,8 +610,8 @@ static u8 TeachyTvSetupObjEventAndOam(void)
|
||||
|
||||
static void TeachyTvSetSpriteCoordsAndSwitchFrame(u8 objId, u16 x, u16 y, u8 frame)
|
||||
{
|
||||
gSprites[objId].pos2.x = x;
|
||||
gSprites[objId].pos2.y = y;
|
||||
gSprites[objId].x2 = x;
|
||||
gSprites[objId].y2 = y;
|
||||
gSprites[objId].invisible = 0;
|
||||
StartSpriteAnim(&gSprites[objId], frame);
|
||||
}
|
||||
@@ -669,7 +669,7 @@ static void TeachyTvSetupPostBattleWindowAndObj(u8 taskId)
|
||||
|
||||
data[4] = 0;
|
||||
data[5] = 0;
|
||||
TeachyTvGrassAnimationMain(taskId, objAddr->pos2.x, objAddr->pos2.y, 0, 1);
|
||||
TeachyTvGrassAnimationMain(taskId, objAddr->x2, objAddr->y2, 0, 1);
|
||||
}
|
||||
|
||||
static void TeachyTvInitTextPrinter(const u8 *text)
|
||||
@@ -785,7 +785,7 @@ static void TTVcmd_NpcMoveAndSetupTextPrinter(u8 taskId)
|
||||
if (data[2] != 35)
|
||||
++data[2];
|
||||
else {
|
||||
if (spriteAddr->pos2.x == 0x78)
|
||||
if (spriteAddr->x2 == 0x78)
|
||||
{
|
||||
StartSpriteAnim(&gSprites[data[1]], 0);
|
||||
TeachyTvInitTextPrinter(gTeachyTvText_PokedudeSaysHello);
|
||||
@@ -793,7 +793,7 @@ static void TTVcmd_NpcMoveAndSetupTextPrinter(u8 taskId)
|
||||
++data[3];
|
||||
}
|
||||
else
|
||||
++spriteAddr->pos2.x;
|
||||
++spriteAddr->x2;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -961,7 +961,7 @@ static void TTVcmd_DudeMoveUp(u8 taskId)
|
||||
if (!(++data[2] & 0xF))
|
||||
{
|
||||
--sResources->grassAnimCounterHi;
|
||||
TeachyTvGrassAnimationMain(taskId, obj->pos2.x, obj->pos2.y, 0, 0);
|
||||
TeachyTvGrassAnimationMain(taskId, obj->x2, obj->y2, 0, 0);
|
||||
}
|
||||
if (data[2] == 48)
|
||||
{
|
||||
@@ -981,7 +981,7 @@ static void TTVcmd_DudeMoveRight(u8 taskId)
|
||||
if (!(++data[2] & 0xF))
|
||||
++sResources->grassAnimCounterLo;
|
||||
if (!((data[2] + 8) & 0xF))
|
||||
TeachyTvGrassAnimationMain(taskId, obj->pos2.x + 8, obj->pos2.y, 0, 0);
|
||||
TeachyTvGrassAnimationMain(taskId, obj->x2 + 8, obj->y2, 0, 0);
|
||||
if (data[2] == 0x30)
|
||||
{
|
||||
data[2] = 0;
|
||||
@@ -1001,7 +1001,7 @@ static void TTVcmd_DudeTurnLeft(u8 taskId)
|
||||
++data[3];
|
||||
data[4] = 0;
|
||||
data[5] = 0;
|
||||
TeachyTvGrassAnimationMain(taskId, objAddr->pos2.x, objAddr->pos2.y, 0, 0);
|
||||
TeachyTvGrassAnimationMain(taskId, objAddr->x2, objAddr->y2, 0, 0);
|
||||
}
|
||||
|
||||
static void TTVcmd_DudeMoveLeft(u8 taskId)
|
||||
@@ -1009,12 +1009,12 @@ static void TTVcmd_DudeMoveLeft(u8 taskId)
|
||||
s16 *data = gTasks[taskId].data;
|
||||
struct Sprite *objAddr = &gSprites[data[1]];
|
||||
|
||||
if (!(objAddr->pos2.x & 0xF))
|
||||
TeachyTvGrassAnimationMain(taskId, objAddr->pos2.x - 8, objAddr->pos2.y, 0, 0);
|
||||
if (objAddr->pos2.x == 8)
|
||||
if (!(objAddr->x2 & 0xF))
|
||||
TeachyTvGrassAnimationMain(taskId, objAddr->x2 - 8, objAddr->y2, 0, 0);
|
||||
if (objAddr->x2 == 8)
|
||||
++data[3];
|
||||
else
|
||||
--objAddr->pos2.x;
|
||||
--objAddr->x2;
|
||||
}
|
||||
|
||||
static void TTVcmd_RenderAndRemoveBg1EndGraphic(u8 taskId)
|
||||
@@ -1110,8 +1110,8 @@ static void TeachyTvGrassAnimationMain(u8 taskId, s16 x, s16 y, u8 subpriority,
|
||||
{
|
||||
spriteId = CreateSprite(gFieldEffectObjectTemplatePointers[FLDEFFOBJ_TALL_GRASS], 0, 0, subpriority);
|
||||
obj = &gSprites[spriteId];
|
||||
obj->pos2.x = x;
|
||||
obj->pos2.y = y + 8;
|
||||
obj->x2 = x;
|
||||
obj->y2 = y + 8;
|
||||
obj->callback = TeachyTvGrassAnimationObjCallback;
|
||||
obj->data[0] = taskId;
|
||||
if (mode == 1)
|
||||
@@ -1142,13 +1142,13 @@ static void TeachyTvGrassAnimationObjCallback(struct Sprite *sprite)
|
||||
sprite->subspriteTableNum = 1;
|
||||
else
|
||||
sprite->subspriteTableNum = 0;
|
||||
sprite->pos2.x += data[4];
|
||||
sprite->pos2.y += data[5];
|
||||
sprite->x2 += data[4];
|
||||
sprite->y2 += data[5];
|
||||
if (sprite->animEnded)
|
||||
{
|
||||
sprite->subpriority = 0;
|
||||
diff1 = sprite->pos2.x - objAddr->pos2.x;
|
||||
diff2 = sprite->pos2.y - objAddr->pos2.y;
|
||||
diff1 = sprite->x2 - objAddr->x2;
|
||||
diff2 = sprite->y2 - objAddr->y2;
|
||||
if (diff1 <= -16 || diff1 >= 16 || diff2 <= -16 || diff2 >= 24)
|
||||
DestroySprite(sprite);
|
||||
}
|
||||
|
||||
+4
-4
@@ -1276,16 +1276,16 @@ void sub_80062B0(struct Sprite *sprite)
|
||||
switch(sprite->data[1])
|
||||
{
|
||||
case 0:
|
||||
sprite->pos2.y = 0;
|
||||
sprite->y2 = 0;
|
||||
break;
|
||||
case 1:
|
||||
sprite->pos2.y = 1;
|
||||
sprite->y2 = 1;
|
||||
break;
|
||||
case 2:
|
||||
sprite->pos2.y = 2;
|
||||
sprite->y2 = 2;
|
||||
break;
|
||||
case 3:
|
||||
sprite->pos2.y = 1;
|
||||
sprite->y2 = 1;
|
||||
sprite->data[1] = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
+15
-15
@@ -913,15 +913,15 @@ static void SpriteCallback_TitleScreenFlameOrLeaf(struct Sprite * sprite)
|
||||
{
|
||||
s16 * data = sprite->data;
|
||||
sprite->data[0] -= data[1];
|
||||
sprite->pos1.x = sprite->data[0] >> 4;
|
||||
if (sprite->pos1.x < -8)
|
||||
sprite->x = sprite->data[0] >> 4;
|
||||
if (sprite->x < -8)
|
||||
{
|
||||
DestroySprite(sprite);
|
||||
return;
|
||||
}
|
||||
data[2] += data[3];
|
||||
sprite->pos1.y = data[2] >> 4;
|
||||
if (sprite->pos1.y < 0x10 || sprite->pos1.y > 0xc8)
|
||||
sprite->y = data[2] >> 4;
|
||||
if (sprite->y < 0x10 || sprite->y > 0xc8)
|
||||
{
|
||||
DestroySprite(sprite);
|
||||
return;
|
||||
@@ -1046,14 +1046,14 @@ static void CreateFlameOrLeafSprite(s32 y0, s32 x1, s32 y1)
|
||||
|
||||
static void SpriteCallback_LG_8079800(struct Sprite * sprite)
|
||||
{
|
||||
sprite->pos1.x -= 7;
|
||||
if (sprite->pos1.x < -16)
|
||||
sprite->x -= 7;
|
||||
if (sprite->x < -16)
|
||||
{
|
||||
sprite->pos1.x = 0x100;
|
||||
sprite->x = 0x100;
|
||||
sprite->data[7]++;
|
||||
if (sprite->data[7] >= NELEMS(gUnknown_LG_83BFA10))
|
||||
sprite->data[7] = 0;
|
||||
sprite->pos1.y = gUnknown_LG_83BFA10[sprite->data[7]];
|
||||
sprite->y = gUnknown_LG_83BFA10[sprite->data[7]];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1188,23 +1188,23 @@ static void SpriteCallback_Slash(struct Sprite * sprite)
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
sprite->pos1.x += 9;
|
||||
if (sprite->pos1.x == 67)
|
||||
sprite->x += 9;
|
||||
if (sprite->x == 67)
|
||||
{
|
||||
sprite->pos1.y -= 7;
|
||||
sprite->y -= 7;
|
||||
}
|
||||
if (sprite->pos1.x == 148)
|
||||
if (sprite->x == 148)
|
||||
{
|
||||
sprite->pos1.y += 7;
|
||||
sprite->y += 7;
|
||||
}
|
||||
if (sprite->pos1.x > 272)
|
||||
if (sprite->x > 272)
|
||||
{
|
||||
sprite->invisible = TRUE;
|
||||
if (sprite->data[2])
|
||||
sprite->data[0] = 2;
|
||||
else
|
||||
{
|
||||
sprite->pos1.x = -0x20;
|
||||
sprite->x = -0x20;
|
||||
sprite->data[1] = 540;
|
||||
sprite->data[0] = 0;
|
||||
}
|
||||
|
||||
+7
-7
@@ -1464,7 +1464,7 @@ static void UpdateTMSpritePosition(struct Sprite * sprite, u8 var)
|
||||
{
|
||||
x = 0x1B;
|
||||
y = 0x36;
|
||||
sprite->pos2.y = 0x14;
|
||||
sprite->y2 = 0x14;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1475,8 +1475,8 @@ static void UpdateTMSpritePosition(struct Sprite * sprite, u8 var)
|
||||
x = 0x29 - (((0xE00 * var) / 58) >> 8);
|
||||
y = 0x2E + (((0x800 * var) / 58) >> 8);
|
||||
}
|
||||
sprite->pos1.x = x;
|
||||
sprite->pos1.y = y;
|
||||
sprite->x = x;
|
||||
sprite->y = y;
|
||||
}
|
||||
|
||||
static void InitSelectedTMSpriteData(u8 spriteId, u16 itemId)
|
||||
@@ -1491,7 +1491,7 @@ static void SpriteCB_MoveTMSpriteInCase(struct Sprite * sprite)
|
||||
switch (sprite->data[1])
|
||||
{
|
||||
case 0:
|
||||
if (sprite->pos2.y >= 20)
|
||||
if (sprite->y2 >= 20)
|
||||
{
|
||||
if (sprite->data[0] != ITEM_NONE)
|
||||
{
|
||||
@@ -1506,14 +1506,14 @@ static void SpriteCB_MoveTMSpriteInCase(struct Sprite * sprite)
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos2.y += 10;
|
||||
sprite->y2 += 10;
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if (sprite->pos2.y <= 0)
|
||||
if (sprite->y2 <= 0)
|
||||
sprite->callback = SpriteCallbackDummy;
|
||||
else
|
||||
sprite->pos2.y -= 10;
|
||||
sprite->y2 -= 10;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+12
-12
@@ -1665,14 +1665,14 @@ static void TradeMenuMoveCursor(u8 *tradeMenuCursorPosition, u8 direction)
|
||||
if (newPosition == 12) // CANCEL
|
||||
{
|
||||
StartSpriteAnim(&gSprites[sTradeMenuResourcesPtr->tradeMenuCursorSpriteIdx], 1);
|
||||
gSprites[sTradeMenuResourcesPtr->tradeMenuCursorSpriteIdx].pos1.x = 224;
|
||||
gSprites[sTradeMenuResourcesPtr->tradeMenuCursorSpriteIdx].pos1.y = 160;
|
||||
gSprites[sTradeMenuResourcesPtr->tradeMenuCursorSpriteIdx].x = 224;
|
||||
gSprites[sTradeMenuResourcesPtr->tradeMenuCursorSpriteIdx].y = 160;
|
||||
}
|
||||
else
|
||||
{
|
||||
StartSpriteAnim(&gSprites[sTradeMenuResourcesPtr->tradeMenuCursorSpriteIdx], 0);
|
||||
gSprites[sTradeMenuResourcesPtr->tradeMenuCursorSpriteIdx].pos1.x = sTradeMonSpriteCoords[newPosition][0] * 8 + 32;
|
||||
gSprites[sTradeMenuResourcesPtr->tradeMenuCursorSpriteIdx].pos1.y = sTradeMonSpriteCoords[newPosition][1] * 8;
|
||||
gSprites[sTradeMenuResourcesPtr->tradeMenuCursorSpriteIdx].x = sTradeMonSpriteCoords[newPosition][0] * 8 + 32;
|
||||
gSprites[sTradeMenuResourcesPtr->tradeMenuCursorSpriteIdx].y = sTradeMonSpriteCoords[newPosition][1] * 8;
|
||||
}
|
||||
|
||||
if (*tradeMenuCursorPosition != newPosition)
|
||||
@@ -2155,10 +2155,10 @@ static void HandleRedrawTradeMenuOnSide(u8 side)
|
||||
case 3:
|
||||
CopyToBgTilemapBufferRect_ChangePalette(1, sTradeMovesBoxTilemap, whichParty * 15, 0, 15, 17, 0);
|
||||
CopyBgTilemapBufferToVram(1);
|
||||
gSprites[sTradeMenuResourcesPtr->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].pos1.x = (sTradeMonSpriteCoords[whichParty * PARTY_SIZE][0] + sTradeMonSpriteCoords[whichParty * PARTY_SIZE + 1][0]) / 2 * 8 + 14;
|
||||
gSprites[sTradeMenuResourcesPtr->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].pos1.y = (sTradeMonSpriteCoords[whichParty * PARTY_SIZE][1] * 8) - 12;
|
||||
gSprites[sTradeMenuResourcesPtr->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].pos2.x = 0;
|
||||
gSprites[sTradeMenuResourcesPtr->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].pos2.y = 0;
|
||||
gSprites[sTradeMenuResourcesPtr->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].x = (sTradeMonSpriteCoords[whichParty * PARTY_SIZE][0] + sTradeMonSpriteCoords[whichParty * PARTY_SIZE + 1][0]) / 2 * 8 + 14;
|
||||
gSprites[sTradeMenuResourcesPtr->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].y = (sTradeMonSpriteCoords[whichParty * PARTY_SIZE][1] * 8) - 12;
|
||||
gSprites[sTradeMenuResourcesPtr->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].x2 = 0;
|
||||
gSprites[sTradeMenuResourcesPtr->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].y2 = 0;
|
||||
nameStringWidth = GetNicknameStringWidthByPartyAndMonIdx(nickname, whichParty, partyIdx);
|
||||
AddTextPrinterParameterized3((side * 2) + 14, 0, (80 - nameStringWidth) / 2, 4, sTextColor_PartyMonNickname, 0, nickname);
|
||||
BuildMovesString(movesString, whichParty, partyIdx);
|
||||
@@ -2342,10 +2342,10 @@ static void ShowTradePartyMonIcons(u8 whichParty)
|
||||
for (i = 0; i < sTradeMenuResourcesPtr->partyCounts[whichParty]; i++)
|
||||
{
|
||||
gSprites[sTradeMenuResourcesPtr->partyIcons[whichParty][i]].invisible = FALSE;
|
||||
gSprites[sTradeMenuResourcesPtr->partyIcons[whichParty][i]].pos1.x = sTradeMonSpriteCoords[(whichParty * PARTY_SIZE) + i][0] * 8 + 14;
|
||||
gSprites[sTradeMenuResourcesPtr->partyIcons[whichParty][i]].pos1.y = sTradeMonSpriteCoords[(whichParty * PARTY_SIZE) + i][1] * 8 - 12;
|
||||
gSprites[sTradeMenuResourcesPtr->partyIcons[whichParty][i]].pos2.x = 0;
|
||||
gSprites[sTradeMenuResourcesPtr->partyIcons[whichParty][i]].pos2.y = 0;
|
||||
gSprites[sTradeMenuResourcesPtr->partyIcons[whichParty][i]].x = sTradeMonSpriteCoords[(whichParty * PARTY_SIZE) + i][0] * 8 + 14;
|
||||
gSprites[sTradeMenuResourcesPtr->partyIcons[whichParty][i]].y = sTradeMonSpriteCoords[(whichParty * PARTY_SIZE) + i][1] * 8 - 12;
|
||||
gSprites[sTradeMenuResourcesPtr->partyIcons[whichParty][i]].x2 = 0;
|
||||
gSprites[sTradeMenuResourcesPtr->partyIcons[whichParty][i]].y2 = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+72
-72
@@ -631,7 +631,7 @@ static void SpriteCB_TradeGlowCore(struct Sprite * sprite)
|
||||
static void SpriteCB_GameLinkCableEnd_Outbound(struct Sprite * sprite)
|
||||
{
|
||||
sprite->data[0]++;
|
||||
sprite->pos2.y++;
|
||||
sprite->y2++;
|
||||
if (sprite->data[0] == 10)
|
||||
DestroySprite(sprite);
|
||||
}
|
||||
@@ -640,7 +640,7 @@ static void SpriteCB_GameLinkCableEnd_Outbound(struct Sprite * sprite)
|
||||
static void SpriteCB_GameLinkCableEnd_Inbound(struct Sprite * sprite)
|
||||
{
|
||||
sprite->data[0]++;
|
||||
sprite->pos2.y--;
|
||||
sprite->y2--;
|
||||
if (sprite->data[0] == 10)
|
||||
DestroySprite(sprite);
|
||||
}
|
||||
@@ -1269,8 +1269,8 @@ static bool8 DoTradeAnim_Cable(void)
|
||||
{
|
||||
case 0:
|
||||
gSprites[sTradeData->pokePicSpriteIdxs[0]].invisible = FALSE;
|
||||
gSprites[sTradeData->pokePicSpriteIdxs[0]].pos2.x = -180;
|
||||
gSprites[sTradeData->pokePicSpriteIdxs[0]].pos2.y = gMonFrontPicCoords[sTradeData->tradeSpecies[0]].y_offset;
|
||||
gSprites[sTradeData->pokePicSpriteIdxs[0]].x2 = -180;
|
||||
gSprites[sTradeData->pokePicSpriteIdxs[0]].y2 = gMonFrontPicCoords[sTradeData->tradeSpecies[0]].y_offset;
|
||||
sTradeData->state++;
|
||||
sTradeData->cachedMapMusic = GetCurrentMapMusic();
|
||||
PlayNewMapMusic(MUS_EVOLUTION);
|
||||
@@ -1278,12 +1278,12 @@ static bool8 DoTradeAnim_Cable(void)
|
||||
case 1:
|
||||
if (sTradeData->bg2hofs > 0)
|
||||
{
|
||||
gSprites[sTradeData->pokePicSpriteIdxs[0]].pos2.x += 3;
|
||||
gSprites[sTradeData->pokePicSpriteIdxs[0]].x2 += 3;
|
||||
sTradeData->bg2hofs -= 3;
|
||||
}
|
||||
else
|
||||
{
|
||||
gSprites[sTradeData->pokePicSpriteIdxs[0]].pos2.x = 0;
|
||||
gSprites[sTradeData->pokePicSpriteIdxs[0]].x2 = 0;
|
||||
sTradeData->bg2hofs = 0;
|
||||
sTradeData->state = 10;
|
||||
}
|
||||
@@ -1404,9 +1404,9 @@ static bool8 DoTradeAnim_Cable(void)
|
||||
DISPCNT_OBJ_ON);
|
||||
break;
|
||||
case 200:
|
||||
gSprites[sTradeData->tradeGlow1SpriteId].pos1.y -= 2;
|
||||
gSprites[sTradeData->gbaScreenSpriteId].pos1.y -= 2;
|
||||
if (gSprites[sTradeData->tradeGlow1SpriteId].pos1.y < -8)
|
||||
gSprites[sTradeData->tradeGlow1SpriteId].y -= 2;
|
||||
gSprites[sTradeData->gbaScreenSpriteId].y -= 2;
|
||||
if (gSprites[sTradeData->tradeGlow1SpriteId].y < -8)
|
||||
{
|
||||
sTradeData->state = 29;
|
||||
}
|
||||
@@ -1436,13 +1436,13 @@ static bool8 DoTradeAnim_Cable(void)
|
||||
PlaySE(SE_WARP_OUT);
|
||||
sTradeData->state++;
|
||||
}
|
||||
gSprites[sTradeData->tradeGlow1SpriteId].pos2.y -= 3;
|
||||
gSprites[sTradeData->gbaScreenSpriteId].pos2.y += 3;
|
||||
gSprites[sTradeData->tradeGlow1SpriteId].y2 -= 3;
|
||||
gSprites[sTradeData->gbaScreenSpriteId].y2 += 3;
|
||||
break;
|
||||
case 33:
|
||||
gSprites[sTradeData->tradeGlow1SpriteId].pos2.y -= 3;
|
||||
gSprites[sTradeData->gbaScreenSpriteId].pos2.y += 3;
|
||||
if (gSprites[sTradeData->tradeGlow1SpriteId].pos2.y <= -90)
|
||||
gSprites[sTradeData->tradeGlow1SpriteId].y2 -= 3;
|
||||
gSprites[sTradeData->gbaScreenSpriteId].y2 += 3;
|
||||
if (gSprites[sTradeData->tradeGlow1SpriteId].y2 <= -90)
|
||||
{
|
||||
gSprites[sTradeData->tradeGlow1SpriteId].data[1] = 1;
|
||||
gSprites[sTradeData->gbaScreenSpriteId].data[1] = 1;
|
||||
@@ -1474,22 +1474,22 @@ static bool8 DoTradeAnim_Cable(void)
|
||||
StartSpriteAffineAnim(&gSprites[sTradeData->pokePicSpriteIdxs[0]], 0);
|
||||
}
|
||||
StartSpriteAffineAnim(&gSprites[sTradeData->pokePicSpriteIdxs[1]], 0);
|
||||
gSprites[sTradeData->pokePicSpriteIdxs[0]].pos1.x = 60;
|
||||
gSprites[sTradeData->pokePicSpriteIdxs[1]].pos1.x = 180;
|
||||
gSprites[sTradeData->pokePicSpriteIdxs[0]].pos1.y = 192;
|
||||
gSprites[sTradeData->pokePicSpriteIdxs[1]].pos1.y = -32;
|
||||
gSprites[sTradeData->pokePicSpriteIdxs[0]].x = 60;
|
||||
gSprites[sTradeData->pokePicSpriteIdxs[1]].x = 180;
|
||||
gSprites[sTradeData->pokePicSpriteIdxs[0]].y = 192;
|
||||
gSprites[sTradeData->pokePicSpriteIdxs[1]].y = -32;
|
||||
gSprites[sTradeData->pokePicSpriteIdxs[0]].invisible = FALSE;
|
||||
gSprites[sTradeData->pokePicSpriteIdxs[1]].invisible = FALSE;
|
||||
sTradeData->state++;
|
||||
break;
|
||||
case 38:
|
||||
gSprites[sTradeData->pokePicSpriteIdxs[0]].pos2.y -= 3;
|
||||
gSprites[sTradeData->pokePicSpriteIdxs[1]].pos2.y += 3;
|
||||
if (gSprites[sTradeData->pokePicSpriteIdxs[0]].pos2.y < -160 && gSprites[sTradeData->pokePicSpriteIdxs[0]].pos2.y >= -163)
|
||||
gSprites[sTradeData->pokePicSpriteIdxs[0]].y2 -= 3;
|
||||
gSprites[sTradeData->pokePicSpriteIdxs[1]].y2 += 3;
|
||||
if (gSprites[sTradeData->pokePicSpriteIdxs[0]].y2 < -160 && gSprites[sTradeData->pokePicSpriteIdxs[0]].y2 >= -163)
|
||||
{
|
||||
PlaySE(SE_WARP_IN);
|
||||
}
|
||||
if (gSprites[sTradeData->pokePicSpriteIdxs[0]].pos2.y < -222)
|
||||
if (gSprites[sTradeData->pokePicSpriteIdxs[0]].y2 < -222)
|
||||
{
|
||||
gSprites[sTradeData->tradeGlow1SpriteId].data[1] = 0;
|
||||
gSprites[sTradeData->gbaScreenSpriteId].data[1] = 0;
|
||||
@@ -1500,9 +1500,9 @@ static bool8 DoTradeAnim_Cable(void)
|
||||
}
|
||||
break;
|
||||
case 39:
|
||||
gSprites[sTradeData->tradeGlow1SpriteId].pos2.y -= 3;
|
||||
gSprites[sTradeData->gbaScreenSpriteId].pos2.y += 3;
|
||||
if (gSprites[sTradeData->tradeGlow1SpriteId].pos2.y <= -222)
|
||||
gSprites[sTradeData->tradeGlow1SpriteId].y2 -= 3;
|
||||
gSprites[sTradeData->gbaScreenSpriteId].y2 += 3;
|
||||
if (gSprites[sTradeData->tradeGlow1SpriteId].y2 <= -222)
|
||||
{
|
||||
BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 16, RGB_BLACK);
|
||||
sTradeData->state++;
|
||||
@@ -1536,9 +1536,9 @@ static bool8 DoTradeAnim_Cable(void)
|
||||
}
|
||||
break;
|
||||
case 43:
|
||||
gSprites[sTradeData->tradeGlow1SpriteId].pos2.y += 3;
|
||||
gSprites[sTradeData->gbaScreenSpriteId].pos2.y += 3;
|
||||
if (gSprites[sTradeData->tradeGlow1SpriteId].pos2.y + gSprites[sTradeData->tradeGlow1SpriteId].pos1.y == 64)
|
||||
gSprites[sTradeData->tradeGlow1SpriteId].y2 += 3;
|
||||
gSprites[sTradeData->gbaScreenSpriteId].y2 += 3;
|
||||
if (gSprites[sTradeData->tradeGlow1SpriteId].y2 + gSprites[sTradeData->tradeGlow1SpriteId].y == 64)
|
||||
{
|
||||
sTradeData->state++;
|
||||
}
|
||||
@@ -1650,10 +1650,10 @@ static bool8 DoTradeAnim_Cable(void)
|
||||
}
|
||||
break;
|
||||
case 66:
|
||||
gSprites[sTradeData->pokePicSpriteIdxs[1]].pos1.x = 120;
|
||||
gSprites[sTradeData->pokePicSpriteIdxs[1]].pos1.y = gMonFrontPicCoords[sTradeData->tradeSpecies[1]].y_offset + 60;
|
||||
gSprites[sTradeData->pokePicSpriteIdxs[1]].pos2.x = 0;
|
||||
gSprites[sTradeData->pokePicSpriteIdxs[1]].pos2.y = 0;
|
||||
gSprites[sTradeData->pokePicSpriteIdxs[1]].x = 120;
|
||||
gSprites[sTradeData->pokePicSpriteIdxs[1]].y = gMonFrontPicCoords[sTradeData->tradeSpecies[1]].y_offset + 60;
|
||||
gSprites[sTradeData->pokePicSpriteIdxs[1]].x2 = 0;
|
||||
gSprites[sTradeData->pokePicSpriteIdxs[1]].y2 = 0;
|
||||
StartSpriteAnim(&gSprites[sTradeData->pokePicSpriteIdxs[1]], 0);
|
||||
CreatePokeballSpriteToReleaseMon(sTradeData->pokePicSpriteIdxs[1], gSprites[sTradeData->pokePicSpriteIdxs[1]].oam.paletteNum, 120, 84, 2, 1, 20, 0xFFFFF);
|
||||
FreeSpriteOamMatrix(&gSprites[sTradeData->pokeballSpriteId2]);
|
||||
@@ -1766,8 +1766,8 @@ static bool8 DoTradeAnim_Wireless(void)
|
||||
{
|
||||
case 0:
|
||||
gSprites[sTradeData->pokePicSpriteIdxs[0]].invisible = FALSE;
|
||||
gSprites[sTradeData->pokePicSpriteIdxs[0]].pos2.x = -180;
|
||||
gSprites[sTradeData->pokePicSpriteIdxs[0]].pos2.y = gMonFrontPicCoords[sTradeData->tradeSpecies[0]].y_offset;
|
||||
gSprites[sTradeData->pokePicSpriteIdxs[0]].x2 = -180;
|
||||
gSprites[sTradeData->pokePicSpriteIdxs[0]].y2 = gMonFrontPicCoords[sTradeData->tradeSpecies[0]].y_offset;
|
||||
sTradeData->state++;
|
||||
sTradeData->cachedMapMusic = GetCurrentMapMusic();
|
||||
PlayNewMapMusic(MUS_EVOLUTION);
|
||||
@@ -1775,12 +1775,12 @@ static bool8 DoTradeAnim_Wireless(void)
|
||||
case 1:
|
||||
if (sTradeData->bg2hofs > 0)
|
||||
{
|
||||
gSprites[sTradeData->pokePicSpriteIdxs[0]].pos2.x += 3;
|
||||
gSprites[sTradeData->pokePicSpriteIdxs[0]].x2 += 3;
|
||||
sTradeData->bg2hofs -= 3;
|
||||
}
|
||||
else
|
||||
{
|
||||
gSprites[sTradeData->pokePicSpriteIdxs[0]].pos2.x = 0;
|
||||
gSprites[sTradeData->pokePicSpriteIdxs[0]].x2 = 0;
|
||||
sTradeData->bg2hofs = 0;
|
||||
sTradeData->state = 10;
|
||||
}
|
||||
@@ -1906,9 +1906,9 @@ static bool8 DoTradeAnim_Wireless(void)
|
||||
DISPCNT_OBJ_ON);
|
||||
break;
|
||||
case 200:
|
||||
gSprites[sTradeData->tradeGlow1SpriteId].pos1.y -= 2;
|
||||
gSprites[sTradeData->gbaScreenSpriteId].pos1.y -= 2;
|
||||
if (gSprites[sTradeData->tradeGlow1SpriteId].pos1.y < -8)
|
||||
gSprites[sTradeData->tradeGlow1SpriteId].y -= 2;
|
||||
gSprites[sTradeData->gbaScreenSpriteId].y -= 2;
|
||||
if (gSprites[sTradeData->tradeGlow1SpriteId].y < -8)
|
||||
{
|
||||
sTradeData->state = 29;
|
||||
}
|
||||
@@ -1938,13 +1938,13 @@ static bool8 DoTradeAnim_Wireless(void)
|
||||
PlaySE(SE_WARP_OUT);
|
||||
sTradeData->state++;
|
||||
}
|
||||
gSprites[sTradeData->tradeGlow1SpriteId].pos2.y -= 3;
|
||||
gSprites[sTradeData->gbaScreenSpriteId].pos2.y += 3;
|
||||
gSprites[sTradeData->tradeGlow1SpriteId].y2 -= 3;
|
||||
gSprites[sTradeData->gbaScreenSpriteId].y2 += 3;
|
||||
break;
|
||||
case 33:
|
||||
gSprites[sTradeData->tradeGlow1SpriteId].pos2.y -= 3;
|
||||
gSprites[sTradeData->gbaScreenSpriteId].pos2.y += 3;
|
||||
if (gSprites[sTradeData->tradeGlow1SpriteId].pos2.y <= -90)
|
||||
gSprites[sTradeData->tradeGlow1SpriteId].y2 -= 3;
|
||||
gSprites[sTradeData->gbaScreenSpriteId].y2 += 3;
|
||||
if (gSprites[sTradeData->tradeGlow1SpriteId].y2 <= -90)
|
||||
{
|
||||
gSprites[sTradeData->tradeGlow1SpriteId].data[1] = 1;
|
||||
gSprites[sTradeData->gbaScreenSpriteId].data[1] = 1;
|
||||
@@ -1977,22 +1977,22 @@ static bool8 DoTradeAnim_Wireless(void)
|
||||
StartSpriteAffineAnim(&gSprites[sTradeData->pokePicSpriteIdxs[0]], 0);
|
||||
}
|
||||
StartSpriteAffineAnim(&gSprites[sTradeData->pokePicSpriteIdxs[1]], 0);
|
||||
gSprites[sTradeData->pokePicSpriteIdxs[0]].pos1.x = 40;
|
||||
gSprites[sTradeData->pokePicSpriteIdxs[1]].pos1.x = 200;
|
||||
gSprites[sTradeData->pokePicSpriteIdxs[0]].pos1.y = 192;
|
||||
gSprites[sTradeData->pokePicSpriteIdxs[1]].pos1.y = -32;
|
||||
gSprites[sTradeData->pokePicSpriteIdxs[0]].x = 40;
|
||||
gSprites[sTradeData->pokePicSpriteIdxs[1]].x = 200;
|
||||
gSprites[sTradeData->pokePicSpriteIdxs[0]].y = 192;
|
||||
gSprites[sTradeData->pokePicSpriteIdxs[1]].y = -32;
|
||||
gSprites[sTradeData->pokePicSpriteIdxs[0]].invisible = FALSE;
|
||||
gSprites[sTradeData->pokePicSpriteIdxs[1]].invisible = FALSE;
|
||||
sTradeData->state++;
|
||||
break;
|
||||
case 38:
|
||||
gSprites[sTradeData->pokePicSpriteIdxs[0]].pos2.y -= 3;
|
||||
gSprites[sTradeData->pokePicSpriteIdxs[1]].pos2.y += 3;
|
||||
if (gSprites[sTradeData->pokePicSpriteIdxs[0]].pos2.y < -160 && gSprites[sTradeData->pokePicSpriteIdxs[0]].pos2.y >= -163)
|
||||
gSprites[sTradeData->pokePicSpriteIdxs[0]].y2 -= 3;
|
||||
gSprites[sTradeData->pokePicSpriteIdxs[1]].y2 += 3;
|
||||
if (gSprites[sTradeData->pokePicSpriteIdxs[0]].y2 < -160 && gSprites[sTradeData->pokePicSpriteIdxs[0]].y2 >= -163)
|
||||
{
|
||||
PlaySE(SE_WARP_IN);
|
||||
}
|
||||
if (gSprites[sTradeData->pokePicSpriteIdxs[0]].pos2.y < -222)
|
||||
if (gSprites[sTradeData->pokePicSpriteIdxs[0]].y2 < -222)
|
||||
{
|
||||
gSprites[sTradeData->tradeGlow1SpriteId].data[1] = 0;
|
||||
gSprites[sTradeData->gbaScreenSpriteId].data[1] = 0;
|
||||
@@ -2003,9 +2003,9 @@ static bool8 DoTradeAnim_Wireless(void)
|
||||
}
|
||||
break;
|
||||
case 39:
|
||||
gSprites[sTradeData->tradeGlow1SpriteId].pos2.y -= 3;
|
||||
gSprites[sTradeData->gbaScreenSpriteId].pos2.y += 3;
|
||||
if (gSprites[sTradeData->tradeGlow1SpriteId].pos2.y <= -222)
|
||||
gSprites[sTradeData->tradeGlow1SpriteId].y2 -= 3;
|
||||
gSprites[sTradeData->gbaScreenSpriteId].y2 += 3;
|
||||
if (gSprites[sTradeData->tradeGlow1SpriteId].y2 <= -222)
|
||||
{
|
||||
BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 16, RGB_BLACK);
|
||||
sTradeData->state++;
|
||||
@@ -2042,9 +2042,9 @@ static bool8 DoTradeAnim_Wireless(void)
|
||||
}
|
||||
break;
|
||||
case 43:
|
||||
gSprites[sTradeData->tradeGlow1SpriteId].pos2.y += 4;
|
||||
gSprites[sTradeData->gbaScreenSpriteId].pos2.y += 4;
|
||||
if (gSprites[sTradeData->tradeGlow1SpriteId].pos2.y + gSprites[sTradeData->tradeGlow1SpriteId].pos1.y == 64)
|
||||
gSprites[sTradeData->tradeGlow1SpriteId].y2 += 4;
|
||||
gSprites[sTradeData->gbaScreenSpriteId].y2 += 4;
|
||||
if (gSprites[sTradeData->tradeGlow1SpriteId].y2 + gSprites[sTradeData->tradeGlow1SpriteId].y == 64)
|
||||
{
|
||||
sTradeData->state = 144;
|
||||
sTradeData->timer = 0;
|
||||
@@ -2171,10 +2171,10 @@ static bool8 DoTradeAnim_Wireless(void)
|
||||
}
|
||||
break;
|
||||
case 66:
|
||||
gSprites[sTradeData->pokePicSpriteIdxs[1]].pos1.x = 120;
|
||||
gSprites[sTradeData->pokePicSpriteIdxs[1]].pos1.y = gMonFrontPicCoords[sTradeData->tradeSpecies[1]].y_offset + 60;
|
||||
gSprites[sTradeData->pokePicSpriteIdxs[1]].pos2.x = 0;
|
||||
gSprites[sTradeData->pokePicSpriteIdxs[1]].pos2.y = 0;
|
||||
gSprites[sTradeData->pokePicSpriteIdxs[1]].x = 120;
|
||||
gSprites[sTradeData->pokePicSpriteIdxs[1]].y = gMonFrontPicCoords[sTradeData->tradeSpecies[1]].y_offset + 60;
|
||||
gSprites[sTradeData->pokePicSpriteIdxs[1]].x2 = 0;
|
||||
gSprites[sTradeData->pokePicSpriteIdxs[1]].y2 = 0;
|
||||
StartSpriteAnim(&gSprites[sTradeData->pokePicSpriteIdxs[1]], 0);
|
||||
CreatePokeballSpriteToReleaseMon(sTradeData->pokePicSpriteIdxs[1], gSprites[sTradeData->pokePicSpriteIdxs[1]].oam.paletteNum, 120, 84, 2, 1, 20, 0xFFFFF);
|
||||
FreeSpriteOamMatrix(&gSprites[sTradeData->pokeballSpriteId2]);
|
||||
@@ -2328,16 +2328,16 @@ static void HandleLinkDataReceive(void)
|
||||
|
||||
static void SpriteCB_TradePokeball_Default(struct Sprite * sprite)
|
||||
{
|
||||
sprite->pos1.y += sprite->data[0] / 10;
|
||||
sprite->y += sprite->data[0] / 10;
|
||||
sprite->data[5] += sprite->data[1];
|
||||
sprite->pos1.x = sprite->data[5] / 10;
|
||||
if (sprite->pos1.y > 76)
|
||||
sprite->x = sprite->data[5] / 10;
|
||||
if (sprite->y > 76)
|
||||
{
|
||||
sprite->pos1.y = 76;
|
||||
sprite->y = 76;
|
||||
sprite->data[0] = -(sprite->data[0] * sprite->data[2]) / 100;
|
||||
sprite->data[3]++;
|
||||
}
|
||||
if (sprite->pos1.x == 120)
|
||||
if (sprite->x == 120)
|
||||
sprite->data[1] = 0;
|
||||
sprite->data[0] += sprite->data[4];
|
||||
if (sprite->data[3] == 4)
|
||||
@@ -2349,7 +2349,7 @@ static void SpriteCB_TradePokeball_Default(struct Sprite * sprite)
|
||||
|
||||
static void SpriteCB_TradePokeball_Outbound(struct Sprite * sprite)
|
||||
{
|
||||
sprite->pos2.y += sTradeBallVerticalVelocityTable[sprite->data[0]];
|
||||
sprite->y2 += sTradeBallVerticalVelocityTable[sprite->data[0]];
|
||||
if (sprite->data[0] == 22)
|
||||
PlaySE(SE_BALL_BOUNCE_1);
|
||||
sprite->data[0]++;
|
||||
@@ -2369,7 +2369,7 @@ static void SpriteCB_TradePokeball_Outbound2(struct Sprite * sprite)
|
||||
sprite->data[1]++;
|
||||
if (sprite->data[1] > 20)
|
||||
{
|
||||
sprite->pos2.y -= sTradeBallVerticalVelocityTable[sprite->data[0]];
|
||||
sprite->y2 -= sTradeBallVerticalVelocityTable[sprite->data[0]];
|
||||
sprite->data[0]++;
|
||||
if (sprite->data[0] == 23)
|
||||
{
|
||||
@@ -2383,8 +2383,8 @@ static void SpriteCB_TradePokeball_Inbound(struct Sprite * sprite)
|
||||
{
|
||||
if (sprite->data[2] == 0)
|
||||
{
|
||||
sprite->pos1.y += 4;
|
||||
if (sprite->pos1.y > sprite->data[3])
|
||||
sprite->y += 4;
|
||||
if (sprite->y > sprite->data[3])
|
||||
{
|
||||
sprite->data[2]++;
|
||||
sprite->data[0] = 22;
|
||||
@@ -2399,7 +2399,7 @@ static void SpriteCB_TradePokeball_Inbound(struct Sprite * sprite)
|
||||
PlaySE(SE_BALL_BOUNCE_3);
|
||||
if (sprite->data[0] == 107)
|
||||
PlaySE(SE_BALL_BOUNCE_4);
|
||||
sprite->pos2.y += sTradeBallVerticalVelocityTable[sprite->data[0]];
|
||||
sprite->y2 += sTradeBallVerticalVelocityTable[sprite->data[0]];
|
||||
sprite->data[0]++;
|
||||
if (sprite->data[0] == 108)
|
||||
sprite->callback = SpriteCallbackDummy;
|
||||
|
||||
+4
-4
@@ -732,10 +732,10 @@ static void SpriteCB_TrainerIcons(struct Sprite *sprite)
|
||||
{
|
||||
struct Sprite *objEventSprite = &gSprites[gObjectEvents[objEventId].spriteId];
|
||||
sprite->sData4 += sprite->sData3;
|
||||
sprite->pos1.x = objEventSprite->pos1.x;
|
||||
sprite->pos1.y = objEventSprite->pos1.y - 16;
|
||||
sprite->pos2.x = objEventSprite->pos2.x;
|
||||
sprite->pos2.y = objEventSprite->pos2.y + sprite->sData4;
|
||||
sprite->x = objEventSprite->x;
|
||||
sprite->y = objEventSprite->y - 16;
|
||||
sprite->x2 = objEventSprite->x2;
|
||||
sprite->y2 = objEventSprite->y2 + sprite->sData4;
|
||||
if (sprite->sData4)
|
||||
sprite->sData3++;
|
||||
else
|
||||
|
||||
@@ -199,14 +199,14 @@ void UnionRoomChat_MoveSelectorCursorObj(void)
|
||||
if (page != UNION_ROOM_KB_PAGE_COUNT)
|
||||
{
|
||||
StartSpriteAnim(sWork->selectorCursorSprite, 0);
|
||||
sWork->selectorCursorSprite->pos1.x = x * 8 + 10;
|
||||
sWork->selectorCursorSprite->pos1.y = y * 12 + 24;
|
||||
sWork->selectorCursorSprite->x = x * 8 + 10;
|
||||
sWork->selectorCursorSprite->y = y * 12 + 24;
|
||||
}
|
||||
else
|
||||
{
|
||||
StartSpriteAnim(sWork->selectorCursorSprite, 2);
|
||||
sWork->selectorCursorSprite->pos1.x = 24;
|
||||
sWork->selectorCursorSprite->pos1.y = y * 12 + 24;
|
||||
sWork->selectorCursorSprite->x = 24;
|
||||
sWork->selectorCursorSprite->y = y * 12 + 24;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -263,7 +263,7 @@ static void SpriteCB_TextEntryCursor(struct Sprite *sprite)
|
||||
else
|
||||
{
|
||||
sprite->invisible = FALSE;
|
||||
sprite->pos1.x = var0 * 8 + 76;
|
||||
sprite->x = var0 * 8 + 76;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -272,8 +272,8 @@ static void SpriteCB_CharacterSelectCursor(struct Sprite *sprite)
|
||||
if (++sprite->data[0] > 4)
|
||||
{
|
||||
sprite->data[0] = 0;
|
||||
if (++sprite->pos2.x > 4)
|
||||
sprite->pos2.x = 0;
|
||||
if (++sprite->x2 > 4)
|
||||
sprite->x2 = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -708,8 +708,8 @@ static void ResetMovementOfRematchableTrainers(void)
|
||||
u8 movementType = GetRandomFaceDirectionMovementType();
|
||||
if (objectEvent->active && gSprites[objectEvent->spriteId].data[0] == i)
|
||||
{
|
||||
gSprites[objectEvent->spriteId].pos2.x = 0;
|
||||
gSprites[objectEvent->spriteId].pos2.y = 0;
|
||||
gSprites[objectEvent->spriteId].x2 = 0;
|
||||
gSprites[objectEvent->spriteId].y2 = 0;
|
||||
SetTrainerMovementType(objectEvent, movementType);
|
||||
}
|
||||
}
|
||||
|
||||
+61
-61
@@ -505,8 +505,8 @@ static void AnimRainDrop_Step(struct Sprite *sprite)
|
||||
{
|
||||
if (++sprite->data[0] < 14) // Was 13 in emerald
|
||||
{
|
||||
sprite->pos2.x += 1;
|
||||
sprite->pos2.y += 4;
|
||||
sprite->x2 += 1;
|
||||
sprite->y2 += 4;
|
||||
}
|
||||
if (sprite->animEnded)
|
||||
{
|
||||
@@ -521,28 +521,28 @@ static void AnimWaterBubbleProjectile(struct Sprite *sprite)
|
||||
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) - gBattleAnimArgs[0];
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + gBattleAnimArgs[1];
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) - gBattleAnimArgs[0];
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + gBattleAnimArgs[1];
|
||||
sprite->animPaused = TRUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) + gBattleAnimArgs[0];
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + gBattleAnimArgs[1];
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) + gBattleAnimArgs[0];
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + gBattleAnimArgs[1];
|
||||
sprite->animPaused = TRUE;
|
||||
}
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
|
||||
sprite->data[0] = gBattleAnimArgs[6];
|
||||
sprite->data[1] = sprite->pos1.x;
|
||||
sprite->data[1] = sprite->x;
|
||||
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
|
||||
sprite->data[3] = sprite->pos1.y;
|
||||
sprite->data[3] = sprite->y;
|
||||
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
|
||||
InitAnimLinearTranslation(sprite);
|
||||
spriteId = CreateInvisibleSpriteWithCallback(SpriteCallbackDummy);
|
||||
sprite->data[5] = spriteId;
|
||||
sprite->pos1.x -= Sin((u8)gBattleAnimArgs[4], gBattleAnimArgs[2]);
|
||||
sprite->pos1.y -= Cos((u8)gBattleAnimArgs[4], gBattleAnimArgs[3]);
|
||||
sprite->x -= Sin((u8)gBattleAnimArgs[4], gBattleAnimArgs[2]);
|
||||
sprite->y -= Cos((u8)gBattleAnimArgs[4], gBattleAnimArgs[3]);
|
||||
gSprites[spriteId].data[0] = gBattleAnimArgs[2];
|
||||
gSprites[spriteId].data[1] = gBattleAnimArgs[3];
|
||||
gSprites[spriteId].data[2] = gBattleAnimArgs[5];
|
||||
@@ -560,8 +560,8 @@ static void AnimWaterBubbleProjectile_Step1(struct Sprite *sprite)
|
||||
|
||||
sprite->data[0] = 1;
|
||||
AnimTranslateLinear(sprite);
|
||||
sprite->pos2.x += Sin(trigIndex >> 8, gSprites[otherSpriteId].data[0]);
|
||||
sprite->pos2.y += Cos(trigIndex >> 8, gSprites[otherSpriteId].data[1]);
|
||||
sprite->x2 += Sin(trigIndex >> 8, gSprites[otherSpriteId].data[0]);
|
||||
sprite->y2 += Cos(trigIndex >> 8, gSprites[otherSpriteId].data[1]);
|
||||
gSprites[otherSpriteId].data[3] = trigIndex + gSprites[otherSpriteId].data[2];
|
||||
if (--timer != 0)
|
||||
{
|
||||
@@ -598,9 +598,9 @@ static void AnimAuroraBeamRings(struct Sprite *sprite)
|
||||
else
|
||||
unkArg = gBattleAnimArgs[2];
|
||||
sprite->data[0] = gBattleAnimArgs[4];
|
||||
sprite->data[1] = sprite->pos1.x;
|
||||
sprite->data[1] = sprite->x;
|
||||
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + unkArg;
|
||||
sprite->data[3] = sprite->pos1.y;
|
||||
sprite->data[3] = sprite->y;
|
||||
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[3];
|
||||
InitAnimLinearTranslation(sprite);
|
||||
sprite->callback = AnimAuroraBeamRings_Step;
|
||||
@@ -652,9 +652,9 @@ static void AnimToTargetInSinWave(struct Sprite *sprite)
|
||||
|
||||
InitSpritePosToAnimAttacker(sprite, TRUE);
|
||||
sprite->data[0] = 30;
|
||||
sprite->data[1] = sprite->pos1.x;
|
||||
sprite->data[1] = sprite->x;
|
||||
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
|
||||
sprite->data[3] = sprite->pos1.y;
|
||||
sprite->data[3] = sprite->y;
|
||||
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
|
||||
InitAnimLinearTranslation(sprite);
|
||||
sprite->data[5] = 0xD200 / sprite->data[0];
|
||||
@@ -677,7 +677,7 @@ static void AnimToTargetInSinWave_Step(struct Sprite *sprite)
|
||||
{
|
||||
if (AnimTranslateLinear(sprite))
|
||||
DestroyAnimSprite(sprite);
|
||||
sprite->pos2.y += Sin(sprite->data[6] >> 8, sprite->data[7]);
|
||||
sprite->y2 += Sin(sprite->data[6] >> 8, sprite->data[7]);
|
||||
if ((sprite->data[6] + sprite->data[5]) >> 8 > 127)
|
||||
{
|
||||
sprite->data[6] = 0;
|
||||
@@ -708,26 +708,26 @@ static void AnimHydroCannonCharge(struct Sprite *sprite)
|
||||
{
|
||||
u8 priority;
|
||||
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1);
|
||||
sprite->pos2.y = -10;
|
||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0);
|
||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1);
|
||||
sprite->y2 = -10;
|
||||
priority = GetBattlerSpriteSubpriority(gBattleAnimAttacker);
|
||||
if (!IsContest())
|
||||
{
|
||||
if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
|
||||
{
|
||||
sprite->pos2.x = 10;
|
||||
sprite->x2 = 10;
|
||||
sprite->subpriority = priority + 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos2.x = -10;
|
||||
sprite->x2 = -10;
|
||||
sprite->subpriority = priority - 2;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->pos2.x = -10;
|
||||
sprite->x2 = -10;
|
||||
sprite->subpriority = priority + 2;
|
||||
}
|
||||
sprite->callback = AnimHydroCannonCharge_Step;
|
||||
@@ -773,8 +773,8 @@ static void AnimWaterGunDroplet(struct Sprite *sprite)
|
||||
{
|
||||
InitSpritePosToAnimTarget(sprite, TRUE);
|
||||
sprite->data[0] = gBattleAnimArgs[4];
|
||||
sprite->data[2] = sprite->pos1.x + gBattleAnimArgs[2];
|
||||
sprite->data[4] = sprite->pos1.y + gBattleAnimArgs[4];
|
||||
sprite->data[2] = sprite->x + gBattleAnimArgs[2];
|
||||
sprite->data[4] = sprite->y + gBattleAnimArgs[4];
|
||||
sprite->callback = StartAnimLinearTranslation;
|
||||
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
|
||||
}
|
||||
@@ -792,9 +792,9 @@ static void AnimSmallBubblePair(struct Sprite *sprite)
|
||||
static void AnimSmallBubblePair_Step(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[0] = (sprite->data[0] + 11) & 0xFF;
|
||||
sprite->pos2.x = Sin(sprite->data[0], 4);
|
||||
sprite->x2 = Sin(sprite->data[0], 4);
|
||||
sprite->data[1] += 48;
|
||||
sprite->pos2.y = -(sprite->data[1] >> 8);
|
||||
sprite->y2 = -(sprite->data[1] >> 8);
|
||||
if (sprite->data[7]-- == 0)
|
||||
DestroyAnimSprite(sprite);
|
||||
}
|
||||
@@ -1032,10 +1032,10 @@ static void AnimSmallDriftingBubbles_Step(struct Sprite *sprite)
|
||||
sprite->data[3] += sprite->data[1];
|
||||
sprite->data[4] += sprite->data[2];
|
||||
if (sprite->data[1] & 1)
|
||||
sprite->pos2.x = -(sprite->data[3] >> 8);
|
||||
sprite->x2 = -(sprite->data[3] >> 8);
|
||||
else
|
||||
sprite->pos2.x = sprite->data[3] >> 8;
|
||||
sprite->pos2.y = sprite->data[4] >> 8;
|
||||
sprite->x2 = sprite->data[3] >> 8;
|
||||
sprite->y2 = sprite->data[4] >> 8;
|
||||
if (++sprite->data[0] == 21)
|
||||
DestroyAnimSprite(sprite);
|
||||
}
|
||||
@@ -1045,7 +1045,7 @@ void AnimTask_WaterSpoutLaunch(u8 taskId)
|
||||
struct Task *task = &gTasks[taskId];
|
||||
|
||||
task->data[15] = GetAnimBattlerSpriteId(ANIM_ATTACKER);
|
||||
task->data[5] = gSprites[task->data[15]].pos1.y;
|
||||
task->data[5] = gSprites[task->data[15]].y;
|
||||
task->data[1] = GetWaterSpoutPowerForAnim();
|
||||
PrepareBattlerSpriteForRotScale(task->data[15], ST_OAM_OBJ_NORMAL);
|
||||
task->func = AnimTask_WaterSpoutLaunch_Step;
|
||||
@@ -1066,18 +1066,18 @@ static void AnimTask_WaterSpoutLaunch_Step(u8 taskId)
|
||||
task->data[3] = 0;
|
||||
if (++task->data[4] & 1)
|
||||
{
|
||||
gSprites[task->data[15]].pos2.x = 3;
|
||||
gSprites[task->data[15]].pos1.y++;
|
||||
gSprites[task->data[15]].x2 = 3;
|
||||
gSprites[task->data[15]].y++;
|
||||
}
|
||||
else
|
||||
{
|
||||
gSprites[task->data[15]].pos2.x = -3;
|
||||
gSprites[task->data[15]].x2 = -3;
|
||||
}
|
||||
}
|
||||
if (BattleAnimHelper_RunSpriteSquash(task) == 0)
|
||||
{
|
||||
SetBattlerSpriteYOffsetFromYScale(task->data[15]);
|
||||
gSprites[task->data[15]].pos2.x = 0;
|
||||
gSprites[task->data[15]].x2 = 0;
|
||||
task->data[3] = 0;
|
||||
task->data[4] = 0;
|
||||
task->data[0]++;
|
||||
@@ -1107,9 +1107,9 @@ static void AnimTask_WaterSpoutLaunch_Step(u8 taskId)
|
||||
{
|
||||
task->data[3] = 0;
|
||||
if (++task->data[4] & 1)
|
||||
gSprites[task->data[15]].pos2.y += 2;
|
||||
gSprites[task->data[15]].y2 += 2;
|
||||
else
|
||||
gSprites[task->data[15]].pos2.y -= 2;
|
||||
gSprites[task->data[15]].y2 -= 2;
|
||||
if (task->data[4] == 10)
|
||||
{
|
||||
BattleAnimHelper_SetSpriteSquashParams(task, task->data[15], 384, 224, 0x100, 0x100, 8);
|
||||
@@ -1120,11 +1120,11 @@ static void AnimTask_WaterSpoutLaunch_Step(u8 taskId)
|
||||
}
|
||||
break;
|
||||
case 6:
|
||||
gSprites[task->data[15]].pos1.y--;
|
||||
gSprites[task->data[15]].y--;
|
||||
if (BattleAnimHelper_RunSpriteSquash(task) == 0)
|
||||
{
|
||||
ResetSpriteRotScale(task->data[15]);
|
||||
gSprites[task->data[15]].pos1.y = task->data[5];
|
||||
gSprites[task->data[15]].y = task->data[5];
|
||||
task->data[4] = 0;
|
||||
task->data[0]++;
|
||||
}
|
||||
@@ -1214,9 +1214,9 @@ static void AnimSmallWaterOrb(struct Sprite *sprite)
|
||||
case 1:
|
||||
sprite->data[2] += sprite->data[4];
|
||||
sprite->data[3] += sprite->data[5];
|
||||
sprite->pos1.x = sprite->data[2] >> 4;
|
||||
sprite->pos1.y = sprite->data[3] >> 4;
|
||||
if (sprite->pos1.x < -8 || sprite->pos1.x > 248 || sprite->pos1.y < -8 || sprite->pos1.y > 120)
|
||||
sprite->x = sprite->data[2] >> 4;
|
||||
sprite->y = sprite->data[3] >> 4;
|
||||
if (sprite->x < -8 || sprite->x > 248 || sprite->y < -8 || sprite->y > 120)
|
||||
{
|
||||
gTasks[sprite->data[6]].data[sprite->data[7]]--;
|
||||
DestroySprite(sprite);
|
||||
@@ -1311,11 +1311,11 @@ static void AnimWaterSpoutRain(struct Sprite *sprite)
|
||||
{
|
||||
if (sprite->data[0] == 0)
|
||||
{
|
||||
sprite->pos1.y += 8;
|
||||
if (sprite->pos1.y >= sprite->data[5])
|
||||
sprite->y += 8;
|
||||
if (sprite->y >= sprite->data[5])
|
||||
{
|
||||
gTasks[sprite->data[6]].data[10] = 1;
|
||||
sprite->data[1] = CreateSprite(&gWaterHitSplatSpriteTemplate, sprite->pos1.x, sprite->pos1.y, 1);
|
||||
sprite->data[1] = CreateSprite(&gWaterHitSplatSpriteTemplate, sprite->x, sprite->y, 1);
|
||||
if (sprite->data[1] != MAX_SPRITES)
|
||||
{
|
||||
StartSpriteAffineAnim(&gSprites[sprite->data[1]], 3);
|
||||
@@ -1454,11 +1454,11 @@ static void AnimWaterSportDroplet(struct Sprite *sprite)
|
||||
{
|
||||
if (TranslateAnimHorizontalArc(sprite))
|
||||
{
|
||||
sprite->pos1.x += sprite->pos2.x;
|
||||
sprite->pos1.y += sprite->pos2.y;
|
||||
sprite->x += sprite->x2;
|
||||
sprite->y += sprite->y2;
|
||||
sprite->data[0] = 6;
|
||||
sprite->data[2] = (Random() & 0x1F) - 16 + sprite->pos1.x;
|
||||
sprite->data[4] = (Random() & 0x1F) - 16 + sprite->pos1.y;
|
||||
sprite->data[2] = (Random() & 0x1F) - 16 + sprite->x;
|
||||
sprite->data[4] = (Random() & 0x1F) - 16 + sprite->y;
|
||||
sprite->data[5] = ~(Random() & 7);
|
||||
InitAnimArcTranslation(sprite);
|
||||
sprite->callback = AnimWaterSportDroplet_Step;
|
||||
@@ -1485,8 +1485,8 @@ static void AnimWaterSportDroplet_Step(struct Sprite *sprite)
|
||||
|
||||
static void AnimWaterPulseBubble(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x = gBattleAnimArgs[0];
|
||||
sprite->pos1.y = gBattleAnimArgs[1];
|
||||
sprite->x = gBattleAnimArgs[0];
|
||||
sprite->y = gBattleAnimArgs[1];
|
||||
sprite->data[0] = gBattleAnimArgs[2];
|
||||
sprite->data[1] = gBattleAnimArgs[3];
|
||||
sprite->data[2] = gBattleAnimArgs[4];
|
||||
@@ -1497,9 +1497,9 @@ static void AnimWaterPulseBubble(struct Sprite *sprite)
|
||||
static void AnimWaterPulseBubble_Step(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[4] -= sprite->data[0];
|
||||
sprite->pos2.y = sprite->data[4] / 10;
|
||||
sprite->y2 = sprite->data[4] / 10;
|
||||
sprite->data[5] = (sprite->data[5] + sprite->data[1]) & 0xFF;
|
||||
sprite->pos2.x = Sin(sprite->data[5], sprite->data[2]);
|
||||
sprite->x2 = Sin(sprite->data[5], sprite->data[2]);
|
||||
if (--sprite->data[3] == 0)
|
||||
DestroyAnimSprite(sprite);
|
||||
}
|
||||
@@ -1508,8 +1508,8 @@ static void AnimWaterPulseRingBubble(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[3] += sprite->data[1];
|
||||
sprite->data[4] += sprite->data[2];
|
||||
sprite->pos2.x = sprite->data[3] >> 7;
|
||||
sprite->pos2.y = sprite->data[4] >> 7;
|
||||
sprite->x2 = sprite->data[3] >> 7;
|
||||
sprite->y2 = sprite->data[4] >> 7;
|
||||
if (--sprite->data[0] == 0)
|
||||
{
|
||||
FreeSpriteOamMatrix(sprite);
|
||||
@@ -1529,11 +1529,11 @@ void AnimWaterPulseRing(struct Sprite *sprite)
|
||||
|
||||
static void AnimWaterPulseRing_Step(struct Sprite *sprite)
|
||||
{
|
||||
int xDiff = sprite->data[1] - sprite->pos1.x;
|
||||
int yDiff = sprite->data[2] - sprite->pos1.y;
|
||||
int xDiff = sprite->data[1] - sprite->x;
|
||||
int yDiff = sprite->data[2] - sprite->y;
|
||||
|
||||
sprite->pos2.x = (sprite->data[0] * xDiff) / sprite->data[3];
|
||||
sprite->pos2.y = (sprite->data[0] * yDiff) / sprite->data[3];
|
||||
sprite->x2 = (sprite->data[0] * xDiff) / sprite->data[3];
|
||||
sprite->y2 = (sprite->data[0] * yDiff) / sprite->data[3];
|
||||
if (++sprite->data[5] == sprite->data[4])
|
||||
{
|
||||
sprite->data[5] = 0;
|
||||
@@ -1553,8 +1553,8 @@ static void CreateWaterPulseRingBubbles(struct Sprite *sprite, s32 xDiff, s32 yD
|
||||
u8 spriteId;
|
||||
|
||||
something = sprite->data[0] / 2;
|
||||
combinedX = sprite->pos1.x + sprite->pos2.x;
|
||||
combinedY = sprite->pos1.y + sprite->pos2.y;
|
||||
combinedX = sprite->x + sprite->x2;
|
||||
combinedY = sprite->y + sprite->y2;
|
||||
if (yDiff < 0)
|
||||
unusedVar *= -1; //Needed to Match
|
||||
somethingRandomY = yDiff + (Random() % 10) - 5;
|
||||
|
||||
Reference in New Issue
Block a user