diff --git a/data/battle_anim_80FE840.s b/data/battle_anim_80FE840.s index 7dda39e41..64742e87a 100644 --- a/data/battle_anim_80FE840.s +++ b/data/battle_anim_80FE840.s @@ -5,282 +5,6 @@ .section .rodata .align 2, 0 -gUnknown_085920F0:: @ 85920F0 - .2byte 0x0000, 0x0005, 0x0002, 0x0005, 0x0004, 0x0005, 0x0006, 0x0005 - .2byte 0x0008, 0x0005, 0x000a, 0x0005, 0x000c, 0x0005, 0x000e, 0x0005 - .2byte 0xfffe, 0x0000 - - .align 2 -gUnknown_08592114:: @ 8592114 - .4byte gUnknown_085920F0 - - .align 2 -gSleepPowderParticleSpriteTemplate:: @ 8592118 - spr_template ANIM_TAG_SLEEP_POWDER, ANIM_TAG_SLEEP_POWDER, gUnknown_08524944, gUnknown_08592114, NULL, gDummySpriteAffineAnimTable, sub_80FE840 - - .align 2 -gStunSporeParticleSpriteTemplate:: @ 8592130 - spr_template ANIM_TAG_STUN_SPORE, ANIM_TAG_STUN_SPORE, gUnknown_08524944, gUnknown_08592114, NULL, gDummySpriteAffineAnimTable, sub_80FE840 - - .align 2 -gPoisonPowderParticleSpriteTemplate:: @ 8592148 - spr_template ANIM_TAG_POISON_POWDER, ANIM_TAG_POISON_POWDER, gUnknown_08524944, gUnknown_08592114, NULL, gDummySpriteAffineAnimTable, sub_80FE840 - - .align 2 -gUnknown_08592160:: @ 8592160 - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_08592168:: @ 8592168 - .2byte 0x0001, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_08592170:: @ 8592170 - .2byte 0x0002, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_08592178:: @ 8592178 - .2byte 0x0003, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_08592180:: @ 8592180 - .2byte 0x0004, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_08592188:: @ 8592188 - .2byte 0x0005, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_08592190:: @ 8592190 - .2byte 0x0006, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_08592198:: @ 8592198 - .2byte 0x0007, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_085921A0:: @ 85921A0 - .2byte 0x0008, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_085921A8:: @ 85921A8 - .4byte gUnknown_08592160 - .4byte gUnknown_08592168 - .4byte gUnknown_08592170 - .4byte gUnknown_08592178 - .4byte gUnknown_08592180 - .4byte gUnknown_08592188 - .4byte gUnknown_08592190 - - .align 2 -gUnknown_085921C4:: @ 85921C4 - .4byte gUnknown_08592198 - - .align 2 -gUnknown_085921C8:: @ 85921C8 - .4byte gUnknown_085921A0 - - .align 2 -gUnknown_085921CC:: @ 85921CC - .2byte 0xfffb, 0xfffb, 0x0100, 0x0000, 0x7ffe, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_085921DC:: @ 85921DC - .4byte gUnknown_085921CC - - .align 2 -gUnknown_085921E0:: @ 859216E0 - spr_template ANIM_TAG_ORBS, ANIM_TAG_ORBS, gUnknown_08524A8C, gUnknown_085921C8, NULL, gUnknown_085921DC, sub_80FE8E0 - - .align 2 -gUnknown_085921F8:: @ 859216F8 - spr_template ANIM_TAG_ORBS, ANIM_TAG_ORBS, gUnknown_08524904, gUnknown_085921A8, NULL, gDummySpriteAffineAnimTable, sub_80FE930 - - .align 2 -gUnknown_08592210:: @ 8592210 - spr_template ANIM_TAG_ORBS, ANIM_TAG_ORBS, gUnknown_08524904, gUnknown_085921C4, NULL, gDummySpriteAffineAnimTable, sub_80FE988 - - .align 2 -gUnknown_08592228:: @ 8592228 - .2byte 0x0140, 0x0140, 0x0000, 0x0000, 0xfff2, 0xfff2, 0x0100, 0x0000 - .2byte 0x7ffe, 0x0001, 0x0000, 0x0000 - - .align 2 -gUnknown_08592240:: @ 8592240 - .4byte gUnknown_08592228 - - .align 2 -gUnknown_08592244:: @ 85922144 - spr_template ANIM_TAG_GRAY_ORB, ANIM_TAG_GRAY_ORB, gUnknown_085249C4, gDummySpriteAnimTable, NULL, gUnknown_08592240, sub_80FE8E0 - - .align 2 -gUnknown_0859225C:: @ 859225C - .2byte 0xfffb, 0xfffb, 0x0100, 0x0000, 0x7ffe, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_0859226C:: @ 859226C - .4byte gUnknown_0859225C - - .align 2 -gUnknown_08592270:: @ 8592270 - spr_template ANIM_TAG_ORBS, ANIM_TAG_ORBS, gUnknown_08524A8C, gUnknown_085921C8, NULL, gUnknown_0859226C, sub_80FEAD8 - - .align 2 -gUnknown_08592288:: @ 8592288 - spr_template ANIM_TAG_ORBS, ANIM_TAG_ORBS, gUnknown_08524904, gUnknown_085921A8, NULL, gDummySpriteAffineAnimTable, sub_80FEB44 - - .align 2 -gUnknown_085922A0:: @ 85922A0 - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_085922A8:: @ 85922A8 - .2byte 0x0004, 0x0007, 0x0008, 0x0007, 0xfffe, 0x0000 - - .align 2 -gUnknown_085922B4:: @ 85922B4 - .4byte gUnknown_085922A0 - .4byte gUnknown_085922A8 - - .align 2 -gLeechSeedSpriteTemplate:: @ 85922BC - spr_template ANIM_TAG_SEED, ANIM_TAG_SEED, gUnknown_0852490C, gUnknown_085922B4, NULL, gDummySpriteAffineAnimTable, sub_80FEC48 - - .align 2 -gUnknown_085922D4:: @ 85922D4 - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_085922DC:: @ 85922DC - .2byte 0x0004, 0x0007, 0xffff, 0x0000 - - .align 2 -gUnknown_085922E4:: @ 85922E4 - .4byte gUnknown_085922D4 - .4byte gUnknown_085922DC - - .align 2 -gUnknown_085922EC:: @ 85922EC - spr_template ANIM_TAG_SPORE, ANIM_TAG_SPORE, gUnknown_0852490C, gUnknown_085922E4, NULL, gDummySpriteAffineAnimTable, sub_80FED28 - - .align 2 -gUnknown_08592304:: @ 8592304 - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_0859230C:: @ 859230C - .2byte 0x0004, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_08592314:: @ 8592314 - .4byte gUnknown_08592304 - - .align 2 -gUnknown_08592318:: @ 8592318 - .4byte gUnknown_0859230C - - .align 2 -gUnknown_0859231C:: @ 859231C - spr_template ANIM_TAG_FLOWER, ANIM_TAG_FLOWER, gUnknown_0852490C, gUnknown_08592314, NULL, gDummySpriteAffineAnimTable, sub_80FEE78 - - .align 2 -gUnknown_08592334:: @ 8592334 - spr_template ANIM_TAG_FLOWER, ANIM_TAG_FLOWER, gUnknown_08524904, gUnknown_08592318, NULL, gDummySpriteAffineAnimTable, sub_80FEF44 - - .align 2 -gUnknown_0859234C:: @ 859234C - .2byte 0x0000, 0x0005, 0x0004, 0x0005, 0x0008, 0x0005, 0x000c, 0x0005 - .2byte 0x0010, 0x0005, 0x0014, 0x0005, 0x0010, 0x0005, 0x000c, 0x0005 - .2byte 0x0008, 0x0005, 0x0004, 0x0005, 0xfffe, 0x0000 - - .align 2 -gUnknown_08592378:: @ 8592378 - .2byte 0x0018, 0x0005, 0x001c, 0x0005, 0x0020, 0x0005, 0xffff, 0x0000 - - .align 2 -gUnknown_08592388:: @ 8592388 - .4byte gUnknown_0859234C - .4byte gUnknown_08592378 - - .align 2 -gUnknown_08592390:: @ 8592390 - spr_template ANIM_TAG_LEAF, ANIM_TAG_LEAF, gUnknown_0852490C, gUnknown_08592388, NULL, gDummySpriteAffineAnimTable, sub_80FEFFC - - .align 2 -gUnknown_085923A8:: @ 85923A8 - spr_template ANIM_TAG_LEAF, ANIM_TAG_LEAF, gUnknown_0852490C, gUnknown_08592388, NULL, gDummySpriteAffineAnimTable, sub_80FF268 - - .align 2 -gUnknown_085923C0:: @ 85923C0 - .2byte 0x0000, 0x0003, 0x0000, 0x0043, 0x0000, 0x00c3, 0x0000, 0x0083, 0xfffe, 0x0000 - - .align 2 -gUnknown_085923D4:: @ 85923D4 - .4byte gUnknown_085923C0 - - .align 2 -gUnknown_085923D8:: @ 85923D8 - spr_template ANIM_TAG_RAZOR_LEAF, ANIM_TAG_RAZOR_LEAF, gUnknown_08524934, gUnknown_085923D4, NULL, gDummySpriteAffineAnimTable, sub_80FF0F4 - - .align 2 -gUnknown_085923F0:: @ 85923F0 - .2byte 0x0000, 0x0000, 0x0100, 0x0000, 0x7ffe, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08592400:: @ 8592400 - .4byte gUnknown_085923F0 - - .align 2 -gSwiftStarSpriteTemplate:: @ 8592404 - spr_template ANIM_TAG_YELLOW_STAR, ANIM_TAG_YELLOW_STAR, gUnknown_08524974, gDummySpriteAnimTable, NULL, gUnknown_08592400, sub_80FF0F4 - - .align 2 -gUnknown_0859241C:: @ 859241C - .2byte 0x0000, 0x0004, 0x0020, 0x0004, 0x0040, 0x0004, 0x0060, 0x0004, 0xffff, 0x0000 - - .align 2 -gUnknown_08592430:: @ 8592430 - .2byte 0x0000, 0x0044, 0x0020, 0x0044, 0x0040, 0x0044, 0x0060, 0x0044, 0xffff, 0x0000 - - .align 2 -gUnknown_08592444:: @ 8592444 - .4byte gUnknown_0859241C - .4byte gUnknown_08592430 - - .align 2 -gUnknown_0859244C:: @ 859244C - .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0xfff5, 0x0000, 0x0600, 0x0000, 0x000b, 0x0000, 0x0600, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_0859246C:: @ 859246C - .2byte 0xff00, 0x0100, 0x0000, 0x0000, 0x000b, 0x0000, 0x0600, 0x0000, 0xfff5, 0x0000, 0x0600, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_0859248C:: @ 859248C - .4byte gUnknown_0859244C - .4byte gUnknown_0859246C - - .align 2 -gUnknown_08592494:: @ 8592494 - spr_template ANIM_TAG_TENDRILS, ANIM_TAG_TENDRILS, gUnknown_0852499C, gUnknown_08592444, NULL, gUnknown_0859248C, sub_80FF374 - - .align 2 -gUnknown_085924AC:: @ 85924AC - .2byte 0x0000, 0x0000, 0x0000, 0x0000, 0x0030, 0x0030, 0x0e00, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_085924C4:: @ 85924C4 - .2byte 0xfff0, 0xfff0, 0x0100, 0x0000, 0x7ffe, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_085924D4:: @ 85924D4 - .4byte gUnknown_085924AC - .4byte gUnknown_085924C4 - - .align 2 -gUnknown_085924DC:: @ 85924DC - spr_template ANIM_TAG_ORBS, ANIM_TAG_ORBS, gUnknown_085249CC, gUnknown_085921C8, NULL, gUnknown_085924D4, sub_80FF698 - .align 2 gUnknown_085924F4:: @ 85924F4 .2byte 0x0000, 0x0007, 0x0010, 0x0007, 0x0020, 0x0007, 0x0030, 0x0007, 0xffff, 0x0000 @@ -1089,6 +813,8 @@ gUnknown_0859323C:: @ 859323C gUnknown_0859324C:: @ 859324C spr_template ANIM_TAG_FINGER_2, ANIM_TAG_FINGER_2, gUnknown_08524914, gUnknown_0859323C, NULL, gDummySpriteAffineAnimTable, sub_8103390 +// BREAK ^effects_1 + .align 2 gUnknown_08593264:: @ 8593264 spr_template ANIM_TAG_FINGER, ANIM_TAG_FINGER, gUnknown_08524914, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8103448 @@ -1205,6 +931,8 @@ gUnknown_08593458:: @ 8593458 gUnknown_08593470:: @ 8593470 spr_template ANIM_TAG_BLUE_RING_2, ANIM_TAG_BLUE_RING_2, gUnknown_08524A14, gDummySpriteAnimTable, NULL, gUnknown_08593424, sub_8108C94 +@ BREAK ^ water + .align 2 gUnknown_08593488:: @ 8593488 spr_template ANIM_TAG_LARGE_FRESH_EGG, ANIM_TAG_LARGE_FRESH_EGG, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80A78AC diff --git a/include/battle_anim.h b/include/battle_anim.h index fcb430816..1cb19200d 100644 --- a/include/battle_anim.h +++ b/include/battle_anim.h @@ -1,6 +1,7 @@ #ifndef GUARD_BATTLE_ANIM_H #define GUARD_BATTLE_ANIM_H +#include "battle.h" #include "constants/battle_anim.h" enum @@ -128,4 +129,14 @@ u8 LaunchBallFadeMonTask(bool8 unFadeLater, u8 battlerId, u32 arg2, u8 ballId); u8 GetBattlerSpriteFinal_Y(u8, u16, u8); +extern const struct OamData gUnknown_08524944; +extern const struct OamData gUnknown_08524A8C; +extern const struct OamData gUnknown_08524904; +extern const struct OamData gUnknown_085249C4; +extern const struct OamData gUnknown_0852490C; +extern const struct OamData gUnknown_08524934; +extern const struct OamData gUnknown_08524974; +extern const struct OamData gUnknown_0852499C; +extern const struct OamData gUnknown_085249CC; + #endif // GUARD_BATTLE_ANIM_H diff --git a/ld_script.txt b/ld_script.txt index de0c2a148..b1a8451d8 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -476,6 +476,8 @@ SECTIONS { src/field_special_scene.o(.rodata); src/rotating_gate.o(.rodata); src/item_use.o(.rodata); + /*src/battle/anim/effects_1.o(.rodata);*/ + src/effects_1.o(.rodata); data/battle_anim_80FE840.o(.rodata); src/bike.o(.rodata); data/easy_chat.o(.rodata); diff --git a/src/effects_1.c b/src/effects_1.c new file mode 100644 index 000000000..dbf4a11fd --- /dev/null +++ b/src/effects_1.c @@ -0,0 +1,567 @@ +#include "global.h" +#include "battle_anim.h" + +extern void sub_80FE840(struct Sprite *); +extern void sub_80FE8E0(struct Sprite *); +extern void sub_80FE930(struct Sprite *); +extern void sub_80FE988(struct Sprite *); +extern void sub_80FEAD8(struct Sprite *); +extern void sub_80FEB44(struct Sprite *); +extern void sub_80FEC48(struct Sprite *); +extern void sub_80FED28(struct Sprite *); +extern void sub_80FEE78(struct Sprite *); +extern void sub_80FEF44(struct Sprite *); +extern void sub_80FEFFC(struct Sprite *); +extern void sub_80FF268(struct Sprite *); +extern void sub_80FF0F4(struct Sprite *); +extern void sub_80FF374(struct Sprite *); +extern void sub_80FF698(struct Sprite *); + +const union AnimCmd gUnknown_085920F0[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(2, 5), + ANIMCMD_FRAME(4, 5), + ANIMCMD_FRAME(6, 5), + ANIMCMD_FRAME(8, 5), + ANIMCMD_FRAME(10, 5), + ANIMCMD_FRAME(12, 5), + ANIMCMD_FRAME(14, 5), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const gUnknown_08592114[] = +{ + gUnknown_085920F0, +}; + +const struct SpriteTemplate gSleepPowderParticleSpriteTemplate = +{ + .tileTag = ANIM_TAG_SLEEP_POWDER, + .paletteTag = ANIM_TAG_SLEEP_POWDER, + .oam = &gUnknown_08524944, + .anims = gUnknown_08592114, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80FE840, +}; + +const struct SpriteTemplate gStunSporeParticleSpriteTemplate = +{ + .tileTag = ANIM_TAG_STUN_SPORE, + .paletteTag = ANIM_TAG_STUN_SPORE, + .oam = &gUnknown_08524944, + .anims = gUnknown_08592114, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80FE840, +}; + +const struct SpriteTemplate gPoisonPowderParticleSpriteTemplate = +{ + .tileTag = ANIM_TAG_POISON_POWDER, + .paletteTag = ANIM_TAG_POISON_POWDER, + .oam = &gUnknown_08524944, + .anims = gUnknown_08592114, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80FE840, +}; + +const union AnimCmd gUnknown_08592160[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_08592168[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_08592170[] = +{ + ANIMCMD_FRAME(2, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_08592178[] = +{ + ANIMCMD_FRAME(3, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_08592180[] = +{ + ANIMCMD_FRAME(4, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_08592188[] = +{ + ANIMCMD_FRAME(5, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_08592190[] = +{ + ANIMCMD_FRAME(6, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_08592198[] = +{ + ANIMCMD_FRAME(7, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_085921A0[] = +{ + ANIMCMD_FRAME(8, 1), + ANIMCMD_END, +}; + +const union AnimCmd *const gUnknown_085921A8[] = +{ + gUnknown_08592160, + gUnknown_08592168, + gUnknown_08592170, + gUnknown_08592178, + gUnknown_08592180, + gUnknown_08592188, + gUnknown_08592190, +}; + +const union AnimCmd *const gUnknown_085921C4[] = +{ + gUnknown_08592198, +}; + +const union AnimCmd *const gUnknown_085921C8[] = +{ + gUnknown_085921A0, +}; + +const union AffineAnimCmd gUnknown_085921CC[] = { + AFFINEANIMCMD_FRAME(-5, -5, 0, 1), + AFFINEANIMCMD_JUMP(0), +}; + +const union AffineAnimCmd *const gUnknown_085921DC[] = { + gUnknown_085921CC, +}; + +const struct SpriteTemplate gUnknown_085921E0 = +{ + .tileTag = ANIM_TAG_ORBS, + .paletteTag = ANIM_TAG_ORBS, + .oam = &gUnknown_08524A8C, + .anims = gUnknown_085921C8, + .images = NULL, + .affineAnims = gUnknown_085921DC, + .callback = sub_80FE8E0, +}; + +const struct SpriteTemplate gUnknown_085921F8 = +{ + .tileTag = ANIM_TAG_ORBS, + .paletteTag = ANIM_TAG_ORBS, + .oam = &gUnknown_08524904, + .anims = gUnknown_085921A8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80FE930, +}; + +const struct SpriteTemplate gUnknown_08592210 = +{ + .tileTag = ANIM_TAG_ORBS, + .paletteTag = ANIM_TAG_ORBS, + .oam = &gUnknown_08524904, + .anims = gUnknown_085921C4, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80FE988, +}; + +const union AffineAnimCmd gUnknown_08592228[] = { + AFFINEANIMCMD_FRAME(320, 320, 0, 0), + AFFINEANIMCMD_FRAME(-14, -14, 0, 1), + AFFINEANIMCMD_JUMP(1), +}; + +const union AffineAnimCmd *const gUnknown_08592240[] = { + gUnknown_08592228, +}; + +const struct SpriteTemplate gUnknown_08592244 = +{ + .tileTag = ANIM_TAG_GRAY_ORB, + .paletteTag = ANIM_TAG_GRAY_ORB, + .oam = &gUnknown_085249C4, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_08592240, + .callback = sub_80FE8E0, +}; + +const union AffineAnimCmd gUnknown_0859225C[] = { + AFFINEANIMCMD_FRAME(-5, -5, 0, 1), + AFFINEANIMCMD_JUMP(0), +}; + +const union AffineAnimCmd *const gUnknown_0859226C[] = { + gUnknown_0859225C, +}; + +const struct SpriteTemplate gUnknown_08592270 = +{ + .tileTag = ANIM_TAG_ORBS, + .paletteTag = ANIM_TAG_ORBS, + .oam = &gUnknown_08524A8C, + .anims = gUnknown_085921C8, + .images = NULL, + .affineAnims = gUnknown_0859226C, + .callback = sub_80FEAD8, +}; + +const struct SpriteTemplate gUnknown_08592288 = +{ + .tileTag = ANIM_TAG_ORBS, + .paletteTag = ANIM_TAG_ORBS, + .oam = &gUnknown_08524904, + .anims = gUnknown_085921A8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80FEB44, +}; + +const union AnimCmd gUnknown_085922A0[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_085922A8[] = +{ + ANIMCMD_FRAME(4, 7), + ANIMCMD_FRAME(8, 7), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const gUnknown_085922B4[] = +{ + gUnknown_085922A0, + gUnknown_085922A8, +}; + +const struct SpriteTemplate gLeechSeedSpriteTemplate = +{ + .tileTag = ANIM_TAG_SEED, + .paletteTag = ANIM_TAG_SEED, + .oam = &gUnknown_0852490C, + .anims = gUnknown_085922B4, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80FEC48, +}; + +const union AnimCmd gUnknown_085922D4[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_085922DC[] = +{ + ANIMCMD_FRAME(4, 7), + ANIMCMD_END, +}; + +const union AnimCmd *const gUnknown_085922E4[] = +{ + gUnknown_085922D4, + gUnknown_085922DC, +}; + +const struct SpriteTemplate gUnknown_085922EC = +{ + .tileTag = ANIM_TAG_SPORE, + .paletteTag = ANIM_TAG_SPORE, + .oam = &gUnknown_0852490C, + .anims = gUnknown_085922E4, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80FED28, +}; + +const union AnimCmd gUnknown_08592304[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_0859230C[] = +{ + ANIMCMD_FRAME(4, 1), + ANIMCMD_END, +}; + +const union AnimCmd *const gUnknown_08592314[] = +{ + gUnknown_08592304, +}; + +const union AnimCmd *const gUnknown_08592318[] = +{ + gUnknown_0859230C, +}; + +const struct SpriteTemplate gUnknown_0859231C = +{ + .tileTag = ANIM_TAG_FLOWER, + .paletteTag = ANIM_TAG_FLOWER, + .oam = &gUnknown_0852490C, + .anims = gUnknown_08592314, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80FEE78, +}; + +const struct SpriteTemplate gUnknown_08592334 = +{ + .tileTag = ANIM_TAG_FLOWER, + .paletteTag = ANIM_TAG_FLOWER, + .oam = &gUnknown_08524904, + .anims = gUnknown_08592318, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80FEF44, +}; + +const union AnimCmd gUnknown_0859234C[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(4, 5), + ANIMCMD_FRAME(8, 5), + ANIMCMD_FRAME(12, 5), + ANIMCMD_FRAME(16, 5), + ANIMCMD_FRAME(20, 5), + ANIMCMD_FRAME(16, 5), + ANIMCMD_FRAME(12, 5), + ANIMCMD_FRAME(8, 5), + ANIMCMD_FRAME(4, 5), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gUnknown_08592378[] = +{ + ANIMCMD_FRAME(24, 5), + ANIMCMD_FRAME(28, 5), + ANIMCMD_FRAME(32, 5), + ANIMCMD_END, +}; + +const union AnimCmd *const gUnknown_08592388[] = +{ + gUnknown_0859234C, + gUnknown_08592378, +}; + +const struct SpriteTemplate gUnknown_08592390 = +{ + .tileTag = ANIM_TAG_LEAF, + .paletteTag = ANIM_TAG_LEAF, + .oam = &gUnknown_0852490C, + .anims = gUnknown_08592388, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80FEFFC, +}; + +const struct SpriteTemplate gUnknown_085923A8 = +{ + .tileTag = ANIM_TAG_LEAF, + .paletteTag = ANIM_TAG_LEAF, + .oam = &gUnknown_0852490C, + .anims = gUnknown_08592388, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80FF268, +}; + +const union AnimCmd gUnknown_085923C0[] = +{ + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(0, 3, .hFlip = TRUE), + ANIMCMD_FRAME(0, 3, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(0, 3, .vFlip = TRUE), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const gUnknown_085923D4[] = +{ + gUnknown_085923C0, +}; + +const struct SpriteTemplate gUnknown_085923D8 = +{ + .tileTag = ANIM_TAG_RAZOR_LEAF, + .paletteTag = ANIM_TAG_RAZOR_LEAF, + .oam = &gUnknown_08524934, + .anims = gUnknown_085923D4, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80FF0F4, +}; + +const union AffineAnimCmd gUnknown_085923F0[] = { + AFFINEANIMCMD_FRAME(0, 0, 0, 1), + AFFINEANIMCMD_JUMP(0), +}; + +const union AffineAnimCmd *const gUnknown_08592400[] = { + gUnknown_085923F0, +}; + +const struct SpriteTemplate gSwiftStarSpriteTemplate = +{ + .tileTag = ANIM_TAG_YELLOW_STAR, + .paletteTag = ANIM_TAG_YELLOW_STAR, + .oam = &gUnknown_08524974, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_08592400, + .callback = sub_80FF0F4, +}; + +const union AnimCmd gUnknown_0859241C[] = +{ + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(32, 4), + ANIMCMD_FRAME(64, 4), + ANIMCMD_FRAME(96, 4), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_08592430[] = +{ + ANIMCMD_FRAME(0, 4, .hFlip = TRUE), + ANIMCMD_FRAME(32, 4, .hFlip = TRUE), + ANIMCMD_FRAME(64, 4, .hFlip = TRUE), + ANIMCMD_FRAME(96, 4, .hFlip = TRUE), + ANIMCMD_END, +}; + +const union AnimCmd *const gUnknown_08592444[] = +{ + gUnknown_0859241C, + gUnknown_08592430, +}; + +const union AffineAnimCmd gUnknown_0859244C[] = { + AFFINEANIMCMD_FRAME(256, 256, 0, 0), + AFFINEANIMCMD_FRAME(-11, 0, 0, 6), + AFFINEANIMCMD_FRAME(11, 0, 0, 6), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_0859246C[] = { + AFFINEANIMCMD_FRAME(-256, 256, 0, 0), + AFFINEANIMCMD_FRAME(11, 0, 0, 6), + AFFINEANIMCMD_FRAME(-11, 0, 0, 6), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gUnknown_0859248C[] = { + gUnknown_0859244C, + gUnknown_0859246C, +}; + +const struct SpriteTemplate gUnknown_08592494 = +{ + .tileTag = ANIM_TAG_TENDRILS, + .paletteTag = ANIM_TAG_TENDRILS, + .oam = &gUnknown_0852499C, + .anims = gUnknown_08592444, + .images = NULL, + .affineAnims = gUnknown_0859248C, + .callback = sub_80FF374, +}; + +const union AffineAnimCmd gUnknown_085924AC[] = { + AFFINEANIMCMD_FRAME(0, 0, 0, 0), + AFFINEANIMCMD_FRAME(48, 48, 0, 14), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_085924C4[] = { + AFFINEANIMCMD_FRAME(-16, -16, 0, 1), + AFFINEANIMCMD_JUMP(0), +}; + +const union AffineAnimCmd *const gUnknown_085924D4[] = { + gUnknown_085924AC, + gUnknown_085924C4, +}; + +const struct SpriteTemplate gUnknown_085924DC = +{ + .tileTag = ANIM_TAG_ORBS, + .paletteTag = ANIM_TAG_ORBS, + .oam = &gUnknown_085249CC, + .anims = gUnknown_085921C8, + .images = NULL, + .affineAnims = gUnknown_085924D4, + .callback = sub_80FF698, +}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +