mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2024-12-25 19:24:16 +01:00
Document throwing pokeball
continue Document more Doc more funcs Remove workspace Document shiny stars Document PokeBlock Clean up Clean more
This commit is contained in:
parent
2e077f09e4
commit
328aecc96e
3
common_syms/battle_anim_pokeball.txt
Executable file
3
common_syms/battle_anim_pokeball.txt
Executable file
@ -0,0 +1,3 @@
|
||||
gMonShrinkDuration
|
||||
gMonShrinkDelta
|
||||
gMonShrinkDistance
|
@ -1,3 +0,0 @@
|
||||
gUnknown_030062DC
|
||||
gUnknown_030062E0
|
||||
gUnknown_030062E4
|
@ -10741,7 +10741,7 @@ BallThrowTrainerBlock:
|
||||
Special_SafariBallThrow:
|
||||
createvisualtask AnimTask_LoadBallGfx, 2
|
||||
delay 0
|
||||
createvisualtask AnimTask_ThrowBallSpecial, 2
|
||||
createvisualtask AnimTask_ThrowBall_StandingTrainer, 2
|
||||
waitforvisualfinish
|
||||
createvisualtask AnimTask_FreeBallGfx, 2
|
||||
end
|
||||
|
@ -523,14 +523,14 @@ struct BattleAnimationInfo
|
||||
u8 field_7;
|
||||
u8 ballThrowCaseId;
|
||||
u8 field_9_x1:1;
|
||||
u8 field_9_x2:1;
|
||||
u8 wildMonInvisible:1;
|
||||
u8 field_9_x1C:3;
|
||||
u8 field_9_x20:1;
|
||||
u8 field_9_x40:1;
|
||||
u8 field_9_x80:1;
|
||||
u8 field_A;
|
||||
u8 numBallParticles;
|
||||
u8 field_B;
|
||||
s16 field_C;
|
||||
s16 ballSubpx;
|
||||
u8 field_E;
|
||||
u8 field_F;
|
||||
};
|
||||
|
@ -207,8 +207,8 @@ void LaunchStatusAnimation(u8 battlerId, u8 statusAnimId);
|
||||
// battle_anim_ground.c
|
||||
void AnimTask_HorizontalShake(u8 taskId);
|
||||
|
||||
// battle_anim_special.c
|
||||
void sub_8172EF0(u8 battler, struct Pokemon *mon);
|
||||
// battle_anim_pokeball.c
|
||||
void TryShinyAnimation(u8 battler, struct Pokemon *mon);
|
||||
u8 ItemIdToBallId(u16 itemId);
|
||||
u8 AnimateBallOpenParticles(u8 x, u8 y, u8 priority, u8 subpriority, u8 ballId);
|
||||
u8 LaunchBallFadeMonTask(bool8 unFadeLater, u8 battlerId, u32 selectedPalettes, u8 ballId);
|
||||
|
@ -18,6 +18,14 @@ enum
|
||||
POKEBALL_COUNT
|
||||
};
|
||||
|
||||
enum {
|
||||
BALL_AFFINE_ANIM_0,
|
||||
BALL_ROTATE_RIGHT,
|
||||
BALL_ROTATE_LEFT,
|
||||
BALL_AFFINE_ANIM_3,
|
||||
BALL_AFFINE_ANIM_4
|
||||
};
|
||||
|
||||
extern const struct SpriteTemplate gBallSpriteTemplates[];
|
||||
|
||||
#define POKEBALL_PLAYER_SENDOUT 0xFF
|
||||
|
@ -258,7 +258,7 @@ SECTIONS {
|
||||
src/intro.o(.text);
|
||||
src/reset_save_heap.o(.text);
|
||||
src/field_region_map.o(.text);
|
||||
src/battle_anim_special.o(.text);
|
||||
src/battle_anim_pokeball.o(.text);
|
||||
src/hall_of_fame.o(.text);
|
||||
src/credits.o(.text);
|
||||
src/lottery_corner.o(.text);
|
||||
@ -616,7 +616,7 @@ SECTIONS {
|
||||
src/player_pc.o(.rodata);
|
||||
src/intro.o(.rodata);
|
||||
src/field_region_map.o(.rodata);
|
||||
src/battle_anim_special.o(.rodata);
|
||||
src/battle_anim_pokeball.o(.rodata);
|
||||
src/hall_of_fame.o(.rodata);
|
||||
src/credits.o(.rodata);
|
||||
src/lottery_corner.o(.rodata);
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -281,14 +281,14 @@ static void sub_8064734(void)
|
||||
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80
|
||||
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1)
|
||||
{
|
||||
sub_8172EF0(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]);
|
||||
TryShinyAnimation(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]);
|
||||
}
|
||||
if (!(gBattleTypeFlags & BATTLE_TYPE_MULTI)
|
||||
&& !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].ballAnimActive
|
||||
&& !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].flag_x80
|
||||
&& !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].field_1_x1)
|
||||
{
|
||||
sub_8172EF0(BATTLE_PARTNER(gActiveBattler), &gEnemyParty[gBattlerPartyIndexes[BATTLE_PARTNER(gActiveBattler)]]);
|
||||
TryShinyAnimation(BATTLE_PARTNER(gActiveBattler), &gEnemyParty[gBattlerPartyIndexes[BATTLE_PARTNER(gActiveBattler)]]);
|
||||
}
|
||||
|
||||
|
||||
@ -369,7 +369,7 @@ static void sub_8064B04(void)
|
||||
{
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80)
|
||||
{
|
||||
sub_8172EF0(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]);
|
||||
TryShinyAnimation(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -497,7 +497,7 @@ static void sub_8064F40(void)
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive
|
||||
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80)
|
||||
{
|
||||
sub_8172EF0(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]);
|
||||
TryShinyAnimation(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]);
|
||||
}
|
||||
|
||||
if (gSprites[gUnknown_03005D7C[gActiveBattler]].callback == SpriteCallbackDummy
|
||||
|
@ -383,7 +383,7 @@ static void sub_814B69C(void)
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80
|
||||
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive)
|
||||
{
|
||||
sub_8172EF0(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]);
|
||||
TryShinyAnimation(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]);
|
||||
}
|
||||
|
||||
if (gSprites[gUnknown_03005D7C[gActiveBattler]].callback == SpriteCallbackDummy
|
||||
|
@ -290,9 +290,9 @@ static void sub_805F560(void)
|
||||
bool32 r10 = FALSE;
|
||||
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1)
|
||||
sub_8172EF0(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]);
|
||||
TryShinyAnimation(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]);
|
||||
if (!(gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS) && !(gBattleTypeFlags & BATTLE_TYPE_MULTI) && IsDoubleBattle() && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].flag_x80 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].field_1_x1)
|
||||
sub_8172EF0(gActiveBattler ^ BIT_FLANK, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]]);
|
||||
TryShinyAnimation(gActiveBattler ^ BIT_FLANK, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]]);
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive)
|
||||
{
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x80)
|
||||
@ -369,7 +369,7 @@ static void sub_805F560(void)
|
||||
static void sub_805F994(void)
|
||||
{
|
||||
if (gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x == 0 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1)
|
||||
sub_8172EF0(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]);
|
||||
TryShinyAnimation(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]);
|
||||
|
||||
if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy && gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1)
|
||||
{
|
||||
@ -481,7 +481,7 @@ static void sub_805FD00(void)
|
||||
static void sub_805FDF0(void)
|
||||
{
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive)
|
||||
sub_8172EF0(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]);
|
||||
TryShinyAnimation(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]);
|
||||
|
||||
if (gSprites[gUnknown_03005D7C[gActiveBattler]].callback == SpriteCallbackDummy
|
||||
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive)
|
||||
|
@ -977,9 +977,9 @@ static void sub_8058B40(void)
|
||||
bool32 r8 = FALSE;
|
||||
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive)
|
||||
sub_8172EF0(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]);
|
||||
TryShinyAnimation(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]);
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].flag_x80 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive)
|
||||
sub_8172EF0(gActiveBattler ^ BIT_FLANK, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]]);
|
||||
TryShinyAnimation(gActiveBattler ^ BIT_FLANK, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]]);
|
||||
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive)
|
||||
{
|
||||
@ -1082,7 +1082,7 @@ static void sub_805902C(void)
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80
|
||||
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive)
|
||||
{
|
||||
sub_8172EF0(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]);
|
||||
TryShinyAnimation(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]);
|
||||
}
|
||||
|
||||
if (gSprites[gUnknown_03005D7C[gActiveBattler]].callback == SpriteCallbackDummy
|
||||
|
@ -568,7 +568,7 @@ static void sub_81BBAE8(void)
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80
|
||||
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive)
|
||||
{
|
||||
sub_8172EF0(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]);
|
||||
TryShinyAnimation(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]);
|
||||
}
|
||||
|
||||
if (gSprites[gUnknown_03005D7C[gActiveBattler]].callback == SpriteCallbackDummy
|
||||
|
@ -263,9 +263,9 @@ static void sub_818686C(void)
|
||||
bool32 r8 = FALSE;
|
||||
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive)
|
||||
sub_8172EF0(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]);
|
||||
TryShinyAnimation(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]);
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].flag_x80 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive)
|
||||
sub_8172EF0(gActiveBattler ^ BIT_FLANK, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]]);
|
||||
TryShinyAnimation(gActiveBattler ^ BIT_FLANK, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]]);
|
||||
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive)
|
||||
{
|
||||
@ -350,7 +350,7 @@ static void sub_8186C48(void)
|
||||
{
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80)
|
||||
{
|
||||
sub_8172EF0(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]);
|
||||
TryShinyAnimation(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -479,7 +479,7 @@ static void sub_8187084(void)
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive
|
||||
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80)
|
||||
{
|
||||
sub_8172EF0(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]);
|
||||
TryShinyAnimation(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]);
|
||||
}
|
||||
|
||||
if (gSprites[gUnknown_03005D7C[gActiveBattler]].callback == SpriteCallbackDummy
|
||||
|
@ -280,12 +280,12 @@ static void sub_8189D40(void)
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80
|
||||
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive)
|
||||
{
|
||||
sub_8172EF0(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]);
|
||||
TryShinyAnimation(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]);
|
||||
}
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].flag_x80
|
||||
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive)
|
||||
{
|
||||
sub_8172EF0(gActiveBattler ^ BIT_FLANK, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]]);
|
||||
TryShinyAnimation(gActiveBattler ^ BIT_FLANK, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]]);
|
||||
}
|
||||
}
|
||||
|
||||
@ -463,7 +463,7 @@ static void sub_818A470(void)
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80
|
||||
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive)
|
||||
{
|
||||
sub_8172EF0(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]);
|
||||
TryShinyAnimation(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]);
|
||||
}
|
||||
|
||||
if (gSprites[gUnknown_03005D7C[gActiveBattler]].callback == SpriteCallbackDummy
|
||||
|
@ -286,9 +286,9 @@ static void CompleteOnChosenItem(void)
|
||||
static void sub_816864C(void)
|
||||
{
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive)
|
||||
sub_8172EF0(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]);
|
||||
TryShinyAnimation(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]);
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].flag_x80 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive)
|
||||
sub_8172EF0(gActiveBattler ^ BIT_FLANK, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]]);
|
||||
TryShinyAnimation(gActiveBattler ^ BIT_FLANK, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]]);
|
||||
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive
|
||||
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive
|
||||
|
@ -10191,6 +10191,7 @@ static void Cmd_handleballthrow(void)
|
||||
else // not caught
|
||||
{
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = shakes;
|
||||
// Maybe inject SpriteCB_TestBallThrow here
|
||||
gBattlescriptCurrInstr = BattleScript_ShakeBallThrow;
|
||||
}
|
||||
}
|
||||
|
@ -166,43 +166,43 @@ static const union AnimCmd *const sBallAnimSequences[] =
|
||||
sBallAnimSeq6,
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd sBallAffineAnimSeq0[] =
|
||||
static const union AffineAnimCmd sAffineAnim_BallRotate_0[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0, 0, 0, 1),
|
||||
AFFINEANIMCMD_JUMP(0),
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd sBallAffineAnimSeq1[] =
|
||||
static const union AffineAnimCmd sAffineAnim_BallRotate_Right[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0, 0, -3, 1),
|
||||
AFFINEANIMCMD_JUMP(0),
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd sBallAffineAnimSeq2[] =
|
||||
static const union AffineAnimCmd sAffineAnim_BallRotate_Left[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0, 0, 3, 1),
|
||||
AFFINEANIMCMD_JUMP(0),
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd sBallAffineAnimSeq3[] =
|
||||
static const union AffineAnimCmd sAffineAnim_BallRotate_3[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(256, 256, 0, 0),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd sBallAffineAnimSeq4[] =
|
||||
static const union AffineAnimCmd sAffineAnim_BallRotate_4[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0, 0, 25, 1),
|
||||
AFFINEANIMCMD_JUMP(0),
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd *const sBallAffineAnimSequences[] =
|
||||
static const union AffineAnimCmd *const sAffineAnim_BallRotate[] =
|
||||
{
|
||||
sBallAffineAnimSeq0,
|
||||
sBallAffineAnimSeq1,
|
||||
sBallAffineAnimSeq2,
|
||||
sBallAffineAnimSeq3,
|
||||
sBallAffineAnimSeq4,
|
||||
[BALL_AFFINE_ANIM_0] = sAffineAnim_BallRotate_0,
|
||||
[BALL_ROTATE_RIGHT] = sAffineAnim_BallRotate_Right,
|
||||
[BALL_ROTATE_LEFT] = sAffineAnim_BallRotate_Left,
|
||||
[BALL_AFFINE_ANIM_3] = sAffineAnim_BallRotate_3,
|
||||
[BALL_AFFINE_ANIM_4] = sAffineAnim_BallRotate_4,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] =
|
||||
@ -213,7 +213,7 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] =
|
||||
.oam = &sBallOamData,
|
||||
.anims = sBallAnimSequences,
|
||||
.images = NULL,
|
||||
.affineAnims = sBallAffineAnimSequences,
|
||||
.affineAnims = sAffineAnim_BallRotate,
|
||||
.callback = SpriteCB_TestBallThrow,
|
||||
},
|
||||
{
|
||||
@ -222,7 +222,7 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] =
|
||||
.oam = &sBallOamData,
|
||||
.anims = sBallAnimSequences,
|
||||
.images = NULL,
|
||||
.affineAnims = sBallAffineAnimSequences,
|
||||
.affineAnims = sAffineAnim_BallRotate,
|
||||
.callback = SpriteCB_TestBallThrow,
|
||||
},
|
||||
{
|
||||
@ -231,7 +231,7 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] =
|
||||
.oam = &sBallOamData,
|
||||
.anims = sBallAnimSequences,
|
||||
.images = NULL,
|
||||
.affineAnims = sBallAffineAnimSequences,
|
||||
.affineAnims = sAffineAnim_BallRotate,
|
||||
.callback = SpriteCB_TestBallThrow,
|
||||
},
|
||||
{
|
||||
@ -240,7 +240,7 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] =
|
||||
.oam = &sBallOamData,
|
||||
.anims = sBallAnimSequences,
|
||||
.images = NULL,
|
||||
.affineAnims = sBallAffineAnimSequences,
|
||||
.affineAnims = sAffineAnim_BallRotate,
|
||||
.callback = SpriteCB_TestBallThrow,
|
||||
},
|
||||
{
|
||||
@ -249,7 +249,7 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] =
|
||||
.oam = &sBallOamData,
|
||||
.anims = sBallAnimSequences,
|
||||
.images = NULL,
|
||||
.affineAnims = sBallAffineAnimSequences,
|
||||
.affineAnims = sAffineAnim_BallRotate,
|
||||
.callback = SpriteCB_TestBallThrow,
|
||||
},
|
||||
{
|
||||
@ -258,7 +258,7 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] =
|
||||
.oam = &sBallOamData,
|
||||
.anims = sBallAnimSequences,
|
||||
.images = NULL,
|
||||
.affineAnims = sBallAffineAnimSequences,
|
||||
.affineAnims = sAffineAnim_BallRotate,
|
||||
.callback = SpriteCB_TestBallThrow,
|
||||
},
|
||||
{
|
||||
@ -267,7 +267,7 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] =
|
||||
.oam = &sBallOamData,
|
||||
.anims = sBallAnimSequences,
|
||||
.images = NULL,
|
||||
.affineAnims = sBallAffineAnimSequences,
|
||||
.affineAnims = sAffineAnim_BallRotate,
|
||||
.callback = SpriteCB_TestBallThrow,
|
||||
},
|
||||
{
|
||||
@ -276,7 +276,7 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] =
|
||||
.oam = &sBallOamData,
|
||||
.anims = sBallAnimSequences,
|
||||
.images = NULL,
|
||||
.affineAnims = sBallAffineAnimSequences,
|
||||
.affineAnims = sAffineAnim_BallRotate,
|
||||
.callback = SpriteCB_TestBallThrow,
|
||||
},
|
||||
{
|
||||
@ -285,7 +285,7 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] =
|
||||
.oam = &sBallOamData,
|
||||
.anims = sBallAnimSequences,
|
||||
.images = NULL,
|
||||
.affineAnims = sBallAffineAnimSequences,
|
||||
.affineAnims = sAffineAnim_BallRotate,
|
||||
.callback = SpriteCB_TestBallThrow,
|
||||
},
|
||||
{
|
||||
@ -294,7 +294,7 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] =
|
||||
.oam = &sBallOamData,
|
||||
.anims = sBallAnimSequences,
|
||||
.images = NULL,
|
||||
.affineAnims = sBallAffineAnimSequences,
|
||||
.affineAnims = sAffineAnim_BallRotate,
|
||||
.callback = SpriteCB_TestBallThrow,
|
||||
},
|
||||
{
|
||||
@ -303,7 +303,7 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] =
|
||||
.oam = &sBallOamData,
|
||||
.anims = sBallAnimSequences,
|
||||
.images = NULL,
|
||||
.affineAnims = sBallAffineAnimSequences,
|
||||
.affineAnims = sAffineAnim_BallRotate,
|
||||
.callback = SpriteCB_TestBallThrow,
|
||||
},
|
||||
{
|
||||
@ -312,7 +312,7 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] =
|
||||
.oam = &sBallOamData,
|
||||
.anims = sBallAnimSequences,
|
||||
.images = NULL,
|
||||
.affineAnims = sBallAffineAnimSequences,
|
||||
.affineAnims = sAffineAnim_BallRotate,
|
||||
.callback = SpriteCB_TestBallThrow,
|
||||
},
|
||||
};
|
||||
@ -446,6 +446,7 @@ static void sub_80756D4(struct Sprite *sprite)
|
||||
sprite->callback = sub_80756E0;
|
||||
}
|
||||
|
||||
// Start something for battler
|
||||
static void sub_80756E0(struct Sprite *sprite)
|
||||
{
|
||||
if (++sprite->data[5] == 10)
|
||||
@ -458,6 +459,7 @@ static void sub_80756E0(struct Sprite *sprite)
|
||||
}
|
||||
}
|
||||
|
||||
// Shrink player
|
||||
static void sub_807574C(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[5]++;
|
||||
@ -738,7 +740,7 @@ static void SpriteCB_ReleaseMonFromBall(struct Sprite *sprite)
|
||||
StartSpriteAnim(sprite, 1);
|
||||
ballId = ItemIdToBallId(GetBattlerPokeballItemId(battlerId));
|
||||
AnimateBallOpenParticles(sprite->pos1.x, sprite->pos1.y - 5, 1, 0x1C, ballId);
|
||||
sprite->data[0] = LaunchBallFadeMonTask(1, sprite->sBattler, 14, ballId);
|
||||
sprite->data[0] = LaunchBallFadeMonTask(TRUE, sprite->sBattler, 14, ballId);
|
||||
sprite->callback = HandleBallAnimEnd;
|
||||
|
||||
if (gMain.inBattle)
|
||||
|
@ -63,7 +63,7 @@ gReservedSpritePaletteCount:
|
||||
.include "save.o"
|
||||
.include "battle_tower.o"
|
||||
.include "intro.o"
|
||||
.include "battle_anim_special.o"
|
||||
.include "battle_anim_pokeball.o"
|
||||
.include "battle_factory_screen.o"
|
||||
.include "apprentice.o"
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user