diff options
author | Marcus Huderle <huderlem@gmail.com> | 2018-06-25 17:49:04 -0500 |
---|---|---|
committer | Marcus Huderle <huderlem@gmail.com> | 2018-06-25 17:59:58 -0500 |
commit | f839afb24aa2c7b70e9c28a5c069aacc46993099 (patch) | |
tree | 6e2d20ba992918a583c8323f3bf4a60347f16b95 | |
parent | 18fb03a570bdfcfbe0db4e2d85f5406589fd1136 (diff) |
Label sprite templates and their funcs in battle/anim/ground.c
-rw-r--r-- | data/battle_anim_scripts.s | 118 | ||||
-rw-r--r-- | src/battle/anim/ground.c | 139 |
2 files changed, 145 insertions, 112 deletions
diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index 540d6d531..185f85f33 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -2624,17 +2624,17 @@ Move_FISSURE: @ 81CAF7E waitbgfadein end _81CAFFF: - createsprite gBattleAnimSpriteTemplate_83DB34C, 130, 1, 0, 12, -48, -16, 24 - createsprite gBattleAnimSpriteTemplate_83DB34C, 130, 1, 0, 16, -16, -10, 24 - createsprite gBattleAnimSpriteTemplate_83DB34C, 130, 1, 1, 14, -52, -18, 24 - createsprite gBattleAnimSpriteTemplate_83DB34C, 130, 1, 1, 12, -32, -16, 24 + createsprite gDirtPlumeSpriteTemplate, 130, 1, 0, 12, -48, -16, 24 + createsprite gDirtPlumeSpriteTemplate, 130, 1, 0, 16, -16, -10, 24 + createsprite gDirtPlumeSpriteTemplate, 130, 1, 1, 14, -52, -18, 24 + createsprite gDirtPlumeSpriteTemplate, 130, 1, 1, 12, -32, -16, 24 playsewithpan SE_W091, 63 return _81CB050: - createsprite gBattleAnimSpriteTemplate_83DB34C, 130, 1, 0, 12, -24, -16, 24 - createsprite gBattleAnimSpriteTemplate_83DB34C, 130, 1, 0, 16, -38, -10, 24 - createsprite gBattleAnimSpriteTemplate_83DB34C, 130, 1, 1, 14, -20, -18, 24 - createsprite gBattleAnimSpriteTemplate_83DB34C, 130, 1, 1, 12, -36, -16, 24 + createsprite gDirtPlumeSpriteTemplate, 130, 1, 0, 12, -24, -16, 24 + createsprite gDirtPlumeSpriteTemplate, 130, 1, 0, 16, -38, -10, 24 + createsprite gDirtPlumeSpriteTemplate, 130, 1, 1, 14, -20, -18, 24 + createsprite gDirtPlumeSpriteTemplate, 130, 1, 1, 12, -36, -16, 24 playsewithpan SE_W091, 63 return @@ -2645,8 +2645,8 @@ _81CB0AA: _81CB0AB: loadspritegfx 10074 loadspritegfx 10281 - createsprite gBattleAnimSpriteTemplate_83DB364, 1, 0, 0, 180 - createsprite gBattleAnimSpriteTemplate_83DB364, 1, 0, 1, 180 + createsprite gDigDirtMoundSpriteTemplate, 1, 0, 0, 180 + createsprite gDigDirtMoundSpriteTemplate, 1, 0, 1, 180 monbg_22 0 delay 1 createvisualtask sub_80E1244, 2, 0 @@ -2667,8 +2667,8 @@ _81CB106: createvisualtask sub_80E149C, 2, 0 waitforvisualfinish monbg ANIM_BANK_ATTACKER - createsprite gBattleAnimSpriteTemplate_83DB364, 1, 0, 0, 48 - createsprite gBattleAnimSpriteTemplate_83DB364, 1, 0, 1, 48 + createsprite gDigDirtMoundSpriteTemplate, 1, 0, 0, 48 + createsprite gDigDirtMoundSpriteTemplate, 1, 0, 1, 48 delay 1 createvisualtask sub_80E149C, 2, 1 delay 16 @@ -2678,10 +2678,10 @@ _81CB106: clearmonbg ANIM_BANK_ATTACKER goto _81CB0AA _81CB16A: - createsprite gBattleAnimSpriteTemplate_83DB34C, 2, 0, 0, 12, 4, -16, 18 - createsprite gBattleAnimSpriteTemplate_83DB34C, 2, 0, 0, 16, 4, -10, 18 - createsprite gBattleAnimSpriteTemplate_83DB34C, 2, 0, 1, 14, 4, -18, 18 - createsprite gBattleAnimSpriteTemplate_83DB34C, 2, 0, 1, 12, 4, -16, 18 + createsprite gDirtPlumeSpriteTemplate, 2, 0, 0, 12, 4, -16, 18 + createsprite gDirtPlumeSpriteTemplate, 2, 0, 0, 16, 4, -10, 18 + createsprite gDirtPlumeSpriteTemplate, 2, 0, 1, 14, 4, -18, 18 + createsprite gDirtPlumeSpriteTemplate, 2, 0, 1, 12, 4, -16, 18 playsewithpan SE_W091, 192 delay 32 return @@ -4004,46 +4004,46 @@ Move_MUD_SPORT: @ 81CCC3C loadspritegfx 10074 createvisualtask sub_80D074C, 2, 0, 6 delay 24 - createsprite gBattleAnimSpriteTemplate_83DB334, 130, 0, -4, -16 - createsprite gBattleAnimSpriteTemplate_83DB334, 130, 0, 4, -12 + createsprite gMudSportDirtSpriteTemplate, 130, 0, -4, -16 + createsprite gMudSportDirtSpriteTemplate, 130, 0, 4, -12 playsewithpan SE_W091, 192 delay 32 - createsprite gBattleAnimSpriteTemplate_83DB334, 130, 0, -3, -12 - createsprite gBattleAnimSpriteTemplate_83DB334, 130, 0, 5, -14 + createsprite gMudSportDirtSpriteTemplate, 130, 0, -3, -12 + createsprite gMudSportDirtSpriteTemplate, 130, 0, 5, -14 playsewithpan SE_W091, 192 delay 32 - createsprite gBattleAnimSpriteTemplate_83DB334, 130, 0, -5, -18 - createsprite gBattleAnimSpriteTemplate_83DB334, 130, 0, 3, -14 + createsprite gMudSportDirtSpriteTemplate, 130, 0, -5, -18 + createsprite gMudSportDirtSpriteTemplate, 130, 0, 3, -14 playsewithpan SE_W091, 192 delay 16 - createsprite gBattleAnimSpriteTemplate_83DB334, 130, 1, 220, 60 + createsprite gMudSportDirtSpriteTemplate, 130, 1, 220, 60 waitplaysewithpan SE_W145B, 0, 15 delay 2 - createsprite gBattleAnimSpriteTemplate_83DB334, 130, 1, 60, 100 + createsprite gMudSportDirtSpriteTemplate, 130, 1, 60, 100 waitplaysewithpan SE_W145B, 0, 25 delay 2 - createsprite gBattleAnimSpriteTemplate_83DB334, 130, 1, 140, 55 + createsprite gMudSportDirtSpriteTemplate, 130, 1, 140, 55 waitplaysewithpan SE_W145B, 0, 14 delay 2 - createsprite gBattleAnimSpriteTemplate_83DB334, 130, 1, 180, 50 + createsprite gMudSportDirtSpriteTemplate, 130, 1, 180, 50 waitplaysewithpan SE_W145B, 0, 10 delay 2 - createsprite gBattleAnimSpriteTemplate_83DB334, 130, 1, 20, 90 + createsprite gMudSportDirtSpriteTemplate, 130, 1, 20, 90 waitplaysewithpan SE_W145B, 0, 22 delay 2 - createsprite gBattleAnimSpriteTemplate_83DB334, 130, 1, 90, 90 + createsprite gMudSportDirtSpriteTemplate, 130, 1, 90, 90 waitplaysewithpan SE_W145B, 0, 22 delay 2 - createsprite gBattleAnimSpriteTemplate_83DB334, 130, 1, 160, 60 + createsprite gMudSportDirtSpriteTemplate, 130, 1, 160, 60 waitplaysewithpan SE_W145B, 0, 15 delay 2 - createsprite gBattleAnimSpriteTemplate_83DB334, 130, 1, 30, 90 + createsprite gMudSportDirtSpriteTemplate, 130, 1, 30, 90 waitplaysewithpan SE_W145B, 0, 22 delay 2 - createsprite gBattleAnimSpriteTemplate_83DB334, 130, 1, 120, 60 + createsprite gMudSportDirtSpriteTemplate, 130, 1, 120, 60 waitplaysewithpan SE_W145B, 0, 15 delay 2 - createsprite gBattleAnimSpriteTemplate_83DB334, 130, 1, 200, 40 + createsprite gMudSportDirtSpriteTemplate, 130, 1, 200, 40 waitplaysewithpan SE_W145B, 0, 10 end @@ -5194,22 +5194,22 @@ Move_SAND_ATTACK: @ 81CE774 createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, -10, 0, 0, 3 waitforvisualfinish createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 2 - call _81CE7C4 - call _81CE7C4 - call _81CE7C4 - call _81CE7C4 - call _81CE7C4 - call _81CE7C4 + call Move_SAND_ATTACK_CreateDirtSpray + call Move_SAND_ATTACK_CreateDirtSpray + call Move_SAND_ATTACK_CreateDirtSpray + call Move_SAND_ATTACK_CreateDirtSpray + call Move_SAND_ATTACK_CreateDirtSpray + call Move_SAND_ATTACK_CreateDirtSpray waitforvisualfinish clearmonbg ANIM_BANK_ATK_PARTNER blendoff end -_81CE7C4: - createsprite gBattleAnimSpriteTemplate_83DB2F8, 130, 15, 15, 20, 0, 0 - createsprite gBattleAnimSpriteTemplate_83DB2F8, 130, 15, 15, 20, 10, 10 - createsprite gBattleAnimSpriteTemplate_83DB2F8, 130, 15, 15, 20, -10, -10 - createsprite gBattleAnimSpriteTemplate_83DB2F8, 130, 15, 15, 20, 20, 5 - createsprite gBattleAnimSpriteTemplate_83DB2F8, 130, 15, 15, 20, -20, -5 +Move_SAND_ATTACK_CreateDirtSpray: + createsprite gSandAttackDirtSpriteTemplate, 130, 15, 15, 20, 0, 0 + createsprite gSandAttackDirtSpriteTemplate, 130, 15, 15, 20, 10, 10 + createsprite gSandAttackDirtSpriteTemplate, 130, 15, 15, 20, -10, -10 + createsprite gSandAttackDirtSpriteTemplate, 130, 15, 15, 20, 20, 5 + createsprite gSandAttackDirtSpriteTemplate, 130, 15, 15, 20, -20, -5 delay 2 return @@ -5219,20 +5219,20 @@ Move_MUD_SLAP: @ 81CE81C createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, -10, 0, 0, 3 waitforvisualfinish createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 2 - call _81CE862 - call _81CE862 - call _81CE862 - call _81CE862 - call _81CE862 - call _81CE862 + call Move_MUD_SLAP_CreateMudSpray + call Move_MUD_SLAP_CreateMudSpray + call Move_MUD_SLAP_CreateMudSpray + call Move_MUD_SLAP_CreateMudSpray + call Move_MUD_SLAP_CreateMudSpray + call Move_MUD_SLAP_CreateMudSpray waitforvisualfinish end -_81CE862: - createsprite gBattleAnimSpriteTemplate_83DB31C, 130, 15, 15, 20, 0, 0 - createsprite gBattleAnimSpriteTemplate_83DB31C, 130, 15, 15, 20, 10, 5 - createsprite gBattleAnimSpriteTemplate_83DB31C, 130, 15, 15, 20, -10, -5 - createsprite gBattleAnimSpriteTemplate_83DB31C, 130, 15, 15, 20, 20, 10 - createsprite gBattleAnimSpriteTemplate_83DB31C, 130, 15, 15, 20, -20, -10 +Move_MUD_SLAP_CreateMudSpray: + createsprite gMudSlapDirtSpriteTemplate, 130, 15, 15, 20, 0, 0 + createsprite gMudSlapDirtSpriteTemplate, 130, 15, 15, 20, 10, 5 + createsprite gMudSlapDirtSpriteTemplate, 130, 15, 15, 20, -10, -5 + createsprite gMudSlapDirtSpriteTemplate, 130, 15, 15, 20, 20, 10 + createsprite gMudSlapDirtSpriteTemplate, 130, 15, 15, 20, -20, -10 delay 2 return @@ -6033,7 +6033,7 @@ Move_BONEMERANG: @ 81CFC54 monbgprio_28 1 setalpha 12, 8 playsewithpan SE_W155, 192 - createsprite gBattleAnimSpriteTemplate_83DB2C8, 2 + createsprite gBonemerangSpriteTemplate, 2 delay 20 playsewithpan SE_W030, 63 createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 1 @@ -6053,7 +6053,7 @@ Move_BONE_CLUB: @ 81CFCA8 monbgprio_28 1 setalpha 12, 8 playsewithpan SE_W155, 63 - createsprite gBattleAnimSpriteTemplate_83DB2E0, 2, -42, -25, 0, 0, 15 + createsprite gBoneHitSpriteTemplate, 2, -42, -25, 0, 0, 15 delay 12 createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 1 createvisualtask AnimTask_ShakeMon, 5, 1, 0, 5, 5, 1 @@ -6070,7 +6070,7 @@ Move_BONE_RUSH: @ 81CFD0A monbg ANIM_BANK_DEF_PARTNER setalpha 12, 8 playsewithpan SE_W155, 63 - createsprite gBattleAnimSpriteTemplate_83DB2E0, 2, -42, -25, 0, 0, 15 + createsprite gBoneHitSpriteTemplate, 2, -42, -25, 0, 0, 15 delay 12 createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 2 createvisualtask AnimTask_ShakeMon, 5, 1, 0, 3, 5, 1 diff --git a/src/battle/anim/ground.c b/src/battle/anim/ground.c index d97d1e1f5..67b4c9c9c 100644 --- a/src/battle/anim/ground.c +++ b/src/battle/anim/ground.c @@ -19,72 +19,72 @@ extern u16 gBattle_BG3_Y; extern u16 gAnimMovePower; extern u8 gBankSpriteIds[]; -static void sub_80E0F1C(struct Sprite *sprite); -static void sub_80E0F84(struct Sprite *sprite); -static void sub_80E0FE8(struct Sprite *sprite); -static void sub_80E1004(struct Sprite *sprite); -static void sub_80E1078(struct Sprite *sprite); -static void sub_80E1108(struct Sprite *sprite); -static void sub_80E1198(struct Sprite *sprite); -static void sub_80E11D4(struct Sprite *sprite); +static void AnimBonemerangProjectile(struct Sprite *sprite); +static void AnimBonemerangProjectileStep(struct Sprite *sprite); +static void AnimBonemerangProjectileEnd(struct Sprite *sprite); +static void AnimBoneHitProjectile(struct Sprite *sprite); +static void AnimDirtScatter(struct Sprite *sprite); +static void AnimMudSportDirt(struct Sprite *sprite); +static void AnimMudSportDirtRising(struct Sprite *sprite); +static void AnimMudSportDirtFalling(struct Sprite *sprite); static void sub_80E1284(u8 taskId); static void sub_80E1668(u8, s16, s16); static void sub_80E143C(u8 taskId); static void sub_80E14DC(u8 taskId); static void sub_80E1560(u8 taskId); -static void sub_80E1728(struct Sprite *sprite); -static void sub_80E17B0(struct Sprite *sprite); -static void sub_80E17CC(struct Sprite *sprite); +static void AnimFissureDirtPlumeParticle(struct Sprite *sprite); +static void AnimFissureDirtPlumeParticleStep(struct Sprite *sprite); +static void AnimDigDirtMound(struct Sprite *sprite); static void sub_80E1934(u8 taskId); static void sub_80E1A2C(u8 taskId); static void sub_80E1B10(struct Task *task); static void sub_80E1C58(u8 taskId); -const union AffineAnimCmd gSpriteAffineAnim_83DB2A0[] = +const union AffineAnimCmd gBonemerangSpriteAffineAnim[] = { AFFINEANIMCMD_FRAME(0x0, 0x0, 15, 1), AFFINEANIMCMD_JUMP(0), }; -const union AffineAnimCmd gSpriteAffineAnim_83DB2B0[] = +const union AffineAnimCmd gBoneHitSpriteAffineAnim[] = { AFFINEANIMCMD_FRAME(0x0, 0x0, 20, 1), AFFINEANIMCMD_JUMP(0), }; -const union AffineAnimCmd *const gSpriteAffineAnimTable_83DB2C0[] = +const union AffineAnimCmd *const gBonemerangSpriteAffineAnimTable[] = { - gSpriteAffineAnim_83DB2A0, + gBonemerangSpriteAffineAnim, }; -const union AffineAnimCmd *const gSpriteAffineAnimTable_83DB2C4[] = +const union AffineAnimCmd *const gBoneHitSpriteAffineAnimTable[] = { - gSpriteAffineAnim_83DB2B0, + gBoneHitSpriteAffineAnim, }; -const struct SpriteTemplate gBattleAnimSpriteTemplate_83DB2C8 = +const struct SpriteTemplate gBonemerangSpriteTemplate = { .tileTag = 10000, .paletteTag = 10000, .oam = &gOamData_837DF94, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gSpriteAffineAnimTable_83DB2C0, - .callback = sub_80E0F1C, + .affineAnims = gBonemerangSpriteAffineAnimTable, + .callback = AnimBonemerangProjectile, }; -const struct SpriteTemplate gBattleAnimSpriteTemplate_83DB2E0 = +const struct SpriteTemplate gBoneHitSpriteTemplate = { .tileTag = 10000, .paletteTag = 10000, .oam = &gOamData_837DF94, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gSpriteAffineAnimTable_83DB2C4, - .callback = sub_80E1004, + .affineAnims = gBoneHitSpriteAffineAnimTable, + .callback = AnimBoneHitProjectile, }; -const struct SpriteTemplate gBattleAnimSpriteTemplate_83DB2F8 = +const struct SpriteTemplate gSandAttackDirtSpriteTemplate = { .tileTag = 10074, .paletteTag = 10074, @@ -92,32 +92,32 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_83DB2F8 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80E1078, + .callback = AnimDirtScatter, }; -const union AnimCmd gSpriteAnim_83DB310[] = +const union AnimCmd gMudSlapDirtSpriteAnim[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -const union AnimCmd *const gSpriteAnimTable_83DB318[] = +const union AnimCmd *const gMudSlapDirtSpriteAnimTable[] = { - gSpriteAnim_83DB310, + gMudSlapDirtSpriteAnim, }; -const struct SpriteTemplate gBattleAnimSpriteTemplate_83DB31C = +const struct SpriteTemplate gMudSlapDirtSpriteTemplate = { .tileTag = 10074, .paletteTag = 10074, .oam = &gOamData_837DF2C, - .anims = gSpriteAnimTable_83DB318, + .anims = gMudSlapDirtSpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80E1078, + .callback = AnimDirtScatter, }; -const struct SpriteTemplate gBattleAnimSpriteTemplate_83DB334 = +const struct SpriteTemplate gMudSportDirtSpriteTemplate = { .tileTag = 10074, .paletteTag = 10074, @@ -125,10 +125,10 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_83DB334 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80E1108, + .callback = AnimMudSportDirt, }; -const struct SpriteTemplate gBattleAnimSpriteTemplate_83DB34C = +const struct SpriteTemplate gDirtPlumeSpriteTemplate = { .tileTag = 10074, .paletteTag = 10074, @@ -136,10 +136,10 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_83DB34C = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80E1728, + .callback = AnimFissureDirtPlumeParticle, }; -const struct SpriteTemplate gBattleAnimSpriteTemplate_83DB364 = +const struct SpriteTemplate gDigDirtMoundSpriteTemplate = { .tileTag = 10281, .paletteTag = 10281, @@ -147,10 +147,12 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_83DB364 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80E17CC, + .callback = AnimDigDirtMound, }; -static void sub_80E0F1C(struct Sprite *sprite) +// Moves a bone projectile towards the target mon, which moves like +// a boomerang. After hitting the target mon, it comes back to the user. +static void AnimBonemerangProjectile(struct Sprite *sprite) { sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2); sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3); @@ -159,10 +161,10 @@ static void sub_80E0F1C(struct Sprite *sprite) sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 3); sprite->data[5] = -40; InitAnimSpriteTranslationOverDuration(sprite); - sprite->callback = sub_80E0F84; + sprite->callback = AnimBonemerangProjectileStep; } -static void sub_80E0F84(struct Sprite *sprite) +static void AnimBonemerangProjectileStep(struct Sprite *sprite) { if (TranslateAnimSpriteLinearAndSine(sprite)) { @@ -175,17 +177,24 @@ static void sub_80E0F84(struct Sprite *sprite) sprite->data[4] = GetBattlerSpriteCoord(gAnimBankAttacker, 3); sprite->data[5] = 40; InitAnimSpriteTranslationOverDuration(sprite); - sprite->callback = sub_80E0FE8; + sprite->callback = AnimBonemerangProjectileEnd; } } -static void sub_80E0FE8(struct Sprite *sprite) +static void AnimBonemerangProjectileEnd(struct Sprite *sprite) { if (TranslateAnimSpriteLinearAndSine(sprite)) DestroyAnimSprite(sprite); } -static void sub_80E1004(struct Sprite *sprite) +// Moves a bone projectile towards the target mon, starting right next to +// the target mon. +// arg 0: initial x pixel offset +// arg 1: initial y pixel offset +// arg 2: target x pixel offset +// arg 3: target y pixel offset +// arg 4: duration +static void AnimBoneHitProjectile(struct Sprite *sprite) { sub_8078764(sprite, 1); if (GetBattlerSide(gAnimBankAttacker) != B_SIDE_PLAYER) @@ -198,7 +207,13 @@ static void sub_80E1004(struct Sprite *sprite) StoreSpriteCallbackInData(sprite, DestroyAnimSprite); } -static void sub_80E1078(struct Sprite *sprite) +// Moves a small dirt projectile towards the target mon. +// arg 0: initial x pixel offset +// arg 1: initial y pixel offset +// arg 2: duration +// arg 3: target x pixel offset +// arg 4: target y pixel offset +static void AnimDirtScatter(struct Sprite *sprite) { u8 targetXPos, targetYPos; s16 xOffset, yOffset; @@ -222,7 +237,12 @@ static void sub_80E1078(struct Sprite *sprite) StoreSpriteCallbackInData(sprite, move_anim_8074EE0); } -static void sub_80E1108(struct Sprite *sprite) +// Moves a particle of dirt in the Mud Sport animation. +// The dirt can either be rising upward, or falling down. +// arg 0: 0 = dirt is rising into the air, 1 = dirt is falling down +// arg 1: initial x pixel offset +// arg 2: initial y pixel offset +static void AnimMudSportDirt(struct Sprite *sprite) { sprite->oam.tileNum++; if (gBattleAnimArgs[0] == 0) @@ -230,18 +250,18 @@ static void sub_80E1108(struct Sprite *sprite) sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2) + gBattleAnimArgs[1]; sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3) + gBattleAnimArgs[2]; sprite->data[0] = gBattleAnimArgs[1] > 0 ? 1 : -1; - sprite->callback = sub_80E1198; + sprite->callback = AnimMudSportDirtRising; } else { sprite->pos1.x = gBattleAnimArgs[1]; sprite->pos1.y = gBattleAnimArgs[2]; sprite->pos2.y = -gBattleAnimArgs[2]; - sprite->callback = sub_80E11D4; + sprite->callback = AnimMudSportDirtFalling; } } -static void sub_80E1198(struct Sprite *sprite) +static void AnimMudSportDirtRising(struct Sprite *sprite) { if (++sprite->data[1] > 1) { @@ -254,7 +274,7 @@ static void sub_80E1198(struct Sprite *sprite) DestroyAnimSprite(sprite); } -static void sub_80E11D4(struct Sprite *sprite) +static void AnimMudSportDirtFalling(struct Sprite *sprite) { switch (sprite->data[0]) { @@ -487,7 +507,14 @@ static void sub_80E1668(u8 useBG1, s16 y, s16 endY) ScanlineEffect_SetParams(scanlineParams); } -static void sub_80E1728(struct Sprite *sprite) +// Moves a particle of dirt in a plume of dirt. Used in Fissure and Dig. +// arg 0: which mon (0 = attacker, 1 = target) +// arg 1: which side of mon (0 = left, 1 = right) +// arg 2: target x offset +// arg 3: target y offset +// arg 4: wave amplitude +// arg 5: duration +static void AnimFissureDirtPlumeParticle(struct Sprite *sprite) { s8 battler; s16 xOffset; @@ -511,16 +538,22 @@ static void sub_80E1728(struct Sprite *sprite) sprite->data[4] = sprite->pos1.y + gBattleAnimArgs[3]; sprite->data[5] = gBattleAnimArgs[4]; InitAnimSpriteTranslationOverDuration(sprite); - sprite->callback = sub_80E17B0; + sprite->callback = AnimFissureDirtPlumeParticleStep; } -static void sub_80E17B0(struct Sprite *sprite) +static void AnimFissureDirtPlumeParticleStep(struct Sprite *sprite) { if (TranslateAnimSpriteLinearAndSine(sprite)) DestroyAnimSprite(sprite); } -static void sub_80E17CC(struct Sprite *sprite) +// Displays the dirt mound seen in the move Dig for set duration. +// The dirt mound image is too large for a single sprite, so two +// sprites are lined up next to each other. +// arg 0: which mon (0 = attacker, 1 = target) +// arg 1: oam tile num (0 = left half of image, 1 = right half of image) +// arg 2: duration +static void AnimDigDirtMound(struct Sprite *sprite) { s8 battler; |