diff --git a/data/battle_anim_80FE840.s b/data/battle_anim_80FE840.s index f7d3c6f2f..ecb851e53 100644 --- a/data/battle_anim_80FE840.s +++ b/data/battle_anim_80FE840.s @@ -11,811 +11,8 @@ -// BREAK ^effects_1 - .align 2 -gUnknown_08593264:: @ 8593264 - spr_template ANIM_TAG_FINGER, ANIM_TAG_FINGER, gUnknown_08524914, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8103448 - .align 2 -gUnknown_0859327C:: @ 859327C - .2byte 0x0004, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_08593284:: @ 8593284 - .4byte gUnknown_0859327C - - .align 2 -gUnknown_08593288:: @ 8593288 - spr_template ANIM_TAG_MUSIC_NOTES, ANIM_TAG_MUSIC_NOTES, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8103498 - - .align 2 -gUnknown_085932A0:: @ 85932A0 - spr_template 0x0000, 0x0000, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_810358C - - .align 2 -gUnknown_085932B8:: @ 85932B8 - spr_template ANIM_TAG_CLAMP, ANIM_TAG_CLAMP, gUnknown_08524A9C, gDummySpriteAnimTable, NULL, gUnknown_08597060, sub_8103620 - - .align 2 -gUnknown_085932D0:: @ 85932D0 - .2byte 0x0000, 0x0009, 0x0010, 0x0003, 0x0020, 0x0003, 0x0030, 0x0003, 0xffff, 0x0000 - - .align 2 -gUnknown_085932E4:: @ 85932E4 - .4byte gUnknown_085932D0 - - .align 2 -gUnknown_085932E8:: @ 85932E8 - .2byte 0x0050, 0x0050, 0x0000, 0x0000, 0x0009, 0x0009, 0x1200, 0x0000 - .2byte 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08593300:: @ 8593300 - .4byte gUnknown_085932E8 - - .align 2 -gUnknown_08593304:: @ 8593304 - spr_template ANIM_TAG_UNUSED_EXPLOSION, ANIM_TAG_UNUSED_EXPLOSION, gUnknown_08524974, gUnknown_085932E4, NULL, gUnknown_08593300, sub_80A77C8 - - .align 2 -gUnknown_0859331C:: @ 859331C - .2byte 0x0000, 0x0043, 0x0008, 0x0043, 0x0010, 0x0043, 0x0018, 0x0043 - .2byte 0x0020, 0x0043, 0x0028, 0x0043, 0x0030, 0x0043, 0xfffd, 0x0001 - .2byte 0xffff, 0x0000 - - .align 2 -gUnknown_08593340:: @ 8593340 - .4byte gUnknown_0859331C - - .align 2 -gUnknown_08593344:: @ 8593344 - spr_template ANIM_TAG_ALERT, ANIM_TAG_ALERT, gUnknown_08524934, gUnknown_08593340, NULL, gDummySpriteAffineAnimTable, sub_81037D8 - - .align 2 -gUnknown_0859335C:: @ 859335C - .2byte 0x0010, 0x0100, 0x0000, 0x0000, 0x0014, 0x0000, 0x0c00, 0x0000 - .2byte 0x0000, 0x0000, 0x2000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_0859337C:: @ 859337C - .4byte gUnknown_0859335C - - .align 2 -gBattleAnimSpriteTemplate_8593380:: @ 8593380 - spr_template ANIM_TAG_SWORD, ANIM_TAG_SWORD, gUnknown_08524ADC, gDummySpriteAnimTable, NULL, gUnknown_0859337C, sub_810387C - - .align 2 -gSonicBoomSpriteTemplate:: @ 8593398 - spr_template ANIM_TAG_AIR_WAVE, ANIM_TAG_AIR_WAVE, gUnknown_08524B14, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_81038C8 - - .align 2 -gUnknown_085933B0:: @ 85933B0 - spr_template ANIM_TAG_AIR_WAVE, ANIM_TAG_AIR_WAVE, gUnknown_08524A54, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8103AA4 - - .align 2 -gUnknown_085933C8:: @ 85933C8 - .2byte 0x0020, 0x0020, 0x0000, 0x0000, 0x0007, 0x0007, 0xc800, 0x0000 - .2byte 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_085933E0:: @ 85933E0 - .2byte 0x0005, 0x0005, 0x0a00, 0x0000, 0xfff6, 0xfff6, 0x0a00, 0x0000 - .2byte 0x000a, 0x000a, 0x0a00, 0x0000, 0xfff6, 0xfff6, 0x0a00, 0x0000 - .2byte 0x000a, 0x000a, 0x0a00, 0x0000, 0xfff6, 0xfff6, 0x0a00, 0x0000 - .2byte 0x000a, 0x000a, 0x0a00, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08593420:: @ 8593420 - .4byte gUnknown_085933C8 - - .align 2 -gUnknown_08593424:: @ 8593424 - .4byte gUnknown_085933E0 - - .align 2 -gSupersonicWaveSpriteTemplate:: @ 8593428 - spr_template ANIM_TAG_GOLD_RING, ANIM_TAG_GOLD_RING, gUnknown_08524A14, gDummySpriteAnimTable, NULL, gUnknown_08593420, TranslateAnimSpriteToTargetMonLocation - - .align 2 -gScreechWaveSpriteTemplate:: @ 8593440 - spr_template ANIM_TAG_PURPLE_RING, ANIM_TAG_PURPLE_RING, gUnknown_08524A14, gDummySpriteAnimTable, NULL, gUnknown_08593420, TranslateAnimSpriteToTargetMonLocation - - .align 2 -gUnknown_08593458:: @ 8593458 - spr_template ANIM_TAG_METAL_SOUND_WAVES, ANIM_TAG_METAL_SOUND_WAVES, gUnknown_08524A1C, gDummySpriteAnimTable, NULL, gUnknown_08593420, TranslateAnimSpriteToTargetMonLocation - - .align 2 -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 - - .align 2 -gUnknown_085934A0:: @ 85934A0 - spr_template ANIM_TAG_UNUSED_VOID_LINES, ANIM_TAG_UNUSED_VOID_LINES, gUnknown_08524A3C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8103FE8 - - .align 2 -gUnknown_085934B8:: @ 85934B8 - .2byte 0x0008, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_085934C0:: @ 85934C0 - .4byte gUnknown_085934B8 - - .align 2 -gUnknown_085934C4:: @ 85934C4 - .2byte 0x0000, 0x0000, 0x010a, 0x0000, 0x7ffe, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_085934D4:: @ 85934D4 - .4byte gUnknown_085934C4 - - .align 2 -gUnknown_085934D8:: @ 85934D8 - spr_template ANIM_TAG_COIN, ANIM_TAG_COIN, gUnknown_0852496C, gUnknown_085934C0, NULL, gDummySpriteAffineAnimTable, sub_8104088 - - .align 2 -gUnknown_085934F0:: @ 85934F0 - spr_template ANIM_TAG_COIN, ANIM_TAG_COIN, gUnknown_0852496C, gUnknown_085934C0, NULL, gUnknown_085934D4, sub_810413C - - .align 2 -gUnknown_08593508:: @ 8593508 - .2byte 0x0000, 0x0000, 0x0114, 0x0000, 0x7ffe, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08593518:: @ 8593518 - .4byte gUnknown_08593508 - - .align 2 -gUnknown_0859351C:: @ 859351C - spr_template ANIM_TAG_SEED, ANIM_TAG_SEED, gUnknown_0852496C, gDummySpriteAnimTable, NULL, gUnknown_08593518, sub_81041C4 - - .align 2 -gUnknown_08593534:: @ 8593534 - .2byte 0x0010, 0x0100, 0x0000, 0x0000, 0x0004, 0x0000, 0x2800, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_0859354C:: @ 859354C - .4byte gUnknown_08593534 - - .align 2 -gUnknown_08593550:: @ 8593550 - spr_template ANIM_TAG_GUST, ANIM_TAG_GUST, gUnknown_085249BC, gDummySpriteAnimTable, NULL, gUnknown_0859354C, sub_8104304 - - .align 2 -gUnknown_08593568:: @ 8593568 - .2byte 0x0000, 0x0003, 0x0010, 0x0003, 0x0020, 0x0014, 0xffff, 0x0000 - - .align 2 -gUnknown_08593578:: @ 8593578 - .2byte 0x0000, 0x00c3, 0x0010, 0x00c3, 0x0020, 0x00d4, 0xffff, 0x0000 - - .align 2 -gUnknown_08593588:: @ 8593588 - .4byte gUnknown_08593568 - .4byte gUnknown_08593578 - - .align 2 -gUnknown_08593590:: @ 8593590 - spr_template ANIM_TAG_CUT, ANIM_TAG_CUT, gUnknown_08524A34, gUnknown_08593588, NULL, gDummySpriteAffineAnimTable, sub_8104364 - - .align 2 -gUnknown_085935A8:: @ 85935A8 - .2byte 0x0000, 0x0002, 0x0010, 0x0002, 0x0020, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_085935B8:: @ 85935B8 - .2byte 0x0000, 0x00c2, 0x0010, 0x00c2, 0x0020, 0x00c1, 0xffff, 0x0000 - - .align 2 -gUnknown_085935C8:: @ 85935C8 - .4byte gUnknown_085935A8 - .4byte gUnknown_085935B8 - - .align 2 -gUnknown_085935D0:: @ 85935D0 - spr_template ANIM_TAG_CUT, ANIM_TAG_CUT, gUnknown_08524A34, gUnknown_085935C8, NULL, gDummySpriteAffineAnimTable, sub_8104414 - - .align 2 -gUnknown_085935E8:: @ 85935E8 - .2byte 0xfffa, 0x0004, 0x0800, 0x0000, 0x000a, 0xfff6, 0x0800, 0x0000 - .2byte 0xfffc, 0x0006, 0x0800, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08593608:: @ 8593608 - .2byte 0xfffc, 0xfffb, 0x0c00, 0x0000, 0x0000, 0x0000, 0x1800, 0x0000 - .2byte 0x0004, 0x0005, 0x0c00, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08593628:: @ 8593628 - .2byte 0x0000, 0x0044, 0x0004, 0x0068, 0x0008, 0x0044, 0x000c, 0x0044, 0xffff, 0x0000 - - .align 2 -gUnknown_0859363C:: @ 859363C - .2byte 0x0000, 0x0004, 0x0004, 0x0028, 0x0008, 0x0004, 0x000c, 0x0004, 0xffff, 0x0000 - - .align 2 -gUnknown_08593650:: @ 8593650 - .4byte gUnknown_08593628 - .4byte gUnknown_0859363C - - .align 2 -gUnknown_08593658:: @ 8593658 - spr_template ANIM_TAG_BREATH, ANIM_TAG_BREATH, gUnknown_0852490C, gUnknown_08593650, NULL, gDummySpriteAffineAnimTable, sub_8104B1C - - .align 2 -gUnknown_08593670:: @ 8593670 - .2byte 0x000b, 0x000b, 0x0800, 0x0000, 0xfff5, 0xfff5, 0x0800, 0x0000 - .2byte 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08593688:: @ 8593688 - .4byte gUnknown_08593670 - - .align 2 -gUnknown_0859368C:: @ 859368C - spr_template ANIM_TAG_ANGER, ANIM_TAG_ANGER, gUnknown_0852496C, gDummySpriteAnimTable, NULL, gUnknown_08593688, sub_8104BAC - - .align 2 -gUnknown_085936A4:: @ 85936A4 - .2byte 0xfff6, 0x0009, 0x0700, 0x0000, 0x0014, 0xffec, 0x0700, 0x0000 - .2byte 0xffec, 0x0014, 0x0700, 0x0000, 0x000a, 0xfff7, 0x0700, 0x0000 - .2byte 0x7ffd, 0x0002, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_085936D4:: @ 85936D4 - spr_template ANIM_TAG_PENCIL, ANIM_TAG_PENCIL, gUnknown_08524914, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_810501C - - .align 2 -gUnknown_085936EC:: @ 85936EC - spr_template ANIM_TAG_SNORE_Z, ANIM_TAG_SNORE_Z, gUnknown_08524914, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80A7938 - - .align 2 -gUnknown_08593704:: @ 8593704 - .2byte 0x0000, 0x0005, 0x0010, 0x0005, 0x0020, 0x0005, 0x0030, 0x0005, 0xffff, 0x0000 - - .align 2 -gUnknown_08593718:: @ 8593718 - .4byte gUnknown_08593704 - - .align 2 -gBattleAnimSpriteTemplate_859371C:: @ 859371C - spr_template ANIM_TAG_EXPLOSION, ANIM_TAG_EXPLOSION, gUnknown_08524914, gUnknown_08593718, NULL, gDummySpriteAffineAnimTable, sub_80A77C8 - - .align 2 -gUnknown_08593734:: @ 8593734 - .2byte 0x0000, 0x0000, 0x02f8, 0x0000, 0x0000, 0x0000, 0x0408, 0x0000 - .2byte 0x0000, 0x0000, 0x02f8, 0x0000, 0x7ffe, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08593754:: @ 8593754 - .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08593764:: @ 8593764 - .2byte 0xfff8, 0x0004, 0x0800, 0x0000, 0x7ffd, 0x0000, 0x0000, 0x0000 - .2byte 0x0010, 0xfff8, 0x0800, 0x0000, 0xfff0, 0x0008, 0x0800, 0x0000 - .2byte 0x7ffd, 0x0001, 0x0000, 0x0000, 0x0100, 0x0100, 0x0000, 0x0000 - .2byte 0x0000, 0x0000, 0x0f00, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_085937A4:: @ 85937A4 - .4byte gUnknown_08593734 - .4byte gUnknown_08593754 - .4byte gUnknown_08593764 - - .align 2 -gUnknown_085937B0:: @ 85937B0 - spr_template ANIM_TAG_BREAKING_EGG, ANIM_TAG_BREAKING_EGG, gUnknown_08524AF4, gDummySpriteAnimTable, NULL, gUnknown_085937A4, sub_8105538 - - .align 2 -gUnknown_085937C8:: @ 85937C8 - .2byte 0x0010, 0x0010, 0x0000, 0x0000, 0x0010, 0x0010, 0x1e00, 0x0000 - .2byte 0x7fff, 0x0001, 0x0000, 0x0000 - - .align 2 -gUnknown_085937E0:: @ 85937E0 - .2byte 0x0010, 0x0010, 0x0000, 0x0000, 0x0020, 0x0020, 0x0f00, 0x0000 - .2byte 0x7fff, 0x0001, 0x0000, 0x0000 - - .align 2 -gUnknown_085937F8:: @ 85937F8 - .2byte 0x0010, 0x0010, 0x0000, 0x0000, 0x000b, 0x000b, 0x2d00, 0x0000 - .2byte 0x7fff, 0x0001, 0x0000, 0x0000 - - .align 2 -gUnknown_08593810:: @ 8593810 - .4byte gUnknown_085937C8 - .4byte gUnknown_085937E0 - - .align 2 -gUnknown_08593818:: @ 8593818 - .4byte gUnknown_085937F8 - - .align 2 -gUnknown_0859381C:: @ 859381C - spr_template ANIM_TAG_THIN_RING, ANIM_TAG_THIN_RING, gUnknown_085249DC, gDummySpriteAnimTable, NULL, gUnknown_08593810, sub_80A77C8 - - .align 2 -gUnknown_08593834:: @ 8593834 - .2byte 0x0200, 0x0200, 0x0000, 0x0000, 0xfff0, 0xfff0, 0x1e00, 0x0000 - .2byte 0x7fff, 0x0001, 0x0000, 0x0000 - - .align 2 -gUnknown_0859384C:: @ 859384C - .4byte gUnknown_08593834 - - .align 2 -gUnknown_08593850:: @ 8593850 - spr_template ANIM_TAG_THIN_RING, ANIM_TAG_THIN_RING, gUnknown_08524AFC, gDummySpriteAnimTable, NULL, gUnknown_0859384C, sub_80A77C8 - - .align 2 -gUnknown_08593868:: @ 8593868 - spr_template ANIM_TAG_THIN_RING, ANIM_TAG_THIN_RING, gUnknown_08524AFC, gDummySpriteAnimTable, NULL, gUnknown_08593810, sub_81051C4 - - .align 2 -gUnknown_08593880:: @ 8593880 - spr_template ANIM_TAG_THIN_RING, ANIM_TAG_THIN_RING, gUnknown_08524AFC, gDummySpriteAnimTable, NULL, gUnknown_08593818, sub_81052A4 - - .align 2 -gBattleAnimSpriteTemplate_8593898:: @ 8593898 - spr_template ANIM_TAG_THIN_RING, ANIM_TAG_THIN_RING, gUnknown_08524AFC, gDummySpriteAnimTable, NULL, gUnknown_08593810, sub_81054E8 - - .align 2 -gUnknown_085938B0:: @ 85938B0 - .2byte 0x0060, 0xfff3, 0x0800, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_085938C0:: @ 85938C0 - .2byte 0x0000, 0x0003, 0x0004, 0x0003, 0x0008, 0x0003, 0x0004, 0x0003 - .2byte 0x0000, 0x0003, 0xffff, 0x0000 - - .align 2 -gUnknown_085938D8:: @ 85938D8 - .4byte gUnknown_085938C0 - - .align 2 -gUnknown_085938DC:: @ 85938DC - spr_template ANIM_TAG_SPEED_DUST, ANIM_TAG_SPEED_DUST, gUnknown_0852490C, gUnknown_085938D8, NULL, gDummySpriteAffineAnimTable, sub_8105C48 - - .align 2 -gUnknown_085938F4:: @ 85938F4 - .2byte 0x1c1e, 0x18ec, 0x1a10, 0x1cf6 - - .align 2 -gUnknown_085938FC:: @ 85938FC - .2byte 0x0000, 0x0006, 0x0010, 0x0006, 0x0020, 0x000f, 0x0010, 0x0006 - .2byte 0x0000, 0x0006, 0x0010, 0x0046, 0x0020, 0x004f, 0x0010, 0x0046 - .2byte 0x0000, 0x0006, 0x0010, 0x0006, 0x0020, 0x000f, 0x0010, 0x0006 - .2byte 0x0000, 0x0006, 0xffff, 0x0000 - - .align 2 -gUnknown_08593934:: @ 8593934 - .4byte gUnknown_085938FC - - .align 2 -gUnknown_08593938:: @ 8593938 - spr_template ANIM_TAG_BELL, ANIM_TAG_BELL, gUnknown_08524914, gUnknown_08593934, NULL, gDummySpriteAffineAnimTable, sub_80A77C8 - - .align 2 -gUnknown_08593950:: @ 8593950 - .2byte 0x27de, 0x270f, 0x270e, 0x0000 - - .align 2 -gUnknown_08593958:: @ 8593958 - spr_template ANIM_TAG_MUSIC_NOTES_2, ANIM_TAG_MUSIC_NOTES_2, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8105DE8 - - .align 2 -gUnknown_08593970:: @ 8593970 - spr_template ANIM_TAG_MAGENTA_HEART, ANIM_TAG_MAGENTA_HEART, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8105E60 - - .align 2 -gUnknown_08593988:: @ 8593988 - .2byte 0x000a, 0xfff3, 0x0a00, 0x0000, 0xfff6, 0x000d, 0x0a00, 0x0000 - .2byte 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_085939A0:: @ 85939A0 - spr_template ANIM_TAG_RED_HEART, ANIM_TAG_RED_HEART, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8106140 - - .align 2 -gBattleAnimSpriteTemplate_85939B8:: @ 85939B8 - spr_template ANIM_TAG_RED_HEART, ANIM_TAG_RED_HEART, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_81061C4 - - .align 2 -gUnknown_085939D0:: @ 85939D0 - spr_template ANIM_TAG_RED_HEART, ANIM_TAG_RED_HEART, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_810624C - - .align 2 -gUnknown_085939E8:: @ 85939E8 - .2byte 0x0080, 0x0080, 0x0000, 0x0000, 0x0008, 0x0008, 0x0100, 0x0000 - .2byte 0x7ffe, 0x0001, 0x0000, 0x0000 - - .align 2 -gUnknown_08593A00:: @ 8593A00 - .4byte gUnknown_085939E8 - - .align 2 -gHiddenPowerOrbSpriteTemplate:: @ 8593A04 - spr_template ANIM_TAG_RED_ORB, ANIM_TAG_RED_ORB, gUnknown_0852496C, gDummySpriteAnimTable, NULL, gUnknown_08593A00, sub_810673C - - .align 2 -gHiddenPowerOrbScatterSpriteTemplate:: @ 8593A1C - spr_template ANIM_TAG_RED_ORB, ANIM_TAG_RED_ORB, gUnknown_085249CC, gDummySpriteAnimTable, NULL, gUnknown_08593A00, sub_8106878 - - .align 2 -gUnknown_08593A34:: @ 8593A34 - .2byte 0x0080, 0x0080, 0x0000, 0x0000, 0x0008, 0x0008, 0x0100, 0x0000 - .2byte 0x7ffe, 0x0001, 0x0000, 0x0000 - - .align 2 -gUnknown_08593A4C:: @ 8593A4C - .4byte gUnknown_08593A34 - - .align 2 -gUnknown_08593A50:: @ 8593A50 - spr_template ANIM_TAG_RED_ORB_2, ANIM_TAG_RED_ORB_2, gUnknown_085249C4, gDummySpriteAnimTable, NULL, gUnknown_08593A4C, sub_8106944 - - .align 2 -gUnknown_08593A68:: @ 8593A68 - .2byte 0x0000, 0x0004, 0x0004, 0x0004, 0x0008, 0x0004, 0x0004, 0x0004 - .2byte 0x0000, 0x0004, 0xffff, 0x0000 - - .align 2 -gUnknown_08593A80:: @ 8593A80 - .4byte gUnknown_08593A68 - - .align 2 -gUnknown_08593A84:: @ 8593A84 - spr_template ANIM_TAG_EYE_SPARKLE, ANIM_TAG_EYE_SPARKLE, gUnknown_0852490C, gUnknown_08593A80, NULL, gDummySpriteAffineAnimTable, sub_81069B8 - - .align 2 -gUnknown_08593A9C:: @ 8593A9C - .2byte 0x0000, 0x0018, 0xffff, 0x0000 - - .align 2 -gUnknown_08593AA4:: @ 8593AA4 - .4byte gUnknown_08593A9C - - .align 2 -gUnknown_08593AA8:: @ 8593AA8 - spr_template ANIM_TAG_ANGEL, ANIM_TAG_ANGEL, gUnknown_08524914, gUnknown_08593AA4, NULL, gDummySpriteAffineAnimTable, sub_81069D0 - - .align 2 -gUnknown_08593AC0:: @ 8593AC0 - spr_template ANIM_TAG_PINK_HEART, ANIM_TAG_PINK_HEART, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8106AD0 - - .align 2 -gUnknown_08593AD8:: @ 8593AD8 - .2byte 0x0000, 0x0003, 0xfffe, 0x0000 - - .align 2 -gUnknown_08593AE0:: @ 8593AE0 - .2byte 0x0010, 0x0003, 0xfffe, 0x0000 - - .align 2 -gUnknown_08593AE8:: @ 8593AE8 - .4byte gUnknown_08593AD8 - .4byte gUnknown_08593AE0 - - .align 2 -gUnknown_08593AF0:: @ 8593AF0 - spr_template ANIM_TAG_DEVIL, ANIM_TAG_DEVIL, gUnknown_08524914, gUnknown_08593AE8, NULL, gDummySpriteAffineAnimTable, sub_8106B54 - - .align 2 -gUnknown_08593B08:: @ 8593B08 - .2byte 0x0000, 0x0004, 0x0010, 0x0004, 0x0020, 0x0004, 0x0030, 0x0004, 0xffff, 0x0000 - - .align 2 -gUnknown_08593B1C:: @ 8593B1C - .2byte 0x0000, 0x0044, 0x0010, 0x0044, 0x0020, 0x0044, 0x0030, 0x0044, 0xffff, 0x0000 - - .align 2 -gUnknown_08593B30:: @ 8593B30 - .4byte gUnknown_08593B08 - .4byte gUnknown_08593B1C - - .align 2 -gUnknown_08593B38:: @ 8593B38 - spr_template ANIM_TAG_SWIPE, ANIM_TAG_SWIPE, gUnknown_08524914, gUnknown_08593B30, NULL, gDummySpriteAffineAnimTable, sub_8106C80 - - .align 2 -gUnknown_08593B50:: @ 8593B50 - .2byte 0x0000, 0x0008, 0x0010, 0x0008, 0x0020, 0x0008, 0x0010, 0x0008, 0xffff, 0x0000 - - .align 2 -gUnknown_08593B64:: @ 8593B64 - .2byte 0x0010, 0x0048, 0x0020, 0x0048, 0x0010, 0x0048, 0x0000, 0x0048, 0xffff, 0x0000 - - .align 2 -gUnknown_08593B78:: @ 8593B78 - .4byte gUnknown_08593B50 - .4byte gUnknown_08593B64 - - .align 2 -gUnknown_08593B80:: @ 8593B80 - spr_template ANIM_TAG_MOVEMENT_WAVES, ANIM_TAG_MOVEMENT_WAVES, gUnknown_08524914, gUnknown_08593B78, NULL, gDummySpriteAffineAnimTable, sub_8106CD0 - - .align 2 -gUnknown_08593B98:: @ 8593B98 - .2byte 0xfff4, 0x0008, 0x0400, 0x0000, 0x0014, 0xffec, 0x0400, 0x0000 - .2byte 0xfff8, 0x000c, 0x0400, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gBattleAnimSpriteTemplate_8593BB8:: @ 8593BB8 - spr_template ANIM_TAG_JAGGED_MUSIC_NOTE, ANIM_TAG_JAGGED_MUSIC_NOTE, gUnknown_08524914, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8106E00 - - .align 2 -gUnknown_08593BD0:: @ 8593BD0 - .2byte 0x0000, 0x0000, 0x0500, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08593BE0:: @ 8593BE0 - .2byte 0x0000, 0x0000, 0x10f8, 0x0000, 0x7fff, 0x0001, 0x0000, 0x0000 - - .align 2 -gUnknown_08593BF0:: @ 8593BF0 - .2byte 0x0000, 0x0000, 0x1008, 0x0000, 0x7fff, 0x0001, 0x0000, 0x0000 - - .align 2 -gUnknown_08593C00:: @ 8593C00 - .4byte gUnknown_08593BD0 - .4byte gUnknown_08593BE0 - .4byte gUnknown_08593BF0 - - .align 2 -gUnknown_08593C0C:: @ 8593C0C - spr_template ANIM_TAG_MUSIC_NOTES_2, ANIM_TAG_MUSIC_NOTES_2, gUnknown_0852496C, gUnknown_08592FCC, NULL, gUnknown_08593C00, sub_8106F60 - - .align 2 -gUnknown_08593C24:: @ 8593C24 - spr_template ANIM_TAG_MUSIC_NOTES_2, ANIM_TAG_MUSIC_NOTES_2, gUnknown_0852496C, gUnknown_08592FCC, NULL, gUnknown_08593C00, sub_8106F00 - - .align 2 -gUnknown_08593C3C:: @ 8593C3C - .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08593C4C:: @ 8593C4C - .2byte 0x0200, 0x0100, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08593C5C:: @ 8593C5C - .4byte gUnknown_08593C3C - .4byte gUnknown_08593C4C - - .align 2 -gUnknown_08593C64:: @ 8593C64 - spr_template ANIM_TAG_GUARD_RING, ANIM_TAG_GUARD_RING, gUnknown_08524B1C, gDummySpriteAnimTable, NULL, gUnknown_08593C5C, sub_81070AC - - .align 2 - .incbin "graphics/unknown/unknown_593C80.4bpp" - - .align 2 - .incbin "graphics/unknown/unknown_593FFC.bin" - - .align 2 -gUnknown_08594FFC:: @ 8594FFC - .2byte 0x0000, 0x0002, 0x0008, 0x0002, 0x0010, 0x0002, 0x0018, 0x0006 - .2byte 0x0020, 0x0002, 0x0028, 0x0002, 0x0030, 0x0002, 0xffff, 0x0000 - - .align 2 -gUnknown_0859501C:: @ 859501C - .4byte gUnknown_08594FFC - - .align 2 -gUnknown_08595020:: @ 8595020 - spr_template ANIM_TAG_RAIN_DROPS, ANIM_TAG_RAIN_DROPS, gUnknown_08524954, gUnknown_0859501C, NULL, gDummySpriteAffineAnimTable, sub_810721C - - .align 2 -gUnknown_08595038:: @ 8595038 - .2byte 0xfffb, 0xfffb, 0x0a00, 0x0000, 0x0005, 0x0005, 0x0a00, 0x0000 - .2byte 0x7ffe, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08595050:: @ 8595050 - .4byte gUnknown_08595038 - - .align 2 -gUnknown_08595054:: @ 8595054 - .2byte 0x0000, 0x0001, 0x0004, 0x0005, 0x0008, 0x0005, 0xffff, 0x0000 - - .align 2 -gUnknown_08595064:: @ 8595064 - .4byte gUnknown_08595054 - - .align 2 -gBattleAnimSpriteTemplate_8595068:: @ 8595068 - spr_template ANIM_TAG_BUBBLE, ANIM_TAG_BUBBLE, gUnknown_08524A8C, gUnknown_08595064, NULL, gUnknown_08595050, sub_8107260 - - .align 2 -gUnknown_08595080:: @ 8595080 - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_08595088:: @ 8595088 - .2byte 0x0004, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_08595090:: @ 8595090 - .4byte gUnknown_08595080 - .4byte gUnknown_08595088 - - .align 2 -gUnknown_08595098:: @ 8595098 - .2byte 0x0000, 0x0000, 0x0100, 0x0000, 0x0060, 0x0060, 0x0100, 0x0000 - .2byte 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_085950B0:: @ 85950B0 - .4byte gUnknown_08595098 - - .align 2 -gUnknown_085950B4:: @ 85950B4 - spr_template ANIM_TAG_RAINBOW_RINGS, ANIM_TAG_RAINBOW_RINGS, gUnknown_08524A04, gUnknown_08595090, NULL, gUnknown_085950B0, sub_810744C - - .align 2 -gUnknown_085950CC:: @ 85950CC - .2byte 0x0000, 0x0001, 0x0004, 0x0001, 0x0008, 0x0001, 0x000c, 0x0001, 0xfffe, 0x0000 - - .align 2 -gUnknown_085950E0:: @ 85950E0 - .4byte gUnknown_085950CC - - .align 2 -gUnknown_085950E4:: @ 85950E4 - spr_template ANIM_TAG_WATER_ORB, ANIM_TAG_WATER_ORB, gUnknown_08524A2C, gUnknown_085950E0, NULL, gDummySpriteAffineAnimTable, sub_81075EC - - .align 2 -gUnknown_085950FC:: @ 85950FC - spr_template ANIM_TAG_BROWN_ORB, ANIM_TAG_BROWN_ORB, gUnknown_08524A2C, gUnknown_085950E0, NULL, gDummySpriteAffineAnimTable, sub_81075EC - - .align 2 -gUnknown_08595114:: @ 8595114 - spr_template ANIM_TAG_GLOWY_RED_ORB, ANIM_TAG_GLOWY_RED_ORB, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_81075EC - - .align 2 -gUnknown_0859512C:: @ 859512C - spr_template ANIM_TAG_GLOWY_GREEN_ORB, ANIM_TAG_GLOWY_GREEN_ORB, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_81075EC - - .align 2 -gUnknown_08595144:: @ 8595144 - .2byte 0x0010, 0x0002, 0x0020, 0x0002, 0x0030, 0x0002, 0xfffe, 0x0000 - - .align 2 -gUnknown_08595154:: @ 8595154 - .4byte gUnknown_08595144 - - .align 2 -gUnknown_08595158:: @ 8595158 - spr_template ANIM_TAG_SMALL_EMBER, ANIM_TAG_SMALL_EMBER, gUnknown_08524914, gUnknown_08595154, NULL, gDummySpriteAffineAnimTable, sub_81075EC - - .align 2 -gUnknown_08595170:: @ 8595170 - spr_template ANIM_TAG_BLUE_RING, ANIM_TAG_BLUE_RING, gUnknown_08524A14, gDummySpriteAnimTable, NULL, gUnknown_08593420, sub_81075EC - - .align 2 -gUnknown_08595188:: @ 8595188 - .2byte 0x0003, 0x0003, 0x320a, 0x0000, 0x0000, 0x0000, 0x0a00, 0x0000 - .2byte 0xffec, 0xffec, 0x14f6, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_085951A8:: @ 85951A8 - .2byte 0x0150, 0x0150, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_085951B8:: @ 85951B8 - .4byte gUnknown_08595188 - - .align 2 -gUnknown_085951BC:: @ 85951BC - .4byte gUnknown_085951A8 - - .align 2 -gUnknown_085951C0:: @ 85951C0 - spr_template ANIM_TAG_WATER_ORB, ANIM_TAG_WATER_ORB, gUnknown_08524AEC, gUnknown_085950E0, NULL, gUnknown_085951B8, sub_8107730 - - .align 2 -gUnknown_085951D8:: @ 85951D8 - spr_template ANIM_TAG_WATER_ORB, ANIM_TAG_WATER_ORB, gUnknown_08524AEC, gUnknown_085950E0, NULL, gUnknown_085951BC, sub_81077C0 - - .align 2 -gUnknown_085951F0:: @ 85951F0 - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_085951F8:: @ 85951F8 - .2byte 0x0004, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_08595200:: @ 8595200 - .4byte gUnknown_085951F0 - - .align 2 -gUnknown_08595204:: @ 8595204 - .4byte gUnknown_085951F8 - - .align 2 -gUnknown_08595208:: @ 8595208 - spr_template ANIM_TAG_SMALL_BUBBLES, ANIM_TAG_SMALL_BUBBLES, gUnknown_08524A2C, gUnknown_08595200, NULL, gDummySpriteAffineAnimTable, sub_80A78AC - - .align 2 -gUnknown_08595220:: @ 8595220 - spr_template ANIM_TAG_SMALL_BUBBLES, ANIM_TAG_SMALL_BUBBLES, gUnknown_08524AEC, gUnknown_08595204, NULL, gUnknown_08596208, sub_8107894 - - .align 2 -gUnknown_08595238:: @ 8595238 - spr_template ANIM_TAG_ICE_CRYSTALS, ANIM_TAG_ICE_CRYSTALS, gUnknown_08524904, gUnknown_08595AB8, NULL, gDummySpriteAffineAnimTable, sub_81078D0 - - .align 2 -gUnknown_08595250:: @ 8595250 - spr_template ANIM_TAG_SMALL_BUBBLES, ANIM_TAG_SMALL_BUBBLES, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8108034 - - .align 2 -gUnknown_08595268:: @ 8595268 - spr_template ANIM_TAG_GLOWY_BLUE_ORB, ANIM_TAG_GLOWY_BLUE_ORB, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_810851C - - .align 2 -gUnknown_08595280:: @ 8595280 - .2byte 0x0008, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_08595288:: @ 8595288 - .2byte 0x0009, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_08595290:: @ 8595290 - .2byte 0x0004, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_08595298:: @ 8595298 - .4byte gUnknown_08595280 - .4byte gUnknown_08595288 - - .align 2 -gUnknown_085952A0:: @ 85952A0 - .4byte gUnknown_08595290 - - .align 2 -gUnknown_085952A4:: @ 85952A4 - .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0xfff6, 0xfff6, 0x0f00, 0x0000 - .2byte 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_085952BC:: @ 85952BC - .2byte 0x00e0, 0x00e0, 0x0000, 0x0000, 0xfff8, 0xfff8, 0x0f00, 0x0000 - .2byte 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_085952D4:: @ 85952D4 - .2byte 0x0150, 0x0150, 0x0000, 0x0000, 0x0000, 0x0000, 0x0f00, 0x0000 - .2byte 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_085952EC:: @ 85952EC - .4byte gUnknown_085952A4 - .4byte gUnknown_085952BC - - .align 2 -gUnknown_085952F4:: @ 85952F4 - .4byte gUnknown_085952D4 - - .align 2 -gUnknown_085952F8:: @ 85952F8 - spr_template ANIM_TAG_SMALL_BUBBLES, ANIM_TAG_SMALL_BUBBLES, gUnknown_08524904, gUnknown_08595298, NULL, gDummySpriteAffineAnimTable, sub_8108BE0 - - .align 2 -gUnknown_08595310:: @ 8595310 - spr_template ANIM_TAG_SMALL_BUBBLES, ANIM_TAG_SMALL_BUBBLES, gUnknown_08524964, gUnknown_08595298, NULL, gUnknown_085952EC, sub_8108C54 - - .align 2 -gUnknown_08595328:: @ 8595328 - spr_template ANIM_TAG_SMALL_BUBBLES, ANIM_TAG_SMALL_BUBBLES, gUnknown_0852496C, gUnknown_085952A0, NULL, gUnknown_085952F4, sub_80A8EE4 .align 2 gUnknown_08595340:: @ 8595340 diff --git a/include/battle_anim.h b/include/battle_anim.h index c7884aa18..61659c350 100644 --- a/include/battle_anim.h +++ b/include/battle_anim.h @@ -143,12 +143,23 @@ extern const struct OamData gUnknown_0852496C; extern const struct OamData gUnknown_08524A34; extern const struct OamData gUnknown_08524A3C; extern const struct OamData gUnknown_08524A94; -extern const struct OamData gUnknown_0852490C; -extern const struct OamData gUnknown_08524974; extern const struct OamData gUnknown_08524954; extern const struct OamData gUnknown_08524AE4; -extern const struct OamData gUnknown_08524914; -extern const struct OamData gUnknown_085249CC; extern const struct OamData gUnknown_085249D4; +extern const struct OamData gUnknown_08524A9C; +extern const struct OamData gUnknown_08524ADC; +extern const struct OamData gUnknown_08524B14; +extern const struct OamData gUnknown_08524A54; +extern const struct OamData gUnknown_08524A14; +extern const struct OamData gUnknown_08524A1C; +extern const struct OamData gUnknown_085249BC; +extern const struct OamData gUnknown_08524AF4; +extern const struct OamData gUnknown_085249DC; +extern const struct OamData gUnknown_08524AFC; +extern const struct OamData gUnknown_08524B1C; +extern const struct OamData gUnknown_08524A04; +extern const struct OamData gUnknown_08524A2C; +extern const struct OamData gUnknown_08524AEC; +extern const struct OamData gUnknown_08524964; #endif // GUARD_BATTLE_ANIM_H diff --git a/include/sprite.h b/include/sprite.h index 085faff68..32bdd9c55 100644 --- a/include/sprite.h +++ b/include/sprite.h @@ -103,12 +103,19 @@ struct AffineAnimJumpCmd u16 target; }; +struct AffineAnimEndCmdAlt +{ + s16 type; + u16 val; +}; + union AffineAnimCmd { s16 type; struct AffineAnimFrameCmd frame; struct AffineAnimLoopCmd loop; struct AffineAnimJumpCmd jump; + struct AffineAnimEndCmdAlt end; // unused in code }; #define AFFINEANIMCMDTYPE_LOOP 0x7FFD @@ -123,6 +130,8 @@ union AffineAnimCmd {.jump = {.type = AFFINEANIMCMDTYPE_JUMP, .target = _target}} #define AFFINEANIMCMD_END \ {.type = AFFINEANIMCMDTYPE_END} +#define AFFINEANIMCMD_END_ALT(_val) \ + {.end = {.type = AFFINEANIMCMDTYPE_END, .val = _val}} struct AffineAnimState { diff --git a/ld_script.txt b/ld_script.txt index b1a8451d8..06a0f901a 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -478,6 +478,8 @@ SECTIONS { src/item_use.o(.rodata); /*src/battle/anim/effects_1.o(.rodata);*/ src/effects_1.o(.rodata); + src/effects_2.o(.rodata); + src/water.o(.rodata); data/battle_anim_80FE840.o(.rodata); src/bike.o(.rodata); data/easy_chat.o(.rodata); diff --git a/src/effects_2.c b/src/effects_2.c new file mode 100644 index 000000000..82336be5c --- /dev/null +++ b/src/effects_2.c @@ -0,0 +1,1197 @@ +#include "global.h" +#include "battle_anim.h" +#include "constants/rgb.h" + +extern void sub_8103448(struct Sprite *); +extern void sub_8103498(struct Sprite *); +extern void sub_810358C(struct Sprite *); +extern void sub_8103620(struct Sprite *); +extern void sub_80A77C8(struct Sprite *); +extern void sub_81037D8(struct Sprite *); +extern void sub_810387C(struct Sprite *); +extern void sub_81038C8(struct Sprite *); +extern void sub_8103AA4(struct Sprite *); +extern void TranslateAnimSpriteToTargetMonLocation(struct Sprite *); +extern void sub_8108C94(struct Sprite *); +extern void sub_80A78AC(struct Sprite *); +extern void sub_8103FE8(struct Sprite *); +extern void sub_8104088(struct Sprite *); +extern void sub_810413C(struct Sprite *); +extern void sub_81041C4(struct Sprite *); +extern void sub_8104304(struct Sprite *); +extern void sub_8104364(struct Sprite *); +extern void sub_8104414(struct Sprite *); +extern void sub_8104B1C(struct Sprite *); +extern void sub_8104BAC(struct Sprite *); +extern void sub_810501C(struct Sprite *); +extern void sub_80A7938(struct Sprite *); +extern void sub_8105538(struct Sprite *); +extern void sub_81051C4(struct Sprite *); +extern void sub_81052A4(struct Sprite *); +extern void sub_81054E8(struct Sprite *); +extern void sub_8105C48(struct Sprite *); +extern void sub_8105DE8(struct Sprite *); +extern void sub_8105E60(struct Sprite *); +extern void sub_8106140(struct Sprite *); +extern void sub_81061C4(struct Sprite *); +extern void sub_810624C(struct Sprite *); +extern void sub_810673C(struct Sprite *); +extern void sub_8106878(struct Sprite *); +extern void sub_8106944(struct Sprite *); +extern void sub_81069B8(struct Sprite *); +extern void sub_81069D0(struct Sprite *); +extern void sub_8106AD0(struct Sprite *); +extern void sub_8106B54(struct Sprite *); +extern void sub_8106C80(struct Sprite *); +extern void sub_8106CD0(struct Sprite *); +extern void sub_8106E00(struct Sprite *); +extern void sub_8106F60(struct Sprite *); +extern void sub_8106F00(struct Sprite *); +extern void sub_81070AC(struct Sprite *); + +const struct SpriteTemplate gUnknown_08593264 = +{ + .tileTag = ANIM_TAG_FINGER, + .paletteTag = ANIM_TAG_FINGER, + .oam = &gUnknown_08524914, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8103448, +}; + +const union AnimCmd gUnknown_0859327C[] = +{ + ANIMCMD_FRAME(4, 1), + ANIMCMD_END, +}; + +const union AnimCmd *const gUnknown_08593284[] = +{ + gUnknown_0859327C, +}; + +const struct SpriteTemplate gUnknown_08593288 = +{ + .tileTag = ANIM_TAG_MUSIC_NOTES, + .paletteTag = ANIM_TAG_MUSIC_NOTES, + .oam = &gUnknown_0852490C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8103498, +}; + +const struct SpriteTemplate gUnknown_085932A0 = +{ + .tileTag = 0, + .paletteTag = 0, + .oam = &gDummyOamData, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_810358C, +}; + +extern const union AffineAnimCmd *const gUnknown_08597060[]; +const struct SpriteTemplate gUnknown_085932B8 = +{ + .tileTag = ANIM_TAG_CLAMP, + .paletteTag = ANIM_TAG_CLAMP, + .oam = &gUnknown_08524A9C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_08597060, + .callback = sub_8103620, +}; + +const union AnimCmd gUnknown_085932D0[] = +{ + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(16, 3), + ANIMCMD_FRAME(32, 3), + ANIMCMD_FRAME(48, 3), + ANIMCMD_END, +}; + +const union AnimCmd *const gUnknown_085932E4[] = +{ + gUnknown_085932D0, +}; + +const union AffineAnimCmd gUnknown_085932E8[] = +{ + AFFINEANIMCMD_FRAME(0x50, 0x50, 0, 0), + AFFINEANIMCMD_FRAME(0x9, 0x9, 0, 18), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gUnknown_08593300[] = +{ + gUnknown_085932E8, +}; + +const struct SpriteTemplate gUnknown_08593304 = +{ + .tileTag = ANIM_TAG_UNUSED_EXPLOSION, + .paletteTag = ANIM_TAG_UNUSED_EXPLOSION, + .oam = &gUnknown_08524974, + .anims = gUnknown_085932E4, + .images = NULL, + .affineAnims = gUnknown_08593300, + .callback = sub_80A77C8, +}; + +const union AnimCmd gUnknown_0859331C[] = +{ + ANIMCMD_FRAME(0, 3, .hFlip = TRUE), + ANIMCMD_FRAME(8, 3, .hFlip = TRUE), + ANIMCMD_FRAME(16, 3, .hFlip = TRUE), + ANIMCMD_FRAME(24, 3, .hFlip = TRUE), + ANIMCMD_FRAME(32, 3, .hFlip = TRUE), + ANIMCMD_FRAME(40, 3, .hFlip = TRUE), + ANIMCMD_FRAME(48, 3, .hFlip = TRUE), + ANIMCMD_LOOP(1), + ANIMCMD_END, +}; + +const union AnimCmd *const gUnknown_08593340[] = +{ + gUnknown_0859331C, +}; + +const struct SpriteTemplate gUnknown_08593344 = +{ + .tileTag = ANIM_TAG_ALERT, + .paletteTag = ANIM_TAG_ALERT, + .oam = &gUnknown_08524934, + .anims = gUnknown_08593340, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_81037D8, +}; + +const union AffineAnimCmd gUnknown_0859335C[] = +{ + AFFINEANIMCMD_FRAME(0x10, 0x100, 0, 0), + AFFINEANIMCMD_FRAME(0x14, 0x0, 0, 12), + AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 32), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gUnknown_0859337C[] = +{ + gUnknown_0859335C, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_8593380 = +{ + .tileTag = ANIM_TAG_SWORD, + .paletteTag = ANIM_TAG_SWORD, + .oam = &gUnknown_08524ADC, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_0859337C, + .callback = sub_810387C, +}; + +const struct SpriteTemplate gSonicBoomSpriteTemplate = +{ + .tileTag = ANIM_TAG_AIR_WAVE, + .paletteTag = ANIM_TAG_AIR_WAVE, + .oam = &gUnknown_08524B14, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_81038C8, +}; + +const struct SpriteTemplate gUnknown_085933B0 = +{ + .tileTag = ANIM_TAG_AIR_WAVE, + .paletteTag = ANIM_TAG_AIR_WAVE, + .oam = &gUnknown_08524A54, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8103AA4, +}; + +const union AffineAnimCmd gUnknown_085933C8[] = +{ + AFFINEANIMCMD_FRAME(0x20, 0x20, 0, 0), + AFFINEANIMCMD_FRAME(0x7, 0x7, 0, -56), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_085933E0[] = +{ + AFFINEANIMCMD_FRAME(0x5, 0x5, 0, 10), + AFFINEANIMCMD_FRAME(0xFFF6, 0xFFF6, 0, 10), + AFFINEANIMCMD_FRAME(0xA, 0xA, 0, 10), + AFFINEANIMCMD_FRAME(0xFFF6, 0xFFF6, 0, 10), + AFFINEANIMCMD_FRAME(0xA, 0xA, 0, 10), + AFFINEANIMCMD_FRAME(0xFFF6, 0xFFF6, 0, 10), + AFFINEANIMCMD_FRAME(0xA, 0xA, 0, 10), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gUnknown_08593420[] = +{ + gUnknown_085933C8, +}; + +const union AffineAnimCmd *const gUnknown_08593424[] = +{ + gUnknown_085933E0, +}; + +const struct SpriteTemplate gSupersonicWaveSpriteTemplate = +{ + .tileTag = ANIM_TAG_GOLD_RING, + .paletteTag = ANIM_TAG_GOLD_RING, + .oam = &gUnknown_08524A14, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_08593420, + .callback = TranslateAnimSpriteToTargetMonLocation, +}; + +const struct SpriteTemplate gScreechWaveSpriteTemplate = +{ + .tileTag = ANIM_TAG_PURPLE_RING, + .paletteTag = ANIM_TAG_PURPLE_RING, + .oam = &gUnknown_08524A14, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_08593420, + .callback = TranslateAnimSpriteToTargetMonLocation, +}; + +const struct SpriteTemplate gUnknown_08593458 = +{ + .tileTag = ANIM_TAG_METAL_SOUND_WAVES, + .paletteTag = ANIM_TAG_METAL_SOUND_WAVES, + .oam = &gUnknown_08524A1C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_08593420, + .callback = TranslateAnimSpriteToTargetMonLocation, +}; + +const struct SpriteTemplate gUnknown_08593470 = +{ + .tileTag = ANIM_TAG_BLUE_RING_2, + .paletteTag = ANIM_TAG_BLUE_RING_2, + .oam = &gUnknown_08524A14, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_08593424, + .callback = sub_8108C94, +}; + +const struct SpriteTemplate gUnknown_08593488 = +{ + .tileTag = ANIM_TAG_LARGE_FRESH_EGG, + .paletteTag = ANIM_TAG_LARGE_FRESH_EGG, + .oam = &gUnknown_0852490C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80A78AC, +}; + +const struct SpriteTemplate gUnknown_085934A0 = +{ + .tileTag = ANIM_TAG_UNUSED_VOID_LINES, + .paletteTag = ANIM_TAG_UNUSED_VOID_LINES, + .oam = &gUnknown_08524A3C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8103FE8, +}; + +const union AnimCmd gUnknown_085934B8[] = +{ + ANIMCMD_FRAME(8, 1), + ANIMCMD_END, +}; + +const union AnimCmd *const gUnknown_085934C0[] = +{ + gUnknown_085934B8, +}; + +const union AffineAnimCmd gUnknown_085934C4[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, 10, 1), + AFFINEANIMCMD_JUMP(0), +}; + +const union AffineAnimCmd *const gUnknown_085934D4[] = +{ + gUnknown_085934C4, +}; + +const struct SpriteTemplate gUnknown_085934D8 = +{ + .tileTag = ANIM_TAG_COIN, + .paletteTag = ANIM_TAG_COIN, + .oam = &gUnknown_0852496C, + .anims = gUnknown_085934C0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8104088, +}; + +const struct SpriteTemplate gUnknown_085934F0 = +{ + .tileTag = ANIM_TAG_COIN, + .paletteTag = ANIM_TAG_COIN, + .oam = &gUnknown_0852496C, + .anims = gUnknown_085934C0, + .images = NULL, + .affineAnims = gUnknown_085934D4, + .callback = sub_810413C, +}; + +const union AffineAnimCmd gUnknown_08593508[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, 20, 1), + AFFINEANIMCMD_JUMP(0), +}; + +const union AffineAnimCmd *const gUnknown_08593518[] = +{ + gUnknown_08593508, +}; + +const struct SpriteTemplate gUnknown_0859351C = +{ + .tileTag = ANIM_TAG_SEED, + .paletteTag = ANIM_TAG_SEED, + .oam = &gUnknown_0852496C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_08593518, + .callback = sub_81041C4, +}; + +const union AffineAnimCmd gUnknown_08593534[] = +{ + AFFINEANIMCMD_FRAME(0x10, 0x100, 0, 0), + AFFINEANIMCMD_FRAME(0x4, 0x0, 0, 40), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gUnknown_0859354C[] = +{ + gUnknown_08593534, +}; + +const struct SpriteTemplate gUnknown_08593550 = +{ + .tileTag = ANIM_TAG_GUST, + .paletteTag = ANIM_TAG_GUST, + .oam = &gUnknown_085249BC, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_0859354C, + .callback = sub_8104304, +}; + +const union AnimCmd gUnknown_08593568[] = +{ + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(16, 3), + ANIMCMD_FRAME(32, 20), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_08593578[] = +{ + ANIMCMD_FRAME(0, 3, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(16, 3, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(32, 20, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_END, +}; + +const union AnimCmd *const gUnknown_08593588[] = +{ + gUnknown_08593568, + gUnknown_08593578, +}; + +const struct SpriteTemplate gUnknown_08593590 = +{ + .tileTag = ANIM_TAG_CUT, + .paletteTag = ANIM_TAG_CUT, + .oam = &gUnknown_08524A34, + .anims = gUnknown_08593588, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8104364, +}; + +const union AnimCmd gUnknown_085935A8[] = +{ + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(16, 2), + ANIMCMD_FRAME(32, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_085935B8[] = +{ + ANIMCMD_FRAME(0, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(16, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(32, 1, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_END, +}; + +const union AnimCmd *const gUnknown_085935C8[] = +{ + gUnknown_085935A8, + gUnknown_085935B8, +}; + +const struct SpriteTemplate gUnknown_085935D0 = +{ + .tileTag = ANIM_TAG_CUT, + .paletteTag = ANIM_TAG_CUT, + .oam = &gUnknown_08524A34, + .anims = gUnknown_085935C8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8104414, +}; + +const union AffineAnimCmd gUnknown_085935E8[] = +{ + AFFINEANIMCMD_FRAME(-6, 4, 0, 8), + AFFINEANIMCMD_FRAME(10, -10, 0, 8), + AFFINEANIMCMD_FRAME(-4, 6, 0, 8), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_08593608[] = +{ + AFFINEANIMCMD_FRAME(-4, -5, 0, 12), + AFFINEANIMCMD_FRAME(0, 0, 0, 24), + AFFINEANIMCMD_FRAME(4, 5, 0, 12), + AFFINEANIMCMD_END, +}; + +const union AnimCmd gUnknown_08593628[] = +{ + ANIMCMD_FRAME(0, 4, .hFlip = TRUE), + ANIMCMD_FRAME(4, 40, .hFlip = TRUE), + ANIMCMD_FRAME(8, 4, .hFlip = TRUE), + ANIMCMD_FRAME(12, 4, .hFlip = TRUE), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_0859363C[] = +{ + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(4, 40), + ANIMCMD_FRAME(8, 4), + ANIMCMD_FRAME(12, 4), + ANIMCMD_END, +}; + +const union AnimCmd *const gUnknown_08593650[] = +{ + gUnknown_08593628, + gUnknown_0859363C, +}; + +const struct SpriteTemplate gUnknown_08593658 = +{ + .tileTag = ANIM_TAG_BREATH, + .paletteTag = ANIM_TAG_BREATH, + .oam = &gUnknown_0852490C, + .anims = gUnknown_08593650, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8104B1C, +}; + +const union AffineAnimCmd gUnknown_08593670[] = +{ + AFFINEANIMCMD_FRAME(0xB, 0xB, 0, 8), + AFFINEANIMCMD_FRAME(0xFFF5, 0xFFF5, 0, 8), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gUnknown_08593688[] = +{ + gUnknown_08593670, +}; + +const struct SpriteTemplate gUnknown_0859368C = +{ + .tileTag = ANIM_TAG_ANGER, + .paletteTag = ANIM_TAG_ANGER, + .oam = &gUnknown_0852496C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_08593688, + .callback = sub_8104BAC, +}; + +const union AffineAnimCmd gUnknown_085936A4[] = +{ + AFFINEANIMCMD_FRAME(-10, 9, 0, 7), + AFFINEANIMCMD_FRAME(20, -20, 0, 7), + AFFINEANIMCMD_FRAME(-20, 20, 0, 7), + AFFINEANIMCMD_FRAME(10, -9, 0, 7), + AFFINEANIMCMD_LOOP(2), + AFFINEANIMCMD_END, +}; + +const struct SpriteTemplate gUnknown_085936D4 = +{ + .tileTag = ANIM_TAG_PENCIL, + .paletteTag = ANIM_TAG_PENCIL, + .oam = &gUnknown_08524914, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_810501C, +}; + +const struct SpriteTemplate gUnknown_085936EC = +{ + .tileTag = ANIM_TAG_SNORE_Z, + .paletteTag = ANIM_TAG_SNORE_Z, + .oam = &gUnknown_08524914, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80A7938, +}; + +const union AnimCmd gUnknown_08593704[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(16, 5), + ANIMCMD_FRAME(32, 5), + ANIMCMD_FRAME(48, 5), + ANIMCMD_END, +}; + +const union AnimCmd *const gUnknown_08593718[] = +{ + gUnknown_08593704, +}; +//* +const struct SpriteTemplate gBattleAnimSpriteTemplate_859371C = +{ + .tileTag = ANIM_TAG_EXPLOSION, + .paletteTag = ANIM_TAG_EXPLOSION, + .oam = &gUnknown_08524914, + .anims = gUnknown_08593718, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80A77C8, +}; + +const union AffineAnimCmd gUnknown_08593734[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, -8, 2), + AFFINEANIMCMD_FRAME(0x0, 0x0, 8, 4), + AFFINEANIMCMD_FRAME(0x0, 0x0, -8, 2), + AFFINEANIMCMD_JUMP(0), +}; + +const union AffineAnimCmd gUnknown_08593754[] = +{ + AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_08593764[] = +{ + AFFINEANIMCMD_FRAME(0xFFF8, 0x4, 0, 8), + AFFINEANIMCMD_LOOP(0), + AFFINEANIMCMD_FRAME(0x10, 0xFFF8, 0, 8), + AFFINEANIMCMD_FRAME(0xFFF0, 0x8, 0, 8), + AFFINEANIMCMD_LOOP(1), + AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), + AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 15), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gUnknown_085937A4[] = +{ + gUnknown_08593734, + gUnknown_08593754, + gUnknown_08593764, +}; +//* +const struct SpriteTemplate gUnknown_085937B0 = +{ + .tileTag = ANIM_TAG_BREAKING_EGG, + .paletteTag = ANIM_TAG_BREAKING_EGG, + .oam = &gUnknown_08524AF4, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_085937A4, + .callback = sub_8105538, +}; + +const union AffineAnimCmd gUnknown_085937C8[] = +{ + AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0), + AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 30), + AFFINEANIMCMD_END_ALT(1), +}; + +const union AffineAnimCmd gUnknown_085937E0[] = +{ + AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0), + AFFINEANIMCMD_FRAME(0x20, 0x20, 0, 15), + AFFINEANIMCMD_END_ALT(1), +}; + +const union AffineAnimCmd gUnknown_085937F8[] = +{ + AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0), + AFFINEANIMCMD_FRAME(0xB, 0xB, 0, 45), + AFFINEANIMCMD_END_ALT(1), +}; + +const union AffineAnimCmd *const gUnknown_08593810[] = +{ + gUnknown_085937C8, + gUnknown_085937E0, +}; + +const union AffineAnimCmd *const gUnknown_08593818[] = +{ + gUnknown_085937F8, +}; + +const struct SpriteTemplate gUnknown_0859381C = +{ + .tileTag = ANIM_TAG_THIN_RING, + .paletteTag = ANIM_TAG_THIN_RING, + .oam = &gUnknown_085249DC, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_08593810, + .callback = sub_80A77C8, +}; +//* +const union AffineAnimCmd gUnknown_08593834[] = +{ + AFFINEANIMCMD_FRAME(0x200, 0x200, 0, 0), + AFFINEANIMCMD_FRAME(0xFFF0, 0xFFF0, 0, 30), + AFFINEANIMCMD_END_ALT(1), +}; + +const union AffineAnimCmd *const gUnknown_0859384C[] = +{ + gUnknown_08593834, +}; + +const struct SpriteTemplate gUnknown_08593850 = +{ + .tileTag = ANIM_TAG_THIN_RING, + .paletteTag = ANIM_TAG_THIN_RING, + .oam = &gUnknown_08524AFC, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_0859384C, + .callback = sub_80A77C8, +}; + +const struct SpriteTemplate gUnknown_08593868 = +{ + .tileTag = ANIM_TAG_THIN_RING, + .paletteTag = ANIM_TAG_THIN_RING, + .oam = &gUnknown_08524AFC, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_08593810, + .callback = sub_81051C4, +}; + +const struct SpriteTemplate gUnknown_08593880 = +{ + .tileTag = ANIM_TAG_THIN_RING, + .paletteTag = ANIM_TAG_THIN_RING, + .oam = &gUnknown_08524AFC, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_08593818, + .callback = sub_81052A4, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_8593898 = +{ + .tileTag = ANIM_TAG_THIN_RING, + .paletteTag = ANIM_TAG_THIN_RING, + .oam = &gUnknown_08524AFC, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_08593810, + .callback = sub_81054E8, +}; + +const union AffineAnimCmd gUnknown_085938B0[] = +{ + AFFINEANIMCMD_FRAME(96, -13, 0, 8), + AFFINEANIMCMD_END, +}; + +const union AnimCmd gUnknown_085938C0[] = +{ + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(4, 3), + ANIMCMD_FRAME(8, 3), + ANIMCMD_FRAME(4, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_END, +}; + +const union AnimCmd *const gUnknown_085938D8[] = +{ + gUnknown_085938C0, +}; + +const struct SpriteTemplate gUnknown_085938DC = +{ + .tileTag = ANIM_TAG_SPEED_DUST, + .paletteTag = ANIM_TAG_SPEED_DUST, + .oam = &gUnknown_0852490C, + .anims = gUnknown_085938D8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8105C48, +}; + +const s8 gUnknown_085938F4[][2] = +{ + {30, 28}, + {-20, 24}, + {16, 26}, + {-10, 28}, +}; + +const union AnimCmd gUnknown_085938FC[] = +{ + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(16, 6), + ANIMCMD_FRAME(32, 15), + ANIMCMD_FRAME(16, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(16, 6, .hFlip = TRUE), + ANIMCMD_FRAME(32, 15, .hFlip = TRUE), + ANIMCMD_FRAME(16, 6, .hFlip = TRUE), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(16, 6), + ANIMCMD_FRAME(32, 15), + ANIMCMD_FRAME(16, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_END, +}; + +const union AnimCmd *const gUnknown_08593934[] = +{ + gUnknown_085938FC, +}; + +const struct SpriteTemplate gUnknown_08593938 = +{ + .tileTag = ANIM_TAG_BELL, + .paletteTag = ANIM_TAG_BELL, + .oam = &gUnknown_08524914, + .anims = gUnknown_08593934, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80A77C8, +}; + +const u16 gUnknown_08593950[] = +{ + 10206, + 9999, + 9998, + 0, +}; + +const struct SpriteTemplate gUnknown_08593958 = +{ + .tileTag = ANIM_TAG_MUSIC_NOTES_2, + .paletteTag = ANIM_TAG_MUSIC_NOTES_2, + .oam = &gUnknown_0852490C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8105DE8, +}; + +const struct SpriteTemplate gUnknown_08593970 = +{ + .tileTag = ANIM_TAG_MAGENTA_HEART, + .paletteTag = ANIM_TAG_MAGENTA_HEART, + .oam = &gUnknown_0852490C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8105E60, +}; + +const union AffineAnimCmd gUnknown_08593988[] = +{ + AFFINEANIMCMD_FRAME(0x000A, 0xFFF3, 0x00, 0x0A), + AFFINEANIMCMD_FRAME(0xFFF6, 0x000D, 0x00, 0x0A), + AFFINEANIMCMD_END, +}; + +const struct SpriteTemplate gUnknown_085939A0 = +{ + .tileTag = ANIM_TAG_RED_HEART, + .paletteTag = ANIM_TAG_RED_HEART, + .oam = &gUnknown_0852490C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8106140, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_85939B8 = +{ + .tileTag = ANIM_TAG_RED_HEART, + .paletteTag = ANIM_TAG_RED_HEART, + .oam = &gUnknown_0852490C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_81061C4, +}; + +const struct SpriteTemplate gUnknown_085939D0 = +{ + .tileTag = ANIM_TAG_RED_HEART, + .paletteTag = ANIM_TAG_RED_HEART, + .oam = &gUnknown_0852490C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_810624C, +}; + +const union AffineAnimCmd gUnknown_085939E8[] = +{ + AFFINEANIMCMD_FRAME(0x80, 0x80, 0, 0), + AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 1), + AFFINEANIMCMD_JUMP(1), +}; + +const union AffineAnimCmd *const gUnknown_08593A00[] = +{ + gUnknown_085939E8, +}; + +const struct SpriteTemplate gHiddenPowerOrbSpriteTemplate = +{ + .tileTag = ANIM_TAG_RED_ORB, + .paletteTag = ANIM_TAG_RED_ORB, + .oam = &gUnknown_0852496C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_08593A00, + .callback = sub_810673C, +}; + +const struct SpriteTemplate gHiddenPowerOrbScatterSpriteTemplate = +{ + .tileTag = ANIM_TAG_RED_ORB, + .paletteTag = ANIM_TAG_RED_ORB, + .oam = &gUnknown_085249CC, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_08593A00, + .callback = sub_8106878, +}; + +const union AffineAnimCmd gUnknown_08593A34[] = +{ + AFFINEANIMCMD_FRAME(0x80, 0x80, 0, 0), + AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 1), + AFFINEANIMCMD_JUMP(1), +}; + +const union AffineAnimCmd *const gUnknown_08593A4C[] = +{ + gUnknown_08593A34, +}; + +const struct SpriteTemplate gUnknown_08593A50 = +{ + .tileTag = ANIM_TAG_RED_ORB_2, + .paletteTag = ANIM_TAG_RED_ORB_2, + .oam = &gUnknown_085249C4, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_08593A4C, + .callback = sub_8106944, +}; + +const union AnimCmd gUnknown_08593A68[] = +{ + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(4, 4), + ANIMCMD_FRAME(8, 4), + ANIMCMD_FRAME(4, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_END, +}; + +const union AnimCmd *const gUnknown_08593A80[] = +{ + gUnknown_08593A68, +}; + +const struct SpriteTemplate gUnknown_08593A84 = +{ + .tileTag = ANIM_TAG_EYE_SPARKLE, + .paletteTag = ANIM_TAG_EYE_SPARKLE, + .oam = &gUnknown_0852490C, + .anims = gUnknown_08593A80, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_81069B8, +}; + +const union AnimCmd gUnknown_08593A9C[] = +{ + ANIMCMD_FRAME(0, 24), + ANIMCMD_END, +}; + +const union AnimCmd *const gUnknown_08593AA4[] = +{ + gUnknown_08593A9C, +}; + +const struct SpriteTemplate gUnknown_08593AA8 = +{ + .tileTag = ANIM_TAG_ANGEL, + .paletteTag = ANIM_TAG_ANGEL, + .oam = &gUnknown_08524914, + .anims = gUnknown_08593AA4, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_81069D0, +}; + +const struct SpriteTemplate gUnknown_08593AC0 = +{ + .tileTag = ANIM_TAG_PINK_HEART, + .paletteTag = ANIM_TAG_PINK_HEART, + .oam = &gUnknown_0852490C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8106AD0, +}; + +const union AnimCmd gUnknown_08593AD8[] = +{ + ANIMCMD_FRAME(0, 3), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gUnknown_08593AE0[] = +{ + ANIMCMD_FRAME(16, 3), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const gUnknown_08593AE8[] = +{ + gUnknown_08593AD8, + gUnknown_08593AE0, +}; + +const struct SpriteTemplate gUnknown_08593AF0 = +{ + .tileTag = ANIM_TAG_DEVIL, + .paletteTag = ANIM_TAG_DEVIL, + .oam = &gUnknown_08524914, + .anims = gUnknown_08593AE8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8106B54, +}; + +const union AnimCmd gUnknown_08593B08[] = +{ + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(16, 4), + ANIMCMD_FRAME(32, 4), + ANIMCMD_FRAME(48, 4), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_08593B1C[] = +{ + ANIMCMD_FRAME(0, 4, .hFlip = TRUE), + ANIMCMD_FRAME(16, 4, .hFlip = TRUE), + ANIMCMD_FRAME(32, 4, .hFlip = TRUE), + ANIMCMD_FRAME(48, 4, .hFlip = TRUE), + ANIMCMD_END, +}; + +const union AnimCmd *const gUnknown_08593B30[] = +{ + gUnknown_08593B08, + gUnknown_08593B1C, +}; + +const struct SpriteTemplate gUnknown_08593B38 = +{ + .tileTag = ANIM_TAG_SWIPE, + .paletteTag = ANIM_TAG_SWIPE, + .oam = &gUnknown_08524914, + .anims = gUnknown_08593B30, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8106C80, +}; + +const union AnimCmd gUnknown_08593B50[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(16, 8), + ANIMCMD_FRAME(32, 8), + ANIMCMD_FRAME(16, 8), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_08593B64[] = +{ + ANIMCMD_FRAME(16, 8, .hFlip = TRUE), + ANIMCMD_FRAME(32, 8, .hFlip = TRUE), + ANIMCMD_FRAME(16, 8, .hFlip = TRUE), + ANIMCMD_FRAME(0, 8, .hFlip = TRUE), + ANIMCMD_END, +}; + +const union AnimCmd *const gUnknown_08593B78[] = +{ + gUnknown_08593B50, + gUnknown_08593B64, +}; + +const struct SpriteTemplate gUnknown_08593B80 = +{ + .tileTag = ANIM_TAG_MOVEMENT_WAVES, + .paletteTag = ANIM_TAG_MOVEMENT_WAVES, + .oam = &gUnknown_08524914, + .anims = gUnknown_08593B78, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8106CD0, +}; + +const union AffineAnimCmd gUnknown_08593B98[] = +{ + AFFINEANIMCMD_FRAME(-12, 8, 0, 4), + AFFINEANIMCMD_FRAME(20, -20, 0, 4), + AFFINEANIMCMD_FRAME(-8, 12, 0, 4), + AFFINEANIMCMD_END, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_8593BB8 = +{ + .tileTag = ANIM_TAG_JAGGED_MUSIC_NOTE, + .paletteTag = ANIM_TAG_JAGGED_MUSIC_NOTE, + .oam = &gUnknown_08524914, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8106E00, +}; + +const union AffineAnimCmd gUnknown_08593BD0[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 5), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_08593BE0[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, -8, 16), + AFFINEANIMCMD_END_ALT(1), +}; + +const union AffineAnimCmd gUnknown_08593BF0[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, 8, 16), + AFFINEANIMCMD_END_ALT(1), +}; + +const union AffineAnimCmd *const gUnknown_08593C00[] = +{ + gUnknown_08593BD0, + gUnknown_08593BE0, + gUnknown_08593BF0, +}; + +extern const union AnimCmd *const gUnknown_08592FCC[]; +const struct SpriteTemplate gUnknown_08593C0C = +{ + .tileTag = ANIM_TAG_MUSIC_NOTES_2, + .paletteTag = ANIM_TAG_MUSIC_NOTES_2, + .oam = &gUnknown_0852496C, + .anims = gUnknown_08592FCC, + .images = NULL, + .affineAnims = gUnknown_08593C00, + .callback = sub_8106F60, +}; + +const struct SpriteTemplate gUnknown_08593C24 = +{ + .tileTag = ANIM_TAG_MUSIC_NOTES_2, + .paletteTag = ANIM_TAG_MUSIC_NOTES_2, + .oam = &gUnknown_0852496C, + .anims = gUnknown_08592FCC, + .images = NULL, + .affineAnims = gUnknown_08593C00, + .callback = sub_8106F00, +}; + +const union AffineAnimCmd gUnknown_08593C3C[] = +{ + AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_08593C4C[] = +{ + AFFINEANIMCMD_FRAME(0x200, 0x100, 0, 0), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gUnknown_08593C5C[] = +{ + gUnknown_08593C3C, + gUnknown_08593C4C, +}; + +const struct SpriteTemplate gUnknown_08593C64 = +{ + .tileTag = ANIM_TAG_GUARD_RING, + .paletteTag = ANIM_TAG_GUARD_RING, + .oam = &gUnknown_08524B1C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_08593C5C, + .callback = sub_81070AC, +}; diff --git a/src/water.c b/src/water.c new file mode 100644 index 000000000..955526ccd --- /dev/null +++ b/src/water.c @@ -0,0 +1,442 @@ +#include "global.h" +#include "battle_anim.h" +#include "constants/rgb.h" + +extern void sub_810721C(struct Sprite *); +extern void sub_8107260(struct Sprite *); +extern void sub_810744C(struct Sprite *); +extern void sub_81075EC(struct Sprite *); +extern void sub_8107730(struct Sprite *); +extern void sub_81077C0(struct Sprite *); +extern void sub_80A78AC(struct Sprite *); +extern void sub_8107894(struct Sprite *); +extern void sub_81078D0(struct Sprite *); +extern void sub_8108034(struct Sprite *); +extern void sub_810851C(struct Sprite *); +extern void sub_8108BE0(struct Sprite *); +extern void sub_8108C54(struct Sprite *); +extern void sub_80A8EE4(struct Sprite *); + +extern const union AffineAnimCmd *const gUnknown_08593420[]; +extern const union AffineAnimCmd *const gUnknown_08596208[]; +extern const union AnimCmd *const gUnknown_08595AB8[]; + +// what is this? +const u8 gUnknown_8593C80[] = INCBIN_U8("graphics/unknown/unknown_593C80.4bpp"); +const u8 gUnknown_8593FFC[] = INCBIN_U8("graphics/unknown/unknown_593FFC.bin"); + +const union AnimCmd gUnknown_08594FFC[] = +{ + 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 gUnknown_0859501C[] = +{ + gUnknown_08594FFC, +}; + +const struct SpriteTemplate gUnknown_08595020 = +{ + .tileTag = ANIM_TAG_RAIN_DROPS, + .paletteTag = ANIM_TAG_RAIN_DROPS, + .oam = &gUnknown_08524954, + .anims = gUnknown_0859501C, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_810721C, +}; + +const union AffineAnimCmd gUnknown_08595038[] = +{ + AFFINEANIMCMD_FRAME(0xFFFB, 0xFFFB, 0, 10), + AFFINEANIMCMD_FRAME(0x5, 0x5, 0, 10), + AFFINEANIMCMD_JUMP(0), +}; + +const union AffineAnimCmd *const gUnknown_08595050[] = +{ + gUnknown_08595038, +}; + +const union AnimCmd gUnknown_08595054[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(4, 5), + ANIMCMD_FRAME(8, 5), + ANIMCMD_END, +}; + +const union AnimCmd *const gUnknown_08595064[] = +{ + gUnknown_08595054, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_8595068 = +{ + .tileTag = ANIM_TAG_BUBBLE, + .paletteTag = ANIM_TAG_BUBBLE, + .oam = &gUnknown_08524A8C, + .anims = gUnknown_08595064, + .images = NULL, + .affineAnims = gUnknown_08595050, + .callback = sub_8107260, +}; + +const union AnimCmd gUnknown_08595080[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_08595088[] = +{ + ANIMCMD_FRAME(4, 1), + ANIMCMD_END, +}; + +const union AnimCmd *const gUnknown_08595090[] = +{ + gUnknown_08595080, + gUnknown_08595088, +}; + +const union AffineAnimCmd gUnknown_08595098[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 1), + AFFINEANIMCMD_FRAME(0x60, 0x60, 0, 1), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gUnknown_085950B0[] = +{ + gUnknown_08595098, +}; + +// Multi-colored rings used in Aurora Beam. +const struct SpriteTemplate gUnknown_085950B4 = +{ + .tileTag = ANIM_TAG_RAINBOW_RINGS, + .paletteTag = ANIM_TAG_RAINBOW_RINGS, + .oam = &gUnknown_08524A04, + .anims = gUnknown_08595090, + .images = NULL, + .affineAnims = gUnknown_085950B0, + .callback = sub_810744C, +}; + +const union AnimCmd gUnknown_085950CC[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(4, 1), + ANIMCMD_FRAME(8, 1), + ANIMCMD_FRAME(12, 1), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const gUnknown_085950E0[] = +{ + gUnknown_085950CC, +}; + +const struct SpriteTemplate gUnknown_085950E4 = +{ + .tileTag = ANIM_TAG_WATER_ORB, + .paletteTag = ANIM_TAG_WATER_ORB, + .oam = &gUnknown_08524A2C, + .anims = gUnknown_085950E0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_81075EC, +}; + +const struct SpriteTemplate gUnknown_085950FC = +{ + .tileTag = ANIM_TAG_BROWN_ORB, + .paletteTag = ANIM_TAG_BROWN_ORB, + .oam = &gUnknown_08524A2C, + .anims = gUnknown_085950E0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_81075EC, +}; + +const struct SpriteTemplate gUnknown_08595114 = +{ + .tileTag = ANIM_TAG_GLOWY_RED_ORB, + .paletteTag = ANIM_TAG_GLOWY_RED_ORB, + .oam = &gUnknown_08524904, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_81075EC, +}; + +const struct SpriteTemplate gUnknown_0859512C = +{ + .tileTag = ANIM_TAG_GLOWY_GREEN_ORB, + .paletteTag = ANIM_TAG_GLOWY_GREEN_ORB, + .oam = &gUnknown_08524904, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_81075EC, +}; + +const union AnimCmd gUnknown_08595144[] = +{ + ANIMCMD_FRAME(16, 2), + ANIMCMD_FRAME(32, 2), + ANIMCMD_FRAME(48, 2), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const gUnknown_08595154[] = +{ + gUnknown_08595144, +}; + +const struct SpriteTemplate gUnknown_08595158 = +{ + .tileTag = ANIM_TAG_SMALL_EMBER, + .paletteTag = ANIM_TAG_SMALL_EMBER, + .oam = &gUnknown_08524914, + .anims = gUnknown_08595154, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_81075EC, +}; + +const struct SpriteTemplate gUnknown_08595170 = +{ + .tileTag = ANIM_TAG_BLUE_RING, + .paletteTag = ANIM_TAG_BLUE_RING, + .oam = &gUnknown_08524A14, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_08593420, + .callback = sub_81075EC, +}; + +const union AffineAnimCmd gUnknown_08595188[] = +{ + AFFINEANIMCMD_FRAME(0x3, 0x3, 10, 50), + AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 10), + AFFINEANIMCMD_FRAME(0xFFEC, 0xFFEC, -10, 20), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_085951A8[] = +{ + AFFINEANIMCMD_FRAME(0x150, 0x150, 0, 0), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gUnknown_085951B8[] = +{ + gUnknown_08595188, +}; + +const union AffineAnimCmd *const gUnknown_085951BC[] = +{ + gUnknown_085951A8, +}; + +const struct SpriteTemplate gUnknown_085951C0 = +{ + .tileTag = ANIM_TAG_WATER_ORB, + .paletteTag = ANIM_TAG_WATER_ORB, + .oam = &gUnknown_08524AEC, + .anims = gUnknown_085950E0, + .images = NULL, + .affineAnims = gUnknown_085951B8, + .callback = sub_8107730, +}; + +const struct SpriteTemplate gUnknown_085951D8 = +{ + .tileTag = ANIM_TAG_WATER_ORB, + .paletteTag = ANIM_TAG_WATER_ORB, + .oam = &gUnknown_08524AEC, + .anims = gUnknown_085950E0, + .images = NULL, + .affineAnims = gUnknown_085951BC, + .callback = sub_81077C0, +}; + +const union AnimCmd gUnknown_085951F0[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_085951F8[] = +{ + ANIMCMD_FRAME(4, 1), + ANIMCMD_END, +}; + +const union AnimCmd *const gUnknown_08595200[] = +{ + gUnknown_085951F0, +}; + +const union AnimCmd *const gUnknown_08595204[] = +{ + gUnknown_085951F8, +}; + +const struct SpriteTemplate gUnknown_08595208 = +{ + .tileTag = ANIM_TAG_SMALL_BUBBLES, + .paletteTag = ANIM_TAG_SMALL_BUBBLES, + .oam = &gUnknown_08524A2C, + .anims = gUnknown_08595200, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80A78AC, +}; + +const struct SpriteTemplate gUnknown_08595220 = +{ + .tileTag = ANIM_TAG_SMALL_BUBBLES, + .paletteTag = ANIM_TAG_SMALL_BUBBLES, + .oam = &gUnknown_08524AEC, + .anims = gUnknown_08595204, + .images = NULL, + .affineAnims = gUnknown_08596208, + .callback = sub_8107894, +}; + +const struct SpriteTemplate gUnknown_08595238 = +{ + .tileTag = ANIM_TAG_ICE_CRYSTALS, + .paletteTag = ANIM_TAG_ICE_CRYSTALS, + .oam = &gUnknown_08524904, + .anims = gUnknown_08595AB8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_81078D0, +}; + +const struct SpriteTemplate gUnknown_08595250 = +{ + .tileTag = ANIM_TAG_SMALL_BUBBLES, + .paletteTag = ANIM_TAG_SMALL_BUBBLES, + .oam = &gUnknown_08524904, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8108034, +}; + +const struct SpriteTemplate gUnknown_08595268 = +{ + .tileTag = ANIM_TAG_GLOWY_BLUE_ORB, + .paletteTag = ANIM_TAG_GLOWY_BLUE_ORB, + .oam = &gUnknown_08524904, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_810851C, +}; + +const union AnimCmd gUnknown_08595280[] = +{ + ANIMCMD_FRAME(8, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_08595288[] = +{ + ANIMCMD_FRAME(9, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_08595290[] = +{ + ANIMCMD_FRAME(4, 1), + ANIMCMD_END, +}; + +const union AnimCmd *const gUnknown_08595298[] = +{ + gUnknown_08595280, + gUnknown_08595288, +}; + +const union AnimCmd *const gUnknown_085952A0[] = +{ + gUnknown_08595290, +}; + +const union AffineAnimCmd gUnknown_085952A4[] = +{ + AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), + AFFINEANIMCMD_FRAME(0xFFF6, 0xFFF6, 0, 15), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_085952BC[] = +{ + AFFINEANIMCMD_FRAME(0xE0, 0xE0, 0, 0), + AFFINEANIMCMD_FRAME(0xFFF8, 0xFFF8, 0, 15), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_085952D4[] = +{ + AFFINEANIMCMD_FRAME(0x150, 0x150, 0, 0), + AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 15), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gUnknown_085952EC[] = +{ + gUnknown_085952A4, + gUnknown_085952BC, +}; + +const union AffineAnimCmd *const gUnknown_085952F4[] = +{ + gUnknown_085952D4, +}; + +const struct SpriteTemplate gUnknown_085952F8 = +{ + .tileTag = ANIM_TAG_SMALL_BUBBLES, + .paletteTag = ANIM_TAG_SMALL_BUBBLES, + .oam = &gUnknown_08524904, + .anims = gUnknown_08595298, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8108BE0, +}; + +const struct SpriteTemplate gUnknown_08595310 = +{ + .tileTag = ANIM_TAG_SMALL_BUBBLES, + .paletteTag = ANIM_TAG_SMALL_BUBBLES, + .oam = &gUnknown_08524964, + .anims = gUnknown_08595298, + .images = NULL, + .affineAnims = gUnknown_085952EC, + .callback = sub_8108C54, +}; + +const struct SpriteTemplate gUnknown_08595328 = +{ + .tileTag = ANIM_TAG_SMALL_BUBBLES, + .paletteTag = ANIM_TAG_SMALL_BUBBLES, + .oam = &gUnknown_0852496C, + .anims = gUnknown_085952A0, + .images = NULL, + .affineAnims = gUnknown_085952F4, + .callback = sub_80A8EE4, +};