summaryrefslogtreecommitdiff
path: root/src/battle/anim/cube.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/battle/anim/cube.c')
-rw-r--r--src/battle/anim/cube.c42
1 files changed, 39 insertions, 3 deletions
diff --git a/src/battle/anim/cube.c b/src/battle/anim/cube.c
index 9adf46e32..9d713ba46 100644
--- a/src/battle/anim/cube.c
+++ b/src/battle/anim/cube.c
@@ -9,15 +9,51 @@ extern s16 gBattleAnimArgs[];
extern u8 gAnimBankAttacker;
extern u8 gAnimBankTarget;
+void sub_80CDFB0(struct Sprite* sprite);
static void sub_80CE000(struct Sprite* sprite);
// cube (shows a sphere sharpening into a cube.)
// Used in Sharpen.
+const union AnimCmd gSpriteAnim_83D6EB0[] =
+{
+ ANIMCMD_FRAME(0, 18),
+ ANIMCMD_FRAME(0, 6),
+ ANIMCMD_FRAME(16, 18),
+ ANIMCMD_FRAME(0, 6),
+ ANIMCMD_FRAME(16, 6),
+ ANIMCMD_FRAME(32, 18),
+ ANIMCMD_FRAME(16, 6),
+ ANIMCMD_FRAME(32, 6),
+ ANIMCMD_FRAME(48, 18),
+ ANIMCMD_FRAME(32, 6),
+ ANIMCMD_FRAME(48, 6),
+ ANIMCMD_FRAME(64, 18),
+ ANIMCMD_FRAME(48, 6),
+ ANIMCMD_FRAME(64, 54),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gSpriteAnimTable_83D6EEC[] =
+{
+ gSpriteAnim_83D6EB0,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_83D6EF0 =
+{
+ .tileTag = 10185,
+ .paletteTag = 10185,
+ .oam = &gOamData_837DF34,
+ .anims = gSpriteAnimTable_83D6EEC,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80CDFB0,
+};
+
void sub_80CDFB0(struct Sprite* sprite)
{
- sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2);
- sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3) - 12;
+ sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2);
+ sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3) - 12;
sprite->data[0] = 0;
sprite->data[1] = 2;
sprite->data[2] = 0;
@@ -27,7 +63,7 @@ void sub_80CDFB0(struct Sprite* sprite)
sprite->callback = sub_80CE000;
}
-void sub_80CE000(struct Sprite* sprite)
+static void sub_80CE000(struct Sprite* sprite)
{
if (++sprite->data[0] >= sprite->data[1])
{