summaryrefslogtreecommitdiff
path: root/src/battle/anim/flying_path.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/battle/anim/flying_path.c')
-rw-r--r--src/battle/anim/flying_path.c74
1 files changed, 68 insertions, 6 deletions
diff --git a/src/battle/anim/flying_path.c b/src/battle/anim/flying_path.c
index 5e9de8cb1..b190e9e8c 100644
--- a/src/battle/anim/flying_path.c
+++ b/src/battle/anim/flying_path.c
@@ -8,8 +8,6 @@ extern s16 gBattleAnimArgs[];
extern u8 gAnimBankAttacker;
extern u8 gAnimBankTarget;
-extern struct SpriteTemplate gSpriteTemplate_83D6884;
-
static void sub_80CBF5C(u8 taskId);
static s16 sub_80CC338(struct Sprite* sprite);
static void sub_80CC358(struct Task* task, u8 taskId);
@@ -18,6 +16,70 @@ static void sub_80CC408(struct Sprite* sprite);
// flying_path (guides a sprite along a specific path.)
// Used by Leaf Blade.
+const union AnimCmd gSpriteAnim_83D6830[] =
+{
+ ANIMCMD_FRAME(28, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gSpriteAnim_83D6838[] =
+{
+ ANIMCMD_FRAME(32, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gSpriteAnim_83D6840[] =
+{
+ ANIMCMD_FRAME(20, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gSpriteAnim_83D6848[] =
+{
+ ANIMCMD_FRAME(28, 1, .hFlip = TRUE),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gSpriteAnim_83D6850[] =
+{
+ ANIMCMD_FRAME(16, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gSpriteAnim_83D6858[] =
+{
+ ANIMCMD_FRAME(16, 1, .hFlip = TRUE),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gSpriteAnim_83D6860[] =
+{
+ ANIMCMD_FRAME(28, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gSpriteAnimTable_83D6868[] =
+{
+ gSpriteAnim_83D6830,
+ gSpriteAnim_83D6838,
+ gSpriteAnim_83D6840,
+ gSpriteAnim_83D6848,
+ gSpriteAnim_83D6850,
+ gSpriteAnim_83D6858,
+ gSpriteAnim_83D6860,
+};
+
+const struct SpriteTemplate gSpriteTemplate_83D6884 =
+{
+ .tileTag = 10063,
+ .paletteTag = 10063,
+ .oam = &gOamData_837DF2C,
+ .anims = gSpriteAnimTable_83D6868,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+};
+
void sub_80CBDF4(u8 taskId)
{
struct Task *task = &gTasks[taskId];
@@ -44,7 +106,7 @@ void sub_80CBDF4(u8 taskId)
task->func = sub_80CBF5C;
}
-void sub_80CBF5C(u8 taskId)
+static void sub_80CBF5C(u8 taskId)
{
struct Task* task = &gTasks[taskId];
struct Sprite* sprite = &gSprites[task->data[2]];
@@ -244,7 +306,7 @@ void sub_80CBF5C(u8 taskId)
}
}
-s16 sub_80CC338(struct Sprite* sprite)
+static s16 sub_80CC338(struct Sprite* sprite)
{
s16 var = 8;
if (sprite->data[4] < sprite->pos1.y)
@@ -253,7 +315,7 @@ s16 sub_80CC338(struct Sprite* sprite)
return var;
}
-void sub_80CC358(struct Task* task, u8 taskId)
+static void sub_80CC358(struct Task* task, u8 taskId)
{
task->data[14]++;
if (task->data[14] > 0)
@@ -279,7 +341,7 @@ void sub_80CC358(struct Task* task, u8 taskId)
}
}
-void sub_80CC408(struct Sprite* sprite)
+static void sub_80CC408(struct Sprite* sprite)
{
sprite->data[0]++;
if (sprite->data[0] > 1)