Name all syms in battle_anim_mons
This commit is contained in:
+11
-11
@@ -367,7 +367,7 @@ void TranslateSpriteInCircleOverDuration(struct Sprite *sprite);
|
|||||||
void TranslateSpriteInGrowingCircleOverDuration(struct Sprite *sprite);
|
void TranslateSpriteInGrowingCircleOverDuration(struct Sprite *sprite);
|
||||||
void TranslateSpriteInEllipseOverDuration(struct Sprite *sprite);
|
void TranslateSpriteInEllipseOverDuration(struct Sprite *sprite);
|
||||||
void WaitAnimForDuration(struct Sprite *sprite);
|
void WaitAnimForDuration(struct Sprite *sprite);
|
||||||
void sub_8074C80(struct Sprite *sprite);
|
void SetupLinearTranslationWithFixedDuration(struct Sprite *sprite);
|
||||||
void TranslateSpriteLinear(struct Sprite *sprite);
|
void TranslateSpriteLinear(struct Sprite *sprite);
|
||||||
void TranslateSpriteLinearFixedPoint(struct Sprite *sprite);
|
void TranslateSpriteLinearFixedPoint(struct Sprite *sprite);
|
||||||
void TranslateMonSpriteLinear(struct Sprite *sprite);
|
void TranslateMonSpriteLinear(struct Sprite *sprite);
|
||||||
@@ -412,13 +412,13 @@ void BattleAnim_InitAndRunLinearTranslationWithDuration(struct Sprite *sprite);
|
|||||||
void InitAndRunAnimFastLinearTranslation(struct Sprite *sprite);
|
void InitAndRunAnimFastLinearTranslation(struct Sprite *sprite);
|
||||||
bool8 AnimFastTranslateLinear(struct Sprite *sprite);
|
bool8 AnimFastTranslateLinear(struct Sprite *sprite);
|
||||||
void InitAnimFastLinearTranslationWithSpeed(struct Sprite *sprite);
|
void InitAnimFastLinearTranslationWithSpeed(struct Sprite *sprite);
|
||||||
void sub_8075830(struct Sprite *sprite);
|
void InitAndStartAnimFastLinearTranslationWithSpeed(struct Sprite *sprite);
|
||||||
void SetSpriteRotScale(u8 spriteId, s16 xScale, s16 yScale, u16 rotation);
|
void SetSpriteRotScale(u8 spriteId, s16 xScale, s16 yScale, u16 rotation);
|
||||||
void PrepareBattlerSpriteForRotScale(u8 spriteId, u8 objMode);
|
void PrepareBattlerSpriteForRotScale(u8 spriteId, u8 objMode);
|
||||||
void ResetSpriteRotScale(u8 spriteId);
|
void ResetSpriteRotScale(u8 spriteId);
|
||||||
void SetBattlerSpriteYOffsetFromRotation(u8 spriteId);
|
void SetBattlerSpriteYOffsetFromRotation(u8 spriteId);
|
||||||
void TrySetSpriteRotScale(struct Sprite *sprite, bool8 recalcCenterVector, s16 xScale, s16 yScale, u16 rotation);
|
void TrySetSpriteRotScale(struct Sprite *sprite, bool8 recalcCenterVector, s16 xScale, s16 yScale, u16 rotation);
|
||||||
void sub_8075AD8(struct Sprite *sprite);
|
void TryResetSpriteAffineState(struct Sprite *sprite);
|
||||||
u16 ArcTan2Neg(s16 a, s16 b);
|
u16 ArcTan2Neg(s16 a, s16 b);
|
||||||
void SetGreyscaleOrOriginalPalette(u16 paletteNum, bool8 restoreOriginalColor);
|
void SetGreyscaleOrOriginalPalette(u16 paletteNum, bool8 restoreOriginalColor);
|
||||||
u32 SelectBattleAnimSpriteAndBgPalettes(bool8 battleBackground, bool8 attacker, bool8 target, bool8 attackerPartner, bool8 targetPartner, bool8 a6, bool8 a7);
|
u32 SelectBattleAnimSpriteAndBgPalettes(bool8 battleBackground, bool8 attacker, bool8 target, bool8 attackerPartner, bool8 targetPartner, bool8 a6, bool8 a7);
|
||||||
@@ -439,10 +439,10 @@ void SetBattlerSpriteYOffsetFromYScale(u8 spriteId);
|
|||||||
void SetBattlerSpriteYOffsetFromOtherYScale(u8 spriteId, u8 otherSpriteId);
|
void SetBattlerSpriteYOffsetFromOtherYScale(u8 spriteId, u8 otherSpriteId);
|
||||||
void StorePointerInVars(s16 *lo, s16 *hi, const void *ptr);
|
void StorePointerInVars(s16 *lo, s16 *hi, const void *ptr);
|
||||||
void *LoadPointerFromVars(s16 lo, s16 hi);
|
void *LoadPointerFromVars(s16 lo, s16 hi);
|
||||||
void sub_80765D4(struct Task *task, u8 spriteId, s16 a3, s16 a4, s16 a5, s16 a6, u16 a7);
|
void BattleAnimHelper_SetSpriteSquashParams(struct Task *task, u8 spriteId, s16 xScale0, s16 yScale0, s16 xScale1, s16 yScale1, u16 duration);
|
||||||
u8 sub_8076640(struct Task *task);
|
u8 BattleAnimHelper_RunSpriteSquash(struct Task *task);
|
||||||
void AnimTask_GetFrustrationPowerLevel(u8 taskId);
|
void AnimTask_GetFrustrationPowerLevel(u8 taskId);
|
||||||
void sub_80767F0(void);
|
void ResetSpritePriorityOfAllVisibleBattlers(void);
|
||||||
u8 GetBattlerSpriteSubpriority(u8 battlerId);
|
u8 GetBattlerSpriteSubpriority(u8 battlerId);
|
||||||
u8 GetBattlerSpriteBGPriority(u8 battlerId);
|
u8 GetBattlerSpriteBGPriority(u8 battlerId);
|
||||||
|
|
||||||
@@ -453,12 +453,12 @@ u8 CreateAdditionalMonSpriteForMoveAnim(u16 species, bool8 isBackpic, u8 templat
|
|||||||
void DestroySpriteAndFreeResources_(struct Sprite *sprite);
|
void DestroySpriteAndFreeResources_(struct Sprite *sprite);
|
||||||
s16 GetBattlerSpriteCoordAttr(u8 battlerId, u8 attr);
|
s16 GetBattlerSpriteCoordAttr(u8 battlerId, u8 attr);
|
||||||
void SetAverageBattlerPositions(u8 battlerId, bool8 respectMonPicOffsets, s16 *x, s16 *y);
|
void SetAverageBattlerPositions(u8 battlerId, bool8 respectMonPicOffsets, s16 *x, s16 *y);
|
||||||
u8 sub_8076E34(s32 battlerId, u8 spriteId, s32 species);
|
u8 CreateCloneOfSpriteInWindowMode(s32 battlerId, u8 spriteId, s32 species);
|
||||||
void sub_8076ED8(struct Sprite *sprite);
|
void SpriteCB_AnimTranslateSpriteLinearAndFlicker(struct Sprite *sprite);
|
||||||
void sub_8076F58(struct Sprite *sprite);
|
void SpriteCB_AnimTranslateSpriteLinearAndFlicker2(struct Sprite *sprite);
|
||||||
void sub_8076FD0(struct Sprite *sprite);
|
void SpriteCB_TrackOffsetFromAttackerAndWaitAnim(struct Sprite *sprite);
|
||||||
void AnimTask_AttackerPunchWithTrace(u8 taskId);
|
void AnimTask_AttackerPunchWithTrace(u8 taskId);
|
||||||
void sub_807729C(struct Sprite *sprite);
|
void SpriteCB_WeatherBallUp(struct Sprite *sprite);
|
||||||
void AnimWeatherBallDown(struct Sprite *sprite);
|
void AnimWeatherBallDown(struct Sprite *sprite);
|
||||||
|
|
||||||
// battle_anim_mon_movement.c
|
// battle_anim_mon_movement.c
|
||||||
|
|||||||
+2
-2
@@ -1823,7 +1823,7 @@ void LaunchBattleAnimation(const u8 *const animsTable[], u16 tableId, bool8 isMo
|
|||||||
{
|
{
|
||||||
s32 i;
|
s32 i;
|
||||||
|
|
||||||
sub_80767F0();
|
ResetSpritePriorityOfAllVisibleBattlers();
|
||||||
UpdateOamPriorityInAllHealthboxes(0);
|
UpdateOamPriorityInAllHealthboxes(0);
|
||||||
for (i = 0; i < MAX_BATTLERS_COUNT; i++)
|
for (i = 0; i < MAX_BATTLERS_COUNT; i++)
|
||||||
{
|
{
|
||||||
@@ -2128,7 +2128,7 @@ static void ScriptCmd_end(void)
|
|||||||
if (!continuousAnim)
|
if (!continuousAnim)
|
||||||
{
|
{
|
||||||
m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 256);
|
m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 256);
|
||||||
sub_80767F0();
|
ResetSpritePriorityOfAllVisibleBattlers();
|
||||||
UpdateOamPriorityInAllHealthboxes(1);
|
UpdateOamPriorityInAllHealthboxes(1);
|
||||||
gAnimScriptActive = FALSE;
|
gAnimScriptActive = FALSE;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3172,7 +3172,7 @@ static void AnimTask_RolePlaySilhouetteStep2(u8 taskId)
|
|||||||
TrySetSpriteRotScale(&gSprites[spriteId], TRUE, gTasks[taskId].data[10], gTasks[taskId].data[11], 0);
|
TrySetSpriteRotScale(&gSprites[spriteId], TRUE, gTasks[taskId].data[10], gTasks[taskId].data[11], 0);
|
||||||
if (++gTasks[taskId].data[12] == 9)
|
if (++gTasks[taskId].data[12] == 9)
|
||||||
{
|
{
|
||||||
sub_8075AD8(&gSprites[spriteId]);
|
TryResetSpriteAffineState(&gSprites[spriteId]);
|
||||||
DestroySpriteAndFreeResources_(&gSprites[spriteId]);
|
DestroySpriteAndFreeResources_(&gSprites[spriteId]);
|
||||||
gTasks[taskId].func = DestroyAnimVisualTaskAndDisableBlend;
|
gTasks[taskId].func = DestroyAnimVisualTaskAndDisableBlend;
|
||||||
}
|
}
|
||||||
|
|||||||
+61
-53
@@ -23,17 +23,17 @@ static void PlayerThrowBall_RunLinearTranslation_ThenceSetCBtoStoredInData6(stru
|
|||||||
static void SpriteCB_RunAnimFastLinearTranslation(struct Sprite *sprite);
|
static void SpriteCB_RunAnimFastLinearTranslation(struct Sprite *sprite);
|
||||||
static bool8 Dummy_ReturnFalse(void);
|
static bool8 Dummy_ReturnFalse(void);
|
||||||
static void AnimThrowProjectile_Step(struct Sprite *sprite);
|
static void AnimThrowProjectile_Step(struct Sprite *sprite);
|
||||||
static void sub_80760D0(u8 taskId);
|
static void AnimTask_AlphaFadeIn_Step(u8 taskId);
|
||||||
static void AnimTask_BlendMonInAndOutSetup(struct Task *task);
|
static void AnimTask_BlendMonInAndOutSetup(struct Task *task);
|
||||||
static void AnimTask_BlendMonInAndOutStep(u8 taskId);
|
static void AnimTask_BlendMonInAndOutStep(u8 taskId);
|
||||||
static u16 GetBattlerYDeltaFromSpriteId(u8 spriteId);
|
static u16 GetBattlerYDeltaFromSpriteId(u8 spriteId);
|
||||||
static void sub_8077118(u8 taskId);
|
static void AnimTask_AttackerPunchWithTrace_Step(u8 taskId);
|
||||||
static void sub_80771E4(struct Task *task, u8 taskId);
|
static void PunchAnim_CreateTraceSprite(struct Task *task, u8 taskId);
|
||||||
static void sub_8077268(struct Sprite *sprite);
|
static void SpriteCB_PunchTrace(struct Sprite *sprite);
|
||||||
static void sub_80772F4(struct Sprite *sprite);
|
static void SpriteCB_WeatherBallUp_Step(struct Sprite *sprite);
|
||||||
|
|
||||||
static EWRAM_DATA union AffineAnimCmd *sAnimTaskAffineAnim = NULL;
|
static EWRAM_DATA union AffineAnimCmd *sAnimTaskAffineAnim = NULL;
|
||||||
static EWRAM_DATA u32 gUnknown_2037F2C = 0; // not used
|
UNUSED static EWRAM_DATA u32 gUnknown_2037F2C = 0; // not used
|
||||||
|
|
||||||
static const struct UCoords8 sBattlerCoords[][4] =
|
static const struct UCoords8 sBattlerCoords[][4] =
|
||||||
{
|
{
|
||||||
@@ -77,11 +77,11 @@ static const u8 sCastformBackSpriteYCoords[] =
|
|||||||
0, // HAIL
|
0, // HAIL
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct SpriteTemplate gUnknown_83AE054[] =
|
static const struct SpriteTemplate sSpriteTemplates_AdditionalForAnim[] =
|
||||||
{
|
{
|
||||||
{
|
{
|
||||||
.tileTag = 0xD755,
|
.tileTag = 55125,
|
||||||
.paletteTag = 0xD755,
|
.paletteTag = 55125,
|
||||||
.oam = &gOamData_AffineNormal_ObjNormal_64x64,
|
.oam = &gOamData_AffineNormal_ObjNormal_64x64,
|
||||||
.anims = gDummySpriteAnimTable,
|
.anims = gDummySpriteAnimTable,
|
||||||
.images = NULL,
|
.images = NULL,
|
||||||
@@ -89,8 +89,8 @@ static const struct SpriteTemplate gUnknown_83AE054[] =
|
|||||||
.callback = SpriteCallbackDummy,
|
.callback = SpriteCallbackDummy,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
.tileTag = 0xD756,
|
.tileTag = 55126,
|
||||||
.paletteTag = 0xD756,
|
.paletteTag = 55126,
|
||||||
.oam = &gOamData_AffineNormal_ObjNormal_64x64,
|
.oam = &gOamData_AffineNormal_ObjNormal_64x64,
|
||||||
.anims = gDummySpriteAnimTable,
|
.anims = gDummySpriteAnimTable,
|
||||||
.images = NULL,
|
.images = NULL,
|
||||||
@@ -390,6 +390,8 @@ static void SetCallbackToStoredInData6(struct Sprite *sprite)
|
|||||||
sprite->callback = (SpriteCallback)callback;
|
sprite->callback = (SpriteCallback)callback;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// x = a * sin(theta0 + dtheta * t)
|
||||||
|
// y = a * cos(theta0 + dtheta * t)
|
||||||
void TranslateSpriteInCircleOverDuration(struct Sprite *sprite)
|
void TranslateSpriteInCircleOverDuration(struct Sprite *sprite)
|
||||||
{
|
{
|
||||||
if (sprite->data[3])
|
if (sprite->data[3])
|
||||||
@@ -409,6 +411,8 @@ void TranslateSpriteInCircleOverDuration(struct Sprite *sprite)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// x = (a0 + da * t) * sin(theta0 + dtheta * t)
|
||||||
|
// y = (a0 + da * t) * cos(theta0 + dtheta * t)
|
||||||
void TranslateSpriteInGrowingCircleOverDuration(struct Sprite *sprite)
|
void TranslateSpriteInGrowingCircleOverDuration(struct Sprite *sprite)
|
||||||
{
|
{
|
||||||
if (sprite->data[3])
|
if (sprite->data[3])
|
||||||
@@ -430,7 +434,9 @@ void TranslateSpriteInGrowingCircleOverDuration(struct Sprite *sprite)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// not used
|
// not used
|
||||||
static void sub_8074B5C(struct Sprite *sprite)
|
// x = alpl * sin(alpha0 + dalpha * t)
|
||||||
|
// y = ampl * cos(beta0 + dbeta * t)
|
||||||
|
static void TranslateSpriteInLissajousCurveOverDuration(struct Sprite *sprite)
|
||||||
{
|
{
|
||||||
if (sprite->data[3])
|
if (sprite->data[3])
|
||||||
{
|
{
|
||||||
@@ -454,6 +460,8 @@ static void sub_8074B5C(struct Sprite *sprite)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// x = a * sin(theta0 + dtheta * t)
|
||||||
|
// y = b * cos(theta0 + dtheta * t)
|
||||||
void TranslateSpriteInEllipseOverDuration(struct Sprite *sprite)
|
void TranslateSpriteInEllipseOverDuration(struct Sprite *sprite)
|
||||||
{
|
{
|
||||||
if (sprite->data[3])
|
if (sprite->data[3])
|
||||||
@@ -484,14 +492,14 @@ void WaitAnimForDuration(struct Sprite *sprite)
|
|||||||
SetCallbackToStoredInData6(sprite);
|
SetCallbackToStoredInData6(sprite);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sub_8074C64(struct Sprite *sprite)
|
static void SetupAndStartSpriteLinearTranslation(struct Sprite *sprite)
|
||||||
{
|
{
|
||||||
sub_8074C80(sprite);
|
SetupLinearTranslationWithFixedDuration(sprite);
|
||||||
sprite->callback = TranslateSpriteLinear;
|
sprite->callback = TranslateSpriteLinear;
|
||||||
sprite->callback(sprite);
|
sprite->callback(sprite);
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_8074C80(struct Sprite *sprite)
|
void SetupLinearTranslationWithFixedDuration(struct Sprite *sprite)
|
||||||
{
|
{
|
||||||
s16 old;
|
s16 old;
|
||||||
s32 xDiff;
|
s32 xDiff;
|
||||||
@@ -554,13 +562,13 @@ static void TranslateSpriteLinearFixedPointIconFrame(struct Sprite *sprite)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// not used
|
// not used
|
||||||
static void sub_8074D80(struct Sprite *sprite)
|
static void SetupAndStartSpriteLinearTranslationToTarget(struct Sprite *sprite)
|
||||||
{
|
{
|
||||||
sprite->data[1] = sprite->pos1.x + sprite->pos2.x;
|
sprite->data[1] = sprite->pos1.x + sprite->pos2.x;
|
||||||
sprite->data[3] = sprite->pos1.y + sprite->pos2.y;
|
sprite->data[3] = sprite->pos1.y + sprite->pos2.y;
|
||||||
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
|
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
|
||||||
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
|
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
|
||||||
sprite->callback = sub_8074C64;
|
sprite->callback = SetupAndStartSpriteLinearTranslation;
|
||||||
}
|
}
|
||||||
|
|
||||||
void TranslateMonSpriteLinear(struct Sprite *sprite)
|
void TranslateMonSpriteLinear(struct Sprite *sprite)
|
||||||
@@ -621,17 +629,17 @@ void DestroySpriteAndMatrix(struct Sprite *sprite)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// not used
|
// not used
|
||||||
static void sub_8074EF4(struct Sprite *sprite)
|
static void SetupAndStartSpriteLinearTranslationToAttacker(struct Sprite *sprite)
|
||||||
{
|
{
|
||||||
sprite->data[1] = sprite->pos1.x + sprite->pos2.x;
|
sprite->data[1] = sprite->pos1.x + sprite->pos2.x;
|
||||||
sprite->data[3] = sprite->pos1.y + sprite->pos2.y;
|
sprite->data[3] = sprite->pos1.y + sprite->pos2.y;
|
||||||
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||||
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||||
sprite->callback = sub_8074C64;
|
sprite->callback = SetupAndStartSpriteLinearTranslation;
|
||||||
}
|
}
|
||||||
|
|
||||||
// not used
|
// not used
|
||||||
static void sub_8074F38(struct Sprite *sprite)
|
static void SpriteResetPaletteStructAndDestroy(struct Sprite *sprite)
|
||||||
{
|
{
|
||||||
ResetPaletteStructByUid(sprite->data[5]);
|
ResetPaletteStructByUid(sprite->data[5]);
|
||||||
DestroySpriteAndMatrix(sprite);
|
DestroySpriteAndMatrix(sprite);
|
||||||
@@ -1094,7 +1102,7 @@ void InitAnimFastLinearTranslationWithSpeed(struct Sprite *sprite)
|
|||||||
InitAnimFastLinearTranslation(sprite);
|
InitAnimFastLinearTranslation(sprite);
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_8075830(struct Sprite *sprite)
|
void InitAndStartAnimFastLinearTranslationWithSpeed(struct Sprite *sprite)
|
||||||
{
|
{
|
||||||
sprite->data[1] = sprite->pos1.x;
|
sprite->data[1] = sprite->pos1.x;
|
||||||
sprite->data[3] = sprite->pos1.y;
|
sprite->data[3] = sprite->pos1.y;
|
||||||
@@ -1188,7 +1196,7 @@ void TrySetSpriteRotScale(struct Sprite *sprite, bool8 recalcCenterVector, s16 x
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_8075AD8(struct Sprite *sprite)
|
void TryResetSpriteAffineState(struct Sprite *sprite)
|
||||||
{
|
{
|
||||||
TrySetSpriteRotScale(sprite, TRUE, 0x100, 0x100, 0);
|
TrySetSpriteRotScale(sprite, TRUE, 0x100, 0x100, 0);
|
||||||
sprite->affineAnimPaused = FALSE;
|
sprite->affineAnimPaused = FALSE;
|
||||||
@@ -1487,10 +1495,10 @@ void AnimTask_AlphaFadeIn(u8 taskId)
|
|||||||
gTasks[taskId].data[7] = gBattleAnimArgs[2];
|
gTasks[taskId].data[7] = gBattleAnimArgs[2];
|
||||||
gTasks[taskId].data[8] = gBattleAnimArgs[3];
|
gTasks[taskId].data[8] = gBattleAnimArgs[3];
|
||||||
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gBattleAnimArgs[0], gBattleAnimArgs[1]));
|
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gBattleAnimArgs[0], gBattleAnimArgs[1]));
|
||||||
gTasks[taskId].func = sub_80760D0;
|
gTasks[taskId].func = AnimTask_AlphaFadeIn_Step;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sub_80760D0(u8 taskId)
|
static void AnimTask_AlphaFadeIn_Step(u8 taskId)
|
||||||
{
|
{
|
||||||
struct Task *task = &gTasks[taskId];
|
struct Task *task = &gTasks[taskId];
|
||||||
|
|
||||||
@@ -1750,19 +1758,19 @@ void *LoadPointerFromVars(s16 lo, s16 hi)
|
|||||||
return (void *)((u16)lo | ((u16)hi << 16));
|
return (void *)((u16)lo | ((u16)hi << 16));
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_80765D4(struct Task *task, u8 spriteId, s16 a3, s16 a4, s16 a5, s16 a6, u16 a7)
|
void BattleAnimHelper_SetSpriteSquashParams(struct Task *task, u8 spriteId, s16 xScale0, s16 yScale0, s16 xScale1, s16 yScale1, u16 duration)
|
||||||
{
|
{
|
||||||
task->data[8] = a7;
|
task->data[8] = duration;
|
||||||
task->data[15] = spriteId;
|
task->data[15] = spriteId;
|
||||||
task->data[9] = a3;
|
task->data[9] = xScale0;
|
||||||
task->data[10] = a4;
|
task->data[10] = yScale0;
|
||||||
task->data[13] = a5;
|
task->data[13] = xScale1;
|
||||||
task->data[14] = a6;
|
task->data[14] = yScale1;
|
||||||
task->data[11] = (a5 - a3) / a7;
|
task->data[11] = (xScale1 - xScale0) / duration;
|
||||||
task->data[12] = (a6 - a4) / a7;
|
task->data[12] = (yScale1 - yScale0) / duration;
|
||||||
}
|
}
|
||||||
|
|
||||||
u8 sub_8076640(struct Task *task)
|
u8 BattleAnimHelper_RunSpriteSquash(struct Task *task)
|
||||||
{
|
{
|
||||||
if (!task->data[8])
|
if (!task->data[8])
|
||||||
return 0;
|
return 0;
|
||||||
@@ -1801,7 +1809,7 @@ void AnimTask_GetFrustrationPowerLevel(u8 taskId)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// not used
|
// not used
|
||||||
static void sub_80766EC(u8 priority)
|
static void SetOamPriorityOfAllVisibleBattlers(u8 priority)
|
||||||
{
|
{
|
||||||
if (IsBattlerSpriteVisible(gBattleAnimTarget))
|
if (IsBattlerSpriteVisible(gBattleAnimTarget))
|
||||||
gSprites[gBattlerSpriteIds[gBattleAnimTarget]].oam.priority = priority;
|
gSprites[gBattlerSpriteIds[gBattleAnimTarget]].oam.priority = priority;
|
||||||
@@ -1813,7 +1821,7 @@ static void sub_80766EC(u8 priority)
|
|||||||
gSprites[gBattlerSpriteIds[BATTLE_PARTNER(gBattleAnimAttacker)]].oam.priority = priority;
|
gSprites[gBattlerSpriteIds[BATTLE_PARTNER(gBattleAnimAttacker)]].oam.priority = priority;
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_80767F0(void)
|
void ResetSpritePriorityOfAllVisibleBattlers(void)
|
||||||
{
|
{
|
||||||
s32 i;
|
s32 i;
|
||||||
|
|
||||||
@@ -1867,7 +1875,7 @@ u8 CreateAdditionalMonSpriteForMoveAnim(u16 species, bool8 isBackpic, u8 templat
|
|||||||
{
|
{
|
||||||
u8 spriteId;
|
u8 spriteId;
|
||||||
u16 sheet = LoadSpriteSheet(&sMoveAnimAdtlSprSheets[templateId]);
|
u16 sheet = LoadSpriteSheet(&sMoveAnimAdtlSprSheets[templateId]);
|
||||||
u16 palette = AllocSpritePalette(gUnknown_83AE054[templateId].paletteTag);
|
u16 palette = AllocSpritePalette(sSpriteTemplates_AdditionalForAnim[templateId].paletteTag);
|
||||||
|
|
||||||
if (gMonSpritesGfxPtr != NULL && gMonSpritesGfxPtr->multiUseBuffer == NULL)
|
if (gMonSpritesGfxPtr != NULL && gMonSpritesGfxPtr->multiUseBuffer == NULL)
|
||||||
gMonSpritesGfxPtr->multiUseBuffer = AllocZeroed(0x2000);
|
gMonSpritesGfxPtr->multiUseBuffer = AllocZeroed(0x2000);
|
||||||
@@ -1906,9 +1914,9 @@ u8 CreateAdditionalMonSpriteForMoveAnim(u16 species, bool8 isBackpic, u8 templat
|
|||||||
RequestDma3Copy(gMonSpritesGfxPtr->multiUseBuffer, (void *)(OBJ_VRAM0 + (sheet * 0x20)), 0x800, 1);
|
RequestDma3Copy(gMonSpritesGfxPtr->multiUseBuffer, (void *)(OBJ_VRAM0 + (sheet * 0x20)), 0x800, 1);
|
||||||
FREE_AND_SET_NULL(gMonSpritesGfxPtr->multiUseBuffer);
|
FREE_AND_SET_NULL(gMonSpritesGfxPtr->multiUseBuffer);
|
||||||
if (!isBackpic)
|
if (!isBackpic)
|
||||||
spriteId = CreateSprite(&gUnknown_83AE054[templateId], x, y + gMonFrontPicCoords[species].y_offset, subpriority);
|
spriteId = CreateSprite(&sSpriteTemplates_AdditionalForAnim[templateId], x, y + gMonFrontPicCoords[species].y_offset, subpriority);
|
||||||
else
|
else
|
||||||
spriteId = CreateSprite(&gUnknown_83AE054[templateId], x, y + gMonBackPicCoords[species].y_offset, subpriority);
|
spriteId = CreateSprite(&sSpriteTemplates_AdditionalForAnim[templateId], x, y + gMonBackPicCoords[species].y_offset, subpriority);
|
||||||
return spriteId;
|
return spriteId;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2048,20 +2056,20 @@ void SetAverageBattlerPositions(u8 battlerId, bool8 respectMonPicOffsets, s16 *x
|
|||||||
*y = (battlerY + partnerY) / 2;
|
*y = (battlerY + partnerY) / 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
u8 sub_8076E34(s32 battlerId, u8 spriteId, s32 species)
|
u8 CreateCloneOfSpriteInWindowMode(s32 battlerId, u8 spriteId, s32 species)
|
||||||
{
|
{
|
||||||
u8 newSpriteId = CreateInvisibleSpriteWithCallback(SpriteCallbackDummy);
|
u8 newSpriteId = CreateInvisibleSpriteWithCallback(SpriteCallbackDummy);
|
||||||
|
|
||||||
gSprites[newSpriteId] = gSprites[spriteId];
|
gSprites[newSpriteId] = gSprites[spriteId];
|
||||||
gSprites[newSpriteId].usingSheet = TRUE;
|
gSprites[newSpriteId].usingSheet = TRUE;
|
||||||
gSprites[newSpriteId].oam.priority = 0;
|
gSprites[newSpriteId].oam.priority = 0;
|
||||||
gSprites[newSpriteId].oam.objMode = 2;
|
gSprites[newSpriteId].oam.objMode = ST_OAM_OBJ_WINDOW;
|
||||||
gSprites[newSpriteId].oam.tileNum = gSprites[spriteId].oam.tileNum;
|
gSprites[newSpriteId].oam.tileNum = gSprites[spriteId].oam.tileNum;
|
||||||
gSprites[newSpriteId].callback = SpriteCallbackDummy;
|
gSprites[newSpriteId].callback = SpriteCallbackDummy;
|
||||||
return newSpriteId;
|
return newSpriteId;
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_8076ED8(struct Sprite *sprite)
|
void SpriteCB_AnimTranslateSpriteLinearAndFlicker(struct Sprite *sprite)
|
||||||
{
|
{
|
||||||
SetSpriteCoordsToAnimAttackerCoords(sprite);
|
SetSpriteCoordsToAnimAttackerCoords(sprite);
|
||||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||||
@@ -2083,7 +2091,7 @@ void sub_8076ED8(struct Sprite *sprite)
|
|||||||
sprite->callback = TranslateSpriteLinearAndFlicker;
|
sprite->callback = TranslateSpriteLinearAndFlicker;
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_8076F58(struct Sprite *sprite)
|
void SpriteCB_AnimTranslateSpriteLinearAndFlicker2(struct Sprite *sprite)
|
||||||
{
|
{
|
||||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||||
{
|
{
|
||||||
@@ -2104,7 +2112,7 @@ void sub_8076F58(struct Sprite *sprite)
|
|||||||
sprite->callback = TranslateSpriteLinearAndFlicker;
|
sprite->callback = TranslateSpriteLinearAndFlicker;
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_8076FD0(struct Sprite *sprite)
|
void SpriteCB_TrackOffsetFromAttackerAndWaitAnim(struct Sprite *sprite)
|
||||||
{
|
{
|
||||||
SetSpriteCoordsToAnimAttackerCoords(sprite);
|
SetSpriteCoordsToAnimAttackerCoords(sprite);
|
||||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||||
@@ -2138,16 +2146,16 @@ void AnimTask_AttackerPunchWithTrace(u8 taskId)
|
|||||||
task->data[6] = 3;
|
task->data[6] = 3;
|
||||||
CpuCopy32(&gPlttBufferUnfaded[src], &gPlttBufferFaded[dest], 0x20);
|
CpuCopy32(&gPlttBufferUnfaded[src], &gPlttBufferFaded[dest], 0x20);
|
||||||
BlendPalette(dest, 16, gBattleAnimArgs[1], gBattleAnimArgs[0]);
|
BlendPalette(dest, 16, gBattleAnimArgs[1], gBattleAnimArgs[0]);
|
||||||
task->func = sub_8077118;
|
task->func = AnimTask_AttackerPunchWithTrace_Step;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sub_8077118(u8 taskId)
|
static void AnimTask_AttackerPunchWithTrace_Step(u8 taskId)
|
||||||
{
|
{
|
||||||
struct Task *task = &gTasks[taskId];
|
struct Task *task = &gTasks[taskId];
|
||||||
switch (task->data[2])
|
switch (task->data[2])
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
sub_80771E4(task, taskId);
|
PunchAnim_CreateTraceSprite(task, taskId);
|
||||||
gSprites[task->data[0]].pos2.x += task->data[1];
|
gSprites[task->data[0]].pos2.x += task->data[1];
|
||||||
if (++task->data[3] == 5)
|
if (++task->data[3] == 5)
|
||||||
{
|
{
|
||||||
@@ -2156,7 +2164,7 @@ static void sub_8077118(u8 taskId)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
sub_80771E4(task, taskId);
|
PunchAnim_CreateTraceSprite(task, taskId);
|
||||||
gSprites[task->data[0]].pos2.x -= task->data[1];
|
gSprites[task->data[0]].pos2.x -= task->data[1];
|
||||||
if (--task->data[3] == 0)
|
if (--task->data[3] == 0)
|
||||||
{
|
{
|
||||||
@@ -2174,7 +2182,7 @@ static void sub_8077118(u8 taskId)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sub_80771E4(struct Task *task, u8 taskId)
|
static void PunchAnim_CreateTraceSprite(struct Task *task, u8 taskId)
|
||||||
{
|
{
|
||||||
s16 spriteId = CloneBattlerSpriteWithBlend(0);
|
s16 spriteId = CloneBattlerSpriteWithBlend(0);
|
||||||
|
|
||||||
@@ -2186,12 +2194,12 @@ static void sub_80771E4(struct Task *task, u8 taskId)
|
|||||||
gSprites[spriteId].data[1] = taskId;
|
gSprites[spriteId].data[1] = taskId;
|
||||||
gSprites[spriteId].data[2] = spriteId;
|
gSprites[spriteId].data[2] = spriteId;
|
||||||
gSprites[spriteId].pos2.x = gSprites[task->data[0]].pos2.x;
|
gSprites[spriteId].pos2.x = gSprites[task->data[0]].pos2.x;
|
||||||
gSprites[spriteId].callback = sub_8077268;
|
gSprites[spriteId].callback = SpriteCB_PunchTrace;
|
||||||
++task->data[5];
|
++task->data[5];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sub_8077268(struct Sprite *sprite)
|
static void SpriteCB_PunchTrace(struct Sprite *sprite)
|
||||||
{
|
{
|
||||||
if (--sprite->data[0] == 0)
|
if (--sprite->data[0] == 0)
|
||||||
{
|
{
|
||||||
@@ -2200,7 +2208,7 @@ static void sub_8077268(struct Sprite *sprite)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_807729C(struct Sprite *sprite)
|
void SpriteCB_WeatherBallUp(struct Sprite *sprite)
|
||||||
{
|
{
|
||||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||||
@@ -2209,10 +2217,10 @@ void sub_807729C(struct Sprite *sprite)
|
|||||||
else
|
else
|
||||||
sprite->data[0] = -10;
|
sprite->data[0] = -10;
|
||||||
sprite->data[1] = -40;
|
sprite->data[1] = -40;
|
||||||
sprite->callback = sub_80772F4;
|
sprite->callback = SpriteCB_WeatherBallUp_Step;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sub_80772F4(struct Sprite *sprite)
|
static void SpriteCB_WeatherBallUp_Step(struct Sprite *sprite)
|
||||||
{
|
{
|
||||||
sprite->data[2] += sprite->data[0];
|
sprite->data[2] += sprite->data[0];
|
||||||
sprite->data[3] += sprite->data[1];
|
sprite->data[3] += sprite->data[1];
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ const struct SpriteTemplate gSpriteTemplate_83BF3F8 =
|
|||||||
.anims = sSpriteAnimTable_83BF3F4,
|
.anims = sSpriteAnimTable_83BF3F4,
|
||||||
.images = NULL,
|
.images = NULL,
|
||||||
.affineAnims = gDummySpriteAffineAnimTable,
|
.affineAnims = gDummySpriteAffineAnimTable,
|
||||||
.callback = sub_8076F58,
|
.callback = SpriteCB_AnimTranslateSpriteLinearAndFlicker2,
|
||||||
};
|
};
|
||||||
|
|
||||||
const struct SpriteTemplate gSpriteTemplate_83BF410 =
|
const struct SpriteTemplate gSpriteTemplate_83BF410 =
|
||||||
@@ -54,7 +54,7 @@ const struct SpriteTemplate gSpriteTemplate_83BF410 =
|
|||||||
.anims = sSpriteAnimTable_83BF3F4,
|
.anims = sSpriteAnimTable_83BF3F4,
|
||||||
.images = NULL,
|
.images = NULL,
|
||||||
.affineAnims = gDummySpriteAffineAnimTable,
|
.affineAnims = gDummySpriteAffineAnimTable,
|
||||||
.callback = sub_8076ED8,
|
.callback = SpriteCB_AnimTranslateSpriteLinearAndFlicker,
|
||||||
};
|
};
|
||||||
|
|
||||||
static const union AnimCmd sUnknown_83BF428[] =
|
static const union AnimCmd sUnknown_83BF428[] =
|
||||||
@@ -76,7 +76,7 @@ const struct SpriteTemplate gWeatherBallUpSpriteTemplate =
|
|||||||
.anims = sSpriteAnimTable_83BF430,
|
.anims = sSpriteAnimTable_83BF430,
|
||||||
.images = NULL,
|
.images = NULL,
|
||||||
.affineAnims = gDummySpriteAffineAnimTable,
|
.affineAnims = gDummySpriteAffineAnimTable,
|
||||||
.callback = sub_807729C,
|
.callback = SpriteCB_WeatherBallUp,
|
||||||
};
|
};
|
||||||
|
|
||||||
const struct SpriteTemplate gWeatherBallNormalDownSpriteTemplate =
|
const struct SpriteTemplate gWeatherBallNormalDownSpriteTemplate =
|
||||||
@@ -113,7 +113,7 @@ const struct SpriteTemplate gSpriteTemplate_83BF480 =
|
|||||||
.anims = sSpriteAnimTable_83BF47C,
|
.anims = sSpriteAnimTable_83BF47C,
|
||||||
.images = NULL,
|
.images = NULL,
|
||||||
.affineAnims = gDummySpriteAffineAnimTable,
|
.affineAnims = gDummySpriteAffineAnimTable,
|
||||||
.callback = sub_8076FD0,
|
.callback = SpriteCB_TrackOffsetFromAttackerAndWaitAnim,
|
||||||
};
|
};
|
||||||
|
|
||||||
const struct SpriteTemplate gSpriteTemplate_83BF498 =
|
const struct SpriteTemplate gSpriteTemplate_83BF498 =
|
||||||
@@ -124,7 +124,7 @@ const struct SpriteTemplate gSpriteTemplate_83BF498 =
|
|||||||
.anims = gDummySpriteAnimTable,
|
.anims = gDummySpriteAnimTable,
|
||||||
.images = NULL,
|
.images = NULL,
|
||||||
.affineAnims = gDummySpriteAffineAnimTable,
|
.affineAnims = gDummySpriteAffineAnimTable,
|
||||||
.callback = sub_8076F58,
|
.callback = SpriteCB_AnimTranslateSpriteLinearAndFlicker2,
|
||||||
};
|
};
|
||||||
|
|
||||||
static const union AnimCmd sUnknown_83BF4B0[] =
|
static const union AnimCmd sUnknown_83BF4B0[] =
|
||||||
@@ -160,7 +160,7 @@ const struct SpriteTemplate gSpriteTemplate_83BF4D4 =
|
|||||||
.anims = sSpriteAniimTable_83BF4C8,
|
.anims = sSpriteAniimTable_83BF4C8,
|
||||||
.images = NULL,
|
.images = NULL,
|
||||||
.affineAnims = gDummySpriteAffineAnimTable,
|
.affineAnims = gDummySpriteAffineAnimTable,
|
||||||
.callback = sub_8076F58,
|
.callback = SpriteCB_AnimTranslateSpriteLinearAndFlicker2,
|
||||||
};
|
};
|
||||||
|
|
||||||
static const union AnimCmd sUnknown_83BF4EC[] =
|
static const union AnimCmd sUnknown_83BF4EC[] =
|
||||||
@@ -194,7 +194,7 @@ const struct SpriteTemplate gSpriteTemplate_83BF514 =
|
|||||||
.anims = sSpriteAnimTable_83BF4F4,
|
.anims = sSpriteAnimTable_83BF4F4,
|
||||||
.images = NULL,
|
.images = NULL,
|
||||||
.affineAnims = sSpriteAffineAnimTable_83BF510,
|
.affineAnims = sSpriteAffineAnimTable_83BF510,
|
||||||
.callback = sub_8076ED8,
|
.callback = SpriteCB_AnimTranslateSpriteLinearAndFlicker,
|
||||||
};
|
};
|
||||||
|
|
||||||
static const u8 sUnknown_83BF52C[] = _("TASK OVER\nタスクがオ-バ-しました");
|
static const u8 sUnknown_83BF52C[] = _("TASK OVER\nタスクがオ-バ-しました");
|
||||||
|
|||||||
@@ -330,7 +330,7 @@ void AnimTask_SetUpCurseBackground(u8 taskId)
|
|||||||
else
|
else
|
||||||
species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_SPECIES);
|
species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_SPECIES);
|
||||||
spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER);
|
spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER);
|
||||||
newSpriteId = sub_8076E34(gBattleAnimAttacker, spriteId, species);
|
newSpriteId = CreateCloneOfSpriteInWindowMode(gBattleAnimAttacker, spriteId, species);
|
||||||
GetBattleAnimBg1Data(&animBgData);
|
GetBattleAnimBg1Data(&animBgData);
|
||||||
AnimLoadCompressedBgTilemap(animBgData.bgId, gFile_graphics_battle_anims_masks_curse_tilemap);
|
AnimLoadCompressedBgTilemap(animBgData.bgId, gFile_graphics_battle_anims_masks_curse_tilemap);
|
||||||
if (IsContest())
|
if (IsContest())
|
||||||
@@ -446,11 +446,11 @@ static void sub_80BB2A0(u8 taskId)
|
|||||||
u8 battlerSpriteId;
|
u8 battlerSpriteId;
|
||||||
|
|
||||||
battlerSpriteId = gBattlerSpriteIds[sAnimStatsChangeData->battler1];
|
battlerSpriteId = gBattlerSpriteIds[sAnimStatsChangeData->battler1];
|
||||||
spriteId = sub_8076E34(sAnimStatsChangeData->battler1, battlerSpriteId, sAnimStatsChangeData->species);
|
spriteId = CreateCloneOfSpriteInWindowMode(sAnimStatsChangeData->battler1, battlerSpriteId, sAnimStatsChangeData->species);
|
||||||
if (sAnimStatsChangeData->data[3])
|
if (sAnimStatsChangeData->data[3])
|
||||||
{
|
{
|
||||||
battlerSpriteId = gBattlerSpriteIds[sAnimStatsChangeData->battler2];
|
battlerSpriteId = gBattlerSpriteIds[sAnimStatsChangeData->battler2];
|
||||||
newSpriteId = sub_8076E34(sAnimStatsChangeData->battler2, battlerSpriteId, sAnimStatsChangeData->species);
|
newSpriteId = CreateCloneOfSpriteInWindowMode(sAnimStatsChangeData->battler2, battlerSpriteId, sAnimStatsChangeData->species);
|
||||||
}
|
}
|
||||||
GetBattleAnimBg1Data(&animBgData);
|
GetBattleAnimBg1Data(&animBgData);
|
||||||
if (sAnimStatsChangeData->data[0] == 0)
|
if (sAnimStatsChangeData->data[0] == 0)
|
||||||
@@ -752,9 +752,9 @@ void sub_80BBA20(u8 taskId, s32 unused, u16 arg2, u8 battler1, u8 arg4, u8 arg5,
|
|||||||
species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler1]], MON_DATA_SPECIES);
|
species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler1]], MON_DATA_SPECIES);
|
||||||
else
|
else
|
||||||
species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler1]], MON_DATA_SPECIES);
|
species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler1]], MON_DATA_SPECIES);
|
||||||
spriteId = sub_8076E34(battler1, gBattlerSpriteIds[battler1], species);
|
spriteId = CreateCloneOfSpriteInWindowMode(battler1, gBattlerSpriteIds[battler1], species);
|
||||||
if (arg4)
|
if (arg4)
|
||||||
newSpriteId = sub_8076E34(battler2, gBattlerSpriteIds[battler2], species);
|
newSpriteId = CreateCloneOfSpriteInWindowMode(battler2, gBattlerSpriteIds[battler2], species);
|
||||||
GetBattleAnimBg1Data(&animBgData);
|
GetBattleAnimBg1Data(&animBgData);
|
||||||
AnimLoadCompressedBgTilemap(animBgData.bgId, tilemap);
|
AnimLoadCompressedBgTilemap(animBgData.bgId, tilemap);
|
||||||
if (IsContest())
|
if (IsContest())
|
||||||
|
|||||||
+1
-1
@@ -799,7 +799,7 @@ void AnimTask_MetallicShine(u8 taskId)
|
|||||||
else
|
else
|
||||||
species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_SPECIES);
|
species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_SPECIES);
|
||||||
spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER);
|
spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER);
|
||||||
newSpriteId = sub_8076E34(gBattleAnimAttacker, spriteId, species);
|
newSpriteId = CreateCloneOfSpriteInWindowMode(gBattleAnimAttacker, spriteId, species);
|
||||||
GetBattleAnimBg1Data(&animBg);
|
GetBattleAnimBg1Data(&animBg);
|
||||||
AnimLoadCompressedBgTilemap(animBg.bgId, gMetalShineTilemap);
|
AnimLoadCompressedBgTilemap(animBg.bgId, gMetalShineTilemap);
|
||||||
AnimLoadCompressedBgGfx(animBg.bgId, gMetalShineGfx, animBg.tilesOffset);
|
AnimLoadCompressedBgGfx(animBg.bgId, gMetalShineGfx, animBg.tilesOffset);
|
||||||
|
|||||||
+11
-11
@@ -29,7 +29,7 @@ static void AnimFireRing_Step3(struct Sprite *sprite);
|
|||||||
static void UpdateFireRingCircleOffset(struct Sprite *sprite);
|
static void UpdateFireRingCircleOffset(struct Sprite *sprite);
|
||||||
static void sub_80ACE28(struct Sprite *sprite);
|
static void sub_80ACE28(struct Sprite *sprite);
|
||||||
static void sub_80ACE50(struct Sprite *sprite);
|
static void sub_80ACE50(struct Sprite *sprite);
|
||||||
static void sub_80ACF14(u8 taskId);
|
static void AnimTask_EruptionLaunchRocks_Step(u8 taskId);
|
||||||
static void sub_80AD1F8(u8 spriteId, u8 taskId, u8 a3);
|
static void sub_80AD1F8(u8 spriteId, u8 taskId, u8 a3);
|
||||||
static u16 sub_80AD374(u8 spriteId);
|
static u16 sub_80AD374(u8 spriteId);
|
||||||
static void sub_80AD3C8(struct Sprite *sprite, s16 x, s16 y);
|
static void sub_80AD3C8(struct Sprite *sprite, s16 x, s16 y);
|
||||||
@@ -741,17 +741,17 @@ void AnimTask_EruptionLaunchRocks(u8 taskId) // initialize animation task for Mo
|
|||||||
task->data[5] = GetBattlerSide(gBattleAnimAttacker);
|
task->data[5] = GetBattlerSide(gBattleAnimAttacker);
|
||||||
task->data[6] = 0;
|
task->data[6] = 0;
|
||||||
PrepareBattlerSpriteForRotScale(task->data[15], ST_OAM_OBJ_NORMAL);
|
PrepareBattlerSpriteForRotScale(task->data[15], ST_OAM_OBJ_NORMAL);
|
||||||
task->func = sub_80ACF14;
|
task->func = AnimTask_EruptionLaunchRocks_Step;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sub_80ACF14(u8 taskId) // animate Move_ERUPTION?
|
static void AnimTask_EruptionLaunchRocks_Step(u8 taskId) // animate Move_ERUPTION?
|
||||||
{
|
{
|
||||||
struct Task *task = &gTasks[taskId];
|
struct Task *task = &gTasks[taskId];
|
||||||
|
|
||||||
switch (task->data[0])
|
switch (task->data[0])
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
sub_80765D4(task, task->data[15], 0x100, 0x100, 0xE0, 0x200, 0x20);
|
BattleAnimHelper_SetSpriteSquashParams(task, task->data[15], 0x100, 0x100, 0xE0, 0x200, 0x20);
|
||||||
++task->data[0];
|
++task->data[0];
|
||||||
// fall through
|
// fall through
|
||||||
case 1:
|
case 1:
|
||||||
@@ -771,7 +771,7 @@ static void sub_80ACF14(u8 taskId) // animate Move_ERUPTION?
|
|||||||
++gSprites[task->data[15]].pos1.y;
|
++gSprites[task->data[15]].pos1.y;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(!sub_8076640(task))
|
if(!BattleAnimHelper_RunSpriteSquash(task))
|
||||||
{
|
{
|
||||||
SetBattlerSpriteYOffsetFromYScale(task->data[15]);
|
SetBattlerSpriteYOffsetFromYScale(task->data[15]);
|
||||||
gSprites[task->data[15]].pos2.x = 0;
|
gSprites[task->data[15]].pos2.x = 0;
|
||||||
@@ -785,15 +785,15 @@ static void sub_80ACF14(u8 taskId) // animate Move_ERUPTION?
|
|||||||
if (++task->data[1] > 4)
|
if (++task->data[1] > 4)
|
||||||
{
|
{
|
||||||
if (task->data[5])
|
if (task->data[5])
|
||||||
sub_80765D4(task, task->data[15], 0xE0, 0x200, 0x180, 0xF0, 0x6);
|
BattleAnimHelper_SetSpriteSquashParams(task, task->data[15], 0xE0, 0x200, 0x180, 0xF0, 0x6);
|
||||||
else
|
else
|
||||||
sub_80765D4(task, task->data[15], 0xE0, 0x200, 0x180, 0xC0, 0x6);
|
BattleAnimHelper_SetSpriteSquashParams(task, task->data[15], 0xE0, 0x200, 0x180, 0xC0, 0x6);
|
||||||
task->data[1] = 0;
|
task->data[1] = 0;
|
||||||
++task->data[0];
|
++task->data[0];
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
if (!sub_8076640(task))
|
if (!BattleAnimHelper_RunSpriteSquash(task))
|
||||||
{
|
{
|
||||||
sub_80AD1F8(task->data[15], taskId, 6);
|
sub_80AD1F8(task->data[15], taskId, 6);
|
||||||
++task->data[0];
|
++task->data[0];
|
||||||
@@ -811,9 +811,9 @@ static void sub_80ACF14(u8 taskId) // animate Move_ERUPTION?
|
|||||||
if (++task->data[3] > 0x18)
|
if (++task->data[3] > 0x18)
|
||||||
{
|
{
|
||||||
if (task->data[5])
|
if (task->data[5])
|
||||||
sub_80765D4(task, task->data[15], 0x180, 0xF0, 0x100, 0x100, 0x8);
|
BattleAnimHelper_SetSpriteSquashParams(task, task->data[15], 0x180, 0xF0, 0x100, 0x100, 0x8);
|
||||||
else
|
else
|
||||||
sub_80765D4(task, task->data[15], 0x180, 0xC0, 0x100, 0x100, 0x8);
|
BattleAnimHelper_SetSpriteSquashParams(task, task->data[15], 0x180, 0xC0, 0x100, 0x100, 0x8);
|
||||||
if (task->data[2] & 1)
|
if (task->data[2] & 1)
|
||||||
gSprites[task->data[15]].pos2.y -= 3;
|
gSprites[task->data[15]].pos2.y -= 3;
|
||||||
task->data[1] = 0;
|
task->data[1] = 0;
|
||||||
@@ -825,7 +825,7 @@ static void sub_80ACF14(u8 taskId) // animate Move_ERUPTION?
|
|||||||
case 5:
|
case 5:
|
||||||
if (task->data[5])
|
if (task->data[5])
|
||||||
--gSprites[task->data[15]].pos1.y;
|
--gSprites[task->data[15]].pos1.y;
|
||||||
if (!sub_8076640(task))
|
if (!BattleAnimHelper_RunSpriteSquash(task))
|
||||||
{
|
{
|
||||||
gSprites[task->data[15]].pos1.y = task->data[4];
|
gSprites[task->data[15]].pos1.y = task->data[4];
|
||||||
ResetSpriteRotScale(task->data[15]);
|
ResetSpriteRotScale(task->data[15]);
|
||||||
|
|||||||
+1
-1
@@ -1158,7 +1158,7 @@ static void AnimDiveWaterSplash(struct Sprite *sprite)
|
|||||||
sprite->pos2.y = t2;
|
sprite->pos2.y = t2;
|
||||||
if (sprite->data[2] == 24)
|
if (sprite->data[2] == 24)
|
||||||
{
|
{
|
||||||
sub_8075AD8(sprite);
|
TryResetSpriteAffineState(sprite);
|
||||||
DestroyAnimSprite(sprite);
|
DestroyAnimSprite(sprite);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -533,7 +533,7 @@ static void sub_80AF108(struct Sprite *sprite)
|
|||||||
sprite->data[2] = gBattleAnimArgs[2] + targetX;
|
sprite->data[2] = gBattleAnimArgs[2] + targetX;
|
||||||
sprite->data[3] = gBattleAnimArgs[1] + attackerY;
|
sprite->data[3] = gBattleAnimArgs[1] + attackerY;
|
||||||
sprite->data[4] = gBattleAnimArgs[3] + targetY;
|
sprite->data[4] = gBattleAnimArgs[3] + targetY;
|
||||||
sub_8074C80(sprite);
|
SetupLinearTranslationWithFixedDuration(sprite);
|
||||||
// won't match with while loop
|
// won't match with while loop
|
||||||
for (; (targetX >= -32 && targetX <= 272) && (targetY >= -32 && targetY <= 192); targetX += sprite->data[1], targetY += sprite->data[2])
|
for (; (targetX >= -32 && targetX <= 272) && (targetY >= -32 && targetY <= 192); targetX += sprite->data[1], targetY += sprite->data[2])
|
||||||
;
|
;
|
||||||
@@ -548,7 +548,7 @@ static void sub_80AF108(struct Sprite *sprite)
|
|||||||
sprite->data[2] = targetX;
|
sprite->data[2] = targetX;
|
||||||
sprite->data[3] = attackerY;
|
sprite->data[3] = attackerY;
|
||||||
sprite->data[4] = targetY;
|
sprite->data[4] = targetY;
|
||||||
sub_8074C80(sprite);
|
SetupLinearTranslationWithFixedDuration(sprite);
|
||||||
sprite->data[3] = gBattleAnimArgs[5];
|
sprite->data[3] = gBattleAnimArgs[5];
|
||||||
sprite->data[4] = gBattleAnimArgs[6];
|
sprite->data[4] = gBattleAnimArgs[6];
|
||||||
sprite->callback = sub_80AF28C;
|
sprite->callback = sub_80AF28C;
|
||||||
@@ -686,7 +686,7 @@ static void AnimSwirlingSnowball_Step1(struct Sprite *sprite)
|
|||||||
sprite->pos2.x = sprite->pos2.y = 0;
|
sprite->pos2.x = sprite->pos2.y = 0;
|
||||||
for (i = 0; i < 8; ++i)
|
for (i = 0; i < 8; ++i)
|
||||||
sprite->data[i] = tempDataHolder[i];
|
sprite->data[i] = tempDataHolder[i];
|
||||||
sprite->callback = sub_8075830;
|
sprite->callback = InitAndStartAnimFastLinearTranslationWithSpeed;
|
||||||
StoreSpriteCallbackInData6(sprite, AnimSwirlingSnowball_Step2);
|
StoreSpriteCallbackInData6(sprite, AnimSwirlingSnowball_Step2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+6
-6
@@ -1058,7 +1058,7 @@ static void AnimTask_WaterSpoutLaunch_Step(u8 taskId)
|
|||||||
switch (task->data[0])
|
switch (task->data[0])
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
sub_80765D4(task, task->data[15], 0x100, 0x100, 224, 0x200, 32);
|
BattleAnimHelper_SetSpriteSquashParams(task, task->data[15], 0x100, 0x100, 224, 0x200, 32);
|
||||||
task->data[0]++;
|
task->data[0]++;
|
||||||
case 1:
|
case 1:
|
||||||
if (++task->data[3] > 1)
|
if (++task->data[3] > 1)
|
||||||
@@ -1074,7 +1074,7 @@ static void AnimTask_WaterSpoutLaunch_Step(u8 taskId)
|
|||||||
gSprites[task->data[15]].pos2.x = -3;
|
gSprites[task->data[15]].pos2.x = -3;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (sub_8076640(task) == 0)
|
if (BattleAnimHelper_RunSpriteSquash(task) == 0)
|
||||||
{
|
{
|
||||||
SetBattlerSpriteYOffsetFromYScale(task->data[15]);
|
SetBattlerSpriteYOffsetFromYScale(task->data[15]);
|
||||||
gSprites[task->data[15]].pos2.x = 0;
|
gSprites[task->data[15]].pos2.x = 0;
|
||||||
@@ -1086,13 +1086,13 @@ static void AnimTask_WaterSpoutLaunch_Step(u8 taskId)
|
|||||||
case 2:
|
case 2:
|
||||||
if (++task->data[3] > 4)
|
if (++task->data[3] > 4)
|
||||||
{
|
{
|
||||||
sub_80765D4(task, task->data[15], 224, 0x200, 384, 224, 8);
|
BattleAnimHelper_SetSpriteSquashParams(task, task->data[15], 224, 0x200, 384, 224, 8);
|
||||||
task->data[3] = 0;
|
task->data[3] = 0;
|
||||||
task->data[0]++;
|
task->data[0]++;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
if (sub_8076640(task) == 0)
|
if (BattleAnimHelper_RunSpriteSquash(task) == 0)
|
||||||
{
|
{
|
||||||
task->data[3] = 0;
|
task->data[3] = 0;
|
||||||
task->data[4] = 0;
|
task->data[4] = 0;
|
||||||
@@ -1112,7 +1112,7 @@ static void AnimTask_WaterSpoutLaunch_Step(u8 taskId)
|
|||||||
gSprites[task->data[15]].pos2.y -= 2;
|
gSprites[task->data[15]].pos2.y -= 2;
|
||||||
if (task->data[4] == 10)
|
if (task->data[4] == 10)
|
||||||
{
|
{
|
||||||
sub_80765D4(task, task->data[15], 384, 224, 0x100, 0x100, 8);
|
BattleAnimHelper_SetSpriteSquashParams(task, task->data[15], 384, 224, 0x100, 0x100, 8);
|
||||||
task->data[3] = 0;
|
task->data[3] = 0;
|
||||||
task->data[4] = 0;
|
task->data[4] = 0;
|
||||||
task->data[0]++;
|
task->data[0]++;
|
||||||
@@ -1121,7 +1121,7 @@ static void AnimTask_WaterSpoutLaunch_Step(u8 taskId)
|
|||||||
break;
|
break;
|
||||||
case 6:
|
case 6:
|
||||||
gSprites[task->data[15]].pos1.y--;
|
gSprites[task->data[15]].pos1.y--;
|
||||||
if (sub_8076640(task) == 0)
|
if (BattleAnimHelper_RunSpriteSquash(task) == 0)
|
||||||
{
|
{
|
||||||
ResetSpriteRotScale(task->data[15]);
|
ResetSpriteRotScale(task->data[15]);
|
||||||
gSprites[task->data[15]].pos1.y = task->data[5];
|
gSprites[task->data[15]].pos1.y = task->data[5];
|
||||||
|
|||||||
Reference in New Issue
Block a user