diff options
Diffstat (limited to 'src')
-rwxr-xr-x | src/battle_anim_effects_2.c | 2 | ||||
-rwxr-xr-x | src/battle_anim_effects_3.c | 3 | ||||
-rw-r--r-- | src/battle_anim_mon_movement.c | 2 | ||||
-rw-r--r-- | src/battle_anim_utility_funcs.c | 16 | ||||
-rw-r--r-- | src/dark.c | 17 | ||||
-rw-r--r-- | src/electric.c | 27 | ||||
-rw-r--r-- | src/fight.c | 11 | ||||
-rw-r--r-- | src/fire.c | 15 | ||||
-rw-r--r-- | src/flying.c | 16 | ||||
-rw-r--r-- | src/ghost.c | 16 | ||||
-rw-r--r-- | src/ground.c | 4 | ||||
-rw-r--r-- | src/ice.c | 10 | ||||
-rw-r--r-- | src/intro.c | 4 | ||||
-rw-r--r-- | src/normal.c | 81 | ||||
-rw-r--r-- | src/poison.c | 16 | ||||
-rw-r--r-- | src/psychic.c | 25 | ||||
-rw-r--r-- | src/rock.c | 2 | ||||
-rw-r--r-- | src/water.c | 26 |
18 files changed, 164 insertions, 129 deletions
diff --git a/src/battle_anim_effects_2.c b/src/battle_anim_effects_2.c index dcbcced39..508af84ad 100755 --- a/src/battle_anim_effects_2.c +++ b/src/battle_anim_effects_2.c @@ -3114,7 +3114,7 @@ static void FakeOutStep2(u8 taskId) } } -void sub_8106020(u8 taskId) +void AnimTask_StretchTargetUp(u8 taskId) { u8 spriteId = GetAnimBattlerSpriteId(ANIM_TARGET); if (++gTasks[taskId].data[0] == 1) diff --git a/src/battle_anim_effects_3.c b/src/battle_anim_effects_3.c index 1778ce881..3b875ee58 100755 --- a/src/battle_anim_effects_3.c +++ b/src/battle_anim_effects_3.c @@ -3863,7 +3863,8 @@ static void AnimTask_FacadeColorBlendStep(u8 taskId) } } -void sub_815DFCC(u8 taskId) +// The sliding circle effect used by Refresh and Aromatherapy +void AnimTask_StatusClearedEffect(u8 taskId) { sub_8117854( taskId, diff --git a/src/battle_anim_mon_movement.c b/src/battle_anim_mon_movement.c index 250a0459f..953f0223e 100644 --- a/src/battle_anim_mon_movement.c +++ b/src/battle_anim_mon_movement.c @@ -870,7 +870,7 @@ void AnimTask_ScaleMonAndRestoreStep(u8 taskId) } } -void sub_80D6134(u8 taskId) +void AminTask_DipMonSpriteToSide(u8 taskId) { u8 spriteId; spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[2]); diff --git a/src/battle_anim_utility_funcs.c b/src/battle_anim_utility_funcs.c index eff2bc3c7..93160b086 100644 --- a/src/battle_anim_utility_funcs.c +++ b/src/battle_anim_utility_funcs.c @@ -211,7 +211,8 @@ static void sub_81169A0(u8 taskId) DestroyAnimVisualTask(taskId); } -void sub_81169C0(u8 taskId) +// Used to leave blended traces of a mon, usually to imply speed as in Agility or Aerial Ace +void AnimTask_TraceMonBlended(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -681,7 +682,7 @@ static void sub_81175C4(u32 selectedPalettes, u16 color) } } -void sub_8117610(u8 taskId) +void AnimTask_BlendAllBattlerPalettesButAttacker(u8 taskId) { u32 battler; int j; @@ -699,7 +700,7 @@ void sub_8117610(u8 taskId) StartBlendAnimSpriteColor(taskId, selectedPalettes); } -void sub_8117660(u8 taskId) +void AnimTask_StartSlidingBg(u8 taskId) { u8 newTaskId; @@ -754,19 +755,24 @@ void AnimTask_GetTargetIsAttackerPartner(u8 taskId) DestroyAnimVisualTask(taskId); } -void sub_81177E4(u8 taskId) +#define tInvisible gBattleAnimArgs[0]; + +// For hiding or subsequently revealing all other battlers +void AnimTask_SetAllBattlersButAttackerInvisiblity(u8 taskId) { u16 battler; for (battler = 0; battler < MAX_BATTLERS_COUNT; battler++) { if (battler != gBattleAnimAttacker && IsBattlerSpriteVisible(battler)) - gSprites[gBattlerSpriteIds[battler]].invisible = gBattleAnimArgs[0]; + gSprites[gBattlerSpriteIds[battler]].invisible = tInvisible; } DestroyAnimVisualTask(taskId); } +#undef tInvisible + void sub_8117854(u8 taskId, int unused, u16 arg2, u8 battler1, u8 arg4, u8 arg5, u8 arg6, u8 arg7, const u32 *gfx, const u32 *tilemap, const u32 *palette) { diff --git a/src/dark.c b/src/dark.c index 63a893b67..4c6c31ad1 100644 --- a/src/dark.c +++ b/src/dark.c @@ -10,7 +10,7 @@ #include "constants/rgb.h" void sub_81138D4(struct Sprite *); -void sub_81139DC(struct Sprite *); +static void AnimBite(struct Sprite *); void sub_8113A90(struct Sprite *); void sub_81144BC(struct Sprite *); static void sub_811375C(u8); @@ -96,7 +96,7 @@ const union AffineAnimCmd *const gUnknown_08597060[] = gUnknown_08597050, }; -const struct SpriteTemplate gUnknown_08597080 = +const struct SpriteTemplate gSharpTeethSpriteTemplate = { .tileTag = ANIM_TAG_SHARP_TEETH, .paletteTag = ANIM_TAG_SHARP_TEETH, @@ -104,10 +104,10 @@ const struct SpriteTemplate gUnknown_08597080 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08597060, - .callback = sub_81139DC, + .callback = AnimBite, }; -const struct SpriteTemplate gUnknown_08597098 = +const struct SpriteTemplate gClampJawSpriteTemplate = { .tileTag = ANIM_TAG_CLAMP, .paletteTag = ANIM_TAG_CLAMP, @@ -115,7 +115,7 @@ const struct SpriteTemplate gUnknown_08597098 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08597060, - .callback = sub_81139DC, + .callback = AnimBite, }; const union AffineAnimCmd gUnknown_085970B0[] = @@ -186,7 +186,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_8597138 = .callback = sub_81144BC, }; -void sub_81136E8(u8 taskId) +void AnimTask_AttackerFadeToInvisible(u8 taskId) { int battler; gTasks[taskId].data[0] = gBattleAnimArgs[0]; @@ -224,7 +224,7 @@ static void sub_811375C(u8 taskId) } } -void sub_81137E4(u8 taskId) +void AnimTask_AttackerFadeFromInvisible(u8 taskId) { gTasks[taskId].data[0] = gBattleAnimArgs[0]; gTasks[taskId].data[1] = BLDALPHA_BLEND(0, 16); @@ -310,7 +310,8 @@ static void sub_8113950(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void sub_81139DC(struct Sprite *sprite) +// Move sprite inward for Bite/Crunch and Clamp +static void AnimBite(struct Sprite *sprite) { sprite->pos1.x += gBattleAnimArgs[0]; sprite->pos1.y += gBattleAnimArgs[1]; diff --git a/src/electric.c b/src/electric.c index 3344db7bf..8de3590c0 100644 --- a/src/electric.c +++ b/src/electric.c @@ -25,8 +25,8 @@ static void sub_810AAB0(struct Sprite *); static void sub_810AB78(u8 taskId); static void sub_810AC8C(struct Sprite *); static void sub_810ACC0(struct Sprite *); -static void sub_810ACD8(struct Sprite *); -static void sub_810AD30(struct Sprite *); +static void AnimGrowingElectricOrb(struct Sprite *); +static void AnimElectricPuff(struct Sprite *); static void sub_810AD98(struct Sprite *); static void sub_810ADF8(struct Sprite *); static bool8 sub_810B154(struct Task *task, u8 taskId); @@ -331,7 +331,7 @@ const union AffineAnimCmd *const gUnknown_08595950[] = gUnknown_08595930, }; -const struct SpriteTemplate gUnknown_0859595C = +const struct SpriteTemplate gGrowingElectricOrbSpriteTemplate = { .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, .paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT, @@ -339,7 +339,7 @@ const struct SpriteTemplate gUnknown_0859595C = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08595950, - .callback = sub_810ACD8, + .callback = AnimGrowingElectricOrb, }; const union AnimCmd gUnknown_08595974[] = @@ -356,7 +356,7 @@ const union AnimCmd *const gUnknown_08595988[] = gUnknown_08595974, }; -const struct SpriteTemplate gUnknown_0859598C = +const struct SpriteTemplate gElectricPuffSpriteTemplate = { .tileTag = ANIM_TAG_ELECTRICITY, .paletteTag = ANIM_TAG_ELECTRICITY, @@ -364,7 +364,7 @@ const struct SpriteTemplate gUnknown_0859598C = .anims = gUnknown_08595988, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810AD30, + .callback = AnimElectricPuff, }; const struct SpriteTemplate gUnknown_085959A4 = @@ -794,11 +794,12 @@ static void sub_810AAB0(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void sub_810AAFC(u8 taskId) +// Animates small electric orbs moving from around the battler inward. For Charge/Shock Wave +void AnimTask_ElectricChargingParticles(u8 taskId) { struct Task *task = &gTasks[taskId]; - if (!gBattleAnimArgs[0]) + if (gBattleAnimArgs[0] == ANIM_ATTACKER) { task->data[14] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); task->data[15] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET); @@ -882,9 +883,10 @@ static void sub_810ACC0(struct Sprite *sprite) sprite->callback = sub_810AC8C; } -static void sub_810ACD8(struct Sprite *sprite) +// The growing orb for Charge +static void AnimGrowingElectricOrb(struct Sprite *sprite) { - if (!gBattleAnimArgs[0]) + if (gBattleAnimArgs[0] == ANIM_ATTACKER) { sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET); @@ -899,9 +901,10 @@ static void sub_810ACD8(struct Sprite *sprite) sprite->callback = RunStoredCallbackWhenAffineAnimEnds; } -static void sub_810AD30(struct Sprite *sprite) +// The quick electric burst at the end of Charge / during the Volt Tackle hit +static void AnimElectricPuff(struct Sprite *sprite) { - if (!gBattleAnimArgs[0]) + if (gBattleAnimArgs[0] == ANIM_ATTACKER) { sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET); diff --git a/src/fight.c b/src/fight.c index 0c4b5a3fa..4c8dd2896 100644 --- a/src/fight.c +++ b/src/fight.c @@ -21,7 +21,7 @@ void sub_810D4F4(struct Sprite *); void sub_810D608(struct Sprite *); void sub_810D714(struct Sprite *); void sub_810D874(struct Sprite *); -void sub_810D984(struct Sprite *); +static void AnimArmThrustHit(struct Sprite *); void sub_810DA10(struct Sprite *); void sub_810DA7C(struct Sprite *); static void sub_810D0B8(struct Sprite *); @@ -174,7 +174,8 @@ const union AffineAnimCmd *const gUnknown_08595F10[] = gUnknown_08595EF8, }; -const struct SpriteTemplate gUnknown_08595F14 = +// Blaze Kick / Meteor Mash +const struct SpriteTemplate gSpinningHandOrFootSpriteTemplate = { .tileTag = ANIM_TAG_HANDS_AND_FEET, .paletteTag = ANIM_TAG_HANDS_AND_FEET, @@ -299,7 +300,7 @@ const struct SpriteTemplate gUnknown_0859601C = .callback = sub_810D874, }; -const struct SpriteTemplate gUnknown_08596034 = +const struct SpriteTemplate gArmThrustHandSpriteTemplate = { .tileTag = ANIM_TAG_HANDS_AND_FEET, .paletteTag = ANIM_TAG_HANDS_AND_FEET, @@ -307,7 +308,7 @@ const struct SpriteTemplate gUnknown_08596034 = .anims = gUnknown_08595E54, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810D984, + .callback = AnimArmThrustHit, }; const union AnimCmd gUnknown_0859604C[] = @@ -935,7 +936,7 @@ static void sub_810D960(struct Sprite *sprite) sprite->data[0]++; } -void sub_810D984(struct Sprite *sprite) +static void AnimArmThrustHit(struct Sprite *sprite) { u8 turn; diff --git a/src/fire.c b/src/fire.c index 2a12c26cc..be55abade 100644 --- a/src/fire.c +++ b/src/fire.c @@ -8,7 +8,7 @@ #include "trig.h" static void sub_8108EC8(struct Sprite *); -static void sub_8108F08(struct Sprite *); +static void AnimFireSpread(struct Sprite *); static void sub_8108F4C(struct Sprite *); static void sub_8108FBC(struct Sprite *); static void sub_8109028(struct Sprite *); @@ -72,7 +72,7 @@ const struct SpriteTemplate gUnknown_08595368 = .callback = sub_8108EC8, }; -const struct SpriteTemplate gUnknown_08595380 = +const struct SpriteTemplate gFireSpreadSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, @@ -80,7 +80,7 @@ const struct SpriteTemplate gUnknown_08595380 = .anims = gUnknown_08595360, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8108F08, + .callback = AnimFireSpread, }; const union AnimCmd gUnknown_08595398[] = @@ -150,7 +150,7 @@ const struct SpriteTemplate gUnknown_08595410 = .callback = sub_8108FBC, }; -const struct SpriteTemplate gUnknown_08595428 = +const struct SpriteTemplate gFirePlumeSpriteTemplate = { .tileTag = ANIM_TAG_FIRE_PLUME, .paletteTag = ANIM_TAG_FIRE_PLUME, @@ -267,7 +267,7 @@ const struct SpriteTemplate gUnknown_08595504 = .callback = sub_8109200, }; -const struct SpriteTemplate gUnknown_0859551C = +const struct SpriteTemplate gFireBlastRingSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, @@ -308,7 +308,7 @@ const union AffineAnimCmd *const gUnknown_08595564[] = gUnknown_08595554, }; -const struct SpriteTemplate gUnknown_0859556C = +const struct SpriteTemplate gFireBlastCrossSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_EMBER, .paletteTag = ANIM_TAG_SMALL_EMBER, @@ -470,7 +470,8 @@ static void sub_8108EC8(struct Sprite *sprite) sprite->callback(sprite); } -static void sub_8108F08(struct Sprite *sprite) +// For the impact spread of fire sprites for moves like Blaze Kick or Fire Punch +static void AnimFireSpread(struct Sprite *sprite) { SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[0]); diff --git a/src/flying.c b/src/flying.c index 774018f0f..77173c9af 100644 --- a/src/flying.c +++ b/src/flying.c @@ -24,13 +24,12 @@ void sub_810ED28(struct Sprite *); void sub_810ED70(struct Sprite *); void sub_810EDD0(struct Sprite *); void sub_810EE14(struct Sprite *); -void sub_810EEF8(struct Sprite *); +static void AnimSprayWaterDroplet(struct Sprite *); void sub_810EFA8(struct Sprite *); void sub_810F004(struct Sprite *); void sub_810F018(struct Sprite *); void sub_810F084(struct Sprite *); void sub_810F140(struct Sprite *); - static void sub_810DE98(struct Sprite *); static void sub_810DF18(u8); static void sub_810E028(struct Sprite *); @@ -86,7 +85,7 @@ const union AnimCmd *const gUnknown_085962D0[] = gUnknown_085962BC, }; -const struct SpriteTemplate gUnknown_085962D4 = +const struct SpriteTemplate gAirWaveCrescentSpriteTemplate = { .tileTag = ANIM_TAG_AIR_WAVE_2, .paletteTag = ANIM_TAG_AIR_WAVE_2, @@ -232,7 +231,7 @@ const union AffineAnimCmd *const gUnknown_0859641C[] = gUnknown_085963EC, }; -const struct SpriteTemplate gUnknown_08596420 = +const struct SpriteTemplate gBounceBallShrinkSpriteTemplate = { .tileTag = ANIM_TAG_ROUND_SHADOW, .paletteTag = ANIM_TAG_ROUND_SHADOW, @@ -254,7 +253,7 @@ const union AffineAnimCmd *const gUnknown_08596448[] = gUnknown_08596438, }; -const struct SpriteTemplate gUnknown_0859644C = +const struct SpriteTemplate gBounceBallLandSpriteTemplate = { .tileTag = ANIM_TAG_ROUND_SHADOW, .paletteTag = ANIM_TAG_ROUND_SHADOW, @@ -314,7 +313,7 @@ const struct SpriteTemplate gUnknown_085964CC = .callback = sub_810EE14, }; -const struct SpriteTemplate gUnknown_085964E4 = +const struct SpriteTemplate gSprayWaterDropletSpriteTemplate = { .tileTag = ANIM_TAG_SWEAT_BEAD, .paletteTag = ANIM_TAG_SWEAT_BEAD, @@ -322,7 +321,7 @@ const struct SpriteTemplate gUnknown_085964E4 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810EEF8, + .callback = AnimSprayWaterDroplet, }; const struct SpriteTemplate gUnknown_085964FC = @@ -1111,7 +1110,8 @@ void sub_810EE14(struct Sprite *sprite) } } -void sub_810EEF8(struct Sprite *sprite) +// Launches a water droplet away from the specified battler. Used by Astonish and Dive +static void AnimSprayWaterDroplet(struct Sprite *sprite) { int v1 = 0x1ff & Random2(); int v2 = 0x7f & Random2(); diff --git a/src/ghost.c b/src/ghost.c index 93c442b92..4288aa944 100644 --- a/src/ghost.c +++ b/src/ghost.c @@ -10,11 +10,11 @@ #include "trig.h" #include "util.h" -static void sub_811160C(struct Sprite *); +static void AnimConfuseRayBallBounce(struct Sprite *); static void sub_8111674(struct Sprite *); static void sub_81116E8(struct Sprite *); static void sub_8111764(struct Sprite *); -static void sub_81117F4(struct Sprite *); +static void AnimConfuseRayBallSpiral(struct Sprite *); static void sub_8111814(struct Sprite *); static void sub_8111914(u8 taskId); static void sub_811196C(u8 taskId); @@ -54,7 +54,7 @@ const union AffineAnimCmd *const gUnknown_08596D10[] = gUnknown_08596CF8, }; -const struct SpriteTemplate gUnknown_08596D14 = +const struct SpriteTemplate gConfuseRayBallBounceSpriteTemplate = { .tileTag = ANIM_TAG_YELLOW_BALL, .paletteTag = ANIM_TAG_YELLOW_BALL, @@ -62,10 +62,10 @@ const struct SpriteTemplate gUnknown_08596D14 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_08596D10, - .callback = sub_811160C, + .callback = AnimConfuseRayBallBounce, }; -const struct SpriteTemplate gUnknown_08596D2C = +const struct SpriteTemplate gConfuseRayBallSpiralSpriteTemplate = { .tileTag = ANIM_TAG_YELLOW_BALL, .paletteTag = ANIM_TAG_YELLOW_BALL, @@ -73,7 +73,7 @@ const struct SpriteTemplate gUnknown_08596D2C = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_81117F4, + .callback = AnimConfuseRayBallSpiral, }; const union AffineAnimCmd gUnknown_08596D44[] = @@ -215,7 +215,7 @@ const struct SpriteTemplate gUnknown_08596E48 = .callback = sub_8112F60, }; -static void sub_811160C(struct Sprite *sprite) +static void AnimConfuseRayBallBounce(struct Sprite *sprite) { InitSpritePosToAnimAttacker(sprite, 1); sprite->data[0] = gBattleAnimArgs[2]; @@ -311,7 +311,7 @@ static void sub_8111764(struct Sprite *sprite) } } -static void sub_81117F4(struct Sprite *sprite) +static void AnimConfuseRayBallSpiral(struct Sprite *sprite) { InitSpritePosToAnimTarget(sprite, TRUE); sprite->callback = sub_8111814; diff --git a/src/ground.c b/src/ground.c index 36dbd31f3..676319498 100644 --- a/src/ground.c +++ b/src/ground.c @@ -49,7 +49,7 @@ const union AffineAnimCmd *const gUnknown_08597174[] = gUnknown_08597160, }; -const struct SpriteTemplate gUnknown_08597178 = +const struct SpriteTemplate gBonemerangSpriteTemplate = { .tileTag = ANIM_TAG_BONE, .paletteTag = ANIM_TAG_BONE, @@ -60,7 +60,7 @@ const struct SpriteTemplate gUnknown_08597178 = .callback = AnimBonemerangProjectile, }; -const struct SpriteTemplate gUnknown_08597190 = +const struct SpriteTemplate gSpinningBoneSpriteTemplate = { .tileTag = ANIM_TAG_BONE, .paletteTag = ANIM_TAG_BONE, @@ -219,7 +219,7 @@ const union AffineAnimCmd *const gUnknown_08595B64[] = gUnknown_08595B44, }; -const struct SpriteTemplate gUnknown_08595B68 = +const struct SpriteTemplate gIceCrystalHitLargeSpriteTemplate = { .tileTag = ANIM_TAG_ICE_CRYSTALS, .paletteTag = ANIM_TAG_ICE_CRYSTALS, @@ -230,7 +230,7 @@ const struct SpriteTemplate gUnknown_08595B68 = .callback = AnimIceEffectParticle, }; -const struct SpriteTemplate gUnknown_08595B80 = +const struct SpriteTemplate gIceCrystalHitSmallSpriteTemplate = { .tileTag = ANIM_TAG_ICE_CRYSTALS, .paletteTag = ANIM_TAG_ICE_CRYSTALS, @@ -241,7 +241,7 @@ const struct SpriteTemplate gUnknown_08595B80 = .callback = AnimIceEffectParticle, }; -const struct SpriteTemplate gUnknown_08595B98 = +const struct SpriteTemplate gSwirlingSnowballSpriteTemplate = { .tileTag = ANIM_TAG_ICE_CRYSTALS, .paletteTag = ANIM_TAG_ICE_CRYSTALS, @@ -252,7 +252,7 @@ const struct SpriteTemplate gUnknown_08595B98 = .callback = AnimSwirlingSnowball_Step1, }; -const struct SpriteTemplate gUnknown_08595BB0 = +const struct SpriteTemplate gBlizzardIceCrystalSpriteTemplate = { .tileTag = ANIM_TAG_ICE_CRYSTALS, .paletteTag = ANIM_TAG_ICE_CRYSTALS, @@ -1452,7 +1452,7 @@ void AnimHailBegin(struct Sprite *sprite) if (sprite->data[0] == 1 && sprite->data[5] == 0) { - spriteId = CreateSprite(&gUnknown_08595B68, + spriteId = CreateSprite(&gIceCrystalHitLargeSpriteTemplate, sprite->data[3], sprite->data[4], sprite->subpriority); sprite->data[0] = spriteId; diff --git a/src/intro.c b/src/intro.c index 7c2303dcc..72aefd737 100644 --- a/src/intro.c +++ b/src/intro.c @@ -90,7 +90,7 @@ extern const struct CompressedSpriteSheet gBattleAnimPicTable[]; extern const struct CompressedSpritePalette gBattleAnimPaletteTable[]; -extern const struct SpriteTemplate gUnknown_08596C10[]; +extern const struct SpriteTemplate gAncientPowerRockSpriteTemplate[]; //ewram EWRAM_DATA u16 gIntroCharacterGender = 0; @@ -1782,7 +1782,7 @@ static void CreateGroudonRockSprites(u8 a0) for (i = 0; i < 6; i++) { - spriteId = CreateSprite(gUnknown_08596C10, gIntroGroudonRockData[i][0], 0xA0, i); + spriteId = CreateSprite(gAncientPowerRockSpriteTemplate, gIntroGroudonRockData[i][0], 0xA0, i); gSprites[spriteId].callback = SpriteCB_IntroGroudonRocks; gSprites[spriteId].oam.priority = 0; gSprites[spriteId].data[1] = i; diff --git a/src/normal.c b/src/normal.c index 7864dd9a3..d0363db04 100644 --- a/src/normal.c +++ b/src/normal.c @@ -22,8 +22,8 @@ static void AnimConfusionDuckStep(struct Sprite *); static void AnimSimplePaletteBlendStep(struct Sprite *); static void sub_81158F8(struct Sprite *); static void sub_8115984(struct Sprite *); -static void sub_8115A54(u8, u8, u8); -static void sub_8115AA4(u8); +static void BlendMonColorInCycle(u8, u8, u8); +static void AnimTask_BlendCycleMonColorLoop(u8); static void sub_8115BC8(u8, u8, u8); static void sub_8115C18(u8); static void sub_8115CD0(u8, u8, u8); @@ -187,7 +187,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_8597370 = .callback = sub_8116420, }; -const struct SpriteTemplate gUnknown_08597388 = +const struct SpriteTemplate gWaterHitSplatSpriteTemplate = { .tileTag = ANIM_TAG_WATER_IMPACT, .paletteTag = ANIM_TAG_WATER_IMPACT, @@ -413,55 +413,68 @@ void sub_81159B4(struct Sprite *sprite) sprite->callback(sprite); } -void sub_8115A04(u8 taskId) +// Task data for AnimTask_BlendCycleMonColor +#define tPalSelector data[0] +#define tDelay data[1] +#define tNumBlends data[2] +#define tInitialBlendY data[3] +#define tTargetBlendY data[4] +#define tBlendColor data[5] +#define tRestoreBlend data[8] + +// Blends mon sprite to designated color or back alternately tNumBlends times +// Many uses of this task only set a tNumBlends of 2, which has the effect of blending to a color and back once +void AnimTask_BlendCycleMonColor(u8 taskId) { - gTasks[taskId].data[0] = gBattleAnimArgs[0]; - gTasks[taskId].data[1] = gBattleAnimArgs[1]; - gTasks[taskId].data[2] = gBattleAnimArgs[2]; - gTasks[taskId].data[3] = gBattleAnimArgs[3]; - gTasks[taskId].data[4] = gBattleAnimArgs[4]; - gTasks[taskId].data[5] = gBattleAnimArgs[5]; - gTasks[taskId].data[8] = 0; - sub_8115A54(taskId, 0, gTasks[taskId].data[4]); - gTasks[taskId].func = sub_8115AA4; + gTasks[taskId].tPalSelector = gBattleAnimArgs[0]; + gTasks[taskId].tDelay = gBattleAnimArgs[1]; + gTasks[taskId].tNumBlends = gBattleAnimArgs[2]; + gTasks[taskId].tInitialBlendY = gBattleAnimArgs[3]; + gTasks[taskId].tTargetBlendY = gBattleAnimArgs[4]; + gTasks[taskId].tBlendColor = gBattleAnimArgs[5]; + gTasks[taskId].tRestoreBlend = FALSE; + BlendMonColorInCycle(taskId, 0, gTasks[taskId].tTargetBlendY); + gTasks[taskId].func = AnimTask_BlendCycleMonColorLoop; } -static void sub_8115A54(u8 taskId, u8 initialBlendAmount, u8 targetBlendAmount) +static void BlendMonColorInCycle(u8 taskId, u8 startBlendAmount, u8 targetBlendAmount) { - u32 selectedPalettes = UnpackSelectedBattleAnimPalettes(gTasks[taskId].data[0]); + u32 selectedPalettes = UnpackSelectedBattleAnimPalettes(gTasks[taskId].tPalSelector); BeginNormalPaletteFade( selectedPalettes, - gTasks[taskId].data[1], - initialBlendAmount, + gTasks[taskId].tDelay, + startBlendAmount, targetBlendAmount, - gTasks[taskId].data[5]); + gTasks[taskId].tBlendColor); - gTasks[taskId].data[2]--; - gTasks[taskId].data[8] ^= 1; + gTasks[taskId].tNumBlends--; + gTasks[taskId].tRestoreBlend ^= 1; } -static void sub_8115AA4(u8 taskId) +static void AnimTask_BlendCycleMonColorLoop(u8 taskId) { - u8 initialBlendAmount, targetBlendAmount; + u8 startBlendAmount, targetBlendAmount; if (!gPaletteFade.active) { - if (gTasks[taskId].data[2] > 0) + if (gTasks[taskId].tNumBlends > 0) { - if (gTasks[taskId].data[8] == 0) + if (gTasks[taskId].tRestoreBlend == FALSE) { - initialBlendAmount = gTasks[taskId].data[3]; - targetBlendAmount = gTasks[taskId].data[4]; + // Blend to designated color + startBlendAmount = gTasks[taskId].tInitialBlendY; + targetBlendAmount = gTasks[taskId].tTargetBlendY; } else { - initialBlendAmount = gTasks[taskId].data[4]; - targetBlendAmount = gTasks[taskId].data[3]; + // Blend back to original color + startBlendAmount = gTasks[taskId].tTargetBlendY; + targetBlendAmount = gTasks[taskId].tInitialBlendY; } - if (gTasks[taskId].data[2] == 1) + if (gTasks[taskId].tNumBlends == 1) targetBlendAmount = 0; - sub_8115A54(taskId, initialBlendAmount, targetBlendAmount); + BlendMonColorInCycle(taskId, startBlendAmount, targetBlendAmount); } else { @@ -470,6 +483,14 @@ static void sub_8115AA4(u8 taskId) } } +#undef tPalSelector +#undef tDelay +#undef tNumBlends +#undef tInitialBlendY +#undef tTargetBlendY +#undef tBlendColor +#undef tFirstBlendDone + void sub_8115B0C(u8 taskId) { int battler; diff --git a/src/poison.c b/src/poison.c index 42e7d6a58..3e7d20c41 100644 --- a/src/poison.c +++ b/src/poison.c @@ -4,9 +4,9 @@ #include "constants/rgb.h" void sub_810DBAC(struct Sprite *); -void sub_810DC2C(struct Sprite *); +void AnimAcidPoisonBubble(struct Sprite *); void sub_810DCD0(struct Sprite *); -void sub_810DD50(struct Sprite *); +void AnimAcidPoisonDroplet(struct Sprite *); void AnimBubbleEffect(struct Sprite *); static void sub_810DC10(struct Sprite *); static void sub_810DCB4(struct Sprite *); @@ -108,7 +108,7 @@ const struct SpriteTemplate gUnknown_085961A8 = .callback = sub_810DBAC, }; -const struct SpriteTemplate gUnknown_085961C0 = +const struct SpriteTemplate gAcidPoisonBubbleSpriteTemplate = { .tileTag = ANIM_TAG_POISON_BUBBLE, .paletteTag = ANIM_TAG_POISON_BUBBLE, @@ -116,7 +116,7 @@ const struct SpriteTemplate gUnknown_085961C0 = .anims = gUnknown_08596164, .images = NULL, .affineAnims = gUnknown_085961A0, - .callback = sub_810DC2C, + .callback = AnimAcidPoisonBubble, }; const struct SpriteTemplate gUnknown_085961D8 = @@ -142,7 +142,7 @@ const union AffineAnimCmd *const gUnknown_08596208[] = gUnknown_085961F0, }; -const struct SpriteTemplate gUnknown_0859620C = +const struct SpriteTemplate gAcidPoisonDropletSpriteTemplate = { .tileTag = ANIM_TAG_POISON_BUBBLE, .paletteTag = ANIM_TAG_POISON_BUBBLE, @@ -150,7 +150,7 @@ const struct SpriteTemplate gUnknown_0859620C = .anims = gUnknown_08596168, .images = NULL, .affineAnims = gUnknown_08596208, - .callback = sub_810DD50, + .callback = AnimAcidPoisonDroplet, }; const union AffineAnimCmd gUnknown_08596224[] = @@ -210,7 +210,7 @@ static void sub_810DC10(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void sub_810DC2C(struct Sprite *sprite) +void AnimAcidPoisonBubble(struct Sprite *sprite) { s16 l1, l2; if (!gBattleAnimArgs[3]) @@ -265,7 +265,7 @@ static void sub_810DD24(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void sub_810DD50(struct Sprite *sprite) +void AnimAcidPoisonDroplet(struct Sprite *sprite) { SetAverageBattlerPositions(gBattleAnimTarget, TRUE, &sprite->pos1.x, &sprite->pos1.y); diff --git a/src/psychic.c b/src/psychic.c index 656608740..d7bbac957 100644 --- a/src/psychic.c +++ b/src/psychic.c @@ -8,10 +8,10 @@ #include "constants/rgb.h" #include "constants/songs.h" -void sub_810F1EC(struct Sprite *); +static void AnimDefensiveWall(struct Sprite *); void sub_810F58C(struct Sprite *); void sub_810F634(struct Sprite *); -void sub_810F6B0(struct Sprite *); +static void AnimQuestionMark(struct Sprite *); void sub_810FBA8(struct Sprite *); void sub_810FDF0(struct Sprite *); void sub_8110240(struct Sprite *); @@ -60,7 +60,7 @@ const struct SpriteTemplate gUnknown_08596560 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810F1EC, + .callback = AnimDefensiveWall, }; const struct SpriteTemplate gUnknown_08596578 = @@ -71,7 +71,7 @@ const struct SpriteTemplate gUnknown_08596578 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810F1EC, + .callback = AnimDefensiveWall, }; const struct SpriteTemplate gUnknown_08596590 = @@ -82,10 +82,10 @@ const struct SpriteTemplate gUnknown_08596590 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810F1EC, + .callback = AnimDefensiveWall, }; -const struct SpriteTemplate gUnknown_085965A8 = +const struct SpriteTemplate gBarrierWallSpriteTemplate = { .tileTag = ANIM_TAG_GRAY_LIGHT_WALL, .paletteTag = ANIM_TAG_GRAY_LIGHT_WALL, @@ -93,7 +93,7 @@ const struct SpriteTemplate gUnknown_085965A8 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810F1EC, + .callback = AnimDefensiveWall, }; const struct SpriteTemplate gUnknown_085965C0 = @@ -104,7 +104,7 @@ const struct SpriteTemplate gUnknown_085965C0 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810F1EC, + .callback = AnimDefensiveWall, }; const union AnimCmd gUnknown_085965D8[] = @@ -257,7 +257,7 @@ const union AffineAnimCmd *const gUnknown_08596740[] = gUnknown_08596718, }; -const struct SpriteTemplate gUnknown_08596744 = +const struct SpriteTemplate gAmnesiaQuestionMarkSpriteTemplate = { .tileTag = ANIM_TAG_AMNESIA, .paletteTag = ANIM_TAG_AMNESIA, @@ -265,7 +265,7 @@ const struct SpriteTemplate gUnknown_08596744 = .anims = gUnknown_08596714, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_810F6B0, + .callback = AnimQuestionMark, }; const union AffineAnimCmd gUnknown_0859675C[] = @@ -419,7 +419,8 @@ const struct SpriteTemplate gUnknown_08596920 = .callback = sub_8110240, }; -void sub_810F1EC(struct Sprite *sprite) +// For the rectangular wall sprite used by Reflect, Mirror Coat, etc +static void AnimDefensiveWall(struct Sprite *sprite) { u8 isContest = IsContest(); @@ -639,7 +640,7 @@ void sub_810F634(struct Sprite *sprite) sprite->callback = RunStoredCallbackWhenAnimEnds; } -void sub_810F6B0(struct Sprite *sprite) +static void AnimQuestionMark(struct Sprite *sprite) { s16 x = GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_WIDTH) / 2; s16 y = GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_HEIGHT) / -2; diff --git a/src/rock.c b/src/rock.c index 28566f1b7..8496ead58 100644 --- a/src/rock.c +++ b/src/rock.c @@ -199,7 +199,7 @@ const union AnimCmd *const gUnknown_08596C08[] = gUnknown_08596BF0, }; -const struct SpriteTemplate gUnknown_08596C10 = +const struct SpriteTemplate gAncientPowerRockSpriteTemplate = { .tileTag = ANIM_TAG_ROCKS, .paletteTag = ANIM_TAG_ROCKS, diff --git a/src/water.c b/src/water.c index a2fe4c56f..760900702 100644 --- a/src/water.c +++ b/src/water.c @@ -15,11 +15,11 @@ void sub_810721C(struct Sprite *); void sub_8107228(struct Sprite *); -void sub_8107260(struct Sprite *); +static void AnimMovingWaterBubble(struct Sprite *); void sub_8107380(struct Sprite *); void sub_8107408(struct Sprite *); void sub_8107430(struct Sprite *); -void sub_810744C(struct Sprite *); +static void AnimAuroraBeamRings(struct Sprite *); void sub_81074E4(struct Sprite *); void sub_81075EC(struct Sprite *); void sub_8107674(struct Sprite *); @@ -115,7 +115,7 @@ const union AnimCmd *const gUnknown_08595064[] = gUnknown_08595054, }; -const struct SpriteTemplate gBattleAnimSpriteTemplate_8595068 = +const struct SpriteTemplate gMovingWaterBubbleSpriteTemplate = { .tileTag = ANIM_TAG_BUBBLE, .paletteTag = ANIM_TAG_BUBBLE, @@ -123,7 +123,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_8595068 = .anims = gUnknown_08595064, .images = NULL, .affineAnims = gUnknown_08595050, - .callback = sub_8107260, + .callback = AnimMovingWaterBubble, }; const union AnimCmd gUnknown_08595080[] = @@ -156,8 +156,7 @@ const union AffineAnimCmd *const gUnknown_085950B0[] = gUnknown_08595098, }; -// Multi-colored rings used in Aurora Beam. -const struct SpriteTemplate gUnknown_085950B4 = +const struct SpriteTemplate gAuroraBeamRingSpriteTemplate = { .tileTag = ANIM_TAG_RAINBOW_RINGS, .paletteTag = ANIM_TAG_RAINBOW_RINGS, @@ -165,7 +164,7 @@ const struct SpriteTemplate gUnknown_085950B4 = .anims = gUnknown_08595090, .images = NULL, .affineAnims = gUnknown_085950B0, - .callback = sub_810744C, + .callback = AnimAuroraBeamRings, }; const union AnimCmd gUnknown_085950CC[] = @@ -351,7 +350,7 @@ const struct SpriteTemplate gUnknown_08595220 = .callback = sub_8107894, }; -const struct SpriteTemplate gUnknown_08595238 = +const struct SpriteTemplate gSmallBubblePairSpriteTemplate = { .tileTag = ANIM_TAG_ICE_CRYSTALS, .paletteTag = ANIM_TAG_ICE_CRYSTALS, @@ -478,7 +477,7 @@ const struct SpriteTemplate gUnknown_08595328 = .callback = sub_80A8EE4, }; -extern const struct SpriteTemplate gUnknown_08597388; +extern const struct SpriteTemplate gWaterHitSplatSpriteTemplate; void AnimTask_CreateRaindrops(u8 taskId) { @@ -517,7 +516,8 @@ void sub_8107228(struct Sprite *sprite) DestroySprite(sprite); } -void sub_8107260(struct Sprite *sprite) +// For water bubbles that move to a dest, as in Bubble/Bubblebeam +static void AnimMovingWaterBubble(struct Sprite *sprite) { u8 spriteId; @@ -590,7 +590,7 @@ void sub_8107430(struct Sprite *sprite) StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix); } -void sub_810744C(struct Sprite *sprite) +static void AnimAuroraBeamRings(struct Sprite *sprite) { s16 unkArg; @@ -1762,7 +1762,7 @@ void sub_810871C(struct Task *task, u8 taskId) } task->data[11]++; task->data[8] = (task->data[8] + 39) & 0xFF; - task->data[7] = ((task->data[7] * 0x41c64e6d + 0x3039) % task->data[5]) + task->data[4]; + task->data[7] = ((task->data[7] * 1103515245 + 12345) % task->data[5]) + task->data[4]; } void sub_81087C0(struct Sprite *sprite) @@ -1773,7 +1773,7 @@ void sub_81087C0(struct Sprite *sprite) if (sprite->pos1.y >= sprite->data[5]) { gTasks[sprite->data[6]].data[10] = 1; - sprite->data[1] = CreateSprite(&gUnknown_08597388, sprite->pos1.x, sprite->pos1.y, 1); + sprite->data[1] = CreateSprite(&gWaterHitSplatSpriteTemplate, sprite->pos1.x, sprite->pos1.y, 1); if (sprite->data[1] != MAX_SPRITES) { StartSpriteAffineAnim(&gSprites[sprite->data[1]], 3); |