diff options
Diffstat (limited to 'src/battle/anim/rain.c')
-rw-r--r-- | src/battle/anim/rain.c | 37 |
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]) |