diff options
Diffstat (limited to 'src/battle/anim/tendrils.c')
-rw-r--r-- | src/battle/anim/tendrils.c | 59 |
1 files changed, 57 insertions, 2 deletions
diff --git a/src/battle/anim/tendrils.c b/src/battle/anim/tendrils.c index 4ef704f3a..55e2c21bb 100644 --- a/src/battle/anim/tendrils.c +++ b/src/battle/anim/tendrils.c @@ -7,12 +7,67 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; +void sub_80CB25C(struct Sprite* sprite); static void sub_80CB298(struct Sprite* sprite); static void sub_80CB2D4(struct Sprite* sprite); // tendrils // Used by Constrict. +const union AnimCmd gSpriteAnim_83D6528[] = +{ + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(32, 4), + ANIMCMD_FRAME(64, 4), + ANIMCMD_FRAME(96, 4), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D653C[] = +{ + ANIMCMD_FRAME(0, 4, .hFlip = TRUE), + ANIMCMD_FRAME(32, 4, .hFlip = TRUE), + ANIMCMD_FRAME(64, 4, .hFlip = TRUE), + ANIMCMD_FRAME(96, 4, .hFlip = TRUE), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83D6550[] = +{ + gSpriteAnim_83D6528, + gSpriteAnim_83D653C, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D6558[] = { + AFFINEANIMCMD_FRAME(256, 256, 0, 0), + AFFINEANIMCMD_FRAME(-11, 0, 0, 6), + AFFINEANIMCMD_FRAME(11, 0, 0, 6), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D6578[] = { + AFFINEANIMCMD_FRAME(-256, 256, 0, 0), + AFFINEANIMCMD_FRAME(11, 0, 0, 6), + AFFINEANIMCMD_FRAME(-11, 0, 0, 6), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83D6598[] = { + gSpriteAffineAnim_83D6558, + gSpriteAffineAnim_83D6578, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D65A0 = +{ + .tileTag = 10186, + .paletteTag = 10186, + .oam = &gOamData_837DFBC, + .anims = gSpriteAnimTable_83D6550, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D6598, + .callback = sub_80CB25C, +}; + void sub_80CB25C(struct Sprite* sprite) { sub_8078764(sprite, 0); @@ -23,7 +78,7 @@ void sub_80CB25C(struct Sprite* sprite) sprite->callback = sub_80CB298; } -void sub_80CB298(struct Sprite* sprite) +static void sub_80CB298(struct Sprite* sprite) { if ((u16)gBattleAnimArgs[7] == 0xFFFF) { @@ -34,7 +89,7 @@ void sub_80CB298(struct Sprite* sprite) } } -void sub_80CB2D4(struct Sprite* sprite) +static void sub_80CB2D4(struct Sprite* sprite) { GetAnimBattlerSpriteId(1); if (!sprite->data[2]) |