summaryrefslogtreecommitdiff
path: root/src/battle/anim/rain.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/battle/anim/rain.c')
-rw-r--r--src/battle/anim/rain.c37
1 files changed, 34 insertions, 3 deletions
diff --git a/src/battle/anim/rain.c b/src/battle/anim/rain.c
index b38233e3c..421304be8 100644
--- a/src/battle/anim/rain.c
+++ b/src/battle/anim/rain.c
@@ -5,13 +5,44 @@
#include "task.h"
extern s16 gBattleAnimArgs[8];
-extern const struct SpriteTemplate gSpriteTemplate_83D9130[];
-static void MoveAnimRaindrop(struct Sprite *);
+void SetAnimRaindropCallback(struct Sprite *sprite);
+static void MoveAnimRaindrop(struct Sprite *sprite);
// rain (spawns and animates raindrops)
// Used in Rain Dance and general rain animation.
+ const u8 gUnknown_3D7D8C[] = INCBIN_U8("graphics/unknown/unknown_3D7D8C.4bpp");
+ const u8 gUnknown_3D810C[] = INCBIN_U8("graphics/unknown/unknown_3D810C.bin");
+
+ const union AnimCmd gSpriteAnim_83D910C[] =
+{
+ ANIMCMD_FRAME(0, 2),
+ ANIMCMD_FRAME(8, 2),
+ ANIMCMD_FRAME(16, 2),
+ ANIMCMD_FRAME(24, 6),
+ ANIMCMD_FRAME(32, 2),
+ ANIMCMD_FRAME(40, 2),
+ ANIMCMD_FRAME(48, 2),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gSpriteAnimTable_83D912C[] =
+{
+ gSpriteAnim_83D910C,
+};
+
+const struct SpriteTemplate gSpriteTemplate_83D9130 =
+{
+ .tileTag = 10115,
+ .paletteTag = 10115,
+ .oam = &gOamData_837DF74,
+ .anims = gSpriteAnimTable_83D912C,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SetAnimRaindropCallback,
+};
+
void CreateAnimRaindrops(u8 taskId)
{
if (gTasks[taskId].data[0] == 0)
@@ -27,7 +58,7 @@ void CreateAnimRaindrops(u8 taskId)
{
u8 x = Random() % 240;
u8 y = Random() % 80;
- CreateSprite(gSpriteTemplate_83D9130, x, y, 4);
+ CreateSprite(&gSpriteTemplate_83D9130, x, y, 4);
}
if (gTasks[taskId].data[0] == gTasks[taskId].data[3])