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/strike.c | |
parent | e88e39d5fda1644f77e41fd652d4310612da7532 (diff) | |
parent | 659437f07a44b6f560bb58d6c12d141ed8ba7643 (diff) |
Merge branch 'master' into contest_link_80C2020
Diffstat (limited to 'src/battle/anim/strike.c')
-rw-r--r-- | src/battle/anim/strike.c | 49 |
1 files changed, 45 insertions, 4 deletions
diff --git a/src/battle/anim/strike.c b/src/battle/anim/strike.c index bfa1dc4f7..79dd833a9 100644 --- a/src/battle/anim/strike.c +++ b/src/battle/anim/strike.c @@ -8,11 +8,52 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; +void sub_80CE670(struct Sprite* sprite); static void sub_80CE798(struct Sprite* sprite); // strike (A red strike towards the opponent.) // Used in Horn Attack, Fury Attack, and Horn Drill. +const union AnimCmd gSpriteAnim_83D7010[] = +{ + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(16, 2), + ANIMCMD_FRAME(32, 2), + ANIMCMD_FRAME(48, 3), + ANIMCMD_FRAME(64, 5), + ANIMCMD_FRAME(80, 3), + ANIMCMD_FRAME(96, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83D7034[] = +{ + gSpriteAnim_83D7010, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D7038 = +{ + .tileTag = 10031, + .paletteTag = 10031, + .oam = &gOamData_837DF34, + .anims = gSpriteAnimTable_83D7034, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80793C4, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D7050 = +{ + .tileTag = 10020, + .paletteTag = 10020, + .oam = &gOamData_837DF34, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80CE670, +}; + void sub_80CE670(struct Sprite* sprite) { if (gBattleAnimArgs[2] <= 1) @@ -23,8 +64,8 @@ void sub_80CE670(struct Sprite* sprite) sprite->data[0] = 0; sprite->data[1] = gBattleAnimArgs[2]; - sprite->pos1.x = GetBankPosition(gAnimBankTarget, 2) + gBattleAnimArgs[0]; - sprite->pos1.y = GetBankPosition(gAnimBankTarget, 3) + gBattleAnimArgs[1]; + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankTarget, 2) + gBattleAnimArgs[0]; + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankTarget, 3) + gBattleAnimArgs[1]; sprite->data[6] = sprite->pos1.x; sprite->data[7] = sprite->pos1.y; if (IsContest() != 0) @@ -37,7 +78,7 @@ void sub_80CE670(struct Sprite* sprite) sprite->data[4] = sprite->pos1.y << 7; sprite->data[5] = -0xA00 / sprite->data[1]; } - else if (GetBankSide(gAnimBankAttacker) == 0) + else if (GetBattlerSide(gAnimBankAttacker) == 0) { sprite->pos1.x -= 40; sprite->pos1.y += 20; @@ -60,7 +101,7 @@ void sub_80CE670(struct Sprite* sprite) sprite->callback = sub_80CE798; } -void sub_80CE798(struct Sprite* sprite) +static void sub_80CE798(struct Sprite* sprite) { sprite->data[2] += sprite->data[3]; sprite->data[4] += sprite->data[5]; |