diff options
author | Marcus Huderle <huderlem@gmail.com> | 2018-06-25 17:50:27 -0500 |
---|---|---|
committer | Marcus Huderle <huderlem@gmail.com> | 2018-06-25 17:50:27 -0500 |
commit | 605f8ac1141daf66d3428923e004f82f5a5e1594 (patch) | |
tree | a3e5fae5d271175c7f10b6b455fcdc7f0fdd553e /src/battle/anim/tendrils.c | |
parent | e88e39d5fda1644f77e41fd652d4310612da7532 (diff) | |
parent | 659437f07a44b6f560bb58d6c12d141ed8ba7643 (diff) |
Merge branch 'master' into contest_link_80C2020
Diffstat (limited to 'src/battle/anim/tendrils.c')
-rw-r--r-- | src/battle/anim/tendrils.c | 63 |
1 files changed, 59 insertions, 4 deletions
diff --git a/src/battle/anim/tendrils.c b/src/battle/anim/tendrils.c index 9f57ffd45..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,20 +78,20 @@ 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) { sprite->affineAnimPaused = 0; - GetAnimBankSpriteId(1); + GetAnimBattlerSpriteId(1); sprite->data[0] = 0x100; sprite->callback = sub_80CB2D4; } } -void sub_80CB2D4(struct Sprite* sprite) +static void sub_80CB2D4(struct Sprite* sprite) { - GetAnimBankSpriteId(1); + GetAnimBattlerSpriteId(1); if (!sprite->data[2]) { sprite->data[0] += 11; |