diff --git a/data/battle_anim_80FE840.s b/data/battle_anim_80FE840.s index ecb851e533..4fb56621d0 100644 --- a/data/battle_anim_80FE840.s +++ b/data/battle_anim_80FE840.s @@ -7,689 +7,6 @@ - - - - - - - - .align 2 -gUnknown_08595340:: @ 8595340 - .2byte 0x0010, 0x0004, 0x0020, 0x0004, 0x0030, 0x0004, 0xfffe, 0x0000 - - .align 2 -gUnknown_08595350:: @ 8595350 - .2byte 0x0010, 0x00c4, 0x0020, 0x00c4, 0x0030, 0x00c4, 0xfffe, 0x0000 - - .align 2 -gUnknown_08595360:: @ 8595360 - .4byte gUnknown_08595340 - .4byte gUnknown_08595350 - - .align 2 -gUnknown_08595368:: @ 8595368 - spr_template ANIM_TAG_SMALL_EMBER, ANIM_TAG_SMALL_EMBER, gUnknown_08524914, gUnknown_08595360, NULL, gDummySpriteAffineAnimTable, sub_8108EC8 - - .align 2 -gUnknown_08595380:: @ 8595380 - spr_template ANIM_TAG_SMALL_EMBER, ANIM_TAG_SMALL_EMBER, gUnknown_08524914, gUnknown_08595360, NULL, gDummySpriteAffineAnimTable, sub_8108F08 - - .align 2 -gUnknown_08595398:: @ 8595398 - .2byte 0x0000, 0x0003, 0x0010, 0x0003, 0x0020, 0x0003, 0x0030, 0x0003 - .2byte 0x0040, 0x0003, 0x0050, 0x0003, 0x0060, 0x0003, 0x0070, 0x0003 - .2byte 0xfffe, 0x0000 - - .align 2 -gUnknown_085953BC:: @ 85953BC - .4byte gUnknown_08595398 - - .align 2 -gUnknown_085953C0:: @ 85953C0 - .2byte 0x0000, 0x0005, 0x0010, 0x0005, 0x0020, 0x0005, 0x0030, 0x0005 - .2byte 0x0040, 0x0005, 0xfffe, 0x0000 - - .align 2 -gUnknown_085953D8:: @ 85953D8 - .4byte gUnknown_085953C0 - - .align 2 -gUnknown_085953DC:: @ 85953DC - .2byte 0x0032, 0x0100, 0x0000, 0x0000, 0x0020, 0x0000, 0x0700, 0x0000 - .2byte 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_085953F4:: @ 85953F4 - .4byte gUnknown_085953DC - - .align 2 -gUnknown_085953F8:: @ 85953F8 - spr_template ANIM_TAG_FIRE, ANIM_TAG_FIRE, gUnknown_08524974, gUnknown_085953BC, NULL, gUnknown_085953F4, sub_8108FBC - - .align 2 -gUnknown_08595410:: @ 8595410 - spr_template ANIM_TAG_FIRE, ANIM_TAG_FIRE, gUnknown_08524914, gUnknown_085953BC, NULL, gDummySpriteAffineAnimTable, sub_8108FBC - - .align 2 -gUnknown_08595428:: @ 8595428 - spr_template ANIM_TAG_FIRE_PLUME, ANIM_TAG_FIRE_PLUME, gUnknown_08524914, gUnknown_085953D8, NULL, gDummySpriteAffineAnimTable, sub_8108F4C - - .align 2 -gUnknown_08595440:: @ 8595440 - spr_template ANIM_TAG_SMALL_EMBER, ANIM_TAG_SMALL_EMBER, gUnknown_08524914, gUnknown_085953D8, NULL, gDummySpriteAffineAnimTable, sub_8108F4C - - .align 2 -gUnknown_08595458:: @ 8595458 - .2byte 0x0010, 0x0006, 0x0020, 0x0006, 0x0030, 0x0006, 0xfffe, 0x0000 - - .align 2 -gUnknown_08595468:: @ 8595468 - .4byte gUnknown_08595458 - - .align 2 -gUnknown_0859546C:: @ 859546C - spr_template ANIM_TAG_SMALL_EMBER, ANIM_TAG_SMALL_EMBER, gUnknown_08524914, gUnknown_08595468, NULL, gDummySpriteAffineAnimTable, sub_8109064 - - .align 2 -gUnknown_08595484:: @ 8595484 - .2byte 0x0050, 0x0050, 0x0000, 0x0000, 0x0002, 0x0002, 0x010a, 0x0000 - .2byte 0x7ffe, 0x0001, 0x0000, 0x0000 - - .align 2 -gUnknown_0859549C:: @ 859549C - .4byte gUnknown_08595484 - - .align 2 -gUnknown_085954A0:: @ 85954A0 - spr_template ANIM_TAG_SUNLIGHT, ANIM_TAG_SUNLIGHT, gUnknown_08524A94, gDummySpriteAnimTable, NULL, gUnknown_0859549C, sub_810916C - - .align 2 -gUnknown_085954B8:: @ 85954B8 - .2byte 0x0000, 0x0004, 0x0010, 0x0004, 0x0020, 0x0004, 0x0030, 0x0004 - .2byte 0x0040, 0x0004, 0xfffe, 0x0000 - - .align 2 -gUnknown_085954D0:: @ 85954D0 - .4byte gUnknown_085954B8 - - .align 2 -gEmberSpriteTemplate:: @ 85954D4 - spr_template ANIM_TAG_SMALL_EMBER, ANIM_TAG_SMALL_EMBER, gUnknown_08524914, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, TranslateAnimSpriteToTargetMonLocation - - .align 2 -gEmberFlareSpriteTemplate:: @ 85954EC - spr_template ANIM_TAG_SMALL_EMBER, ANIM_TAG_SMALL_EMBER, gUnknown_08524914, gUnknown_085954D0, NULL, gDummySpriteAffineAnimTable, sub_8109198 - - .align 2 -gUnknown_08595504:: @ 8595504 - spr_template ANIM_TAG_SMALL_EMBER, ANIM_TAG_SMALL_EMBER, gUnknown_08524914, gUnknown_085954D0, NULL, gDummySpriteAffineAnimTable, sub_8109200 - - .align 2 -gUnknown_0859551C:: @ 859551C - spr_template ANIM_TAG_SMALL_EMBER, ANIM_TAG_SMALL_EMBER, gUnknown_08524914, gUnknown_085954D0, NULL, gDummySpriteAffineAnimTable, sub_810921C - - .align 2 -gUnknown_08595534:: @ 8595534 - .2byte 0x0020, 0x0006, 0x0030, 0x0006, 0xfffe, 0x0000 - - .align 2 -gUnknown_08595540:: @ 8595540 - .4byte gUnknown_08595534 - - .align 2 -gUnknown_08595544:: @ 8595544 - .2byte 0x0000, 0x0000, 0x0100, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08595554:: @ 8595554 - .2byte 0x00a0, 0x00a0, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08595564:: @ 8595564 - .4byte gUnknown_08595544 - .4byte gUnknown_08595554 - - .align 2 -gUnknown_0859556C:: @ 859556C - spr_template ANIM_TAG_SMALL_EMBER, ANIM_TAG_SMALL_EMBER, gUnknown_08524914, gUnknown_08595540, NULL, gDummySpriteAffineAnimTable, sub_8109364 - - .align 2 -gBattleAnimSpriteTemplate_8595584:: @ 8595584 - spr_template ANIM_TAG_SMALL_EMBER, ANIM_TAG_SMALL_EMBER, gUnknown_08524914, gUnknown_085954D0, NULL, gDummySpriteAffineAnimTable, sub_81093A4 - - .align 2 -gUnknown_0859559C:: @ 859559C - spr_template ANIM_TAG_SMALL_EMBER, ANIM_TAG_SMALL_EMBER, gUnknown_08524914, gUnknown_085954D0, NULL, gDummySpriteAffineAnimTable, sub_80A8EE4 - - .align 2 -gUnknown_085955B4:: @ 85955B4 - spr_template ANIM_TAG_WARM_ROCK, ANIM_TAG_WARM_ROCK, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_81098EC - - .align 2 -gUnknown_085955CC:: @ 85955CC - .2byte 0xfffe, 0xfffb, 0xffff, 0xffff, 0x0003, 0xfffa, 0x0004, 0xfffe - .2byte 0x0002, 0xfff8, 0xfffb, 0xfffb, 0x0004, 0xfff9 - - .align 2 -gUnknown_085955E8:: @ 85955E8 - spr_template ANIM_TAG_WARM_ROCK, ANIM_TAG_WARM_ROCK, gUnknown_08524914, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8109A10 - - .align 2 -gUnknown_08595600:: @ 8595600 - .2byte 0x0000, 0x0005, 0x0004, 0x0005, 0x0008, 0x0005, 0x000c, 0x0005, 0xfffe, 0x0000 - - .align 2 -gUnknown_08595614:: @ 8595614 - .2byte 0x0010, 0x0005, 0xffff, 0x0000 - - .align 2 -gUnknown_0859561C:: @ 859561C - .2byte 0x0014, 0x0005, 0xffff, 0x0000 - - .align 2 -gUnknown_08595624:: @ 8595624 - .2byte 0x0014, 0x0005, 0xffff, 0x0000 - - .align 2 -gUnknown_0859562C:: @ 859562C - .4byte gUnknown_08595600 - .4byte gUnknown_08595614 - .4byte gUnknown_0859561C - .4byte gUnknown_08595624 - - .align 2 -gUnknown_0859563C:: @ 859563C - spr_template ANIM_TAG_WISP_ORB, ANIM_TAG_WISP_ORB, gUnknown_0852490C, gUnknown_0859562C, NULL, gDummySpriteAffineAnimTable, sub_8109AFC - - .align 2 -gUnknown_08595654:: @ 8595654 - .2byte 0x0000, 0x0005, 0x0010, 0x0005, 0x0020, 0x0005, 0x0030, 0x0005, 0xfffe, 0x0000 - - .align 2 -gUnknown_08595668:: @ 8595668 - .4byte gUnknown_08595654 - - .align 2 -gUnknown_0859566C:: @ 859566C - spr_template ANIM_TAG_WISP_FIRE, ANIM_TAG_WISP_FIRE, gUnknown_08524914, gUnknown_08595668, NULL, gDummySpriteAffineAnimTable, sub_8109CB0 - - .align 2 -gUnknown_08595684:: @ 8595684 - .2byte 0xffff, 0x0100, 0x0001, 0xff00, 0x01ff, 0x0001, 0xff00, 0x0100 - - .align 2 -gUnknown_08595694:: @ 8595694 - .2byte 0x00ff, 0x0001, 0x01ff, 0xff00, 0x0100, 0xff00, 0x0100, 0x0100 - - .align 2 -gUnknown_085956A4:: @ 85956A4 - .2byte 0x0000, 0x0005, 0x0010, 0x0005, 0x0020, 0x0008, 0x0030, 0x0005 - .2byte 0x0040, 0x0005, 0xffff, 0x0000 - - .align 2 -gUnknown_085956BC:: @ 85956BC - .4byte gUnknown_085956A4 - - .align 2 -gUnknown_085956C0:: @ 85956C0 - spr_template ANIM_TAG_LIGHTNING, ANIM_TAG_LIGHTNING, gUnknown_08524914, gUnknown_085956BC, NULL, gDummySpriteAffineAnimTable, sub_810A1A8 - - .align 2 -gUnknown_085956D8:: @ 85956D8 - .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x1400, 0x0000 - .2byte 0x0000, 0x0000, 0x3cf0, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_085956F8:: @ 85956F8 - .4byte gUnknown_085956D8 - - .align 2 -gUnknown_085956FC:: @ 85956FC - spr_template ANIM_TAG_HANDS_AND_FEET, ANIM_TAG_HANDS_AND_FEET, gUnknown_08524974, gDummySpriteAnimTable, NULL, gUnknown_085956F8, sub_810A214 - - .align 2 -gUnknown_08595714:: @ 8595714 - .2byte 0x0000, 0x0005, 0x0010, 0x0005, 0x0020, 0x0005, 0x0030, 0x0005 - .2byte 0x0040, 0x0005, 0x0050, 0x0005, 0xfffe, 0x0000 - - .align 2 -gUnknown_08595730:: @ 8595730 - .4byte gUnknown_08595714 - - .align 2 -gUnknown_08595734:: @ 8595734 - spr_template 0x275f, 0x275f, gUnknown_08524914, gUnknown_08595730, NULL, gDummySpriteAffineAnimTable, sub_810A274 - - .align 2 -gBattleAnimSpriteTemplate_859574C:: @ 859574C - spr_template ANIM_TAG_SPARK_2, ANIM_TAG_SPARK_2, gUnknown_0852496C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_810A308 - - .align 2 -gUnknown_08595764:: @ 8595764 - spr_template ANIM_TAG_BLACK_BALL_2, ANIM_TAG_BLACK_BALL_2, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, TranslateAnimSpriteToTargetMonLocation - - .align 2 -gUnknown_0859577C:: @ 859577C - .2byte 0x0000, 0x0000, 0x0114, 0x0000, 0x7ffe, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_0859578C:: @ 859578C - .4byte gUnknown_0859577C - - .align 2 -gUnknown_08595790:: @ 8595790 - spr_template ANIM_TAG_SPARK_2, ANIM_TAG_SPARK_2, gUnknown_0852496C, gDummySpriteAnimTable, NULL, gUnknown_0859578C, sub_810A46C - - .align 2 -gUnknown_085957A8:: @ 85957A8 - .2byte 0x0000, 0x0006, 0x0010, 0x0006, 0x0020, 0x0006, 0xfffe, 0x0000 - - .align 2 -gUnknown_085957B8:: @ 85957B8 - .4byte gUnknown_085957A8 - - .align 2 -gUnknown_085957BC:: @ 85957BC - .2byte 0x00e8, 0x00e8, 0x0000, 0x0000, 0xfff8, 0xfff8, 0x0a00, 0x0000 - .2byte 0x0008, 0x0008, 0x0a00, 0x0000, 0x7ffe, 0x0001, 0x0000, 0x0000 - - .align 2 -gUnknown_085957DC:: @ 85957DC - .4byte gUnknown_085957BC - - .align 2 -gBattleAnimSpriteTemplate_85957E0:: @ 85957E0 - spr_template ANIM_TAG_SHOCK_3, ANIM_TAG_SHOCK_3, gUnknown_08524974, gUnknown_085957B8, NULL, gUnknown_085957DC, sub_810A5BC - - .align 2 -gBattleAnimSpriteTemplate_85957F8:: @ 85957F8 - spr_template ANIM_TAG_SPARK_2, ANIM_TAG_SPARK_2, gUnknown_0852496C, gDummySpriteAnimTable, NULL, gUnknown_0859578C, sub_810A628 - - .align 2 -gElectricitySpriteTemplate:: @ 8595810 - spr_template ANIM_TAG_SPARK_2, ANIM_TAG_SPARK_2, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_810A75C - - .align 2 -gUnknown_08595828:: @ 8595828 - spr_template ANIM_TAG_SPARK, ANIM_TAG_SPARK, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_810A9DC - - .align 2 -gUnknown_08595840:: @ 8595840 - spr_template 0x27bd, 0x27bd, gUnknown_08524934, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_810AA2C - - .align 2 -gUnknown_08595858:: @ 8595858 - .byte 0x3a, 0xc4, 0xc8, 0xdc, 0x08, 0xc8, 0xf0, 0x38 - .byte 0x3a, 0xf6, 0xc6, 0x0a, 0x30, 0xee, 0xf8, 0x38 - .byte 0x10, 0xc8, 0xc6, 0xd6, 0x3a, 0x1e, 0xd0, 0x28 - .byte 0x0c, 0xd0, 0x30, 0xf4, 0xc8, 0x12, 0x30, 0x30 - - .align 2 -gUnknown_08595878:: @ 8595878 - .2byte 0x0003, 0x0001, 0x0002, 0x0001, 0x0001, 0x0001, 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_0859588C:: @ 859588C - .2byte 0x0000, 0x0005, 0x0001, 0x0005, 0x0002, 0x0005, 0x0003, 0x0005, 0xffff, 0x0000 - - .align 2 -gUnknown_085958A0:: @ 85958A0 - .4byte gUnknown_08595878 - .4byte gUnknown_0859588C - - .align 2 -gUnknown_085958A8:: @ 85958A8 - spr_template ANIM_TAG_ELECTRIC_ORBS, ANIM_TAG_ELECTRIC_ORBS, gUnknown_08524904, gUnknown_085958A0, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gUnknown_085958C0:: @ 85958C0 - .2byte 0x0010, 0x0010, 0x0000, 0x0000, 0x0004, 0x0004, 0x3c00, 0x0000 - .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0x7ffd, 0x0000, 0x0000, 0x0000 - .2byte 0xfffc, 0xfffc, 0x0500, 0x0000, 0x0004, 0x0004, 0x0500, 0x0000 - .2byte 0x7ffd, 0x000a, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08595900:: @ 8595900 - .2byte 0x0010, 0x0010, 0x0000, 0x0000, 0x0008, 0x0008, 0x1e00, 0x0000 - .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0xfffc, 0xfffc, 0x0500, 0x0000 - .2byte 0x0004, 0x0004, 0x0500, 0x0000, 0x7ffe, 0x0003, 0x0000, 0x0000 - - .align 2 -gUnknown_08595930:: @ 8595930 - .2byte 0x0010, 0x0010, 0x0000, 0x0000, 0x0008, 0x0008, 0x1e00, 0x0000 - .2byte 0xfff8, 0xfff8, 0x1e00, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08595950:: @ 8595950 - .4byte gUnknown_085958C0 - .4byte gUnknown_08595900 - .4byte gUnknown_08595930 - - .align 2 -gUnknown_0859595C:: @ 859595C - spr_template ANIM_TAG_CIRCLE_OF_LIGHT, ANIM_TAG_CIRCLE_OF_LIGHT, gUnknown_08524A9C, gDummySpriteAnimTable, NULL, gUnknown_08595950, sub_810ACD8 - - .align 2 -gUnknown_08595974:: @ 8595974 - .2byte 0x0000, 0x0003, 0x0010, 0x0003, 0x0020, 0x0003, 0x0030, 0x0003, 0xffff, 0x0000 - - .align 2 -gUnknown_08595988:: @ 8595988 - .4byte gUnknown_08595974 - - .align 2 -gUnknown_0859598C:: @ 859598C - spr_template ANIM_TAG_ELECTRICITY, ANIM_TAG_ELECTRICITY, gUnknown_08524914, gUnknown_08595988, NULL, gDummySpriteAffineAnimTable, sub_810AD30 - - .align 2 -gUnknown_085959A4:: @ 85959A4 - spr_template ANIM_TAG_CIRCLE_OF_LIGHT, ANIM_TAG_CIRCLE_OF_LIGHT, gUnknown_08524A9C, gDummySpriteAnimTable, NULL, gUnknown_08595950, sub_810AD98 - - .align 2 -gUnknown_085959BC:: @ 85959BC - .2byte 0x0000, 0x0003, 0xffff, 0x0000 - - .align 2 -gUnknown_085959C4:: @ 85959C4 - .2byte 0x0002, 0x0003, 0xffff, 0x0000 - - .align 2 -gUnknown_085959CC:: @ 85959CC - .2byte 0x0004, 0x0003, 0xffff, 0x0000 - - .align 2 -gUnknown_085959D4:: @ 85959D4 - .2byte 0x0006, 0x0003, 0xffff, 0x0000 - - .align 2 -gUnknown_085959DC:: @ 85959DC - .4byte gUnknown_085959BC - .4byte gUnknown_085959C4 - .4byte gUnknown_085959CC - .4byte gUnknown_085959D4 - - .align 2 -gUnknown_085959EC:: @ 85959EC - .2byte 0x0100, 0x0100, 0x0040, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_085959FC:: @ 85959FC - .4byte gUnknown_085959EC - - .align 2 -gUnknown_08595A00:: @ 8595A00 - spr_template ANIM_TAG_SPARK, ANIM_TAG_SPARK, gUnknown_08524A04, gUnknown_085959DC, NULL, gUnknown_085959FC, sub_810B1F0 - - .align 2 -gUnknown_08595A18:: @ 8595A18 - spr_template ANIM_TAG_CIRCLE_OF_LIGHT, ANIM_TAG_CIRCLE_OF_LIGHT, gUnknown_08524A9C, gDummySpriteAnimTable, NULL, gUnknown_08595950, sub_810B23C - - .align 2 -gUnknown_08595A30:: @ 8595A30 - spr_template ANIM_TAG_SPARK, ANIM_TAG_SPARK, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_810B51C - - .align 2 -gUnknown_08595A48:: @ 8595A48 - .2byte 0x0000, 0x0045, 0x0001, 0x0045, 0xfffe, 0x0000 - - .align 2 -gUnknown_08595A54:: @ 8595A54 - .4byte gUnknown_08595A48 - - .align 2 -gUnknown_08595A58:: @ 8595A58 - spr_template ANIM_TAG_ICE_CRYSTALS, ANIM_TAG_ICE_CRYSTALS, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_810B6C4 - - .align 2 -gUnknown_08595A70:: @ 8595A70 - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_08595A78:: @ 8595A78 - .2byte 0x0004, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_08595A80:: @ 8595A80 - .2byte 0x0006, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_08595A88:: @ 8595A88 - .2byte 0x0007, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_08595A90:: @ 8595A90 - .2byte 0x0008, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_08595A98:: @ 8595A98 - .2byte 0x000c, 0x0006, 0x000d, 0x0006, 0xfffe, 0x0000 - - .align 2 -gUnknown_08595AA4:: @ 8595AA4 - .4byte gUnknown_08595A70 - - .align 2 -gUnknown_08595AA8:: @ 8595AA8 - .4byte gUnknown_08595A78 - - .align 2 -gUnknown_08595AAC:: @ 8595AAC - .4byte gUnknown_08595A80 - - .align 2 -gUnknown_08595AB0:: @ 8595AB0 - .4byte gUnknown_08595A88 - - .align 2 -gUnknown_08595AB4:: @ 8595AB4 - .4byte gUnknown_08595A90 - - .align 2 -gUnknown_08595AB8:: @ 8595AB8 - .4byte gUnknown_08595A98 - - .align 2 -gUnknown_08595ABC:: @ 8595ABC - .2byte 0x0000, 0x0000, 0x0128, 0x0000, 0x7ffe, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08595ACC:: @ 8595ACC - .4byte gUnknown_08595ABC - - .align 2 -gUnknown_08595AD0:: @ 8595AD0 - spr_template ANIM_TAG_ICE_CRYSTALS, ANIM_TAG_ICE_CRYSTALS, gUnknown_08524B24, gUnknown_08595AA8, NULL, gUnknown_08595ACC, sub_810B8AC - - .align 2 -gUnknown_08595AE8:: @ 8595AE8 - spr_template ANIM_TAG_ICE_CRYSTALS, ANIM_TAG_ICE_CRYSTALS, gUnknown_08524A24, gUnknown_08595AAC, NULL, gDummySpriteAffineAnimTable, sub_810B8AC - - .align 2 -gUnknown_08595B00:: @ 8595B00 - .2byte 0x0000, 0x0000, 0x010a, 0x0000, 0x7ffe, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08595B10:: @ 8595B10 - .4byte gUnknown_08595B00 - - .align 2 -gUnknown_08595B14:: @ 8595B14 - spr_template ANIM_TAG_ICE_CRYSTALS, ANIM_TAG_ICE_CRYSTALS, gUnknown_08524AC4, gUnknown_08595AA8, NULL, gUnknown_08595B10, sub_810B8EC - - .align 2 -gUnknown_08595B2C:: @ 8595B2C - spr_template ANIM_TAG_ICE_CRYSTALS, ANIM_TAG_ICE_CRYSTALS, gUnknown_08524A24, gUnknown_08595AAC, NULL, gDummySpriteAffineAnimTable, sub_810B8EC - - .align 2 -gUnknown_08595B44:: @ 8595B44 - .2byte 0x00ce, 0x00ce, 0x0000, 0x0000, 0x0005, 0x0005, 0x0a00, 0x0000 - .2byte 0x0000, 0x0000, 0x0600, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08595B64:: @ 8595B64 - .4byte gUnknown_08595B44 - - .align 2 -gUnknown_08595B68:: @ 8595B68 - spr_template ANIM_TAG_ICE_CRYSTALS, ANIM_TAG_ICE_CRYSTALS, gUnknown_08524AC4, gUnknown_08595AA8, NULL, gUnknown_08595B64, sub_810B974 - - .align 2 -gUnknown_08595B80:: @ 8595B80 - spr_template ANIM_TAG_ICE_CRYSTALS, ANIM_TAG_ICE_CRYSTALS, gUnknown_08524A84, gUnknown_08595AAC, NULL, gUnknown_08595B64, sub_810B974 - - .align 2 -gUnknown_08595B98:: @ 8595B98 - spr_template ANIM_TAG_ICE_CRYSTALS, ANIM_TAG_ICE_CRYSTALS, gUnknown_08524904, gUnknown_08595AB0, NULL, gDummySpriteAffineAnimTable, sub_810BA24 - - .align 2 -gUnknown_08595BB0:: @ 8595BB0 - spr_template ANIM_TAG_ICE_CRYSTALS, ANIM_TAG_ICE_CRYSTALS, gUnknown_0852490C, gUnknown_08595AB4, NULL, gDummySpriteAffineAnimTable, sub_810BC94 - - .align 2 -gUnknown_08595BC8:: @ 8595BC8 - spr_template ANIM_TAG_ICE_CRYSTALS, ANIM_TAG_ICE_CRYSTALS, gUnknown_08524904, gUnknown_08595AB0, NULL, gDummySpriteAffineAnimTable, sub_810BC94 - - .align 2 -gUnknown_08595BE0:: @ 8595BE0 - .2byte 0x0000, 0x0005, 0x0002, 0x0005, 0x0004, 0x0005, 0x0006, 0x0005 - .2byte 0x0004, 0x0005, 0x0002, 0x0005, 0x0000, 0x0005, 0xffff, 0x0000 - - .align 2 -gUnknown_08595C00:: @ 8595C00 - .4byte gUnknown_08595BE0 - - .align 2 -gUnknown_08595C04:: @ 8595C04 - spr_template ANIM_TAG_ICE_SPIKES, ANIM_TAG_ICE_SPIKES, gUnknown_08524A64, gUnknown_08595C00, NULL, gDummySpriteAffineAnimTable, sub_810BE48 - - .align 2 -gUnknown_08595C1C:: @ 8595C1C - .2byte 0x0000, 0x0008, 0x0008, 0x0008, 0xfffe, 0x0000 - - .align 2 -gUnknown_08595C28:: @ 8595C28 - .4byte gUnknown_08595C1C - - .align 2 -gUnknown_08595C2C:: @ 8595C2C - spr_template ANIM_TAG_MIST_CLOUD, ANIM_TAG_MIST_CLOUD, gUnknown_08524A54, gUnknown_08595C28, NULL, gDummySpriteAffineAnimTable, sub_810BED0 - - .align 2 -gUnknown_08595C44:: @ 8595C44 - spr_template ANIM_TAG_PURPLE_GAS_CLOUD, ANIM_TAG_PURPLE_GAS_CLOUD, gUnknown_08524A54, gUnknown_08595C28, NULL, gDummySpriteAffineAnimTable, sub_810BED0 - - .align 2 -gUnknown_08595C5C:: @ 8595C5C - .byte 0x00, 0x01, 0x02, 0x02, 0x02, 0x02, 0x03, 0x04 - .byte 0x04, 0x04, 0x05, 0x06, 0x06, 0x06, 0x06, 0x07 - .byte 0x08, 0x08, 0x08, 0x09 - - .align 2 -gUnknown_08595C70:: @ 8595C70 - spr_template ANIM_TAG_SMALL_BUBBLES, ANIM_TAG_SMALL_BUBBLES, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_810C2F0 - - .align 2 -gUnknown_08595C88:: @ 8595C88 - .byte 0x00, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02 - .byte 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x04, 0x04 - .byte 0x04, 0x04, 0x04, 0x05 - - .align 2 -gUnknown_08595C9C:: @ 8595C9C - spr_template ANIM_TAG_PURPLE_GAS_CLOUD, ANIM_TAG_PURPLE_GAS_CLOUD, gUnknown_08524A54, gUnknown_08595C28, NULL, gDummySpriteAffineAnimTable, sub_810C560 - - .align 2 -gUnknown_08595CB4:: @ 8595CB4 - .byte 0x64, 0xe0, 0x01, 0x20, 0x55, 0xe0, 0x01, 0x00 - .byte 0xf2, 0xe0, 0x11, 0x10, 0x42, 0xe0, 0x21, 0x10 - .byte 0xb6, 0xe0, 0x31, 0x00, 0x3c, 0xe0, 0x01, 0x20 - .byte 0xd6, 0xe0, 0x11, 0x00, 0x71, 0xe0, 0x01, 0x10 - .byte 0xd2, 0xe0, 0x31, 0x10, 0x26, 0xe0, 0x21, 0x00 - - .align 2 -gUnknown_08595CDC:: @ 8595CDC - .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08595CEC:: @ 8595CEC - .2byte 0x00f0, 0x00f0, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08595CFC:: @ 8595CFC - .2byte 0x00e0, 0x00e0, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08595D0C:: @ 8595D0C - .2byte 0x0150, 0x0150, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08595D1C:: @ 8595D1C - .4byte gUnknown_08595CDC - .4byte gUnknown_08595CEC - .4byte gUnknown_08595CFC - - .align 2 -gUnknown_08595D28:: @ 8595D28 - .4byte gUnknown_08595D0C - - .align 2 -gUnknown_08595D2C:: @ 8595D2C - spr_template ANIM_TAG_HAIL, ANIM_TAG_HAIL, gUnknown_0852496C, gDummySpriteAnimTable, NULL, gUnknown_08595D1C, sub_810CB58 - - .align 2 -gUnknown_08595D44:: @ 8595D44 - spr_template ANIM_TAG_HAIL, ANIM_TAG_HAIL, gUnknown_0852496C, gDummySpriteAnimTable, NULL, gUnknown_08595D28, sub_80A8EE4 - - .align 2 -gUnknown_08595D5C:: @ 8595D5C - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_08595D64:: @ 8595D64 - .2byte 0x0010, 0x0004, 0x0020, 0x0004, 0x0030, 0x0004, 0x0040, 0x0004, 0xffff, 0x0000 - - .align 2 -gUnknown_08595D78:: @ 8595D78 - .4byte gUnknown_08595D5C - .4byte gUnknown_08595D64 - - .align 2 -gUnknown_08595D80:: @ 8595D80 - .2byte 0x00e0, 0x00e0, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08595D90:: @ 8595D90 - .2byte 0x0118, 0x0118, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08595DA0:: @ 8595DA0 - .2byte 0x0150, 0x0150, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08595DB0:: @ 8595DB0 - .2byte 0x0180, 0x0180, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08595DC0:: @ 8595DC0 - .2byte 0x01c0, 0x01c0, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08595DD0:: @ 8595DD0 - .4byte gUnknown_08595D80 - .4byte gUnknown_08595D90 - .4byte gUnknown_08595DA0 - .4byte gUnknown_08595DB0 - .4byte gUnknown_08595DC0 - - .align 2 -gUnknown_08595DE4:: @ 8595DE4 - spr_template ANIM_TAG_ICE_CHUNK, ANIM_TAG_ICE_CHUNK, gUnknown_085249D4, gUnknown_08595D78, NULL, gUnknown_08595DD0, unc_080B06FC - - .align 2 -gUnknown_08595DFC:: @ 8595DFC - spr_template ANIM_TAG_ICE_CRYSTALS, ANIM_TAG_ICE_CRYSTALS, gUnknown_08524904, gUnknown_08595AAC, NULL, gDummySpriteAffineAnimTable, sub_810CD4C - .align 2 gUnknown_08595E14:: @ 8595E14 spr_template ANIM_TAG_HUMANOID_FOOT, ANIM_TAG_HUMANOID_FOOT, gUnknown_08524914, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, unc_080B08A0 diff --git a/include/battle_anim.h b/include/battle_anim.h index 61659c3504..8d6785a44e 100644 --- a/include/battle_anim.h +++ b/include/battle_anim.h @@ -161,5 +161,11 @@ extern const struct OamData gUnknown_08524A04; extern const struct OamData gUnknown_08524A2C; extern const struct OamData gUnknown_08524AEC; extern const struct OamData gUnknown_08524964; +extern const struct OamData gUnknown_08524B24; +extern const struct OamData gUnknown_08524A24; +extern const struct OamData gUnknown_08524AC4; +extern const struct OamData gUnknown_08524A84; +extern const struct OamData gUnknown_08524A64; +extern const struct OamData gUnknown_0852496C; #endif // GUARD_BATTLE_ANIM_H diff --git a/ld_script.txt b/ld_script.txt index 06a0f901a1..42bc3b37a6 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -480,6 +480,9 @@ SECTIONS { src/effects_1.o(.rodata); src/effects_2.o(.rodata); src/water.o(.rodata); + src/fire.o(.rodata); + src/electric.o(.rodata); + src/ice.o(.rodata); data/battle_anim_80FE840.o(.rodata); src/bike.o(.rodata); data/easy_chat.o(.rodata); diff --git a/src/electric.c b/src/electric.c new file mode 100644 index 0000000000..5d65915b28 --- /dev/null +++ b/src/electric.c @@ -0,0 +1,438 @@ +#include "global.h" +#include "battle_anim.h" +#include "constants/rgb.h" + +extern void sub_810A1A8(struct Sprite *); +extern void sub_810A214(struct Sprite *); +extern void sub_810A274(struct Sprite *); +extern void sub_810A308(struct Sprite *); +extern void TranslateAnimSpriteToTargetMonLocation(struct Sprite *); +extern void sub_810A46C(struct Sprite *); +extern void sub_810A5BC(struct Sprite *); +extern void sub_810A628(struct Sprite *); +extern void sub_810A75C(struct Sprite *); +extern void sub_810A9DC(struct Sprite *); +extern void sub_810AA2C(struct Sprite *); +extern void sub_810ACD8(struct Sprite *); +extern void sub_810AD30(struct Sprite *); +extern void sub_810AD98(struct Sprite *); +extern void sub_810B1F0(struct Sprite *); +extern void sub_810B23C(struct Sprite *); +extern void sub_810B51C(struct Sprite *); + +const union AnimCmd gUnknown_085956A4[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(16, 5), + ANIMCMD_FRAME(32, 8), + ANIMCMD_FRAME(48, 5), + ANIMCMD_FRAME(64, 5), + ANIMCMD_END, +}; + +const union AnimCmd *const gUnknown_085956BC[] = +{ + gUnknown_085956A4, +}; + +const struct SpriteTemplate gUnknown_085956C0 = +{ + .tileTag = ANIM_TAG_LIGHTNING, + .paletteTag = ANIM_TAG_LIGHTNING, + .oam = &gUnknown_08524914, + .anims = gUnknown_085956BC, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_810A1A8, +}; + +const union AffineAnimCmd gUnknown_085956D8[] = +{ + AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), + AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 20), + AFFINEANIMCMD_FRAME(0x0, 0x0, -16, 60), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gUnknown_085956F8[] = +{ + gUnknown_085956D8, +}; + +const struct SpriteTemplate gUnknown_085956FC = +{ + .tileTag = ANIM_TAG_HANDS_AND_FEET, + .paletteTag = ANIM_TAG_HANDS_AND_FEET, + .oam = &gUnknown_08524974, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_085956F8, + .callback = sub_810A214, +}; + +const union AnimCmd gUnknown_08595714[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(16, 5), + ANIMCMD_FRAME(32, 5), + ANIMCMD_FRAME(48, 5), + ANIMCMD_FRAME(64, 5), + ANIMCMD_FRAME(80, 5), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const gUnknown_08595730[] = +{ + gUnknown_08595714, +}; + +const struct SpriteTemplate gUnknown_08595734 = +{ + .tileTag = ANIM_TAG_SHOCK, + .paletteTag = ANIM_TAG_SHOCK, + .oam = &gUnknown_08524914, + .anims = gUnknown_08595730, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_810A274, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_859574C = +{ + .tileTag = ANIM_TAG_SPARK_2, + .paletteTag = ANIM_TAG_SPARK_2, + .oam = &gUnknown_0852496C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_810A308, +}; + +const struct SpriteTemplate gUnknown_08595764 = +{ + .tileTag = ANIM_TAG_BLACK_BALL_2, + .paletteTag = ANIM_TAG_BLACK_BALL_2, + .oam = &gUnknown_0852490C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = TranslateAnimSpriteToTargetMonLocation, +}; + +const union AffineAnimCmd gUnknown_0859577C[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, 20, 1), + AFFINEANIMCMD_JUMP(0), +}; + +const union AffineAnimCmd *const gUnknown_0859578C[] = +{ + gUnknown_0859577C, +}; + +const struct SpriteTemplate gUnknown_08595790 = +{ + .tileTag = ANIM_TAG_SPARK_2, + .paletteTag = ANIM_TAG_SPARK_2, + .oam = &gUnknown_0852496C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_0859578C, + .callback = sub_810A46C, +}; + +const union AnimCmd gUnknown_085957A8[] = +{ + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(16, 6), + ANIMCMD_FRAME(32, 6), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const gUnknown_085957B8[] = +{ + gUnknown_085957A8, +}; + +const union AffineAnimCmd gUnknown_085957BC[] = +{ + AFFINEANIMCMD_FRAME(0xE8, 0xE8, 0, 0), + AFFINEANIMCMD_FRAME(0xFFF8, 0xFFF8, 0, 10), + AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 10), + AFFINEANIMCMD_JUMP(1), +}; + +const union AffineAnimCmd *const gUnknown_085957DC[] = +{ + gUnknown_085957BC, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_85957E0 = +{ + .tileTag = ANIM_TAG_SHOCK_3, + .paletteTag = ANIM_TAG_SHOCK_3, + .oam = &gUnknown_08524974, + .anims = gUnknown_085957B8, + .images = NULL, + .affineAnims = gUnknown_085957DC, + .callback = sub_810A5BC, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_85957F8 = +{ + .tileTag = ANIM_TAG_SPARK_2, + .paletteTag = ANIM_TAG_SPARK_2, + .oam = &gUnknown_0852496C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_0859578C, + .callback = sub_810A628, +}; + +const struct SpriteTemplate gElectricitySpriteTemplate = +{ + .tileTag = ANIM_TAG_SPARK_2, + .paletteTag = ANIM_TAG_SPARK_2, + .oam = &gUnknown_0852490C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_810A75C, +}; + +const struct SpriteTemplate gUnknown_08595828 = +{ + .tileTag = ANIM_TAG_SPARK, + .paletteTag = ANIM_TAG_SPARK, + .oam = &gUnknown_08524904, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_810A9DC, +}; + +const struct SpriteTemplate gUnknown_08595840 = +{ + .tileTag = ANIM_TAG_SPARK_H, + .paletteTag = ANIM_TAG_SPARK_H, + .oam = &gUnknown_08524934, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_810AA2C, +}; + +const s8 gUnknown_08595858[][2] = +{ + { 58, -60}, + {-56, -36}, + { 8, -56}, + {-16, 56}, + { 58, -10}, + {-58, 10}, + { 48, -18}, + {-8, 56}, + { 16, -56}, + {-58, -42}, + { 58, 30}, + {-48, 40}, + { 12, -48}, + { 48, -12}, + {-56, 18}, + { 48, 48}, +}; + +const union AnimCmd gUnknown_08595878[] = +{ + ANIMCMD_FRAME(3, 1), + ANIMCMD_FRAME(2, 1), + ANIMCMD_FRAME(1, 1), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_0859588C[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(2, 5), + ANIMCMD_FRAME(3, 5), + ANIMCMD_END, +}; + +const union AnimCmd *const gUnknown_085958A0[] = +{ + gUnknown_08595878, + gUnknown_0859588C, +}; + +const struct SpriteTemplate gUnknown_085958A8 = +{ + .tileTag = ANIM_TAG_ELECTRIC_ORBS, + .paletteTag = ANIM_TAG_ELECTRIC_ORBS, + .oam = &gUnknown_08524904, + .anims = gUnknown_085958A0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +const union AffineAnimCmd gUnknown_085958C0[] = +{ + AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0), + AFFINEANIMCMD_FRAME(0x4, 0x4, 0, 60), + AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), + AFFINEANIMCMD_LOOP(0), + AFFINEANIMCMD_FRAME(0xFFFC, 0xFFFC, 0, 5), + AFFINEANIMCMD_FRAME(0x4, 0x4, 0, 5), + AFFINEANIMCMD_LOOP(10), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_08595900[] = +{ + AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0), + AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 30), + AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), + AFFINEANIMCMD_FRAME(0xFFFC, 0xFFFC, 0, 5), + AFFINEANIMCMD_FRAME(0x4, 0x4, 0, 5), + AFFINEANIMCMD_JUMP(3), +}; + +const union AffineAnimCmd gUnknown_08595930[] = +{ + AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0), + AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 30), + AFFINEANIMCMD_FRAME(0xFFF8, 0xFFF8, 0, 30), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gUnknown_08595950[] = +{ + gUnknown_085958C0, + gUnknown_08595900, + gUnknown_08595930, +}; + +const struct SpriteTemplate gUnknown_0859595C = +{ + .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, + .paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT, + .oam = &gUnknown_08524A9C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_08595950, + .callback = sub_810ACD8, +}; + +const union AnimCmd gUnknown_08595974[] = +{ + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(16, 3), + ANIMCMD_FRAME(32, 3), + ANIMCMD_FRAME(48, 3), + ANIMCMD_END, +}; + +const union AnimCmd *const gUnknown_08595988[] = +{ + gUnknown_08595974, +}; + +const struct SpriteTemplate gUnknown_0859598C = +{ + .tileTag = ANIM_TAG_ELECTRICITY, + .paletteTag = ANIM_TAG_ELECTRICITY, + .oam = &gUnknown_08524914, + .anims = gUnknown_08595988, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_810AD30, +}; + +const struct SpriteTemplate gUnknown_085959A4 = +{ + .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, + .paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT, + .oam = &gUnknown_08524A9C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_08595950, + .callback = sub_810AD98, +}; + +const union AnimCmd gUnknown_085959BC[] = +{ + ANIMCMD_FRAME(0, 3), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_085959C4[] = +{ + ANIMCMD_FRAME(2, 3), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_085959CC[] = +{ + ANIMCMD_FRAME(4, 3), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_085959D4[] = +{ + ANIMCMD_FRAME(6, 3), + ANIMCMD_END, +}; + +const union AnimCmd *const gUnknown_085959DC[] = +{ + gUnknown_085959BC, + gUnknown_085959C4, + gUnknown_085959CC, + gUnknown_085959D4, +}; + +const union AffineAnimCmd gUnknown_085959EC[] = +{ + AFFINEANIMCMD_FRAME(0x100, 0x100, 64, 0), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gUnknown_085959FC[] = +{ + gUnknown_085959EC, +}; + +const struct SpriteTemplate gUnknown_08595A00 = +{ + .tileTag = ANIM_TAG_SPARK, + .paletteTag = ANIM_TAG_SPARK, + .oam = &gUnknown_08524A04, + .anims = gUnknown_085959DC, + .images = NULL, + .affineAnims = gUnknown_085959FC, + .callback = sub_810B1F0, +}; + +const struct SpriteTemplate gUnknown_08595A18 = +{ + .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, + .paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT, + .oam = &gUnknown_08524A9C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_08595950, + .callback = sub_810B23C, +}; + +const struct SpriteTemplate gUnknown_08595A30 = +{ + .tileTag = ANIM_TAG_SPARK, + .paletteTag = ANIM_TAG_SPARK, + .oam = &gUnknown_08524904, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_810B51C, +}; diff --git a/src/fire.c b/src/fire.c new file mode 100644 index 0000000000..02c0db81c5 --- /dev/null +++ b/src/fire.c @@ -0,0 +1,438 @@ +#include "global.h" +#include "battle_anim.h" +#include "constants/rgb.h" + +extern void sub_8108EC8(struct Sprite *); +extern void sub_8108F08(struct Sprite *); +extern void sub_8108FBC(struct Sprite *); +extern void sub_8108F4C(struct Sprite *); +extern void sub_8109064(struct Sprite *); +extern void sub_810916C(struct Sprite *); +extern void TranslateAnimSpriteToTargetMonLocation(struct Sprite *); +extern void sub_8109198(struct Sprite *); +extern void sub_8109200(struct Sprite *); +extern void sub_810921C(struct Sprite *); +extern void sub_8109364(struct Sprite *); +extern void sub_81093A4(struct Sprite *); +extern void sub_80A8EE4(struct Sprite *); +extern void sub_81098EC(struct Sprite *); +extern void sub_8109A10(struct Sprite *); +extern void sub_8109AFC(struct Sprite *); +extern void sub_8109CB0(struct Sprite *); + +const union AnimCmd gUnknown_08595340[] = +{ + ANIMCMD_FRAME(16, 4), + ANIMCMD_FRAME(32, 4), + ANIMCMD_FRAME(48, 4), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gUnknown_08595350[] = +{ + ANIMCMD_FRAME(16, 4, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(32, 4, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(48, 4, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const gUnknown_08595360[] = +{ + gUnknown_08595340, + gUnknown_08595350, +}; + +const struct SpriteTemplate gUnknown_08595368 = +{ + .tileTag = ANIM_TAG_SMALL_EMBER, + .paletteTag = ANIM_TAG_SMALL_EMBER, + .oam = &gUnknown_08524914, + .anims = gUnknown_08595360, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8108EC8, +}; + +const struct SpriteTemplate gUnknown_08595380 = +{ + .tileTag = ANIM_TAG_SMALL_EMBER, + .paletteTag = ANIM_TAG_SMALL_EMBER, + .oam = &gUnknown_08524914, + .anims = gUnknown_08595360, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8108F08, +}; + +const union AnimCmd gUnknown_08595398[] = +{ + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(16, 3), + ANIMCMD_FRAME(32, 3), + ANIMCMD_FRAME(48, 3), + ANIMCMD_FRAME(64, 3), + ANIMCMD_FRAME(80, 3), + ANIMCMD_FRAME(96, 3), + ANIMCMD_FRAME(112, 3), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const gUnknown_085953BC[] = +{ + gUnknown_08595398, +}; + +const union AnimCmd gUnknown_085953C0[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(16, 5), + ANIMCMD_FRAME(32, 5), + ANIMCMD_FRAME(48, 5), + ANIMCMD_FRAME(64, 5), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const gUnknown_085953D8[] = +{ + gUnknown_085953C0, +}; + +const union AffineAnimCmd gUnknown_085953DC[] = +{ + AFFINEANIMCMD_FRAME(0x32, 0x100, 0, 0), + AFFINEANIMCMD_FRAME(0x20, 0x0, 0, 7), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gUnknown_085953F4[] = +{ + gUnknown_085953DC, +}; + +const struct SpriteTemplate gUnknown_085953F8 = +{ + .tileTag = ANIM_TAG_FIRE, + .paletteTag = ANIM_TAG_FIRE, + .oam = &gUnknown_08524974, + .anims = gUnknown_085953BC, + .images = NULL, + .affineAnims = gUnknown_085953F4, + .callback = sub_8108FBC, +}; + +const struct SpriteTemplate gUnknown_08595410 = +{ + .tileTag = ANIM_TAG_FIRE, + .paletteTag = ANIM_TAG_FIRE, + .oam = &gUnknown_08524914, + .anims = gUnknown_085953BC, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8108FBC, +}; + +const struct SpriteTemplate gUnknown_08595428 = +{ + .tileTag = ANIM_TAG_FIRE_PLUME, + .paletteTag = ANIM_TAG_FIRE_PLUME, + .oam = &gUnknown_08524914, + .anims = gUnknown_085953D8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8108F4C, +}; + +const struct SpriteTemplate gUnknown_08595440 = +{ + .tileTag = ANIM_TAG_SMALL_EMBER, + .paletteTag = ANIM_TAG_SMALL_EMBER, + .oam = &gUnknown_08524914, + .anims = gUnknown_085953D8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8108F4C, +}; + +const union AnimCmd gUnknown_08595458[] = +{ + ANIMCMD_FRAME(16, 6), + ANIMCMD_FRAME(32, 6), + ANIMCMD_FRAME(48, 6), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const gUnknown_08595468[] = +{ + gUnknown_08595458, +}; + +const struct SpriteTemplate gUnknown_0859546C = +{ + .tileTag = ANIM_TAG_SMALL_EMBER, + .paletteTag = ANIM_TAG_SMALL_EMBER, + .oam = &gUnknown_08524914, + .anims = gUnknown_08595468, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8109064, +}; + +const union AffineAnimCmd gUnknown_08595484[] = +{ + AFFINEANIMCMD_FRAME(0x50, 0x50, 0, 0), + AFFINEANIMCMD_FRAME(0x2, 0x2, 10, 1), + AFFINEANIMCMD_JUMP(1), +}; + +const union AffineAnimCmd *const gUnknown_0859549C[] = +{ + gUnknown_08595484, +}; + +const struct SpriteTemplate gUnknown_085954A0 = +{ + .tileTag = ANIM_TAG_SUNLIGHT, + .paletteTag = ANIM_TAG_SUNLIGHT, + .oam = &gUnknown_08524A94, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_0859549C, + .callback = sub_810916C, +}; + +const union AnimCmd gUnknown_085954B8[] = +{ + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(16, 4), + ANIMCMD_FRAME(32, 4), + ANIMCMD_FRAME(48, 4), + ANIMCMD_FRAME(64, 4), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const gUnknown_085954D0[] = +{ + gUnknown_085954B8, +}; + +const struct SpriteTemplate gEmberSpriteTemplate = +{ + .tileTag = ANIM_TAG_SMALL_EMBER, + .paletteTag = ANIM_TAG_SMALL_EMBER, + .oam = &gUnknown_08524914, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = TranslateAnimSpriteToTargetMonLocation, +}; + +const struct SpriteTemplate gEmberFlareSpriteTemplate = +{ + .tileTag = ANIM_TAG_SMALL_EMBER, + .paletteTag = ANIM_TAG_SMALL_EMBER, + .oam = &gUnknown_08524914, + .anims = gUnknown_085954D0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8109198, +}; + +const struct SpriteTemplate gUnknown_08595504 = +{ + .tileTag = ANIM_TAG_SMALL_EMBER, + .paletteTag = ANIM_TAG_SMALL_EMBER, + .oam = &gUnknown_08524914, + .anims = gUnknown_085954D0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8109200, +}; + +const struct SpriteTemplate gUnknown_0859551C = +{ + .tileTag = ANIM_TAG_SMALL_EMBER, + .paletteTag = ANIM_TAG_SMALL_EMBER, + .oam = &gUnknown_08524914, + .anims = gUnknown_085954D0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_810921C, +}; + +const union AnimCmd gUnknown_08595534[] = +{ + ANIMCMD_FRAME(32, 6), + ANIMCMD_FRAME(48, 6), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const gUnknown_08595540[] = +{ + gUnknown_08595534, +}; + +const union AffineAnimCmd gUnknown_08595544[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 1), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_08595554[] = +{ + AFFINEANIMCMD_FRAME(0xA0, 0xA0, 0, 0), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gUnknown_08595564[] = +{ + gUnknown_08595544, + gUnknown_08595554, +}; + +const struct SpriteTemplate gUnknown_0859556C = +{ + .tileTag = ANIM_TAG_SMALL_EMBER, + .paletteTag = ANIM_TAG_SMALL_EMBER, + .oam = &gUnknown_08524914, + .anims = gUnknown_08595540, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8109364, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_8595584 = +{ + .tileTag = ANIM_TAG_SMALL_EMBER, + .paletteTag = ANIM_TAG_SMALL_EMBER, + .oam = &gUnknown_08524914, + .anims = gUnknown_085954D0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_81093A4, +}; + +const struct SpriteTemplate gUnknown_0859559C = +{ + .tileTag = ANIM_TAG_SMALL_EMBER, + .paletteTag = ANIM_TAG_SMALL_EMBER, + .oam = &gUnknown_08524914, + .anims = gUnknown_085954D0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80A8EE4, +}; + +const struct SpriteTemplate gUnknown_085955B4 = +{ + .tileTag = ANIM_TAG_WARM_ROCK, + .paletteTag = ANIM_TAG_WARM_ROCK, + .oam = &gUnknown_0852490C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_81098EC, +}; + +// gHeatedRockCoords +const s16 gUnknown_085955CC[][2] = +{ + {-2, -5}, + {-1, -1}, + { 3, -6}, + { 4, -2}, + { 2, -8}, + {-5, -5}, + { 4, -7}, +}; + +const struct SpriteTemplate gUnknown_085955E8 = +{ + .tileTag = ANIM_TAG_WARM_ROCK, + .paletteTag = ANIM_TAG_WARM_ROCK, + .oam = &gUnknown_08524914, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8109A10, +}; + +const union AnimCmd gUnknown_08595600[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(4, 5), + ANIMCMD_FRAME(8, 5), + ANIMCMD_FRAME(12, 5), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gUnknown_08595614[] = +{ + ANIMCMD_FRAME(16, 5), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_0859561C[] = +{ + ANIMCMD_FRAME(20, 5), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_08595624[] = +{ + ANIMCMD_FRAME(20, 5), + ANIMCMD_END, +}; + +const union AnimCmd *const gUnknown_0859562C[] = +{ + gUnknown_08595600, + gUnknown_08595614, + gUnknown_0859561C, + gUnknown_08595624, +}; + +const struct SpriteTemplate gUnknown_0859563C = +{ + .tileTag = ANIM_TAG_WISP_ORB, + .paletteTag = ANIM_TAG_WISP_ORB, + .oam = &gUnknown_0852490C, + .anims = gUnknown_0859562C, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8109AFC, +}; + +const union AnimCmd gUnknown_08595654[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(16, 5), + ANIMCMD_FRAME(32, 5), + ANIMCMD_FRAME(48, 5), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const gUnknown_08595668[] = +{ + gUnknown_08595654, +}; + +const struct SpriteTemplate gUnknown_0859566C = +{ + .tileTag = ANIM_TAG_WISP_FIRE, + .paletteTag = ANIM_TAG_WISP_FIRE, + .oam = &gUnknown_08524914, + .anims = gUnknown_08595668, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8109CB0, +}; + +const s8 gUnknown_08595684[16] = +{ + -1, -1, 0, 1, 1, 0, 0, -1, -1, 1, 1, 0, 0, -1, 0, 1, +}; + +const s8 gUnknown_08595694[16] = +{ + -1, 0, 1, 0, -1, 1, 0, -1, 0, 1, 0, -1, 0, 1, 0, 1, +}; diff --git a/src/ice.c b/src/ice.c new file mode 100644 index 0000000000..ebd0d3cf6d --- /dev/null +++ b/src/ice.c @@ -0,0 +1,491 @@ +#include "global.h" +#include "battle_anim.h" +#include "constants/rgb.h" + +extern void sub_810B6C4(struct Sprite *); +extern void sub_810B8AC(struct Sprite *); +extern void sub_810B8EC(struct Sprite *); +extern void sub_810B974(struct Sprite *); +extern void sub_810BA24(struct Sprite *); +extern void sub_810BC94(struct Sprite *); +extern void sub_810BE48(struct Sprite *); +extern void sub_810BED0(struct Sprite *); +extern void sub_810C2F0(struct Sprite *); +extern void sub_810C560(struct Sprite *); +extern void sub_810CB58(struct Sprite *); +extern void sub_80A8EE4(struct Sprite *); +extern void unc_080B06FC(struct Sprite *); +extern void sub_810CD4C(struct Sprite *); + +const union AnimCmd gUnknown_08595A48[] = +{ + ANIMCMD_FRAME(0, 5, .hFlip = TRUE), + ANIMCMD_FRAME(1, 5, .hFlip = TRUE), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const gUnknown_08595A54[] = +{ + gUnknown_08595A48, +}; + +// unknown sprite template +const struct SpriteTemplate gUnknown_08595A58 = +{ + .tileTag = ANIM_TAG_ICE_CRYSTALS, + .paletteTag = ANIM_TAG_ICE_CRYSTALS, + .oam = &gUnknown_08524904, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_810B6C4, +}; + +const union AnimCmd gUnknown_08595A70[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_08595A78[] = +{ + ANIMCMD_FRAME(4, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_08595A80[] = +{ + ANIMCMD_FRAME(6, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_08595A88[] = +{ + ANIMCMD_FRAME(7, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_08595A90[] = +{ + ANIMCMD_FRAME(8, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_08595A98[] = +{ + ANIMCMD_FRAME(12, 6), + ANIMCMD_FRAME(13, 6), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const gUnknown_08595AA4[] = +{ + gUnknown_08595A70, +}; + +const union AnimCmd *const gUnknown_08595AA8[] = +{ + gUnknown_08595A78, +}; + +const union AnimCmd *const gUnknown_08595AAC[] = +{ + gUnknown_08595A80, +}; + +const union AnimCmd *const gUnknown_08595AB0[] = +{ + gUnknown_08595A88, +}; + +const union AnimCmd *const gUnknown_08595AB4[] = +{ + gUnknown_08595A90, +}; + +const union AnimCmd *const gUnknown_08595AB8[] = +{ + gUnknown_08595A98, +}; + +const union AffineAnimCmd gUnknown_08595ABC[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, 40, 1), + AFFINEANIMCMD_JUMP(0), +}; + +const union AffineAnimCmd *const gUnknown_08595ACC[] = +{ + gUnknown_08595ABC, +}; + +const struct SpriteTemplate gUnknown_08595AD0 = +{ + .tileTag = ANIM_TAG_ICE_CRYSTALS, + .paletteTag = ANIM_TAG_ICE_CRYSTALS, + .oam = &gUnknown_08524B24, + .anims = gUnknown_08595AA8, + .images = NULL, + .affineAnims = gUnknown_08595ACC, + .callback = sub_810B8AC, +}; + +const struct SpriteTemplate gUnknown_08595AE8 = +{ + .tileTag = ANIM_TAG_ICE_CRYSTALS, + .paletteTag = ANIM_TAG_ICE_CRYSTALS, + .oam = &gUnknown_08524A24, + .anims = gUnknown_08595AAC, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_810B8AC, +}; + +const union AffineAnimCmd gUnknown_08595B00[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, 10, 1), + AFFINEANIMCMD_JUMP(0), +}; + +const union AffineAnimCmd *const gUnknown_08595B10[] = +{ + gUnknown_08595B00, +}; + +const struct SpriteTemplate gUnknown_08595B14 = +{ + .tileTag = ANIM_TAG_ICE_CRYSTALS, + .paletteTag = ANIM_TAG_ICE_CRYSTALS, + .oam = &gUnknown_08524AC4, + .anims = gUnknown_08595AA8, + .images = NULL, + .affineAnims = gUnknown_08595B10, + .callback = sub_810B8EC, +}; + +const struct SpriteTemplate gUnknown_08595B2C = +{ + .tileTag = ANIM_TAG_ICE_CRYSTALS, + .paletteTag = ANIM_TAG_ICE_CRYSTALS, + .oam = &gUnknown_08524A24, + .anims = gUnknown_08595AAC, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_810B8EC, +}; + +const union AffineAnimCmd gUnknown_08595B44[] = +{ + AFFINEANIMCMD_FRAME(0xCE, 0xCE, 0, 0), + AFFINEANIMCMD_FRAME(0x5, 0x5, 0, 10), + AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 6), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gUnknown_08595B64[] = +{ + gUnknown_08595B44, +}; + +const struct SpriteTemplate gUnknown_08595B68 = +{ + .tileTag = ANIM_TAG_ICE_CRYSTALS, + .paletteTag = ANIM_TAG_ICE_CRYSTALS, + .oam = &gUnknown_08524AC4, + .anims = gUnknown_08595AA8, + .images = NULL, + .affineAnims = gUnknown_08595B64, + .callback = sub_810B974, +}; + +const struct SpriteTemplate gUnknown_08595B80 = +{ + .tileTag = ANIM_TAG_ICE_CRYSTALS, + .paletteTag = ANIM_TAG_ICE_CRYSTALS, + .oam = &gUnknown_08524A84, + .anims = gUnknown_08595AAC, + .images = NULL, + .affineAnims = gUnknown_08595B64, + .callback = sub_810B974, +}; + +const struct SpriteTemplate gUnknown_08595B98 = +{ + .tileTag = ANIM_TAG_ICE_CRYSTALS, + .paletteTag = ANIM_TAG_ICE_CRYSTALS, + .oam = &gUnknown_08524904, + .anims = gUnknown_08595AB0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_810BA24, +}; + +const struct SpriteTemplate gUnknown_08595BB0 = +{ + .tileTag = ANIM_TAG_ICE_CRYSTALS, + .paletteTag = ANIM_TAG_ICE_CRYSTALS, + .oam = &gUnknown_0852490C, + .anims = gUnknown_08595AB4, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_810BC94, +}; + +const struct SpriteTemplate gUnknown_08595BC8 = +{ + .tileTag = ANIM_TAG_ICE_CRYSTALS, + .paletteTag = ANIM_TAG_ICE_CRYSTALS, + .oam = &gUnknown_08524904, + .anims = gUnknown_08595AB0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_810BC94, +}; + +const union AnimCmd gUnknown_08595BE0[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(2, 5), + ANIMCMD_FRAME(4, 5), + ANIMCMD_FRAME(6, 5), + ANIMCMD_FRAME(4, 5), + ANIMCMD_FRAME(2, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd *const gUnknown_08595C00[] = +{ + gUnknown_08595BE0, +}; + +const struct SpriteTemplate gUnknown_08595C04 = +{ + .tileTag = ANIM_TAG_ICE_SPIKES, + .paletteTag = ANIM_TAG_ICE_SPIKES, + .oam = &gUnknown_08524A64, + .anims = gUnknown_08595C00, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_810BE48, +}; + +const union AnimCmd gUnknown_08595C1C[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(8, 8), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const gUnknown_08595C28[] = +{ + gUnknown_08595C1C, +}; + +const struct SpriteTemplate gUnknown_08595C2C = +{ + .tileTag = ANIM_TAG_MIST_CLOUD, + .paletteTag = ANIM_TAG_MIST_CLOUD, + .oam = &gUnknown_08524A54, + .anims = gUnknown_08595C28, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_810BED0, +}; + +const struct SpriteTemplate gUnknown_08595C44 = +{ + .tileTag = ANIM_TAG_PURPLE_GAS_CLOUD, + .paletteTag = ANIM_TAG_PURPLE_GAS_CLOUD, + .oam = &gUnknown_08524A54, + .anims = gUnknown_08595C28, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_810BED0, +}; + +const u8 gUnknown_08595C5C[] = +{ + 0, 1, 2, 2, 2, 2, 3, 4, 4, 4, 5, 6, 6, 6, 6, 7, 8, 8, 8, 9, +}; + +const struct SpriteTemplate gUnknown_08595C70 = +{ + .tileTag = ANIM_TAG_SMALL_BUBBLES, + .paletteTag = ANIM_TAG_SMALL_BUBBLES, + .oam = &gUnknown_0852490C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_810C2F0, +}; + +const u8 gUnknown_08595C88[] = +{ + 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, +}; + +const struct SpriteTemplate gUnknown_08595C9C = +{ + .tileTag = ANIM_TAG_PURPLE_GAS_CLOUD, + .paletteTag = ANIM_TAG_PURPLE_GAS_CLOUD, + .oam = &gUnknown_08524A54, + .anims = gUnknown_08595C28, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_810C560, +}; + +const u8 gUnknown_08595CB4[][4] = +{ + {0x64, 0xE0, 0x01, 0x20}, + {0x55, 0xE0, 0x01, 0x00}, + {0xF2, 0xE0, 0x11, 0x10}, + {0x42, 0xE0, 0x21, 0x10}, + {0xB6, 0xE0, 0x31, 0x00}, + {0x3C, 0xE0, 0x01, 0x20}, + {0xD6, 0xE0, 0x11, 0x00}, + {0x71, 0xE0, 0x01, 0x10}, + {0xD2, 0xE0, 0x31, 0x10}, + {0x26, 0xE0, 0x21, 0x00}, +}; + +const union AffineAnimCmd gUnknown_08595CDC[] = +{ + AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_08595CEC[] = +{ + AFFINEANIMCMD_FRAME(0xF0, 0xF0, 0, 0), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_08595CFC[] = +{ + AFFINEANIMCMD_FRAME(0xE0, 0xE0, 0, 0), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_08595D0C[] = +{ + AFFINEANIMCMD_FRAME(0x150, 0x150, 0, 0), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gUnknown_08595D1C[] = +{ + gUnknown_08595CDC, + gUnknown_08595CEC, + gUnknown_08595CFC, +}; + +const union AffineAnimCmd *const gUnknown_08595D28[] = +{ + gUnknown_08595D0C, +}; + +const struct SpriteTemplate gUnknown_08595D2C = +{ + .tileTag = ANIM_TAG_HAIL, + .paletteTag = ANIM_TAG_HAIL, + .oam = &gUnknown_0852496C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_08595D1C, + .callback = sub_810CB58, +}; + +const struct SpriteTemplate gUnknown_08595D44 = +{ + .tileTag = ANIM_TAG_HAIL, + .paletteTag = ANIM_TAG_HAIL, + .oam = &gUnknown_0852496C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_08595D28, + .callback = sub_80A8EE4, +}; + +const union AnimCmd gUnknown_08595D5C[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_08595D64[] = +{ + ANIMCMD_FRAME(16, 4), + ANIMCMD_FRAME(32, 4), + ANIMCMD_FRAME(48, 4), + ANIMCMD_FRAME(64, 4), + ANIMCMD_END, +}; + +const union AnimCmd *const gUnknown_08595D78[] = +{ + gUnknown_08595D5C, + gUnknown_08595D64, +}; + +const union AffineAnimCmd gUnknown_08595D80[] = +{ + AFFINEANIMCMD_FRAME(0xE0, 0xE0, 0, 0), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_08595D90[] = +{ + AFFINEANIMCMD_FRAME(0x118, 0x118, 0, 0), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_08595DA0[] = +{ + AFFINEANIMCMD_FRAME(0x150, 0x150, 0, 0), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_08595DB0[] = +{ + AFFINEANIMCMD_FRAME(0x180, 0x180, 0, 0), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_08595DC0[] = +{ + AFFINEANIMCMD_FRAME(0x1C0, 0x1C0, 0, 0), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gUnknown_08595DD0[] = +{ + gUnknown_08595D80, + gUnknown_08595D90, + gUnknown_08595DA0, + gUnknown_08595DB0, + gUnknown_08595DC0, +}; + +const struct SpriteTemplate gUnknown_08595DE4 = +{ + .tileTag = ANIM_TAG_ICE_CHUNK, + .paletteTag = ANIM_TAG_ICE_CHUNK, + .oam = &gUnknown_085249D4, + .anims = gUnknown_08595D78, + .images = NULL, + .affineAnims = gUnknown_08595DD0, + .callback = unc_080B06FC, +}; + +const struct SpriteTemplate gUnknown_08595DFC = +{ + .tileTag = ANIM_TAG_ICE_CRYSTALS, + .paletteTag = ANIM_TAG_ICE_CRYSTALS, + .oam = &gUnknown_08524904, + .anims = gUnknown_08595AAC, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_810CD4C, +};