diff options
Diffstat (limited to 'src/battle/anim/hop.c')
-rw-r--r-- | src/battle/anim/hop.c | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/src/battle/anim/hop.c b/src/battle/anim/hop.c index 7d1b2fd01..3aba79511 100644 --- a/src/battle/anim/hop.c +++ b/src/battle/anim/hop.c @@ -7,9 +7,67 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; +void sub_80CB94C(struct Sprite* sprite); +void sub_80CBA28(struct Sprite* sprite); + // hop (where a sprite "hops" across the screen) // Used by Present, Trick, and the item knock off effect. +const union AnimCmd gSpriteAnim_83D66B0[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83D66B8[] = +{ + gSpriteAnim_83D66B0, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D66BC[] = { + AFFINEANIMCMD_FRAME(0, 0, -4, 10), + AFFINEANIMCMD_FRAME(0, 0, 4, 20), + AFFINEANIMCMD_FRAME(0, 0, -4, 10), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D66DC[] = { + AFFINEANIMCMD_FRAME(0, 0, -1, 2), + AFFINEANIMCMD_FRAME(0, 0, 1, 4), + AFFINEANIMCMD_FRAME(0, 0, -1, 4), + AFFINEANIMCMD_FRAME(0, 0, 1, 4), + AFFINEANIMCMD_FRAME(0, 0, -1, 4), + AFFINEANIMCMD_FRAME(0, 0, 1, 2), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83D6714[] = { + gSpriteAffineAnim_83D66BC, + gSpriteAffineAnim_83D66DC, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D671C = +{ + .tileTag = 10224, + .paletteTag = 10224, + .oam = &gOamData_837DF94, + .anims = gSpriteAnimTable_83D66B8, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D6714, + .callback = sub_80CB94C, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D6734 = +{ + .tileTag = 10224, + .paletteTag = 10224, + .oam = &gOamData_837DF94, + .anims = gSpriteAnimTable_83D66B8, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D6714, + .callback = sub_80CBA28, +}; + void sub_80CB7EC(struct Sprite* sprite, s16 c) { s32 a = (sprite->pos1.x * 256) | sprite->pos1.y; |