From f0df833f37a20745ded2b13240c692fe20d2dc1c Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Fri, 29 Dec 2017 13:34:24 -0600 Subject: [PATCH 1/4] Extract easy chat and pokemon animation --- asm/easy_chat.s | 2 +- asm/pokemon_animation.s | 2 +- data/battle_link_817C95C.s | 174 ++++++++ data/data2b.s | 2 - data/data2c.s | 2 - data/data_860A4AC.s | 50 --- data/easy_chat.s | 430 +++++++++++++++++--- data/graphics.s | 118 +++--- data/pokemon_animation.s | 240 +++++++++++ data/strings.s | 112 ++--- graphics/misc/8597C1C.pal | 7 + graphics/misc/8597C24.pal | 9 + graphics/misc/interview.pal | 19 + graphics/misc/interview_arrow.png | Bin 0 -> 160 bytes graphics/misc/interview_buttons.png | Bin 0 -> 214 bytes graphics/misc/interview_frame.png | Bin 0 -> 192 bytes graphics/misc/interview_frame_2.png | Bin 0 -> 260 bytes graphics/misc/interview_frame_green.pal | 19 + graphics/misc/interview_frame_orange.pal | 19 + graphics/misc/interview_triangle_cursor.png | Bin 0 -> 147 bytes ld_script.txt | 3 +- 21 files changed, 994 insertions(+), 214 deletions(-) create mode 100644 data/battle_link_817C95C.s delete mode 100644 data/data_860A4AC.s create mode 100644 data/pokemon_animation.s create mode 100644 graphics/misc/8597C1C.pal create mode 100644 graphics/misc/8597C24.pal create mode 100644 graphics/misc/interview.pal create mode 100644 graphics/misc/interview_arrow.png create mode 100644 graphics/misc/interview_buttons.png create mode 100644 graphics/misc/interview_frame.png create mode 100644 graphics/misc/interview_frame_2.png create mode 100644 graphics/misc/interview_frame_green.pal create mode 100644 graphics/misc/interview_frame_orange.pal create mode 100644 graphics/misc/interview_triangle_cursor.png diff --git a/asm/easy_chat.s b/asm/easy_chat.s index 3a359c9fa..f65c379c2 100644 --- a/asm/easy_chat.s +++ b/asm/easy_chat.s @@ -6075,7 +6075,7 @@ _0811D19C: b _0811D1BC .pool _0811D1A8: - ldr r0, =gText_CombineTwoWordsOrPhrases + ldr r0, =gText_CombineTwoWordsOrPhrases3 str r0, [sp, 0xC] b _0811D1BC .pool diff --git a/asm/pokemon_animation.s b/asm/pokemon_animation.s index 870e658f7..a625f8511 100644 --- a/asm/pokemon_animation.s +++ b/asm/pokemon_animation.s @@ -333,7 +333,7 @@ sub_817F670: @ 817F670 movs r1, 0x3 orrs r0, r1 strb r0, [r4, 0x1] - ldr r0, =gUnknown_0860AD68 + ldr r0, =gSpriteAffineAnimTable_860AD68 str r0, [r4, 0x10] ldr r0, =gUnknown_03001274 ldr r0, [r0] diff --git a/data/battle_link_817C95C.s b/data/battle_link_817C95C.s new file mode 100644 index 000000000..24f70c79c --- /dev/null +++ b/data/battle_link_817C95C.s @@ -0,0 +1,174 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + + .align 1 +gUnknown_0860A4AC:: @ 860A4AC + .2byte 0x0044, 0x005a, 0x0075, 0x00f3, 0x0020, 0x00af, 0x00b3, 0x00ed, 0x0149, 0x0108, 0x011c, 0x0143, 0x008a, 0x0137, 0x00ad, 0x00dc + .2byte 0x000c, 0x00da, 0x00d8, 0x011b, 0x00d9, 0x0117, 0xffff, 0x00de, 0x0095, 0xffff + + .align 1 +gUnknown_0860A4E0:: @ 860A4E0 + .2byte 0x0001, 0x0001, 0x0001, 0x0004, 0x0001, 0x0001, 0x0001, 0x0000, 0x0005, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001 + .2byte 0x0001, 0x0002, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0005, 0x0005, 0x0004, 0x0005, 0x0001, 0x0003, 0x0001 + .2byte 0x0003, 0x0005, 0x0001, 0x0007, 0x0001, 0x0007, 0x0007, 0x0001, 0x0005, 0x0002, 0x0004, 0x0001, 0x0001, 0x0001, 0x0005, 0x0001 + .2byte 0x0002, 0x0004, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001 + .2byte 0x0001, 0x0007, 0x0004, 0x0004, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0004, 0x0001, 0x0001, 0x0001, 0x0004 + .2byte 0x0005, 0x0002, 0x0004, 0x0001, 0x0004, 0x0001, 0x0007, 0x0002, 0x0001, 0x0005, 0x0007, 0x0003, 0x0003, 0x0004, 0x0003, 0x0003 + .2byte 0x0003, 0x0003, 0x0003, 0x0002, 0x0004, 0x0001, 0x0005, 0x0001, 0x0001, 0x0004, 0x0005, 0x0003, 0x0001, 0x0002, 0x0001, 0x0005 + .2byte 0x0004, 0x0003, 0x0006, 0x0004, 0x0003, 0x0003, 0x0003, 0x0002, 0x0004, 0x0001, 0x0001, 0x0001, 0x0005, 0x0001, 0x0001, 0x0007 + .2byte 0x0002, 0x0002, 0x0001, 0x0001, 0x0004, 0x0004, 0x0004, 0x0001, 0x0004, 0x0004, 0x0001, 0x0001, 0x0001, 0x0001, 0x0007, 0x0007 + .2byte 0x0006, 0x0003, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0002, 0x0003, 0x0001, 0x0001, 0x0004, 0x0004 + .2byte 0x0003, 0x0003, 0x0003, 0x0001, 0x0004, 0x0007, 0x0007, 0x0005, 0x0007, 0x0001, 0x0007, 0x0001, 0x0005, 0x0000, 0x0004, 0x0004 + .2byte 0x0004, 0x0004, 0x0004, 0x0002, 0x0002, 0x0006, 0x0003, 0x0006, 0x0004, 0x0004, 0x0002, 0x0005, 0x0002, 0x0001, 0x0001, 0x0006 + .2byte 0x0006, 0x0006, 0x0001, 0x0001, 0x0001, 0x0001, 0x0002, 0x0006, 0x0001, 0x0004, 0x0001, 0x0001, 0x0003, 0x0001, 0x0001, 0x0001 + .2byte 0x0001, 0x0001, 0x0004, 0x0001, 0x0001, 0x0003 + + .align 1 +gUnknown_0860A68C:: @ 860A68C + .2byte 0x0004, 0xfffd, 0xfffa + + .align 1 +gUnknown_0860A692:: @ 860A692 + .2byte 0x0004, 0x0004, 0x0006, 0x0006, 0x0007, 0x0006, 0x0002 + + .align 1 +gUnknown_0860A6A0:: @ 860A6A0 + .2byte 0x0091, 0x0003, 0x00fa, 0x0003, 0x00be, 0x0003, 0x0080, 0x0003, 0x006e, 0x0003, 0x0098, 0x0003, 0x0143, 0x0003, 0x0123, 0x0003 + .2byte 0x007f, 0x0003, 0x014a, 0x0003, 0x0039, 0x0003, 0x0134, 0x0003, 0x0038, 0x0003, 0x003d, 0x0003, 0x015a, 0x0000, 0x0037, 0x0003 + .2byte 0x0160, 0x0003, 0x0137, 0x0003, 0x0057, 0x0003, 0x004c, 0xfffc, 0x013b, 0xfffc, 0x00ac, 0xfffc, 0x0035, 0xfffc, 0x00dd, 0xfffc + .2byte 0x007e, 0xfffc, 0x0101, 0xfffc, 0x0034, 0xfffc, 0x0133, 0xfffc, 0x012b, 0xfffc, 0x011c, 0xfffc, 0x0053, 0xfffc, 0x0007, 0xfffc + .2byte 0x004c, 0xfffc, 0xffff, 0x0000 + + .align 1 +gUnknown_0860A728:: @ 860A728 + .2byte 0x013b, 0x0003, 0x00ac, 0x0003, 0x0035, 0x0003, 0x00dd, 0x0003, 0x007e, 0x0003, 0x0101, 0x0003, 0x0034, 0x0003, 0x0133, 0x0003 + .2byte 0x012b, 0x0003, 0x011c, 0x0003, 0x0053, 0x0003, 0x0007, 0x0003, 0x004c, 0x0005, 0x00eb, 0x0003, 0x00ea, 0x0003, 0x00ec, 0x0003 + .2byte 0x0137, 0x0003, 0xffff, 0x0000 + + .align 1 +gUnknown_0860A770:: @ 860A770 + .2byte 0x0137, 0x0003, 0x004c, 0xfffd, 0xffff, 0x0000 + + .align 1 +gUnknown_0860A77C:: @ 860A77C + .2byte 0x0137, 0x0003, 0x004c, 0xfffd, 0xffff, 0x0000 + + .align 1 +gUnknown_0860A788:: @ 860A788 + .2byte 0x0055, 0x0003, 0x0009, 0x0003, 0x00d1, 0x0003, 0x0054, 0x0003, 0x00c0, 0x0003, 0x015f, 0x0003, 0x0056, 0x0000, 0x0057, 0x0003 + .2byte 0x0158, 0x0003, 0xffff, 0x0000 + + .align 1 +gUnknown_0860A7B0:: @ 860A7B0 + .2byte 0x0005, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003 + + .align 1 +gUnknown_0860A7BE:: @ 860A7BE + .2byte 0x0005, 0x0005, 0x0005, 0x0005, 0x0005 + + .align 1 +gUnknown_0860A7C8:: @ 860A7C8 + .2byte 0x0004 + + .align 1 +gUnknown_0860A7CA:: @ 860A7CA + .2byte 0x0005 + + .align 1 +gUnknown_0860A7CC:: @ 860A7CC + .2byte 0x0005 + + .align 1 +gUnknown_0860A7CE:: @ 860A7CE + .2byte 0x0003 + + .align 1 +gUnknown_0860A7D0:: @ 860A7D0 + .2byte 0x0003 + + .align 1 +gUnknown_0860A7D2:: @ 860A7D2 + .2byte 0x0004 + + .align 1 +gUnknown_0860A7D4:: @ 860A7D4 + .2byte 0x0003 + + .align 1 +gUnknown_0860A7D6:: @ 860A7D6 + .2byte 0x0006 + + .align 1 +gUnknown_0860A7D8:: @ 860A7D8 + .2byte 0x0006 + + .align 1 +gUnknown_0860A7DA:: @ 860A7DA + .2byte 0x0006 + + .align 1 +gUnknown_0860A7DC:: @ 860A7DC + .2byte 0x0004 + + .align 1 +gUnknown_0860A7DE:: @ 860A7DE + .2byte 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002 + + .align 1 +gUnknown_0860A7EC:: @ 860A7EC + .2byte 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004 + + .align 1 +gUnknown_0860A7FA:: @ 860A7FA + .2byte 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff + + .align 1 +gUnknown_0860A808:: @ 860A808 + .2byte 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002 + + .align 1 +gUnknown_0860A816:: @ 860A816 + .2byte 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004 + + .align 1 +gUnknown_0860A824:: @ 860A824 + .2byte 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe + + .align 2 +gUnknown_0860A834:: @ 860A834 + .4byte gUnknown_0860A4E0 + .4byte gUnknown_0860A68C + .4byte gUnknown_0860A692 + .4byte gUnknown_0860A6A0 + .4byte gUnknown_0860A728 + .4byte gUnknown_0860A770 + .4byte gUnknown_0860A77C + .4byte gUnknown_0860A788 + .4byte gUnknown_0860A7B0 + .4byte gUnknown_0860A7BE + .4byte gUnknown_0860A7C8 + .4byte gUnknown_0860A7CA + .4byte gUnknown_0860A7CC + .4byte gUnknown_0860A7CE + .4byte gUnknown_0860A7D0 + .4byte gUnknown_0860A7D2 + .4byte gUnknown_0860A7D4 + .4byte gUnknown_0860A7D6 + .4byte gUnknown_0860A7D8 + .4byte gUnknown_0860A7DA + .4byte gUnknown_0860A7DA + .4byte gUnknown_0860A7DC + .4byte gUnknown_0860A7DE + .4byte gUnknown_0860A7EC + .4byte gUnknown_0860A7FA + .4byte gUnknown_0860A808 + .4byte gUnknown_0860A816 + .4byte gUnknown_0860A824 + + .align 1 +gUnknown_0860A8A4:: @ 860A8A4 + .2byte 0x0097, 0x00b2, 0x00bc, 0x008c, 0x00b4, 0x00b5, 0x0093, 0x006a, 0x0091, 0x005e, 0x0030, 0x002a, 0x0095, 0x001c, 0x001d, 0x0064 + .2byte 0x0060, 0xffff + diff --git a/data/data2b.s b/data/data2b.s index 74e13cc7f..1400b31d3 100644 --- a/data/data2b.s +++ b/data/data2b.s @@ -1,5 +1,3 @@ -@ the second big chunk of data - #include "constants/items.h" #include "constants/moves.h" #include "constants/species.h" diff --git a/data/data2c.s b/data/data2c.s index 904009254..86418ce62 100644 --- a/data/data2c.s +++ b/data/data2c.s @@ -1,5 +1,3 @@ -@ the second big chunk of data - #include "constants/abilities.h" #include "constants/items.h" #include "constants/moves.h" diff --git a/data/data_860A4AC.s b/data/data_860A4AC.s deleted file mode 100644 index bac17590d..000000000 --- a/data/data_860A4AC.s +++ /dev/null @@ -1,50 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - -gUnknown_0860A4AC:: @ 860A4AC - .incbin "baserom.gba", 0x60a4ac, 0x388 - -gUnknown_0860A834:: @ 860A834 - .incbin "baserom.gba", 0x60a834, 0x70 - -gUnknown_0860A8A4:: @ 860A8A4 - .incbin "baserom.gba", 0x60a8a4, 0x24 - -gUnknown_0860A8C8:: @ 860A8C8 - .incbin "baserom.gba", 0x60a8c8, 0x19c - -gUnknown_0860AA64:: @ 860AA64 - .incbin "baserom.gba", 0x60aa64, 0x1c - -gUnknown_0860AA80:: @ 860AA80 - .incbin "baserom.gba", 0x60aa80, 0x8 - -gUnknown_0860AA88:: @ 860AA88 - .incbin "baserom.gba", 0x60aa88, 0x25c - -gUnknown_0860ACE4:: @ 860ACE4 - .incbin "baserom.gba", 0x60ace4, 0x4b - -gUnknown_0860AD2F:: @ 860AD2F - .incbin "baserom.gba", 0x60ad2f, 0x39 - -gUnknown_0860AD68:: @ 860AD68 - .incbin "baserom.gba", 0x60ad68, 0x8 - -gUnknown_0860AD70:: @ 860AD70 - .incbin "baserom.gba", 0x60ad70, 0x1e - -gUnknown_0860AD8E:: @ 860AD8E - .incbin "baserom.gba", 0x60ad8e, 0x30 - -gUnknown_0860ADBE:: @ 860ADBE - .incbin "baserom.gba", 0x60adbe, 0xbe - -gUnknown_0860AE7C:: @ 860AE7C - .incbin "baserom.gba", 0x60ae7c, 0xc - -gUnknown_0860AE88:: @ 860AE88 - .incbin "baserom.gba", 0x60ae88, 0x8 - diff --git a/data/easy_chat.s b/data/easy_chat.s index 3894cc13d..09d33e660 100644 --- a/data/easy_chat.s +++ b/data/easy_chat.s @@ -5,13 +5,207 @@ .include "constants/constants.inc" .section .rodata - .align 2, 0 + .align 2 gUnknown_08597530:: @ 8597530 - .incbin "baserom.gba", 0x597530, 0x20 + .4byte 0x0000001a + .4byte sub_811A8CC + .4byte 0x00000019 + .4byte sub_811A8F0 + .4byte 0x0000001c + .4byte sub_811A914 + .4byte 0x0000001b + .4byte sub_811A938 gUnknown_08597550:: @ 8597550 - .incbin "baserom.gba", 0x597550, 0x1f8 + .byte 0x00, 0x02, 0x02, 0x00 + + .align 2 + .4byte gText_Profile + .4byte gText_CombineFourWordsOrPhrases + .4byte gText_AndMakeYourProfile + .4byte gText_YourProfile + .4byte gText_IsAsShownOkay + + .byte 0x01, 0x02, 0x03, 0x01 + + .align 2 + .4byte gText_AtTheBattlesStart + .4byte gText_CombineSixWordsOrPhrases + .4byte gText_AndMakeAMessage + .4byte gText_YourFeelingAtTheBattlesStart + .4byte gText_IsAsShownOkay + + .byte 0x02, 0x02, 0x03, 0x01 + + .align 2 + .4byte gText_UponWinningABattle + .4byte gText_CombineSixWordsOrPhrases + .4byte gText_AndMakeAMessage + .4byte gText_WhatYouSayIfYouWin + .4byte gText_IsAsShownOkay + + .byte 0x03, 0x02, 0x03, 0x01 + + .align 2 + .4byte gText_UponLosingABattle + .4byte gText_CombineSixWordsOrPhrases + .4byte gText_AndMakeAMessage + .4byte gText_WhatYouSayIfYouLose + .4byte gText_IsAsShownOkay + + .byte 0x04, 0x02, 0x05, 0x02 + + .align 2 + .4byte NULL + .4byte gText_CombineNineWordsOrPhrases + .4byte gText_AndMakeAMessage2 + .4byte gText_TheMailMessage + .4byte gText_IsAsShownOkay + + .byte 0x05, 0x02, 0x02, 0x05 + + .align 2 + .4byte gText_Interview + .4byte gText_CombineFourWordsOrPhrases + .4byte gText_LetsReplyToTheInterview + .4byte gText_TheAnswer + .4byte gText_IsAsShownOkay + + .byte 0x06, 0x02, 0x03, 0x01 + + .align 2 + .4byte gText_TheBardsSong + .4byte gText_ChangeJustOneWordOrPhrase + .4byte gText_AndImproveTheBardsSong + .4byte gText_TheBardsSong2 + .4byte gText_IsAsShownOkay + + .byte 0x07, 0x01, 0x01, 0x04 + + .align 2 + .4byte gText_Interview + .4byte gText_FindWordsThatDescribeYour + .4byte gText_FeelingsRightNow + .4byte gText_TheAnswer + .4byte gText_IsAsShownOkay + + .byte 0x09, 0x02, 0x01, 0x03 + + .align 2 + .4byte gText_WhatsHipAndHappening + .4byte gText_CombineTwoWordsOrPhrases + .4byte gText_AndMakeATrendySaying + .4byte gText_TheTrendySaying + .4byte gText_IsAsShownOkay + + .byte 0x10, 0x02, 0x05, 0x87 + + .align 2 + .4byte NULL + .4byte gText_AfterYouHaveReadTheQuiz + .4byte gText_QuestionPressTheAButton + .4byte NULL + .4byte NULL + + .byte 0x0f, 0x01, 0x01, 0x86 + + .align 2 + .4byte gText_TheQuizAnswerIs + .4byte gText_OutOfTheListedChoices + .4byte gText_SelectTheAnswerToTheQuiz + .4byte gText_TheAnswerColon + .4byte gText_IsAsShownOkay + + .byte 0x11, 0x02, 0x05, 0x88 + + .align 2 + .4byte NULL + .4byte gText_CombineNineWordsOrPhrases + .4byte gText_AndCreateAQuiz + .4byte gText_IsThisQuizOK + .4byte NULL + + .byte 0x12, 0x01, 0x01, 0x86 + + .align 2 + .4byte gText_TheQuizAnswerIs + .4byte gText_PickAWordOrPhraseAnd + .4byte gText_SetTheQuizAnswer + .4byte gText_IsThisQuizOK + .4byte NULL + + .byte 0x06, 0x02, 0x03, 0x01 + + .align 2 + .4byte gText_TheBardsSong + .4byte gText_ChangeJustOneWordOrPhrase + .4byte gText_AndImproveTheBardsSong + .4byte gText_TheBardsSong2 + .4byte gText_IsAsShownOkay + + .byte 0x13, 0x02, 0x03, 0x01 + + .align 2 + .4byte gText_ApprenticesPhrase + .4byte gText_FindWordsWhichFit + .4byte gText_TheTrainersImage + .4byte gText_ApprenticePhrase + .4byte gText_IsAsShownOkay + + .byte 0x0d, 0x02, 0x01, 0x03 + + .align 2 + .4byte gText_GoodSaying + .4byte gText_CombineTwoWordsOrPhrases2 + .4byte gText_ToTeachHerAGoodSaying + .4byte gText_TheAnswer + .4byte gText_IsAsShownOkay + + .byte 0x0a, 0x01, 0x01, 0x04 + + .align 2 + .4byte gText_Interview + .4byte gText_FindWordsThatDescribeYour + .4byte gText_FeelingsRightNow + .4byte gText_TheAnswer + .4byte gText_IsAsShownOkay + + .byte 0x0c, 0x01, 0x01, 0x04 + + .align 2 + .4byte gText_Interview + .4byte gText_FindWordsThatDescribeYour + .4byte gText_FeelingsRightNow + .4byte gText_TheAnswer + .4byte gText_IsAsShownOkay + + .byte 0x0b, 0x01, 0x01, 0x04 + + .align 2 + .4byte gText_Interview + .4byte gText_FindWordsThatDescribeYour + .4byte gText_FeelingsRightNow + .4byte gText_TheAnswer + .4byte gText_IsAsShownOkay + + .byte 0x0e, 0x01, 0x01, 0x04 + + .align 2 + .4byte gText_FansQuestion + .4byte gText_FindWordsWhichFit + .4byte gText_TheTrainersImage + .4byte gText_TheImage + .4byte gText_IsAsShownOkay + + .byte 0x14, 0x02, 0x02, 0x00 + + .align 2 + .4byte gText_Questionnaire + .4byte gText_CombineFourWordsOrPhrases + .4byte gText_AndFillOutTheQuestionnaire + .4byte gText_TheAnswer + .4byte gText_IsAsShownOkay gUnknown_08597748:: @ 8597748 .byte 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x00, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x00, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a @@ -20,109 +214,239 @@ gUnknown_08597764:: @ 8597764 .2byte 0x0209, 0x140b, 0x1030, 0x102a gUnknown_0859776C:: @ 859776C - .2byte 0x1240, 0x0628, 0x061f, 0x2204, 0x1422, 0x0197, 0x0415, 0x0198, 0x2207, 0x0449, 0x4bff, 0x4b1f, 0x2e3d, 0x1577, 0x6b5f, 0x5ade - .2byte 0x4218, 0x0000, 0x0000, 0x0000, 0x0000, 0x18c5, 0x318c, 0x5af6, 0x6f5b, 0x7fff, 0xccc0, 0x0000, 0xddc0, 0x000c, 0xddc0, 0x00cd - .2byte 0xddc0, 0x0cdd, 0xddc0, 0x0cdd, 0xddc0, 0x00cd, 0xddc0, 0x000c, 0xccc0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 - .2byte 0x0000, 0x0000, 0x0000, 0xc000, 0x0000, 0x6c00, 0x0000, 0x66c0, 0x0000, 0x666c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 - .2byte 0x0000, 0x0000, 0x000c, 0x0000, 0x00c6, 0x0000, 0x0c66, 0x0000, 0xc666, 0x0000, 0xc000, 0x6666, 0xc000, 0x6666, 0xc000, 0x6666 - .2byte 0xc000, 0xcccc, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6666, 0x000c, 0x6666, 0x000c, 0x6666, 0x000c - .2byte 0xcccc, 0x000c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 - .2byte 0x0000, 0x0000, 0x0000, 0xc000, 0x0000, 0x6c00, 0x0000, 0x66c0, 0x0000, 0x666c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 - .2byte 0x0000, 0x0000, 0x000c, 0x0000, 0x00c6, 0x0000, 0x0c66, 0x0000, 0xc666, 0x0000, 0xc000, 0x6666, 0xc000, 0x6666, 0xc000, 0x6666 - .2byte 0xc000, 0xcccc, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6666, 0x000c, 0x6666, 0x000c, 0x6666, 0x000c - .2byte 0xcccc, 0x000c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x99c0, 0x9999, 0xf99c, 0xff9f, 0xf99c, 0xf999 - .2byte 0xf99c, 0xf99f, 0x999c, 0xf99f, 0xf99c, 0xf99f, 0x99c0, 0x9999, 0xcc00, 0xcccc, 0x9999, 0x9999, 0xff9f, 0xff9f, 0x9f99, 0x9f9f - .2byte 0xff99, 0xff9f, 0x9f99, 0x9f9f, 0x9f99, 0x9f9f, 0x9999, 0x9999, 0xcccc, 0xcccc, 0x9999, 0x9999, 0xff9f, 0x999f, 0xf99f, 0x9999 - .2byte 0xf999, 0x9999, 0xf99f, 0xf999, 0xf99f, 0x9999, 0x9999, 0x9999, 0xcccc, 0xcccc, 0x9999, 0x0c99, 0x9999, 0xc999, 0x9ff9, 0xc999 - .2byte 0xffff, 0xc999, 0xffff, 0xc99f, 0x9999, 0xc999, 0x9999, 0xcc99, 0xcccc, 0x0ccc, 0x99c0, 0x9999, 0xf99c, 0xff9f, 0xf99c, 0x9f99 - .2byte 0xf99c, 0xff9f, 0x999c, 0x9f9f, 0xf99c, 0xff9f, 0x99c0, 0x9999, 0xcc00, 0xcccc, 0x9999, 0x9999, 0x99f9, 0xf9ff, 0x99f9, 0xf99f - .2byte 0x99f9, 0xf9ff, 0x99f9, 0xf99f, 0x9ff9, 0xf9ff, 0x9999, 0x9999, 0xcccc, 0xcccc, 0x9999, 0x9999, 0xff9f, 0x999f, 0xf999, 0xf999 - .2byte 0xf999, 0x9999, 0xf999, 0x9999, 0xf99f, 0x9999, 0x9999, 0x9999, 0xcccc, 0xcccc, 0x9999, 0x0c99, 0x9999, 0xc999, 0xffff, 0xc99f - .2byte 0xffff, 0xc999, 0x9ff9, 0xc999, 0x9999, 0xc999, 0x9999, 0xcc99, 0xcccc, 0x0ccc, 0x0000, 0x5fff, 0x67bd, 0x4b1a, 0x6fff, 0x0000 - .2byte 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0008, 0x003f, 0xf000, 0xf001, 0xf001 - .2byte 0xf001, 0xf001, 0xf001, 0xff01, 0x01f0, 0x01f0, 0x01f0, 0x01f0, 0x01f0, 0x01f0, 0x01f0, 0x01f0, 0xf0d5, 0x0001, 0x1001, 0x0300 - .2byte 0x0024, 0x1106, 0x0600, 0x2240, 0x1cd0, 0x1111, 0x1111, 0x2222, 0x223f, 0x5022, 0xf007, 0xf01f, 0xf01f, 0xf01f, 0xf01f, 0xfb1f - .2byte 0x1ff0, 0x1ff0, 0x1ff0, 0x1ff0, 0x01b0, 0x0001, 0x1003, 0x4f14, 0x0011, 0x2208, 0x3032, 0x3031, 0xf0e7, 0x1007, 0xff07, 0x4fd0 - .2byte 0x07f0, 0x07f0, 0x07f0, 0x07f0, 0x07f0, 0x07f0, 0x07f0, 0xf0ff, 0xf007, 0xd007, 0x3007, 0xf0e7, 0xf007, 0xf0ff, 0xf007, 0xffff - .2byte 0x07f0, 0x07f0, 0x07f0, 0x07f0, 0x07f0, 0x07f0, 0x07f0, 0x07f0, 0xf0ff, 0xf007, 0xf0ff, 0xf0f7, 0xf0ff, 0xf007, 0xf0ff, 0xf007 - .2byte 0xff07, 0x07f0, 0x07f0, 0x07f0, 0x07f0, 0x07f0, 0x07f0, 0x07f0, 0x07f0, 0xf0ff, 0xf0f7, 0xf0ff, 0xf0f7, 0xf0ff, 0xf007, 0xf007 - .2byte 0xf007, 0xff07, 0x07f0, 0x07f0, 0x07f0, 0x07f0, 0x07f0, 0x07f0, 0xff60, 0xcd40, 0xf0db, 0x50ff, 0x40ff, 0x1224, 0x0300, 0xf430 - .2byte 0x704f, 0x0f4f, 0x3333, 0x3333, 0x1ff0, 0x1ff0, 0x1ff0, 0x1ff0, 0xf0fe, 0xf01f, 0xf01f, 0xf01f, 0xf01f, 0xd01f, 0x001f, 0x03e7 - .2byte 0x30ff, 0x00dc, 0xf006, 0xf001, 0xf001, 0xf001, 0xf001, 0xf001, 0xff01, 0x01f0, 0x01f0, 0x01f0, 0x01f0, 0x01f0, 0x01f0, 0x01f0 - .2byte 0x01f0, 0xf0c0, 0x0001, 0x0001 + .2byte 0x1240, 0x0628, 0x061f, 0x2204, 0x1422, 0x0197, 0x0415, 0x0198, 0x2207, 0x0449 + .align 2 +gUnknown_08597780:: @ 8597780 + .incbin "graphics/misc/interview_triangle_cursor.gbapal" + + .align 2 +gUnknown_085977A0:: @ 85977A0 + .incbin "graphics/misc/interview_triangle_cursor.4bpp" + + .align 2 +gUnknown_085977C0:: @ 85977C0 + .incbin "graphics/misc/interview_arrow.4bpp" + + .align 2 +gUnknown_085978C0:: @ 85978C0 + .incbin "graphics/misc/interview_buttons.4bpp" + + .align 2 +gUnknown_085979C0:: @ 85979C0 + .incbin "graphics/misc/interview_frame.gbapal" + + .align 2 +gUnknown_085979E0:: @ 85979E0 + .incbin "graphics/misc/interview_frame.4bpp.lz" + + .align 2 gUnknown_08597B14:: @ 8597B14 - .incbin "baserom.gba", 0x597b14, 0x20 + .incbin "graphics/misc/interview_frame_orange.gbapal" + .align 2 gUnknown_08597B34:: @ 8597B34 - .incbin "baserom.gba", 0x597b34, 0x20 + .incbin "graphics/misc/interview_frame_green.gbapal" + .align 2 gUnknown_08597B54:: @ 8597B54 - .incbin "baserom.gba", 0x597b54, 0xc8 + .incbin "graphics/misc/interview_frame_2.4bpp.lz" + .align 2 gUnknown_08597C1C:: @ 8597C1C - .incbin "baserom.gba", 0x597c1c, 0x8 + .incbin "graphics/misc/8597C1C.gbapal" + .align 2 gUnknown_08597C24:: @ 8597C24 - .incbin "baserom.gba", 0x597c24, 0xc + .incbin "graphics/misc/8597C24.gbapal" gUnknown_08597C30:: @ 8597C30 .byte 0x83, 0x18, 0x04, 0x00, 0x63, 0x18, 0x06, 0x00, 0x03, 0x18, 0x0a, 0x00, 0xa3, 0x18, 0x02, 0x00, 0xb0, 0x0c, 0x02, 0x00, 0x83, 0x18, 0x04, 0x00, 0x89, 0x0c, 0x02, 0x01, 0x65, 0x14, 0x0a, 0x03 .byte 0x03, 0x18, 0x0a, 0x02 + .align 2 gUnknown_08597C54:: @ 8597C54 - .incbin "baserom.gba", 0x597c54, 0x10 + .4byte 0x000001c0, 0x000011dd, 0x002021e2, 0x000031fb + .align 2 gUnknown_08597C64:: @ 8597C64 - .incbin "baserom.gba", 0x597c64, 0x20 + window_template 0x01, 0x06, 0x00, 0x12, 0x02, 0x0a, 0x0010 + window_template 0x00, 0x03, 0x0f, 0x18, 0x04, 0x0f, 0x000a + window_template 0x02, 0x01, 0x00, 0x1c, 0x20, 0x03, 0x0000 + window_template_terminator + .align 2 gUnknown_08597C84:: @ 8597C84 - .incbin "baserom.gba", 0x597c84, 0x8 + window_template 0x00, 0x16, 0x09, 0x05, 0x04, 0x0f, 0x006a gUnknown_08597C8C:: @ 8597C8C - .incbin "baserom.gba", 0x597c8c, 0x4 + .string "{CLEAR 17}$" + .align 2 gUnknown_08597C90:: @ 8597C90 .4byte gUnknown_862B810 .4byte gUnknown_862B832 .4byte gUnknown_862B84B .4byte gUnknown_862B86C + .align 2 gUnknown_08597CA0:: @ 8597CA0 - .incbin "baserom.gba", 0x597ca0, 0x20 + obj_tiles gUnknown_085977A0, 0x0020, 0x0000 + obj_tiles gUnknown_085977C0, 0x0100, 0x0002 + obj_tiles gUnknown_085978C0, 0x0100, 0x0003 + null_obj_tiles + .align 2 gUnknown_08597CC0:: @ 8597CC0 - .incbin "baserom.gba", 0x597cc0, 0x28 + obj_pal gUnknown_08597780, 0x0000 + obj_pal gUnknown_08DCB648, 0x0001 + obj_pal gUnknown_08DCB86C, 0x0002 + obj_pal gUnknown_085979C0, 0x0003 + null_obj_pal + .align 2 gUnknown_08597CE8:: @ 8597CE8 - .incbin "baserom.gba", 0x597ce8, 0x20 + obj_tiles gUnknown_085979E0, 0x0800, 0x0005 + obj_tiles gUnknown_08DCB668, 0x1000, 0x0001 + obj_tiles gUnknown_08DCB88C, 0x0800, 0x0006 + obj_tiles gUnknown_08DCBAB0, 0x1000, 0x0004 gUnknown_08597D08:: @ 8597D08 - .byte 0x00, 0x0c, 0x18, 0x38, 0x44, 0x50, 0x5c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00 + .byte 0x00, 0x0c, 0x18, 0x38, 0x44, 0x50, 0x5c, 0x00 + .align 2 +gOamData_8597D10:: @ 8597D10 + .2byte 0x0000 + .2byte 0x0000 + .2byte 0x0C00 + + .align 2 gUnknown_08597D18:: @ 8597D18 - .incbin "baserom.gba", 0x597d18, 0x50 + spr_template 0x0000, 0x0000, gOamData_8597D10, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_811DF28 + .align 2 +gUnknown_08597D30:: @ 8597D30 + .2byte 0x4000, 0xc000, 0x0400, 0x0000 + + .align 2 +gUnknown_08597D38:: @ 8597D38 + .2byte 0x0000, 0x0000, 0xffff, 0x0000 + + .align 2 +gUnknown_08597D40:: @ 8597D40 + .2byte 0x0020, 0x0000, 0xffff, 0x0000 + + .align 2 +gUnknown_08597D48:: @ 8597D48 + .2byte 0x0040, 0x0000, 0xffff, 0x0000 + + .align 2 +gUnknown_08597D50:: @ 8597D50 + .2byte 0x0060, 0x0000, 0xffff, 0x0000 + + .align 2 +gUnknown_08597D58:: @ 8597D58 + .4byte gUnknown_08597D38 + .4byte gUnknown_08597D40 + .4byte gUnknown_08597D48 + .4byte gUnknown_08597D50 + + .align 2 gUnknown_08597D68:: @ 8597D68 - .incbin "baserom.gba", 0x597d68, 0x68 + spr_template 0x0001, 0x0001, gUnknown_08597D30, gUnknown_08597D58, NULL, gDummySpriteAffineAnimTable, sub_811DF28 + .align 2 +gUnknown_08597D80:: @ 8597D80 + .2byte 0x4000, 0xc000, 0x0400, 0x0000 + + .align 2 +gUnknown_08597D88:: @ 8597D88 + .2byte 0x0060, 0x0000, 0xffff, 0x0000 + + .align 2 +gUnknown_08597D90:: @ 8597D90 + .2byte 0x0040, 0x0004, 0x0020, 0x0004, 0xffff, 0x0000 + + .align 2 +gUnknown_08597D9C:: @ 8597D9C + .2byte 0x0040, 0x0004, 0x0000, 0x0004, 0xffff, 0x0000 + + .align 2 +gUnknown_08597DA8:: @ 8597DA8 + .2byte 0x0040, 0x0004, 0x0060, 0x0000, 0xffff, 0x0000 + + .align 2 +gUnknown_08597DB4:: @ 8597DB4 + .2byte 0x0040, 0x0004, 0xffff, 0x0000 + + .align 2 +gUnknown_08597DBC:: @ 8597DBC + .4byte gUnknown_08597D88 + .4byte gUnknown_08597D90 + .4byte gUnknown_08597D9C + .4byte gUnknown_08597DA8 + .4byte gUnknown_08597DB4 + + .align 2 gUnknown_08597DD0:: @ 8597DD0 - .incbin "baserom.gba", 0x597dd0, 0x20 + spr_template 0x0004, 0x0002, gUnknown_08597D80, gUnknown_08597DBC, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + .align 2 +gUnknown_08597DE8:: @ 8597DE8 + .2byte 0x0000, 0xc000, 0x0c00, 0x0000 + + .align 2 gUnknown_08597DF0:: @ 8597DF0 - .incbin "baserom.gba", 0x597df0, 0x40 + spr_template 0x0006, 0x0002, gUnknown_08597DE8, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + .align 2 +gUnknown_08597E08:: @ 8597E08 + .2byte 0x4000, 0x4000, 0x0400, 0x0000 + + .align 2 +gUnknown_08597E10:: @ 8597E10 + .2byte 0x0000, 0x4000, 0x0400, 0x0000 + + .align 2 +gUnknown_08597E18:: @ 8597E18 + .2byte 0x0000, 0x0000, 0xffff, 0x0000 + + .align 2 +gUnknown_08597E20:: @ 8597E20 + .2byte 0x0004, 0x0000, 0xffff, 0x0000 + + .align 2 +gUnknown_08597E28:: @ 8597E28 + .4byte gUnknown_08597E18 + .4byte gUnknown_08597E20 + + .align 2 gUnknown_08597E30:: @ 8597E30 - .incbin "baserom.gba", 0x597e30, 0x18 + spr_template 0x0003, 0x0002, gUnknown_08597E08, gUnknown_08597E28, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + .align 2 gUnknown_08597E48:: @ 8597E48 - .incbin "baserom.gba", 0x597e48, 0x18 + spr_template 0x0002, 0x0002, gUnknown_08597E10, gUnknown_08597E28, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy gUnknown_08597E60:: @ 8597E60 .byte 0x10, 0x6f, 0xc4, 0x00, 0x10, 0x4e, 0x82, 0xa0, 0x10, 0x50, 0x86, 0xaa + .align 2 gUnknown_08597E6C:: @ 8597E6C - .incbin "baserom.gba", 0x597e6c, 0x30 + .4byte gText_DelAll + .4byte gText_Cancel5 + .4byte gText_Ok2 + .4byte NULL + + .4byte gText_DelAll + .4byte gText_Cancel5 + .4byte gText_Ok2 + .4byte gText_Quiz + + .4byte gText_DelAll + .4byte gText_Cancel5 + .4byte gText_Ok2 + .4byte gText_Answer @ 8597E9C .include "data/text/easy_chat/easy_chat_groups.inc" diff --git a/data/graphics.s b/data/graphics.s index e135a63e3..278b0da1c 100644 --- a/data/graphics.s +++ b/data/graphics.s @@ -126,23 +126,23 @@ gBlankGfxCompressed:: @ 8C0237C gUnknown_08C093F0:: @ 8C093F0 .incbin "baserom.gba", 0xc093f0, 0x87ac - .align 2 + .align 2 gBattleInterface_BallStatusBarPal:: @ 8C11B9C .incbin "graphics/battle_interface/ball_status_bar.gbapal" - .align 2 + .align 2 gBattleInterface_BallDisplayPal:: @ 8C11BBC .incbin "graphics/battle_interface/ball_display.gbapal" - .align 2 + .align 2 gHealthboxElementsGfxTable:: @ 8C11BDC .incbin "baserom.gba", 0xc11bdc, 0x840 - .align 2 + .align 2 gBattleInterface_BallDisplayGfx:: @ 8C1241C .incbin "graphics/battle_interface/ball_display.4bpp" - .align 2 + .align 2 gUnknown_08C1249C:: @ 8C1249C .incbin "baserom.gba", 0xc1249c, 0x49f4 @@ -268,28 +268,28 @@ gSubstituteDollGfx:: @ 8C2CEE0 gSubstituteDollTilemap:: @ 8C2D120 .incbin "baserom.gba", 0xc2d120, 552 - + gUnknown_08C2D348:: @ 8C2D348 .incbin "baserom.gba", 0xC2D348, 196 - + gUnknown_08C2D40C:: @ 8C2D40C .incbin "baserom.gba", 0xC2D40C, 28 - + gContestConfetti_Gfx:: @ 8C2D428 .incbin "baserom.gba", 0xC2D428, 288 - + gContestConfetti_Pal:: @ 8C2D548 .incbin "baserom.gba", 0xC2D548, 40 - + gUnknown_08C2D570:: @ 8C2D570 .incbin "baserom.gba", 0xC2D570, 316 - + gUnknown_08C2D6AC:: @ 8C2D6AC .incbin "baserom.gba", 0xC2D6AC, 36 - + gUnknown_08C2D6D0:: @ 8C2D6D0 .incbin "baserom.gba", 0xC2D6D0, 40 - + gUnknown_08C2D6F8:: @ 8C2D6F8 .incbin "baserom.gba", 0xC2D6F8, 40 @@ -906,9 +906,9 @@ gMenuMoneyPal:: @ 8D9B0C8 gBuyMenuFrame_Tilemap:: @ 8D9B0F0 .incbin "baserom.gba", 0xd9b0f0, 0x140 - + gMenuMoneyGfx:: @ 8D9B230 - .incbin "baserom.gba", 0xd9b230, 0x84 + .incbin "baserom.gba", 0xd9b230, 0x84 gMenuPokeblock_Gfx:: @ 8D9B2B4 .incbin "baserom.gba", 0xd9b2b4, 0x1bc @@ -1100,7 +1100,7 @@ gUnknown_08DAAFEC:: @ 8DAAFEC .include "data/graphics/decorations/decoration_graphics.inc" @ 8DBA14C - .incbin "baserom.gba", 0xdba14c, 0x3cc + .incbin "baserom.gba", 0xdba14c, 0x3cc gUnknown_08DBA518:: @ 8DBA518 .incbin "baserom.gba", 0xdba518, 0x80 @@ -1435,43 +1435,65 @@ gUnknown_08DC9608:: @ 8DC9608 gUnknown_08DC9628:: @ 8DC9628 .incbin "baserom.gba", 0xdc9628, 0x320 - + gBerryBlenderMiscPalette:: @ 8DCAB88 .incbin "graphics/berry_blender/misc.gbapal" - + gBerryBlenderArrowPalette:: @ 8DC9948 .incbin "graphics/berry_blender/arrow.gbapal" gUnknown_8DC9988:: @ 8DC9988 - .incbin "baserom.gba", 0xdc9988, 0x200 - + .incbin "baserom.gba", 0xdc9988, 0x200 + .align 2 gBerryBlenderMarubatsuTiles:: @ 8DC9B88 .incbin "graphics/berry_blender/marubatsu.4bpp" - + .align 2 gBerryBlenderParticlesTiles:: @ 8E90818 .incbin "graphics/berry_blender/particles.4bpp" - + .space 0x120 .align 2 gBerryBlenderCountdownNumbersTiles:: @ 8DC9F88 .incbin "graphics/berry_blender/countdown_numbers.4bpp" - + .align 2 gBerryBlenderStartTiles:: @ 8DCA588 .incbin "graphics/berry_blender/start.4bpp" - - .space 0x200 - + + .space 0x200 + .align 2 gBerryBlenderArrowTiles:: @ 8DCAB88 .incbin "graphics/berry_blender/arrow.4bpp" + .align 2 gUnknown_08DCB388:: @ 8DCB388 - .incbin "baserom.gba", 0xdcb388, 0xA28 - + .incbin "baserom.gba", 0xdcb388, 0x2C0 + + .align 2 +gUnknown_08DCB648:: @ 8DCB648 + .incbin "baserom.gba", 0xdcb648, 0x20 + + .align 2 +gUnknown_08DCB668:: @ 8DCB668 + .incbin "baserom.gba", 0xdcb668, 0x204 + + .align 2 +gUnknown_08DCB86C:: @ 8DCB86C + .incbin "baserom.gba", 0xdcb86C, 0x20 + + .align 2 +gUnknown_08DCB88C:: @ 8DCB88C + .incbin "baserom.gba", 0xdcb88C, 0x224 + + .align 2 +gUnknown_08DCBAB0:: @ 8DCBAB0 + .incbin "baserom.gba", 0xdcbab0, 0x300 + + .align 2 gUnknown_08DCBDB0:: @ 8DCBDB0 .incbin "baserom.gba", 0xdcbdb0, 0x20 @@ -1604,7 +1626,7 @@ gUnknown_08DD4BF0:: @ 8DD4BF0 gUnknown_08DD4C4C:: @ 8DD4C4C .incbin "baserom.gba", 0xdd4c4c, 0xac - .align 2 + .align 2 gUnknown_08DD4CF8:: @ 8DD4CF8 .incbin "graphics/interface/unk_change_case.4bpp.lz" @@ -1638,61 +1660,61 @@ gUnknown_08DD7300:: @ 8DD7300 .incbin "baserom.gba", 0xdd7300, 0x60 gUnknown_08DD7360:: @ 8DD7360 - .incbin "baserom.gba", 0xdd7360, 0x1420 + .incbin "baserom.gba", 0xdd7360, 0x1420 gUnknown_08DD8780:: @ 8DD8780 - .incbin "baserom.gba", 0xdd8780, 0x40 + .incbin "baserom.gba", 0xdd8780, 0x40 gUnknown_08DD87C0:: @ 8DD87C0 - .incbin "baserom.gba", 0xdd87c0, 0x720 + .incbin "baserom.gba", 0xdd87c0, 0x720 gUnknown_08DD8EE0:: @ 8DD8EE0 - .incbin "baserom.gba", 0xdd8ee0, 0x1a0 + .incbin "baserom.gba", 0xdd8ee0, 0x1a0 gUnknown_08DD9080:: @ 8DD9080 - .incbin "baserom.gba", 0xdd9080, 0x60 + .incbin "baserom.gba", 0xdd9080, 0x60 gUnknown_08DD90E0:: @ 8DD90E0 - .incbin "baserom.gba", 0xdd90e0, 0x638 + .incbin "baserom.gba", 0xdd90e0, 0x638 gUnknown_08DD9718:: @ 8DD9718 - .incbin "baserom.gba", 0xdd9718, 0x15c + .incbin "baserom.gba", 0xdd9718, 0x15c gUnknown_08DD9874:: @ 8DD9874 - .incbin "baserom.gba", 0xdd9874, 0x40 + .incbin "baserom.gba", 0xdd9874, 0x40 gUnknown_08DD98B4:: @ 8DD98B4 - .incbin "baserom.gba", 0xdd98b4, 0x5a4 + .incbin "baserom.gba", 0xdd98b4, 0x5a4 gUnknown_08DD9E58:: @ 8DD9E58 - .incbin "baserom.gba", 0xdd9e58, 0x194 + .incbin "baserom.gba", 0xdd9e58, 0x194 gUnknown_08DD9FEC:: @ 8DD9FEC - .incbin "baserom.gba", 0xdd9fec, 0x40 + .incbin "baserom.gba", 0xdd9fec, 0x40 gUnknown_08DDA02C:: @ 8DDA02C - .incbin "baserom.gba", 0xdda02c, 0x610 + .incbin "baserom.gba", 0xdda02c, 0x610 gUnknown_08DDA63C:: @ 8DDA63C - .incbin "baserom.gba", 0xdda63c, 0x1c4 + .incbin "baserom.gba", 0xdda63c, 0x1c4 gUnknown_08DDA800:: @ 8DDA800 - .incbin "baserom.gba", 0xdda800, 0x40 + .incbin "baserom.gba", 0xdda800, 0x40 gUnknown_08DDA840:: @ 8DDA840 - .incbin "baserom.gba", 0xdda840, 0x600 + .incbin "baserom.gba", 0xdda840, 0x600 gUnknown_08DDAE40:: @ 8DDAE40 - .incbin "baserom.gba", 0xddae40, 0x1a0 + .incbin "baserom.gba", 0xddae40, 0x1a0 gUnknown_08DDAFE0:: @ 8DDAFE0 - .incbin "baserom.gba", 0xddafe0, 0x40 + .incbin "baserom.gba", 0xddafe0, 0x40 gUnknown_08DDB020:: @ 8DDB020 - .incbin "baserom.gba", 0xddb020, 0x2a4 + .incbin "baserom.gba", 0xddb020, 0x2a4 gUnknown_08DDB2C4:: @ 8DDB2C4 - .incbin "baserom.gba", 0xddb2c4, 0x120 + .incbin "baserom.gba", 0xddb2c4, 0x120 gUnknown_08DDB3E4:: @ 8DDB3E4 .incbin "baserom.gba", 0xddb3e4, 0x80 diff --git a/data/pokemon_animation.s b/data/pokemon_animation.s new file mode 100644 index 000000000..535c91b2d --- /dev/null +++ b/data/pokemon_animation.s @@ -0,0 +1,240 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + +gUnknown_0860A8C8:: @ 860A8C8 + .byte 0x00, 0x13, 0x02, 0x08, 0x12, 0x15, 0x17, 0x12, 0x12, 0x19, 0x02, 0x13, 0x11, 0x02, 0x13, 0x01, 0x0f, 0x15, 0x0f, 0x0a, 0x0a, 0x0f, 0x15, 0x0f, 0x09, 0x16, 0x16, 0x12, 0x10, 0x12, 0x15, 0x09 + .byte 0x12, 0x15, 0x09, 0x13, 0x13, 0x10, 0x01, 0x13, 0x06, 0x11, 0x09, 0x02, 0x02, 0x14, 0x02, 0x08, 0x0a, 0x11, 0x09, 0x09, 0x10, 0x0f, 0x02, 0x14, 0x10, 0x10, 0x15, 0x15, 0x12, 0x09, 0x0e, 0x14 + .byte 0x14, 0x0d, 0x15, 0x09, 0x09, 0x0b, 0x0b, 0x0b, 0x02, 0x02, 0x0e, 0x08, 0x08, 0x17, 0x15, 0x02, 0x13, 0x0f, 0x0f, 0x02, 0x0f, 0x15, 0x13, 0x02, 0x0b, 0x0c, 0x13, 0x0f, 0x01, 0x01, 0x14, 0x09 + .byte 0x13, 0x14, 0x0a, 0x09, 0x15, 0x15, 0x02, 0x10, 0x15, 0x10, 0x02, 0x0f, 0x02, 0x06, 0x06, 0x0e, 0x0e, 0x12, 0x0b, 0x12, 0x13, 0x11, 0x11, 0x11, 0x13, 0x19, 0x14, 0x0f, 0x13, 0x16, 0x17, 0x0e + .byte 0x0e, 0x10, 0x09, 0x19, 0x05, 0x12, 0x19, 0x16, 0x17, 0x01, 0x13, 0x13, 0x13, 0x15, 0x15, 0x13, 0x19, 0x16, 0x17, 0x02, 0x0f, 0x09, 0x0d, 0x12, 0x12, 0x02, 0x09, 0x12, 0x15, 0x17, 0x15, 0x15 + .byte 0x09, 0x12, 0x10, 0x11, 0x0f, 0x0a, 0x11, 0x0a, 0x02, 0x0f, 0x0b, 0x16, 0x12, 0x13, 0x13, 0x13, 0x11, 0x12, 0x14, 0x12, 0x13, 0x16, 0x11, 0x12, 0x13, 0x02, 0x10, 0x11, 0x11, 0x11, 0x10, 0x13 + .byte 0x02, 0x11, 0x0b, 0x02, 0x14, 0x14, 0x12, 0x13, 0x01, 0x14, 0x0b, 0x14, 0x08, 0x09, 0x0f, 0x05, 0x09, 0x15, 0x09, 0x0d, 0x15, 0x13, 0x15, 0x0f, 0x13, 0x09, 0x17, 0x17, 0x0a, 0x08, 0x02, 0x02 + .byte 0x05, 0x0f, 0x02, 0x15, 0x09, 0x09, 0x19, 0x15, 0x0e, 0x01, 0x13, 0x02, 0x0f, 0x07, 0x02, 0x08, 0x17, 0x02, 0x13, 0x16, 0x17, 0x19, 0x0e, 0x09, 0x0e, 0x19, 0x17, 0x18, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x15, 0x09, 0x12, 0x10, 0x17, 0x02, 0x12, 0x19, 0x12, 0x08 + .byte 0x0f, 0x15, 0x0b, 0x08, 0x11, 0x08, 0x0f, 0x02, 0x10, 0x10, 0x13, 0x09, 0x14, 0x0a, 0x01, 0x14, 0x12, 0x15, 0x13, 0x15, 0x07, 0x11, 0x11, 0x03, 0x11, 0x19, 0x19, 0x13, 0x12, 0x01, 0x13, 0x14 + .byte 0x0e, 0x17, 0x01, 0x0b, 0x09, 0x04, 0x0f, 0x15, 0x03, 0x19, 0x04, 0x15, 0x13, 0x01, 0x0f, 0x0e, 0x0e, 0x15, 0x09, 0x0e, 0x17, 0x13, 0x09, 0x09, 0x0a, 0x08, 0x0f, 0x0f, 0x13, 0x13, 0x10, 0x10 + .byte 0x14, 0x12, 0x12, 0x09, 0x14, 0x14, 0x11, 0x11, 0x12, 0x01, 0x01, 0x18, 0x02, 0x10, 0x08, 0x0b, 0x0b, 0x0e, 0x13, 0x09, 0x0d, 0x13, 0x11, 0x11, 0x14, 0x01, 0x01, 0x0b, 0x15, 0x02, 0x15, 0x09 + .byte 0x0e, 0x11, 0x11, 0x11, 0x0c, 0x0b, 0x0f, 0x09, 0x14, 0x14, 0x14, 0x09, 0x09, 0x08, 0x0f, 0x15, 0x09, 0x09, 0x09, 0x09, 0x19, 0x17, 0x0d, 0x01, 0x01, 0x11, 0x14, 0x11 + +gUnknown_0860AA64:: @ 860AA64 + .byte 0x00, 0x05, 0x01, 0x01, 0x00, 0x0f, 0x01, 0x04, 0x00, 0x02, 0x01, 0x02, 0x00, 0x02, 0x01, 0x02, 0x00, 0x02, 0x01, 0x02, 0x00, 0x02, 0x01, 0x02, 0x00, 0x02, 0x00, 0xff + +gUnknown_0860AA80:: @ 860AA80 + .byte 0x06, 0x1e, 0xfe, 0x0f, 0x06, 0x1e, 0xff, 0x00 + + .align 2 +gUnknown_0860AA88:: @ 860AA88 + .4byte pokemonanimfunc_00 + .4byte pokemonanimfunc_01 + .4byte pokemonanimfunc_02 + .4byte pokemonanimfunc_03 + .4byte pokemonanimfunc_04 + .4byte pokemonanimfunc_05 + .4byte pokemonanimfunc_06 + .4byte pokemonanimfunc_07 + .4byte pokemonanimfunc_08 + .4byte pokemonanimfunc_09 + .4byte pokemonanimfunc_0A + .4byte pokemonanimfunc_0B + .4byte pokemonanimfunc_0C + .4byte pokemonanimfunc_0D + .4byte pokemonanimfunc_0E + .4byte pokemonanimfunc_0F + .4byte pokemonanimfunc_10 + .4byte pokemonanimfunc_11 + .4byte pokemonanimfunc_12 + .4byte pokemonanimfunc_13 + .4byte pokemonanimfunc_14 + .4byte pokemonanimfunc_15 + .4byte pokemonanimfunc_16 + .4byte pokemonanimfunc_17 + .4byte pokemonanimfunc_18 + .4byte pokemonanimfunc_19 + .4byte pokemonanimfunc_1A + .4byte pokemonanimfunc_1B + .4byte pokemonanimfunc_1C + .4byte pokemonanimfunc_1D + .4byte pokemonanimfunc_1E + .4byte pokemonanimfunc_1F + .4byte pokemonanimfunc_20 + .4byte pokemonanimfunc_21 + .4byte pokemonanimfunc_22 + .4byte pokemonanimfunc_23 + .4byte pokemonanimfunc_24 + .4byte pokemonanimfunc_25 + .4byte pokemonanimfunc_26 + .4byte pokemonanimfunc_27 + .4byte pokemonanimfunc_28 + .4byte pokemonanimfunc_29 + .4byte pokemonanimfunc_2A + .4byte pokemonanimfunc_2B + .4byte pokemonanimfunc_2C + .4byte pokemonanimfunc_2D + .4byte pokemonanimfunc_2E + .4byte pokemonanimfunc_2F + .4byte pokemonanimfunc_30 + .4byte pokemonanimfunc_31 + .4byte pokemonanimfunc_32 + .4byte pokemonanimfunc_33 + .4byte pokemonanimfunc_34 + .4byte pokemonanimfunc_35 + .4byte pokemonanimfunc_36 + .4byte pokemonanimfunc_37 + .4byte pokemonanimfunc_38 + .4byte pokemonanimfunc_39 + .4byte pokemonanimfunc_3A + .4byte pokemonanimfunc_3B + .4byte pokemonanimfunc_3C + .4byte pokemonanimfunc_3D + .4byte pokemonanimfunc_3E + .4byte pokemonanimfunc_3F + .4byte pokemonanimfunc_40 + .4byte pokemonanimfunc_41 + .4byte pokemonanimfunc_42 + .4byte pokemonanimfunc_43 + .4byte pokemonanimfunc_44 + .4byte pokemonanimfunc_45 + .4byte pokemonanimfunc_46 + .4byte pokemonanimfunc_47 + .4byte pokemonanimfunc_48 + .4byte pokemonanimfunc_49 + .4byte pokemonanimfunc_4A + .4byte pokemonanimfunc_4B + .4byte pokemonanimfunc_4C + .4byte pokemonanimfunc_4D + .4byte pokemonanimfunc_4E + .4byte pokemonanimfunc_4F + .4byte pokemonanimfunc_50 + .4byte pokemonanimfunc_51 + .4byte pokemonanimfunc_52 + .4byte pokemonanimfunc_53 + .4byte pokemonanimfunc_54 + .4byte pokemonanimfunc_55 + .4byte pokemonanimfunc_56 + .4byte pokemonanimfunc_57 + .4byte pokemonanimfunc_58 + .4byte pokemonanimfunc_59 + .4byte pokemonanimfunc_5A + .4byte pokemonanimfunc_5B + .4byte pokemonanimfunc_5C + .4byte pokemonanimfunc_5D + .4byte pokemonanimfunc_5E + .4byte pokemonanimfunc_5F + .4byte pokemonanimfunc_60 + .4byte pokemonanimfunc_61 + .4byte pokemonanimfunc_62 + .4byte pokemonanimfunc_63 + .4byte pokemonanimfunc_64 + .4byte pokemonanimfunc_65 + .4byte pokemonanimfunc_66 + .4byte pokemonanimfunc_67 + .4byte pokemonanimfunc_68 + .4byte pokemonanimfunc_69 + .4byte pokemonanimfunc_6A + .4byte pokemonanimfunc_6B + .4byte pokemonanimfunc_6C + .4byte pokemonanimfunc_6D + .4byte pokemonanimfunc_6E + .4byte pokemonanimfunc_6F + .4byte pokemonanimfunc_70 + .4byte pokemonanimfunc_71 + .4byte pokemonanimfunc_72 + .4byte pokemonanimfunc_73 + .4byte pokemonanimfunc_74 + .4byte pokemonanimfunc_75 + .4byte pokemonanimfunc_76 + .4byte pokemonanimfunc_77 + .4byte pokemonanimfunc_78 + .4byte pokemonanimfunc_79 + .4byte pokemonanimfunc_7A + .4byte pokemonanimfunc_7B + .4byte pokemonanimfunc_7C + .4byte pokemonanimfunc_7D + .4byte pokemonanimfunc_7E + .4byte pokemonanimfunc_7F + .4byte pokemonanimfunc_80 + .4byte pokemonanimfunc_81 + .4byte pokemonanimfunc_82 + .4byte pokemonanimfunc_83 + .4byte pokemonanimfunc_84 + .4byte pokemonanimfunc_85 + .4byte pokemonanimfunc_86 + .4byte pokemonanimfunc_87 + .4byte pokemonanimfunc_88 + .4byte pokemonanimfunc_89 + .4byte pokemonanimfunc_8A + .4byte pokemonanimfunc_8B + .4byte pokemonanimfunc_8C + .4byte pokemonanimfunc_8D + .4byte pokemonanimfunc_8E + .4byte pokemonanimfunc_8F + .4byte pokemonanimfunc_90 + .4byte pokemonanimfunc_91 + .4byte pokemonanimfunc_92 + .4byte pokemonanimfunc_93 + .4byte pokemonanimfunc_94 + .4byte pokemonanimfunc_95 + .4byte pokemonanimfunc_96 + +gUnknown_0860ACE4:: @ 860ACE4 + .byte 0x60, 0x5f, 0x02, 0x5e, 0x03, 0x46, 0x6d, 0x3e, 0x6e, 0x6f, 0x70, 0x3f, 0x71, 0x13, 0x72, 0x6c, 0x6b, 0x3a, 0x64, 0x14, 0x4f, 0x5d, 0x0f, 0x4c, 0x61, 0x57, 0x58, 0x67, 0x66, 0x59, 0x74, 0x73 + .byte 0x5a, 0x75, 0x76, 0x5b, 0x77, 0x78, 0x65, 0x63, 0x5c, 0x62, 0x6a, 0x69, 0x68, 0x7b, 0x7a, 0x79, 0x7e, 0x7d, 0x7c, 0x81, 0x80, 0x7f, 0x84, 0x82, 0x83, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b + .byte 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96 + +gUnknown_0860AD2F:: @ 860AD2F + .byte 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x02, 0x00, 0x01, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x02, 0x01, 0x02, 0x01 + + .align 2 +gSpriteAffineAnim_860AD48:: @ 860AD48 + obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_860AD58:: @ 860AD58 + obj_rot_scal_anim_frame -0x100, 0x100, 0, 0 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_860AD68:: @ 860AD68 + .4byte gSpriteAffineAnim_860AD48 + .4byte gSpriteAffineAnim_860AD58 + +gUnknown_0860AD70:: @ 860AD70 + .byte 0xff, 0xff, 0x06, 0x02, 0x00, 0x06, 0xfe, 0x02, 0x06, 0x02, 0x00, 0x06, 0xfe, 0xfe, 0x06, 0x02, 0x00, 0x06, 0xfe, 0x02, 0x06, 0x02, 0x00, 0x06, 0xff, 0xff, 0x06, 0x00, 0x00, 0x00 + +gUnknown_0860AD8E:: @ 860AD8E + .byte 0x00, 0x08, 0x08, 0x08, 0xf8, 0x0c, 0xf8, 0x08, 0x0c, 0x08, 0xf8, 0x0c, 0xf8, 0x08, 0x0c, 0x08, 0xf8, 0x0c, 0xf8, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, 0x08, 0xf8, 0x18, 0xf8, 0x08 + .byte 0x18, 0x08, 0xf8, 0x18, 0xf8, 0x08, 0x18, 0x08, 0xf8, 0x18, 0xf8, 0x00, 0x18, 0x00, 0x00, 0x00 + +gUnknown_0860ADBE:: @ 860ADBE + .byte 0x01, 0x01, 0x0c, 0xfe, 0x00, 0x0c, 0x01, 0xff, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00 + +gUnknown_0860ADCC:: @ 860ADCC + .byte 0x00, 0x01, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00 + .byte 0x00, 0x0f, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00 + .byte 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00 + .byte 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00 + .byte 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00 + +gUnknown_0860AE1C:: @ 860AE1C + .byte 0x00, 0x05, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x01, 0x04, 0x00, 0x00 + .byte 0x00, 0x02, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00 + .byte 0x00, 0x02, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00 + .byte 0x00, 0x02, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00 + +gUnknown_0860AE54:: @ 860AE54 + .byte 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00 + .byte 0x00, 0x14, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00 + .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00 + + .align 2 +gUnknown_0860AE7C:: @ 860AE7C + .4byte gUnknown_0860ADCC + .4byte gUnknown_0860AE1C + .4byte gUnknown_0860AE54 + + .align 1 +gUnknown_0860AE88:: @ 860AE88 + .2byte 0x001f, 0x03e0, 0x7c00, 0x0000 diff --git a/data/strings.s b/data/strings.s index a0661f13d..82c5520e6 100644 --- a/data/strings.s +++ b/data/strings.s @@ -2906,112 +2906,112 @@ gUnknown_085EC04F:: @ 85EC04F gUnknown_085EC063:: @ 85EC063 .string "{SPECIAL_F7 0x00}/{LV}{SPECIAL_F7 0x01}{SPECIAL_F7 0x02}$" -gUnknown_085EC06C:: @ 85EC06C +gText_CombineFourWordsOrPhrases:: @ 85EC06C .string "Combine four words or phrases$" -gUnknown_085EC08A:: @ 85EC08A +gText_AndMakeYourProfile:: @ 85EC08A .string "and make your profile.$" -gUnknown_085EC0A1:: @ 85EC0A1 +gText_CombineSixWordsOrPhrases:: @ 85EC0A1 .string "Combine six words or phrases$" -gUnknown_085EC0BE:: @ 85EC0BE +gText_AndMakeAMessage:: @ 85EC0BE .string "and make a message.$" -gUnknown_085EC0D2:: @ 85EC0D2 +gText_FindWordsThatDescribeYour:: @ 85EC0D2 .string "Find words that describe your$" -gUnknown_085EC0F0:: @ 85EC0F0 +gText_FeelingsRightNow:: @ 85EC0F0 .string "feelings right now.$" gUnknown_085EC104:: @ 85EC104 .string "With four phrases,$" -gUnknown_085EC117:: @ 85EC117 +gText_CombineNineWordsOrPhrases:: @ 85EC117 .string "Combine nine words or phrases$" -gUnknown_085EC135:: @ 85EC135 +gText_AndMakeAMessage2:: @ 85EC135 .string "and make a message.$" -gUnknown_085EC149:: @ 85EC149 +gText_ChangeJustOneWordOrPhrase:: @ 85EC149 .string "Change just one word or phrase$" -gUnknown_085EC168:: @ 85EC168 +gText_AndImproveTheBardsSong:: @ 85EC168 .string "and improve the BARD’s song.$" -gUnknown_085EC185:: @ 85EC185 +gText_YourProfile:: @ 85EC185 .string "Your profile$" -gUnknown_085EC192:: @ 85EC192 +gText_YourFeelingAtTheBattlesStart:: @ 85EC192 .string "Your feeling at the battle’s start$" -gUnknown_085EC1B5:: @ 85EC1B5 +gText_WhatYouSayIfYouWin:: @ 85EC1B5 .string "What you say if you win a battle$" -gUnknown_085EC1D6:: @ 85EC1D6 +gText_WhatYouSayIfYouLose:: @ 85EC1D6 .string "What you say if you lose a battle$" -gUnknown_085EC1F8:: @ 85EC1F8 +gText_TheAnswer:: @ 85EC1F8 .string "The answer$" -gUnknown_085EC203:: @ 85EC203 +gText_TheMailMessage:: @ 85EC203 .string "The MAIL message$" gUnknown_085EC214:: @ 85EC214 .string "The MAIL salutation$" -gUnknown_085EC228:: @ 85EC228 +gText_TheBardsSong2:: @ 85EC228 .string "The new song$" -gUnknown_085EC235:: @ 85EC235 +gText_CombineTwoWordsOrPhrases:: @ 85EC235 .string "Combine two words or phrases$" -gUnknown_085EC252:: @ 85EC252 +gText_AndMakeATrendySaying:: @ 85EC252 .string "and make a trendy saying.$" -gUnknown_085EC26C:: @ 85EC26C +gText_TheTrendySaying:: @ 85EC26C .string "The trendy saying$" -gUnknown_085EC27E:: @ 85EC27E +gText_IsAsShownOkay:: @ 85EC27E .string "is as shown. Okay?$" -gUnknown_085EC291:: @ 85EC291 +gText_CombineTwoWordsOrPhrases2:: @ 85EC291 .string "Combine two words or phrases$" -gUnknown_085EC2AE:: @ 85EC2AE +gText_ToTeachHerAGoodSaying:: @ 85EC2AE .string "to teach her a good saying.$" -gUnknown_085EC2CA:: @ 85EC2CA +gText_FindWordsWhichFit:: @ 85EC2CA .string "Find words which fit$" -gUnknown_085EC2DF:: @ 85EC2DF +gText_TheTrainersImage:: @ 85EC2DF .string "the TRAINER’s image.$" -gUnknown_085EC2F4:: @ 85EC2F4 +gText_TheImage:: @ 85EC2F4 .string "The image:$" -gUnknown_085EC2FF:: @ 85EC2FF +gText_OutOfTheListedChoices:: @ 85EC2FF .string "Out of the listed choices,$" -gUnknown_085EC31A:: @ 85EC31A +gText_SelectTheAnswerToTheQuiz:: @ 85EC31A .string "select the answer to the quiz!$" -gUnknown_085EC339:: @ 85EC339 +gText_AndCreateAQuiz:: @ 85EC339 .string "and create a quiz!$" -gUnknown_085EC34C:: @ 85EC34C +gText_PickAWordOrPhraseAnd:: @ 85EC34C .string "Pick a word or phrase and$" -gUnknown_085EC366:: @ 85EC366 +gText_SetTheQuizAnswer:: @ 85EC366 .string "set the quiz answer.$" -gUnknown_085EC37B:: @ 85EC37B +gText_TheAnswerColon:: @ 85EC37B .string "The answer:$" gUnknown_085EC387:: @ 85EC387 .string "The quiz:$" -gUnknown_085EC391:: @ 85EC391 +gText_ApprenticePhrase:: @ 85EC391 .string "Apprentice’s phrase:$" gText_QuitEditing:: @ 85EC3A6 @@ -3020,10 +3020,10 @@ gText_QuitEditing:: @ 85EC3A6 gText_StopGivingPkmnMail:: @ 85EC3B4 .string "Stop giving the POKéMON MAIL?$" -gUnknown_085EC3D2:: @ 85EC3D2 +gText_AndFillOutTheQuestionnaire:: @ 85EC3D2 .string "and fill out the questionnaire.$" -gUnknown_085EC3F2:: @ 85EC3F2 +gText_LetsReplyToTheInterview:: @ 85EC3F2 .string "Let’s reply to the interview!$" gText_AllTextBeingEditedWill:: @ 85EC410 @@ -3056,7 +3056,7 @@ gText_OriginalSongWillBeUsed:: @ 85EC4E9 gUnknown_085EC509:: @ 85EC509 .string "That’s trendy already!$" -gText_CombineTwoWordsOrPhrases:: @ 85EC520 +gText_CombineTwoWordsOrPhrases3:: @ 85EC520 .string "Combine two words or phrases.$" gUnknown_085EC53E:: @ 85EC53E @@ -3074,40 +3074,40 @@ gUnknown_085EC584:: @ 85EC584 gUnknown_085EC594:: @ 85EC594 .string "Cancel the selection?$" -gUnknown_085EC5AA:: @ 85EC5AA +gText_Profile:: @ 85EC5AA .string "PROFILE$" -gUnknown_085EC5B2:: @ 85EC5B2 +gText_AtTheBattlesStart:: @ 85EC5B2 .string "At the battle’s start:$" -gUnknown_085EC5C9:: @ 85EC5C9 +gText_UponWinningABattle:: @ 85EC5C9 .string "Upon winning a battle:$" -gUnknown_085EC5E0:: @ 85EC5E0 +gText_UponLosingABattle:: @ 85EC5E0 .string "Upon losing a battle:$" -gUnknown_085EC5F6:: @ 85EC5F6 +gText_TheBardsSong:: @ 85EC5F6 .string "The BARD’s Song$" -gUnknown_085EC606:: @ 85EC606 +gText_WhatsHipAndHappening:: @ 85EC606 .string "What’s hip and happening?$" -gUnknown_085EC620:: @ 85EC620 +gText_Interview:: @ 85EC620 .string "Interview$" -gUnknown_085EC62A:: @ 85EC62A +gText_GoodSaying:: @ 85EC62A .string "Good saying$" -gUnknown_085EC636:: @ 85EC636 +gText_FansQuestion:: @ 85EC636 .string "Fan’s question$" gUnknown_085EC645:: @ 85EC645 .string "クイズの こたえは?$" @ "kuizuno kotaeha?" ("The quiz's answer is?" in Japanese) -gUnknown_085EC650:: @ 85EC650 +gText_ApprenticesPhrase:: @ 85EC650 .string "Apprentice’s phrase$" -gUnknown_085EC664:: @ 85EC664 +gText_Questionnaire:: @ 85EC664 .string "QUESTIONNAIRE$" gText_YouCannotQuitHere:: @ 85EC672 @@ -3122,13 +3122,13 @@ gText_F700sQuiz:: @ 85EC6A8 gText_Lady:: @ 85EC6B2 .string "Lady$" -gUnknown_085EC6B7:: @ 85EC6B7 +gText_AfterYouHaveReadTheQuiz:: @ 85EC6B7 .string "After you have read the quiz$" -gUnknown_085EC6D4:: @ 85EC6D4 +gText_QuestionPressTheAButton:: @ 85EC6D4 .string "question, press the A Button.$" -gUnknown_085EC6F2:: @ 85EC6F2 +gText_TheQuizAnswerIs:: @ 85EC6F2 .string "The quiz answer is?$" gText_LikeToQuitQuiz:: @ 85EC706 @@ -3137,7 +3137,7 @@ gText_LikeToQuitQuiz:: @ 85EC706 gText_ChallengeQuestionMark:: @ 85EC727 .string "challenge?$" -gUnknown_085EC732:: @ 85EC732 +gText_IsThisQuizOK:: @ 85EC732 .string "Is this quiz OK?$" gText_CreateAQuiz:: @ 85EC743 @@ -5370,19 +5370,19 @@ gUnknown_085EFCA0:: @ 85EFCA0 gUnknown_085EFCAB:: @ 85EFCAB .string "SEAFLOOR2$" -gUnknown_085EFCB5:: @ 85EFCB5 +gText_DelAll:: @ 85EFCB5 .string "DEL. ALL$" -gUnknown_085EFCBE:: @ 85EFCBE +gText_Cancel5:: @ 85EFCBE .string "CANCEL$" -gUnknown_085EFCC5:: @ 85EFCC5 +gText_Ok2:: @ 85EFCC5 .string "OK$" -gUnknown_085EFCC8:: @ 85EFCC8 +gText_Quiz:: @ 85EFCC8 .string "QUIZ$" -gUnknown_085EFCCD:: @ 85EFCCD +gText_Answer:: @ 85EFCCD .string "ANSWER$" gText_PokeBalls:: @ 85EFCD4 diff --git a/graphics/misc/8597C1C.pal b/graphics/misc/8597C1C.pal new file mode 100644 index 000000000..c075c5ce1 --- /dev/null +++ b/graphics/misc/8597C1C.pal @@ -0,0 +1,7 @@ +JASC-PAL +0100 +4 +0 0 0 +0 0 0 +57 205 255 +172 172 238 diff --git a/graphics/misc/8597C24.pal b/graphics/misc/8597C24.pal new file mode 100644 index 000000000..5c8eed0ba --- /dev/null +++ b/graphics/misc/8597C24.pal @@ -0,0 +1,9 @@ +JASC-PAL +0100 +6 +0 0 0 +255 255 255 +98 98 98 +222 213 222 +65 139 74 +230 230 230 diff --git a/graphics/misc/interview.pal b/graphics/misc/interview.pal new file mode 100644 index 000000000..dfe91b5de --- /dev/null +++ b/graphics/misc/interview.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 255 148 +255 197 148 +238 139 90 +189 90 41 +255 213 213 +246 180 180 +197 131 131 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +41 49 49 +98 98 98 +180 189 180 +222 213 222 +255 255 255 diff --git a/graphics/misc/interview_arrow.png b/graphics/misc/interview_arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..1c1073d2ff185961df4fb3847405d50d89750353 GIT binary patch literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!VDx|E`RzTNErn9gt-3yKjr_?Det0hDL5U!bg5_olYpX5kFf)Taf4Mu+&e~wb;XL6>#qJT1sUn->gTe~DWM4f)8jco literal 0 HcmV?d00001 diff --git a/graphics/misc/interview_buttons.png b/graphics/misc/interview_buttons.png new file mode 100644 index 0000000000000000000000000000000000000000..d6dfc7cbd36983797143fa8b334d15290dce0b08 GIT binary patch literal 214 zcmeAS@N?(olHy`uVBq!ia0vp^4nWMo!VDyL`#gCAqznRlLR|mEak7F*UX?kn4Z}hqLX0 zcl?cw;V<(Sihnxo8g9Po*JqW^Q>}~L(r0Gvvlc7gaA@lcCXJq@4N)8kmO16zjE!}A z5B{l(oc3{6ThbiEIrE3w8{zx>hO?K}?zQS(v)Ju9yHE30%dQup|3MD%boFyt=akR{ E0E8G+5&!@I literal 0 HcmV?d00001 diff --git a/graphics/misc/interview_frame.png b/graphics/misc/interview_frame.png new file mode 100644 index 0000000000000000000000000000000000000000..63470e729d311db2e68486bf361737fece4e9588 GIT binary patch literal 192 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|eg8-ipS0MfW|K4}+&R#t_<^TVC zKrVi8F6>%4P=&Xri(`mKXL5oBYcr<-*CPg|09HS*9Sn@j32qO}96Tl0Fl=XRYFez; zGs_^0>7|+mFO&I&vn*nF)Fcc9449%$8A?B92w-+QsKCfzv8gDFi!ZqhWU;5KpUXO@ GgeCx;$S;}z literal 0 HcmV?d00001 diff --git a/graphics/misc/interview_frame_2.png b/graphics/misc/interview_frame_2.png new file mode 100644 index 0000000000000000000000000000000000000000..c0fbba87d39dda01c548859dc89e6d4a78c85bde GIT binary patch literal 260 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Eu!VDxcYag)#DT4r?5ZB_POaAXI{@-nRHVG(% z4*tK}^8f$U;^N{hd$-)Xdhh@L|Bfxi-+-$6JzX3_B&M#NV90mKfX7w0^z9=V2F?B2 zP6F5F>{#A$%Ty@6f%yQdz=IolD|meNoUE*p%u!lutyNvL>&U4MGmZpQymo96?&@TS zVO0?Oe{lBl0>?92d26Lwf;wuVdezuvp8^XkMGZ_o;<5!Xz(exy>|j=E@X;t_S7QueV&D(to$0v#L>tHyPgg&ebxsLQ03wz#5dZ)H literal 0 HcmV?d00001 diff --git a/ld_script.txt b/ld_script.txt index abb7f64da..3c6cf3bf0 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -475,7 +475,8 @@ SECTIONS { data/intro_credits_graphics.o(.rodata); src/evolution_graphics.o(.rodata); src/bard_music.o(.rodata); - data/data_860A4AC.o(.rodata); + data/battle_link_817C95C.o(.rodata); + data/pokemon_animation.o(.rodata); src/battle_controller_recorded_opponent.o(.rodata); src/battle_controller_recorded_player.o(.rodata); src/battle_dome_cards.o(.rodata); From efe19e95c846a658c5e9bd9908de548db00dcab5 Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Sun, 7 Jan 2018 01:29:26 -0600 Subject: [PATCH 2/4] Extract door animations --- asm/macros.inc | 14 + data/battle_anim_8170478.s | 48 +- data/field_door.s | 613 +++++++++++++++++- data/rom_8486FEC.s | 8 - graphics/door_anims/00/0.png | Bin 0 -> 170 bytes graphics/door_anims/00/1.png | Bin 0 -> 158 bytes graphics/door_anims/00/2.png | Bin 0 -> 134 bytes graphics/door_anims/01/0.png | Bin 0 -> 183 bytes graphics/door_anims/01/1.png | Bin 0 -> 179 bytes graphics/door_anims/01/2.png | Bin 0 -> 161 bytes graphics/door_anims/02/0.png | Bin 0 -> 151 bytes graphics/door_anims/02/1.png | Bin 0 -> 153 bytes graphics/door_anims/02/2.png | Bin 0 -> 129 bytes graphics/door_anims/03/0.png | Bin 0 -> 183 bytes graphics/door_anims/03/1.png | Bin 0 -> 179 bytes graphics/door_anims/03/2.png | Bin 0 -> 161 bytes graphics/door_anims/04/0.png | Bin 0 -> 180 bytes graphics/door_anims/04/1.png | Bin 0 -> 167 bytes graphics/door_anims/04/2.png | Bin 0 -> 145 bytes graphics/door_anims/05/0.png | Bin 0 -> 165 bytes graphics/door_anims/05/1.png | Bin 0 -> 156 bytes graphics/door_anims/05/2.png | Bin 0 -> 138 bytes graphics/door_anims/06/0.png | Bin 0 -> 172 bytes graphics/door_anims/06/1.png | Bin 0 -> 171 bytes graphics/door_anims/06/2.png | Bin 0 -> 142 bytes graphics/door_anims/07/0.png | Bin 0 -> 172 bytes graphics/door_anims/07/1.png | Bin 0 -> 171 bytes graphics/door_anims/07/2.png | Bin 0 -> 142 bytes graphics/door_anims/08/0.png | Bin 0 -> 186 bytes graphics/door_anims/08/1.png | Bin 0 -> 171 bytes graphics/door_anims/08/2.png | Bin 0 -> 151 bytes graphics/door_anims/09/0.png | Bin 0 -> 181 bytes graphics/door_anims/09/1.png | Bin 0 -> 169 bytes graphics/door_anims/09/2.png | Bin 0 -> 145 bytes graphics/door_anims/10/0.png | Bin 0 -> 177 bytes graphics/door_anims/10/1.png | Bin 0 -> 167 bytes graphics/door_anims/10/2.png | Bin 0 -> 139 bytes graphics/door_anims/11/0.png | Bin 0 -> 199 bytes graphics/door_anims/11/1.png | Bin 0 -> 177 bytes graphics/door_anims/11/2.png | Bin 0 -> 148 bytes graphics/door_anims/12/0.png | Bin 0 -> 170 bytes graphics/door_anims/12/1.png | Bin 0 -> 158 bytes graphics/door_anims/12/2.png | Bin 0 -> 134 bytes graphics/door_anims/13/0.png | Bin 0 -> 178 bytes graphics/door_anims/13/1.png | Bin 0 -> 177 bytes graphics/door_anims/13/2.png | Bin 0 -> 149 bytes graphics/door_anims/14/0.png | Bin 0 -> 187 bytes graphics/door_anims/14/1.png | Bin 0 -> 180 bytes graphics/door_anims/14/2.png | Bin 0 -> 117 bytes graphics/door_anims/15/0.png | Bin 0 -> 177 bytes graphics/door_anims/15/1.png | Bin 0 -> 171 bytes graphics/door_anims/15/2.png | Bin 0 -> 146 bytes graphics/door_anims/16/0.png | Bin 0 -> 162 bytes graphics/door_anims/16/1.png | Bin 0 -> 152 bytes graphics/door_anims/16/2.png | Bin 0 -> 136 bytes graphics/door_anims/17/0.png | Bin 0 -> 162 bytes graphics/door_anims/17/1.png | Bin 0 -> 152 bytes graphics/door_anims/17/2.png | Bin 0 -> 130 bytes graphics/door_anims/18/0.png | Bin 0 -> 194 bytes graphics/door_anims/18/1.png | Bin 0 -> 167 bytes graphics/door_anims/18/2.png | Bin 0 -> 152 bytes graphics/door_anims/19/0.png | Bin 0 -> 196 bytes graphics/door_anims/19/1.png | Bin 0 -> 168 bytes graphics/door_anims/19/2.png | Bin 0 -> 152 bytes graphics/door_anims/20/0.png | Bin 0 -> 205 bytes graphics/door_anims/20/1.png | Bin 0 -> 205 bytes graphics/door_anims/20/2.png | Bin 0 -> 180 bytes graphics/door_anims/21/0.png | Bin 0 -> 198 bytes graphics/door_anims/21/1.png | Bin 0 -> 192 bytes graphics/door_anims/21/2.png | Bin 0 -> 162 bytes graphics/door_anims/22/0.png | Bin 0 -> 154 bytes graphics/door_anims/22/1.png | Bin 0 -> 136 bytes graphics/door_anims/22/2.png | Bin 0 -> 119 bytes graphics/door_anims/23/0.png | Bin 0 -> 186 bytes graphics/door_anims/23/1.png | Bin 0 -> 176 bytes graphics/door_anims/23/2.png | Bin 0 -> 143 bytes graphics/door_anims/24/0.png | Bin 0 -> 176 bytes graphics/door_anims/24/1.png | Bin 0 -> 176 bytes graphics/door_anims/24/2.png | Bin 0 -> 152 bytes graphics/door_anims/25/0.png | Bin 0 -> 188 bytes graphics/door_anims/25/1.png | Bin 0 -> 183 bytes graphics/door_anims/25/2.png | Bin 0 -> 157 bytes graphics/door_anims/26/0.png | Bin 0 -> 232 bytes graphics/door_anims/26/1.png | Bin 0 -> 223 bytes graphics/door_anims/26/2.png | Bin 0 -> 185 bytes graphics/door_anims/27/0.png | Bin 0 -> 126 bytes graphics/door_anims/27/1.png | Bin 0 -> 137 bytes graphics/door_anims/27/2.png | Bin 0 -> 124 bytes graphics/door_anims/28/0.png | Bin 0 -> 167 bytes graphics/door_anims/28/1.png | Bin 0 -> 155 bytes graphics/door_anims/28/2.png | Bin 0 -> 118 bytes graphics/door_anims/29/0.png | Bin 0 -> 186 bytes graphics/door_anims/29/1.png | Bin 0 -> 171 bytes graphics/door_anims/29/2.png | Bin 0 -> 151 bytes graphics/door_anims/30/0.png | Bin 0 -> 167 bytes graphics/door_anims/30/1.png | Bin 0 -> 154 bytes graphics/door_anims/30/2.png | Bin 0 -> 117 bytes graphics/door_anims/31/0.png | Bin 0 -> 129 bytes graphics/door_anims/31/1.png | Bin 0 -> 121 bytes graphics/door_anims/31/2.png | Bin 0 -> 104 bytes graphics/door_anims/32/0.png | Bin 0 -> 194 bytes graphics/door_anims/32/1.png | Bin 0 -> 198 bytes graphics/door_anims/32/2.png | Bin 0 -> 138 bytes graphics/door_anims/33/0.png | Bin 0 -> 144 bytes graphics/door_anims/33/1.png | Bin 0 -> 147 bytes graphics/door_anims/33/2.png | Bin 0 -> 144 bytes graphics/door_anims/34/0.png | Bin 0 -> 148 bytes graphics/door_anims/34/1.png | Bin 0 -> 157 bytes graphics/door_anims/34/2.png | Bin 0 -> 126 bytes graphics/door_anims/35/0.png | Bin 0 -> 161 bytes graphics/door_anims/35/1.png | Bin 0 -> 155 bytes graphics/door_anims/35/2.png | Bin 0 -> 148 bytes graphics/door_anims/36/0.png | Bin 0 -> 138 bytes graphics/door_anims/36/1.png | Bin 0 -> 150 bytes graphics/door_anims/36/2.png | Bin 0 -> 144 bytes graphics/door_anims/37/0.png | Bin 0 -> 201 bytes graphics/door_anims/37/1.png | Bin 0 -> 188 bytes graphics/door_anims/37/2.png | Bin 0 -> 115 bytes graphics/door_anims/38/0.png | Bin 0 -> 206 bytes graphics/door_anims/38/1.png | Bin 0 -> 213 bytes graphics/door_anims/38/2.png | Bin 0 -> 161 bytes graphics/door_anims/39/0.png | Bin 0 -> 133 bytes graphics/door_anims/39/1.png | Bin 0 -> 146 bytes graphics/door_anims/39/2.png | Bin 0 -> 132 bytes graphics/door_anims/40/0.png | Bin 0 -> 205 bytes graphics/door_anims/40/1.png | Bin 0 -> 194 bytes graphics/door_anims/40/2.png | Bin 0 -> 168 bytes graphics/door_anims/41/0.png | Bin 0 -> 198 bytes graphics/door_anims/41/1.png | Bin 0 -> 184 bytes graphics/door_anims/41/2.png | Bin 0 -> 159 bytes graphics/door_anims/42/0.png | Bin 0 -> 211 bytes graphics/door_anims/42/1.png | Bin 0 -> 216 bytes graphics/door_anims/42/2.png | Bin 0 -> 190 bytes graphics/door_anims/42/3.png | Bin 0 -> 180 bytes graphics/door_anims/43/0.png | Bin 0 -> 170 bytes graphics/door_anims/43/1.png | Bin 0 -> 168 bytes graphics/door_anims/43/2.png | Bin 0 -> 161 bytes graphics/door_anims/44/0_left.png | Bin 0 -> 172 bytes graphics/door_anims/44/0_right.png | Bin 0 -> 172 bytes graphics/door_anims/44/1_left.png | Bin 0 -> 162 bytes graphics/door_anims/44/1_right.png | Bin 0 -> 161 bytes graphics/door_anims/44/2_left.png | Bin 0 -> 120 bytes graphics/door_anims/44/2_right.png | Bin 0 -> 121 bytes graphics/door_anims/45/0.png | Bin 0 -> 167 bytes graphics/door_anims/45/1.png | Bin 0 -> 153 bytes graphics/door_anims/45/2.png | Bin 0 -> 127 bytes graphics/door_anims/46/0.png | Bin 0 -> 144 bytes graphics/door_anims/46/1.png | Bin 0 -> 142 bytes graphics/door_anims/46/2.png | Bin 0 -> 127 bytes graphics/door_anims/47/0.png | Bin 0 -> 193 bytes graphics/door_anims/47/1.png | Bin 0 -> 189 bytes graphics/door_anims/47/2.png | Bin 0 -> 183 bytes graphics/door_anims/48/0.png | Bin 0 -> 167 bytes graphics/door_anims/48/1.png | Bin 0 -> 193 bytes graphics/door_anims/48/2.png | Bin 0 -> 150 bytes graphics/door_anims/48/3.png | Bin 0 -> 133 bytes graphics/door_anims/49/0.png | Bin 0 -> 125 bytes graphics/door_anims/49/1.png | Bin 0 -> 120 bytes graphics/door_anims/49/2.png | Bin 0 -> 116 bytes graphics/door_anims/50/0.png | Bin 0 -> 121 bytes graphics/door_anims/50/1.png | Bin 0 -> 116 bytes graphics/door_anims/50/2.png | Bin 0 -> 113 bytes .../door_anims/unused_848EDEC/0_bottom.png | Bin 0 -> 106 bytes graphics/door_anims/unused_848EDEC/0_top.png | Bin 0 -> 111 bytes .../door_anims/unused_848EDEC/1_bottom.png | Bin 0 -> 105 bytes graphics/door_anims/unused_848EDEC/1_top.png | Bin 0 -> 99 bytes .../door_anims/unused_848EDEC/2_bottom.png | Bin 0 -> 89 bytes graphics/door_anims/unused_848EDEC/2_top.png | Bin 0 -> 90 bytes ld_script.txt | 1 - 169 files changed, 643 insertions(+), 41 deletions(-) delete mode 100644 data/rom_8486FEC.s create mode 100644 graphics/door_anims/00/0.png create mode 100644 graphics/door_anims/00/1.png create mode 100644 graphics/door_anims/00/2.png create mode 100644 graphics/door_anims/01/0.png create mode 100644 graphics/door_anims/01/1.png create mode 100644 graphics/door_anims/01/2.png create mode 100644 graphics/door_anims/02/0.png create mode 100644 graphics/door_anims/02/1.png create mode 100644 graphics/door_anims/02/2.png create mode 100644 graphics/door_anims/03/0.png create mode 100644 graphics/door_anims/03/1.png create mode 100644 graphics/door_anims/03/2.png create mode 100644 graphics/door_anims/04/0.png create mode 100644 graphics/door_anims/04/1.png create mode 100644 graphics/door_anims/04/2.png create mode 100644 graphics/door_anims/05/0.png create mode 100644 graphics/door_anims/05/1.png create mode 100644 graphics/door_anims/05/2.png create mode 100644 graphics/door_anims/06/0.png create mode 100644 graphics/door_anims/06/1.png create mode 100644 graphics/door_anims/06/2.png create mode 100644 graphics/door_anims/07/0.png create mode 100644 graphics/door_anims/07/1.png create mode 100644 graphics/door_anims/07/2.png create mode 100644 graphics/door_anims/08/0.png create mode 100644 graphics/door_anims/08/1.png create mode 100644 graphics/door_anims/08/2.png create mode 100644 graphics/door_anims/09/0.png create mode 100644 graphics/door_anims/09/1.png create mode 100644 graphics/door_anims/09/2.png create mode 100644 graphics/door_anims/10/0.png create mode 100644 graphics/door_anims/10/1.png create mode 100644 graphics/door_anims/10/2.png create mode 100644 graphics/door_anims/11/0.png create mode 100644 graphics/door_anims/11/1.png create mode 100644 graphics/door_anims/11/2.png create mode 100644 graphics/door_anims/12/0.png create mode 100644 graphics/door_anims/12/1.png create mode 100644 graphics/door_anims/12/2.png create mode 100644 graphics/door_anims/13/0.png create mode 100644 graphics/door_anims/13/1.png create mode 100644 graphics/door_anims/13/2.png create mode 100644 graphics/door_anims/14/0.png create mode 100644 graphics/door_anims/14/1.png create mode 100644 graphics/door_anims/14/2.png create mode 100644 graphics/door_anims/15/0.png create mode 100644 graphics/door_anims/15/1.png create mode 100644 graphics/door_anims/15/2.png create mode 100644 graphics/door_anims/16/0.png create mode 100644 graphics/door_anims/16/1.png create mode 100644 graphics/door_anims/16/2.png create mode 100644 graphics/door_anims/17/0.png create mode 100644 graphics/door_anims/17/1.png create mode 100644 graphics/door_anims/17/2.png create mode 100644 graphics/door_anims/18/0.png create mode 100644 graphics/door_anims/18/1.png create mode 100644 graphics/door_anims/18/2.png create mode 100644 graphics/door_anims/19/0.png create mode 100644 graphics/door_anims/19/1.png create mode 100644 graphics/door_anims/19/2.png create mode 100644 graphics/door_anims/20/0.png create mode 100644 graphics/door_anims/20/1.png create mode 100644 graphics/door_anims/20/2.png create mode 100644 graphics/door_anims/21/0.png create mode 100644 graphics/door_anims/21/1.png create mode 100644 graphics/door_anims/21/2.png create mode 100644 graphics/door_anims/22/0.png create mode 100644 graphics/door_anims/22/1.png create mode 100644 graphics/door_anims/22/2.png create mode 100644 graphics/door_anims/23/0.png create mode 100644 graphics/door_anims/23/1.png create mode 100644 graphics/door_anims/23/2.png create mode 100644 graphics/door_anims/24/0.png create mode 100644 graphics/door_anims/24/1.png create mode 100644 graphics/door_anims/24/2.png create mode 100644 graphics/door_anims/25/0.png create mode 100644 graphics/door_anims/25/1.png create mode 100644 graphics/door_anims/25/2.png create mode 100644 graphics/door_anims/26/0.png create mode 100644 graphics/door_anims/26/1.png create mode 100644 graphics/door_anims/26/2.png create mode 100644 graphics/door_anims/27/0.png create mode 100644 graphics/door_anims/27/1.png create mode 100644 graphics/door_anims/27/2.png create mode 100644 graphics/door_anims/28/0.png create mode 100644 graphics/door_anims/28/1.png create mode 100644 graphics/door_anims/28/2.png create mode 100644 graphics/door_anims/29/0.png create mode 100644 graphics/door_anims/29/1.png create mode 100644 graphics/door_anims/29/2.png create mode 100644 graphics/door_anims/30/0.png create mode 100644 graphics/door_anims/30/1.png create mode 100644 graphics/door_anims/30/2.png create mode 100644 graphics/door_anims/31/0.png create mode 100644 graphics/door_anims/31/1.png create mode 100644 graphics/door_anims/31/2.png create mode 100644 graphics/door_anims/32/0.png create mode 100644 graphics/door_anims/32/1.png create mode 100644 graphics/door_anims/32/2.png create mode 100644 graphics/door_anims/33/0.png create mode 100644 graphics/door_anims/33/1.png create mode 100644 graphics/door_anims/33/2.png create mode 100644 graphics/door_anims/34/0.png create mode 100644 graphics/door_anims/34/1.png create mode 100644 graphics/door_anims/34/2.png create mode 100644 graphics/door_anims/35/0.png create mode 100644 graphics/door_anims/35/1.png create mode 100644 graphics/door_anims/35/2.png create mode 100644 graphics/door_anims/36/0.png create mode 100644 graphics/door_anims/36/1.png create mode 100644 graphics/door_anims/36/2.png create mode 100644 graphics/door_anims/37/0.png create mode 100644 graphics/door_anims/37/1.png create mode 100644 graphics/door_anims/37/2.png create mode 100644 graphics/door_anims/38/0.png create mode 100644 graphics/door_anims/38/1.png create mode 100644 graphics/door_anims/38/2.png create mode 100644 graphics/door_anims/39/0.png create mode 100644 graphics/door_anims/39/1.png create mode 100644 graphics/door_anims/39/2.png create mode 100644 graphics/door_anims/40/0.png create mode 100644 graphics/door_anims/40/1.png create mode 100644 graphics/door_anims/40/2.png create mode 100644 graphics/door_anims/41/0.png create mode 100644 graphics/door_anims/41/1.png create mode 100644 graphics/door_anims/41/2.png create mode 100644 graphics/door_anims/42/0.png create mode 100644 graphics/door_anims/42/1.png create mode 100644 graphics/door_anims/42/2.png create mode 100644 graphics/door_anims/42/3.png create mode 100644 graphics/door_anims/43/0.png create mode 100644 graphics/door_anims/43/1.png create mode 100644 graphics/door_anims/43/2.png create mode 100644 graphics/door_anims/44/0_left.png create mode 100644 graphics/door_anims/44/0_right.png create mode 100644 graphics/door_anims/44/1_left.png create mode 100644 graphics/door_anims/44/1_right.png create mode 100644 graphics/door_anims/44/2_left.png create mode 100644 graphics/door_anims/44/2_right.png create mode 100644 graphics/door_anims/45/0.png create mode 100644 graphics/door_anims/45/1.png create mode 100644 graphics/door_anims/45/2.png create mode 100644 graphics/door_anims/46/0.png create mode 100644 graphics/door_anims/46/1.png create mode 100644 graphics/door_anims/46/2.png create mode 100644 graphics/door_anims/47/0.png create mode 100644 graphics/door_anims/47/1.png create mode 100644 graphics/door_anims/47/2.png create mode 100644 graphics/door_anims/48/0.png create mode 100644 graphics/door_anims/48/1.png create mode 100644 graphics/door_anims/48/2.png create mode 100644 graphics/door_anims/48/3.png create mode 100644 graphics/door_anims/49/0.png create mode 100644 graphics/door_anims/49/1.png create mode 100644 graphics/door_anims/49/2.png create mode 100644 graphics/door_anims/50/0.png create mode 100644 graphics/door_anims/50/1.png create mode 100644 graphics/door_anims/50/2.png create mode 100644 graphics/door_anims/unused_848EDEC/0_bottom.png create mode 100644 graphics/door_anims/unused_848EDEC/0_top.png create mode 100644 graphics/door_anims/unused_848EDEC/1_bottom.png create mode 100644 graphics/door_anims/unused_848EDEC/1_top.png create mode 100644 graphics/door_anims/unused_848EDEC/2_bottom.png create mode 100644 graphics/door_anims/unused_848EDEC/2_top.png diff --git a/asm/macros.inc b/asm/macros.inc index ee58cc14e..7c35e059d 100644 --- a/asm/macros.inc +++ b/asm/macros.inc @@ -119,3 +119,17 @@ .2byte \unknown .fill 4 @ padding .endm + + .macro door_anim_frame unknown, offset + .byte \unknown + .byte 0 @ padding + .2byte \offset + .endm + + .macro door_anim_gfx metatile_num, unknown, unknown2, tile_addr, palette_addr + .2byte \metatile_num + .byte \unknown + .byte \unknown2 + .4byte \tile_addr + .4byte \palette_addr + .endm diff --git a/data/battle_anim_8170478.s b/data/battle_anim_8170478.s index 0e0f749fe..e5d599a3c 100644 --- a/data/battle_anim_8170478.s +++ b/data/battle_anim_8170478.s @@ -10,33 +10,33 @@ gUnknown_085E5088:: @ 85E5088 .align 2 gUnknown_085E5094:: @ 85E5094 - .4byte gUnknown_08C1A490, 0xd6ec0100 - .4byte gUnknown_08C1A490, 0xd6ed0100 - .4byte gUnknown_08C1A490, 0xd6ee0100 - .4byte gUnknown_08C1A490, 0xd6ef0100 - .4byte gUnknown_08C1A490, 0xd6f00100 - .4byte gUnknown_08C1A490, 0xd6f10100 - .4byte gUnknown_08C1A490, 0xd6f20100 - .4byte gUnknown_08C1A490, 0xd6f30100 - .4byte gUnknown_08C1A490, 0xd6f40100 - .4byte gUnknown_08C1A490, 0xd6f50100 - .4byte gUnknown_08C1A490, 0xd6f60100 - .4byte gUnknown_08C1A490, 0xd6f70100 + obj_tiles gUnknown_08C1A490, 0x0100, 0xd6ec + obj_tiles gUnknown_08C1A490, 0x0100, 0xd6ed + obj_tiles gUnknown_08C1A490, 0x0100, 0xd6ee + obj_tiles gUnknown_08C1A490, 0x0100, 0xd6ef + obj_tiles gUnknown_08C1A490, 0x0100, 0xd6f0 + obj_tiles gUnknown_08C1A490, 0x0100, 0xd6f1 + obj_tiles gUnknown_08C1A490, 0x0100, 0xd6f2 + obj_tiles gUnknown_08C1A490, 0x0100, 0xd6f3 + obj_tiles gUnknown_08C1A490, 0x0100, 0xd6f4 + obj_tiles gUnknown_08C1A490, 0x0100, 0xd6f5 + obj_tiles gUnknown_08C1A490, 0x0100, 0xd6f6 + obj_tiles gUnknown_08C1A490, 0x0100, 0xd6f7 .align 2 gUnknown_085E50F4:: @ 85E50F4 - .4byte gUnknown_08C1A564, 0x0000d6ec - .4byte gUnknown_08C1A564, 0x0000d6ed - .4byte gUnknown_08C1A564, 0x0000d6ee - .4byte gUnknown_08C1A564, 0x0000d6ef - .4byte gUnknown_08C1A564, 0x0000d6f0 - .4byte gUnknown_08C1A564, 0x0000d6f1 - .4byte gUnknown_08C1A564, 0x0000d6f2 - .4byte gUnknown_08C1A564, 0x0000d6f3 - .4byte gUnknown_08C1A564, 0x0000d6f4 - .4byte gUnknown_08C1A564, 0x0000d6f5 - .4byte gUnknown_08C1A564, 0x0000d6f6 - .4byte gUnknown_08C1A564, 0x0000d6f7 + obj_pal gUnknown_08C1A564, 0xd6ec + obj_pal gUnknown_08C1A564, 0xd6ed + obj_pal gUnknown_08C1A564, 0xd6ee + obj_pal gUnknown_08C1A564, 0xd6ef + obj_pal gUnknown_08C1A564, 0xd6f0 + obj_pal gUnknown_08C1A564, 0xd6f1 + obj_pal gUnknown_08C1A564, 0xd6f2 + obj_pal gUnknown_08C1A564, 0xd6f3 + obj_pal gUnknown_08C1A564, 0xd6f4 + obj_pal gUnknown_08C1A564, 0xd6f5 + obj_pal gUnknown_08C1A564, 0xd6f6 + obj_pal gUnknown_08C1A564, 0xd6f7 .align 2 gUnknown_085E5154:: @ 85E5154 diff --git a/data/field_door.s b/data/field_door.s index 69a7c6534..85c1ae919 100644 --- a/data/field_door.s +++ b/data/field_door.s @@ -1,17 +1,614 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" + .include "asm/macros.inc" + .include "constants/constants.inc" - .section .rodata - .align 2, 0 + .section .rodata + .align 2 +DoorAnimTiles_04:: + .incbin "graphics/door_anims/04/0.4bpp" + .incbin "graphics/door_anims/04/1.4bpp" + .incbin "graphics/door_anims/04/2.4bpp" + + .space 32 + +DoorAnimTiles_05:: + .incbin "graphics/door_anims/05/0.4bpp" + .incbin "graphics/door_anims/05/1.4bpp" + .incbin "graphics/door_anims/05/2.4bpp" + + .space 32 + +DoorAnimTiles_08:: + .incbin "graphics/door_anims/08/0.4bpp" + .incbin "graphics/door_anims/08/1.4bpp" + .incbin "graphics/door_anims/08/2.4bpp" + + .space 32 + +DoorAnimTiles_15:: + .incbin "graphics/door_anims/15/0.4bpp" + .incbin "graphics/door_anims/15/1.4bpp" + .incbin "graphics/door_anims/15/2.4bpp" + + .space 32 + +DoorAnimTiles_16:: + .incbin "graphics/door_anims/16/0.4bpp" + .incbin "graphics/door_anims/16/1.4bpp" + .incbin "graphics/door_anims/16/2.4bpp" + + .space 32 + +DoorAnimTiles_00:: + .incbin "graphics/door_anims/00/0.4bpp" + .incbin "graphics/door_anims/00/1.4bpp" + .incbin "graphics/door_anims/00/2.4bpp" + + .space 32 + +DoorAnimTiles_01:: + .incbin "graphics/door_anims/01/0.4bpp" + .incbin "graphics/door_anims/01/1.4bpp" + .incbin "graphics/door_anims/01/2.4bpp" + +DoorAnimTiles_02:: + .incbin "graphics/door_anims/02/0.4bpp" + .incbin "graphics/door_anims/02/1.4bpp" + .incbin "graphics/door_anims/02/2.4bpp" + +DoorAnimTiles_03:: + .incbin "graphics/door_anims/03/0.4bpp" + .incbin "graphics/door_anims/03/1.4bpp" + .incbin "graphics/door_anims/03/2.4bpp" + +DoorAnimTiles_06:: + .incbin "graphics/door_anims/06/0.4bpp" + .incbin "graphics/door_anims/06/1.4bpp" + .incbin "graphics/door_anims/06/2.4bpp" + + .space 32 + +DoorAnimTiles_07:: + .incbin "graphics/door_anims/07/0.4bpp" + .incbin "graphics/door_anims/07/1.4bpp" + .incbin "graphics/door_anims/07/2.4bpp" + + .space 32 + +DoorAnimTiles_09:: + .incbin "graphics/door_anims/09/0.4bpp" + .incbin "graphics/door_anims/09/1.4bpp" + .incbin "graphics/door_anims/09/2.4bpp" + + .space 0x5900 + + .incbin "graphics/door_anims/unused_848EDEC/0_top.4bpp" + .incbin "graphics/door_anims/unused_848EDEC/1_top.4bpp" + .incbin "graphics/door_anims/unused_848EDEC/2_top.4bpp" + + .space 0x140 + + .incbin "graphics/door_anims/unused_848EDEC/0_bottom.4bpp" + .incbin "graphics/door_anims/unused_848EDEC/1_bottom.4bpp" + .incbin "graphics/door_anims/unused_848EDEC/2_bottom.4bpp" + + .space 32 + +DoorAnimTiles_10:: + .incbin "graphics/door_anims/10/0.4bpp" + .incbin "graphics/door_anims/10/1.4bpp" + .incbin "graphics/door_anims/10/2.4bpp" + + .space 32 + +DoorAnimTiles_11:: + .incbin "graphics/door_anims/11/0.4bpp" + .incbin "graphics/door_anims/11/1.4bpp" + .incbin "graphics/door_anims/11/2.4bpp" + + .space 32 + +DoorAnimTiles_12:: + .incbin "graphics/door_anims/12/0.4bpp" + .incbin "graphics/door_anims/12/1.4bpp" + .incbin "graphics/door_anims/12/2.4bpp" + + .space 32 + +DoorAnimTiles_13:: + .incbin "graphics/door_anims/13/0.4bpp" + .incbin "graphics/door_anims/13/1.4bpp" + .incbin "graphics/door_anims/13/2.4bpp" + + .space 32 + +DoorAnimTiles_14:: + .incbin "graphics/door_anims/14/0.4bpp" + .incbin "graphics/door_anims/14/1.4bpp" + .incbin "graphics/door_anims/14/2.4bpp" + + .space 32 + +DoorAnimTiles_17:: + .incbin "graphics/door_anims/17/0.4bpp" + .incbin "graphics/door_anims/17/1.4bpp" + .incbin "graphics/door_anims/17/2.4bpp" + + .space 32 + +DoorAnimTiles_18:: + .incbin "graphics/door_anims/18/0.4bpp" + .incbin "graphics/door_anims/18/1.4bpp" + .incbin "graphics/door_anims/18/2.4bpp" + + .space 32 + +DoorAnimTiles_19:: + .incbin "graphics/door_anims/19/0.4bpp" + .incbin "graphics/door_anims/19/1.4bpp" + .incbin "graphics/door_anims/19/2.4bpp" + + .space 32 + +DoorAnimTiles_20:: + .incbin "graphics/door_anims/20/0.4bpp" + .incbin "graphics/door_anims/20/1.4bpp" + .incbin "graphics/door_anims/20/2.4bpp" + + .space 32 + +DoorAnimTiles_21:: + .incbin "graphics/door_anims/21/0.4bpp" + .incbin "graphics/door_anims/21/1.4bpp" + .incbin "graphics/door_anims/21/2.4bpp" + + .space 32 + +DoorAnimTiles_22:: + .incbin "graphics/door_anims/22/0.4bpp" + .incbin "graphics/door_anims/22/1.4bpp" + .incbin "graphics/door_anims/22/2.4bpp" + + .space 32 + +DoorAnimTiles_23:: + .incbin "graphics/door_anims/23/0.4bpp" + .incbin "graphics/door_anims/23/1.4bpp" + .incbin "graphics/door_anims/23/2.4bpp" + + .space 32 + +DoorAnimTiles_24:: + .incbin "graphics/door_anims/24/0.4bpp" + .incbin "graphics/door_anims/24/1.4bpp" + .incbin "graphics/door_anims/24/2.4bpp" + + .space 32 + +DoorAnimTiles_25:: + .incbin "graphics/door_anims/25/0.4bpp" + .incbin "graphics/door_anims/25/1.4bpp" + .incbin "graphics/door_anims/25/2.4bpp" + + .space 32 + +DoorAnimTiles_26:: + .incbin "graphics/door_anims/26/0.4bpp" + .incbin "graphics/door_anims/26/1.4bpp" + .incbin "graphics/door_anims/26/2.4bpp" + + .space 32 + +DoorAnimTiles_27:: + .incbin "graphics/door_anims/27/0.4bpp" + .incbin "graphics/door_anims/27/1.4bpp" + .incbin "graphics/door_anims/27/2.4bpp" + + .space 32 + +DoorAnimTiles_28:: + .incbin "graphics/door_anims/28/0.4bpp" + .incbin "graphics/door_anims/28/1.4bpp" + .incbin "graphics/door_anims/28/2.4bpp" + + .space 32 + +DoorAnimTiles_29:: + .incbin "graphics/door_anims/29/0.4bpp" + .incbin "graphics/door_anims/29/1.4bpp" + .incbin "graphics/door_anims/29/2.4bpp" + + .space 32 + +DoorAnimTiles_30:: + .incbin "graphics/door_anims/30/0.4bpp" + .incbin "graphics/door_anims/30/1.4bpp" + .incbin "graphics/door_anims/30/2.4bpp" + + .space 32 + +DoorAnimTiles_31:: + .incbin "graphics/door_anims/31/0.4bpp" + .incbin "graphics/door_anims/31/1.4bpp" + .incbin "graphics/door_anims/31/2.4bpp" + + .space 32 + +DoorAnimTiles_32:: + .incbin "graphics/door_anims/32/0.4bpp" + .incbin "graphics/door_anims/32/1.4bpp" + .incbin "graphics/door_anims/32/2.4bpp" + + .space 32 + +DoorAnimTiles_33:: + .incbin "graphics/door_anims/33/0.4bpp" + .incbin "graphics/door_anims/33/1.4bpp" + .incbin "graphics/door_anims/33/2.4bpp" + + .space 32 + +DoorAnimTiles_34:: + .incbin "graphics/door_anims/34/0.4bpp" + .incbin "graphics/door_anims/34/1.4bpp" + .incbin "graphics/door_anims/34/2.4bpp" + + .space 32 + +DoorAnimTiles_35:: + .incbin "graphics/door_anims/35/0.4bpp" + .incbin "graphics/door_anims/35/1.4bpp" + .incbin "graphics/door_anims/35/2.4bpp" + + .space 32 + +DoorAnimTiles_36:: + .incbin "graphics/door_anims/36/0.4bpp" + .incbin "graphics/door_anims/36/1.4bpp" + .incbin "graphics/door_anims/36/2.4bpp" + + .space 32 + +DoorAnimTiles_37:: + .incbin "graphics/door_anims/37/0.4bpp" + .incbin "graphics/door_anims/37/1.4bpp" + .incbin "graphics/door_anims/37/2.4bpp" + + .space 32 + +DoorAnimTiles_38:: + .incbin "graphics/door_anims/38/0.4bpp" + .incbin "graphics/door_anims/38/1.4bpp" + .incbin "graphics/door_anims/38/2.4bpp" + + .space 32 + +DoorAnimTiles_39:: + .incbin "graphics/door_anims/39/0.4bpp" + .incbin "graphics/door_anims/39/1.4bpp" + .incbin "graphics/door_anims/39/2.4bpp" + + .space 32 + +DoorAnimTiles_40:: + .incbin "graphics/door_anims/40/0.4bpp" + .incbin "graphics/door_anims/40/1.4bpp" + .incbin "graphics/door_anims/40/2.4bpp" + + .space 32 + +DoorAnimTiles_41:: + .incbin "graphics/door_anims/41/0.4bpp" + .incbin "graphics/door_anims/41/1.4bpp" + .incbin "graphics/door_anims/41/2.4bpp" + +DoorAnimTiles_42:: + .incbin "graphics/door_anims/42/0.4bpp" + .incbin "graphics/door_anims/42/1.4bpp" + .incbin "graphics/door_anims/42/2.4bpp" + .incbin "graphics/door_anims/42/3.4bpp" + + .space 32 + +DoorAnimTiles_43:: + .incbin "graphics/door_anims/43/0.4bpp" + .incbin "graphics/door_anims/43/1.4bpp" + .incbin "graphics/door_anims/43/2.4bpp" + + .space 32 + +DoorAnimTiles_44:: + .incbin "graphics/door_anims/44/0_left.4bpp" + .incbin "graphics/door_anims/44/0_right.4bpp" + .incbin "graphics/door_anims/44/1_left.4bpp" + .incbin "graphics/door_anims/44/1_right.4bpp" + .incbin "graphics/door_anims/44/2_left.4bpp" + .incbin "graphics/door_anims/44/2_right.4bpp" + + .space 32 + +DoorAnimTiles_45:: + .incbin "graphics/door_anims/45/0.4bpp" + .incbin "graphics/door_anims/45/1.4bpp" + .incbin "graphics/door_anims/45/2.4bpp" + + .space 32 + +DoorAnimTiles_46:: + .incbin "graphics/door_anims/46/0.4bpp" + .incbin "graphics/door_anims/46/1.4bpp" + .incbin "graphics/door_anims/46/2.4bpp" + + .space 32 + +DoorAnimTiles_47:: + .incbin "graphics/door_anims/47/0.4bpp" + .incbin "graphics/door_anims/47/1.4bpp" + .incbin "graphics/door_anims/47/2.4bpp" + + .space 32 + +DoorAnimTiles_48:: + .incbin "graphics/door_anims/48/0.4bpp" + .incbin "graphics/door_anims/48/1.4bpp" + .incbin "graphics/door_anims/48/2.4bpp" + .incbin "graphics/door_anims/48/3.4bpp" + + .space 32 + +DoorAnimTiles_49:: + .incbin "graphics/door_anims/49/0.4bpp" + .incbin "graphics/door_anims/49/1.4bpp" + .incbin "graphics/door_anims/49/2.4bpp" + + .space 32 + +DoorAnimTiles_50:: + .incbin "graphics/door_anims/50/0.4bpp" + .incbin "graphics/door_anims/50/1.4bpp" + .incbin "graphics/door_anims/50/2.4bpp" + + .space 32 + + .align 2 gUnknown_08496F8C:: @ 8496F8C - .incbin "baserom.gba", 0x496f8c, 0x14 + door_anim_frame 4, -1 + door_anim_frame 4, 0 + door_anim_frame 4, 0x100 + door_anim_frame 4, 0x200 + door_anim_frame 0, 0 + .align 2 gUnknown_08496FA0:: @ 8496FA0 - .incbin "baserom.gba", 0x496fa0, 0x14 + door_anim_frame 4, 0x200 + door_anim_frame 4, 0x100 + door_anim_frame 4, 0 + door_anim_frame 4, -1 + door_anim_frame 0, 0 + .align 2 gUnknown_08496FB4:: @ 8496FB4 - .incbin "baserom.gba", 0x496fb4, 0x1c0 + door_anim_frame 4, -1 + door_anim_frame 4, 0 + door_anim_frame 4, 0x200 + door_anim_frame 4, 0x400 + door_anim_frame 0, 0 + .align 2 +gUnknown_08496FC8:: @ 8496FB4 + door_anim_frame 4, 0x400 + door_anim_frame 4, 0x200 + door_anim_frame 4, 0 + door_anim_frame 4, -1 + door_anim_frame 0, 0 + +DoorAnimPalettes_8496FDC:: @ 8496FDC + .byte 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 + +DoorAnimPalettes_8496FE4:: @ 8496FE4 + .byte 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 + +DoorAnimPalettes_8496FEC:: @ 8496FEC + .byte 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05 + +DoorAnimPalettes_8496FF4:: @ 8496FF4 + .byte 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 + +DoorAnimPalettes_8496FFC:: @ 8496FFC + .byte 0x0a, 0x0a, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06 + +DoorAnimPalettes_8497004:: @ 8497004 + .byte 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08 + +DoorAnimPalettes_849700C:: @ 849700C + .byte 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b + +DoorAnimPalettes_8497014:: @ 8497014 + .byte 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a + +DoorAnimPalettes_849701C:: @ 849701C + .byte 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07 + +DoorAnimPalettes_8497024:: @ 8497024 + .byte 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08 + +DoorAnimPalettes_849702C:: @ 849702C + .byte 0x0a, 0x0a, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09 + +DoorAnimPalettes_8497034:: @ 8497034 + .byte 0x09, 0x09, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 + +DoorAnimPalettes_849703C:: @ 849703C + .byte 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08 + +DoorAnimPalettes_8497044:: @ 8497044 + .byte 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09 + +DoorAnimPalettes_849704C:: @ 849704C + .byte 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06 + +DoorAnimPalettes_8497054:: @ 8497054 + .byte 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06 + +DoorAnimPalettes_849705C:: @ 849705C + .byte 0x00, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05 + +DoorAnimPalettes_8497064:: @ 8497064 + .byte 0x06, 0x06, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 + +DoorAnimPalettes_849706C:: @ 849706C + .byte 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07 + +DoorAnimPalettes_8497074:: @ 8497074 + .byte 0x06, 0x06, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05 + +DoorAnimPalettes_849707C:: @ 849707C + .byte 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05 + +DoorAnimPalettes_8497084:: @ 8497084 + .byte 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 + +DoorAnimPalettes_849708C:: @ 849708C + .byte 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06 + +DoorAnimPalettes_8497094:: @ 8497094 + .byte 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07 + +DoorAnimPalettes_849709C:: @ 849709C + .byte 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05 + +DoorAnimPalettes_84970A4:: @ 84970A4 + .byte 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09 + +DoorAnimPalettes_84970AC:: @ 84970AC + .byte 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08 + +DoorAnimPalettes_84970B4:: @ 84970B4 + .byte 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06 + +DoorAnimPalettes_84970BC:: @ 84970BC + .byte 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07 + +DoorAnimPalettes_84970C4:: @ 84970C4 + .byte 0x0b, 0x0b, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07 + +DoorAnimPalettes_84970CC:: @ 84970CC + .byte 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07 + +DoorAnimPalettes_84970D4:: @ 84970D4 + .byte 0x06, 0x06, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07 + +DoorAnimPalettes_84970DC:: @ 84970DC + .byte 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09 + +DoorAnimPalettes_84970E4:: @ 84970E4 + .byte 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07 + +DoorAnimPalettes_84970EC:: @ 84970EC + .byte 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09 + +DoorAnimPalettes_84970F4:: @ 84970F4 + .byte 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 + +DoorAnimPalettes_84970FC:: @ 84970FC + .byte 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09 + +DoorAnimPalettes_8497104:: @ 8497104 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + +DoorAnimPalettes_849710C:: @ 849710C + .byte 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05 + +DoorAnimPalettes_8497114:: @ 8497114 + .byte 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07 + +DoorAnimPalettes_849711C:: @ 849711C + .byte 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07 + +DoorAnimPalettes_8497124:: @ 8497124 + .byte 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07 + +DoorAnimPalettes_849712C:: @ 849712C + .byte 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 + +DoorAnimPalettes_8497134:: @ 8497134 + .byte 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07 + +DoorAnimPalettes_849713C:: @ 849713C + .byte 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07 + +DoorAnimPalettes_8497144:: @ 8497144 + .byte 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 + +DoorAnimPalettes_849714C:: @ 849714C + .byte 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 + +DoorAnimPalettes_8497154:: @ 8497154 + .byte 0x09, 0x09, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07 + +DoorAnimPalettes_849715C:: @ 849715C + .byte 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09 + +DoorAnimPalettes_8497164:: @ 8497164 + .byte 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07 + +DoorAnimPalettes_849716C:: @ 849716C + .byte 0x09, 0x09, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07 + + .align 2 gUnknown_08497174:: @ 8497174 - .incbin "baserom.gba", 0x497174, 0x288 + door_anim_gfx 0x0021, 0x00, 0x01, DoorAnimTiles_00, DoorAnimPalettes_8496FDC + door_anim_gfx 0x0061, 0x01, 0x01, DoorAnimTiles_01, DoorAnimPalettes_8496FE4 + door_anim_gfx 0x01cd, 0x01, 0x01, DoorAnimTiles_02, DoorAnimPalettes_8496FEC + door_anim_gfx 0x0041, 0x01, 0x01, DoorAnimTiles_03, DoorAnimPalettes_8496FF4 + door_anim_gfx 0x0248, 0x00, 0x01, DoorAnimTiles_04, DoorAnimPalettes_8496FFC + door_anim_gfx 0x0249, 0x00, 0x01, DoorAnimTiles_05, DoorAnimPalettes_8497004 + door_anim_gfx 0x022f, 0x00, 0x01, DoorAnimTiles_06, DoorAnimPalettes_849700C + door_anim_gfx 0x021f, 0x00, 0x01, DoorAnimTiles_07, DoorAnimPalettes_8497014 + door_anim_gfx 0x02a5, 0x00, 0x01, DoorAnimTiles_08, DoorAnimPalettes_849701C + door_anim_gfx 0x0287, 0x00, 0x01, DoorAnimTiles_09, DoorAnimPalettes_849702C + door_anim_gfx 0x02ac, 0x00, 0x01, DoorAnimTiles_10, DoorAnimPalettes_849706C + door_anim_gfx 0x03a1, 0x00, 0x01, DoorAnimTiles_11, DoorAnimPalettes_8497074 + door_anim_gfx 0x02dc, 0x00, 0x01, DoorAnimTiles_12, DoorAnimPalettes_8497064 + door_anim_gfx 0x0225, 0x00, 0x01, DoorAnimTiles_13, DoorAnimPalettes_849705C + door_anim_gfx 0x01db, 0x01, 0x01, DoorAnimTiles_14, DoorAnimPalettes_8497084 + door_anim_gfx 0x0246, 0x00, 0x01, DoorAnimTiles_15, DoorAnimPalettes_8497024 + door_anim_gfx 0x028e, 0x00, 0x01, DoorAnimTiles_16, DoorAnimPalettes_849707C + door_anim_gfx 0x02a1, 0x00, 0x01, DoorAnimTiles_17, DoorAnimPalettes_8497034 + door_anim_gfx 0x021c, 0x00, 0x01, DoorAnimTiles_18, DoorAnimPalettes_849704C + door_anim_gfx 0x021e, 0x00, 0x01, DoorAnimTiles_19, DoorAnimPalettes_8497054 + door_anim_gfx 0x021d, 0x01, 0x01, DoorAnimTiles_20, DoorAnimPalettes_849703C + door_anim_gfx 0x021a, 0x00, 0x01, DoorAnimTiles_21, DoorAnimPalettes_8497044 + door_anim_gfx 0x0224, 0x00, 0x01, DoorAnimTiles_22, DoorAnimPalettes_849708C + door_anim_gfx 0x0289, 0x00, 0x01, DoorAnimTiles_23, DoorAnimPalettes_8497094 + door_anim_gfx 0x030c, 0x01, 0x01, DoorAnimTiles_24, DoorAnimPalettes_849709C + door_anim_gfx 0x032d, 0x01, 0x01, DoorAnimTiles_25, DoorAnimPalettes_84970A4 + door_anim_gfx 0x02ed, 0x01, 0x01, DoorAnimTiles_26, DoorAnimPalettes_84970AC + door_anim_gfx 0x0264, 0x01, 0x01, DoorAnimTiles_27, DoorAnimPalettes_84970B4 + door_anim_gfx 0x022b, 0x00, 0x01, DoorAnimTiles_28, DoorAnimPalettes_84970BC + door_anim_gfx 0x02f7, 0x00, 0x01, DoorAnimTiles_29, DoorAnimPalettes_84970C4 + door_anim_gfx 0x0297, 0x00, 0x01, DoorAnimTiles_30, DoorAnimPalettes_84970CC + door_anim_gfx 0x0285, 0x01, 0x01, DoorAnimTiles_31, DoorAnimPalettes_84970D4 + door_anim_gfx 0x025d, 0x01, 0x01, DoorAnimTiles_32, DoorAnimPalettes_84970DC + door_anim_gfx 0x020e, 0x01, 0x01, DoorAnimTiles_33, DoorAnimPalettes_84970E4 + door_anim_gfx 0x03b0, 0x01, 0x01, DoorAnimTiles_34, DoorAnimPalettes_84970EC + door_anim_gfx 0x028a, 0x01, 0x01, DoorAnimTiles_35, DoorAnimPalettes_84970F4 + door_anim_gfx 0x0263, 0x01, 0x01, DoorAnimTiles_36, DoorAnimPalettes_84970FC + door_anim_gfx 0x0329, 0x01, 0x01, DoorAnimTiles_37, DoorAnimPalettes_8497104 + door_anim_gfx 0x0291, 0x00, 0x01, DoorAnimTiles_38, DoorAnimPalettes_849710C + door_anim_gfx 0x021b, 0x02, 0x01, DoorAnimTiles_39, DoorAnimPalettes_8497114 + door_anim_gfx 0x0209, 0x01, 0x01, DoorAnimTiles_40, DoorAnimPalettes_849711C + door_anim_gfx 0x0219, 0x00, 0x01, DoorAnimTiles_41, DoorAnimPalettes_8497124 + door_anim_gfx 0x0393, 0x01, 0x01, DoorAnimTiles_42, DoorAnimPalettes_849712C + door_anim_gfx 0x03d4, 0x01, 0x01, DoorAnimTiles_42, DoorAnimPalettes_849712C + door_anim_gfx 0x036c, 0x01, 0x01, DoorAnimTiles_42, DoorAnimPalettes_849712C + door_anim_gfx 0x025e, 0x01, 0x01, DoorAnimTiles_43, DoorAnimPalettes_8497134 + door_anim_gfx 0x02ad, 0x01, 0x02, DoorAnimTiles_44, DoorAnimPalettes_849713C + door_anim_gfx 0x03fc, 0x00, 0x01, DoorAnimTiles_45, DoorAnimPalettes_849714C + door_anim_gfx 0x0396, 0x01, 0x01, DoorAnimTiles_46, DoorAnimPalettes_849714C + door_anim_gfx 0x020a, 0x01, 0x01, DoorAnimTiles_47, DoorAnimPalettes_8497154 + door_anim_gfx 0x026b, 0x01, 0x01, DoorAnimTiles_48, DoorAnimPalettes_849715C + door_anim_gfx 0x032c, 0x01, 0x01, DoorAnimTiles_49, DoorAnimPalettes_8497164 + door_anim_gfx 0x0383, 0x01, 0x01, DoorAnimTiles_50, DoorAnimPalettes_849716C + door_anim_gfx 0x0000, 0x00, 0x00, NULL, NULL + diff --git a/data/rom_8486FEC.s b/data/rom_8486FEC.s deleted file mode 100644 index 9b7834a32..000000000 --- a/data/rom_8486FEC.s +++ /dev/null @@ -1,8 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2, 0 - -gUnknown_8486FEC:: @ 8486FEC - .incbin "baserom.gba", 0x486fec, 0xFFA0 diff --git a/graphics/door_anims/00/0.png b/graphics/door_anims/00/0.png new file mode 100644 index 0000000000000000000000000000000000000000..ac2c4b43829fc35d59d0d1edc33ca5590e66a633 GIT binary patch literal 170 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsX|W|#}J9Bx#te@9#G(54G3=# zymL};7q^^gX0TP$W{VKV3vybVC%qkhE@WsZi&$ak_Vz%W{E2Mis##ar{y%qVeR^%J zg>bn0EDN3*Nr{3tPvTUjGqR_!u>IsyPhb>Pxe&c`qT{5AO4&A2hG7Qn>G}E-`zu>6 SYkyb)a)hU=pUXO@geCx{$T)8R literal 0 HcmV?d00001 diff --git a/graphics/door_anims/00/1.png b/graphics/door_anims/00/1.png new file mode 100644 index 0000000000000000000000000000000000000000..cfe812f75e5be966386b98c2a6c42398151abde9 GIT binary patch literal 158 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsZ>uF#}J9Bx#te@9#G(54G4d5 zLwk0WwtJP6`i8uVXQNn5bN_NaQ%(59%-rB7VIdHxu5$j!yT~;~TXjDCU&n9Up~(9| z`p9g>Sc40FFH_u0pXjgfo5H3mVttA^>+hm3Nk-CD-;0vyur)LlfIxK zQBJ8mBEZwhCYS>fYXJcA?~Jt3qwl&&_c#XfRq`_5R-8 f#t*D>7>l(ST=Sdn?&Cj^338FAtDnm{r-UW|;HNz{ literal 0 HcmV?d00001 diff --git a/graphics/door_anims/01/1.png b/graphics/door_anims/01/1.png new file mode 100644 index 0000000000000000000000000000000000000000..102db4cef880a1393b041b2c52a93caaf6f701d9 GIT binary patch literal 179 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsVYww#}J9Bz2`Ub9x@PUeHi_4 zqShq$#9ogcmQ<^A!V%_-L90qc@)>5maniGUq#;`W^`!r_oWQGs9wH3MN#Ts=!rl3W zL_2Rkk#@C>(fGb%-WpS%i3UR5kFFK`7GHI~D<}2v;d3X_*K|*PS?W;s;qHU(sZTH0 dZG8OwivH83?R_WLeP9H+#?#f$Wt~$(6977AMm+!k literal 0 HcmV?d00001 diff --git a/graphics/door_anims/01/2.png b/graphics/door_anims/01/2.png new file mode 100644 index 0000000000000000000000000000000000000000..0a97da6cec80741183d5d885e67c2a3ff89d417a GIT binary patch literal 161 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsSHmS#}J9Bz2`RaHYkX&T-bjo zGxd-L-wM^a^Er96BW~Ug`1DX(X=?c10!xPwQ>I2H1-5g%5B5rlO~~L_GqqG?Yr>+O zd1XPD3M*UWPR`r+i*xsTgC(2nxWCyb^{zO}p6QbPDy!zp-&f3*96f3W7c1+7?Dll^ Kb6Mw<&;$T>6FATS literal 0 HcmV?d00001 diff --git a/graphics/door_anims/02/0.png b/graphics/door_anims/02/0.png new file mode 100644 index 0000000000000000000000000000000000000000..744949971418a12193622d62c6158e23915f5833 GIT binary patch literal 151 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsW?v;#}J9B$pKAFY>pZU5v;5c z60!jY41~D^f(jpZU5v;5c z60!jY41~D^f(j<%id9k;#K%#9rqY}f!TN`SUW`XSVboFyt=akR{0HX3P Aga7~l literal 0 HcmV?d00001 diff --git a/graphics/door_anims/02/2.png b/graphics/door_anims/02/2.png new file mode 100644 index 0000000000000000000000000000000000000000..0ee9ba8f0943c1ec52fd32b0d3b62e3274955a04 GIT binary patch literal 129 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wDGyH<#}J9B$pKAFY>pZU5v;5c z60!jY41~D^f(jvyur)LlfIxK zQBJ8mBEZwhCYS>fYXJcA?~Jt3qwl&&_c#XfRq`_5R-8 f#t*D>7>l(ST=Sdn?&Cj^338FAtDnm{r-UW|;HNz{ literal 0 HcmV?d00001 diff --git a/graphics/door_anims/03/1.png b/graphics/door_anims/03/1.png new file mode 100644 index 0000000000000000000000000000000000000000..102db4cef880a1393b041b2c52a93caaf6f701d9 GIT binary patch literal 179 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsVYww#}J9Bz2`Ub9x@PUeHi_4 zqShq$#9ogcmQ<^A!V%_-L90qc@)>5maniGUq#;`W^`!r_oWQGs9wH3MN#Ts=!rl3W zL_2Rkk#@C>(fGb%-WpS%i3UR5kFFK`7GHI~D<}2v;d3X_*K|*PS?W;s;qHU(sZTH0 dZG8OwivH83?R_WLeP9H+#?#f$Wt~$(6977AMm+!k literal 0 HcmV?d00001 diff --git a/graphics/door_anims/03/2.png b/graphics/door_anims/03/2.png new file mode 100644 index 0000000000000000000000000000000000000000..0a97da6cec80741183d5d885e67c2a3ff89d417a GIT binary patch literal 161 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsSHmS#}J9Bz2`RaHYkX&T-bjo zGxd-L-wM^a^Er96BW~Ug`1DX(X=?c10!xPwQ>I2H1-5g%5B5rlO~~L_GqqG?Yr>+O zd1XPD3M*UWPR`r+i*xsTgC(2nxWCyb^{zO}p6QbPDy!zp-&f3*96f3W7c1+7?Dll^ Kb6Mw<&;$T>6FATS literal 0 HcmV?d00001 diff --git a/graphics/door_anims/04/0.png b/graphics/door_anims/04/0.png new file mode 100644 index 0000000000000000000000000000000000000000..1c2cd1db1145b78315457abdc70f5b8527aacb26 GIT binary patch literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wscKIb#}J9BwdW1F4jb^W2E;m^ zTyix!ZSIEIcXVfdy3NgUcfpq;*Nt}sn0|hEn8?i?oG7N0CkM+9Zu@7tO7L#A4|H*FyLG|L%1d5;%ET&0;p0^wdgVJN PgIwV0>gTe~DWM4fu1GnL literal 0 HcmV?d00001 diff --git a/graphics/door_anims/04/2.png b/graphics/door_anims/04/2.png new file mode 100644 index 0000000000000000000000000000000000000000..8c8e37b7dfe7d72c136b8453293ecc38dd6a9b16 GIT binary patch literal 145 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsR&OO#}J9B$pJzlB20;F$*QV} z0%-BN! literal 0 HcmV?d00001 diff --git a/graphics/door_anims/05/0.png b/graphics/door_anims/05/0.png new file mode 100644 index 0000000000000000000000000000000000000000..8f4fe425fd82c3e8a131e1e1a9738673561171d7 GIT binary patch literal 165 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsT@xi#}J9BwHI#lHYo70URd{_ zA}?e{!=vf-5$XG{^EQiYVDn&JvC}Gl&B|x|%hr`P zv{imwBk{cLp|DGrrrkyN@3DUml(BNkh;iC1e%fU8u;EfB|CNg= zjHEzX1S>0#@xq3M%v=IWGkUJ>R%DQ0EWD_U?T~|#WI^oahIdhnDJAQi($6@hH>3tg lY`!2VAh|)W#5=K(f#K)LdDE9%-`)nY#M9N!Wt~$(696j@EDHbt literal 0 HcmV?d00001 diff --git a/graphics/door_anims/06/0.png b/graphics/door_anims/06/0.png new file mode 100644 index 0000000000000000000000000000000000000000..2b3cade895f047f0348e1a4a437ecdc796bc47e6 GIT binary patch literal 172 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsbWtT#}J9Bv1b~2k0@}k1{^zn zgK>*qK_Zj1m4mS4s||lHKiQ|ar@BYt$1m)?ST!cy;ylmVNj3s{Ofi?Lb7nM@7E9@Z!*k4lX{0 z-F&-vw5Q7pYMd-wGvlVgVM*gT;>YLxWa-+wp(9^&Qtn$NC;kZ{w=Qn@n=@133G>bC Vt9JXWU{3(K!qe5yWt~$(696%}L8<@% literal 0 HcmV?d00001 diff --git a/graphics/door_anims/06/2.png b/graphics/door_anims/06/2.png new file mode 100644 index 0000000000000000000000000000000000000000..8883dad1c5231f755ef5e83a65992fcdd917bea6 GIT binary patch literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsZdWB#}J9By}cJX4>)i*%kICs zptR``SGn{Y=c{uTU0Lte#P2*Ir1Zd+oP(@oa|;^vyM;EbQ;fR2Tw$@bi~9@x1tp9T pE^^JmRt4>IYZ|O8Hbwtk*%Ft}x#E?9`!*qK_Zj1m4mS4s||lHKiQ|ar@BYt$1m)?ST!cy;ylmVNj3s{Ofi?Lb7nM@7E9@Z!*k4lX{0 z-F&-vw5Q7pYMd-wGvlVgVM*gT;>YLxWa-+wp(9^&Qtn$NC;kZ{w=Qn@n=@133G>bC Vt9JXWU{3(K!qe5yWt~$(696%}L8<@% literal 0 HcmV?d00001 diff --git a/graphics/door_anims/07/2.png b/graphics/door_anims/07/2.png new file mode 100644 index 0000000000000000000000000000000000000000..8883dad1c5231f755ef5e83a65992fcdd917bea6 GIT binary patch literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsZdWB#}J9By}cJX4>)i*%kICs zptR``SGn{Y=c{uTU0Lte#P2*Ir1Zd+oP(@oa|;^vyM;EbQ;fR2Tw$@bi~9@x1tp9T pE^^JmRt4>IYZ|O8Hbwtk*%Ft}x#E?9`!-uLwixiR2CSbT zx?TY7GdWBVe$5&ZhSw+T5dzQu5 km)`p=>DiXNi~V}6`jri{ja))*xq=+!>FVdQ&MBb@0G!l7T>t<8 literal 0 HcmV?d00001 diff --git a/graphics/door_anims/08/1.png b/graphics/door_anims/08/1.png new file mode 100644 index 0000000000000000000000000000000000000000..f6a402eec4cd1b7d19668f82cc158a30d2f7a8fc GIT binary patch literal 171 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsUlAo#}J9B$pJ<4marV+Ii@$c z*Kvm9g~~+=9L5smCeqCY%?ct0B@T>DhQeGDWzLLZY%w4E`ug4(r=LHgcHqLXgab>{ zoF(V3z9_j_pl5S}+w)bS)$g1nS07Z`9LCt1&~w${*tt-J4bnMA93{#U2K9^#Q+%i1 T{_)@48srL3S3j3^P6DhQeGDWzLLZY%w4CIPUryF{d2P5lFtaDs*)i yv*g^>7bG`dkW7#iIi^!`>|CgUAdh$AKPH9?UVVWM3QsFQHhQ}HxvX)qEMElr`4Mt5TG$dD9o#yizCd=d&#QbD uf8$Sog$qMppRKq&UOu{Ba!c9#G(6y|Cs& z-h?~5mMu?VSZLLlc50SHG?(oc=MNu6ITbGEG1nh($zg8YdBdU8A=Ll>fxm9gDw&MA zFA3gY-r_5Aq;t((eyts26Y8*e#x8*k}V&oGn$iBJg R;B}A-JYD@<);T3K0RY;XJmUZW literal 0 HcmV?d00001 diff --git a/graphics/door_anims/10/2.png b/graphics/door_anims/10/2.png new file mode 100644 index 0000000000000000000000000000000000000000..48e2d3a8c197ea4f08e005b24142a80de57c773d GIT binary patch literal 139 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsUS}m#}J9B$pIljLQIKlNfNSN zUa|^j3^p%LR^u=})56pix%xnYsu)|0uX@Y8gBKWCj~G4J<&d_H!N@9np>f(m;{!$- mJ&`YXI(Q<)cP(ALfPvxQ+2ZNy=d#Wzp$PzROe(+t literal 0 HcmV?d00001 diff --git a/graphics/door_anims/11/0.png b/graphics/door_anims/11/0.png new file mode 100644 index 0000000000000000000000000000000000000000..d5b78a46f4f8a6ad8b4a45dadf516baefe05e359 GIT binary patch literal 199 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsXk8^#}J9BspmKH9&+Ge4Ol;6 zUKj5K>#VQ>F18a&CUzSg^fa9ruPZm&95M_!XD6@uN!8nb8@IGw$ wxAVFK!OJBg*K5oWx-YV@=0nQc3bQTj;U?k@Ee2CwDT7?->FVdQ&MBb@0RM$T_5c6? literal 0 HcmV?d00001 diff --git a/graphics/door_anims/11/1.png b/graphics/door_anims/11/1.png new file mode 100644 index 0000000000000000000000000000000000000000..72ed6d14870afaf68eb9f9649e8c5711b1332f17 GIT binary patch literal 177 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsR~aQ#}J9Bspk)JHW=`*Ua;@h z{&Hnr?4im%DivRnUNdbI=IFbybc$C94=6nx~6}_ZH}|pk~eZc*z{6Mx_l?Bbn0EDN3*Nr{3tPvTUjGqR_!u>IsyPhb>Pxe&c`qT{5AO4&A2hG7Qn>G}E-`zu>6 SYkyb)a)hU=pUXO@geCx{$T)8R literal 0 HcmV?d00001 diff --git a/graphics/door_anims/12/1.png b/graphics/door_anims/12/1.png new file mode 100644 index 0000000000000000000000000000000000000000..cfe812f75e5be966386b98c2a6c42398151abde9 GIT binary patch literal 158 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsZ>uF#}J9Bx#te@9#G(54G4d5 zLwk0WwtJP6`i8uVXQNn5bN_NaQ%(59%-rB7VIdHxu5$j!yT~;~TXjDCU&n9Up~(9| z`p9g>Sc40FFH_u0pXjgfo5H3mVttA^>+hm3Nk-CD-;0452r%Z@C+|E}oDyMr;w dy3=0Fw7;~VenPhRlusbXc)I$ztaD0e0s#F`NALgu literal 0 HcmV?d00001 diff --git a/graphics/door_anims/13/1.png b/graphics/door_anims/13/1.png new file mode 100644 index 0000000000000000000000000000000000000000..1b92f4bcaed5f9a545064485f6dafbd91c419009 GIT binary patch literal 177 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsR~aQ#}J9Bq5T_q4=C`k>}66- zHS#iByxF^a2B*^c2~V3I`v=5TS=`+7<-)aBg3I`qT$NKZdu;IZs2k5jNA9u?t}S8W zTOJjzm^yF4tc0xpof*CcnhnbWdyWdupU~f~Y-b?&y~p2T{*Qw1&*K@N_ni0b`4zop beH-81n0JkjKP^AE1mqS^S3j3^P6RC@s zG2oiLwAie}xG6lr^2w9d)=Z0+PbbH1+jzaG>VwDXrPT_n9vzfgB*3Jq$bQgm(JqfQ y#ozWnN?*ofT%0*AHD%^mZ?|bzZ+u^Q-~?~{<_-(nzJ2#V_IbMcxvX0}W#t+<%MhGM~ezeZ!{+M#_$wwRQqJIwpSPnj&d3}oFov5As2bSzO m6@O_`VPtdU^^6SZebeo>->*+lRXX$*n+a literal 0 HcmV?d00001 diff --git a/graphics/door_anims/14/2.png b/graphics/door_anims/14/2.png new file mode 100644 index 0000000000000000000000000000000000000000..1b3a8e1785f9059b156db9c77376bd379573cf1b GIT binary patch literal 117 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wDH~50#}J9B$q}rqJQWhg3mFtI zF|u-KI%*s^-tby!>P60NOh+1S+HudlxRYzHA&hEf+${1en4$So$9Aa$r|*Ew^K|ud JS?83{1OQfcBCP-b literal 0 HcmV?d00001 diff --git a/graphics/door_anims/15/0.png b/graphics/door_anims/15/0.png new file mode 100644 index 0000000000000000000000000000000000000000..d9f37092b579861f866a1ff135c106e3057de298 GIT binary patch literal 177 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsR~aQ#}J9Bwdc?BHYo70J~;Q_ z?CQ(giaxm=W$Y35IK|O(z#yp3B&O!1_dbS94VPkd-5LjPr+;nN awVw>V2PSL@IJ@UL$St0(elF{r5}E*~YC!h@ literal 0 HcmV?d00001 diff --git a/graphics/door_anims/15/1.png b/graphics/door_anims/15/1.png new file mode 100644 index 0000000000000000000000000000000000000000..b9dbb58c4f9955d378db29ea972a428c092748ff GIT binary patch literal 171 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsUlAo#}J9BwdW6V9#G(6y>RA& zpw(J=|GlbjnXYkatpoCWdVK|Kz8r3MS4eu%cYX2FMgck9(1NRz8eF{(I^8tduqOT= z!^^~4c6UwruEkx4)gIkQbI6fhzV`j{wdP+qi~9PmY}{UdXrk1G{d{ueXW5sDAKcd8 T_0RjYGRPI4u6{1-oD!MvR*;aD zEq9oaSpK}{uEH6E&Be!j1kzqKFtvpSG$e3nIx^U~J@+w~(P+@_!4`8}XF;fTL(jR; s7d??LcsB5GC5u@xD=}Yd&C@&+&v2!_$F=xWatg>YPgg&ebxsLQ0C27?-v9sr literal 0 HcmV?d00001 diff --git a/graphics/door_anims/16/0.png b/graphics/door_anims/16/0.png new file mode 100644 index 0000000000000000000000000000000000000000..a385f7ad03f8795e32b7203b7189630c78b4b449 GIT binary patch literal 162 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsZ387#}J9BwdW7=HYo70URZa4 ztM5VEod+5ISCo&hd%(q`I@SN`ksp)Q^mV5=c=N0lwNzo-sN|@jXkPQgVuHQRx14EA zA6!@~7D;XTa;){5G{gCe7N2)Ltv>dwW&5UOjj_J1n^vu?sR@`UEI4aofsW|z)ga3~ MUHx3vIVCg!0Cvti6#xJL literal 0 HcmV?d00001 diff --git a/graphics/door_anims/16/1.png b/graphics/door_anims/16/1.png new file mode 100644 index 0000000000000000000000000000000000000000..67b16f45da710ecad6263b2d0494e9a414ee1891 GIT binary patch literal 152 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsd!Hp#}J9B$pKj+CQONJ7RhOg zANUBQ&ERC^kqu}_II#3V&)tBA{>G$pM>>Vm1rpA*7(QEIY?T-^clCmv$QM25LOG6c z86;m@6}nm~u}9Q_Er3nMg!$P9Ne=OKO%0+96Xs6jF)O*M1G3W7)z4*}Q$iB}rNl5Z literal 0 HcmV?d00001 diff --git a/graphics/door_anims/16/2.png b/graphics/door_anims/16/2.png new file mode 100644 index 0000000000000000000000000000000000000000..e796302f0ba934dc5aee2bb474d0a469f0e4ac5d GIT binary patch literal 136 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wDSuBF#}J9B$pKj+CQONJ7RhOg zANUBQ&ERC^kqu}_II#3V&)tBA{>Hp>JV}xY(g%7XSBI@-GPDX`Xq>jt_<)f{Pvi@p ijx$<5-qsRfj*JX!K9j}j4u5|Nvcl8V&t;ucLK6Tn8Yo!+ literal 0 HcmV?d00001 diff --git a/graphics/door_anims/17/0.png b/graphics/door_anims/17/0.png new file mode 100644 index 0000000000000000000000000000000000000000..90774f8f791c81deeb2e3ef3fc4fa394cbc87979 GIT binary patch literal 162 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsZ387#}J9BwdXd9HYf-%2ZUK@ z<>m+P3b@oLeL{y%wVdsR&sTYYIH%+$Bk4mq4V; z!rUico;ZJzaA92Mr;TT>S^n L{an^LB{Ts5x{f>( literal 0 HcmV?d00001 diff --git a/graphics/door_anims/17/1.png b/graphics/door_anims/17/1.png new file mode 100644 index 0000000000000000000000000000000000000000..06a278c0c18f4caf0b5a5659897310b9ae257ed9 GIT binary patch literal 152 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsd!Hp#}J9BwdZ#89#G(M4Gdf0 zJ=gbT!OU|8jUUBs_9Xn7s8PgSqLT7*>9VEK+$p*NTc3pYoxAj-dH(w6D<%13+V(KE zeUocg7=NIvj>*EIY3pK%7tANtHJR}wKb&{Qgz?0}%HxgRT_qqZJzf1=);T3K0RX72 BIP3rb literal 0 HcmV?d00001 diff --git a/graphics/door_anims/17/2.png b/graphics/door_anims/17/2.png new file mode 100644 index 0000000000000000000000000000000000000000..e0e60042c2fbe7475d11099c73a6dc73871cb0ca GIT binary patch literal 130 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wDNj!q#}J9B$ul@vdAtG|5;&X~ zn=Uf4@)X1t99t8but7+kd7Z4+d4*|=n;6e9NU|oCtaC~~7Rp c4AwL;F}NypG~F)FVdQ&MBb@0L618U;qFB literal 0 HcmV?d00001 diff --git a/graphics/door_anims/18/0.png b/graphics/door_anims/18/0.png new file mode 100644 index 0000000000000000000000000000000000000000..2605a89a243a97dc3b90cd65547bd53c3467a43f GIT binary patch literal 194 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsZLK9#}J9Bspk&z9x~u@2wWdv z$vvf_gYQ7v!v|h>c1-DFoN$vtg25#$fi>+w8IS8D`8Dd%T}-ho{~vJZ3EC)ExSn2i zt;+6YfQ`$#KIzZbE;iL}*>lF`(ScN>5{n#}8;^G>et&W!HA<52yU&#g8h#QEKJpL5 sPabehozZ{Puxo|L<{8WG|7TIDVlH{n5T#dGTLW^Or>mdKI;Vst0B%D`Qvd(} literal 0 HcmV?d00001 diff --git a/graphics/door_anims/18/1.png b/graphics/door_anims/18/1.png new file mode 100644 index 0000000000000000000000000000000000000000..d76dd3157958271c084af7b63fd1c640a784a23c GIT binary patch literal 167 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsXR{?#}J9BspsBuHYkX+KHS}8 zQB=R@0)rNBz;@nMj7>2MMQ176_j!E#H=$j*V~N1uM1i**c`p1}-W-Y1j|B@mWh9py zCcAaYWa%$&-nvaz+Sc@a~; P3djYXu6{1-oD!M<J8gZ)2a+zkc^k*XPo))i>mteSU3V!Np>r+B4>-{zBn zhZem$ee1dW6Yo9;qvVwC3y0L@Tf|Zi{R?Kk%6&3)deD>G2akcQ^mO%eS?83{1OTAf BHctQm literal 0 HcmV?d00001 diff --git a/graphics/door_anims/19/0.png b/graphics/door_anims/19/0.png new file mode 100644 index 0000000000000000000000000000000000000000..80309914b0bbf23ab2e2bbacf69ed09df2294786 GIT binary patch literal 196 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wscugf#}J9Bx#te@9x~u@xVWZa z4y%`q3wy%mf&$gN7_ZQ;J!jZ1Fs?YIwAX-nTk$r33>;Flri%6EZcTMQm zrkVd7j{OZgm;UVH2NkPa`8^elHjd1uPs27g|H^3K;$vOublCD?+(m!RjS7p_A7B*N v-yj<37`f!dx|;mb-+Egw^QM+z!-q+t-N{qFgPiB->gTe~DWM4fm;_82 literal 0 HcmV?d00001 diff --git a/graphics/door_anims/19/1.png b/graphics/door_anims/19/1.png new file mode 100644 index 0000000000000000000000000000000000000000..5097cd859d6bbf7550e8d25a93b4363382d6337a GIT binary patch literal 168 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wseDft#}J9Bx#te@HYo5oTwLcM zag$qxkAe5&no{Oe241~KM literal 0 HcmV?d00001 diff --git a/graphics/door_anims/19/2.png b/graphics/door_anims/19/2.png new file mode 100644 index 0000000000000000000000000000000000000000..52487c3c33f44f25060249078ecfc6d7783f5c8c GIT binary patch literal 152 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsd!Hp#}J9B$rjA4JTrPO?>?Bo ze|S%M!iPzTd@j#a#Mma>*ebQ?@0V4f)dzZnWo2zou$^mRYU9&rFiaCjXfSD%+#I$x ziZ!WZom2W5r}T!@0Ex{PBn4)M&X`tau%?NLfi-6(?;n+itspBsUHx3vIVCg!04&`x A_y7O^ literal 0 HcmV?d00001 diff --git a/graphics/door_anims/20/0.png b/graphics/door_anims/20/0.png new file mode 100644 index 0000000000000000000000000000000000000000..5e93af90bbbcb3ec1b369cb1d7c22c1c71d47b47 GIT binary patch literal 205 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsVSZ=jv*3Ld(Rs39ai9B4My^A}f%CR^=t|FE`*asEOz#|_`SAE+lLI~*z8!2QNRoFO7n zd$Duq9X1E^)$eA1t+`TUx#7He4h#PUqrk@59b(zr3KtpOv&+%Gbt#6~aGmA;q&FTf z=Y6(b%Ji&jeaMOX91qn#@hm+2d-aLKzxT;zzj^6%m_Jx9SoA@T;3<$hJzf1=);T3K F0RZ3EP;vkO literal 0 HcmV?d00001 diff --git a/graphics/door_anims/20/1.png b/graphics/door_anims/20/1.png new file mode 100644 index 0000000000000000000000000000000000000000..438d0f16adcdd77bc71a3363ba732e12628463e8 GIT binary patch literal 205 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsVSZ=jv*3LQ_os+9X8-$OGy19 z<~U7H(x&wMCDR4kELBYxidD93iMG;m|FE`*ajxQ|+?lQxOf^3FZ{i2*(pGD8AK6)Ws!lIn<=EMW5MS-(R=bSip`cTm#ncC+EO16KRqxG!) zp{eu?%S3*~N5XX*|0}BSm>;$Z`LR0j<5#O^4d*p27(3@i3GwOPv<11-)78&qol`;+ E0N_nd$p8QV literal 0 HcmV?d00001 diff --git a/graphics/door_anims/20/2.png b/graphics/door_anims/20/2.png new file mode 100644 index 0000000000000000000000000000000000000000..4483dacd05437dac5c49cad5cd70af816fcb8562 GIT binary patch literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wscKIb#}J9Bt!EAS8Wea~FBomQ zdE{v8!PyhO6zqDbHs?Trw*CdQ4ryQzZwDT~)7x9O&ul=d#Wzp$PzW15xt; literal 0 HcmV?d00001 diff --git a/graphics/door_anims/21/1.png b/graphics/door_anims/21/1.png new file mode 100644 index 0000000000000000000000000000000000000000..5cabacdc964ce467a5d0219244f55efeb2945926 GIT binary patch literal 192 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsdi5n#}J9Bspk#~GAZ)3KHM_l z@-zoVxfkBY9kmNA-<_1(6mnoO(*liVX-W70-upcD7S3C6)o<%U(J5bgnU*p!dt6a@ zy4Oolq5Dk(Q{;2$ON~xRffi{C5-#S(%AcD%_u$`y(tjEs@LrEUa$eJp_qI_X7xToQ rk9cgTe~DWM4fc{oXT literal 0 HcmV?d00001 diff --git a/graphics/door_anims/21/2.png b/graphics/door_anims/21/2.png new file mode 100644 index 0000000000000000000000000000000000000000..73353c9bba2e2b3ce18fdd89f37decf1af3291d8 GIT binary patch literal 162 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsZ387#}J9BQ_pSWJ)pqj61e_B zrl*;Q*QqrLGa5d#90)LERCJks|A*)G8Cfk;wVyUEy0F73(PRPR#I7SEn=}|bRT$V* zcFQke@-kAozFygU(c@Qtk6q6CkRzFQ?_v3u)YkijpAP&fNYeSk)UmYUZdUg97Leth Lu6{1-oD!MiLo3>8jg$%uS1qzWBV?f2C~A_)z4*}Q$iB}pJysF literal 0 HcmV?d00001 diff --git a/graphics/door_anims/22/2.png b/graphics/door_anims/22/2.png new file mode 100644 index 0000000000000000000000000000000000000000..59438d105c7e7dc75df266f2088b73f5c06f8235 GIT binary patch literal 119 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wDLYRW#}J9B$sWy2Y)KNb0S7j4 zadjl^X=eH)S>E_SuA|Ts2>4G_tZq5CqvagK=>-OQ3yl?w5@KIW({f~F@SHp&z&lH2 PJ;+2)S3j3^P6Ewa9;n&&1N8|9uO9wK0)+`t9SRT7pmfM?}{`xbScOgPI~AUH$26B|AtDnm{r-UW|RDMA( literal 0 HcmV?d00001 diff --git a/graphics/door_anims/23/1.png b/graphics/door_anims/23/1.png new file mode 100644 index 0000000000000000000000000000000000000000..7ea47bba0d5a9646deeba0be6652445fe125b9f5 GIT binary patch literal 176 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsd7&j#}J9Bx#te@HYo70URbw4 z`oiq&szuBbID{FrR|ucrdZRQ&$?(_Yw(0jB8e*AVdadNM@jdr*4RdPY70Dm>iY5xz zC8#>Qz2lJW%O!qL=fKK?T2~XQk^}aJi=?k*>|yByNiF&J5eFEmbD qXnep(qbKqOPX|wg_^zd^7celqj#`q&-S2n-WRs_>pUXO@geCxolPk&q literal 0 HcmV?d00001 diff --git a/graphics/door_anims/24/0.png b/graphics/door_anims/24/0.png new file mode 100644 index 0000000000000000000000000000000000000000..49dd2b432ad97a40a6bd3d8bea32f19bd6cbfee0 GIT binary patch literal 176 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsd7&j#}J9B$riQG&d3R*IT-l8 zzsY>4LQ-N^m?PuiSd9aRZt$}591A$0kdwjV#<7x5gF*7fMMfh76O&bolQT0koTH+` z+>dYCVzNkLclrBQFCutN1kPC$KMQd`KFc`$K#!!tvAessTZOM-wc^RRzeY5`TXA25 ZAw#awl6BALx2u7i;_2$=vd$@?2>=r*JO}^) literal 0 HcmV?d00001 diff --git a/graphics/door_anims/24/1.png b/graphics/door_anims/24/1.png new file mode 100644 index 0000000000000000000000000000000000000000..10bb6c2f45e953bcfedbd0c25762e46aefe7f8b0 GIT binary patch literal 176 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsd7&j#}J9B$riQG&d3R*IT-l8 zzsY>4LQ-N^m?PuiSd9aRZt$}591A$0kdwjV#<7x5gF%X8Q3G3>Tcd=xv*e{s4n3)v zE{0|AU%hxSXJeK548v^J35Cx>+@G%!%|6#4vH3vH?(J6LYoj)P)4Omf(t+(p&4LQ-N^m?PuiSd9aRZt$}591A$0kdwjV#<7x5BO!uu;cgB?tMqd%25D=fSkp?@ xH5sKjN-8iKB#TX96k{+1as(PfWjW#xNH8>(E(^N+EnNX*rKhW(%Q~loCII2*E5-l- literal 0 HcmV?d00001 diff --git a/graphics/door_anims/25/0.png b/graphics/door_anims/25/0.png new file mode 100644 index 0000000000000000000000000000000000000000..291e71e90132d7a546d2d3a5bf3b33ad78ffd668 GIT binary patch literal 188 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsb)_X#}J9B$riQG&d3R*IT-l8 zzsY>4LQ-N^m?Pt1YmEbkZt$}5cm*^h99U|#fFUKpo&Cgt3m1%KWz(IUB`@9E`|^dw zcfDRk_CprOCVbahy*T;i?sT5aOa-?nsYx6@hI0y^@pJ(3gu+$H$D|YvA3eId_^6P$ l_=KgK!yI&5e=r?mV7R|z)e1wA&MzQmdAj%o2O$!pZ9k1!ftq)+1{M_iu zJayTFeMVAw8q(%Do({TCR62e(#u=o(@GE)hlJ#c6(R0QclHGPf7qVo2&0LVDvq(N$ g?v=#xfWJpuWtB=+|BBrd#0qker>mdKI;Vst0B{aL5&!@I literal 0 HcmV?d00001 diff --git a/graphics/door_anims/25/2.png b/graphics/door_anims/25/2.png new file mode 100644 index 0000000000000000000000000000000000000000..a19c6c27b722d68407a88aea2d0c35fa67dbd796 GIT binary patch literal 157 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsT5Ba#}J9BwdXH#9#G(6xp3xE zX6UYlnGTzrWF0O<&RG~U=~}-Re^bA4okwj?*TU8~?Puci!yhetdGo=i3lAeJ);G0x z&F!4^@D78u;qxU4g03P9G8H4-7A81fWIFw3gVUj3N1LVl{Z{a-UNgZFWUr^IpUXO@ GgeCw)ojnf# literal 0 HcmV?d00001 diff --git a/graphics/door_anims/26/0.png b/graphics/door_anims/26/0.png new file mode 100644 index 0000000000000000000000000000000000000000..a4e6ef57c3283a6b06ae8aba7e9e16fd474bf243 GIT binary patch literal 232 zcmVP) iq4ZG@+pNV>=S@D&rHIjtdD)Wy0000fn0kV(kXM2KG49B#V#?rWU{3P;y+U{4q>I&^ ZD?SVpjN>b<9d`f#002ovPDHLkV1j>HT;Tu! literal 0 HcmV?d00001 diff --git a/graphics/door_anims/26/2.png b/graphics/door_anims/26/2.png new file mode 100644 index 0000000000000000000000000000000000000000..dece153ab1866a0b568ac8f715d4bd3da21ad3b4 GIT binary patch literal 185 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsRmCM#}J9BQ_nea9aa!vy-=_B z-tZE)#uo)$u65lL-`v^a^gc1cFW^P2mD)6c@}ILS{|HL5lnJflurb!>EuF;DXzpSa zwu61*#&CAcE!)%{-Q)5WzjMv$LDh%1jxQb0{rnr~^)~;J+2719rmdKI;Vst0D@2?_W%F@ literal 0 HcmV?d00001 diff --git a/graphics/door_anims/27/1.png b/graphics/door_anims/27/1.png new file mode 100644 index 0000000000000000000000000000000000000000..287f7e55a7d7ebbb6893578d6b954587865a84e1 GIT binary patch literal 137 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsQ^zG#}J9B$rbFZJi8Y%a4%-& zl1Ou6YzpLKk`A)N)78&qol`;+0EUYzx&QzG literal 0 HcmV?d00001 diff --git a/graphics/door_anims/27/2.png b/graphics/door_anims/27/2.png new file mode 100644 index 0000000000000000000000000000000000000000..02c81063764f1f3a7689c3bedd3af79c7ef4171d GIT binary patch literal 124 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wDQ8a?#}J9BYtI_;9xxDLzIfhB z#7i-v>1gVMqz;j}vsGVRnSC$e(2oxyH YQoMe)=9=oHl^|n1UHx3vIVCg!0G8<~tpET3 literal 0 HcmV?d00001 diff --git a/graphics/door_anims/28/0.png b/graphics/door_anims/28/0.png new file mode 100644 index 0000000000000000000000000000000000000000..3da426d0f3c6a196ef2fe7049bc89e1862aa9cff GIT binary patch literal 167 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsXR{?#}J9BwZ}GcHW&!7UeM0f zWtm^~tI4iqI3v<}r3_4>x Q`83EtPgg&ebxsLQ0Pxx)5C8xG literal 0 HcmV?d00001 diff --git a/graphics/door_anims/29/0.png b/graphics/door_anims/29/0.png new file mode 100644 index 0000000000000000000000000000000000000000..832abe1c47a26e1822f62cb554bc6f5f65f15ab2 GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsYXv1#}J9Bt>-uLwixiR2CSbT zx?TY7GdWBVe$5&ZhSw+T5dzQu5 km)`p=>DiXNi~V}6`jri{ja))*xq=+!>FVdQ&MBb@0G!l7T>t<8 literal 0 HcmV?d00001 diff --git a/graphics/door_anims/29/1.png b/graphics/door_anims/29/1.png new file mode 100644 index 0000000000000000000000000000000000000000..f6a402eec4cd1b7d19668f82cc158a30d2f7a8fc GIT binary patch literal 171 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsUlAo#}J9B$pJ<4marV+Ii@$c z*Kvm9g~~+=9L5smCeqCY%?ct0B@T>DhQeGDWzLLZY%w4E`ug4(r=LHgcHqLXgab>{ zoF(V3z9_j_pl5S}+w)bS)$g1nS07Z`9LCt1&~w${*tt-J4bnMA93{#U2K9^#Q+%i1 T{_)@48srL3S3j3^P6DhQeGDWzLLZY%w4CIPUryF{d2P5lFtaDs*)i yv*g^>7bG`dkW7#iIi^!`>|CgUAdh$AKPH9?UVVWM3QsFQHhQ}HxvXLQ7m z(X$sxe?Hsxrgpo+xw{Y5nICOepX1ppv&>`SR|AnEub2*xIZJ~t*>LXJ$zU{pZB_KV R^bC*-JYD@<);T3K0RVp~J&*tZ literal 0 HcmV?d00001 diff --git a/graphics/door_anims/30/1.png b/graphics/door_anims/30/1.png new file mode 100644 index 0000000000000000000000000000000000000000..15beb5a362a62a60f12215eb1f16bd19fd9e6629 GIT binary patch literal 154 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsYFi~#}J9B$uAn1+U^E4^cxCu zZ7{g!$T;JpL5PXiDGrzPBWzooBzZG2CL`i|+qGmU_DSxvX8sMT P43K%Au6{1-oD!M<_i!X5 literal 0 HcmV?d00001 diff --git a/graphics/door_anims/31/0.png b/graphics/door_anims/31/0.png new file mode 100644 index 0000000000000000000000000000000000000000..94c738d3ffb6b9a6e8cab4450e9a8b752f0d2627 GIT binary patch literal 129 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wDGyH<#}J9B$rjA4Ji8Y%a5Jxa zrYDk+xTl$^%{pCC;NXFf;J7&T?;k2FEt@7zn^yk*?dB~eRR#^y?p1duSx@-*PPT)w cT=C3VhJO*8pD`7rH-XIdboFyt=akR{0LNG==l}o! literal 0 HcmV?d00001 diff --git a/graphics/door_anims/31/1.png b/graphics/door_anims/31/1.png new file mode 100644 index 0000000000000000000000000000000000000000..817eff6e707939717b52eb328b04134c63fb9bfb GIT binary patch literal 121 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wDF;s%#}J9B$rjA4Ji8Y%a5Jxa zrYDk+xTl$^%{pCC;NXFf;C})xC#Nb)Wac~eRA+uknBpwqv2FVPW}^psEjuL{HUyp3 TH;8%>0y5Ln)z4*}Q$iB}`cxy; literal 0 HcmV?d00001 diff --git a/graphics/door_anims/31/2.png b/graphics/door_anims/31/2.png new file mode 100644 index 0000000000000000000000000000000000000000..cf05cc48896abad02e1b7e0a4f67b1da8164978c GIT binary patch literal 104 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wDSb~D#}J9B$rjA4Ji8Y%a5Jxa zrYDk+xTl$^%{pCC;NXD}W%h;gd}3^O5)0VQoMq6vc9oOwkmhob5uUDoF6*2UngDV2 B8fyRm literal 0 HcmV?d00001 diff --git a/graphics/door_anims/32/0.png b/graphics/door_anims/32/0.png new file mode 100644 index 0000000000000000000000000000000000000000..a18d49d80fb2b2041ef5da9b76180af25af86bad GIT binary patch literal 194 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsZLK9#}J9BxqW*%4?FO*ZgujQ zFT2NKRkqCmL7NW4l&0r)dNrj@ooOe96!)f`uvIE?{nPk>+4gV8UjJi4)@8?pe$VMu zeP&W=xyj1+!HI*JLAM!IFVdQ&MBb@0Q5OX8~^|S literal 0 HcmV?d00001 diff --git a/graphics/door_anims/32/2.png b/graphics/door_anims/32/2.png new file mode 100644 index 0000000000000000000000000000000000000000..6d05fcc1187904797cec1b1553d1e57bbad82271 GIT binary patch literal 138 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsX$K`#}J9B$raxN-pO(p?-4eu zVL!z4Uhei@=ES!0fQE!QjZAGbfpm!jW3z&Yf<%F4m*iZ7-B#g^3=<5w=Q2)oOgrP0 j?vOe`BG%xTRtXzJ^W_qrz3<^W(+M8$Vt24J)+|3ccZ%M%-5}dMUHx3vIVCg!0QDC(cmMzZ literal 0 HcmV?d00001 diff --git a/graphics/door_anims/33/2.png b/graphics/door_anims/33/2.png new file mode 100644 index 0000000000000000000000000000000000000000..d52c8243f7d2dd51bbc58ae34420a8462763e81b GIT binary patch literal 144 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsc=sh#}J9B$rjA4Ji8Y*XdH{x zNT^_E<;j14x7PCgyW7RiJo*RT x<%Nel==c%(W$(+~OT16)-Z)w7{>o22(|lAUs@!`56Ea!u+22&p36AZF{$LB#Oe!@ Y40@M(IHU_UsDTXjboFyt=akR{06-Zcb^rhX literal 0 HcmV?d00001 diff --git a/graphics/door_anims/35/0.png b/graphics/door_anims/35/0.png new file mode 100644 index 0000000000000000000000000000000000000000..d9703db87ada1502c726626325c7695e75bac8d0 GIT binary patch literal 161 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsSHmS#}J9BOV4fOZBP(seYl+| zDzZviVtJwRmdyqq{n#elK48!oeUi0``(Mi*{he%QOidQ)TQ|;Gt1PfnM)1>SnH`&D zB@?$_{-9(tXSdO%M}H?uZI~x|J63U{(^vM54gxbnXR=DYO7KVvdwt!FV?FTMN3Oat!~k-rb^@!Qg}$g@VgHGbYL=0)!c4+-4ibOG7w>FVdQ&MBb@ E0Ch7roB#j- literal 0 HcmV?d00001 diff --git a/graphics/door_anims/35/2.png b/graphics/door_anims/35/2.png new file mode 100644 index 0000000000000000000000000000000000000000..32acbcaa29d0b08a91ac077e97ab88e0c8834b41 GIT binary patch literal 148 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsc26Z#}J9BOM5r+HW=`*)U!If zcA7iraH`7oZED!d8U0Y*V~U97$zPLmUT@sDAo$oc?vNRa0;al%TDl}K7n@yaUj5Q( wYx|U9?{D%Cb&o1N3}0BWy<+kwPmA4NcTB$)d=pWgeFkKmr>mdKI;Vst0A)rr00000 literal 0 HcmV?d00001 diff --git a/graphics/door_anims/36/0.png b/graphics/door_anims/36/0.png new file mode 100644 index 0000000000000000000000000000000000000000..0bb35c0c5030674e7585879169ec076a9c6e5a3d GIT binary patch literal 138 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsX$K`#}J9B$pS4*Y(B@dG#m^* zta#bL)b_2&V1U@5Xl=h}Da?~*P_mBY;^qdP4s9UQ vQNp2EL9JY2jl&Jr#5E2b2YlPI_1l>k0#-HGR#wM&gDmuP^>bP0l+XkK9`G*q literal 0 HcmV?d00001 diff --git a/graphics/door_anims/36/2.png b/graphics/door_anims/36/2.png new file mode 100644 index 0000000000000000000000000000000000000000..33b2a1e0245d091287ea9c775b1db3ffe0bf4706 GIT binary patch literal 144 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsc=sh#}J9By}cKC4=8ZBC%_KABr6K+M8qZ)SohG=L;#lPhw|l`Lpb`q+pU`N5YOs zStUoS)n13Hudl57-)U1Qxr+6?_vdSR>v!Gz$FTa$^esDWt~$(69AVd BPtpJY literal 0 HcmV?d00001 diff --git a/graphics/door_anims/37/1.png b/graphics/door_anims/37/1.png new file mode 100644 index 0000000000000000000000000000000000000000..a5fcb7e271ac81e9e0664c731c9b87d23677c457 GIT binary patch literal 188 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsb)_X#}J9BQ_nkc9dh7dy-?pO zci?wl()YPdzXekC48#L|h~0_&z`(UMz2Fj0r~u1zopr0Oy@WQUCw| literal 0 HcmV?d00001 diff --git a/graphics/door_anims/37/2.png b/graphics/door_anims/37/2.png new file mode 100644 index 0000000000000000000000000000000000000000..70774fcf704ab990dd4051e7642dc7704c8590d3 GIT binary patch literal 115 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wDJxGG#}J9B$ul@vd1my41{}D+ z$hyREm%^^_2`go#7Yjc!P+)$xA@W7fxzHCqP)biCS=5S|LAhgE$d|WLAj23uUHx3v IIVCg!0F=@q?f?J) literal 0 HcmV?d00001 diff --git a/graphics/door_anims/38/0.png b/graphics/door_anims/38/0.png new file mode 100644 index 0000000000000000000000000000000000000000..b952321b7c5240f70633c4b77bea32209bea241f GIT binary patch literal 206 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsi~eWjv*3L*Ph+Td&oe5^+NQ+ z<%)|=FYm}UlFZc0z4YS-!_vh)=^JOTq_Uke6ypA%>V1CN|G6v7QkH9lCE7oUnXoxo z@h~IvnT`85Ki_)#U#~{gW=X9CgJ_P#c!Qu{zl^x_4~w*GA3ZPfSM7~~tBJ^pSt}pa z7fZbBZ;g7@7ZtyKabMZpG@1FqtGxX+@1DBE#c}TB=OgSYT(ONt%zVE<4)t{Pb6Mw< G&;$U0u~4-D literal 0 HcmV?d00001 diff --git a/graphics/door_anims/38/1.png b/graphics/door_anims/38/1.png new file mode 100644 index 0000000000000000000000000000000000000000..a7dd729d33c534819d6b5bea87bbec2ec97857cf GIT binary patch literal 213 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsX3l5jv*3L*Pc=2JLDkH`mnq; z@-oZz;EhMGeTli-rFcT>*u)22&Vt``r2U*$O*~WPxr1Ty%Q6aRg}aOrM?7A_A5QI=b(uib8}d&w-YFrU-G=$#74 Ny`HXqF6*2UngF=+Rk;8F literal 0 HcmV?d00001 diff --git a/graphics/door_anims/38/2.png b/graphics/door_anims/38/2.png new file mode 100644 index 0000000000000000000000000000000000000000..cad72bd9d2aeb464bb11c3994503bba09f6576f5 GIT binary patch literal 161 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsSHmS#}J9B$r}3NK|w(}`sptk z46FotjME)}xS>Z)Rh8FZv2(x%<`Wg)pYaIHsXqRJk4wU80fYQv8K>#SGn^%k^1Kpo z6Ku9<3G^^6PIF>Bd?qx(U~-~Z%f?BGq9O_sp#oKwYRn7`ZQVPI)&JcD+3o4-=d#Wz Gp$PyT)h~De literal 0 HcmV?d00001 diff --git a/graphics/door_anims/39/0.png b/graphics/door_anims/39/0.png new file mode 100644 index 0000000000000000000000000000000000000000..60e9831411b69bb8c7ff852d73d24e298d997ac4 GIT binary patch literal 133 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wDIZT4#}J9B$sDarZABUfj(apS zu`sXudv|yFZpQ{Wp5$a}4rkBzclTX?!Bb-D_1^EWL^=qcbGY(`anm^l*DqzwlJ6HV dXrw-3Vq$PmUvOwLYl#fVd{0+Dmvv4FO#r8(D$M`@ literal 0 HcmV?d00001 diff --git a/graphics/door_anims/39/1.png b/graphics/door_anims/39/1.png new file mode 100644 index 0000000000000000000000000000000000000000..3173d57c83bee801a2b3d2e982b33a1f5fe334ab GIT binary patch literal 146 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsYp*3#}J9B$sDarZABUfj(apS zu`sXuE6cIx-rm_k$C8s34(NUL@Z>yX(6+L%W6$lg3zjTd(tgAtj9DbG>O0%13)RJJ t=PZ~*nNu2Ero_FsWZuZlp%A2}r^g^(JYyYyzTIJvWuC5nF6*2UngAnJFIxZr literal 0 HcmV?d00001 diff --git a/graphics/door_anims/39/2.png b/graphics/door_anims/39/2.png new file mode 100644 index 0000000000000000000000000000000000000000..04f77999d2001e898feaf14e921e25212af266c3 GIT binary patch literal 132 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wDQ`~~#}J9B$sDarZABUfj(apS zu`sXuD=Tt9V*SY!8#6XW>o-|brcC+Lz>~~TarT1;C(D;OV+}_JA?8)jczsx;ne+H! e#P5g)Xo@prDR+MQ^r27*WW1-VpUXO@geCxo0VTTt literal 0 HcmV?d00001 diff --git a/graphics/door_anims/40/0.png b/graphics/door_anims/40/0.png new file mode 100644 index 0000000000000000000000000000000000000000..5e1504117cea28ca5f9564942c03d258c92b4d06 GIT binary patch literal 205 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsVSZ=jv*3LlW*{{@ zI>@8nrg~4Ity}!CVEzOtarri7y?|pv`>P#Rs>hw^+3moPRIz_=^>?`l@fi=Brwj5X zwfr)WX*Ecan3vitky*)8``)3aTwlV<%3)er2?K+n&b literal 0 HcmV?d00001 diff --git a/graphics/door_anims/40/1.png b/graphics/door_anims/40/1.png new file mode 100644 index 0000000000000000000000000000000000000000..cf185c5ab06598d8fbc00fb571d7f46da0609bd8 GIT binary patch literal 194 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsZLK9#}J9B$v1dec_Jjz4)Tn8gQ>3n~8H@ngyHvc`-LE8m-9EaJtA8WJ-HYdn58x%>* qbCjs$seSLzQ?4&zW#tf7Qo_Ixm%ZgmxCcuQ$Z?*oelF{r5}E+9l|mE% literal 0 HcmV?d00001 diff --git a/graphics/door_anims/40/2.png b/graphics/door_anims/40/2.png new file mode 100644 index 0000000000000000000000000000000000000000..7b34bef944e80cd35c78dc0494d6b7361aaa503a GIT binary patch literal 168 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wseDft#}J9B$v1dec_Jjz4;vGkWdrlJHC4Sv&d{M41VP)lDR#L*i5SX&xVD1IE Qiy$X>y85}Sb4q9e08xfDp8x;= literal 0 HcmV?d00001 diff --git a/graphics/door_anims/41/0.png b/graphics/door_anims/41/0.png new file mode 100644 index 0000000000000000000000000000000000000000..61d365737cc20db972720222d6efb867a515c7c7 GIT binary patch literal 198 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsa{VP#}J9BQ+rnP9(E95Z9k%N zMz%uVi}8BH(hz|n_r8dUdybrKy>TRUXT#ZAp|nZuY4e}yDsgEYiuKg~m2^}8_NP1M z_l{Vei*SnAVoLwAUcW5du^ndns)0zI# zhpqGf9GTkTeK7HrOwd~czpF=!B6;E@kHu_?T;f>unR(-(DNos6p54DXSpSo`*lmN7 iJJR=hc%$9#6+dA9TCreBv}0Be$Vr~AelF{r5}E+;K}%-< literal 0 HcmV?d00001 diff --git a/graphics/door_anims/41/2.png b/graphics/door_anims/41/2.png new file mode 100644 index 0000000000000000000000000000000000000000..5b8c3fa442ade7405ba71c5870afd0e16d9436e6 GIT binary patch literal 159 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsWeX)#}J9B$pJxL$q638K}iAL z$sPAjO_+9M!rs}X(PanT9g}!+7G`EH zjf)MB)D^LX#?A?g6@KoznHKQ=>H@2Xkd2xL1B6cRF4ilq|JfL|D=@0r!@g6X)Q$V3 zfW`K=%NG|HTrH{!^L8>|}6XJ2IV)E~l=_|=@}`h7iOULEhV z$LtQHtVp|OwH({KDKman9%aqYuJ2^+ z10F@mSvwOi2Ux#zuG*sfz`2XT&GI(K>*e0D<~#m>Sn8s1eZ>`z?E4p`C%ASRTLj2~ P{J`Mp>gTe~DWM4fr43QH literal 0 HcmV?d00001 diff --git a/graphics/door_anims/42/2.png b/graphics/door_anims/42/2.png new file mode 100644 index 0000000000000000000000000000000000000000..e9e5122b4cbf5a54da5fa0d4ec9b66a9e474f026 GIT binary patch literal 190 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsa8)H#}J9BwWl`n9x@PVc^KWO zy6NK7g&q$hnS?(C1*or2m_23LVusGyjo&+3T_(p*dp|kn%dc%s-|v_oOnxL75Gv!O zot>&bq2}%*t`o70nLR2pQ4-M)wtf6LsruIOITpgH&Ym-J4a&Jo&L1gtNavIen0B&u p<|#XyU(Kp(4n%zryYkDnmSHFBRIxUjTMZzGdAjB{Eh za?d}WZ`MV}KDo~57QGG$xIuOP3j(OSvJ_c?yhOGql=HfmI^mNkuCpDAI&`+oT^+ZKmsi|pAV+w*`njxgN@xNA%E~-@ literal 0 HcmV?d00001 diff --git a/graphics/door_anims/43/1.png b/graphics/door_anims/43/1.png new file mode 100644 index 0000000000000000000000000000000000000000..a013b2990a8a507fc13500c933b1c7d520e99586 GIT binary patch literal 168 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wseDft#}J9BwdV}^8Wea~1J*qd zwc%c!)3@&KlO?iO*ZLgeJ(pmgdBEjy{4XX|`EZ@Q4JAF(`o4!&pX)hz$6q5U=1Y4e z_apiEMOX;(1Ug8ICK)4blw3mbQB RT{Q>f1W#8#mvv4FO#u5MJ{SN1 literal 0 HcmV?d00001 diff --git a/graphics/door_anims/43/2.png b/graphics/door_anims/43/2.png new file mode 100644 index 0000000000000000000000000000000000000000..8f3dc2a181c5decc1a78f43c65655e565a07fde8 GIT binary patch literal 161 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsSHmS#}J9BwP!a9HYo74KHT1< zy`w+p0f!O$;lQrg6*g8z%`YB%EPQ_d$!-SrE$u7QXH>U+zgQt>xj5G*{pVpXmBUVN z*xcu=aQWA8S!>d5+2xnAKDZnV%YVYGeevI<k7H_*0{Q2H`klmiH KelF{r5}E)GNj@L| literal 0 HcmV?d00001 diff --git a/graphics/door_anims/44/0_left.png b/graphics/door_anims/44/0_left.png new file mode 100644 index 0000000000000000000000000000000000000000..37a2530e7929f19e4c1974679e2c344b29c3ba86 GIT binary patch literal 172 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsbWtT#}J9BOV97-Z7|?*4fOYB z&s~urY{+8jb&zSz0WQCp9qJDy3lwU+RPstwUWzVT>Qektc!x{SBHa&GAH?Q$8+x!k zhElJ@=U9xaylu`U|A^1SU-u)aJFa-zWS~HbQNC U^t&ZBt3b~1boFyt=akR{0EkC7X#fBK literal 0 HcmV?d00001 diff --git a/graphics/door_anims/44/0_right.png b/graphics/door_anims/44/0_right.png new file mode 100644 index 0000000000000000000000000000000000000000..f7a5d4dc7f9fd49c60f6c37b8bdc8a8c9236fa79 GIT binary patch literal 172 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsbWtT#}J9BOV1l}H5l-;KAf{H z`FdGVs7=e}k_zz;T<7u%Lv&2i4c3Yl3jbN&@4&Her(5t_;T>*4i?@6-EQp%lsj`FZ z+};P$Ke+S0=ejL_A@W=PhV-*zi!Ma7+8U%OFeIw%6EITfV4W>0T`KFg`H0ffgTnv0 VccssL8{+|ThNr8a%Q~loCIGZzK0^Qi literal 0 HcmV?d00001 diff --git a/graphics/door_anims/44/1_left.png b/graphics/door_anims/44/1_left.png new file mode 100644 index 0000000000000000000000000000000000000000..cb3474672d830c70a1daa43d23ee23ddc85f9514 GIT binary patch literal 162 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsZ387#}J9B$rjA4Ji8Y*XdH{x zNT^_E<;j14x7PCgyW7V45~2of>_U%qXZECLX7b3cpSOSSbhhLt zOtNfg4KX)Zi`ZH|avh5J%6F`SEp?6e>1Kn5w6(0WnV;;bW>;azxp9HSf literal 0 HcmV?d00001 diff --git a/graphics/door_anims/44/1_right.png b/graphics/door_anims/44/1_right.png new file mode 100644 index 0000000000000000000000000000000000000000..ed367c276c975a9f1cdc521f5adc741d3412a258 GIT binary patch literal 161 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsSHmS#}J9B$rjA4Ji8Y*XdH{x zNT^_E<;j14x7PCgyW7Wx%Sp?He*l#O|Jxk`@h4h?XVoAOcTt>}$8(GJ0mO7HJ6ax&aBI-zK!_vH=9ZckS~ Jmvv4FO#qPvIaL4v literal 0 HcmV?d00001 diff --git a/graphics/door_anims/44/2_left.png b/graphics/door_anims/44/2_left.png new file mode 100644 index 0000000000000000000000000000000000000000..d66ecc90d24e864557615fe2b1bd3560b03717fa GIT binary patch literal 120 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wDSJ;B#}J9B$rjA4Ji8Y*XdH{x zNT^_E<;j14x7PCgyW7k4PVD9`+gvCpw9mK4j%G*8i&|fpyzw+w z;9bLKE8}&i{8MaF58t~C<)SU+HV(o$0@+#Np)zY{N^H71IWAd@`NCeiYkp}up&{o# PgIwV0>gTe~DWM4f1eG{u literal 0 HcmV?d00001 diff --git a/graphics/door_anims/45/1.png b/graphics/door_anims/45/1.png new file mode 100644 index 0000000000000000000000000000000000000000..263a31f87a5047e5979d9cecf3ded33ecfbc14f6 GIT binary patch literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsRU0K#}J9BwdXeS9#G(M2@ETk zX=$Vw8?(#U=fMV7Gw%jwZNXFe7bX`JHU|7S*e4dx&b9N4n8%6!*UC<}CaOK*owimv z*5qQ}Pmu)-Ke_ezvR5=eYOsB%inkF#QxJLaR|pwV{8xFfZpq*+qI*s4n7d#tyxRS-Jn3XnjUB1M}w&Hd; ZBSXgPYQNkUS6x9Sd%F6$taD0e0su}%BcuQT literal 0 HcmV?d00001 diff --git a/graphics/door_anims/46/0.png b/graphics/door_anims/46/0.png new file mode 100644 index 0000000000000000000000000000000000000000..5d2fd8b8da84d223a2e5facd7262bc8f8bb0c0cf GIT binary patch literal 144 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsc=sh#}J9B$pS4*Y&JZ}8V8iF zGP3e`1vCWooSebQ`r{0v;M#=?1vPqR8XVKnSX?Y>l`LkpxcKU-cXxM}D;TD&jk;R= s>h pHYPNrgst6C&3v~^Az4&}fq{8#QhV~j#RVXXJYD@<);T3K0RSQKD**ri literal 0 HcmV?d00001 diff --git a/graphics/door_anims/46/2.png b/graphics/door_anims/46/2.png new file mode 100644 index 0000000000000000000000000000000000000000..1a1afcaa1f02c10bf5914d61927cd4060747a75e GIT binary patch literal 127 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wDK}3S#}J9B$pS4*Y&JZ}8V8iF zGP3e`1vCWooSebQ`s2*OQw*827?aLKZOyvMrLeeI)GArbidm=m(2Uk|4JR5(7e?>m a;$m35KJ}ZhF=7c@S~bkf+%A?rJ2SKVeFKYAbyU>7-R0*mUHV|?a@VnlTb$51`uXlX2 st6DruyoE8Gx#Zp5-3sQ1CDRu$Fl60aK9@l$)CS}>Pgg&ebxsLQ0AJEh&;S4c literal 0 HcmV?d00001 diff --git a/graphics/door_anims/47/1.png b/graphics/door_anims/47/1.png new file mode 100644 index 0000000000000000000000000000000000000000..7e16467fa018e220235b3c490aa91e86e12f54ac GIT binary patch literal 189 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsTNNc#}J9B$ve1Nc?ynMYcO<4 zyt#LlXPVKIdkQ>hF=7c@S~bkf+%A?rhF=7c@S~bkf+%A@~Eqcl0R4vz1*VZq{ofzY4P@~wR&Cw>`^0DQi zZc8CQ_u=<fV#xtXhUA%-xtlr*%Rw&kboFyt=akR{0By-a6#xJL literal 0 HcmV?d00001 diff --git a/graphics/door_anims/48/0.png b/graphics/door_anims/48/0.png new file mode 100644 index 0000000000000000000000000000000000000000..a7d64821e9b83c3a192f6e264788f73448385ddf GIT binary patch literal 167 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsXR{?#}J9B$ul@vdEPH*NE8(@ znA6Bq!?Po4hox-50Rbr~sf%1H4m~GU-jGbp%$#}o(xo8DOA0+E6FjaNt>EaGcx=Iv zCDXR*czSj^dcF_5XS~-v!R?ue0kfK@6ju_F(qco?t`#~{}|1XNIj2W6{w`v9j7&+%8DsfGTw>|m%vUz69J;5x&Dz|GJY~ubo zw#+C$F!SaH_GABVs4bA;DPqYxq$1y;9PYlokVp3GWzFm1_L4#CjwUFF%HRC;Rq!=m rqDJv-_3vjf7H#g?(b8cV2y&aJtDnm{r-UW|!4^r% literal 0 HcmV?d00001 diff --git a/graphics/door_anims/48/2.png b/graphics/door_anims/48/2.png new file mode 100644 index 0000000000000000000000000000000000000000..72eb0bc550894cffb4a58e3049df1553ce895c22 GIT binary patch literal 150 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsaQ`J#}J9BQ_pYYZ7|?*xj4J6 zcaHS7E$^X=)u}eWKMl|B#ny?wupIh&3>Iwem$ZjHNn6SkD yM%9Fi(q`Tj&A0sI)@480XL_V)*J<;Af3Nc%Iz2sNqG{42kcFPEelF{r5}E)^Pc}>d literal 0 HcmV?d00001 diff --git a/graphics/door_anims/48/3.png b/graphics/door_anims/48/3.png new file mode 100644 index 0000000000000000000000000000000000000000..ea5d9843cc68b979fa519c1c1184e1c8ccdb2584 GIT binary patch literal 133 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wDIZT4#}J9B$ul@vdEPH*NE8(@ znA6Bq!?Po4hox-5feDNYZ+oPaH2KVAOmR4qoqS>r=ca^bCOJKk3dg+G@O13%NO5>G gtF7RVPRA85hPOB82YB)y;s=@U>FVdQ&MBb@0BAcafB*mh literal 0 HcmV?d00001 diff --git a/graphics/door_anims/49/0.png b/graphics/door_anims/49/0.png new file mode 100644 index 0000000000000000000000000000000000000000..3125df9b4c22f5a5f24162866cec61432edd7d04 GIT binary patch literal 125 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wDHl%{#}J9B$ve1Nd3G;sFgd2B z;m|Rsk*RHSxq`sK3U*eWr%y|3_2*5Wt}M~iRP;H{PDEr0JM+zNd@s>@BKZK6VQ1{?x+w`{leUn5%`$1>sV+;)PXZ8h) S?R9hn8R_Zj=d#Wzp$P!r{33Dy literal 0 HcmV?d00001 diff --git a/graphics/door_anims/49/2.png b/graphics/door_anims/49/2.png new file mode 100644 index 0000000000000000000000000000000000000000..6234d8928f36f8020699b22d155ffc26d698ca03 GIT binary patch literal 116 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wDQiy`#}J9B$ve1Nd3G;sFgd2B z;m|Rsk*RHSxq`sK3U*eWT7h4zO@{o3Dm?kw?p!JtSij%df=5oufQ_NL_1e>J^KD;2 O#(BE>xvX40pRIM)LnhKFL+ UuRjNDS^zTB)78&qol`;+0DILYi~s-t literal 0 HcmV?d00001 diff --git a/graphics/door_anims/50/1.png b/graphics/door_anims/50/1.png new file mode 100644 index 0000000000000000000000000000000000000000..1a5a8c05cc95c632938a8da7213e7e01272b0fb1 GIT binary patch literal 116 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wDQiy`#}J9B$pwu}Y+RDN7dAZP z5iyvvm${MSn6*ZNMm^)AU#A3l4o+7%X5(08Fd=t;wfK<+>oEWmW OGS1W0&t;ucLK6T{pdkwY literal 0 HcmV?d00001 diff --git a/graphics/door_anims/50/2.png b/graphics/door_anims/50/2.png new file mode 100644 index 0000000000000000000000000000000000000000..38242302c70196c6d3ca1b6d3cbe76c72ed40e97 GIT binary patch literal 113 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wDGN^*#}J9B$pwu}Y+RDN7dAZP z5iyvvm${MSn6*a2i{=aZ0zH)i$Gocy9!%S}o15*u0N-wI)&e$$iuF6@ZmM0j4rG?6 LtDnm{r-UW|10^8@ literal 0 HcmV?d00001 diff --git a/graphics/door_anims/unused_848EDEC/0_bottom.png b/graphics/door_anims/unused_848EDEC/0_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..51c6243969ecfb67b907e583e4165cacb54bf388 GIT binary patch literal 106 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~c0wfp&-k$XWQih%`jv*W~lV7};p#cOY%?lSV zWL9T>tTDn^!YX_%)5Zf?2N(`Uu(C3&{3QE&`!Ut29N@^tlc JS?83{1OUl!9vc7v literal 0 HcmV?d00001 diff --git a/graphics/door_anims/unused_848EDEC/1_bottom.png b/graphics/door_anims/unused_848EDEC/1_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..a3cc83febf778f4c3d91c6ce960a9309dde43dea GIT binary patch literal 105 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~c0wfp&-k$XWQU;zbjv*W~lV7}u*_yRz!2=#P zfn?ShhS^tFh4va8<5FPOU>0KPa$uNq@!$q7rZ5JE&5Fvb3%CC_0GZ+G>gTe~DWM4f DHDVmm literal 0 HcmV?d00001 diff --git a/graphics/door_anims/unused_848EDEC/1_top.png b/graphics/door_anims/unused_848EDEC/1_top.png new file mode 100644 index 0000000000000000000000000000000000000000..e6c96394c1f20b9dcad539350d60d28d91bb20db GIT binary patch literal 99 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~c0wfp&-k$XWQd*uajv*W~lV312bsDRmOJKM( wS6EfCXC^!ALmo$g#l=ruG?GQ97;;Z#WM~wXoB2_C^G}d&Pgg&ebxsLQ08d65OaK4? literal 0 HcmV?d00001 diff --git a/graphics/door_anims/unused_848EDEC/2_bottom.png b/graphics/door_anims/unused_848EDEC/2_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..f8466fa9c91239a9566295998ee737f8c806106b GIT binary patch literal 89 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~c0wfp&-k$XWQVO0fjv*W~lV7}uVP!Iw5a@|~ l!PCLx!NT;Qhp#O(fPtaARGp_we$5n+9#2<4mvv4FO#m%K6;J>G literal 0 HcmV?d00001 diff --git a/graphics/door_anims/unused_848EDEC/2_top.png b/graphics/door_anims/unused_848EDEC/2_top.png new file mode 100644 index 0000000000000000000000000000000000000000..1864760e32aa1862968c24714981ec56e0f69b81 GIT binary patch literal 90 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~c0wfp&-k$XWQi`4~jv*W~lV3D6Nb;QMnd!ig nb|z|TmT1Stom_Jbxu-HR$bM06zP|OWH%ODGtDnm{r-UW|rtTRj literal 0 HcmV?d00001 diff --git a/ld_script.txt b/ld_script.txt index 3c6cf3bf0..4a4e41058 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -363,7 +363,6 @@ SECTIONS { data/maps.o(.rodata); data/fieldmap.o(.rodata); src/metatile_behavior.o(.rodata); - data/rom_8486FEC.o(.rodata); data/field_door.o(.rodata); data/field_player_avatar.o(.rodata); data/field_map_obj.o(.rodata); From a11c65ff1ac380cd213b26d0bb7a2787936b33f9 Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Sun, 7 Jan 2018 17:50:13 -0600 Subject: [PATCH 3/4] Port field_door --- asm/field_door.s | 754 ---------------------------------- data/field_door.s | 614 ---------------------------- include/field_camera.h | 1 + include/field_door.h | 16 + ld_script.txt | 4 +- src/field_door.c | 896 +++++++++++++++++++++++++++++++++++++++++ 6 files changed, 915 insertions(+), 1370 deletions(-) delete mode 100644 asm/field_door.s delete mode 100644 data/field_door.s create mode 100644 src/field_door.c diff --git a/asm/field_door.s b/asm/field_door.s deleted file mode 100644 index 037c76566..000000000 --- a/asm/field_door.s +++ /dev/null @@ -1,754 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_808A400 -sub_808A400: @ 808A400 - push {lr} - adds r2, r0, 0 - ldrb r0, [r2, 0x3] - cmp r0, 0x2 - bne _0808A420 - ldrh r1, [r1, 0x2] - ldr r0, [r2, 0x4] - adds r0, r1 - ldr r1, =0x06007e00 - movs r2, 0x80 - bl CpuFastSet - b _0808A42E - .pool -_0808A420: - ldrh r1, [r1, 0x2] - ldr r0, [r2, 0x4] - adds r0, r1 - ldr r1, =0x06007f00 - movs r2, 0x40 - bl CpuFastSet -_0808A42E: - pop {r0} - bx r0 - .pool - thumb_func_end sub_808A400 - - thumb_func_start door_build_blockdef -door_build_blockdef: @ 808A438 - push {r4-r6,lr} - adds r6, r0, 0 - lsls r1, 16 - lsrs r5, r1, 16 - movs r4, 0 - adds r1, r6, 0 -_0808A444: - ldrb r0, [r2] - lsls r0, 28 - lsrs r3, r0, 16 - adds r2, 0x1 - adds r0, r5, r4 - orrs r3, r0 - strh r3, [r1] - adds r1, 0x2 - adds r4, 0x1 - cmp r4, 0x3 - ble _0808A444 - cmp r4, 0x7 - bgt _0808A472 - lsls r0, r4, 1 - adds r1, r0, r6 -_0808A462: - ldrb r0, [r2] - lsls r3, r0, 12 - adds r2, 0x1 - strh r3, [r1] - adds r1, 0x2 - adds r4, 0x1 - cmp r4, 0x7 - ble _0808A462 -_0808A472: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end door_build_blockdef - - thumb_func_start door_patch_tilemap -door_patch_tilemap: @ 808A478 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x30 - adds r7, r1, 0 - mov r9, r2 - adds r5, r3, 0 - ldrb r0, [r0, 0x3] - cmp r0, 0x2 - bne _0808A4F4 - add r4, sp, 0x10 - movs r1, 0xFC - lsls r1, 2 - adds r0, r4, 0 - adds r2, r5, 0 - bl door_build_blockdef - mov r6, r9 - subs r6, 0x1 - adds r0, r7, 0 - adds r1, r6, 0 - adds r2, r4, 0 - bl DrawDoorMetatileAt - movs r1, 0xFD - lsls r1, 2 - adds r0, r5, 0x4 - mov r8, r0 - adds r0, r4, 0 - mov r2, r8 - bl door_build_blockdef - adds r0, r7, 0 - mov r1, r9 - adds r2, r4, 0 - bl DrawDoorMetatileAt - movs r1, 0xFE - lsls r1, 2 - adds r0, r4, 0 - adds r2, r5, 0 - bl door_build_blockdef - adds r5, r7, 0x1 - adds r0, r5, 0 - adds r1, r6, 0 - adds r2, r4, 0 - bl DrawDoorMetatileAt - movs r1, 0xFF - lsls r1, 2 - adds r0, r4, 0 - mov r2, r8 - bl door_build_blockdef - adds r0, r5, 0 - mov r1, r9 - adds r2, r4, 0 - bl DrawDoorMetatileAt - b _0808A522 -_0808A4F4: - movs r1, 0xFE - lsls r1, 2 - mov r0, sp - adds r2, r5, 0 - bl door_build_blockdef - mov r1, r9 - subs r1, 0x1 - adds r0, r7, 0 - mov r2, sp - bl DrawDoorMetatileAt - movs r1, 0xFF - lsls r1, 2 - adds r2, r5, 0x4 - mov r0, sp - bl door_build_blockdef - adds r0, r7, 0 - mov r1, r9 - mov r2, sp - bl DrawDoorMetatileAt -_0808A522: - add sp, 0x30 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end door_patch_tilemap - - thumb_func_start sub_808A530 -sub_808A530: @ 808A530 - push {r4-r7,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - subs r7, r6, 0x1 - adds r0, r5, 0 - adds r1, r7, 0 - bl CurrentMapDrawMetatileAt - adds r0, r5, 0 - adds r1, r6, 0 - bl CurrentMapDrawMetatileAt - ldrb r0, [r4, 0x3] - cmp r0, 0x2 - bne _0808A562 - adds r4, r5, 0x1 - adds r0, r4, 0 - adds r1, r7, 0 - bl CurrentMapDrawMetatileAt - adds r0, r4, 0 - adds r1, r6, 0 - bl CurrentMapDrawMetatileAt -_0808A562: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_808A530 - - thumb_func_start sub_808A568 -sub_808A568: @ 808A568 - push {r4-r7,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - adds r7, r3, 0 - ldrh r1, [r5, 0x2] - ldr r0, =0x0000ffff - cmp r1, r0 - bne _0808A5B0 - adds r0, r4, 0 - adds r1, r6, 0 - adds r2, r7, 0 - bl sub_808A530 - bl sub_808A964 - lsls r0, 24 - cmp r0, 0 - beq _0808A5E2 - ldr r0, =gSpecialVar_0x8004 - ldrh r1, [r0] - adds r1, 0x7 - ldr r0, =gSpecialVar_0x8005 - ldrh r2, [r0] - adds r2, 0x7 - adds r0, r4, 0 - bl sub_808A530 - b _0808A5E2 - .pool -_0808A5B0: - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_808A400 - ldr r3, [r4, 0x8] - adds r0, r4, 0 - adds r1, r6, 0 - adds r2, r7, 0 - bl door_patch_tilemap - bl sub_808A964 - lsls r0, 24 - cmp r0, 0 - beq _0808A5E2 - ldr r0, =gSpecialVar_0x8004 - ldrh r1, [r0] - adds r1, 0x7 - ldr r0, =gSpecialVar_0x8005 - ldrh r2, [r0] - adds r2, 0x7 - ldr r3, [r4, 0x8] - adds r0, r4, 0 - bl door_patch_tilemap -_0808A5E2: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_808A568 - - thumb_func_start sub_808A5F0 -sub_808A5F0: @ 808A5F0 - push {r4-r6,lr} - adds r6, r0, 0 - adds r5, r1, 0 - adds r4, r2, 0 - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0808A616 - movs r2, 0x8 - ldrsh r1, [r4, r2] - lsls r1, 2 - adds r1, r5, r1 - movs r0, 0xC - ldrsh r2, [r4, r0] - movs r0, 0xE - ldrsh r3, [r4, r0] - adds r0, r6, 0 - bl sub_808A568 -_0808A616: - movs r2, 0xA - ldrsh r1, [r4, r2] - movs r2, 0x8 - ldrsh r0, [r4, r2] - lsls r0, 2 - adds r0, r5 - ldrb r0, [r0] - cmp r1, r0 - bne _0808A644 - movs r0, 0 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldrb r0, [r0] - cmp r0, 0 - bne _0808A64A - movs r0, 0 - b _0808A64C -_0808A644: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] -_0808A64A: - movs r0, 0x1 -_0808A64C: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_808A5F0 - - thumb_func_start task50_overworld_door -task50_overworld_door: @ 808A654 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r2, r4, 2 - adds r2, r4 - lsls r2, 3 - ldr r0, =gTasks + 0x8 - adds r2, r0 - ldrh r1, [r2] - lsls r1, 16 - ldrh r0, [r2, 0x2] - orrs r1, r0 - ldrh r0, [r2, 0x4] - lsls r0, 16 - ldrh r3, [r2, 0x6] - orrs r0, r3 - bl sub_808A5F0 - cmp r0, 0 - bne _0808A682 - adds r0, r4, 0 - bl DestroyTask -_0808A682: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end task50_overworld_door - - thumb_func_start door_frame_last -door_frame_last: @ 808A68C - push {lr} - adds r1, r0, 0 - b _0808A694 -_0808A692: - adds r1, 0x4 -_0808A694: - ldrb r0, [r1] - cmp r0, 0 - bne _0808A692 - subs r0, r1, 0x4 - pop {r1} - bx r1 - thumb_func_end door_frame_last - - thumb_func_start door_find -door_find: @ 808A6A0 - push {lr} - adds r2, r0, 0 - lsls r1, 16 - lsrs r1, 16 - b _0808A6B6 -_0808A6AA: - ldrh r0, [r2] - cmp r0, r1 - bne _0808A6B4 - adds r0, r2, 0 - b _0808A6BE -_0808A6B4: - adds r2, 0xC -_0808A6B6: - ldr r0, [r2, 0x4] - cmp r0, 0 - bne _0808A6AA - movs r0, 0 -_0808A6BE: - pop {r1} - bx r1 - thumb_func_end door_find - - thumb_func_start task_overworld_door_add_if_inactive -task_overworld_door_add_if_inactive: @ 808A6C4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - adds r5, r1, 0 - adds r7, r2, 0 - mov r8, r3 - ldr r4, =task50_overworld_door - adds r0, r4, 0 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0808A718 - adds r0, r4, 0 - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r2, =gTasks + 0x8 - adds r1, r2 - strh r7, [r1, 0xC] - mov r2, r8 - strh r2, [r1, 0xE] - strh r5, [r1, 0x2] - lsrs r2, r5, 16 - strh r2, [r1] - strh r6, [r1, 0x6] - lsrs r2, r6, 16 - strh r2, [r1, 0x4] - lsls r0, 24 - asrs r0, 24 - b _0808A71C - .pool -_0808A718: - movs r0, 0x1 - negs r0, r0 -_0808A71C: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end task_overworld_door_add_if_inactive - - thumb_func_start sub_808A728 -sub_808A728: @ 808A728 - push {lr} - bl sub_808A530 - pop {r0} - bx r0 - thumb_func_end sub_808A728 - - thumb_func_start sub_808A734 -sub_808A734: @ 808A734 - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - adds r0, r5, 0 - adds r1, r6, 0 - bl MapGridGetMetatileIdAt - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl door_find - adds r4, r0, 0 - cmp r4, 0 - beq _0808A76A - ldr r1, =gUnknown_08496F8C - adds r0, r1, 0 - bl door_frame_last - adds r1, r0, 0 - adds r0, r4, 0 - adds r2, r5, 0 - adds r3, r6, 0 - bl sub_808A568 -_0808A76A: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_808A734 - - thumb_func_start task_overworld_door_add_for_opening_door_at -@ s32 task_overworld_door_add_for_opening_door_at(void *a1, s32 x, s32 y) -task_overworld_door_add_for_opening_door_at: @ 808A774 - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - adds r0, r5, 0 - adds r1, r6, 0 - bl MapGridGetMetatileIdAt - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl door_find - adds r2, r0, 0 - adds r4, r2, 0 - cmp r2, 0 - bne _0808A79E - movs r0, 0x1 - negs r0, r0 - b _0808A7C0 -_0808A79E: - ldrb r0, [r2, 0x3] - cmp r0, 0x2 - beq _0808A7B0 - ldr r1, =gUnknown_08496F8C - adds r0, r2, 0 - b _0808A7B4 - .pool -_0808A7B0: - ldr r1, =gUnknown_08496FB4 - adds r0, r4, 0 -_0808A7B4: - adds r2, r5, 0 - adds r3, r6, 0 - bl task_overworld_door_add_if_inactive - lsls r0, 24 - asrs r0, 24 -_0808A7C0: - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end task_overworld_door_add_for_opening_door_at - - thumb_func_start sub_808A7CC -sub_808A7CC: @ 808A7CC - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - adds r0, r5, 0 - adds r1, r6, 0 - bl MapGridGetMetatileIdAt - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl door_find - cmp r0, 0 - beq _0808A800 - ldr r1, =gUnknown_08496FA0 - adds r2, r5, 0 - adds r3, r6, 0 - bl task_overworld_door_add_if_inactive - lsls r0, 24 - asrs r0, 24 - b _0808A804 - .pool -_0808A800: - movs r0, 0x1 - negs r0, r0 -_0808A804: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_808A7CC - - thumb_func_start cur_mapdata_get_door_x2_at -cur_mapdata_get_door_x2_at: @ 808A80C - push {r4,lr} - adds r4, r0, 0 - adds r0, r1, 0 - adds r1, r2, 0 - bl MapGridGetMetatileIdAt - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl door_find - cmp r0, 0 - beq _0808A830 - ldrb r0, [r0, 0x2] - lsls r0, 24 - asrs r0, 24 - b _0808A834 -_0808A830: - movs r0, 0x1 - negs r0, r0 -_0808A834: - pop {r4} - pop {r1} - bx r1 - thumb_func_end cur_mapdata_get_door_x2_at - - thumb_func_start sub_808A83C -sub_808A83C: @ 808A83C - push {lr} - adds r3, r0, 0 - adds r2, r1, 0 - ldr r0, =gUnknown_08497174 - adds r1, r3, 0 - bl task_overworld_door_add_for_opening_door_at - pop {r0} - bx r0 - .pool - thumb_func_end sub_808A83C - - thumb_func_start FieldSetDoorOpened -FieldSetDoorOpened: @ 808A854 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsDoor - lsls r0, 24 - cmp r0, 0 - beq _0808A876 - ldr r0, =gUnknown_08497174 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_808A734 -_0808A876: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end FieldSetDoorOpened - - thumb_func_start FieldSetDoorClosed -FieldSetDoorClosed: @ 808A880 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsDoor - lsls r0, 24 - cmp r0, 0 - beq _0808A8A2 - ldr r0, =gUnknown_08497174 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_808A728 -_0808A8A2: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end FieldSetDoorClosed - - thumb_func_start FieldAnimateDoorClose -FieldAnimateDoorClose: @ 808A8AC - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsDoor - lsls r0, 24 - cmp r0, 0 - beq _0808A8D8 - ldr r0, =gUnknown_08497174 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_808A7CC - lsls r0, 24 - asrs r0, 24 - b _0808A8DC - .pool -_0808A8D8: - movs r0, 0x1 - negs r0, r0 -_0808A8DC: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end FieldAnimateDoorClose - - thumb_func_start FieldAnimateDoorOpen -FieldAnimateDoorOpen: @ 808A8E4 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsDoor - lsls r0, 24 - cmp r0, 0 - beq _0808A910 - ldr r0, =gUnknown_08497174 - adds r1, r4, 0 - adds r2, r5, 0 - bl task_overworld_door_add_for_opening_door_at - lsls r0, 24 - asrs r0, 24 - b _0808A914 - .pool -_0808A910: - movs r0, 0x1 - negs r0, r0 -_0808A914: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end FieldAnimateDoorOpen - - thumb_func_start FieldIsDoorAnimationRunning -FieldIsDoorAnimationRunning: @ 808A91C - push {lr} - ldr r0, =task50_overworld_door - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end FieldIsDoorAnimationRunning - - thumb_func_start GetDoorSoundEffect -GetDoorSoundEffect: @ 808A930 - push {lr} - adds r3, r0, 0 - adds r2, r1, 0 - ldr r0, =gUnknown_08497174 - adds r1, r3, 0 - bl cur_mapdata_get_door_x2_at - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - beq _0808A958 - cmp r0, 0x1 - bne _0808A954 - movs r0, 0x12 - b _0808A95E - .pool -_0808A954: - cmp r0, 0x2 - beq _0808A95C -_0808A958: - movs r0, 0x8 - b _0808A95E -_0808A95C: - movs r0, 0x2F -_0808A95E: - pop {r1} - bx r1 - thumb_func_end GetDoorSoundEffect - - thumb_func_start sub_808A964 -sub_808A964: @ 808A964 - push {lr} - ldr r0, =0x00004002 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0808A990 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x4] - ldr r0, =0x0000101a - cmp r1, r0 - bne _0808A990 - movs r0, 0x1 - b _0808A992 - .pool -_0808A990: - movs r0, 0 -_0808A992: - pop {r1} - bx r1 - thumb_func_end sub_808A964 - - .align 2, 0 @ Don't pad with nop. diff --git a/data/field_door.s b/data/field_door.s deleted file mode 100644 index 85c1ae919..000000000 --- a/data/field_door.s +++ /dev/null @@ -1,614 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2 - -DoorAnimTiles_04:: - .incbin "graphics/door_anims/04/0.4bpp" - .incbin "graphics/door_anims/04/1.4bpp" - .incbin "graphics/door_anims/04/2.4bpp" - - .space 32 - -DoorAnimTiles_05:: - .incbin "graphics/door_anims/05/0.4bpp" - .incbin "graphics/door_anims/05/1.4bpp" - .incbin "graphics/door_anims/05/2.4bpp" - - .space 32 - -DoorAnimTiles_08:: - .incbin "graphics/door_anims/08/0.4bpp" - .incbin "graphics/door_anims/08/1.4bpp" - .incbin "graphics/door_anims/08/2.4bpp" - - .space 32 - -DoorAnimTiles_15:: - .incbin "graphics/door_anims/15/0.4bpp" - .incbin "graphics/door_anims/15/1.4bpp" - .incbin "graphics/door_anims/15/2.4bpp" - - .space 32 - -DoorAnimTiles_16:: - .incbin "graphics/door_anims/16/0.4bpp" - .incbin "graphics/door_anims/16/1.4bpp" - .incbin "graphics/door_anims/16/2.4bpp" - - .space 32 - -DoorAnimTiles_00:: - .incbin "graphics/door_anims/00/0.4bpp" - .incbin "graphics/door_anims/00/1.4bpp" - .incbin "graphics/door_anims/00/2.4bpp" - - .space 32 - -DoorAnimTiles_01:: - .incbin "graphics/door_anims/01/0.4bpp" - .incbin "graphics/door_anims/01/1.4bpp" - .incbin "graphics/door_anims/01/2.4bpp" - -DoorAnimTiles_02:: - .incbin "graphics/door_anims/02/0.4bpp" - .incbin "graphics/door_anims/02/1.4bpp" - .incbin "graphics/door_anims/02/2.4bpp" - -DoorAnimTiles_03:: - .incbin "graphics/door_anims/03/0.4bpp" - .incbin "graphics/door_anims/03/1.4bpp" - .incbin "graphics/door_anims/03/2.4bpp" - -DoorAnimTiles_06:: - .incbin "graphics/door_anims/06/0.4bpp" - .incbin "graphics/door_anims/06/1.4bpp" - .incbin "graphics/door_anims/06/2.4bpp" - - .space 32 - -DoorAnimTiles_07:: - .incbin "graphics/door_anims/07/0.4bpp" - .incbin "graphics/door_anims/07/1.4bpp" - .incbin "graphics/door_anims/07/2.4bpp" - - .space 32 - -DoorAnimTiles_09:: - .incbin "graphics/door_anims/09/0.4bpp" - .incbin "graphics/door_anims/09/1.4bpp" - .incbin "graphics/door_anims/09/2.4bpp" - - .space 0x5900 - - .incbin "graphics/door_anims/unused_848EDEC/0_top.4bpp" - .incbin "graphics/door_anims/unused_848EDEC/1_top.4bpp" - .incbin "graphics/door_anims/unused_848EDEC/2_top.4bpp" - - .space 0x140 - - .incbin "graphics/door_anims/unused_848EDEC/0_bottom.4bpp" - .incbin "graphics/door_anims/unused_848EDEC/1_bottom.4bpp" - .incbin "graphics/door_anims/unused_848EDEC/2_bottom.4bpp" - - .space 32 - -DoorAnimTiles_10:: - .incbin "graphics/door_anims/10/0.4bpp" - .incbin "graphics/door_anims/10/1.4bpp" - .incbin "graphics/door_anims/10/2.4bpp" - - .space 32 - -DoorAnimTiles_11:: - .incbin "graphics/door_anims/11/0.4bpp" - .incbin "graphics/door_anims/11/1.4bpp" - .incbin "graphics/door_anims/11/2.4bpp" - - .space 32 - -DoorAnimTiles_12:: - .incbin "graphics/door_anims/12/0.4bpp" - .incbin "graphics/door_anims/12/1.4bpp" - .incbin "graphics/door_anims/12/2.4bpp" - - .space 32 - -DoorAnimTiles_13:: - .incbin "graphics/door_anims/13/0.4bpp" - .incbin "graphics/door_anims/13/1.4bpp" - .incbin "graphics/door_anims/13/2.4bpp" - - .space 32 - -DoorAnimTiles_14:: - .incbin "graphics/door_anims/14/0.4bpp" - .incbin "graphics/door_anims/14/1.4bpp" - .incbin "graphics/door_anims/14/2.4bpp" - - .space 32 - -DoorAnimTiles_17:: - .incbin "graphics/door_anims/17/0.4bpp" - .incbin "graphics/door_anims/17/1.4bpp" - .incbin "graphics/door_anims/17/2.4bpp" - - .space 32 - -DoorAnimTiles_18:: - .incbin "graphics/door_anims/18/0.4bpp" - .incbin "graphics/door_anims/18/1.4bpp" - .incbin "graphics/door_anims/18/2.4bpp" - - .space 32 - -DoorAnimTiles_19:: - .incbin "graphics/door_anims/19/0.4bpp" - .incbin "graphics/door_anims/19/1.4bpp" - .incbin "graphics/door_anims/19/2.4bpp" - - .space 32 - -DoorAnimTiles_20:: - .incbin "graphics/door_anims/20/0.4bpp" - .incbin "graphics/door_anims/20/1.4bpp" - .incbin "graphics/door_anims/20/2.4bpp" - - .space 32 - -DoorAnimTiles_21:: - .incbin "graphics/door_anims/21/0.4bpp" - .incbin "graphics/door_anims/21/1.4bpp" - .incbin "graphics/door_anims/21/2.4bpp" - - .space 32 - -DoorAnimTiles_22:: - .incbin "graphics/door_anims/22/0.4bpp" - .incbin "graphics/door_anims/22/1.4bpp" - .incbin "graphics/door_anims/22/2.4bpp" - - .space 32 - -DoorAnimTiles_23:: - .incbin "graphics/door_anims/23/0.4bpp" - .incbin "graphics/door_anims/23/1.4bpp" - .incbin "graphics/door_anims/23/2.4bpp" - - .space 32 - -DoorAnimTiles_24:: - .incbin "graphics/door_anims/24/0.4bpp" - .incbin "graphics/door_anims/24/1.4bpp" - .incbin "graphics/door_anims/24/2.4bpp" - - .space 32 - -DoorAnimTiles_25:: - .incbin "graphics/door_anims/25/0.4bpp" - .incbin "graphics/door_anims/25/1.4bpp" - .incbin "graphics/door_anims/25/2.4bpp" - - .space 32 - -DoorAnimTiles_26:: - .incbin "graphics/door_anims/26/0.4bpp" - .incbin "graphics/door_anims/26/1.4bpp" - .incbin "graphics/door_anims/26/2.4bpp" - - .space 32 - -DoorAnimTiles_27:: - .incbin "graphics/door_anims/27/0.4bpp" - .incbin "graphics/door_anims/27/1.4bpp" - .incbin "graphics/door_anims/27/2.4bpp" - - .space 32 - -DoorAnimTiles_28:: - .incbin "graphics/door_anims/28/0.4bpp" - .incbin "graphics/door_anims/28/1.4bpp" - .incbin "graphics/door_anims/28/2.4bpp" - - .space 32 - -DoorAnimTiles_29:: - .incbin "graphics/door_anims/29/0.4bpp" - .incbin "graphics/door_anims/29/1.4bpp" - .incbin "graphics/door_anims/29/2.4bpp" - - .space 32 - -DoorAnimTiles_30:: - .incbin "graphics/door_anims/30/0.4bpp" - .incbin "graphics/door_anims/30/1.4bpp" - .incbin "graphics/door_anims/30/2.4bpp" - - .space 32 - -DoorAnimTiles_31:: - .incbin "graphics/door_anims/31/0.4bpp" - .incbin "graphics/door_anims/31/1.4bpp" - .incbin "graphics/door_anims/31/2.4bpp" - - .space 32 - -DoorAnimTiles_32:: - .incbin "graphics/door_anims/32/0.4bpp" - .incbin "graphics/door_anims/32/1.4bpp" - .incbin "graphics/door_anims/32/2.4bpp" - - .space 32 - -DoorAnimTiles_33:: - .incbin "graphics/door_anims/33/0.4bpp" - .incbin "graphics/door_anims/33/1.4bpp" - .incbin "graphics/door_anims/33/2.4bpp" - - .space 32 - -DoorAnimTiles_34:: - .incbin "graphics/door_anims/34/0.4bpp" - .incbin "graphics/door_anims/34/1.4bpp" - .incbin "graphics/door_anims/34/2.4bpp" - - .space 32 - -DoorAnimTiles_35:: - .incbin "graphics/door_anims/35/0.4bpp" - .incbin "graphics/door_anims/35/1.4bpp" - .incbin "graphics/door_anims/35/2.4bpp" - - .space 32 - -DoorAnimTiles_36:: - .incbin "graphics/door_anims/36/0.4bpp" - .incbin "graphics/door_anims/36/1.4bpp" - .incbin "graphics/door_anims/36/2.4bpp" - - .space 32 - -DoorAnimTiles_37:: - .incbin "graphics/door_anims/37/0.4bpp" - .incbin "graphics/door_anims/37/1.4bpp" - .incbin "graphics/door_anims/37/2.4bpp" - - .space 32 - -DoorAnimTiles_38:: - .incbin "graphics/door_anims/38/0.4bpp" - .incbin "graphics/door_anims/38/1.4bpp" - .incbin "graphics/door_anims/38/2.4bpp" - - .space 32 - -DoorAnimTiles_39:: - .incbin "graphics/door_anims/39/0.4bpp" - .incbin "graphics/door_anims/39/1.4bpp" - .incbin "graphics/door_anims/39/2.4bpp" - - .space 32 - -DoorAnimTiles_40:: - .incbin "graphics/door_anims/40/0.4bpp" - .incbin "graphics/door_anims/40/1.4bpp" - .incbin "graphics/door_anims/40/2.4bpp" - - .space 32 - -DoorAnimTiles_41:: - .incbin "graphics/door_anims/41/0.4bpp" - .incbin "graphics/door_anims/41/1.4bpp" - .incbin "graphics/door_anims/41/2.4bpp" - -DoorAnimTiles_42:: - .incbin "graphics/door_anims/42/0.4bpp" - .incbin "graphics/door_anims/42/1.4bpp" - .incbin "graphics/door_anims/42/2.4bpp" - .incbin "graphics/door_anims/42/3.4bpp" - - .space 32 - -DoorAnimTiles_43:: - .incbin "graphics/door_anims/43/0.4bpp" - .incbin "graphics/door_anims/43/1.4bpp" - .incbin "graphics/door_anims/43/2.4bpp" - - .space 32 - -DoorAnimTiles_44:: - .incbin "graphics/door_anims/44/0_left.4bpp" - .incbin "graphics/door_anims/44/0_right.4bpp" - .incbin "graphics/door_anims/44/1_left.4bpp" - .incbin "graphics/door_anims/44/1_right.4bpp" - .incbin "graphics/door_anims/44/2_left.4bpp" - .incbin "graphics/door_anims/44/2_right.4bpp" - - .space 32 - -DoorAnimTiles_45:: - .incbin "graphics/door_anims/45/0.4bpp" - .incbin "graphics/door_anims/45/1.4bpp" - .incbin "graphics/door_anims/45/2.4bpp" - - .space 32 - -DoorAnimTiles_46:: - .incbin "graphics/door_anims/46/0.4bpp" - .incbin "graphics/door_anims/46/1.4bpp" - .incbin "graphics/door_anims/46/2.4bpp" - - .space 32 - -DoorAnimTiles_47:: - .incbin "graphics/door_anims/47/0.4bpp" - .incbin "graphics/door_anims/47/1.4bpp" - .incbin "graphics/door_anims/47/2.4bpp" - - .space 32 - -DoorAnimTiles_48:: - .incbin "graphics/door_anims/48/0.4bpp" - .incbin "graphics/door_anims/48/1.4bpp" - .incbin "graphics/door_anims/48/2.4bpp" - .incbin "graphics/door_anims/48/3.4bpp" - - .space 32 - -DoorAnimTiles_49:: - .incbin "graphics/door_anims/49/0.4bpp" - .incbin "graphics/door_anims/49/1.4bpp" - .incbin "graphics/door_anims/49/2.4bpp" - - .space 32 - -DoorAnimTiles_50:: - .incbin "graphics/door_anims/50/0.4bpp" - .incbin "graphics/door_anims/50/1.4bpp" - .incbin "graphics/door_anims/50/2.4bpp" - - .space 32 - - .align 2 -gUnknown_08496F8C:: @ 8496F8C - door_anim_frame 4, -1 - door_anim_frame 4, 0 - door_anim_frame 4, 0x100 - door_anim_frame 4, 0x200 - door_anim_frame 0, 0 - - .align 2 -gUnknown_08496FA0:: @ 8496FA0 - door_anim_frame 4, 0x200 - door_anim_frame 4, 0x100 - door_anim_frame 4, 0 - door_anim_frame 4, -1 - door_anim_frame 0, 0 - - .align 2 -gUnknown_08496FB4:: @ 8496FB4 - door_anim_frame 4, -1 - door_anim_frame 4, 0 - door_anim_frame 4, 0x200 - door_anim_frame 4, 0x400 - door_anim_frame 0, 0 - - .align 2 -gUnknown_08496FC8:: @ 8496FB4 - door_anim_frame 4, 0x400 - door_anim_frame 4, 0x200 - door_anim_frame 4, 0 - door_anim_frame 4, -1 - door_anim_frame 0, 0 - -DoorAnimPalettes_8496FDC:: @ 8496FDC - .byte 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 - -DoorAnimPalettes_8496FE4:: @ 8496FE4 - .byte 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 - -DoorAnimPalettes_8496FEC:: @ 8496FEC - .byte 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05 - -DoorAnimPalettes_8496FF4:: @ 8496FF4 - .byte 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 - -DoorAnimPalettes_8496FFC:: @ 8496FFC - .byte 0x0a, 0x0a, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06 - -DoorAnimPalettes_8497004:: @ 8497004 - .byte 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08 - -DoorAnimPalettes_849700C:: @ 849700C - .byte 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b - -DoorAnimPalettes_8497014:: @ 8497014 - .byte 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a - -DoorAnimPalettes_849701C:: @ 849701C - .byte 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07 - -DoorAnimPalettes_8497024:: @ 8497024 - .byte 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08 - -DoorAnimPalettes_849702C:: @ 849702C - .byte 0x0a, 0x0a, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09 - -DoorAnimPalettes_8497034:: @ 8497034 - .byte 0x09, 0x09, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 - -DoorAnimPalettes_849703C:: @ 849703C - .byte 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08 - -DoorAnimPalettes_8497044:: @ 8497044 - .byte 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09 - -DoorAnimPalettes_849704C:: @ 849704C - .byte 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06 - -DoorAnimPalettes_8497054:: @ 8497054 - .byte 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06 - -DoorAnimPalettes_849705C:: @ 849705C - .byte 0x00, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05 - -DoorAnimPalettes_8497064:: @ 8497064 - .byte 0x06, 0x06, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 - -DoorAnimPalettes_849706C:: @ 849706C - .byte 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07 - -DoorAnimPalettes_8497074:: @ 8497074 - .byte 0x06, 0x06, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05 - -DoorAnimPalettes_849707C:: @ 849707C - .byte 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05 - -DoorAnimPalettes_8497084:: @ 8497084 - .byte 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 - -DoorAnimPalettes_849708C:: @ 849708C - .byte 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06 - -DoorAnimPalettes_8497094:: @ 8497094 - .byte 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07 - -DoorAnimPalettes_849709C:: @ 849709C - .byte 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05 - -DoorAnimPalettes_84970A4:: @ 84970A4 - .byte 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09 - -DoorAnimPalettes_84970AC:: @ 84970AC - .byte 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08 - -DoorAnimPalettes_84970B4:: @ 84970B4 - .byte 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06 - -DoorAnimPalettes_84970BC:: @ 84970BC - .byte 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07 - -DoorAnimPalettes_84970C4:: @ 84970C4 - .byte 0x0b, 0x0b, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07 - -DoorAnimPalettes_84970CC:: @ 84970CC - .byte 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07 - -DoorAnimPalettes_84970D4:: @ 84970D4 - .byte 0x06, 0x06, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07 - -DoorAnimPalettes_84970DC:: @ 84970DC - .byte 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09 - -DoorAnimPalettes_84970E4:: @ 84970E4 - .byte 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07 - -DoorAnimPalettes_84970EC:: @ 84970EC - .byte 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09 - -DoorAnimPalettes_84970F4:: @ 84970F4 - .byte 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 - -DoorAnimPalettes_84970FC:: @ 84970FC - .byte 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09 - -DoorAnimPalettes_8497104:: @ 8497104 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - -DoorAnimPalettes_849710C:: @ 849710C - .byte 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05 - -DoorAnimPalettes_8497114:: @ 8497114 - .byte 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07 - -DoorAnimPalettes_849711C:: @ 849711C - .byte 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07 - -DoorAnimPalettes_8497124:: @ 8497124 - .byte 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07 - -DoorAnimPalettes_849712C:: @ 849712C - .byte 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 - -DoorAnimPalettes_8497134:: @ 8497134 - .byte 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07 - -DoorAnimPalettes_849713C:: @ 849713C - .byte 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07 - -DoorAnimPalettes_8497144:: @ 8497144 - .byte 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 - -DoorAnimPalettes_849714C:: @ 849714C - .byte 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 - -DoorAnimPalettes_8497154:: @ 8497154 - .byte 0x09, 0x09, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07 - -DoorAnimPalettes_849715C:: @ 849715C - .byte 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09 - -DoorAnimPalettes_8497164:: @ 8497164 - .byte 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07 - -DoorAnimPalettes_849716C:: @ 849716C - .byte 0x09, 0x09, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07 - - .align 2 -gUnknown_08497174:: @ 8497174 - door_anim_gfx 0x0021, 0x00, 0x01, DoorAnimTiles_00, DoorAnimPalettes_8496FDC - door_anim_gfx 0x0061, 0x01, 0x01, DoorAnimTiles_01, DoorAnimPalettes_8496FE4 - door_anim_gfx 0x01cd, 0x01, 0x01, DoorAnimTiles_02, DoorAnimPalettes_8496FEC - door_anim_gfx 0x0041, 0x01, 0x01, DoorAnimTiles_03, DoorAnimPalettes_8496FF4 - door_anim_gfx 0x0248, 0x00, 0x01, DoorAnimTiles_04, DoorAnimPalettes_8496FFC - door_anim_gfx 0x0249, 0x00, 0x01, DoorAnimTiles_05, DoorAnimPalettes_8497004 - door_anim_gfx 0x022f, 0x00, 0x01, DoorAnimTiles_06, DoorAnimPalettes_849700C - door_anim_gfx 0x021f, 0x00, 0x01, DoorAnimTiles_07, DoorAnimPalettes_8497014 - door_anim_gfx 0x02a5, 0x00, 0x01, DoorAnimTiles_08, DoorAnimPalettes_849701C - door_anim_gfx 0x0287, 0x00, 0x01, DoorAnimTiles_09, DoorAnimPalettes_849702C - door_anim_gfx 0x02ac, 0x00, 0x01, DoorAnimTiles_10, DoorAnimPalettes_849706C - door_anim_gfx 0x03a1, 0x00, 0x01, DoorAnimTiles_11, DoorAnimPalettes_8497074 - door_anim_gfx 0x02dc, 0x00, 0x01, DoorAnimTiles_12, DoorAnimPalettes_8497064 - door_anim_gfx 0x0225, 0x00, 0x01, DoorAnimTiles_13, DoorAnimPalettes_849705C - door_anim_gfx 0x01db, 0x01, 0x01, DoorAnimTiles_14, DoorAnimPalettes_8497084 - door_anim_gfx 0x0246, 0x00, 0x01, DoorAnimTiles_15, DoorAnimPalettes_8497024 - door_anim_gfx 0x028e, 0x00, 0x01, DoorAnimTiles_16, DoorAnimPalettes_849707C - door_anim_gfx 0x02a1, 0x00, 0x01, DoorAnimTiles_17, DoorAnimPalettes_8497034 - door_anim_gfx 0x021c, 0x00, 0x01, DoorAnimTiles_18, DoorAnimPalettes_849704C - door_anim_gfx 0x021e, 0x00, 0x01, DoorAnimTiles_19, DoorAnimPalettes_8497054 - door_anim_gfx 0x021d, 0x01, 0x01, DoorAnimTiles_20, DoorAnimPalettes_849703C - door_anim_gfx 0x021a, 0x00, 0x01, DoorAnimTiles_21, DoorAnimPalettes_8497044 - door_anim_gfx 0x0224, 0x00, 0x01, DoorAnimTiles_22, DoorAnimPalettes_849708C - door_anim_gfx 0x0289, 0x00, 0x01, DoorAnimTiles_23, DoorAnimPalettes_8497094 - door_anim_gfx 0x030c, 0x01, 0x01, DoorAnimTiles_24, DoorAnimPalettes_849709C - door_anim_gfx 0x032d, 0x01, 0x01, DoorAnimTiles_25, DoorAnimPalettes_84970A4 - door_anim_gfx 0x02ed, 0x01, 0x01, DoorAnimTiles_26, DoorAnimPalettes_84970AC - door_anim_gfx 0x0264, 0x01, 0x01, DoorAnimTiles_27, DoorAnimPalettes_84970B4 - door_anim_gfx 0x022b, 0x00, 0x01, DoorAnimTiles_28, DoorAnimPalettes_84970BC - door_anim_gfx 0x02f7, 0x00, 0x01, DoorAnimTiles_29, DoorAnimPalettes_84970C4 - door_anim_gfx 0x0297, 0x00, 0x01, DoorAnimTiles_30, DoorAnimPalettes_84970CC - door_anim_gfx 0x0285, 0x01, 0x01, DoorAnimTiles_31, DoorAnimPalettes_84970D4 - door_anim_gfx 0x025d, 0x01, 0x01, DoorAnimTiles_32, DoorAnimPalettes_84970DC - door_anim_gfx 0x020e, 0x01, 0x01, DoorAnimTiles_33, DoorAnimPalettes_84970E4 - door_anim_gfx 0x03b0, 0x01, 0x01, DoorAnimTiles_34, DoorAnimPalettes_84970EC - door_anim_gfx 0x028a, 0x01, 0x01, DoorAnimTiles_35, DoorAnimPalettes_84970F4 - door_anim_gfx 0x0263, 0x01, 0x01, DoorAnimTiles_36, DoorAnimPalettes_84970FC - door_anim_gfx 0x0329, 0x01, 0x01, DoorAnimTiles_37, DoorAnimPalettes_8497104 - door_anim_gfx 0x0291, 0x00, 0x01, DoorAnimTiles_38, DoorAnimPalettes_849710C - door_anim_gfx 0x021b, 0x02, 0x01, DoorAnimTiles_39, DoorAnimPalettes_8497114 - door_anim_gfx 0x0209, 0x01, 0x01, DoorAnimTiles_40, DoorAnimPalettes_849711C - door_anim_gfx 0x0219, 0x00, 0x01, DoorAnimTiles_41, DoorAnimPalettes_8497124 - door_anim_gfx 0x0393, 0x01, 0x01, DoorAnimTiles_42, DoorAnimPalettes_849712C - door_anim_gfx 0x03d4, 0x01, 0x01, DoorAnimTiles_42, DoorAnimPalettes_849712C - door_anim_gfx 0x036c, 0x01, 0x01, DoorAnimTiles_42, DoorAnimPalettes_849712C - door_anim_gfx 0x025e, 0x01, 0x01, DoorAnimTiles_43, DoorAnimPalettes_8497134 - door_anim_gfx 0x02ad, 0x01, 0x02, DoorAnimTiles_44, DoorAnimPalettes_849713C - door_anim_gfx 0x03fc, 0x00, 0x01, DoorAnimTiles_45, DoorAnimPalettes_849714C - door_anim_gfx 0x0396, 0x01, 0x01, DoorAnimTiles_46, DoorAnimPalettes_849714C - door_anim_gfx 0x020a, 0x01, 0x01, DoorAnimTiles_47, DoorAnimPalettes_8497154 - door_anim_gfx 0x026b, 0x01, 0x01, DoorAnimTiles_48, DoorAnimPalettes_849715C - door_anim_gfx 0x032c, 0x01, 0x01, DoorAnimTiles_49, DoorAnimPalettes_8497164 - door_anim_gfx 0x0383, 0x01, 0x01, DoorAnimTiles_50, DoorAnimPalettes_849716C - door_anim_gfx 0x0000, 0x00, 0x00, NULL, NULL - diff --git a/include/field_camera.h b/include/field_camera.h index a8559e1c2..f68c67854 100644 --- a/include/field_camera.h +++ b/include/field_camera.h @@ -24,5 +24,6 @@ extern u16 gUnknown_03005DE8; void DrawWholeMapView(void); void CurrentMapDrawMetatileAt(int x, int y); +void DrawDoorMetatileAt(int x, int y, u16 *arr); #endif //GUARD_FIELD_CAMERA_H diff --git a/include/field_door.h b/include/field_door.h index f1dfc551d..dd039a5c2 100644 --- a/include/field_door.h +++ b/include/field_door.h @@ -1,11 +1,27 @@ #ifndef GUARD_FIELDDOOR_H #define GUARD_FIELDDOOR_H +struct DoorGraphics +{ + u16 metatileNum; + u8 sound; + u8 size; + const void *tiles; + const void *palette; +}; + +struct DoorAnimFrame +{ + u8 time; + u16 offset; +}; + void FieldSetDoorOpened(u32, u32); void FieldSetDoorClosed(u32, u32); s8 FieldAnimateDoorClose(u32, u32); s8 FieldAnimateDoorOpen(u32, u32); bool8 FieldIsDoorAnimationRunning(void); u32 GetDoorSoundEffect(u32 x, u32 y); +bool8 sub_808A964(void); #endif diff --git a/ld_script.txt b/ld_script.txt index 4a4e41058..e7a8f81f7 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -92,7 +92,7 @@ SECTIONS { asm/fieldmap.o(.text); src/metatile_behavior.o(.text); asm/field_camera.o(.text); - asm/field_door.o(.text); + src/field_door.o(.text); asm/field_player_avatar.o(.text); src/field_map_obj.o(.text); asm/field_ground_effect.o(.text); @@ -363,7 +363,7 @@ SECTIONS { data/maps.o(.rodata); data/fieldmap.o(.rodata); src/metatile_behavior.o(.rodata); - data/field_door.o(.rodata); + src/field_door.o(.rodata); data/field_player_avatar.o(.rodata); data/field_map_obj.o(.rodata); data/field_ground_effect.o(.rodata); diff --git a/src/field_door.c b/src/field_door.c new file mode 100644 index 000000000..38c031264 --- /dev/null +++ b/src/field_door.c @@ -0,0 +1,896 @@ +#include "global.h" +#include "field_door.h" +#include "field_camera.h" +#include "fieldmap.h" +#include "metatile_behavior.h" +#include "event_data.h" +#include "constants/songs.h" +#include "constants/flags.h" +#include "constants/maps.h" +#include "task.h" + +const u8 DoorAnimTiles_04[][0x100] = +{ + INCBIN_U8("graphics/door_anims/04/0.4bpp"), + INCBIN_U8("graphics/door_anims/04/1.4bpp"), + INCBIN_U8("graphics/door_anims/04/2.4bpp"), +}; + +// TODO: Make these blank palette includes? +asm(".space 32"); + +const u8 DoorAnimTiles_05[][0x100] = +{ + INCBIN_U8("graphics/door_anims/05/0.4bpp"), + INCBIN_U8("graphics/door_anims/05/1.4bpp"), + INCBIN_U8("graphics/door_anims/05/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_08[][0x100] = +{ + INCBIN_U8("graphics/door_anims/08/0.4bpp"), + INCBIN_U8("graphics/door_anims/08/1.4bpp"), + INCBIN_U8("graphics/door_anims/08/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_15[][0x100] = +{ + INCBIN_U8("graphics/door_anims/15/0.4bpp"), + INCBIN_U8("graphics/door_anims/15/1.4bpp"), + INCBIN_U8("graphics/door_anims/15/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_16[][0x100] = +{ + INCBIN_U8("graphics/door_anims/16/0.4bpp"), + INCBIN_U8("graphics/door_anims/16/1.4bpp"), + INCBIN_U8("graphics/door_anims/16/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_00[][0x100] = +{ + INCBIN_U8("graphics/door_anims/00/0.4bpp"), + INCBIN_U8("graphics/door_anims/00/1.4bpp"), + INCBIN_U8("graphics/door_anims/00/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_01[][0x100] = +{ + INCBIN_U8("graphics/door_anims/01/0.4bpp"), + INCBIN_U8("graphics/door_anims/01/1.4bpp"), + INCBIN_U8("graphics/door_anims/01/2.4bpp"), +}; + +const u8 DoorAnimTiles_02[][0x100] = +{ + INCBIN_U8("graphics/door_anims/02/0.4bpp"), + INCBIN_U8("graphics/door_anims/02/1.4bpp"), + INCBIN_U8("graphics/door_anims/02/2.4bpp"), +}; + +const u8 DoorAnimTiles_03[][0x100] = +{ + INCBIN_U8("graphics/door_anims/03/0.4bpp"), + INCBIN_U8("graphics/door_anims/03/1.4bpp"), + INCBIN_U8("graphics/door_anims/03/2.4bpp"), +}; + +const u8 DoorAnimTiles_06[][0x100] = +{ + INCBIN_U8("graphics/door_anims/06/0.4bpp"), + INCBIN_U8("graphics/door_anims/06/1.4bpp"), + INCBIN_U8("graphics/door_anims/06/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_07[][0x100] = +{ + INCBIN_U8("graphics/door_anims/07/0.4bpp"), + INCBIN_U8("graphics/door_anims/07/1.4bpp"), + INCBIN_U8("graphics/door_anims/07/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_09[][0x100] = +{ + INCBIN_U8("graphics/door_anims/09/0.4bpp"), + INCBIN_U8("graphics/door_anims/09/1.4bpp"), + INCBIN_U8("graphics/door_anims/09/2.4bpp"), +}; + +asm(".space 0x5900"); + +const u8 DoorAnimTiles_UnusedTops[][0x40] = +{ + INCBIN_U8("graphics/door_anims/unused_848EDEC/0_top.4bpp"), + INCBIN_U8("graphics/door_anims/unused_848EDEC/1_top.4bpp"), + INCBIN_U8("graphics/door_anims/unused_848EDEC/2_top.4bpp"), +}; + +asm(".space 0x140"); + +const u8 DoorAnimTiles_UnusedBottoms[][0x40] = +{ + INCBIN_U8("graphics/door_anims/unused_848EDEC/0_bottom.4bpp"), + INCBIN_U8("graphics/door_anims/unused_848EDEC/1_bottom.4bpp"), + INCBIN_U8("graphics/door_anims/unused_848EDEC/2_bottom.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_10[][0x100] = +{ + INCBIN_U8("graphics/door_anims/10/0.4bpp"), + INCBIN_U8("graphics/door_anims/10/1.4bpp"), + INCBIN_U8("graphics/door_anims/10/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_11[][0x100] = +{ + INCBIN_U8("graphics/door_anims/11/0.4bpp"), + INCBIN_U8("graphics/door_anims/11/1.4bpp"), + INCBIN_U8("graphics/door_anims/11/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_12[][0x100] = +{ + INCBIN_U8("graphics/door_anims/12/0.4bpp"), + INCBIN_U8("graphics/door_anims/12/1.4bpp"), + INCBIN_U8("graphics/door_anims/12/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_13[][0x100] = +{ + INCBIN_U8("graphics/door_anims/13/0.4bpp"), + INCBIN_U8("graphics/door_anims/13/1.4bpp"), + INCBIN_U8("graphics/door_anims/13/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_14[][0x100] = +{ + INCBIN_U8("graphics/door_anims/14/0.4bpp"), + INCBIN_U8("graphics/door_anims/14/1.4bpp"), + INCBIN_U8("graphics/door_anims/14/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_17[][0x100] = +{ + INCBIN_U8("graphics/door_anims/17/0.4bpp"), + INCBIN_U8("graphics/door_anims/17/1.4bpp"), + INCBIN_U8("graphics/door_anims/17/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_18[][0x100] = +{ + INCBIN_U8("graphics/door_anims/18/0.4bpp"), + INCBIN_U8("graphics/door_anims/18/1.4bpp"), + INCBIN_U8("graphics/door_anims/18/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_19[][0x100] = +{ + INCBIN_U8("graphics/door_anims/19/0.4bpp"), + INCBIN_U8("graphics/door_anims/19/1.4bpp"), + INCBIN_U8("graphics/door_anims/19/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_20[][0x100] = +{ + INCBIN_U8("graphics/door_anims/20/0.4bpp"), + INCBIN_U8("graphics/door_anims/20/1.4bpp"), + INCBIN_U8("graphics/door_anims/20/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_21[][0x100] = +{ + INCBIN_U8("graphics/door_anims/21/0.4bpp"), + INCBIN_U8("graphics/door_anims/21/1.4bpp"), + INCBIN_U8("graphics/door_anims/21/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_22[][0x100] = +{ + INCBIN_U8("graphics/door_anims/22/0.4bpp"), + INCBIN_U8("graphics/door_anims/22/1.4bpp"), + INCBIN_U8("graphics/door_anims/22/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_23[][0x100] = +{ + INCBIN_U8("graphics/door_anims/23/0.4bpp"), + INCBIN_U8("graphics/door_anims/23/1.4bpp"), + INCBIN_U8("graphics/door_anims/23/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_24[][0x100] = +{ + INCBIN_U8("graphics/door_anims/24/0.4bpp"), + INCBIN_U8("graphics/door_anims/24/1.4bpp"), + INCBIN_U8("graphics/door_anims/24/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_25[][0x100] = +{ + INCBIN_U8("graphics/door_anims/25/0.4bpp"), + INCBIN_U8("graphics/door_anims/25/1.4bpp"), + INCBIN_U8("graphics/door_anims/25/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_26[][0x100] = +{ + INCBIN_U8("graphics/door_anims/26/0.4bpp"), + INCBIN_U8("graphics/door_anims/26/1.4bpp"), + INCBIN_U8("graphics/door_anims/26/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_27[][0x100] = +{ + INCBIN_U8("graphics/door_anims/27/0.4bpp"), + INCBIN_U8("graphics/door_anims/27/1.4bpp"), + INCBIN_U8("graphics/door_anims/27/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_28[][0x100] = +{ + INCBIN_U8("graphics/door_anims/28/0.4bpp"), + INCBIN_U8("graphics/door_anims/28/1.4bpp"), + INCBIN_U8("graphics/door_anims/28/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_29[][0x100] = +{ + INCBIN_U8("graphics/door_anims/29/0.4bpp"), + INCBIN_U8("graphics/door_anims/29/1.4bpp"), + INCBIN_U8("graphics/door_anims/29/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_30[][0x100] = +{ + INCBIN_U8("graphics/door_anims/30/0.4bpp"), + INCBIN_U8("graphics/door_anims/30/1.4bpp"), + INCBIN_U8("graphics/door_anims/30/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_31[][0x100] = +{ + INCBIN_U8("graphics/door_anims/31/0.4bpp"), + INCBIN_U8("graphics/door_anims/31/1.4bpp"), + INCBIN_U8("graphics/door_anims/31/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_32[][0x100] = +{ + INCBIN_U8("graphics/door_anims/32/0.4bpp"), + INCBIN_U8("graphics/door_anims/32/1.4bpp"), + INCBIN_U8("graphics/door_anims/32/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_33[][0x100] = +{ + INCBIN_U8("graphics/door_anims/33/0.4bpp"), + INCBIN_U8("graphics/door_anims/33/1.4bpp"), + INCBIN_U8("graphics/door_anims/33/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_34[][0x100] = +{ + INCBIN_U8("graphics/door_anims/34/0.4bpp"), + INCBIN_U8("graphics/door_anims/34/1.4bpp"), + INCBIN_U8("graphics/door_anims/34/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_35[][0x100] = +{ + INCBIN_U8("graphics/door_anims/35/0.4bpp"), + INCBIN_U8("graphics/door_anims/35/1.4bpp"), + INCBIN_U8("graphics/door_anims/35/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_36[][0x100] = +{ + INCBIN_U8("graphics/door_anims/36/0.4bpp"), + INCBIN_U8("graphics/door_anims/36/1.4bpp"), + INCBIN_U8("graphics/door_anims/36/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_37[][0x100] = +{ + INCBIN_U8("graphics/door_anims/37/0.4bpp"), + INCBIN_U8("graphics/door_anims/37/1.4bpp"), + INCBIN_U8("graphics/door_anims/37/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_38[][0x100] = +{ + INCBIN_U8("graphics/door_anims/38/0.4bpp"), + INCBIN_U8("graphics/door_anims/38/1.4bpp"), + INCBIN_U8("graphics/door_anims/38/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_39[][0x100] = +{ + INCBIN_U8("graphics/door_anims/39/0.4bpp"), + INCBIN_U8("graphics/door_anims/39/1.4bpp"), + INCBIN_U8("graphics/door_anims/39/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_40[][0x100] = +{ + INCBIN_U8("graphics/door_anims/40/0.4bpp"), + INCBIN_U8("graphics/door_anims/40/1.4bpp"), + INCBIN_U8("graphics/door_anims/40/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_41[][0x100] = +{ + INCBIN_U8("graphics/door_anims/41/0.4bpp"), + INCBIN_U8("graphics/door_anims/41/1.4bpp"), + INCBIN_U8("graphics/door_anims/41/2.4bpp"), +}; + +const u8 DoorAnimTiles_42[][0x100] = +{ + INCBIN_U8("graphics/door_anims/42/0.4bpp"), + INCBIN_U8("graphics/door_anims/42/1.4bpp"), + INCBIN_U8("graphics/door_anims/42/2.4bpp"), + INCBIN_U8("graphics/door_anims/42/3.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_43[][0x100] = +{ + INCBIN_U8("graphics/door_anims/43/0.4bpp"), + INCBIN_U8("graphics/door_anims/43/1.4bpp"), + INCBIN_U8("graphics/door_anims/43/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_44[][0x100] = +{ + INCBIN_U8("graphics/door_anims/44/0_left.4bpp"), + INCBIN_U8("graphics/door_anims/44/0_right.4bpp"), + INCBIN_U8("graphics/door_anims/44/1_left.4bpp"), + INCBIN_U8("graphics/door_anims/44/1_right.4bpp"), + INCBIN_U8("graphics/door_anims/44/2_left.4bpp"), + INCBIN_U8("graphics/door_anims/44/2_right.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_45[][0x100] = +{ + INCBIN_U8("graphics/door_anims/45/0.4bpp"), + INCBIN_U8("graphics/door_anims/45/1.4bpp"), + INCBIN_U8("graphics/door_anims/45/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_46[][0x100] = +{ + INCBIN_U8("graphics/door_anims/46/0.4bpp"), + INCBIN_U8("graphics/door_anims/46/1.4bpp"), + INCBIN_U8("graphics/door_anims/46/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_47[][0x100] = +{ + INCBIN_U8("graphics/door_anims/47/0.4bpp"), + INCBIN_U8("graphics/door_anims/47/1.4bpp"), + INCBIN_U8("graphics/door_anims/47/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_48[][0x100] = +{ + INCBIN_U8("graphics/door_anims/48/0.4bpp"), + INCBIN_U8("graphics/door_anims/48/1.4bpp"), + INCBIN_U8("graphics/door_anims/48/2.4bpp"), + INCBIN_U8("graphics/door_anims/48/3.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_49[][0x100] = +{ + INCBIN_U8("graphics/door_anims/49/0.4bpp"), + INCBIN_U8("graphics/door_anims/49/1.4bpp"), + INCBIN_U8("graphics/door_anims/49/2.4bpp"), +}; + +asm(".space 32"); + +const u8 DoorAnimTiles_50[][0x100] = +{ + INCBIN_U8("graphics/door_anims/50/0.4bpp"), + INCBIN_U8("graphics/door_anims/50/1.4bpp"), + INCBIN_U8("graphics/door_anims/50/2.4bpp"), +}; + +asm(".space 32"); + +static const struct DoorAnimFrame gDoorOpenAnimFrames[] = +{ + {4, -1}, + {4, 0}, + {4, 0x100}, + {4, 0x200}, + {0, 0}, +}; + +static const struct DoorAnimFrame gDoorCloseAnimFrames[] = +{ + {4, 0x200}, + {4, 0x100}, + {4, 0}, + {4, -1}, + {0, 0}, +}; + +static const struct DoorAnimFrame gBigDoorOpenAnimFrames[] = +{ + {4, -1}, + {4, 0}, + {4, 0x200}, + {4, 0x400}, + {0, 0}, +}; + +static const struct DoorAnimFrame gBigDoorCloseAnimFrames[] = +{ + {4, 0x400}, + {4, 0x200}, + {4, 0}, + {4, -1}, + {0, 0}, +}; + +const u8 DoorAnimPalettes_8496FDC[] = {1, 1, 1, 1, 1, 1, 1, 1}; // door 00 +const u8 DoorAnimPalettes_8496FE4[] = {1, 1, 1, 1, 1, 1, 1, 1}; // door 01 +const u8 DoorAnimPalettes_8496FEC[] = {5, 5, 5, 5, 5, 5, 5, 5}; // door 02 +const u8 DoorAnimPalettes_8496FF4[] = {0, 0, 1, 1, 1, 1, 1, 1}; // door 03 +const u8 DoorAnimPalettes_8496FFC[] = {10, 10, 6, 6, 6, 6, 6, 6}; // door 04 +const u8 DoorAnimPalettes_8497004[] = {8, 8, 8, 8, 8, 8, 8, 8}; // door 05 +const u8 DoorAnimPalettes_849700C[] = {11, 11, 11, 11, 11, 11, 11, 11}; // door 06 +const u8 DoorAnimPalettes_8497014[] = {10, 10, 10, 10, 10, 10, 10, 10}; // door 07 +const u8 DoorAnimPalettes_849701C[] = {7, 7, 7, 7, 7, 7, 7, 7}; // door 08 +const u8 DoorAnimPalettes_8497024[] = {8, 8, 8, 8, 8, 8, 8, 8}; // door 09 +const u8 DoorAnimPalettes_849702C[] = {10, 10, 9, 9, 9, 9, 9, 9}; // door 10 +const u8 DoorAnimPalettes_8497034[] = {9, 9, 1, 1, 1, 1, 1, 1}; // door 11 +const u8 DoorAnimPalettes_849703C[] = {8, 8, 8, 8, 8, 8, 8, 8}; // door 12 +const u8 DoorAnimPalettes_8497044[] = {9, 9, 9, 9, 9, 9, 9, 9}; // door 13 +const u8 DoorAnimPalettes_849704C[] = {6, 6, 6, 6, 6, 6, 6, 6}; // door 14 +const u8 DoorAnimPalettes_8497054[] = {6, 6, 6, 6, 6, 6, 6, 6}; // door 15 +const u8 DoorAnimPalettes_849705C[] = {0, 0, 5, 5, 5, 5, 5, 5}; // door 16 +const u8 DoorAnimPalettes_8497064[] = {6, 6, 1, 1, 1, 1, 1, 1}; // door 17 +const u8 DoorAnimPalettes_849706C[] = {7, 7, 7, 7, 7, 7, 7, 7}; // door 18 +const u8 DoorAnimPalettes_8497074[] = {6, 6, 5, 5, 5, 5, 5, 5}; // door 19 +const u8 DoorAnimPalettes_849707C[] = {5, 5, 5, 5, 5, 5, 5, 5}; // door 20 +const u8 DoorAnimPalettes_8497084[] = {1, 1, 1, 1, 1, 1, 1, 1}; // door 21 +const u8 DoorAnimPalettes_849708C[] = {6, 6, 6, 6, 6, 6, 6, 6}; // door 22 +const u8 DoorAnimPalettes_8497094[] = {7, 7, 7, 7, 7, 7, 7, 7}; // door 23 +const u8 DoorAnimPalettes_849709C[] = {5, 5, 5, 5, 5, 5, 5, 5}; // door 24 +const u8 DoorAnimPalettes_84970A4[] = {9, 9, 9, 9, 9, 9, 9, 9}; // door 25 +const u8 DoorAnimPalettes_84970AC[] = {8, 8, 8, 8, 8, 8, 8, 8}; // door 26 +const u8 DoorAnimPalettes_84970B4[] = {6, 6, 6, 6, 6, 6, 6, 6}; // door 27 +const u8 DoorAnimPalettes_84970BC[] = {7, 7, 7, 7, 7, 7, 7, 7}; // door 28 +const u8 DoorAnimPalettes_84970C4[] = {11, 11, 7, 7, 7, 7, 7, 7}; // door 29 +const u8 DoorAnimPalettes_84970CC[] = {7, 7, 7, 7, 7, 7, 7, 7}; // door 30 +const u8 DoorAnimPalettes_84970D4[] = {6, 6, 7, 7, 7, 7, 7, 7}; // door 31 +const u8 DoorAnimPalettes_84970DC[] = {9, 9, 9, 9, 9, 9, 9, 9}; // door 32 +const u8 DoorAnimPalettes_84970E4[] = {7, 7, 7, 7, 7, 7, 7, 7}; // door 33 +const u8 DoorAnimPalettes_84970EC[] = {9, 9, 9, 9, 9, 9, 9, 9}; // door 34 +const u8 DoorAnimPalettes_84970F4[] = {1, 1, 1, 1, 1, 1, 1, 1}; // door 35 +const u8 DoorAnimPalettes_84970FC[] = {9, 9, 9, 9, 9, 9, 9, 9}; // door 36 +const u8 DoorAnimPalettes_8497104[] = {0, 0, 0, 0, 0, 0, 0, 0}; // door 37 +const u8 DoorAnimPalettes_849710C[] = {5, 5, 5, 5, 5, 5, 5, 5}; // door 38 +const u8 DoorAnimPalettes_8497114[] = {7, 7, 7, 7, 7, 7, 7, 7}; // door 39 +const u8 DoorAnimPalettes_849711C[] = {7, 7, 7, 7, 7, 7, 7, 7}; // door 40 +const u8 DoorAnimPalettes_8497124[] = {7, 7, 7, 7, 7, 7, 7, 7}; // door 41 +const u8 DoorAnimPalettes_849712C[] = {1, 1, 1, 1, 1, 1, 1, 1}; // doors 42, 43, and 44 +const u8 DoorAnimPalettes_8497134[] = {7, 7, 7, 7, 7, 7, 7, 7}; // door 45 +const u8 DoorAnimPalettes_849713C[] = {7, 7, 7, 7, 7, 7, 7, 7}; // door 46 +const u8 DoorAnimPalettes_8497144[] = {1, 1, 1, 1, 1, 1, 1, 1}; // unused +const u8 DoorAnimPalettes_849714C[] = {1, 1, 1, 1, 1, 1, 1, 1}; // doors 47 and 48 +const u8 DoorAnimPalettes_8497154[] = {9, 9, 7, 7, 7, 7, 7, 7}; // door 49 +const u8 DoorAnimPalettes_849715C[] = {9, 9, 9, 9, 9, 9, 9, 9}; // door 50 +const u8 DoorAnimPalettes_8497164[] = {7, 7, 7, 7, 7, 7, 7, 7}; // door 51 +const u8 DoorAnimPalettes_849716C[] = {9, 9, 7, 7, 7, 7, 7, 7}; // door 52 + +static const struct DoorGraphics gDoorAnimGraphicsTable[] = +{ + {0x021, 0, 1, DoorAnimTiles_00, DoorAnimPalettes_8496FDC}, // door 00 + {0x061, 1, 1, DoorAnimTiles_01, DoorAnimPalettes_8496FE4}, // door 01 + {0x1CD, 1, 1, DoorAnimTiles_02, DoorAnimPalettes_8496FEC}, // door 02 + {0x041, 1, 1, DoorAnimTiles_03, DoorAnimPalettes_8496FF4}, // door 03 + {0x248, 0, 1, DoorAnimTiles_04, DoorAnimPalettes_8496FFC}, // door 04 + {0x249, 0, 1, DoorAnimTiles_05, DoorAnimPalettes_8497004}, // door 05 + {0x22F, 0, 1, DoorAnimTiles_06, DoorAnimPalettes_849700C}, // door 06 + {0x21F, 0, 1, DoorAnimTiles_07, DoorAnimPalettes_8497014}, // door 07 + {0x2A5, 0, 1, DoorAnimTiles_08, DoorAnimPalettes_849701C}, // door 08 + {0x287, 0, 1, DoorAnimTiles_09, DoorAnimPalettes_849702C}, // door 09 + {0x2AC, 0, 1, DoorAnimTiles_10, DoorAnimPalettes_849706C}, // door 10 + {0x3A1, 0, 1, DoorAnimTiles_11, DoorAnimPalettes_8497074}, // door 11 + {0x2DC, 0, 1, DoorAnimTiles_12, DoorAnimPalettes_8497064}, // door 12 + {0x225, 0, 1, DoorAnimTiles_13, DoorAnimPalettes_849705C}, // door 13 + {0x1DB, 1, 1, DoorAnimTiles_14, DoorAnimPalettes_8497084}, // door 14 + {0x246, 0, 1, DoorAnimTiles_15, DoorAnimPalettes_8497024}, // door 15 + {0x28E, 0, 1, DoorAnimTiles_16, DoorAnimPalettes_849707C}, // door 16 + {0x2A1, 0, 1, DoorAnimTiles_17, DoorAnimPalettes_8497034}, // door 17 + {0x21C, 0, 1, DoorAnimTiles_18, DoorAnimPalettes_849704C}, // door 18 + {0x21E, 0, 1, DoorAnimTiles_19, DoorAnimPalettes_8497054}, // door 19 + {0x21D, 1, 1, DoorAnimTiles_20, DoorAnimPalettes_849703C}, // door 20 + {0x21A, 0, 1, DoorAnimTiles_21, DoorAnimPalettes_8497044}, // door 21 + {0x224, 0, 1, DoorAnimTiles_22, DoorAnimPalettes_849708C}, // door 22 + {0x289, 0, 1, DoorAnimTiles_23, DoorAnimPalettes_8497094}, // door 23 + {0x30C, 1, 1, DoorAnimTiles_24, DoorAnimPalettes_849709C}, // door 24 + {0x32D, 1, 1, DoorAnimTiles_25, DoorAnimPalettes_84970A4}, // door 25 + {0x2ED, 1, 1, DoorAnimTiles_26, DoorAnimPalettes_84970AC}, // door 26 + {0x264, 1, 1, DoorAnimTiles_27, DoorAnimPalettes_84970B4}, // door 27 + {0x22B, 0, 1, DoorAnimTiles_28, DoorAnimPalettes_84970BC}, // door 28 + {0x2F7, 0, 1, DoorAnimTiles_29, DoorAnimPalettes_84970C4}, // door 29 + {0x297, 0, 1, DoorAnimTiles_30, DoorAnimPalettes_84970CC}, // door 30 + {0x285, 1, 1, DoorAnimTiles_31, DoorAnimPalettes_84970D4}, // door 31 + {0x25D, 1, 1, DoorAnimTiles_32, DoorAnimPalettes_84970DC}, // door 32 + {0x20E, 1, 1, DoorAnimTiles_33, DoorAnimPalettes_84970E4}, // door 33 + {0x3B0, 1, 1, DoorAnimTiles_34, DoorAnimPalettes_84970EC}, // door 34 + {0x28A, 1, 1, DoorAnimTiles_35, DoorAnimPalettes_84970F4}, // door 35 + {0x263, 1, 1, DoorAnimTiles_36, DoorAnimPalettes_84970FC}, // door 36 + {0x329, 1, 1, DoorAnimTiles_37, DoorAnimPalettes_8497104}, // door 37 + {0x291, 0, 1, DoorAnimTiles_38, DoorAnimPalettes_849710C}, // door 38 + {0x21B, 2, 1, DoorAnimTiles_39, DoorAnimPalettes_8497114}, // door 39 + {0x209, 1, 1, DoorAnimTiles_40, DoorAnimPalettes_849711C}, // door 40 + {0x219, 0, 1, DoorAnimTiles_41, DoorAnimPalettes_8497124}, // door 41 + {0x393, 1, 1, DoorAnimTiles_42, DoorAnimPalettes_849712C}, // door 42 + {0x3D4, 1, 1, DoorAnimTiles_42, DoorAnimPalettes_849712C}, // door 43 + {0x36C, 1, 1, DoorAnimTiles_42, DoorAnimPalettes_849712C}, // door 44 + {0x25E, 1, 1, DoorAnimTiles_43, DoorAnimPalettes_8497134}, // door 45 + {0x2AD, 1, 2, DoorAnimTiles_44, DoorAnimPalettes_849713C}, // door 46 + {0x3FC, 0, 1, DoorAnimTiles_45, DoorAnimPalettes_849714C}, // door 47 + {0x396, 1, 1, DoorAnimTiles_46, DoorAnimPalettes_849714C}, // door 48 + {0x20A, 1, 1, DoorAnimTiles_47, DoorAnimPalettes_8497154}, // door 49 + {0x26B, 1, 1, DoorAnimTiles_48, DoorAnimPalettes_849715C}, // door 50 + {0x32C, 1, 1, DoorAnimTiles_49, DoorAnimPalettes_8497164}, // door 51 + {0x383, 1, 1, DoorAnimTiles_50, DoorAnimPalettes_849716C}, // door 52 + {0, 0, 0, NULL, NULL}, +}; + +static void CopyDoorTilesToVram(const struct DoorGraphics *gfx, const struct DoorAnimFrame *frame) +{ + if (gfx->size == 2) + CpuFastSet(gfx->tiles + frame->offset, (void *)(VRAM + 0x7E00), 0x80); + else + CpuFastSet(gfx->tiles + frame->offset, (void *)(VRAM + 0x7F00), 0x40); +} + +static void door_build_blockdef(u16 *a, u16 b, const u8 *c) +{ + int i; + u16 unk; + + for (i = 0; i < 4; i++) + { + unk = *(c++) << 12; + a[i] = unk | (b + i); + } + for (; i < 8; i++) + { + unk = *(c++) << 12; + a[i] = unk; + } +} + +static void DrawCurrentDoorAnimFrame(const struct DoorGraphics *gfx, u32 x, u32 y, const u8 *pal) +{ + u16 arr[24]; + + if (gfx->size == 2) + { + door_build_blockdef(&arr[8], 0x3F0, pal); + DrawDoorMetatileAt(x, y - 1, &arr[8]); + door_build_blockdef(&arr[8], 0x3F4, pal + 4); + DrawDoorMetatileAt(x, y, &arr[8]); + door_build_blockdef(&arr[8], 0x3F8, pal); + DrawDoorMetatileAt(x + 1, y - 1, &arr[8]); + door_build_blockdef(&arr[8], 0x3FC, pal + 4); + DrawDoorMetatileAt(x + 1, y, &arr[8]); + } + else + { + door_build_blockdef(&arr[0], 0x3F8, pal); + DrawDoorMetatileAt(x, y - 1, &arr[0]); + door_build_blockdef(&arr[0], 0x3FC, pal + 4); + DrawDoorMetatileAt(x, y, &arr[0]); + } +} + +static void DrawClosedDoorTiles(const struct DoorGraphics *gfx, u32 x, u32 y) +{ + CurrentMapDrawMetatileAt(x, y - 1); + CurrentMapDrawMetatileAt(x, y); + + if (gfx->size == 2) + { + CurrentMapDrawMetatileAt(x + 1, y - 1); + CurrentMapDrawMetatileAt(x + 1, y); + } +} + +static void DrawDoor(const struct DoorGraphics *gfx, const struct DoorAnimFrame *frame, u32 x, u32 y) +{ + if (frame->offset == 0xFFFF) + { + DrawClosedDoorTiles(gfx, x, y); + if (sub_808A964()) + DrawClosedDoorTiles(gfx, gSpecialVar_0x8004 + 7, gSpecialVar_0x8005 + 7); + } + else + { + CopyDoorTilesToVram(gfx, frame); + DrawCurrentDoorAnimFrame(gfx, x, y, gfx->palette); + if (sub_808A964()) + DrawCurrentDoorAnimFrame(gfx, gSpecialVar_0x8004 + 7, gSpecialVar_0x8005 + 7, gfx->palette); + } +} + +enum +{ + TD_FRAMELIST = 0, + TD_GFX = 2, + TD_FRAME = 4, + TD_COUNTER, + TD_X, + TD_Y +}; + +static bool32 sub_808A5F0(struct DoorGraphics *gfx, struct DoorAnimFrame *frames, s16 *taskData) +{ + if (taskData[TD_COUNTER] == 0) + DrawDoor(gfx, &frames[taskData[TD_FRAME]], taskData[TD_X], taskData[TD_Y]); + if (taskData[TD_COUNTER] == frames[taskData[TD_FRAME]].time) + { + taskData[TD_COUNTER] = 0; + taskData[TD_FRAME]++; + if (frames[taskData[TD_FRAME]].time == 0) + return FALSE; + else + return TRUE; + } + taskData[TD_COUNTER]++; + return TRUE; +} + +static void Task_AnimateDoor(u8 taskId) +{ + u16 *taskData = gTasks[taskId].data; + struct DoorAnimFrame *frames = (struct DoorAnimFrame *)(taskData[TD_FRAMELIST] << 16 | taskData[TD_FRAMELIST + 1]); + struct DoorGraphics *gfx = (struct DoorGraphics *)(taskData[TD_GFX] << 16 | taskData[TD_GFX + 1]); + + if (sub_808A5F0(gfx, frames, taskData) == FALSE) + DestroyTask(taskId); +} + +static const struct DoorAnimFrame *GetLastDoorFrame(const struct DoorAnimFrame *frame, const void *unused) +{ + while (frame->time != 0) + frame++; + return frame - 1; +} + +static const struct DoorGraphics *GetDoorGraphics(const struct DoorGraphics *gfx, u16 metatileNum) +{ + while (gfx->tiles != NULL) + { + if (gfx->metatileNum == metatileNum) + return gfx; + gfx++; + } + return NULL; +} + +static s8 StartDoorAnimationTask(const struct DoorGraphics *gfx, const struct DoorAnimFrame *frames, u32 x, u32 y) +{ + if (FuncIsActiveTask(Task_AnimateDoor) == TRUE) + return -1; + else + { + u8 taskId = CreateTask(Task_AnimateDoor, 0x50); + s16 *taskData = gTasks[taskId].data; + + taskData[TD_X] = x; + taskData[TD_Y] = y; + + taskData[TD_FRAMELIST + 1] = (u32)frames; + taskData[TD_FRAMELIST] = (u32)frames >> 16; + + taskData[TD_GFX + 1] = (u32)gfx; + taskData[TD_GFX] = (u32)gfx >> 16; + + return taskId; + } +} + +static void DrawClosedDoor(const struct DoorGraphics *gfx, u32 x, u32 y) +{ + DrawClosedDoorTiles(gfx, x, y); +} + +static void DrawOpenedDoor(const struct DoorGraphics *gfx, u32 x, u32 y) +{ + gfx = GetDoorGraphics(gfx, MapGridGetMetatileIdAt(x, y)); + if (gfx != NULL) + DrawDoor(gfx, GetLastDoorFrame(gDoorOpenAnimFrames, gDoorOpenAnimFrames), x, y); +} + +static s8 StartDoorOpenAnimation(const struct DoorGraphics *gfx, u32 x, u32 y) +{ + gfx = GetDoorGraphics(gfx, MapGridGetMetatileIdAt(x, y)); + if (gfx == NULL) + { + return -1; + } + else + { + if (gfx->size == 2) + return StartDoorAnimationTask(gfx, gBigDoorOpenAnimFrames, x, y); + else + return StartDoorAnimationTask(gfx, gDoorOpenAnimFrames, x, y); + } +} + +static s8 StartDoorCloseAnimation(const struct DoorGraphics *gfx, u32 x, u32 y) +{ + gfx = GetDoorGraphics(gfx, MapGridGetMetatileIdAt(x, y)); + if (gfx == NULL) + return -1; + else + return StartDoorAnimationTask(gfx, gDoorCloseAnimFrames, x, y); +} + +static s8 cur_mapdata_get_door_x2_at(const struct DoorGraphics *gfx, u32 x, u32 y) +{ + gfx = GetDoorGraphics(gfx, MapGridGetMetatileIdAt(x, y)); + if (gfx == NULL) + return -1; + else + return gfx->sound; +} + +void unref_sub_808A83C(u32 x, u32 y) +{ + StartDoorOpenAnimation(gDoorAnimGraphicsTable, x, y); +} + +void FieldSetDoorOpened(u32 x, u32 y) +{ + if (MetatileBehavior_IsDoor(MapGridGetMetatileBehaviorAt(x, y))) + DrawOpenedDoor(gDoorAnimGraphicsTable, x, y); +} + +void FieldSetDoorClosed(u32 x, u32 y) +{ + if (MetatileBehavior_IsDoor(MapGridGetMetatileBehaviorAt(x, y))) + DrawClosedDoor(gDoorAnimGraphicsTable, x, y); +} + +s8 FieldAnimateDoorClose(u32 x, u32 y) +{ + if (!MetatileBehavior_IsDoor(MapGridGetMetatileBehaviorAt(x, y))) + return -1; + else + return StartDoorCloseAnimation(gDoorAnimGraphicsTable, x, y); +} + +s8 FieldAnimateDoorOpen(u32 x, u32 y) +{ + if (!MetatileBehavior_IsDoor(MapGridGetMetatileBehaviorAt(x, y))) + return -1; + else + return StartDoorOpenAnimation(gDoorAnimGraphicsTable, x, y); +} + +bool8 FieldIsDoorAnimationRunning(void) +{ + return FuncIsActiveTask(Task_AnimateDoor); +} + +u32 GetDoorSoundEffect(u32 x, u32 y) +{ + int sound = cur_mapdata_get_door_x2_at(gDoorAnimGraphicsTable, x, y); + + if (sound == 0) + return SE_DOOR; + else if (sound == 1) + return SE_JIDO_DOA; + else if (sound == 2) + return SE_TU_SAA; + else + return SE_DOOR; +} + +bool8 sub_808A964(void) +{ + if (FlagGet(FLAG_SPECIAL_FLAG_0x4002)) + { + if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR_2) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR_2)) + { + return TRUE; + } + } + return FALSE; +} From 0eadf71b1a0676f70024ac93a7b4bfa325fa09a3 Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Sun, 7 Jan 2018 18:58:52 -0600 Subject: [PATCH 4/4] Move forward declaration --- include/field_door.h | 1 - src/field_door.c | 2 ++ 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/include/field_door.h b/include/field_door.h index dd039a5c2..8b4955cac 100644 --- a/include/field_door.h +++ b/include/field_door.h @@ -22,6 +22,5 @@ s8 FieldAnimateDoorClose(u32, u32); s8 FieldAnimateDoorOpen(u32, u32); bool8 FieldIsDoorAnimationRunning(void); u32 GetDoorSoundEffect(u32 x, u32 y); -bool8 sub_808A964(void); #endif diff --git a/src/field_door.c b/src/field_door.c index 38c031264..f73c6bb55 100644 --- a/src/field_door.c +++ b/src/field_door.c @@ -9,6 +9,8 @@ #include "constants/maps.h" #include "task.h" +bool8 sub_808A964(void); + const u8 DoorAnimTiles_04[][0x100] = { INCBIN_U8("graphics/door_anims/04/0.4bpp"),