diff options
Diffstat (limited to 'src/battle/anim/grip.c')
-rw-r--r-- | src/battle/anim/grip.c | 36 |
1 files changed, 35 insertions, 1 deletions
diff --git a/src/battle/anim/grip.c b/src/battle/anim/grip.c index a56a02d82..1ec779c09 100644 --- a/src/battle/anim/grip.c +++ b/src/battle/anim/grip.c @@ -8,11 +8,45 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; +void sub_80D0178(struct Sprite* sprite); static void sub_80D020C(struct Sprite* sprite); // grip (does a slash which is capable of mirroring for the effect of "gripping".) // Used in Vice Grip. +const union AnimCmd gSpriteAnim_83D7674[] = +{ + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(16, 3), + ANIMCMD_FRAME(32, 20), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D7684[] = +{ + ANIMCMD_FRAME(0, 3, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(16, 3, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(32, 20, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83D7694[] = +{ + gSpriteAnim_83D7674, + gSpriteAnim_83D7684, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D769C = +{ + .tileTag = 10138, + .paletteTag = 10138, + .oam = &gOamData_837E054, + .anims = gSpriteAnimTable_83D7694, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D0178, +}; + void sub_80D0178(struct Sprite* sprite) { s16 r7 = 32; @@ -37,7 +71,7 @@ void sub_80D0178(struct Sprite* sprite) StoreSpriteCallbackInData(sprite, sub_80D020C); } -void sub_80D020C(struct Sprite* sprite) +static void sub_80D020C(struct Sprite* sprite) { if (sprite->animEnded == 1) DestroyAnimSprite(sprite); |