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:
hondew
2020-08-04 22:37:52 -04:00
parent 2e077f09e4
commit 328aecc96e
19 changed files with 691 additions and 463 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -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

View File

@@ -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

View File

@@ -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)

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -10191,6 +10191,7 @@ static void Cmd_handleballthrow(void)
else // not caught
{
gBattleCommunication[MULTISTRING_CHOOSER] = shakes;
// Maybe inject SpriteCB_TestBallThrow here
gBattlescriptCurrInstr = BattleScript_ShakeBallThrow;
}
}

View File

@@ -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)