diff --git a/data/battle_anim_80FE840.s b/data/battle_anim_80FE840.s index 4fb56621d..47f512038 100644 --- a/data/battle_anim_80FE840.s +++ b/data/battle_anim_80FE840.s @@ -3,1303 +3,10 @@ .include "constants/constants.inc" .section .rodata - .align 2, 0 +@ .align 2, 0 - - .align 2 -gUnknown_08595E14:: @ 8595E14 - spr_template ANIM_TAG_HUMANOID_FOOT, ANIM_TAG_HUMANOID_FOOT, gUnknown_08524914, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, unc_080B08A0 - - .align 2 -gUnknown_08595E2C:: @ 8595E2C - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_08595E34:: @ 8595E34 - .2byte 0x0010, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_08595E3C:: @ 8595E3C - .2byte 0x0020, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_08595E44:: @ 8595E44 - .2byte 0x0030, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_08595E4C:: @ 8595E4C - .2byte 0x0030, 0x0041, 0xffff, 0x0000 - - .align 2 -gUnknown_08595E54:: @ 8595E54 - .4byte gUnknown_08595E2C - - .align 2 -gUnknown_08595E58:: @ 8595E58 - .4byte gUnknown_08595E34 - .4byte gUnknown_08595E3C - - .align 2 -gUnknown_08595E60:: @ 8595E60 - .4byte gUnknown_08595E44 - .4byte gUnknown_08595E4C - - .align 2 -gUnknown_08595E68:: @ 8595E68 - spr_template ANIM_TAG_HANDS_AND_FEET, ANIM_TAG_HANDS_AND_FEET, gUnknown_08524914, gUnknown_08595E54, NULL, gDummySpriteAffineAnimTable, sub_810CE68 - - .align 2 -gUnknown_08595E80:: @ 8595E80 - spr_template ANIM_TAG_HANDS_AND_FEET, ANIM_TAG_HANDS_AND_FEET, gUnknown_08524914, gUnknown_08595E54, NULL, gDummySpriteAffineAnimTable, sub_810CEB4 - - .align 2 -gFistFootSpriteTemplate:: @ 8595E98 - spr_template ANIM_TAG_HANDS_AND_FEET, ANIM_TAG_HANDS_AND_FEET, gUnknown_08524914, gUnknown_08595E54, NULL, gDummySpriteAffineAnimTable, sub_810CEE0 - - .align 2 -gUnknown_08595EB0:: @ 8595EB0 - spr_template ANIM_TAG_HANDS_AND_FEET, ANIM_TAG_HANDS_AND_FEET, gUnknown_08524914, gUnknown_08595E54, NULL, gDummySpriteAffineAnimTable, sub_810CF30 - - .align 2 -gUnknown_08595EC8:: @ 8595EC8 - spr_template ANIM_TAG_HANDS_AND_FEET, ANIM_TAG_HANDS_AND_FEET, gUnknown_08524914, gUnknown_08595E60, NULL, gDummySpriteAffineAnimTable, sub_810D10C - - .align 2 -gUnknown_08595EE0:: @ 8595EE0 - spr_template ANIM_TAG_HANDS_AND_FEET, ANIM_TAG_HANDS_AND_FEET, gUnknown_08524914, gUnknown_08595E58, NULL, gDummySpriteAffineAnimTable, sub_810D1B4 - - .align 2 -gUnknown_08595EF8:: @ 8595EF8 - .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0xfff8, 0xfff8, 0x0114, 0x0000 - .2byte 0x7ffe, 0x0001, 0x0000, 0x0000 - - .align 2 -gUnknown_08595F10:: @ 8595F10 - .4byte gUnknown_08595EF8 - - .align 2 -gUnknown_08595F14:: @ 8595F14 - spr_template ANIM_TAG_HANDS_AND_FEET, ANIM_TAG_HANDS_AND_FEET, gUnknown_085249D4, gUnknown_08595E54, NULL, gUnknown_08595F10, sub_810D278 - - .align 2 -gUnknown_08595F2C:: @ 8595F2C - .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0xfffc, 0xfffc, 0x0114, 0x0000 - .2byte 0x7ffe, 0x0001, 0x0000, 0x0000 - - .align 2 -gUnknown_08595F44:: @ 8595F44 - .4byte gUnknown_08595F2C - - .align 2 -gMegaPunchKickSpriteTemplate:: @ 8595F48 - spr_template ANIM_TAG_HANDS_AND_FEET, ANIM_TAG_HANDS_AND_FEET, gUnknown_085249D4, gUnknown_08595E54, NULL, gUnknown_08595F44, sub_810D278 - - .align 2 -gUnknown_08595F60:: @ 8595F60 - spr_template ANIM_TAG_HANDS_AND_FEET, ANIM_TAG_HANDS_AND_FEET, gUnknown_08524914, gUnknown_08595E58, NULL, gDummySpriteAffineAnimTable, sub_810D2E4 - - .align 2 -gUnknown_08595F78:: @ 8595F78 - spr_template ANIM_TAG_DUCK, ANIM_TAG_DUCK, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_810D37C - - .align 2 -gUnknown_08595F90:: @ 8595F90 - spr_template ANIM_TAG_BLUE_LIGHT_WALL, ANIM_TAG_BLUE_LIGHT_WALL, gUnknown_08524A3C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_810D40C - - .align 2 -gUnknown_08595FA8:: @ 8595FA8 - spr_template ANIM_TAG_TORN_METAL, ANIM_TAG_TORN_METAL, gUnknown_08524914, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_810D4F4 - - .align 2 -gUnknown_08595FC0:: @ 8595FC0 - .2byte 0x0020, 0x0020, 0x0000, 0x0000, 0x0004, 0x0004, 0x4000, 0x0000 - .2byte 0xfffa, 0xfffa, 0x0800, 0x0000, 0x0006, 0x0006, 0x0800, 0x0000 - .2byte 0x7ffe, 0x0002, 0x0000, 0x0000 - - .align 2 -gUnknown_08595FE8:: @ 8595FE8 - .4byte gUnknown_08595FC0 - - .align 2 -gUnknown_08595FEC:: @ 8595FEC - spr_template ANIM_TAG_CIRCLE_OF_LIGHT, ANIM_TAG_CIRCLE_OF_LIGHT, gUnknown_08524AFC, gDummySpriteAnimTable, NULL, gUnknown_08595FE8, sub_810D608 - - .align 2 -gUnknown_08596004:: @ 8596004 - spr_template ANIM_TAG_FLAT_ROCK, ANIM_TAG_FLAT_ROCK, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_810D714 - - .align 2 -gUnknown_0859601C:: @ 859601C - spr_template ANIM_TAG_METEOR, ANIM_TAG_METEOR, gUnknown_0852491C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_810D874 - - .align 2 -gUnknown_08596034:: @ 8596034 - spr_template ANIM_TAG_HANDS_AND_FEET, ANIM_TAG_HANDS_AND_FEET, gUnknown_08524914, gUnknown_08595E54, NULL, gDummySpriteAffineAnimTable, sub_810D984 - - .align 2 -gUnknown_0859604C:: @ 859604C - .2byte 0x0000, 0x0004, 0x0010, 0x0004, 0x0020, 0x0004, 0xffff, 0x0000 - - .align 2 -gUnknown_0859605C:: @ 859605C - .2byte 0x0000, 0x0084, 0x0010, 0x0084, 0x0020, 0x0084, 0xffff, 0x0000 - - .align 2 -gUnknown_0859606C:: @ 859606C - .2byte 0x0000, 0x0044, 0x0010, 0x0044, 0x0020, 0x0044, 0xffff, 0x0000 - - .align 2 -gUnknown_0859607C:: @ 859607C - .4byte gUnknown_0859604C - .4byte gUnknown_0859605C - .4byte gUnknown_0859606C - - .align 2 -gUnknown_08596088:: @ 8596088 - spr_template ANIM_TAG_PURPLE_SCRATCH, ANIM_TAG_PURPLE_SCRATCH, gUnknown_08524914, gUnknown_0859607C, NULL, gDummySpriteAffineAnimTable, sub_810DA10 - - .align 2 -gUnknown_085960A0:: @ 85960A0 - .2byte 0x0000, 0x0006, 0x0040, 0x0006, 0xffff, 0x0000 - - .align 2 -gUnknown_085960AC:: @ 85960AC - .2byte 0x0000, 0x00c6, 0x0040, 0x00c6, 0xffff, 0x0000 - - .align 2 -gUnknown_085960B8:: @ 85960B8 - .2byte 0x0000, 0x0046, 0x0040, 0x0046, 0xffff, 0x0000 - - .align 2 -gUnknown_085960C4:: @ 85960C4 - .4byte gUnknown_085960A0 - .4byte gUnknown_085960AC - .4byte gUnknown_085960B8 - - .align 2 -gUnknown_085960D0:: @ 85960D0 - spr_template ANIM_TAG_PURPLE_SWIPE, ANIM_TAG_PURPLE_SWIPE, gUnknown_0852491C, gUnknown_085960C4, NULL, gDummySpriteAffineAnimTable, sub_810DA10 - - .align 2 -gUnknown_085960E8:: @ 85960E8 - .2byte 0x0200, 0x0200, 0x0000, 0x0000, 0xffe0, 0xffe0, 0x0800, 0x0000 - .2byte 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08596100:: @ 8596100 - .4byte gUnknown_085960E8 - - .align 2 -gUnknown_08596104:: @ 8596104 - spr_template ANIM_TAG_HANDS_AND_FEET, ANIM_TAG_HANDS_AND_FEET, gUnknown_085249D4, gUnknown_08595E54, NULL, gUnknown_08596100, sub_810DA7C - - .align 2 -gUnknown_0859611C:: @ 859611C - .2byte 0x0000, 0x0005, 0x0008, 0x0005, 0x0010, 0x0005, 0x0018, 0x0005, 0xffff, 0x0000 - - .align 2 -gUnknown_08596130:: @ 8596130 - .4byte gUnknown_0859611C - - .align 2 -gUnknown_08596134:: @ 8596134 - spr_template ANIM_TAG_TOXIC_BUBBLE, ANIM_TAG_TOXIC_BUBBLE, gUnknown_08524954, gUnknown_08596130, NULL, gDummySpriteAffineAnimTable, sub_80A77C8 - - .align 2 -gUnknown_0859614C:: @ 859614C - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_08596154:: @ 8596154 - .2byte 0x0004, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_0859615C:: @ 859615C - .2byte 0x0008, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_08596164:: @ 8596164 - .4byte gUnknown_0859614C - - .align 2 -gUnknown_08596168:: @ 8596168 - .4byte gUnknown_08596154 - - .align 2 -gUnknown_0859616C:: @ 859616C - .4byte gUnknown_0859615C - - .align 2 -gUnknown_08596170:: @ 8596170 - .2byte 0x0160, 0x0160, 0x0000, 0x0000, 0xfff6, 0xfff6, 0x0a00, 0x0000 - .2byte 0x000a, 0x000a, 0x0a00, 0x0000, 0x7ffe, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08596190:: @ 8596190 - .2byte 0x00ec, 0x00ec, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_085961A0:: @ 85961A0 - .4byte gUnknown_08596170 - - .align 2 -gUnknown_085961A4:: @ 85961A4 - .4byte gUnknown_08596190 - - .align 2 -gUnknown_085961A8:: @ 85961A8 - spr_template ANIM_TAG_POISON_BUBBLE, ANIM_TAG_POISON_BUBBLE, gUnknown_085249CC, gUnknown_08596164, NULL, gUnknown_085961A0, sub_810DBAC - - .align 2 -gUnknown_085961C0:: @ 85961C0 - spr_template ANIM_TAG_POISON_BUBBLE, ANIM_TAG_POISON_BUBBLE, gUnknown_085249CC, gUnknown_08596164, NULL, gUnknown_085961A0, sub_810DC2C - - .align 2 -gUnknown_085961D8:: @ 85961D8 - spr_template ANIM_TAG_POISON_BUBBLE, ANIM_TAG_POISON_BUBBLE, gUnknown_0852496C, gUnknown_0859616C, NULL, gUnknown_085961A4, sub_810DCD0 - - .align 2 -gUnknown_085961F0:: @ 85961F0 - .2byte 0xfff0, 0x0010, 0x0600, 0x0000, 0x0010, 0xfff0, 0x0600, 0x0000 - .2byte 0x7ffe, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08596208:: @ 8596208 - .4byte gUnknown_085961F0 - - .align 2 -gUnknown_0859620C:: @ 859620C - spr_template ANIM_TAG_POISON_BUBBLE, ANIM_TAG_POISON_BUBBLE, gUnknown_085249CC, gUnknown_08596168, NULL, gUnknown_08596208, sub_810DD50 - - .align 2 -gUnknown_08596224:: @ 8596224 - .2byte 0x009c, 0x009c, 0x0000, 0x0000, 0x0005, 0x0005, 0x1400, 0x0000 - .2byte 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_0859623C:: @ 859623C - .4byte gUnknown_08596224 - - .align 2 -gPoisonBubbleSpriteTemplate:: @ 8596240 - spr_template ANIM_TAG_POISON_BUBBLE, ANIM_TAG_POISON_BUBBLE, gUnknown_0852496C, gUnknown_08596164, NULL, gUnknown_0859623C, sub_810DDC4 - - .align 2 -gWaterBubbleSpriteTemplate:: @ 8596258 - spr_template ANIM_TAG_SMALL_BUBBLES, ANIM_TAG_SMALL_BUBBLES, gUnknown_08524A8C, gUnknown_08595200, NULL, gUnknown_0859623C, sub_810DDC4 - - .align 2 -gUnknown_08596270:: @ 8596270 - spr_template ANIM_TAG_GUST, ANIM_TAG_GUST, gUnknown_0852495C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_810DE70 - - .align 2 -gUnknown_08596288:: @ 8596288 - .2byte 0x0010, 0x0100, 0x0000, 0x0000, 0x000a, 0x0000, 0x1800, 0x0000 - .2byte 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_085962A0:: @ 85962A0 - .4byte gUnknown_08596288 - - .align 2 -gBattleAnimSpriteTemplate_85962A4:: @ 85962A4 - spr_template ANIM_TAG_GUST, ANIM_TAG_GUST, gUnknown_085249BC, gDummySpriteAnimTable, NULL, gUnknown_085962A0, sub_810DFA8 - - .align 2 -gUnknown_085962BC:: @ 85962BC - .2byte 0x0000, 0x0003, 0x0000, 0x0043, 0x0000, 0x0083, 0x0000, 0x00c3, 0xfffe, 0x0000 - - .align 2 -gUnknown_085962D0:: @ 85962D0 - .4byte gUnknown_085962BC - - .align 2 -gUnknown_085962D4:: @ 85962D4 - spr_template ANIM_TAG_AIR_WAVE_2, ANIM_TAG_AIR_WAVE_2, gUnknown_08524934, gUnknown_085962D0, NULL, gDummySpriteAffineAnimTable, sub_810E044 - - .align 2 -gUnknown_085962EC:: @ 85962EC - .2byte 0x0010, 0x0100, 0x0000, 0x0000, 0x0028, 0x0000, 0x0600, 0x0000 - .2byte 0x0000, 0xffe0, 0x0500, 0x0000, 0xfff0, 0x0020, 0x0a00, 0x0000 - .2byte 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08596314:: @ 8596314 - .4byte gUnknown_085962EC - - .align 2 -gUnknown_08596318:: @ 8596318 - .2byte 0x0000, 0x0000, 0x0132, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08596328:: @ 8596328 - .2byte 0x0000, 0x0000, 0x01d8, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08596338:: @ 8596338 - .4byte gUnknown_08596318 - .4byte gUnknown_08596328 - - .align 2 -gUnknown_08596340:: @ 8596340 - spr_template ANIM_TAG_ROUND_SHADOW, ANIM_TAG_ROUND_SHADOW, gUnknown_085249DC, gDummySpriteAnimTable, NULL, gUnknown_08596314, sub_810E13C - - .align 2 -gUnknown_08596358:: @ 8596358 - spr_template ANIM_TAG_ROUND_SHADOW, ANIM_TAG_ROUND_SHADOW, gUnknown_0852497C, gDummySpriteAnimTable, NULL, gUnknown_08596338, sub_810E1C8 - - .align 2 -gUnknown_08596370:: @ 8596370 - .2byte 0x0000, 0x0000, 0xffff, 0x0000 - - .align 2 -gUnknown_08596378:: @ 8596378 - .2byte 0x0010, 0x0040, 0xffff, 0x0000 - - .align 2 -gUnknown_08596380:: @ 8596380 - .4byte gUnknown_08596370 - .4byte gUnknown_08596378 - - .align 2 -gUnknown_08596388:: @ 8596388 - spr_template ANIM_TAG_WHITE_FEATHER, ANIM_TAG_WHITE_FEATHER, gUnknown_08524974, gUnknown_08596380, NULL, gDummySpriteAffineAnimTable, sub_810E314 - - .align 2 -gUnknown_085963A0:: @ 85963A0 - spr_template ANIM_TAG_SMALL_BUBBLES, ANIM_TAG_SMALL_BUBBLES, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_810EA4C - - .align 2 -gUnknown_085963B8:: @ 85963B8 - .2byte 0x0000, 0x0001, 0x0008, 0x0001, 0x0010, 0x0001, 0x0008, 0x0041 - .2byte 0x0000, 0x0041, 0xffff, 0x0000 - - .align 2 -gUnknown_085963D0:: @ 85963D0 - .4byte gUnknown_085963B8 - - .align 2 -gUnknown_085963D4:: @ 85963D4 - spr_template ANIM_TAG_WHIRLWIND_LINES, ANIM_TAG_WHIRLWIND_LINES, gUnknown_08524934, gUnknown_085963D0, NULL, gDummySpriteAffineAnimTable, sub_810EAA0 - - .align 2 -gUnknown_085963EC:: @ 85963EC - .2byte 0x0010, 0x0100, 0x0000, 0x0000, 0x0028, 0x0000, 0x0600, 0x0000 - .2byte 0x0000, 0xffe0, 0x0500, 0x0000, 0xffec, 0x0000, 0x0700, 0x0000 - .2byte 0xffec, 0xffec, 0x0500, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_0859641C:: @ 859641C - .4byte gUnknown_085963EC - - .align 2 -gUnknown_08596420:: @ 8596420 - spr_template ANIM_TAG_ROUND_SHADOW, ANIM_TAG_ROUND_SHADOW, gUnknown_085249DC, gDummySpriteAnimTable, NULL, gUnknown_0859641C, sub_810EC34 - - .align 2 -gUnknown_08596438:: @ 8596438 - .2byte 0x00a0, 0x0100, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08596448:: @ 8596448 - .4byte gUnknown_08596438 - - .align 2 -gUnknown_0859644C:: @ 859644C - spr_template ANIM_TAG_ROUND_SHADOW, ANIM_TAG_ROUND_SHADOW, gUnknown_085249DC, gDummySpriteAnimTable, NULL, gUnknown_08596448, sub_810EC94 - - .align 2 -gUnknown_08596464:: @ 8596464 - .2byte 0x0010, 0x0100, 0x0000, 0x0000, 0x0028, 0x0000, 0x0600, 0x0000 - .2byte 0x0000, 0xffe0, 0x0500, 0x0000, 0xfff0, 0x0020, 0x0a00, 0x0000 - .2byte 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_0859648C:: @ 859648C - .4byte gUnknown_08596464 - - .align 2 -gUnknown_08596490:: @ 8596490 - spr_template ANIM_TAG_ROUND_SHADOW, ANIM_TAG_ROUND_SHADOW, gUnknown_085249DC, gDummySpriteAnimTable, NULL, gUnknown_0859648C, sub_810ED28 - - .align 2 -gUnknown_085964A8:: @ 85964A8 - .2byte 0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0c00, 0x0000 - .2byte 0x0000, 0xffe0, 0x0b00, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_085964C8:: @ 85964C8 - .4byte gUnknown_085964A8 - - .align 2 -gUnknown_085964CC:: @ 85964CC - spr_template ANIM_TAG_SPLASH, ANIM_TAG_SPLASH, gUnknown_085249DC, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_810EE14 - - .align 2 -gUnknown_085964E4:: @ 85964E4 - spr_template ANIM_TAG_SWEAT_BEAD, ANIM_TAG_SWEAT_BEAD, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_810EEF8 - - .align 2 -gUnknown_085964FC:: @ 85964FC - spr_template ANIM_TAG_CIRCLE_OF_LIGHT, ANIM_TAG_CIRCLE_OF_LIGHT, gUnknown_08524A3C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_810F004 - - .align 2 -gUnknown_08596514:: @ 8596514 - spr_template ANIM_TAG_BIRD, ANIM_TAG_BIRD, gUnknown_085249DC, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_810F084 - - .align 2 -gUnknown_0859652C:: @ 859652C - .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0xfffe, 0xfffe, 0x78f6, 0x0000 - .2byte 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08596544:: @ 8596544 - .4byte gUnknown_0859652C - - .align 2 -gUnknown_08596548:: @ 8596548 - spr_template ANIM_TAG_SPIRAL, ANIM_TAG_SPIRAL, gUnknown_08524A9C, gDummySpriteAnimTable, NULL, gUnknown_08596544, sub_80A77C8 - - .align 2 -gUnknown_08596560:: @ 8596560 - spr_template ANIM_TAG_GREEN_LIGHT_WALL, ANIM_TAG_GREEN_LIGHT_WALL, gUnknown_08524A3C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_810F1EC - - .align 2 -gUnknown_08596578:: @ 8596578 - spr_template ANIM_TAG_BLUE_LIGHT_WALL, ANIM_TAG_BLUE_LIGHT_WALL, gUnknown_08524A3C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_810F1EC - - .align 2 -gUnknown_08596590:: @ 8596590 - spr_template ANIM_TAG_RED_LIGHT_WALL, ANIM_TAG_RED_LIGHT_WALL, gUnknown_08524A3C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_810F1EC - - .align 2 -gUnknown_085965A8:: @ 85965A8 - spr_template ANIM_TAG_GRAY_LIGHT_WALL, ANIM_TAG_GRAY_LIGHT_WALL, gUnknown_08524A3C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_810F1EC - - .align 2 -gUnknown_085965C0:: @ 85965C0 - spr_template ANIM_TAG_ORANGE_LIGHT_WALL, ANIM_TAG_ORANGE_LIGHT_WALL, gUnknown_08524A3C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_810F1EC - - .align 2 -gUnknown_085965D8:: @ 85965D8 - .2byte 0x0000, 0x0003, 0x0010, 0x0003, 0x0020, 0x0003, 0x0030, 0x0003 - .2byte 0x0040, 0x0003, 0xffff, 0x0000 - - .align 2 -gUnknown_085965F0:: @ 85965F0 - .4byte gUnknown_085965D8 - - .align 2 -gUnknown_085965F4:: @ 85965F4 - spr_template ANIM_TAG_SPARKLE_4, ANIM_TAG_SPARKLE_4, gUnknown_08524914, gUnknown_085965F0, NULL, gDummySpriteAffineAnimTable, sub_810F58C - - .align 2 -gUnknown_0859660C:: @ 859660C - .2byte 0x0000, 0x0005, 0x0004, 0x0005, 0x0008, 0x0005, 0x000c, 0x0005, 0xffff, 0x0000 - - .align 2 -gUnknown_08596620:: @ 8596620 - .4byte gUnknown_0859660C - - .align 2 -gUnknown_08596624:: @ 8596624 - spr_template ANIM_TAG_SPARKLE_3, ANIM_TAG_SPARKLE_3, gUnknown_0852490C, gUnknown_08596620, NULL, gDummySpriteAffineAnimTable, sub_810F58C - - .align 2 -gUnknown_0859663C:: @ 859663C - spr_template ANIM_TAG_GOLD_RING, ANIM_TAG_GOLD_RING, gUnknown_08524954, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, TranslateAnimSpriteToTargetMonLocation - - .align 2 -gUnknown_08596654:: @ 8596654 - .2byte 0x0008, 0x007c, 0x0010, 0x0045, 0x0008, 0x0045, 0x0000, 0x0045 - .2byte 0x0008, 0x0056, 0xfffd, 0x0000, 0x0010, 0x0045, 0x0008, 0x0045 - .2byte 0x0000, 0x0045, 0x0008, 0x0045, 0xfffd, 0x0001, 0x0008, 0x0056 - .2byte 0x0018, 0x0043, 0x0020, 0x0043, 0x0028, 0x0056, 0xffff, 0x0000 - - .align 2 -gUnknown_08596694:: @ 8596694 - .2byte 0x0008, 0x003c, 0x0010, 0x0005, 0x0008, 0x0005, 0x0000, 0x0005 - .2byte 0x0008, 0x0016, 0xfffd, 0x0000, 0x0010, 0x0005, 0x0008, 0x0005 - .2byte 0x0000, 0x0005, 0x0008, 0x0005, 0xfffd, 0x0001, 0x0008, 0x0016 - .2byte 0x0018, 0x0003, 0x0020, 0x0003, 0x0028, 0x0016, 0xffff, 0x0000 - - .align 2 -gUnknown_085966D4:: @ 85966D4 - .4byte gUnknown_08596654 - .4byte gUnknown_08596694 - - .align 2 -gUnknown_085966DC:: @ 85966DC - spr_template ANIM_TAG_BENT_SPOON, ANIM_TAG_BENT_SPOON, gUnknown_08524954, gUnknown_085966D4, NULL, gDummySpriteAffineAnimTable, sub_810F634 - - .align 2 -gUnknown_085966F4:: @ 85966F4 - .2byte 0x0000, 0x0006, 0x0010, 0x0006, 0x0020, 0x0006, 0x0030, 0x0006 - .2byte 0x0040, 0x0006, 0x0050, 0x0006, 0x0060, 0x0012, 0xffff, 0x0000 - - .align 2 -gUnknown_08596714:: @ 8596714 - .4byte gUnknown_085966F4 - - .align 2 -gUnknown_08596718:: @ 8596718 - .2byte 0x0000, 0x0000, 0x0404, 0x0000, 0x0000, 0x0000, 0x08fc, 0x0000 - .2byte 0x0000, 0x0000, 0x0404, 0x0000, 0x7ffd, 0x0002, 0x0000, 0x0000 - .2byte 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08596740:: @ 8596740 - .4byte gUnknown_08596718 - - .align 2 -gUnknown_08596744:: @ 8596744 - spr_template ANIM_TAG_AMNESIA, ANIM_TAG_AMNESIA, gUnknown_08524914, gUnknown_08596714, NULL, gDummySpriteAffineAnimTable, sub_810F6B0 - - .align 2 -gUnknown_0859675C:: @ 859675C - .2byte 0xfff8, 0x000a, 0x1000, 0x0000, 0x0012, 0xffee, 0x1000, 0x0000 - .2byte 0xffec, 0x0010, 0x0800, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_0859677C:: @ 859677C - .2byte 0x0040, 0xfffc, 0x1400, 0x0000, 0x0000, 0x0000, 0xc800, 0x0000 - .2byte 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08596794:: @ 8596794 - spr_template ANIM_TAG_HOLLOW_ORB, ANIM_TAG_HOLLOW_ORB, gUnknown_08524A2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gUnknown_085967AC:: @ 85967AC - spr_template ANIM_TAG_X_SIGN, ANIM_TAG_X_SIGN, gUnknown_0852491C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_810FBA8 - - .align 2 -gUnknown_085967C4:: @ 85967C4 - .2byte 0xfff8, 0xfff8, 0x0800, 0x0000, 0x0008, 0x0008, 0x0800, 0x0000 - .2byte 0x7ffe, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_085967DC:: @ 85967DC - .2byte 0x00f0, 0x00f0, 0x0000, 0x0000, 0xfff8, 0xfff8, 0x0600, 0x0000 - .2byte 0x0008, 0x0008, 0x0800, 0x0000, 0xfff8, 0xfff8, 0x0200, 0x0000 - .2byte 0x7ffe, 0x0001, 0x0000, 0x0000 - - .align 2 -gUnknown_08596804:: @ 8596804 - .2byte 0x00d0, 0x00d0, 0x0000, 0x0000, 0xfff8, 0xfff8, 0x0400, 0x0000 - .2byte 0x0008, 0x0008, 0x0800, 0x0000, 0xfff8, 0xfff8, 0x0400, 0x0000 - .2byte 0x7ffe, 0x0001, 0x0000, 0x0000 - - .align 2 -gUnknown_0859682C:: @ 859682C - .2byte 0x00b0, 0x00b0, 0x0000, 0x0000, 0xfff8, 0xfff8, 0x0200, 0x0000 - .2byte 0x0008, 0x0008, 0x0800, 0x0000, 0xfff8, 0xfff8, 0x0600, 0x0000 - .2byte 0x7ffe, 0x0001, 0x0000, 0x0000 - - .align 2 -gUnknown_08596854:: @ 8596854 - .4byte gUnknown_085967C4 - .4byte gUnknown_085967DC - .4byte gUnknown_08596804 - .4byte gUnknown_0859682C - - .align 2 -gUnknown_08596864:: @ 8596864 - spr_template ANIM_TAG_BLUEGREEN_ORB, ANIM_TAG_BLUEGREEN_ORB, gUnknown_0852496C, gDummySpriteAnimTable, NULL, gUnknown_08596854, sub_810FDF0 - - .align 2 -gUnknown_0859687C:: @ 859687C - .2byte 0x0020, 0x0020, 0x0000, 0x0000, 0x0004, 0x0004, 0x7800, 0x0000 - .2byte 0x7fff, 0x0001, 0x0000, 0x0000 - - .align 2 -gUnknown_08596894:: @ 8596894 - .4byte gUnknown_0859687C - - .align 2 -gUnknown_08596898:: @ 8596898 - spr_template ANIM_TAG_WHITE_CIRCLE_OF_LIGHT, ANIM_TAG_WHITE_CIRCLE_OF_LIGHT, gUnknown_08524AFC, gDummySpriteAnimTable, NULL, gUnknown_08596894, sub_80A77C8 - - .align 2 -gUnknown_085968B0:: @ 85968B0 - .2byte 0x0020, 0x0020, 0x0000, 0x0000, 0x0010, 0x0010, 0x1100, 0x0000 - .2byte 0x7ffd, 0x0000, 0x0000, 0x0000, 0xfff8, 0xfff8, 0x0a00, 0x0000 - .2byte 0x0008, 0x0008, 0x0a00, 0x0000, 0x7ffd, 0x0004, 0x0000, 0x0000 - .2byte 0x7ffd, 0x0000, 0x0000, 0x0000, 0xfff0, 0xfff0, 0x0500, 0x0000 - .2byte 0x0010, 0x0010, 0x0500, 0x0000, 0x7ffd, 0x0007, 0x0000, 0x0000 - .2byte 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08596908:: @ 8596908 - .2byte 0xffec, 0x0018, 0x0f00, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08596918:: @ 8596918 - .4byte gUnknown_085968B0 - .4byte gUnknown_08596908 - - .align 2 -gUnknown_08596920:: @ 8596920 - spr_template ANIM_TAG_CIRCLE_OF_LIGHT, ANIM_TAG_CIRCLE_OF_LIGHT, gUnknown_08524AFC, gDummySpriteAnimTable, NULL, gUnknown_08596918, sub_8110240 - - .align 2 -gUnknown_08596938:: @ 8596938 - .2byte 0x0100, 0x0100, 0x001e, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08596948:: @ 8596948 - .2byte 0x0100, 0x0100, 0x009d, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08596958:: @ 8596958 - .2byte 0x0100, 0x0100, 0x005e, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08596968:: @ 8596968 - .4byte gUnknown_08596938 - .4byte gUnknown_08596948 - .4byte gUnknown_08596958 - - .align 2 -gUnknown_08596974:: @ 8596974 - spr_template ANIM_TAG_HORN_HIT_2, ANIM_TAG_HORN_HIT_2, gUnknown_085249F4, gDummySpriteAnimTable, NULL, gUnknown_08596968, sub_8110368 - - .align 2 -gUnknown_0859698C:: @ 859698C - .2byte 0x0000, 0x0000, 0x01df, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_0859699C:: @ 859699C - .2byte 0x0000, 0x0000, 0x0160, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_085969AC:: @ 85969AC - .2byte 0x0000, 0x0000, 0x01a0, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_085969BC:: @ 85969BC - .4byte gUnknown_0859698C - .4byte gUnknown_0859699C - .4byte gUnknown_085969AC - - .align 2 -gUnknown_085969C8:: @ 85969C8 - spr_template ANIM_TAG_NEEDLE, ANIM_TAG_NEEDLE, gUnknown_0852496C, gDummySpriteAnimTable, NULL, gUnknown_085969BC, sub_8110438 - - .align 2 -gUnknown_085969E0:: @ 85969E0 - spr_template ANIM_TAG_WEB_THREAD, ANIM_TAG_WEB_THREAD, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_81104E4 - - .align 2 -gUnknown_085969F8:: @ 85969F8 - spr_template ANIM_TAG_STRING, ANIM_TAG_STRING, gUnknown_0852493C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_81105B4 - - .align 2 -gUnknown_08596A10:: @ 8596A10 - .2byte 0x0010, 0x0010, 0x0000, 0x0000, 0x0006, 0x0006, 0x0100, 0x0000 - .2byte 0x7ffe, 0x0001, 0x0000, 0x0000 - - .align 2 -gUnknown_08596A28:: @ 8596A28 - .4byte gUnknown_08596A10 - - .align 2 -gUnknown_08596A2C:: @ 8596A2C - spr_template ANIM_TAG_SPIDER_WEB, ANIM_TAG_SPIDER_WEB, gUnknown_08524AFC, gDummySpriteAnimTable, NULL, gUnknown_08596A28, sub_811067C - - .align 2 -gLinearStingerSpriteTemplate:: @ 8596A44 - spr_template ANIM_TAG_NEEDLE, ANIM_TAG_NEEDLE, gUnknown_0852496C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8110720 - - .align 2 -gPinMissileSpriteTemplate:: @ 8596A5C - spr_template ANIM_TAG_NEEDLE, ANIM_TAG_NEEDLE, gUnknown_0852496C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8110850 - - .align 2 -gIcicleSpearSpriteTemplate:: @ 8596A74 - spr_template ANIM_TAG_ICICLE_SPEAR, ANIM_TAG_ICICLE_SPEAR, gUnknown_08524974, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8110850 - - .align 2 -gUnknown_08596A8C:: @ 8596A8C - .2byte 0x0010, 0x0010, 0x0000, 0x0000, 0x0008, 0x0008, 0x1200, 0x0000 - .2byte 0x7ffd, 0x0000, 0x0000, 0x0000, 0xfffb, 0xfffb, 0x0800, 0x0000 - .2byte 0x0005, 0x0005, 0x0800, 0x0000, 0x7ffd, 0x0005, 0x0000, 0x0000 - .2byte 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08596AC4:: @ 8596AC4 - .4byte gUnknown_08596A8C - - .align 2 -gUnknown_08596AC8:: @ 8596AC8 - spr_template ANIM_TAG_CIRCLE_OF_LIGHT, ANIM_TAG_CIRCLE_OF_LIGHT, gUnknown_08524A9C, gDummySpriteAnimTable, NULL, gUnknown_08596AC4, sub_8110994 - - .align 2 -gUnknown_08596AE0:: @ 8596AE0 - .2byte 0x0020, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_08596AE8:: @ 8596AE8 - .2byte 0x0030, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_08596AF0:: @ 8596AF0 - .2byte 0x0040, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_08596AF8:: @ 8596AF8 - .4byte gUnknown_08596AE0 - .4byte gUnknown_08596AE8 - .4byte gUnknown_08596AF0 - - .align 2 -gUnknown_08596B04:: @ 8596B04 - spr_template ANIM_TAG_ROCKS, ANIM_TAG_ROCKS, gUnknown_08524914, gUnknown_08596AF8, NULL, gDummySpriteAffineAnimTable, sub_81109F0 - - .align 2 -gUnknown_08596B1C:: @ 8596B1C - spr_template ANIM_TAG_ROCKS, ANIM_TAG_ROCKS, gUnknown_08524914, gUnknown_08596AF8, NULL, gDummySpriteAffineAnimTable, sub_8110AB4 - - .align 2 -gUnknown_08596B34:: @ 8596B34 - spr_template ANIM_TAG_MUD_SAND, ANIM_TAG_MUD_SAND, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8110B38 - - .align 2 -gUnknown_08596B4C:: @ 8596B4C - .2byte 0x00c0, 0x00c0, 0x0000, 0x0000, 0x0002, 0xfffd, 0x0500, 0x0000 - .2byte 0xfffe, 0x0003, 0x0500, 0x0000, 0x7ffe, 0x0001, 0x0000, 0x0000 - - .align 2 -gUnknown_08596B6C:: @ 8596B6C - .4byte gUnknown_08596B4C - - .align 2 -gUnknown_08596B70:: @ 8596B70 - spr_template ANIM_TAG_WATER_ORB, ANIM_TAG_WATER_ORB, gUnknown_08524A8C, gUnknown_085950E0, NULL, gUnknown_08596B6C, sub_8110B38 - - .align 2 -gUnknown_08596B88:: @ 8596B88 - spr_template ANIM_TAG_SMALL_EMBER, ANIM_TAG_SMALL_EMBER, gUnknown_08524914, gUnknown_085954D0, NULL, gDummySpriteAffineAnimTable, sub_8110B38 - - .align 2 -gBattleAnimSpriteTemplate_8596BA0:: @ 8596BA0 - spr_template ANIM_TAG_FLYING_DIRT, ANIM_TAG_FLYING_DIRT, gUnknown_08524934, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8110E4C - - .align 2 -gUnknown_08596BB8:: @ 8596BB8 - .2byte 0x00f0, 0x4009, 0x0010, 0x4089 - - .align 2 -gUnknown_08596BC0:: @ 8596BC0 - .2byte 0x0002, 0x0000 - - .align 2 -gUnknown_08596BC4:: @ 8596BC4 - .4byte gUnknown_08596BB8 - - .align 2 -gUnknown_08596BC8:: @ 8596BC8 - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_08596BD0:: @ 8596BD0 - .2byte 0x0010, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_08596BD8:: @ 8596BD8 - .2byte 0x0020, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_08596BE0:: @ 8596BE0 - .2byte 0x0030, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_08596BE8:: @ 8596BE8 - .2byte 0x0040, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_08596BF0:: @ 8596BF0 - .2byte 0x0050, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_08596BF8:: @ 8596BF8 - .4byte gUnknown_08596BC8 - .4byte gUnknown_08596BD0 - - .align 2 -gUnknown_08596C00:: @ 8596C00 - .4byte gUnknown_08596BD8 - .4byte gUnknown_08596BE0 - - .align 2 -gUnknown_08596C08:: @ 8596C08 - .4byte gUnknown_08596BE8 - .4byte gUnknown_08596BF0 - - .align 2 -gUnknown_08596C10:: @ 8596C10 - spr_template ANIM_TAG_ROCKS, ANIM_TAG_ROCKS, gUnknown_08524914, gUnknown_08596BF8, NULL, gDummySpriteAffineAnimTable, sub_8110F30 - - .align 2 -gUnknown_08596C28:: @ 8596C28 - spr_template ANIM_TAG_MUD_SAND, ANIM_TAG_MUD_SAND, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_811131C - - .align 2 -gUnknown_08596C40:: @ 8596C40 - spr_template ANIM_TAG_ROCKS, ANIM_TAG_ROCKS, gUnknown_08524914, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_811131C - - .align 2 -gUnknown_08596C58:: @ 8596C58 - spr_template ANIM_TAG_ROCKS, ANIM_TAG_ROCKS, gUnknown_08524914, gUnknown_08596BF8, NULL, gDummySpriteAffineAnimTable, sub_8111388 - - .align 2 -gUnknown_08596C70:: @ 8596C70 - .2byte 0x0000, 0x0000, 0x05fb, 0x0000, 0x7ffe, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08596C80:: @ 8596C80 - .2byte 0x0000, 0x0000, 0x0505, 0x0000, 0x7ffe, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08596C90:: @ 8596C90 - .4byte gUnknown_08596C70 - .4byte gUnknown_08596C80 - - .align 2 -gUnknown_08596C98:: @ 8596C98 - spr_template ANIM_TAG_ROCKS, ANIM_TAG_ROCKS, gUnknown_08524974, gUnknown_08596BF8, NULL, gUnknown_08596C90, sub_8111418 - - .align 2 -gUnknown_08596CB0:: @ 8596CB0 - spr_template ANIM_TAG_ROCKS, ANIM_TAG_ROCKS, gUnknown_08524974, gUnknown_08596BF8, NULL, gUnknown_08596C90, sub_8111444 - - .align 2 -gUnknown_08596CC8:: @ 8596CC8 - spr_template ANIM_TAG_ROCKS, ANIM_TAG_ROCKS, gUnknown_08524914, gUnknown_08596C08, NULL, gUnknown_08596C90, sub_80FF268 - - .align 2 -gUnknown_08596CE0:: @ 8596CE0 - spr_template ANIM_TAG_ROCKS, ANIM_TAG_ROCKS, gUnknown_08524974, gUnknown_08596C00, NULL, gUnknown_08596C90, sub_80A8EE4 - - .align 2 -gUnknown_08596CF8:: @ 8596CF8 - .2byte 0x001e, 0x001e, 0x050a, 0x0000, 0xffe2, 0xffe2, 0x050a, 0x0000 - .2byte 0x7ffe, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08596D10:: @ 8596D10 - .4byte gUnknown_08596CF8 - - .align 2 -gUnknown_08596D14:: @ 8596D14 - spr_template ANIM_TAG_YELLOW_BALL, ANIM_TAG_YELLOW_BALL, gUnknown_085249CC, gDummySpriteAnimTable, NULL, gUnknown_08596D10, sub_811160C - - .align 2 -gUnknown_08596D2C:: @ 8596D2C - spr_template ANIM_TAG_YELLOW_BALL, ANIM_TAG_YELLOW_BALL, gUnknown_08524A2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_81117F4 - - .align 2 -gUnknown_08596D44:: @ 8596D44 - .2byte 0x0000, 0x0000, 0x010a, 0x0000, 0x7ffe, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08596D54:: @ 8596D54 - .4byte gUnknown_08596D44 - - .align 2 -gUnknown_08596D58:: @ 8596D58 - spr_template ANIM_TAG_SHADOW_BALL, ANIM_TAG_SHADOW_BALL, gUnknown_08524974, gDummySpriteAnimTable, NULL, gUnknown_08596D54, sub_81119E0 - - .align 2 -gUnknown_08596D70:: @ 8596D70 - .2byte 0x0000, 0x0002, 0x0008, 0x0002, 0x0010, 0x0002, 0x0018, 0x0002 - .2byte 0x0020, 0x0002, 0xffff, 0x0000 - - .align 2 -gUnknown_08596D88:: @ 8596D88 - .4byte gUnknown_08596D70 - - .align 2 -gUnknown_08596D8C:: @ 8596D8C - spr_template ANIM_TAG_LICK, ANIM_TAG_LICK, gUnknown_08524954, gUnknown_08596D88, NULL, gDummySpriteAffineAnimTable, sub_8111B9C - - .align 2 -gUnknown_08596DA4:: @ 8596DA4 - .2byte 0x0200, 0x0200, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08596DB4:: @ 8596DB4 - .4byte gUnknown_08596DA4 - - .align 2 -gUnknown_08596DB8:: @ 8596DB8 - spr_template ANIM_TAG_WHITE_SHADOW, ANIM_TAG_WHITE_SHADOW, gUnknown_08524A5C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8112264 - - .align 2 -gUnknown_08596DD0:: @ 8596DD0 - spr_template ANIM_TAG_NAIL, ANIM_TAG_NAIL, gUnknown_08524A54, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_81129F0 - - .align 2 -gBattleAnimSpriteTemplate_8596DE8:: @ 8596DE8 - spr_template ANIM_TAG_GHOSTLY_SPIRIT, ANIM_TAG_GHOSTLY_SPIRIT, gUnknown_08524A34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8112B78 - - .align 2 -gBattleAnimSpriteTemplate_8596E00:: @ 8596E00 - spr_template ANIM_TAG_DEVIL, ANIM_TAG_DEVIL, gUnknown_08524A34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8112B78 - - .align 2 -gUnknown_08596E18:: @ 8596E18 - .2byte 0x0000, 0x0004, 0x0008, 0x0004, 0x0010, 0x0004, 0x0018, 0x0004, 0xfffe, 0x0000 - - .align 2 -gUnknown_08596E2C:: @ 8596E2C - .4byte gUnknown_08596E18 - - .align 2 -gUnknown_08596E30:: @ 8596E30 - spr_template ANIM_TAG_PURPLE_FLAME, ANIM_TAG_PURPLE_FLAME, gUnknown_08524A74, gUnknown_08596E2C, NULL, gDummySpriteAffineAnimTable, sub_8112E9C - - .align 2 -gUnknown_08596E48:: @ 8596E48 - spr_template 0x0000, 0x0000, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8112F60 - - .align 2 -gUnknown_08596E60:: @ 8596E60 - .2byte 0x0000, 0x0004, 0x0010, 0x0004, 0x0020, 0x0004, 0x0030, 0x0004 - .2byte 0x0040, 0x0004, 0xfffe, 0x0000 - - .align 2 -gUnknown_08596E78:: @ 8596E78 - .4byte gUnknown_08596E60 - - .align 2 -gBattleAnimSpriteTemplate_8596E7C:: @ 8596E7C - spr_template ANIM_TAG_SMALL_EMBER, ANIM_TAG_SMALL_EMBER, gUnknown_08524914, gUnknown_08596E78, NULL, gDummySpriteAffineAnimTable, sub_8113064 - - .align 2 -gUnknown_08596E94:: @ 8596E94 - .2byte 0x0010, 0x0003, 0x0020, 0x0003, 0x0030, 0x0003, 0xfffe, 0x0000 - - .align 2 -gUnknown_08596EA4:: @ 8596EA4 - .2byte 0x0010, 0x00c3, 0x0020, 0x00c3, 0x0030, 0x00c3, 0xfffe, 0x0000 - - .align 2 -gUnknown_08596EB4:: @ 8596EB4 - .4byte gUnknown_08596E94 - .4byte gUnknown_08596EA4 - - .align 2 -gUnknown_08596EBC:: @ 8596EBC - .2byte 0x0050, 0x0050, 0x007f, 0x0000, 0x000d, 0x000d, 0x6400, 0x0000 - .2byte 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08596ED4:: @ 8596ED4 - .2byte 0x0050, 0x0050, 0x0000, 0x0000, 0x000d, 0x000d, 0x6400, 0x0000 - .2byte 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08596EEC:: @ 8596EEC - .4byte gUnknown_08596EBC - .4byte gUnknown_08596ED4 - - .align 2 -gUnknown_08596EF4:: @ 8596EF4 - spr_template ANIM_TAG_SMALL_EMBER, ANIM_TAG_SMALL_EMBER, gUnknown_085249D4, gUnknown_08596EB4, NULL, gUnknown_08596EEC, sub_8113224 - - .align 2 -gUnknown_08596F0C:: @ 8596F0C - .2byte 0x0000, 0x0005, 0x0010, 0x0005, 0x0020, 0x0005, 0x0030, 0x0005 - .2byte 0x0040, 0x0005, 0xffff, 0x0000 - - .align 2 -gUnknown_08596F24:: @ 8596F24 - .4byte gUnknown_08596F0C - - .align 2 -gUnknown_08596F28:: @ 8596F28 - spr_template ANIM_TAG_FIRE_PLUME, ANIM_TAG_FIRE_PLUME, gUnknown_08524914, gUnknown_08596F24, NULL, gDummySpriteAffineAnimTable, sub_81131B4 - - .align 2 -gUnknown_08596F40:: @ 8596F40 - .2byte 0x0010, 0x0003, 0x0020, 0x0003, 0x0030, 0x0003, 0xfffe, 0x0000 - - .align 2 -gUnknown_08596F50:: @ 8596F50 - .4byte gUnknown_08596F40 - .4byte gUnknown_08596F40 - - .align 2 -gUnknown_08596F58:: @ 8596F58 - .2byte 0x0064, 0x0064, 0x017f, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08596F68:: @ 8596F68 - .2byte 0x0064, 0x0064, 0x0100, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08596F78:: @ 8596F78 - .4byte gUnknown_08596F58 - .4byte gUnknown_08596F68 - - .align 2 -gUnknown_08596F80:: @ 8596F80 - spr_template ANIM_TAG_SMALL_EMBER, ANIM_TAG_SMALL_EMBER, gUnknown_085249D4, gUnknown_08596F50, NULL, gUnknown_08596F78, sub_8113224 - - .align 2 -gUnknown_08596F98:: @ 8596F98 - spr_template ANIM_TAG_HOLLOW_ORB, ANIM_TAG_HOLLOW_ORB, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8113250 - - .align 2 -gUnknown_08596FB0:: @ 8596FB0 - spr_template ANIM_TAG_SMALL_EMBER, ANIM_TAG_SMALL_EMBER, gUnknown_08524914, gUnknown_08596E78, NULL, gDummySpriteAffineAnimTable, sub_81135EC - - .align 2 -gUnknown_08596FC8:: @ 8596FC8 - spr_template ANIM_TAG_TIED_BAG, ANIM_TAG_TIED_BAG, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_81138D4 - - .align 2 -gUnknown_08596FE0:: @ 8596FE0 - .2byte 0x0000, 0x0000, 0x0100, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08596FF0:: @ 8596FF0 - .2byte 0x0000, 0x0000, 0x0120, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08597000:: @ 8597000 - .2byte 0x0000, 0x0000, 0x0140, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08597010:: @ 8597010 - .2byte 0x0000, 0x0000, 0x0160, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08597020:: @ 8597020 - .2byte 0x0000, 0x0000, 0x0180, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08597030:: @ 8597030 - .2byte 0x0000, 0x0000, 0x01a0, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08597040:: @ 8597040 - .2byte 0x0000, 0x0000, 0x01c0, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08597050:: @ 8597050 - .2byte 0x0000, 0x0000, 0x01e0, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08597060:: @ 8597060 - .4byte gUnknown_08596FE0 - .4byte gUnknown_08596FF0 - .4byte gUnknown_08597000 - .4byte gUnknown_08597010 - .4byte gUnknown_08597020 - .4byte gUnknown_08597030 - .4byte gUnknown_08597040 - .4byte gUnknown_08597050 - - .align 2 -gUnknown_08597080:: @ 8597080 - spr_template ANIM_TAG_SHARP_TEETH, ANIM_TAG_SHARP_TEETH, gUnknown_08524A9C, gDummySpriteAnimTable, NULL, gUnknown_08597060, sub_81139DC - - .align 2 -gUnknown_08597098:: @ 8597098 - spr_template ANIM_TAG_CLAMP, ANIM_TAG_CLAMP, gUnknown_08524A9C, gDummySpriteAnimTable, NULL, gUnknown_08597060, sub_81139DC - - .align 2 -gUnknown_085970B0:: @ 85970B0 - .2byte 0x00c0, 0x00c0, 0x0050, 0x0000, 0x0000, 0x0000, 0x08fe, 0x0000 - .2byte 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_085970C8:: @ 85970C8 - .2byte 0x00c0, 0x00c0, 0x00b0, 0x0000, 0x0000, 0x0000, 0x0802, 0x0000 - .2byte 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_085970E0:: @ 85970E0 - .4byte gUnknown_085970B0 - .4byte gUnknown_085970C8 - - .align 2 -gUnknown_085970E8:: @ 85970E8 - spr_template ANIM_TAG_SMALL_BUBBLES, ANIM_TAG_SMALL_BUBBLES, gUnknown_0852496C, gDummySpriteAnimTable, NULL, gUnknown_085970E0, sub_8113A90 - - .align 2 -gUnknown_08597100:: @ 8597100 - .2byte 0x0000, 0x0004, 0x0010, 0x0004, 0x0020, 0x0004, 0x0030, 0x0004 - .2byte 0x0040, 0x0004, 0xffff, 0x0000 - - .align 2 -gUnknown_08597118:: @ 8597118 - .2byte 0x0000, 0x0044, 0x0010, 0x0044, 0x0020, 0x0044, 0x0030, 0x0044 - .2byte 0x0040, 0x0044, 0xffff, 0x0000 - - .align 2 -gUnknown_08597130:: @ 8597130 - .4byte gUnknown_08597100 - .4byte gUnknown_08597118 - - .align 2 -gBattleAnimSpriteTemplate_8597138:: @ 8597138 - spr_template ANIM_TAG_CLAW_SLASH, ANIM_TAG_CLAW_SLASH, gUnknown_08524914, gUnknown_08597130, NULL, gDummySpriteAffineAnimTable, sub_81144BC - - .align 2 -gUnknown_08597150:: @ 8597150 - .2byte 0x0000, 0x0000, 0x010f, 0x0000, 0x7ffe, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08597160:: @ 8597160 - .2byte 0x0000, 0x0000, 0x0114, 0x0000, 0x7ffe, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08597170:: @ 8597170 - .4byte gUnknown_08597150 - - .align 2 -gUnknown_08597174:: @ 8597174 - .4byte gUnknown_08597160 - - .align 2 -gUnknown_08597178:: @ 8597178 - spr_template ANIM_TAG_BONE, ANIM_TAG_BONE, gUnknown_08524974, gDummySpriteAnimTable, NULL, gUnknown_08597170, sub_8114994 - - .align 2 -gUnknown_08597190:: @ 8597190 - spr_template ANIM_TAG_BONE, ANIM_TAG_BONE, gUnknown_08524974, gDummySpriteAnimTable, NULL, gUnknown_08597174, sub_8114A7C - - .align 2 -gUnknown_085971A8:: @ 85971A8 - spr_template ANIM_TAG_MUD_SAND, ANIM_TAG_MUD_SAND, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8114AF0 - - .align 2 -gUnknown_085971C0:: @ 85971C0 - .2byte 0x0001, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_085971C8:: @ 85971C8 - .4byte gUnknown_085971C0 - - .align 2 -gUnknown_085971CC:: @ 85971CC - spr_template ANIM_TAG_MUD_SAND, ANIM_TAG_MUD_SAND, gUnknown_0852490C, gUnknown_085971C8, NULL, gDummySpriteAffineAnimTable, sub_8114AF0 - - .align 2 -gUnknown_085971E4:: @ 85971E4 - spr_template ANIM_TAG_MUD_SAND, ANIM_TAG_MUD_SAND, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8114B80 - - .align 2 -gUnknown_085971FC:: @ 85971FC - spr_template ANIM_TAG_MUD_SAND, ANIM_TAG_MUD_SAND, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_81151A0 - - .align 2 -gUnknown_08597214:: @ 8597214 - spr_template ANIM_TAG_DIRT_MOUND, ANIM_TAG_DIRT_MOUND, gUnknown_08524934, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8115244 - - .align 2 -gUnknown_0859722C:: @ 859722C - .2byte 0x0000, 0x0008, 0x0004, 0x0008, 0x0000, 0x0048, 0x0008, 0x0008, 0xfffe, 0x0000 - - .align 2 -gUnknown_08597240:: @ 8597240 - .2byte 0x0000, 0x0048, 0x0004, 0x0008, 0x0000, 0x0008, 0x0008, 0x0008, 0xfffe, 0x0000 - - .align 2 -gUnknown_08597254:: @ 8597254 - .4byte gUnknown_0859722C - .4byte gUnknown_08597240 - - .align 2 -gConfusionDuckSpriteTemplate:: @ 859725C - spr_template ANIM_TAG_DUCK, ANIM_TAG_DUCK, gUnknown_0852490C, gUnknown_08597254, NULL, gDummySpriteAffineAnimTable, sub_811572C - - .align 2 -gSimplePaletteBlendSpriteTemplate:: @ 8597274 - spr_template 0x0000, 0x0000, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_81157FC - - .align 2 -gComplexPaletteBlendSpriteTemplate:: @ 859728C - spr_template 0x0000, 0x0000, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_81158A4 - - .align 2 -gUnknown_085972A4:: @ 85972A4 - .2byte 0x0000, 0x0003, 0x0010, 0x0003, 0x0020, 0x0003, 0x0030, 0x0003 - .2byte 0x0040, 0x0003, 0xfffe, 0x0000 - - .align 2 -gUnknown_085972BC:: @ 85972BC - .4byte gUnknown_085972A4 - - .align 2 -gUnknown_085972C0:: @ 85972C0 - spr_template ANIM_TAG_SPARKLE_4, ANIM_TAG_SPARKLE_4, gUnknown_08524914, gUnknown_085972BC, NULL, gDummySpriteAffineAnimTable, sub_81159B4 - - .align 2 -gBattleAnimSpriteTemplate_85972D8:: @ 85972D8 - spr_template 0x0000, 0x0000, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_81160A4 - - .align 2 -gUnknown_085972F0:: @ 85972F0 - .2byte 0x0000, 0x0000, 0x0800, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08597300:: @ 8597300 - .2byte 0x00d8, 0x00d8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x0000 - .2byte 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08597318:: @ 8597318 - .2byte 0x00b0, 0x00b0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x0000 - .2byte 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08597330:: @ 8597330 - .2byte 0x0080, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x0000 - .2byte 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_08597348:: @ 8597348 - .4byte gUnknown_085972F0 - .4byte gUnknown_08597300 - .4byte gUnknown_08597318 - .4byte gUnknown_08597330 - - .align 2 -gBasicHitSplatSpriteTemplate:: @ 8597358 - spr_template ANIM_TAG_IMPACT, ANIM_TAG_IMPACT, gUnknown_08524A94, gDummySpriteAnimTable, NULL, gUnknown_08597348, sub_8116388 - - .align 2 -gBattleAnimSpriteTemplate_8597370:: @ 8597370 - spr_template ANIM_TAG_IMPACT, ANIM_TAG_IMPACT, gUnknown_08524A94, gDummySpriteAnimTable, NULL, gUnknown_08597348, sub_8116420 - - .align 2 -gUnknown_08597388:: @ 8597388 - spr_template ANIM_TAG_WATER_IMPACT, ANIM_TAG_WATER_IMPACT, gUnknown_08524A94, gDummySpriteAnimTable, NULL, gUnknown_08597348, sub_8116388 - - .align 2 -gUnknown_085973A0:: @ 85973A0 - spr_template ANIM_TAG_IMPACT, ANIM_TAG_IMPACT, gUnknown_08524A94, gDummySpriteAnimTable, NULL, gUnknown_08597348, sub_8116458 - - .align 2 -gBattleAnimSpriteTemplate_85973B8:: @ 85973B8 - spr_template ANIM_TAG_IMPACT, ANIM_TAG_IMPACT, gUnknown_08524A94, gDummySpriteAnimTable, NULL, gUnknown_08597348, sub_81164F0 - - .align 2 -gUnknown_085973D0:: @ 85973D0 - spr_template ANIM_TAG_CROSS_IMPACT, ANIM_TAG_CROSS_IMPACT, gUnknown_08524A34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8116560 - - .align 2 -gUnknown_085973E8:: @ 85973E8 - spr_template ANIM_TAG_IMPACT, ANIM_TAG_IMPACT, gUnknown_08524974, gDummySpriteAnimTable, NULL, gUnknown_08597348, sub_81165A8 - - .align 2 -gUnknown_08597400:: @ 8597400 - spr_template ANIM_TAG_IMPACT, ANIM_TAG_IMPACT, gUnknown_08524A94, gDummySpriteAnimTable, NULL, gUnknown_08597348, sub_81163D0 + .align 2 gUnknown_08597418:: @ 8597418 .2byte 0x7fff @@ -1310,15 +17,4 @@ gUnknown_0859741A:: @ 859741A gUnknown_0859741E:: @ 859741E .byte 0x08, 0x0a, 0x0c, 0x0e - .align 2 -gUnknown_08597424:: @ 8597424 - .4byte task_battle_intro_80BC47C - .4byte task_battle_intro_80BC47C - .4byte task00_battle_intro_80BC6C8 - .4byte task00_battle_intro_80BC6C8 - .4byte task00_battle_intro_80BC6C8 - .4byte task_battle_intro_80BC47C - .4byte task_battle_intro_80BC47C - .4byte task_battle_intro_80BC47C - .4byte task_battle_intro_anim - .4byte task_battle_intro_anim + diff --git a/include/battle_anim.h b/include/battle_anim.h index 8d6785a44..6484bd6c2 100644 --- a/include/battle_anim.h +++ b/include/battle_anim.h @@ -166,6 +166,12 @@ 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; +extern const struct OamData gUnknown_0852491C; +extern const struct OamData gUnknown_0852495C; +extern const struct OamData gUnknown_0852497C; +extern const struct OamData gUnknown_085249F4; +extern const struct OamData gUnknown_0852493C; +extern const struct OamData gUnknown_08524A5C; +extern const struct OamData gUnknown_08524A74; #endif // GUARD_BATTLE_ANIM_H diff --git a/ld_script.txt b/ld_script.txt index 42bc3b37a..4fc58e204 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -483,7 +483,20 @@ SECTIONS { src/fire.o(.rodata); src/electric.o(.rodata); src/ice.o(.rodata); + src/fight.o(.rodata); + src/poison.o(.rodata); + src/flying.o(.rodata); + src/psychic.o(.rodata); + src/bug.o(.rodata); + src/rock.o(.rodata); + src/ghost.o(.rodata); + src/dragon.o(.rodata); + src/dark.o(.rodata); + src/ground.o(.rodata); + src/normal.o(.rodata); + src/battle_anim_utility_funcs.o(.rodata); data/battle_anim_80FE840.o(.rodata); + src/battle_intro.o(.rodata); src/bike.o(.rodata); data/easy_chat.o(.rodata); src/mon_markings.o(.rodata); diff --git a/src/battle_anim_utility_funcs.c b/src/battle_anim_utility_funcs.c new file mode 100644 index 000000000..1f88c9f62 --- /dev/null +++ b/src/battle_anim_utility_funcs.c @@ -0,0 +1,9 @@ +#include "global.h" +#include "battle_anim.h" +#include "constants/rgb.h" + +//asm(".align 2"); +//const u16 gUnknown_08597418 = _RGB(31, 31, 31); + +//gUnknown_08597418:: @ 8597418 +// .2byte 0x7fff diff --git a/src/battle_intro.c b/src/battle_intro.c new file mode 100644 index 000000000..0ccc7e828 --- /dev/null +++ b/src/battle_intro.c @@ -0,0 +1,21 @@ +#include "global.h" +#include "task.h" + +extern void task_battle_intro_80BC47C(u8); +extern void task00_battle_intro_80BC6C8(u8); +extern void task_battle_intro_80BC47C(u8); +extern void task_battle_intro_anim(u8); + +const TaskFunc gUnknown_08597424[] = +{ + task_battle_intro_80BC47C, + task_battle_intro_80BC47C, + task00_battle_intro_80BC6C8, + task00_battle_intro_80BC6C8, + task00_battle_intro_80BC6C8, + task_battle_intro_80BC47C, + task_battle_intro_80BC47C, + task_battle_intro_80BC47C, + task_battle_intro_anim, + task_battle_intro_anim, +}; diff --git a/src/bug.c b/src/bug.c new file mode 100644 index 000000000..a14ec2226 --- /dev/null +++ b/src/bug.c @@ -0,0 +1,189 @@ +#include "global.h" +#include "battle_anim.h" +#include "constants/rgb.h" + +extern void sub_8110368(struct Sprite *); +extern void sub_8110438(struct Sprite *); +extern void sub_81104E4(struct Sprite *); +extern void sub_81105B4(struct Sprite *); +extern void sub_811067C(struct Sprite *); +extern void sub_8110720(struct Sprite *); +extern void sub_8110850(struct Sprite *); +extern void sub_8110994(struct Sprite *); + +const union AffineAnimCmd gUnknown_08596938[] = +{ + AFFINEANIMCMD_FRAME(0x100, 0x100, 30, 0), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_08596948[] = +{ + AFFINEANIMCMD_FRAME(0x100, 0x100, -99, 0), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_08596958[] = +{ + AFFINEANIMCMD_FRAME(0x100, 0x100, 94, 0), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gUnknown_08596968[] = +{ + gUnknown_08596938, + gUnknown_08596948, + gUnknown_08596958, +}; + +const struct SpriteTemplate gUnknown_08596974 = +{ + .tileTag = ANIM_TAG_HORN_HIT_2, + .paletteTag = ANIM_TAG_HORN_HIT_2, + .oam = &gUnknown_085249F4, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_08596968, + .callback = sub_8110368, +}; + +const union AffineAnimCmd gUnknown_0859698C[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, -33, 1), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_0859699C[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, 96, 1), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_085969AC[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, -96, 1), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gUnknown_085969BC[] = +{ + gUnknown_0859698C, + gUnknown_0859699C, + gUnknown_085969AC, +}; + +const struct SpriteTemplate gUnknown_085969C8 = +{ + .tileTag = ANIM_TAG_NEEDLE, + .paletteTag = ANIM_TAG_NEEDLE, + .oam = &gUnknown_0852496C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_085969BC, + .callback = sub_8110438, +}; + +const struct SpriteTemplate gUnknown_085969E0 = +{ + .tileTag = ANIM_TAG_WEB_THREAD, + .paletteTag = ANIM_TAG_WEB_THREAD, + .oam = &gUnknown_08524904, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_81104E4, +}; + +const struct SpriteTemplate gUnknown_085969F8 = +{ + .tileTag = ANIM_TAG_STRING, + .paletteTag = ANIM_TAG_STRING, + .oam = &gUnknown_0852493C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_81105B4, +}; + +const union AffineAnimCmd gUnknown_08596A10[] = +{ + AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0), + AFFINEANIMCMD_FRAME(0x6, 0x6, 0, 1), + AFFINEANIMCMD_JUMP(1), +}; + +const union AffineAnimCmd *const gUnknown_08596A28[] = +{ + gUnknown_08596A10, +}; + +const struct SpriteTemplate gUnknown_08596A2C = +{ + .tileTag = ANIM_TAG_SPIDER_WEB, + .paletteTag = ANIM_TAG_SPIDER_WEB, + .oam = &gUnknown_08524AFC, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_08596A28, + .callback = sub_811067C, +}; + +const struct SpriteTemplate gLinearStingerSpriteTemplate = +{ + .tileTag = ANIM_TAG_NEEDLE, + .paletteTag = ANIM_TAG_NEEDLE, + .oam = &gUnknown_0852496C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8110720, +}; + +const struct SpriteTemplate gPinMissileSpriteTemplate = +{ + .tileTag = ANIM_TAG_NEEDLE, + .paletteTag = ANIM_TAG_NEEDLE, + .oam = &gUnknown_0852496C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8110850, +}; + +const struct SpriteTemplate gIcicleSpearSpriteTemplate = +{ + .tileTag = ANIM_TAG_ICICLE_SPEAR, + .paletteTag = ANIM_TAG_ICICLE_SPEAR, + .oam = &gUnknown_08524974, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8110850, +}; + +const union AffineAnimCmd gUnknown_08596A8C[] = +{ + AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0), + AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 18), + AFFINEANIMCMD_LOOP(0), + AFFINEANIMCMD_FRAME(0xFFFB, 0xFFFB, 0, 8), + AFFINEANIMCMD_FRAME(0x5, 0x5, 0, 8), + AFFINEANIMCMD_LOOP(5), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gUnknown_08596AC4[] = +{ + gUnknown_08596A8C, +}; + +const struct SpriteTemplate gUnknown_08596AC8 = +{ + .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, + .paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT, + .oam = &gUnknown_08524A9C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_08596AC4, + .callback = sub_8110994, +}; diff --git a/src/dark.c b/src/dark.c new file mode 100644 index 000000000..d4a4f0b8a --- /dev/null +++ b/src/dark.c @@ -0,0 +1,169 @@ +#include "global.h" +#include "battle_anim.h" +#include "constants/rgb.h" + +extern void sub_81138D4(struct Sprite *); +extern void sub_81139DC(struct Sprite *); +extern void sub_8113A90(struct Sprite *); +extern void sub_81144BC(struct Sprite *); + +const struct SpriteTemplate gUnknown_08596FC8 = +{ + .tileTag = ANIM_TAG_TIED_BAG, + .paletteTag = ANIM_TAG_TIED_BAG, + .oam = &gUnknown_0852490C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_81138D4, +}; + +const union AffineAnimCmd gUnknown_08596FE0[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 1), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_08596FF0[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, 32, 1), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_08597000[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, 64, 1), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_08597010[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, 96, 1), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_08597020[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, -128, 1), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_08597030[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, -96, 1), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_08597040[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, -64, 1), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_08597050[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, -32, 1), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gUnknown_08597060[] = +{ + gUnknown_08596FE0, + gUnknown_08596FF0, + gUnknown_08597000, + gUnknown_08597010, + gUnknown_08597020, + gUnknown_08597030, + gUnknown_08597040, + gUnknown_08597050, +}; + +const struct SpriteTemplate gUnknown_08597080 = +{ + .tileTag = ANIM_TAG_SHARP_TEETH, + .paletteTag = ANIM_TAG_SHARP_TEETH, + .oam = &gUnknown_08524A9C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_08597060, + .callback = sub_81139DC, +}; + +const struct SpriteTemplate gUnknown_08597098 = +{ + .tileTag = ANIM_TAG_CLAMP, + .paletteTag = ANIM_TAG_CLAMP, + .oam = &gUnknown_08524A9C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_08597060, + .callback = sub_81139DC, +}; + +const union AffineAnimCmd gUnknown_085970B0[] = +{ + AFFINEANIMCMD_FRAME(0xC0, 0xC0, 80, 0), + AFFINEANIMCMD_FRAME(0x0, 0x0, -2, 8), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_085970C8[] = +{ + AFFINEANIMCMD_FRAME(0xC0, 0xC0, -80, 0), + AFFINEANIMCMD_FRAME(0x0, 0x0, 2, 8), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gUnknown_085970E0[] = +{ + gUnknown_085970B0, + gUnknown_085970C8, +}; + +const struct SpriteTemplate gUnknown_085970E8 = +{ + .tileTag = ANIM_TAG_SMALL_BUBBLES, + .paletteTag = ANIM_TAG_SMALL_BUBBLES, + .oam = &gUnknown_0852496C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_085970E0, + .callback = sub_8113A90, +}; + +const union AnimCmd gUnknown_08597100[] = +{ + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(16, 4), + ANIMCMD_FRAME(32, 4), + ANIMCMD_FRAME(48, 4), + ANIMCMD_FRAME(64, 4), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_08597118[] = +{ + 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_FRAME(64, 4, .hFlip = TRUE), + ANIMCMD_END, +}; + +const union AnimCmd *const gUnknown_08597130[] = +{ + gUnknown_08597100, + gUnknown_08597118, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_8597138 = +{ + .tileTag = ANIM_TAG_CLAW_SLASH, + .paletteTag = ANIM_TAG_CLAW_SLASH, + .oam = &gUnknown_08524914, + .anims = gUnknown_08597130, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_81144BC, +}; diff --git a/src/dragon.c b/src/dragon.c new file mode 100644 index 000000000..20ef357a0 --- /dev/null +++ b/src/dragon.c @@ -0,0 +1,180 @@ +#include "global.h" +#include "battle_anim.h" +#include "constants/rgb.h" + +extern void sub_8113064(struct Sprite *); +extern void sub_8113224(struct Sprite *); +extern void sub_81131B4(struct Sprite *); +extern void sub_8113224(struct Sprite *); +extern void sub_8113250(struct Sprite *); +extern void sub_81135EC(struct Sprite *); + +const union AnimCmd gUnknown_08596E60[] = +{ + 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_08596E78[] = +{ + gUnknown_08596E60, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_8596E7C = +{ + .tileTag = ANIM_TAG_SMALL_EMBER, + .paletteTag = ANIM_TAG_SMALL_EMBER, + .oam = &gUnknown_08524914, + .anims = gUnknown_08596E78, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8113064, +}; + +const union AnimCmd gUnknown_08596E94[] = +{ + ANIMCMD_FRAME(16, 3), + ANIMCMD_FRAME(32, 3), + ANIMCMD_FRAME(48, 3), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gUnknown_08596EA4[] = +{ + ANIMCMD_FRAME(16, 3, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(32, 3, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(48, 3, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const gUnknown_08596EB4[] = +{ + gUnknown_08596E94, + gUnknown_08596EA4, +}; + +const union AffineAnimCmd gUnknown_08596EBC[] = +{ + AFFINEANIMCMD_FRAME(0x50, 0x50, 127, 0), + AFFINEANIMCMD_FRAME(0xD, 0xD, 0, 100), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_08596ED4[] = +{ + AFFINEANIMCMD_FRAME(0x50, 0x50, 0, 0), + AFFINEANIMCMD_FRAME(0xD, 0xD, 0, 100), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gUnknown_08596EEC[] = +{ + gUnknown_08596EBC, + gUnknown_08596ED4, +}; + +const struct SpriteTemplate gUnknown_08596EF4 = +{ + .tileTag = ANIM_TAG_SMALL_EMBER, + .paletteTag = ANIM_TAG_SMALL_EMBER, + .oam = &gUnknown_085249D4, + .anims = gUnknown_08596EB4, + .images = NULL, + .affineAnims = gUnknown_08596EEC, + .callback = sub_8113224, +}; + +const union AnimCmd gUnknown_08596F0C[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(16, 5), + ANIMCMD_FRAME(32, 5), + ANIMCMD_FRAME(48, 5), + ANIMCMD_FRAME(64, 5), + ANIMCMD_END, +}; + +const union AnimCmd *const gUnknown_08596F24[] = +{ + gUnknown_08596F0C, +}; + +const struct SpriteTemplate gUnknown_08596F28 = +{ + .tileTag = ANIM_TAG_FIRE_PLUME, + .paletteTag = ANIM_TAG_FIRE_PLUME, + .oam = &gUnknown_08524914, + .anims = gUnknown_08596F24, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_81131B4, +}; + +const union AnimCmd gUnknown_08596F40[] = +{ + ANIMCMD_FRAME(16, 3), + ANIMCMD_FRAME(32, 3), + ANIMCMD_FRAME(48, 3), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const gUnknown_08596F50[] = +{ + gUnknown_08596F40, + gUnknown_08596F40, +}; + +const union AffineAnimCmd gUnknown_08596F58[] = +{ + AFFINEANIMCMD_FRAME(0x64, 0x64, 127, 1), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_08596F68[] = +{ + AFFINEANIMCMD_FRAME(0x64, 0x64, 0, 1), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gUnknown_08596F78[] = +{ + gUnknown_08596F58, + gUnknown_08596F68, +}; + +const struct SpriteTemplate gUnknown_08596F80 = +{ + .tileTag = ANIM_TAG_SMALL_EMBER, + .paletteTag = ANIM_TAG_SMALL_EMBER, + .oam = &gUnknown_085249D4, + .anims = gUnknown_08596F50, + .images = NULL, + .affineAnims = gUnknown_08596F78, + .callback = sub_8113224, +}; + +const struct SpriteTemplate gUnknown_08596F98 = +{ + .tileTag = ANIM_TAG_HOLLOW_ORB, + .paletteTag = ANIM_TAG_HOLLOW_ORB, + .oam = &gUnknown_0852490C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8113250, +}; + +const struct SpriteTemplate gUnknown_08596FB0 = +{ + .tileTag = ANIM_TAG_SMALL_EMBER, + .paletteTag = ANIM_TAG_SMALL_EMBER, + .oam = &gUnknown_08524914, + .anims = gUnknown_08596E78, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_81135EC, +}; diff --git a/src/fight.c b/src/fight.c new file mode 100644 index 000000000..89fe5900b --- /dev/null +++ b/src/fight.c @@ -0,0 +1,398 @@ +#include "global.h" +#include "battle_anim.h" +#include "constants/rgb.h" + +extern void unc_080B08A0(struct Sprite *); +extern void sub_810CE68(struct Sprite *); +extern void sub_810CEB4(struct Sprite *); +extern void sub_810CEE0(struct Sprite *); +extern void sub_810CF30(struct Sprite *); +extern void sub_810D10C(struct Sprite *); +extern void sub_810D1B4(struct Sprite *); +extern void sub_810D278(struct Sprite *); +extern void sub_810D2E4(struct Sprite *); +extern void sub_810D37C(struct Sprite *); +extern void sub_810D40C(struct Sprite *); +extern void sub_810D4F4(struct Sprite *); +extern void sub_810D608(struct Sprite *); +extern void sub_810D714(struct Sprite *); +extern void sub_810D874(struct Sprite *); +extern void sub_810D984(struct Sprite *); +extern void sub_810DA10(struct Sprite *); +extern void sub_810DA7C(struct Sprite *); + +const struct SpriteTemplate gUnknown_08595E14 = +{ + .tileTag = ANIM_TAG_HUMANOID_FOOT, + .paletteTag = ANIM_TAG_HUMANOID_FOOT, + .oam = &gUnknown_08524914, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = unc_080B08A0, +}; + +const union AnimCmd gUnknown_08595E2C[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_08595E34[] = +{ + ANIMCMD_FRAME(16, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_08595E3C[] = +{ + ANIMCMD_FRAME(32, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_08595E44[] = +{ + ANIMCMD_FRAME(48, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_08595E4C[] = +{ + ANIMCMD_FRAME(48, 1, .hFlip = TRUE), + ANIMCMD_END, +}; + +const union AnimCmd *const gUnknown_08595E54[] = +{ + gUnknown_08595E2C, +}; + +const union AnimCmd *const gUnknown_08595E58[] = +{ + gUnknown_08595E34, + gUnknown_08595E3C, +}; + +const union AnimCmd *const gUnknown_08595E60[] = +{ + gUnknown_08595E44, + gUnknown_08595E4C, +}; + +const struct SpriteTemplate gUnknown_08595E68 = +{ + .tileTag = ANIM_TAG_HANDS_AND_FEET, + .paletteTag = ANIM_TAG_HANDS_AND_FEET, + .oam = &gUnknown_08524914, + .anims = gUnknown_08595E54, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_810CE68, +}; + +const struct SpriteTemplate gUnknown_08595E80 = +{ + .tileTag = ANIM_TAG_HANDS_AND_FEET, + .paletteTag = ANIM_TAG_HANDS_AND_FEET, + .oam = &gUnknown_08524914, + .anims = gUnknown_08595E54, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_810CEB4, +}; + +const struct SpriteTemplate gFistFootSpriteTemplate = +{ + .tileTag = ANIM_TAG_HANDS_AND_FEET, + .paletteTag = ANIM_TAG_HANDS_AND_FEET, + .oam = &gUnknown_08524914, + .anims = gUnknown_08595E54, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_810CEE0, +}; + +const struct SpriteTemplate gUnknown_08595EB0 = +{ + .tileTag = ANIM_TAG_HANDS_AND_FEET, + .paletteTag = ANIM_TAG_HANDS_AND_FEET, + .oam = &gUnknown_08524914, + .anims = gUnknown_08595E54, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_810CF30, +}; + +const struct SpriteTemplate gUnknown_08595EC8 = +{ + .tileTag = ANIM_TAG_HANDS_AND_FEET, + .paletteTag = ANIM_TAG_HANDS_AND_FEET, + .oam = &gUnknown_08524914, + .anims = gUnknown_08595E60, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_810D10C, +}; + +const struct SpriteTemplate gUnknown_08595EE0 = +{ + .tileTag = ANIM_TAG_HANDS_AND_FEET, + .paletteTag = ANIM_TAG_HANDS_AND_FEET, + .oam = &gUnknown_08524914, + .anims = gUnknown_08595E58, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_810D1B4, +}; + +const union AffineAnimCmd gUnknown_08595EF8[] = +{ + AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), + AFFINEANIMCMD_FRAME(0xFFF8, 0xFFF8, 20, 1), + AFFINEANIMCMD_JUMP(1), +}; + +const union AffineAnimCmd *const gUnknown_08595F10[] = +{ + gUnknown_08595EF8, +}; + +const struct SpriteTemplate gUnknown_08595F14 = +{ + .tileTag = ANIM_TAG_HANDS_AND_FEET, + .paletteTag = ANIM_TAG_HANDS_AND_FEET, + .oam = &gUnknown_085249D4, + .anims = gUnknown_08595E54, + .images = NULL, + .affineAnims = gUnknown_08595F10, + .callback = sub_810D278, +}; + +const union AffineAnimCmd gUnknown_08595F2C[] = +{ + AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), + AFFINEANIMCMD_FRAME(0xFFFC, 0xFFFC, 20, 1), + AFFINEANIMCMD_JUMP(1), +}; + +const union AffineAnimCmd *const gUnknown_08595F44[] = +{ + gUnknown_08595F2C, +}; + +const struct SpriteTemplate gMegaPunchKickSpriteTemplate = +{ + .tileTag = ANIM_TAG_HANDS_AND_FEET, + .paletteTag = ANIM_TAG_HANDS_AND_FEET, + .oam = &gUnknown_085249D4, + .anims = gUnknown_08595E54, + .images = NULL, + .affineAnims = gUnknown_08595F44, + .callback = sub_810D278, +}; + +const struct SpriteTemplate gUnknown_08595F60 = +{ + .tileTag = ANIM_TAG_HANDS_AND_FEET, + .paletteTag = ANIM_TAG_HANDS_AND_FEET, + .oam = &gUnknown_08524914, + .anims = gUnknown_08595E58, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_810D2E4, +}; + +const struct SpriteTemplate gUnknown_08595F78 = +{ + .tileTag = ANIM_TAG_DUCK, + .paletteTag = ANIM_TAG_DUCK, + .oam = &gUnknown_0852490C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_810D37C, +}; + +const struct SpriteTemplate gUnknown_08595F90 = +{ + .tileTag = ANIM_TAG_BLUE_LIGHT_WALL, + .paletteTag = ANIM_TAG_BLUE_LIGHT_WALL, + .oam = &gUnknown_08524A3C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_810D40C, +}; + +const struct SpriteTemplate gUnknown_08595FA8 = +{ + .tileTag = ANIM_TAG_TORN_METAL, + .paletteTag = ANIM_TAG_TORN_METAL, + .oam = &gUnknown_08524914, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_810D4F4, +}; + +const union AffineAnimCmd gUnknown_08595FC0[] = +{ + AFFINEANIMCMD_FRAME(0x20, 0x20, 0, 0), + AFFINEANIMCMD_FRAME(0x4, 0x4, 0, 64), + AFFINEANIMCMD_FRAME(0xFFFA, 0xFFFA, 0, 8), + AFFINEANIMCMD_FRAME(0x6, 0x6, 0, 8), + AFFINEANIMCMD_JUMP(2), +}; + +const union AffineAnimCmd *const gUnknown_08595FE8[] = +{ + gUnknown_08595FC0, +}; + +const struct SpriteTemplate gUnknown_08595FEC = +{ + .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, + .paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT, + .oam = &gUnknown_08524AFC, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_08595FE8, + .callback = sub_810D608, +}; + +const struct SpriteTemplate gUnknown_08596004 = +{ + .tileTag = ANIM_TAG_FLAT_ROCK, + .paletteTag = ANIM_TAG_FLAT_ROCK, + .oam = &gUnknown_0852490C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_810D714, +}; + +const struct SpriteTemplate gUnknown_0859601C = +{ + .tileTag = ANIM_TAG_METEOR, + .paletteTag = ANIM_TAG_METEOR, + .oam = &gUnknown_0852491C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_810D874, +}; + +const struct SpriteTemplate gUnknown_08596034 = +{ + .tileTag = ANIM_TAG_HANDS_AND_FEET, + .paletteTag = ANIM_TAG_HANDS_AND_FEET, + .oam = &gUnknown_08524914, + .anims = gUnknown_08595E54, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_810D984, +}; + +const union AnimCmd gUnknown_0859604C[] = +{ + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(16, 4), + ANIMCMD_FRAME(32, 4), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_0859605C[] = +{ + ANIMCMD_FRAME(0, 4, .vFlip = TRUE), + ANIMCMD_FRAME(16, 4, .vFlip = TRUE), + ANIMCMD_FRAME(32, 4, .vFlip = TRUE), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_0859606C[] = +{ + ANIMCMD_FRAME(0, 4, .hFlip = TRUE), + ANIMCMD_FRAME(16, 4, .hFlip = TRUE), + ANIMCMD_FRAME(32, 4, .hFlip = TRUE), + ANIMCMD_END, +}; + +const union AnimCmd *const gUnknown_0859607C[] = +{ + gUnknown_0859604C, + gUnknown_0859605C, + gUnknown_0859606C, +}; + +const struct SpriteTemplate gUnknown_08596088 = +{ + .tileTag = ANIM_TAG_PURPLE_SCRATCH, + .paletteTag = ANIM_TAG_PURPLE_SCRATCH, + .oam = &gUnknown_08524914, + .anims = gUnknown_0859607C, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_810DA10, +}; + +const union AnimCmd gUnknown_085960A0[] = +{ + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(64, 6), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_085960AC[] = +{ + ANIMCMD_FRAME(0, 6, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(64, 6, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_085960B8[] = +{ + ANIMCMD_FRAME(0, 6, .hFlip = TRUE), + ANIMCMD_FRAME(64, 6, .hFlip = TRUE), + ANIMCMD_END, +}; + +const union AnimCmd *const gUnknown_085960C4[] = +{ + gUnknown_085960A0, + gUnknown_085960AC, + gUnknown_085960B8, +}; + +const struct SpriteTemplate gUnknown_085960D0 = +{ + .tileTag = ANIM_TAG_PURPLE_SWIPE, + .paletteTag = ANIM_TAG_PURPLE_SWIPE, + .oam = &gUnknown_0852491C, + .anims = gUnknown_085960C4, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_810DA10, +}; + +const union AffineAnimCmd gUnknown_085960E8[] = +{ + AFFINEANIMCMD_FRAME(0x200, 0x200, 0, 0), + AFFINEANIMCMD_FRAME(0xFFE0, 0xFFE0, 0, 8), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gUnknown_08596100[] = +{ + gUnknown_085960E8, +}; + +const struct SpriteTemplate gUnknown_08596104 = +{ + .tileTag = ANIM_TAG_HANDS_AND_FEET, + .paletteTag = ANIM_TAG_HANDS_AND_FEET, + .oam = &gUnknown_085249D4, + .anims = gUnknown_08595E54, + .images = NULL, + .affineAnims = gUnknown_08596100, + .callback = sub_810DA7C, +}; diff --git a/src/flying.c b/src/flying.c new file mode 100644 index 000000000..d3ea3f11b --- /dev/null +++ b/src/flying.c @@ -0,0 +1,328 @@ +#include "global.h" +#include "battle_anim.h" +#include "constants/rgb.h" + +extern void sub_810DE70(struct Sprite *); +extern void sub_810DFA8(struct Sprite *); +extern void sub_810E044(struct Sprite *); +extern void sub_810E13C(struct Sprite *); +extern void sub_810E1C8(struct Sprite *); +extern void sub_810E314(struct Sprite *); +extern void sub_810EA4C(struct Sprite *); +extern void sub_810EAA0(struct Sprite *); +extern void sub_810EC34(struct Sprite *); +extern void sub_810EC94(struct Sprite *); +extern void sub_810ED28(struct Sprite *); +extern void sub_810EE14(struct Sprite *); +extern void sub_810EEF8(struct Sprite *); +extern void sub_810F004(struct Sprite *); +extern void sub_810F084(struct Sprite *); + +const struct SpriteTemplate gUnknown_08596270 = +{ + .tileTag = ANIM_TAG_GUST, + .paletteTag = ANIM_TAG_GUST, + .oam = &gUnknown_0852495C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_810DE70, +}; + +const union AffineAnimCmd gUnknown_08596288[] = +{ + AFFINEANIMCMD_FRAME(0x10, 0x100, 0, 0), + AFFINEANIMCMD_FRAME(0xA, 0x0, 0, 24), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gUnknown_085962A0[] = +{ + gUnknown_08596288, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_85962A4 = +{ + .tileTag = ANIM_TAG_GUST, + .paletteTag = ANIM_TAG_GUST, + .oam = &gUnknown_085249BC, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_085962A0, + .callback = sub_810DFA8, +}; + +const union AnimCmd gUnknown_085962BC[] = +{ + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(0, 3, .hFlip = TRUE), + ANIMCMD_FRAME(0, 3, .vFlip = TRUE), + ANIMCMD_FRAME(0, 3, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const gUnknown_085962D0[] = +{ + gUnknown_085962BC, +}; + +const struct SpriteTemplate gUnknown_085962D4 = +{ + .tileTag = ANIM_TAG_AIR_WAVE_2, + .paletteTag = ANIM_TAG_AIR_WAVE_2, + .oam = &gUnknown_08524934, + .anims = gUnknown_085962D0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_810E044, +}; + +const union AffineAnimCmd gUnknown_085962EC[] = +{ + AFFINEANIMCMD_FRAME(0x10, 0x100, 0, 0), + AFFINEANIMCMD_FRAME(0x28, 0x0, 0, 6), + AFFINEANIMCMD_FRAME(0x0, 0xFFE0, 0, 5), + AFFINEANIMCMD_FRAME(0xFFF0, 0x20, 0, 10), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gUnknown_08596314[] = +{ + gUnknown_085962EC, +}; + +const union AffineAnimCmd gUnknown_08596318[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, 50, 1), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_08596328[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, -40, 1), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gUnknown_08596338[] = +{ + gUnknown_08596318, + gUnknown_08596328, +}; + +const struct SpriteTemplate gUnknown_08596340 = +{ + .tileTag = ANIM_TAG_ROUND_SHADOW, + .paletteTag = ANIM_TAG_ROUND_SHADOW, + .oam = &gUnknown_085249DC, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_08596314, + .callback = sub_810E13C, +}; + +const struct SpriteTemplate gUnknown_08596358 = +{ + .tileTag = ANIM_TAG_ROUND_SHADOW, + .paletteTag = ANIM_TAG_ROUND_SHADOW, + .oam = &gUnknown_0852497C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_08596338, + .callback = sub_810E1C8, +}; + +const union AnimCmd gUnknown_08596370[] = +{ + ANIMCMD_FRAME(0, 0), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_08596378[] = +{ + ANIMCMD_FRAME(16, 0, .hFlip = TRUE), + ANIMCMD_END, +}; + +const union AnimCmd *const gUnknown_08596380[] = +{ + gUnknown_08596370, + gUnknown_08596378, +}; + +const struct SpriteTemplate gUnknown_08596388 = +{ + .tileTag = ANIM_TAG_WHITE_FEATHER, + .paletteTag = ANIM_TAG_WHITE_FEATHER, + .oam = &gUnknown_08524974, + .anims = gUnknown_08596380, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_810E314, +}; + +const struct SpriteTemplate gUnknown_085963A0 = +{ + .tileTag = ANIM_TAG_SMALL_BUBBLES, + .paletteTag = ANIM_TAG_SMALL_BUBBLES, + .oam = &gUnknown_0852490C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_810EA4C, +}; + +const union AnimCmd gUnknown_085963B8[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(8, 1), + ANIMCMD_FRAME(16, 1), + ANIMCMD_FRAME(8, 1, .hFlip = TRUE), + ANIMCMD_FRAME(0, 1, .hFlip = TRUE), + ANIMCMD_END, +}; + +const union AnimCmd *const gUnknown_085963D0[] = +{ + gUnknown_085963B8, +}; + +const struct SpriteTemplate gUnknown_085963D4 = +{ + .tileTag = ANIM_TAG_WHIRLWIND_LINES, + .paletteTag = ANIM_TAG_WHIRLWIND_LINES, + .oam = &gUnknown_08524934, + .anims = gUnknown_085963D0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_810EAA0, +}; + +const union AffineAnimCmd gUnknown_085963EC[] = +{ + AFFINEANIMCMD_FRAME(0x10, 0x100, 0, 0), + AFFINEANIMCMD_FRAME(0x28, 0x0, 0, 6), + AFFINEANIMCMD_FRAME(0x0, 0xFFE0, 0, 5), + AFFINEANIMCMD_FRAME(0xFFEC, 0x0, 0, 7), + AFFINEANIMCMD_FRAME(0xFFEC, 0xFFEC, 0, 5), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gUnknown_0859641C[] = +{ + gUnknown_085963EC, +}; + +const struct SpriteTemplate gUnknown_08596420 = +{ + .tileTag = ANIM_TAG_ROUND_SHADOW, + .paletteTag = ANIM_TAG_ROUND_SHADOW, + .oam = &gUnknown_085249DC, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_0859641C, + .callback = sub_810EC34, +}; + +const union AffineAnimCmd gUnknown_08596438[] = +{ + AFFINEANIMCMD_FRAME(0xA0, 0x100, 0, 0), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gUnknown_08596448[] = +{ + gUnknown_08596438, +}; + +const struct SpriteTemplate gUnknown_0859644C = +{ + .tileTag = ANIM_TAG_ROUND_SHADOW, + .paletteTag = ANIM_TAG_ROUND_SHADOW, + .oam = &gUnknown_085249DC, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_08596448, + .callback = sub_810EC94, +}; + +const union AffineAnimCmd gUnknown_08596464[] = +{ + AFFINEANIMCMD_FRAME(0x10, 0x100, 0, 0), + AFFINEANIMCMD_FRAME(0x28, 0x0, 0, 6), + AFFINEANIMCMD_FRAME(0x0, 0xFFE0, 0, 5), + AFFINEANIMCMD_FRAME(0xFFF0, 0x20, 0, 10), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gUnknown_0859648C[] = +{ + gUnknown_08596464, +}; + +const struct SpriteTemplate gUnknown_08596490 = +{ + .tileTag = ANIM_TAG_ROUND_SHADOW, + .paletteTag = ANIM_TAG_ROUND_SHADOW, + .oam = &gUnknown_085249DC, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_0859648C, + .callback = sub_810ED28, +}; + +const union AffineAnimCmd gUnknown_085964A8[] = +{ + AFFINEANIMCMD_FRAME(0x100, 0x0, 0, 0), + AFFINEANIMCMD_FRAME(0x0, 0x20, 0, 12), + AFFINEANIMCMD_FRAME(0x0, 0xFFE0, 0, 11), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gUnknown_085964C8[] = +{ + gUnknown_085964A8, +}; + +const struct SpriteTemplate gUnknown_085964CC = +{ + .tileTag = ANIM_TAG_SPLASH, + .paletteTag = ANIM_TAG_SPLASH, + .oam = &gUnknown_085249DC, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_810EE14, +}; + +const struct SpriteTemplate gUnknown_085964E4 = +{ + .tileTag = ANIM_TAG_SWEAT_BEAD, + .paletteTag = ANIM_TAG_SWEAT_BEAD, + .oam = &gUnknown_08524904, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_810EEF8, +}; + +const struct SpriteTemplate gUnknown_085964FC = +{ + .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, + .paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT, + .oam = &gUnknown_08524A3C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_810F004, +}; + +const struct SpriteTemplate gUnknown_08596514 = +{ + .tileTag = ANIM_TAG_BIRD, + .paletteTag = ANIM_TAG_BIRD, + .oam = &gUnknown_085249DC, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_810F084, +}; diff --git a/src/ghost.c b/src/ghost.c new file mode 100644 index 000000000..ce57df7e8 --- /dev/null +++ b/src/ghost.c @@ -0,0 +1,186 @@ +#include "global.h" +#include "battle_anim.h" +#include "constants/rgb.h" + +extern void sub_811160C(struct Sprite *); +extern void sub_81117F4(struct Sprite *); +extern void sub_81119E0(struct Sprite *); +extern void sub_8111B9C(struct Sprite *); +extern void sub_8112264(struct Sprite *); +extern void sub_81129F0(struct Sprite *); +extern void sub_8112B78(struct Sprite *); +extern void sub_8112E9C(struct Sprite *); +extern void sub_8112F60(struct Sprite *); + +const union AffineAnimCmd gUnknown_08596CF8[] = +{ + AFFINEANIMCMD_FRAME(0x1E, 0x1E, 10, 5), + AFFINEANIMCMD_FRAME(0xFFE2, 0xFFE2, 10, 5), + AFFINEANIMCMD_JUMP(0), +}; + +const union AffineAnimCmd *const gUnknown_08596D10[] = +{ + gUnknown_08596CF8, +}; + +const struct SpriteTemplate gUnknown_08596D14 = +{ + .tileTag = ANIM_TAG_YELLOW_BALL, + .paletteTag = ANIM_TAG_YELLOW_BALL, + .oam = &gUnknown_085249CC, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_08596D10, + .callback = sub_811160C, +}; + +const struct SpriteTemplate gUnknown_08596D2C = +{ + .tileTag = ANIM_TAG_YELLOW_BALL, + .paletteTag = ANIM_TAG_YELLOW_BALL, + .oam = &gUnknown_08524A2C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_81117F4, +}; + +const union AffineAnimCmd gUnknown_08596D44[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, 10, 1), + AFFINEANIMCMD_JUMP(0), +}; + +const union AffineAnimCmd *const gUnknown_08596D54[] = +{ + gUnknown_08596D44, +}; + +const struct SpriteTemplate gUnknown_08596D58 = +{ + .tileTag = ANIM_TAG_SHADOW_BALL, + .paletteTag = ANIM_TAG_SHADOW_BALL, + .oam = &gUnknown_08524974, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_08596D54, + .callback = sub_81119E0, +}; + +const union AnimCmd gUnknown_08596D70[] = +{ + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(8, 2), + ANIMCMD_FRAME(16, 2), + ANIMCMD_FRAME(24, 2), + ANIMCMD_FRAME(32, 2), + ANIMCMD_END, +}; + +const union AnimCmd *const gUnknown_08596D88[] = +{ + gUnknown_08596D70, +}; + +const struct SpriteTemplate gUnknown_08596D8C = +{ + .tileTag = ANIM_TAG_LICK, + .paletteTag = ANIM_TAG_LICK, + .oam = &gUnknown_08524954, + .anims = gUnknown_08596D88, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8111B9C, +}; + +const union AffineAnimCmd gUnknown_08596DA4[] = +{ + AFFINEANIMCMD_FRAME(0x200, 0x200, 0, 0), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gUnknown_08596DB4[] = +{ + gUnknown_08596DA4, +}; + +const struct SpriteTemplate gUnknown_08596DB8 = +{ + .tileTag = ANIM_TAG_WHITE_SHADOW, + .paletteTag = ANIM_TAG_WHITE_SHADOW, + .oam = &gUnknown_08524A5C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8112264, +}; + +const struct SpriteTemplate gUnknown_08596DD0 = +{ + .tileTag = ANIM_TAG_NAIL, + .paletteTag = ANIM_TAG_NAIL, + .oam = &gUnknown_08524A54, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_81129F0, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_8596DE8 = +{ + .tileTag = ANIM_TAG_GHOSTLY_SPIRIT, + .paletteTag = ANIM_TAG_GHOSTLY_SPIRIT, + .oam = &gUnknown_08524A34, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8112B78, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_8596E00 = +{ + .tileTag = ANIM_TAG_DEVIL, + .paletteTag = ANIM_TAG_DEVIL, + .oam = &gUnknown_08524A34, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8112B78, +}; + +const union AnimCmd gUnknown_08596E18[] = +{ + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(8, 4), + ANIMCMD_FRAME(16, 4), + ANIMCMD_FRAME(24, 4), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const gUnknown_08596E2C[] = +{ + gUnknown_08596E18, +}; + +const struct SpriteTemplate gUnknown_08596E30 = +{ + .tileTag = ANIM_TAG_PURPLE_FLAME, + .paletteTag = ANIM_TAG_PURPLE_FLAME, + .oam = &gUnknown_08524A74, + .anims = gUnknown_08596E2C, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8112E9C, +}; + +const struct SpriteTemplate gUnknown_08596E48 = +{ + .tileTag = 0, + .paletteTag = 0, + .oam = &gDummyOamData, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8112F60, +}; diff --git a/src/ground.c b/src/ground.c new file mode 100644 index 000000000..33eb3660a --- /dev/null +++ b/src/ground.c @@ -0,0 +1,121 @@ +#include "global.h" +#include "battle_anim.h" +#include "constants/rgb.h" + +extern void sub_8114994(struct Sprite *); +extern void sub_8114A7C(struct Sprite *); +extern void sub_8114AF0(struct Sprite *); +extern void sub_8114AF0(struct Sprite *); +extern void sub_8114B80(struct Sprite *); +extern void sub_81151A0(struct Sprite *); +extern void sub_8115244(struct Sprite *); + +const union AffineAnimCmd gUnknown_08597150[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, 15, 1), + AFFINEANIMCMD_JUMP(0), +}; + +const union AffineAnimCmd gUnknown_08597160[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, 20, 1), + AFFINEANIMCMD_JUMP(0), +}; + +const union AffineAnimCmd *const gUnknown_08597170[] = +{ + gUnknown_08597150, +}; + +const union AffineAnimCmd *const gUnknown_08597174[] = +{ + gUnknown_08597160, +}; + +const struct SpriteTemplate gUnknown_08597178 = +{ + .tileTag = ANIM_TAG_BONE, + .paletteTag = ANIM_TAG_BONE, + .oam = &gUnknown_08524974, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_08597170, + .callback = sub_8114994, +}; + +const struct SpriteTemplate gUnknown_08597190 = +{ + .tileTag = ANIM_TAG_BONE, + .paletteTag = ANIM_TAG_BONE, + .oam = &gUnknown_08524974, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_08597174, + .callback = sub_8114A7C, +}; + +const struct SpriteTemplate gUnknown_085971A8 = +{ + .tileTag = ANIM_TAG_MUD_SAND, + .paletteTag = ANIM_TAG_MUD_SAND, + .oam = &gUnknown_08524904, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8114AF0, +}; + +const union AnimCmd gUnknown_085971C0[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +const union AnimCmd *const gUnknown_085971C8[] = +{ + gUnknown_085971C0, +}; + +const struct SpriteTemplate gUnknown_085971CC = +{ + .tileTag = ANIM_TAG_MUD_SAND, + .paletteTag = ANIM_TAG_MUD_SAND, + .oam = &gUnknown_0852490C, + .anims = gUnknown_085971C8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8114AF0, +}; + +const struct SpriteTemplate gUnknown_085971E4 = +{ + .tileTag = ANIM_TAG_MUD_SAND, + .paletteTag = ANIM_TAG_MUD_SAND, + .oam = &gUnknown_0852490C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8114B80, +}; + +const struct SpriteTemplate gUnknown_085971FC = +{ + .tileTag = ANIM_TAG_MUD_SAND, + .paletteTag = ANIM_TAG_MUD_SAND, + .oam = &gUnknown_08524904, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_81151A0, +}; + +const struct SpriteTemplate gUnknown_08597214 = +{ + .tileTag = ANIM_TAG_DIRT_MOUND, + .paletteTag = ANIM_TAG_DIRT_MOUND, + .oam = &gUnknown_08524934, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8115244, +}; diff --git a/src/normal.c b/src/normal.c new file mode 100644 index 000000000..a4ed5edca --- /dev/null +++ b/src/normal.c @@ -0,0 +1,233 @@ +#include "global.h" +#include "battle_anim.h" +#include "constants/rgb.h" + +extern void sub_811572C(struct Sprite *); +extern void sub_81157FC(struct Sprite *); +extern void sub_81158A4(struct Sprite *); +extern void sub_81159B4(struct Sprite *); +extern void sub_81160A4(struct Sprite *); +extern void sub_8116388(struct Sprite *); +extern void sub_8116420(struct Sprite *); +extern void sub_8116458(struct Sprite *); +extern void sub_81164F0(struct Sprite *); +extern void sub_8116560(struct Sprite *); +extern void sub_81165A8(struct Sprite *); +extern void sub_81163D0(struct Sprite *); + +const union AnimCmd gUnknown_0859722C[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(4, 8), + ANIMCMD_FRAME(0, 8, .hFlip = TRUE), + ANIMCMD_FRAME(8, 8), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gUnknown_08597240[] = +{ + ANIMCMD_FRAME(0, 8, .hFlip = TRUE), + ANIMCMD_FRAME(4, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(8, 8), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const gUnknown_08597254[] = +{ + gUnknown_0859722C, + gUnknown_08597240, +}; + +const struct SpriteTemplate gConfusionDuckSpriteTemplate = +{ + .tileTag = ANIM_TAG_DUCK, + .paletteTag = ANIM_TAG_DUCK, + .oam = &gUnknown_0852490C, + .anims = gUnknown_08597254, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_811572C, +}; + +const struct SpriteTemplate gSimplePaletteBlendSpriteTemplate = +{ + .tileTag = 0, + .paletteTag = 0, + .oam = &gDummyOamData, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_81157FC, +}; + +const struct SpriteTemplate gComplexPaletteBlendSpriteTemplate = +{ + .tileTag = 0, + .paletteTag = 0, + .oam = &gDummyOamData, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_81158A4, +}; + +const union AnimCmd gUnknown_085972A4[] = +{ + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(16, 3), + ANIMCMD_FRAME(32, 3), + ANIMCMD_FRAME(48, 3), + ANIMCMD_FRAME(64, 3), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const gUnknown_085972BC[] = +{ + gUnknown_085972A4, +}; + +const struct SpriteTemplate gUnknown_085972C0 = +{ + .tileTag = ANIM_TAG_SPARKLE_4, + .paletteTag = ANIM_TAG_SPARKLE_4, + .oam = &gUnknown_08524914, + .anims = gUnknown_085972BC, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_81159B4, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_85972D8 = +{ + .tileTag = 0, + .paletteTag = 0, + .oam = &gDummyOamData, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_81160A4, +}; + +const union AffineAnimCmd gUnknown_085972F0[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_08597300[] = +{ + AFFINEANIMCMD_FRAME(0xD8, 0xD8, 0, 0), + AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_08597318[] = +{ + AFFINEANIMCMD_FRAME(0xB0, 0xB0, 0, 0), + AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_08597330[] = +{ + AFFINEANIMCMD_FRAME(0x80, 0x80, 0, 0), + AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gUnknown_08597348[] = +{ + gUnknown_085972F0, + gUnknown_08597300, + gUnknown_08597318, + gUnknown_08597330, +}; + +const struct SpriteTemplate gBasicHitSplatSpriteTemplate = +{ + .tileTag = ANIM_TAG_IMPACT, + .paletteTag = ANIM_TAG_IMPACT, + .oam = &gUnknown_08524A94, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_08597348, + .callback = sub_8116388, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_8597370 = +{ + .tileTag = ANIM_TAG_IMPACT, + .paletteTag = ANIM_TAG_IMPACT, + .oam = &gUnknown_08524A94, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_08597348, + .callback = sub_8116420, +}; + +const struct SpriteTemplate gUnknown_08597388 = +{ + .tileTag = ANIM_TAG_WATER_IMPACT, + .paletteTag = ANIM_TAG_WATER_IMPACT, + .oam = &gUnknown_08524A94, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_08597348, + .callback = sub_8116388, +}; + +const struct SpriteTemplate gUnknown_085973A0 = +{ + .tileTag = ANIM_TAG_IMPACT, + .paletteTag = ANIM_TAG_IMPACT, + .oam = &gUnknown_08524A94, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_08597348, + .callback = sub_8116458, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_85973B8 = +{ + .tileTag = ANIM_TAG_IMPACT, + .paletteTag = ANIM_TAG_IMPACT, + .oam = &gUnknown_08524A94, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_08597348, + .callback = sub_81164F0, +}; + +const struct SpriteTemplate gUnknown_085973D0 = +{ + .tileTag = ANIM_TAG_CROSS_IMPACT, + .paletteTag = ANIM_TAG_CROSS_IMPACT, + .oam = &gUnknown_08524A34, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8116560, +}; + +const struct SpriteTemplate gUnknown_085973E8 = +{ + .tileTag = ANIM_TAG_IMPACT, + .paletteTag = ANIM_TAG_IMPACT, + .oam = &gUnknown_08524974, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_08597348, + .callback = sub_81165A8, +}; + +const struct SpriteTemplate gUnknown_08597400 = +{ + .tileTag = ANIM_TAG_IMPACT, + .paletteTag = ANIM_TAG_IMPACT, + .oam = &gUnknown_08524A94, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_08597348, + .callback = sub_81163D0, +}; diff --git a/src/poison.c b/src/poison.c new file mode 100644 index 000000000..f0d8ec553 --- /dev/null +++ b/src/poison.c @@ -0,0 +1,185 @@ +#include "global.h" +#include "battle_anim.h" +#include "constants/rgb.h" + +extern void sub_80A77C8(struct Sprite *); +extern void sub_810DBAC(struct Sprite *); +extern void sub_810DC2C(struct Sprite *); +extern void sub_810DCD0(struct Sprite *); +extern void sub_810DD50(struct Sprite *); +extern void sub_810DDC4(struct Sprite *); +extern void sub_810DDC4(struct Sprite *); + +extern const union AnimCmd *const gUnknown_08595200[]; + +const union AnimCmd gUnknown_0859611C[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(8, 5), + ANIMCMD_FRAME(16, 5), + ANIMCMD_FRAME(24, 5), + ANIMCMD_END, +}; + +const union AnimCmd *const gUnknown_08596130[] = +{ + gUnknown_0859611C, +}; + +const struct SpriteTemplate gUnknown_08596134 = +{ + .tileTag = ANIM_TAG_TOXIC_BUBBLE, + .paletteTag = ANIM_TAG_TOXIC_BUBBLE, + .oam = &gUnknown_08524954, + .anims = gUnknown_08596130, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80A77C8, +}; + +const union AnimCmd gUnknown_0859614C[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_08596154[] = +{ + ANIMCMD_FRAME(4, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_0859615C[] = +{ + ANIMCMD_FRAME(8, 1), + ANIMCMD_END, +}; + +const union AnimCmd *const gUnknown_08596164[] = +{ + gUnknown_0859614C, +}; + +const union AnimCmd *const gUnknown_08596168[] = +{ + gUnknown_08596154, +}; + +const union AnimCmd *const gUnknown_0859616C[] = +{ + gUnknown_0859615C, +}; + +const union AffineAnimCmd gUnknown_08596170[] = +{ + AFFINEANIMCMD_FRAME(0x160, 0x160, 0, 0), + AFFINEANIMCMD_FRAME(0xFFF6, 0xFFF6, 0, 10), + AFFINEANIMCMD_FRAME(0xA, 0xA, 0, 10), + AFFINEANIMCMD_JUMP(0), +}; + +const union AffineAnimCmd gUnknown_08596190[] = +{ + AFFINEANIMCMD_FRAME(0xEC, 0xEC, 0, 0), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gUnknown_085961A0[] = +{ + gUnknown_08596170, +}; + +const union AffineAnimCmd *const gUnknown_085961A4[] = +{ + gUnknown_08596190, +}; + +const struct SpriteTemplate gUnknown_085961A8 = +{ + .tileTag = ANIM_TAG_POISON_BUBBLE, + .paletteTag = ANIM_TAG_POISON_BUBBLE, + .oam = &gUnknown_085249CC, + .anims = gUnknown_08596164, + .images = NULL, + .affineAnims = gUnknown_085961A0, + .callback = sub_810DBAC, +}; + +const struct SpriteTemplate gUnknown_085961C0 = +{ + .tileTag = ANIM_TAG_POISON_BUBBLE, + .paletteTag = ANIM_TAG_POISON_BUBBLE, + .oam = &gUnknown_085249CC, + .anims = gUnknown_08596164, + .images = NULL, + .affineAnims = gUnknown_085961A0, + .callback = sub_810DC2C, +}; + +const struct SpriteTemplate gUnknown_085961D8 = +{ + .tileTag = ANIM_TAG_POISON_BUBBLE, + .paletteTag = ANIM_TAG_POISON_BUBBLE, + .oam = &gUnknown_0852496C, + .anims = gUnknown_0859616C, + .images = NULL, + .affineAnims = gUnknown_085961A4, + .callback = sub_810DCD0, +}; + +const union AffineAnimCmd gUnknown_085961F0[] = +{ + AFFINEANIMCMD_FRAME(0xFFF0, 0x10, 0, 6), + AFFINEANIMCMD_FRAME(0x10, 0xFFF0, 0, 6), + AFFINEANIMCMD_JUMP(0), +}; + +const union AffineAnimCmd *const gUnknown_08596208[] = +{ + gUnknown_085961F0, +}; + +const struct SpriteTemplate gUnknown_0859620C = +{ + .tileTag = ANIM_TAG_POISON_BUBBLE, + .paletteTag = ANIM_TAG_POISON_BUBBLE, + .oam = &gUnknown_085249CC, + .anims = gUnknown_08596168, + .images = NULL, + .affineAnims = gUnknown_08596208, + .callback = sub_810DD50, +}; + +const union AffineAnimCmd gUnknown_08596224[] = +{ + AFFINEANIMCMD_FRAME(0x9C, 0x9C, 0, 0), + AFFINEANIMCMD_FRAME(0x5, 0x5, 0, 20), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gUnknown_0859623C[] = +{ + gUnknown_08596224, +}; + +const struct SpriteTemplate gPoisonBubbleSpriteTemplate = +{ + .tileTag = ANIM_TAG_POISON_BUBBLE, + .paletteTag = ANIM_TAG_POISON_BUBBLE, + .oam = &gUnknown_0852496C, + .anims = gUnknown_08596164, + .images = NULL, + .affineAnims = gUnknown_0859623C, + .callback = sub_810DDC4, +}; + +const struct SpriteTemplate gWaterBubbleSpriteTemplate = +{ + .tileTag = ANIM_TAG_SMALL_BUBBLES, + .paletteTag = ANIM_TAG_SMALL_BUBBLES, + .oam = &gUnknown_08524A8C, + .anims = gUnknown_08595200, + .images = NULL, + .affineAnims = gUnknown_0859623C, + .callback = sub_810DDC4, +}; diff --git a/src/psychic.c b/src/psychic.c new file mode 100644 index 000000000..efd15f746 --- /dev/null +++ b/src/psychic.c @@ -0,0 +1,405 @@ +#include "global.h" +#include "battle_anim.h" +#include "constants/rgb.h" + +extern void sub_80A77C8(struct Sprite *); +extern void sub_810F1EC(struct Sprite *); +extern void sub_810F1EC(struct Sprite *); +extern void sub_810F58C(struct Sprite *); +extern void TranslateAnimSpriteToTargetMonLocation(struct Sprite *); +extern void sub_810F634(struct Sprite *); +extern void sub_810F6B0(struct Sprite *); +extern void sub_810FBA8(struct Sprite *); +extern void sub_810FDF0(struct Sprite *); +extern void sub_80A77C8(struct Sprite *); +extern void sub_8110240(struct Sprite *); + +const union AffineAnimCmd gUnknown_0859652C[] = +{ + AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), + AFFINEANIMCMD_FRAME(0xFFFE, 0xFFFE, -10, 120), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gUnknown_08596544[] = +{ + gUnknown_0859652C, +}; + +const struct SpriteTemplate gUnknown_08596548 = +{ + .tileTag = ANIM_TAG_SPIRAL, + .paletteTag = ANIM_TAG_SPIRAL, + .oam = &gUnknown_08524A9C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_08596544, + .callback = sub_80A77C8, +}; + +const struct SpriteTemplate gUnknown_08596560 = +{ + .tileTag = ANIM_TAG_GREEN_LIGHT_WALL, + .paletteTag = ANIM_TAG_GREEN_LIGHT_WALL, + .oam = &gUnknown_08524A3C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_810F1EC, +}; + +const struct SpriteTemplate gUnknown_08596578 = +{ + .tileTag = ANIM_TAG_BLUE_LIGHT_WALL, + .paletteTag = ANIM_TAG_BLUE_LIGHT_WALL, + .oam = &gUnknown_08524A3C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_810F1EC, +}; + +const struct SpriteTemplate gUnknown_08596590 = +{ + .tileTag = ANIM_TAG_RED_LIGHT_WALL, + .paletteTag = ANIM_TAG_RED_LIGHT_WALL, + .oam = &gUnknown_08524A3C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_810F1EC, +}; + +const struct SpriteTemplate gUnknown_085965A8 = +{ + .tileTag = ANIM_TAG_GRAY_LIGHT_WALL, + .paletteTag = ANIM_TAG_GRAY_LIGHT_WALL, + .oam = &gUnknown_08524A3C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_810F1EC, +}; + +const struct SpriteTemplate gUnknown_085965C0 = +{ + .tileTag = ANIM_TAG_ORANGE_LIGHT_WALL, + .paletteTag = ANIM_TAG_ORANGE_LIGHT_WALL, + .oam = &gUnknown_08524A3C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_810F1EC, +}; + +const union AnimCmd gUnknown_085965D8[] = +{ + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(16, 3), + ANIMCMD_FRAME(32, 3), + ANIMCMD_FRAME(48, 3), + ANIMCMD_FRAME(64, 3), + ANIMCMD_END, +}; + +const union AnimCmd *const gUnknown_085965F0[] = +{ + gUnknown_085965D8, +}; + +const struct SpriteTemplate gUnknown_085965F4 = +{ + .tileTag = ANIM_TAG_SPARKLE_4, + .paletteTag = ANIM_TAG_SPARKLE_4, + .oam = &gUnknown_08524914, + .anims = gUnknown_085965F0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_810F58C, +}; + +const union AnimCmd gUnknown_0859660C[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(4, 5), + ANIMCMD_FRAME(8, 5), + ANIMCMD_FRAME(12, 5), + ANIMCMD_END, +}; + +const union AnimCmd *const gUnknown_08596620[] = +{ + gUnknown_0859660C, +}; + +const struct SpriteTemplate gUnknown_08596624 = +{ + .tileTag = ANIM_TAG_SPARKLE_3, + .paletteTag = ANIM_TAG_SPARKLE_3, + .oam = &gUnknown_0852490C, + .anims = gUnknown_08596620, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_810F58C, +}; + +const struct SpriteTemplate gUnknown_0859663C = +{ + .tileTag = ANIM_TAG_GOLD_RING, + .paletteTag = ANIM_TAG_GOLD_RING, + .oam = &gUnknown_08524954, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = TranslateAnimSpriteToTargetMonLocation, +}; + +const union AnimCmd gUnknown_08596654[] = +{ + ANIMCMD_FRAME(8, 60, .hFlip = TRUE), + ANIMCMD_FRAME(16, 5, .hFlip = TRUE), + ANIMCMD_FRAME(8, 5, .hFlip = TRUE), + ANIMCMD_FRAME(0, 5, .hFlip = TRUE), + ANIMCMD_FRAME(8, 22, .hFlip = TRUE), + ANIMCMD_LOOP(0), + ANIMCMD_FRAME(16, 5, .hFlip = TRUE), + ANIMCMD_FRAME(8, 5, .hFlip = TRUE), + ANIMCMD_FRAME(0, 5, .hFlip = TRUE), + ANIMCMD_FRAME(8, 5, .hFlip = TRUE), + ANIMCMD_LOOP(1), + ANIMCMD_FRAME(8, 22, .hFlip = TRUE), + ANIMCMD_FRAME(24, 3, .hFlip = TRUE), + ANIMCMD_FRAME(32, 3, .hFlip = TRUE), + ANIMCMD_FRAME(40, 22, .hFlip = TRUE), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_08596694[] = +{ + ANIMCMD_FRAME(8, 60), + ANIMCMD_FRAME(16, 5), + ANIMCMD_FRAME(8, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(8, 22), + ANIMCMD_LOOP(0), + ANIMCMD_FRAME(16, 5), + ANIMCMD_FRAME(8, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(8, 5), + ANIMCMD_LOOP(1), + ANIMCMD_FRAME(8, 22), + ANIMCMD_FRAME(24, 3), + ANIMCMD_FRAME(32, 3), + ANIMCMD_FRAME(40, 22), + ANIMCMD_END, +}; + +const union AnimCmd *const gUnknown_085966D4[] = +{ + gUnknown_08596654, + gUnknown_08596694, +}; + +const struct SpriteTemplate gUnknown_085966DC = +{ + .tileTag = ANIM_TAG_BENT_SPOON, + .paletteTag = ANIM_TAG_BENT_SPOON, + .oam = &gUnknown_08524954, + .anims = gUnknown_085966D4, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_810F634, +}; + +const union AnimCmd gUnknown_085966F4[] = +{ + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(16, 6), + ANIMCMD_FRAME(32, 6), + ANIMCMD_FRAME(48, 6), + ANIMCMD_FRAME(64, 6), + ANIMCMD_FRAME(80, 6), + ANIMCMD_FRAME(96, 18), + ANIMCMD_END, +}; + +const union AnimCmd *const gUnknown_08596714[] = +{ + gUnknown_085966F4, +}; + +const union AffineAnimCmd gUnknown_08596718[] = +{ + AFFINEANIMCMD_FRAME(0, 0, 4, 4), + AFFINEANIMCMD_FRAME(0, 0, -4, 8), + AFFINEANIMCMD_FRAME(0, 0, 4, 4), + AFFINEANIMCMD_LOOP(2), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gUnknown_08596740[] = +{ + gUnknown_08596718, +}; + +const struct SpriteTemplate gUnknown_08596744 = +{ + .tileTag = ANIM_TAG_AMNESIA, + .paletteTag = ANIM_TAG_AMNESIA, + .oam = &gUnknown_08524914, + .anims = gUnknown_08596714, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_810F6B0, +}; + +const union AffineAnimCmd gUnknown_0859675C[] = +{ + AFFINEANIMCMD_FRAME(-8, 10, 0, 16), + AFFINEANIMCMD_FRAME(18, -18, 0, 16), + AFFINEANIMCMD_FRAME(-20, 16, 0, 8), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_0859677C[] = +{ + AFFINEANIMCMD_FRAME(64, -4, 0, 20), + AFFINEANIMCMD_FRAME(0, 0, 0, -56), + AFFINEANIMCMD_END, +}; + +const struct SpriteTemplate gUnknown_08596794 = +{ + .tileTag = ANIM_TAG_HOLLOW_ORB, + .paletteTag = ANIM_TAG_HOLLOW_ORB, + .oam = &gUnknown_08524A2C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +const struct SpriteTemplate gUnknown_085967AC = +{ + .tileTag = 10250, + .paletteTag = 10250, + .oam = &gUnknown_0852491C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_810FBA8, +}; + +const union AffineAnimCmd gUnknown_085967C4[] = +{ + AFFINEANIMCMD_FRAME(0xFFF8, 0xFFF8, 0, 8), + AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 8), + AFFINEANIMCMD_JUMP(0), +}; + +const union AffineAnimCmd gUnknown_085967DC[] = +{ + AFFINEANIMCMD_FRAME(0xF0, 0xF0, 0, 0), + AFFINEANIMCMD_FRAME(0xFFF8, 0xFFF8, 0, 6), + AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 8), + AFFINEANIMCMD_FRAME(0xFFF8, 0xFFF8, 0, 2), + AFFINEANIMCMD_JUMP(1), +}; + +const union AffineAnimCmd gUnknown_08596804[] = +{ + AFFINEANIMCMD_FRAME(0xD0, 0xD0, 0, 0), + AFFINEANIMCMD_FRAME(0xFFF8, 0xFFF8, 0, 4), + AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 8), + AFFINEANIMCMD_FRAME(0xFFF8, 0xFFF8, 0, 4), + AFFINEANIMCMD_JUMP(1), +}; + +const union AffineAnimCmd gUnknown_0859682C[] = +{ + AFFINEANIMCMD_FRAME(0xB0, 0xB0, 0, 0), + AFFINEANIMCMD_FRAME(0xFFF8, 0xFFF8, 0, 2), + AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 8), + AFFINEANIMCMD_FRAME(0xFFF8, 0xFFF8, 0, 6), + AFFINEANIMCMD_JUMP(1), +}; + +const union AffineAnimCmd *const gUnknown_08596854[] = +{ + gUnknown_085967C4, + gUnknown_085967DC, + gUnknown_08596804, + gUnknown_0859682C, +}; + +const struct SpriteTemplate gUnknown_08596864 = +{ + .tileTag = ANIM_TAG_BLUEGREEN_ORB, + .paletteTag = ANIM_TAG_BLUEGREEN_ORB, + .oam = &gUnknown_0852496C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_08596854, + .callback = sub_810FDF0, +}; + +const union AffineAnimCmd gUnknown_0859687C[] = +{ + AFFINEANIMCMD_FRAME(0x20, 0x20, 0, 0), + AFFINEANIMCMD_FRAME(0x4, 0x4, 0, 120), + AFFINEANIMCMD_END_ALT(1), +}; + +const union AffineAnimCmd *const gUnknown_08596894[] = +{ + gUnknown_0859687C, +}; + +const struct SpriteTemplate gUnknown_08596898 = +{ + .tileTag = ANIM_TAG_WHITE_CIRCLE_OF_LIGHT, + .paletteTag = ANIM_TAG_WHITE_CIRCLE_OF_LIGHT, + .oam = &gUnknown_08524AFC, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_08596894, + .callback = sub_80A77C8, +}; + +const union AffineAnimCmd gUnknown_085968B0[] = +{ + AFFINEANIMCMD_FRAME(0x20, 0x20, 0, 0), + AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 17), + AFFINEANIMCMD_LOOP(0), + AFFINEANIMCMD_FRAME(0xFFF8, 0xFFF8, 0, 10), + AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 10), + AFFINEANIMCMD_LOOP(4), + AFFINEANIMCMD_LOOP(0), + AFFINEANIMCMD_FRAME(0xFFF0, 0xFFF0, 0, 5), + AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 5), + AFFINEANIMCMD_LOOP(7), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gUnknown_08596908[] = +{ + AFFINEANIMCMD_FRAME(0xFFEC, 0x18, 0, 15), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gUnknown_08596918[] = +{ + gUnknown_085968B0, + gUnknown_08596908, +}; + +const struct SpriteTemplate gUnknown_08596920 = +{ + .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, + .paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT, + .oam = &gUnknown_08524AFC, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gUnknown_08596918, + .callback = sub_8110240, +}; diff --git a/src/rock.c b/src/rock.c new file mode 100644 index 000000000..83af52865 --- /dev/null +++ b/src/rock.c @@ -0,0 +1,293 @@ +#include "global.h" +#include "battle_anim.h" +#include "constants/rgb.h" + +extern void sub_81109F0(struct Sprite *); +extern void sub_8110AB4(struct Sprite *); +extern void sub_8110B38(struct Sprite *); +extern void sub_8110E4C(struct Sprite *); +extern void sub_8110F30(struct Sprite *); +extern void sub_811131C(struct Sprite *); +extern void sub_8111388(struct Sprite *); +extern void sub_8111418(struct Sprite *); +extern void sub_8111444(struct Sprite *); +extern void sub_80FF268(struct Sprite *); +extern void sub_80A8EE4(struct Sprite *); + +extern const union AnimCmd *const gUnknown_085950E0[]; +extern const union AnimCmd *const gUnknown_085954D0[]; + +const union AnimCmd gUnknown_08596AE0[] = +{ + ANIMCMD_FRAME(32, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_08596AE8[] = +{ + ANIMCMD_FRAME(48, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_08596AF0[] = +{ + ANIMCMD_FRAME(64, 1), + ANIMCMD_END, +}; + +const union AnimCmd *const gUnknown_08596AF8[] = +{ + gUnknown_08596AE0, + gUnknown_08596AE8, + gUnknown_08596AF0, +}; + +const struct SpriteTemplate gUnknown_08596B04 = +{ + .tileTag = ANIM_TAG_ROCKS, + .paletteTag = ANIM_TAG_ROCKS, + .oam = &gUnknown_08524914, + .anims = gUnknown_08596AF8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_81109F0, +}; + +const struct SpriteTemplate gUnknown_08596B1C = +{ + .tileTag = ANIM_TAG_ROCKS, + .paletteTag = ANIM_TAG_ROCKS, + .oam = &gUnknown_08524914, + .anims = gUnknown_08596AF8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8110AB4, +}; + +const struct SpriteTemplate gUnknown_08596B34 = +{ + .tileTag = ANIM_TAG_MUD_SAND, + .paletteTag = ANIM_TAG_MUD_SAND, + .oam = &gUnknown_08524904, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8110B38, +}; + +const union AffineAnimCmd gUnknown_08596B4C[] = +{ + AFFINEANIMCMD_FRAME(0xC0, 0xC0, 0, 0), + AFFINEANIMCMD_FRAME(0x2, 0xFFFD, 0, 5), + AFFINEANIMCMD_FRAME(0xFFFE, 0x3, 0, 5), + AFFINEANIMCMD_JUMP(1), +}; + +const union AffineAnimCmd *const gUnknown_08596B6C[] = +{ + gUnknown_08596B4C, +}; + +const struct SpriteTemplate gUnknown_08596B70 = +{ + .tileTag = ANIM_TAG_WATER_ORB, + .paletteTag = ANIM_TAG_WATER_ORB, + .oam = &gUnknown_08524A8C, + .anims = gUnknown_085950E0, + .images = NULL, + .affineAnims = gUnknown_08596B6C, + .callback = sub_8110B38, +}; + +const struct SpriteTemplate gUnknown_08596B88 = +{ + .tileTag = ANIM_TAG_SMALL_EMBER, + .paletteTag = ANIM_TAG_SMALL_EMBER, + .oam = &gUnknown_08524914, + .anims = gUnknown_085954D0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8110B38, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_8596BA0 = +{ + .tileTag = ANIM_TAG_FLYING_DIRT, + .paletteTag = ANIM_TAG_FLYING_DIRT, + .oam = &gUnknown_08524934, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8110E4C, +}; + +const struct Subsprite gUnknown_08596BB8[] = +{ + {.x = -16, .y = 0, .shape = ST_OAM_H_RECTANGLE, .size = 2, .tileOffset = 0, .priority = 1}, + {.x = 16, .y = 0, .shape = ST_OAM_H_RECTANGLE, .size = 2, .tileOffset = 8, .priority = 1}, +}; + +const struct SubspriteTable gUnknown_08596BC0[] = +{ + {ARRAY_COUNT(gUnknown_08596BB8), gUnknown_08596BB8}, +}; + +const union AnimCmd gUnknown_08596BC8[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_08596BD0[] = +{ + ANIMCMD_FRAME(16, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_08596BD8[] = +{ + ANIMCMD_FRAME(32, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_08596BE0[] = +{ + ANIMCMD_FRAME(48, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_08596BE8[] = +{ + ANIMCMD_FRAME(64, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_08596BF0[] = +{ + ANIMCMD_FRAME(80, 1), + ANIMCMD_END, +}; + +const union AnimCmd *const gUnknown_08596BF8[] = +{ + gUnknown_08596BC8, + gUnknown_08596BD0, +}; + +const union AnimCmd *const gUnknown_08596C00[] = +{ + gUnknown_08596BD8, + gUnknown_08596BE0, +}; + +const union AnimCmd *const gUnknown_08596C08[] = +{ + gUnknown_08596BE8, + gUnknown_08596BF0, +}; + +const struct SpriteTemplate gUnknown_08596C10 = +{ + .tileTag = ANIM_TAG_ROCKS, + .paletteTag = ANIM_TAG_ROCKS, + .oam = &gUnknown_08524914, + .anims = gUnknown_08596BF8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8110F30, +}; + +const struct SpriteTemplate gUnknown_08596C28 = +{ + .tileTag = ANIM_TAG_MUD_SAND, + .paletteTag = ANIM_TAG_MUD_SAND, + .oam = &gUnknown_08524904, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_811131C, +}; + +const struct SpriteTemplate gUnknown_08596C40 = +{ + .tileTag = ANIM_TAG_ROCKS, + .paletteTag = ANIM_TAG_ROCKS, + .oam = &gUnknown_08524914, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_811131C, +}; + +const struct SpriteTemplate gUnknown_08596C58 = +{ + .tileTag = ANIM_TAG_ROCKS, + .paletteTag = ANIM_TAG_ROCKS, + .oam = &gUnknown_08524914, + .anims = gUnknown_08596BF8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8111388, +}; + +const union AffineAnimCmd gUnknown_08596C70[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, -5, 5), + AFFINEANIMCMD_JUMP(0), +}; + +const union AffineAnimCmd gUnknown_08596C80[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, 5, 5), + AFFINEANIMCMD_JUMP(0), +}; + +const union AffineAnimCmd *const gUnknown_08596C90[] = +{ + gUnknown_08596C70, + gUnknown_08596C80, +}; + +const struct SpriteTemplate gUnknown_08596C98 = +{ + .tileTag = ANIM_TAG_ROCKS, + .paletteTag = ANIM_TAG_ROCKS, + .oam = &gUnknown_08524974, + .anims = gUnknown_08596BF8, + .images = NULL, + .affineAnims = gUnknown_08596C90, + .callback = sub_8111418, +}; + +const struct SpriteTemplate gUnknown_08596CB0 = +{ + .tileTag = ANIM_TAG_ROCKS, + .paletteTag = ANIM_TAG_ROCKS, + .oam = &gUnknown_08524974, + .anims = gUnknown_08596BF8, + .images = NULL, + .affineAnims = gUnknown_08596C90, + .callback = sub_8111444, +}; + +const struct SpriteTemplate gUnknown_08596CC8 = +{ + .tileTag = ANIM_TAG_ROCKS, + .paletteTag = ANIM_TAG_ROCKS, + .oam = &gUnknown_08524914, + .anims = gUnknown_08596C08, + .images = NULL, + .affineAnims = gUnknown_08596C90, + .callback = sub_80FF268, +}; + +const struct SpriteTemplate gUnknown_08596CE0 = +{ + .tileTag = ANIM_TAG_ROCKS, + .paletteTag = ANIM_TAG_ROCKS, + .oam = &gUnknown_08524974, + .anims = gUnknown_08596C00, + .images = NULL, + .affineAnims = gUnknown_08596C90, + .callback = sub_80A8EE4, +};