From f6f4d25bb9e57950308a5d3bb075476b60a14696 Mon Sep 17 00:00:00 2001 From: 21aslade <21aslade@go.dsdmail.net> Date: Tue, 7 Jul 2020 19:24:38 -0600 Subject: [PATCH 001/101] Partially document lakitu.c Also ran the newline portion of format.sh and split some data files --- data/data_080C93E0.s | 2205 -------------------------------------- data/data_080D0154.s | 113 ++ data/data_080D0448.s | 2081 +++++++++++++++++++++++++++++++++++ include/lakitu.h | 84 ++ linker.ld | 4 + src/bowMoblin.c | 2 +- src/hangingSeed.c | 2 +- src/lakitu.c | 228 ++-- src/lakituCloud.c | 30 +- src/manager27.c | 2 +- src/manager2E.c | 2 +- src/mineralWaterSource.c | 2 +- src/wheaton.c | 2 +- src/windTribespeople.c | 2 +- 14 files changed, 2412 insertions(+), 2347 deletions(-) create mode 100644 data/data_080D0154.s create mode 100644 data/data_080D0448.s create mode 100644 include/lakitu.h diff --git a/data/data_080C93E0.s b/data/data_080C93E0.s index 5b2ad0f8..832a0e5e 100644 --- a/data/data_080C93E0.s +++ b/data/data_080C93E0.s @@ -4005,2208 +4005,3 @@ gUnk_080D00D4:: @ 080D00D4 gUnk_080D0100:: @ 080D0100 .incbin "baserom.gba", 0x0D0100, 0x0000010 - -gUnk_080D0110:: @ 080D0110 - .incbin "baserom.gba", 0x0D0110, 0x0000018 - -gUnk_080D0128:: @ 080D0128 - .incbin "baserom.gba", 0x0D0128, 0x0000020 - -gUnk_080D0148:: @ 080D0148 - .incbin "baserom.gba", 0x0D0148, 0x000000C - -gUnk_080D0154:: @ 080D0154 - .incbin "baserom.gba", 0x0D0154, 0x0000008 - -gUnk_080D015C:: @ 080D015C - .incbin "baserom.gba", 0x0D015C, 0x0000011 - -gUnk_080D016D:: @ 080D016D - .incbin "baserom.gba", 0x0D016D, 0x0000011 - -gUnk_080D017E:: @ 080D017E - .incbin "baserom.gba", 0x0D017E, 0x0000011 - -gUnk_080D018F:: @ 080D018F - .incbin "baserom.gba", 0x0D018F, 0x0000011 - -gUnk_080D01A0:: @ 080D01A0 - .incbin "baserom.gba", 0x0D01A0, 0x0000011 - -gUnk_080D01B1:: @ 080D01B1 - .incbin "baserom.gba", 0x0D01B1, 0x0000011 - -gUnk_080D01C2:: @ 080D01C2 - .incbin "baserom.gba", 0x0D01C2, 0x0000011 - -gUnk_080D01D3:: @ 080D01D3 - .incbin "baserom.gba", 0x0D01D3, 0x0000011 - -gUnk_080D01E4:: @ 080D01E4 - .incbin "baserom.gba", 0x0D01E4, 0x000000B - -gUnk_080D01EF:: @ 080D01EF - .incbin "baserom.gba", 0x0D01EF, 0x000001D - -gUnk_080D020C:: @ 080D020C - .incbin "baserom.gba", 0x0D020C, 0x0000004 - -gUnk_080D0210:: @ 080D0210 - .incbin "baserom.gba", 0x0D0210, 0x0000001 - -gUnk_080D0211:: @ 080D0211 - .incbin "baserom.gba", 0x0D0211, 0x0000014 - -gUnk_080D0225:: @ 080D0225 - .incbin "baserom.gba", 0x0D0225, 0x0000041 - -gUnk_080D0266:: @ 080D0266 - .incbin "baserom.gba", 0x0D0266, 0x0000041 - -gUnk_080D02A7:: @ 080D02A7 - .incbin "baserom.gba", 0x0D02A7, 0x0000041 - -gUnk_080D02E8:: @ 080D02E8 - .incbin "baserom.gba", 0x0D02E8, 0x000000B - -gUnk_080D02F3:: @ 080D02F3 - .incbin "baserom.gba", 0x0D02F3, 0x0000003 - -gUnk_080D02F6:: @ 080D02F6 - .incbin "baserom.gba", 0x0D02F6, 0x0000001 - -gUnk_080D02F7:: @ 080D02F7 - .incbin "baserom.gba", 0x0D02F7, 0x0000002 - -gUnk_080D02F9:: @ 080D02F9 - .incbin "baserom.gba", 0x0D02F9, 0x0000003 - -gUnk_080D02FC:: @ 080D02FC - .incbin "baserom.gba", 0x0D02FC, 0x0000004 - -gUnk_080D0300:: @ 080D0300 - .incbin "baserom.gba", 0x0D0300, 0x000000A - -gUnk_080D030A:: @ 080D030A - .incbin "baserom.gba", 0x0D030A, 0x0000011 - -gUnk_080D031B:: @ 080D031B - .incbin "baserom.gba", 0x0D031B, 0x0000011 - -gUnk_080D032C:: @ 080D032C - .incbin "baserom.gba", 0x0D032C, 0x0000011 - -gUnk_080D033D:: @ 080D033D - .incbin "baserom.gba", 0x0D033D, 0x0000011 - -gUnk_080D034E:: @ 080D034E - .incbin "baserom.gba", 0x0D034E, 0x0000011 - -gUnk_080D035F:: @ 080D035F - .incbin "baserom.gba", 0x0D035F, 0x0000011 - -gUnk_080D0370:: @ 080D0370 - .incbin "baserom.gba", 0x0D0370, 0x0000011 - -gUnk_080D0381:: @ 080D0381 - .incbin "baserom.gba", 0x0D0381, 0x0000011 - -gUnk_080D0392:: @ 080D0392 - .incbin "baserom.gba", 0x0D0392, 0x0000011 - -gUnk_080D03A3:: @ 080D03A3 - .incbin "baserom.gba", 0x0D03A3, 0x0000011 - -gUnk_080D03B4:: @ 080D03B4 - .incbin "baserom.gba", 0x0D03B4, 0x000003C - -gUnk_080D03F0:: @ 080D03F0 - .incbin "baserom.gba", 0x0D03F0, 0x0000014 - -gUnk_080D0404:: @ 080D0404 - .incbin "baserom.gba", 0x0D0404, 0x0000014 - -gUnk_080D0418:: @ 080D0418 - .incbin "baserom.gba", 0x0D0418, 0x0000018 - -gUnk_080D0430:: @ 080D0430 - .incbin "baserom.gba", 0x0D0430, 0x000000C - -gUnk_080D043C:: @ 080D043C - .incbin "baserom.gba", 0x0D043C, 0x000000C - -gUnk_080D0448:: @ 080D0448 - .incbin "baserom.gba", 0x0D0448, 0x0000010 - -gUnk_080D0458:: @ 080D0458 - .incbin "baserom.gba", 0x0D0458, 0x0000010 - -gUnk_080D0468:: @ 080D0468 - .incbin "baserom.gba", 0x0D0468, 0x0000008 - -gUnk_080D0470:: @ 080D0470 - .incbin "baserom.gba", 0x0D0470, 0x0000020 - -gUnk_080D0490:: @ 080D0490 - .incbin "baserom.gba", 0x0D0490, 0x0000008 - -gUnk_080D0498:: @ 080D0498 - .incbin "baserom.gba", 0x0D0498, 0x0000008 - -gUnk_080D04A0:: @ 080D04A0 - .incbin "baserom.gba", 0x0D04A0, 0x0000008 - -gUnk_080D04A8:: @ 080D04A8 - .incbin "baserom.gba", 0x0D04A8, 0x0000004 - -gUnk_080D04AC:: @ 080D04AC - .incbin "baserom.gba", 0x0D04AC, 0x0000014 - -gUnk_080D04C0:: @ 080D04C0 - .incbin "baserom.gba", 0x0D04C0, 0x0000008 - -gUnk_080D04C8:: @ 080D04C8 - .incbin "baserom.gba", 0x0D04C8, 0x0000008 - -gUnk_080D04D0:: @ 080D04D0 - .incbin "baserom.gba", 0x0D04D0, 0x0000003 - -gUnk_080D04D3:: @ 080D04D3 - .incbin "baserom.gba", 0x0D04D3, 0x0000004 - -gUnk_080D04D7:: @ 080D04D7 - .incbin "baserom.gba", 0x0D04D7, 0x0000011 - -gUnk_080D04E8:: @ 080D04E8 - .incbin "baserom.gba", 0x0D04E8, 0x0000011 - -gUnk_080D04F9:: @ 080D04F9 - .incbin "baserom.gba", 0x0D04F9, 0x0000005 - -gUnk_080D04FE:: @ 080D04FE - .incbin "baserom.gba", 0x0D04FE, 0x0000003 - -gUnk_080D0501:: @ 080D0501 - .incbin "baserom.gba", 0x0D0501, 0x0000001 - -gUnk_080D0502:: @ 080D0502 - .incbin "baserom.gba", 0x0D0502, 0x0000006 - -gUnk_080D0508:: @ 080D0508 - .incbin "baserom.gba", 0x0D0508, 0x0000005 - -gUnk_080D050D:: @ 080D050D - .incbin "baserom.gba", 0x0D050D, 0x0000024 - -gUnk_080D0531:: @ 080D0531 - .incbin "baserom.gba", 0x0D0531, 0x0000027 - -gUnk_080D0558:: @ 080D0558 - .incbin "baserom.gba", 0x0D0558, 0x0000018 - -gUnk_080D0570:: @ 080D0570 - .incbin "baserom.gba", 0x0D0570, 0x0000005 - -gUnk_080D0575:: @ 080D0575 - .incbin "baserom.gba", 0x0D0575, 0x0000010 - -gUnk_080D0585:: @ 080D0585 - .incbin "baserom.gba", 0x0D0585, 0x0000007 - -gUnk_080D058C:: @ 080D058C - .incbin "baserom.gba", 0x0D058C, 0x0000010 - -gUnk_080D059C:: @ 080D059C - .incbin "baserom.gba", 0x0D059C, 0x0000011 - -gUnk_080D05AD:: @ 080D05AD - .incbin "baserom.gba", 0x0D05AD, 0x0000011 - -gUnk_080D05BE:: @ 080D05BE - .incbin "baserom.gba", 0x0D05BE, 0x0000011 - -gUnk_080D05CF:: @ 080D05CF - .incbin "baserom.gba", 0x0D05CF, 0x0000011 - -gUnk_080D05E0:: @ 080D05E0 - .incbin "baserom.gba", 0x0D05E0, 0x0000014 - -gUnk_080D05F4:: @ 080D05F4 - .incbin "baserom.gba", 0x0D05F4, 0x0000006 - -gUnk_080D05FA:: @ 080D05FA - .incbin "baserom.gba", 0x0D05FA, 0x0000002 - -gUnk_080D05FC:: @ 080D05FC - .incbin "baserom.gba", 0x0D05FC, 0x0000001 - -gUnk_080D05FD:: @ 080D05FD - .incbin "baserom.gba", 0x0D05FD, 0x0000001 - -gUnk_080D05FE:: @ 080D05FE - .incbin "baserom.gba", 0x0D05FE, 0x0000007 - -gUnk_080D0605:: @ 080D0605 - .incbin "baserom.gba", 0x0D0605, 0x0000003 - -gUnk_080D0608:: @ 080D0608 - .incbin "baserom.gba", 0x0D0608, 0x0000001 - -gUnk_080D0609:: @ 080D0609 - .incbin "baserom.gba", 0x0D0609, 0x0000015 - -gUnk_080D061E:: @ 080D061E - .incbin "baserom.gba", 0x0D061E, 0x0000016 - -gUnk_080D0634:: @ 080D0634 - .incbin "baserom.gba", 0x0D0634, 0x0000014 - -gUnk_080D0648:: @ 080D0648 - .incbin "baserom.gba", 0x0D0648, 0x0000018 - -gUnk_080D0660:: @ 080D0660 - .incbin "baserom.gba", 0x0D0660, 0x0000028 - -gUnk_080D0688:: @ 080D0688 - .incbin "baserom.gba", 0x0D0688, 0x0000019 - -gUnk_080D06A1:: @ 080D06A1 - .incbin "baserom.gba", 0x0D06A1, 0x0000011 - -gUnk_080D06B2:: @ 080D06B2 - .incbin "baserom.gba", 0x0D06B2, 0x000001E - -gUnk_080D06D0:: @ 080D06D0 - .incbin "baserom.gba", 0x0D06D0, 0x0000010 - -gUnk_080D06E0:: @ 080D06E0 - .incbin "baserom.gba", 0x0D06E0, 0x0000008 - -gUnk_080D06E8:: @ 080D06E8 - .incbin "baserom.gba", 0x0D06E8, 0x0000010 - -gUnk_080D06F8:: @ 080D06F8 - .incbin "baserom.gba", 0x0D06F8, 0x0000004 - -gUnk_080D06FC:: @ 080D06FC - .incbin "baserom.gba", 0x0D06FC, 0x0000002 - -gUnk_080D06FE:: @ 080D06FE - .incbin "baserom.gba", 0x0D06FE, 0x0000002 - -gUnk_080D0700:: @ 080D0700 - .incbin "baserom.gba", 0x0D0700, 0x0000001 - -gUnk_080D0701:: @ 080D0701 - .incbin "baserom.gba", 0x0D0701, 0x0000023 - -gUnk_080D0724:: @ 080D0724 - .incbin "baserom.gba", 0x0D0724, 0x0000004 - -gUnk_080D0728:: @ 080D0728 - .incbin "baserom.gba", 0x0D0728, 0x0000008 - -gUnk_080D0730:: @ 080D0730 - .incbin "baserom.gba", 0x0D0730, 0x0000008 - -gUnk_080D0738:: @ 080D0738 - .incbin "baserom.gba", 0x0D0738, 0x0000004 - -gUnk_080D073C:: @ 080D073C - .incbin "baserom.gba", 0x0D073C, 0x0000004 - -gUnk_080D0740:: @ 080D0740 - .incbin "baserom.gba", 0x0D0740, 0x0000004 - -gUnk_080D0744:: @ 080D0744 - .incbin "baserom.gba", 0x0D0744, 0x0000004 - -gUnk_080D0748:: @ 080D0748 - .incbin "baserom.gba", 0x0D0748, 0x0000004 - -gUnk_080D074C:: @ 080D074C - .incbin "baserom.gba", 0x0D074C, 0x0000004 - -gUnk_080D0750:: @ 080D0750 - .incbin "baserom.gba", 0x0D0750, 0x0000004 - -gUnk_080D0754:: @ 080D0754 - .incbin "baserom.gba", 0x0D0754, 0x0000004 - -gUnk_080D0758:: @ 080D0758 - .incbin "baserom.gba", 0x0D0758, 0x0000004 - -gUnk_080D075C:: @ 080D075C - .incbin "baserom.gba", 0x0D075C, 0x0000004 - -gUnk_080D0760:: @ 080D0760 - .incbin "baserom.gba", 0x0D0760, 0x0000004 - -gUnk_080D0764:: @ 080D0764 - .incbin "baserom.gba", 0x0D0764, 0x0000004 - -gUnk_080D0768:: @ 080D0768 - .incbin "baserom.gba", 0x0D0768, 0x0000004 - -gUnk_080D076C:: @ 080D076C - .incbin "baserom.gba", 0x0D076C, 0x0000004 - -gUnk_080D0770:: @ 080D0770 - .incbin "baserom.gba", 0x0D0770, 0x0000004 - -gUnk_080D0774:: @ 080D0774 - .incbin "baserom.gba", 0x0D0774, 0x0000004 - -gUnk_080D0778:: @ 080D0778 - .incbin "baserom.gba", 0x0D0778, 0x0000004 - -gUnk_080D077C:: @ 080D077C - .incbin "baserom.gba", 0x0D077C, 0x0000004 - -gUnk_080D0780:: @ 080D0780 - .incbin "baserom.gba", 0x0D0780, 0x0000004 - -gUnk_080D0784:: @ 080D0784 - .incbin "baserom.gba", 0x0D0784, 0x0000004 - -gUnk_080D0788:: @ 080D0788 - .incbin "baserom.gba", 0x0D0788, 0x0000004 - -gUnk_080D078C:: @ 080D078C - .incbin "baserom.gba", 0x0D078C, 0x0000004 - -gUnk_080D0790:: @ 080D0790 - .incbin "baserom.gba", 0x0D0790, 0x0000004 - -gUnk_080D0794:: @ 080D0794 - .incbin "baserom.gba", 0x0D0794, 0x0000004 - -gUnk_080D0798:: @ 080D0798 - .incbin "baserom.gba", 0x0D0798, 0x0000004 - -gUnk_080D079C:: @ 080D079C - .incbin "baserom.gba", 0x0D079C, 0x0000004 - -gUnk_080D07A0:: @ 080D07A0 - .incbin "baserom.gba", 0x0D07A0, 0x0000004 - -gUnk_080D07A4:: @ 080D07A4 - .incbin "baserom.gba", 0x0D07A4, 0x0000004 - -gUnk_080D07A8:: @ 080D07A8 - .incbin "baserom.gba", 0x0D07A8, 0x0000004 - -gUnk_080D07AC:: @ 080D07AC - .incbin "baserom.gba", 0x0D07AC, 0x0000004 - -gUnk_080D07B0:: @ 080D07B0 - .incbin "baserom.gba", 0x0D07B0, 0x0000004 - -gUnk_080D07B4:: @ 080D07B4 - .incbin "baserom.gba", 0x0D07B4, 0x0000004 - -gUnk_080D07B8:: @ 080D07B8 - .incbin "baserom.gba", 0x0D07B8, 0x000000D - -gUnk_080D07C5:: @ 080D07C5 - .incbin "baserom.gba", 0x0D07C5, 0x000000D - -gUnk_080D07D2:: @ 080D07D2 - .incbin "baserom.gba", 0x0D07D2, 0x000000D - -gUnk_080D07DF:: @ 080D07DF - .incbin "baserom.gba", 0x0D07DF, 0x000000D - -gUnk_080D07EC:: @ 080D07EC - .incbin "baserom.gba", 0x0D07EC, 0x0000010 - -gUnk_080D07FC:: @ 080D07FC - .incbin "baserom.gba", 0x0D07FC, 0x0000001 - -gUnk_080D07FD:: @ 080D07FD - .incbin "baserom.gba", 0x0D07FD, 0x0000002 - -gUnk_080D07FF:: @ 080D07FF - .incbin "baserom.gba", 0x0D07FF, 0x0000001 - -gUnk_080D0800:: @ 080D0800 - .incbin "baserom.gba", 0x0D0800, 0x0000001 - -gUnk_080D0801:: @ 080D0801 - .incbin "baserom.gba", 0x0D0801, 0x0000005 - -gUnk_080D0806:: @ 080D0806 - .incbin "baserom.gba", 0x0D0806, 0x0000001 - -gUnk_080D0807:: @ 080D0807 - .incbin "baserom.gba", 0x0D0807, 0x0000003 - -gUnk_080D080A:: @ 080D080A - .incbin "baserom.gba", 0x0D080A, 0x000000F - -gUnk_080D0819:: @ 080D0819 - .incbin "baserom.gba", 0x0D0819, 0x0000067 - -gUnk_080D0880:: @ 080D0880 - .incbin "baserom.gba", 0x0D0880, 0x0000018 - -gUnk_080D0898:: @ 080D0898 - .incbin "baserom.gba", 0x0D0898, 0x000002C - -gUnk_080D08C4:: @ 080D08C4 - .incbin "baserom.gba", 0x0D08C4, 0x0000004 - -gUnk_080D08C8:: @ 080D08C8 - .incbin "baserom.gba", 0x0D08C8, 0x0000035 - -gUnk_080D08FD:: @ 080D08FD - .incbin "baserom.gba", 0x0D08FD, 0x0000003 - -gUnk_080D0900:: @ 080D0900 - .incbin "baserom.gba", 0x0D0900, 0x0000003 - -gUnk_080D0903:: @ 080D0903 - .incbin "baserom.gba", 0x0D0903, 0x0000001 - -gUnk_080D0904:: @ 080D0904 - .incbin "baserom.gba", 0x0D0904, 0x0000002 - -gUnk_080D0906:: @ 080D0906 - .incbin "baserom.gba", 0x0D0906, 0x0000002 - -gUnk_080D0908:: @ 080D0908 - .incbin "baserom.gba", 0x0D0908, 0x000000A - -gUnk_080D0912:: @ 080D0912 - .incbin "baserom.gba", 0x0D0912, 0x0000012 - -gUnk_080D0924:: @ 080D0924 - .incbin "baserom.gba", 0x0D0924, 0x0000018 - -gUnk_080D093C:: @ 080D093C - .incbin "baserom.gba", 0x0D093C, 0x0000028 - -gUnk_080D0964:: @ 080D0964 - .incbin "baserom.gba", 0x0D0964, 0x000000C - -gUnk_080D0970:: @ 080D0970 - .incbin "baserom.gba", 0x0D0970, 0x0000004 - -gUnk_080D0974:: @ 080D0974 - .incbin "baserom.gba", 0x0D0974, 0x0000004 - -gUnk_080D0978:: @ 080D0978 - .incbin "baserom.gba", 0x0D0978, 0x0000008 - -gUnk_080D0980:: @ 080D0980 - .incbin "baserom.gba", 0x0D0980, 0x0000004 - -gUnk_080D0984:: @ 080D0984 - .incbin "baserom.gba", 0x0D0984, 0x0000004 - -gUnk_080D0988:: @ 080D0988 - .incbin "baserom.gba", 0x0D0988, 0x000001C - -gUnk_080D09A4:: @ 080D09A4 - .incbin "baserom.gba", 0x0D09A4, 0x0000025 - -gUnk_080D09C9:: @ 080D09C9 - .incbin "baserom.gba", 0x0D09C9, 0x0000025 - -gUnk_080D09EE:: @ 080D09EE - .incbin "baserom.gba", 0x0D09EE, 0x000000E - -gUnk_080D09FC:: @ 080D09FC - .incbin "baserom.gba", 0x0D09FC, 0x0000005 - -gUnk_080D0A01:: @ 080D0A01 - .incbin "baserom.gba", 0x0D0A01, 0x0000002 - -gUnk_080D0A03:: @ 080D0A03 - .incbin "baserom.gba", 0x0D0A03, 0x0000005 - -gUnk_080D0A08:: @ 080D0A08 - .incbin "baserom.gba", 0x0D0A08, 0x0000002 - -gUnk_080D0A0A:: @ 080D0A0A - .incbin "baserom.gba", 0x0D0A0A, 0x0000002 - -gUnk_080D0A0C:: @ 080D0A0C - .incbin "baserom.gba", 0x0D0A0C, 0x0000001 - -gUnk_080D0A0D:: @ 080D0A0D - .incbin "baserom.gba", 0x0D0A0D, 0x0000001 - -gUnk_080D0A0E:: @ 080D0A0E - .incbin "baserom.gba", 0x0D0A0E, 0x0000002 - -gUnk_080D0A10:: @ 080D0A10 - .incbin "baserom.gba", 0x0D0A10, 0x0000022 - -gUnk_080D0A32:: @ 080D0A32 - .incbin "baserom.gba", 0x0D0A32, 0x0000039 - -gUnk_080D0A6B:: @ 080D0A6B - .incbin "baserom.gba", 0x0D0A6B, 0x0000004 - -gUnk_080D0A6F:: @ 080D0A6F - .incbin "baserom.gba", 0x0D0A6F, 0x0000004 - -gUnk_080D0A73:: @ 080D0A73 - .incbin "baserom.gba", 0x0D0A73, 0x000000C - -gUnk_080D0A7F:: @ 080D0A7F - .incbin "baserom.gba", 0x0D0A7F, 0x000000C - -gUnk_080D0A8B:: @ 080D0A8B - .incbin "baserom.gba", 0x0D0A8B, 0x0000005 - -gUnk_080D0A90:: @ 080D0A90 - .incbin "baserom.gba", 0x0D0A90, 0x000002C - -gUnk_080D0ABC:: @ 080D0ABC - .incbin "baserom.gba", 0x0D0ABC, 0x0000003 - -gUnk_080D0ABF:: @ 080D0ABF - .incbin "baserom.gba", 0x0D0ABF, 0x0000009 - -gUnk_080D0AC8:: @ 080D0AC8 - .incbin "baserom.gba", 0x0D0AC8, 0x0000020 - -gUnk_080D0AE8:: @ 080D0AE8 - .incbin "baserom.gba", 0x0D0AE8, 0x0000008 - -gUnk_080D0AF0:: @ 080D0AF0 - .incbin "baserom.gba", 0x0D0AF0, 0x000000C - -gUnk_080D0AFC:: @ 080D0AFC - .incbin "baserom.gba", 0x0D0AFC, 0x0000004 - -gUnk_080D0B00:: @ 080D0B00 - .incbin "baserom.gba", 0x0D0B00, 0x0000001 - -gUnk_080D0B01:: @ 080D0B01 - .incbin "baserom.gba", 0x0D0B01, 0x0000001 - -gUnk_080D0B02:: @ 080D0B02 - .incbin "baserom.gba", 0x0D0B02, 0x0000002 - -gUnk_080D0B04:: @ 080D0B04 - .incbin "baserom.gba", 0x0D0B04, 0x0000002 - -gUnk_080D0B06:: @ 080D0B06 - .incbin "baserom.gba", 0x0D0B06, 0x0000006 - -gUnk_080D0B0C:: @ 080D0B0C - .incbin "baserom.gba", 0x0D0B0C, 0x0000003 - -gUnk_080D0B0F:: @ 080D0B0F - .incbin "baserom.gba", 0x0D0B0F, 0x0000001 - -gUnk_080D0B10:: @ 080D0B10 - .incbin "baserom.gba", 0x0D0B10, 0x0000008 - -gUnk_080D0B18:: @ 080D0B18 - .incbin "baserom.gba", 0x0D0B18, 0x0000011 - -gUnk_080D0B29:: @ 080D0B29 - .incbin "baserom.gba", 0x0D0B29, 0x000002F - -gUnk_080D0B58:: @ 080D0B58 - .incbin "baserom.gba", 0x0D0B58, 0x000000C - -gUnk_080D0B64:: @ 080D0B64 - .incbin "baserom.gba", 0x0D0B64, 0x0000010 - -gUnk_080D0B74:: @ 080D0B74 - .incbin "baserom.gba", 0x0D0B74, 0x0000010 - -gUnk_080D0B84:: @ 080D0B84 - .incbin "baserom.gba", 0x0D0B84, 0x0000020 - -gUnk_080D0BA4:: @ 080D0BA4 - .incbin "baserom.gba", 0x0D0BA4, 0x0000011 - -gUnk_080D0BB5:: @ 080D0BB5 - .incbin "baserom.gba", 0x0D0BB5, 0x000000F - -gUnk_080D0BC4:: @ 080D0BC4 - .incbin "baserom.gba", 0x0D0BC4, 0x0000018 - -gUnk_080D0BDC:: @ 080D0BDC - .incbin "baserom.gba", 0x0D0BDC, 0x0000005 - -gUnk_080D0BE1:: @ 080D0BE1 - .incbin "baserom.gba", 0x0D0BE1, 0x000000C - -gUnk_080D0BED:: @ 080D0BED - .incbin "baserom.gba", 0x0D0BED, 0x0000005 - -gUnk_080D0BF2:: @ 080D0BF2 - .incbin "baserom.gba", 0x0D0BF2, 0x0000005 - -gUnk_080D0BF7:: @ 080D0BF7 - .incbin "baserom.gba", 0x0D0BF7, 0x0000004 - -gUnk_080D0BFB:: @ 080D0BFB - .incbin "baserom.gba", 0x0D0BFB, 0x0000001 - -gUnk_080D0BFC:: @ 080D0BFC - .incbin "baserom.gba", 0x0D0BFC, 0x0000004 - -gUnk_080D0C00:: @ 080D0C00 - .incbin "baserom.gba", 0x0D0C00, 0x0000006 - -gUnk_080D0C06:: @ 080D0C06 - .incbin "baserom.gba", 0x0D0C06, 0x0000002 - -gUnk_080D0C08:: @ 080D0C08 - .incbin "baserom.gba", 0x0D0C08, 0x0000002 - -gUnk_080D0C0A:: @ 080D0C0A - .incbin "baserom.gba", 0x0D0C0A, 0x0000002 - -gUnk_080D0C0C:: @ 080D0C0C - .incbin "baserom.gba", 0x0D0C0C, 0x0000028 - -gUnk_080D0C34:: @ 080D0C34 - .incbin "baserom.gba", 0x0D0C34, 0x0000021 - -gUnk_080D0C55:: @ 080D0C55 - .incbin "baserom.gba", 0x0D0C55, 0x0000033 - -gUnk_080D0C88:: @ 080D0C88 - .incbin "baserom.gba", 0x0D0C88, 0x0000018 - -gUnk_080D0CA0:: @ 080D0CA0 - .incbin "baserom.gba", 0x0D0CA0, 0x0000005 - -gUnk_080D0CA5:: @ 080D0CA5 - .incbin "baserom.gba", 0x0D0CA5, 0x0000030 - -gUnk_080D0CD5:: @ 080D0CD5 - .incbin "baserom.gba", 0x0D0CD5, 0x0000011 - -gUnk_080D0CE6:: @ 080D0CE6 - .incbin "baserom.gba", 0x0D0CE6, 0x000000E - -gUnk_080D0CF4:: @ 080D0CF4 - .incbin "baserom.gba", 0x0D0CF4, 0x0000010 - -gUnk_080D0D04:: @ 080D0D04 - .incbin "baserom.gba", 0x0D0D04, 0x0000001 - -gUnk_080D0D05:: @ 080D0D05 - .incbin "baserom.gba", 0x0D0D05, 0x0000001 - -gUnk_080D0D06:: @ 080D0D06 - .incbin "baserom.gba", 0x0D0D06, 0x0000003 - -gUnk_080D0D09:: @ 080D0D09 - .incbin "baserom.gba", 0x0D0D09, 0x0000002 - -gUnk_080D0D0B:: @ 080D0D0B - .incbin "baserom.gba", 0x0D0D0B, 0x0000001 - -gUnk_080D0D0C:: @ 080D0D0C - .incbin "baserom.gba", 0x0D0D0C, 0x0000002 - -gUnk_080D0D0E:: @ 080D0D0E - .incbin "baserom.gba", 0x0D0D0E, 0x0000006 - -gUnk_080D0D14:: @ 080D0D14 - .incbin "baserom.gba", 0x0D0D14, 0x000002C - -gUnk_080D0D40:: @ 080D0D40 - .incbin "baserom.gba", 0x0D0D40, 0x0000008 - -gUnk_080D0D48:: @ 080D0D48 - .incbin "baserom.gba", 0x0D0D48, 0x0000030 - -gUnk_080D0D78:: @ 080D0D78 - .incbin "baserom.gba", 0x0D0D78, 0x0000019 - -gUnk_080D0D91:: @ 080D0D91 - .incbin "baserom.gba", 0x0D0D91, 0x0000010 - -gUnk_080D0DA1:: @ 080D0DA1 - .incbin "baserom.gba", 0x0D0DA1, 0x000000F - -gUnk_080D0DB0:: @ 080D0DB0 - .incbin "baserom.gba", 0x0D0DB0, 0x0000014 - -gUnk_080D0DC4:: @ 080D0DC4 - .incbin "baserom.gba", 0x0D0DC4, 0x0000018 - -gUnk_080D0DDC:: @ 080D0DDC - .incbin "baserom.gba", 0x0D0DDC, 0x000001B - -gUnk_080D0DF7:: @ 080D0DF7 - .incbin "baserom.gba", 0x0D0DF7, 0x000000A - -gUnk_080D0E01:: @ 080D0E01 - .incbin "baserom.gba", 0x0D0E01, 0x0000007 - -gUnk_080D0E08:: @ 080D0E08 - .incbin "baserom.gba", 0x0D0E08, 0x0000002 - -gUnk_080D0E0A:: @ 080D0E0A - .incbin "baserom.gba", 0x0D0E0A, 0x0000002 - -gUnk_080D0E0C:: @ 080D0E0C - .incbin "baserom.gba", 0x0D0E0C, 0x0000001 - -gUnk_080D0E0D:: @ 080D0E0D - .incbin "baserom.gba", 0x0D0E0D, 0x0000001 - -gUnk_080D0E0E:: @ 080D0E0E - .incbin "baserom.gba", 0x0D0E0E, 0x0000001 - -gUnk_080D0E0F:: @ 080D0E0F - .incbin "baserom.gba", 0x0D0E0F, 0x0000004 - -gUnk_080D0E13:: @ 080D0E13 - .incbin "baserom.gba", 0x0D0E13, 0x0000001 - -gUnk_080D0E14:: @ 080D0E14 - .incbin "baserom.gba", 0x0D0E14, 0x0000004 - -gUnk_080D0E18:: @ 080D0E18 - .incbin "baserom.gba", 0x0D0E18, 0x0000004 - -gUnk_080D0E1C:: @ 080D0E1C - .incbin "baserom.gba", 0x0D0E1C, 0x0000010 - -gUnk_080D0E2C:: @ 080D0E2C - .incbin "baserom.gba", 0x0D0E2C, 0x0000038 - -gUnk_080D0E64:: @ 080D0E64 - .incbin "baserom.gba", 0x0D0E64, 0x0000004 - -gUnk_080D0E68:: @ 080D0E68 - .incbin "baserom.gba", 0x0D0E68, 0x0000018 - -gUnk_080D0E80:: @ 080D0E80 - .incbin "baserom.gba", 0x0D0E80, 0x0000010 - -gUnk_080D0E90:: @ 080D0E90 - .incbin "baserom.gba", 0x0D0E90, 0x0000010 - -gUnk_080D0EA0:: @ 080D0EA0 - .incbin "baserom.gba", 0x0D0EA0, 0x0000008 - -gUnk_080D0EA8:: @ 080D0EA8 - .incbin "baserom.gba", 0x0D0EA8, 0x0000004 - -gUnk_080D0EAC:: @ 080D0EAC - .incbin "baserom.gba", 0x0D0EAC, 0x0000004 - -gUnk_080D0EB0:: @ 080D0EB0 - .incbin "baserom.gba", 0x0D0EB0, 0x0000020 - -gUnk_080D0ED0:: @ 080D0ED0 - .incbin "baserom.gba", 0x0D0ED0, 0x0000019 - -gUnk_080D0EE9:: @ 080D0EE9 - .incbin "baserom.gba", 0x0D0EE9, 0x000000C - -gUnk_080D0EF5:: @ 080D0EF5 - .incbin "baserom.gba", 0x0D0EF5, 0x000000D - -gUnk_080D0F02:: @ 080D0F02 - .incbin "baserom.gba", 0x0D0F02, 0x0000003 - -gUnk_080D0F05:: @ 080D0F05 - .incbin "baserom.gba", 0x0D0F05, 0x0000003 - -gUnk_080D0F08:: @ 080D0F08 - .incbin "baserom.gba", 0x0D0F08, 0x0000001 - -gUnk_080D0F09:: @ 080D0F09 - .incbin "baserom.gba", 0x0D0F09, 0x0000004 - -gUnk_080D0F0D:: @ 080D0F0D - .incbin "baserom.gba", 0x0D0F0D, 0x0000001 - -gUnk_080D0F0E:: @ 080D0F0E - .incbin "baserom.gba", 0x0D0F0E, 0x0000001 - -gUnk_080D0F0F:: @ 080D0F0F - .incbin "baserom.gba", 0x0D0F0F, 0x0000001 - -gUnk_080D0F10:: @ 080D0F10 - .incbin "baserom.gba", 0x0D0F10, 0x0000001 - -gUnk_080D0F11:: @ 080D0F11 - .incbin "baserom.gba", 0x0D0F11, 0x0000001 - -gUnk_080D0F12:: @ 080D0F12 - .incbin "baserom.gba", 0x0D0F12, 0x0000001 - -gUnk_080D0F13:: @ 080D0F13 - .incbin "baserom.gba", 0x0D0F13, 0x0000004 - -gUnk_080D0F17:: @ 080D0F17 - .incbin "baserom.gba", 0x0D0F17, 0x0000011 - -gUnk_080D0F28:: @ 080D0F28 - .incbin "baserom.gba", 0x0D0F28, 0x0000045 - -gUnk_080D0F6D:: @ 080D0F6D - .incbin "baserom.gba", 0x0D0F6D, 0x0000015 - -gUnk_080D0F82:: @ 080D0F82 - .incbin "baserom.gba", 0x0D0F82, 0x0000019 - -gUnk_080D0F9B:: @ 080D0F9B - .incbin "baserom.gba", 0x0D0F9B, 0x0000015 - -gUnk_080D0FB0:: @ 080D0FB0 - .incbin "baserom.gba", 0x0D0FB0, 0x0000011 - -gUnk_080D0FC1:: @ 080D0FC1 - .incbin "baserom.gba", 0x0D0FC1, 0x0000015 - -gUnk_080D0FD6:: @ 080D0FD6 - .incbin "baserom.gba", 0x0D0FD6, 0x000001D - -gUnk_080D0FF3:: @ 080D0FF3 - .incbin "baserom.gba", 0x0D0FF3, 0x0000005 - -gUnk_080D0FF8:: @ 080D0FF8 - .incbin "baserom.gba", 0x0D0FF8, 0x0000015 - -gUnk_080D100D:: @ 080D100D - .incbin "baserom.gba", 0x0D100D, 0x0000002 - -gUnk_080D100F:: @ 080D100F - .incbin "baserom.gba", 0x0D100F, 0x0000001 - -gUnk_080D1010:: @ 080D1010 - .incbin "baserom.gba", 0x0D1010, 0x0000001 - -gUnk_080D1011:: @ 080D1011 - .incbin "baserom.gba", 0x0D1011, 0x0000001 - -gUnk_080D1012:: @ 080D1012 - .incbin "baserom.gba", 0x0D1012, 0x0000001 - -gUnk_080D1013:: @ 080D1013 - .incbin "baserom.gba", 0x0D1013, 0x0000006 - -gUnk_080D1019:: @ 080D1019 - .incbin "baserom.gba", 0x0D1019, 0x0000012 - -gUnk_080D102B:: @ 080D102B - .incbin "baserom.gba", 0x0D102B, 0x000000B - -gUnk_080D1036:: @ 080D1036 - .incbin "baserom.gba", 0x0D1036, 0x0000019 - -gUnk_080D104F:: @ 080D104F - .incbin "baserom.gba", 0x0D104F, 0x0000011 - -gUnk_080D1060:: @ 080D1060 - .incbin "baserom.gba", 0x0D1060, 0x000000D - -gUnk_080D106D:: @ 080D106D - .incbin "baserom.gba", 0x0D106D, 0x000000D - -gUnk_080D107A:: @ 080D107A - .incbin "baserom.gba", 0x0D107A, 0x0000005 - -gUnk_080D107F:: @ 080D107F - .incbin "baserom.gba", 0x0D107F, 0x0000021 - -gUnk_080D10A0:: @ 080D10A0 - .incbin "baserom.gba", 0x0D10A0, 0x0000015 - -gUnk_080D10B5:: @ 080D10B5 - .incbin "baserom.gba", 0x0D10B5, 0x0000011 - -gUnk_080D10C6:: @ 080D10C6 - .incbin "baserom.gba", 0x0D10C6, 0x0000011 - -gUnk_080D10D7:: @ 080D10D7 - .incbin "baserom.gba", 0x0D10D7, 0x0000015 - -gUnk_080D10EC:: @ 080D10EC - .incbin "baserom.gba", 0x0D10EC, 0x0000005 - -gUnk_080D10F1:: @ 080D10F1 - .incbin "baserom.gba", 0x0D10F1, 0x0000015 - -gUnk_080D1106:: @ 080D1106 - .incbin "baserom.gba", 0x0D1106, 0x0000006 - -gUnk_080D110C:: @ 080D110C - .incbin "baserom.gba", 0x0D110C, 0x0000003 - -gUnk_080D110F:: @ 080D110F - .incbin "baserom.gba", 0x0D110F, 0x0000001 - -gUnk_080D1110:: @ 080D1110 - .incbin "baserom.gba", 0x0D1110, 0x0000001 - -gUnk_080D1111:: @ 080D1111 - .incbin "baserom.gba", 0x0D1111, 0x0000001 - -gUnk_080D1112:: @ 080D1112 - .incbin "baserom.gba", 0x0D1112, 0x0000002 - -gUnk_080D1114:: @ 080D1114 - .incbin "baserom.gba", 0x0D1114, 0x0000001 - -gUnk_080D1115:: @ 080D1115 - .incbin "baserom.gba", 0x0D1115, 0x0000001 - -gUnk_080D1116:: @ 080D1116 - .incbin "baserom.gba", 0x0D1116, 0x0000001 - -gUnk_080D1117:: @ 080D1117 - .incbin "baserom.gba", 0x0D1117, 0x0000007 - -gUnk_080D111E:: @ 080D111E - .incbin "baserom.gba", 0x0D111E, 0x000001A - -gUnk_080D1138:: @ 080D1138 - .incbin "baserom.gba", 0x0D1138, 0x0000015 - -gUnk_080D114D:: @ 080D114D - .incbin "baserom.gba", 0x0D114D, 0x0000031 - -gUnk_080D117E:: @ 080D117E - .incbin "baserom.gba", 0x0D117E, 0x0000019 - -gUnk_080D1197:: @ 080D1197 - .incbin "baserom.gba", 0x0D1197, 0x0000015 - -gUnk_080D11AC:: @ 080D11AC - .incbin "baserom.gba", 0x0D11AC, 0x000005C - -gUnk_080D1208:: @ 080D1208 - .incbin "baserom.gba", 0x0D1208, 0x0000004 - -gUnk_080D120C:: @ 080D120C - .incbin "baserom.gba", 0x0D120C, 0x0000001 - -gUnk_080D120D:: @ 080D120D - .incbin "baserom.gba", 0x0D120D, 0x0000002 - -gUnk_080D120F:: @ 080D120F - .incbin "baserom.gba", 0x0D120F, 0x0000002 - -gUnk_080D1211:: @ 080D1211 - .incbin "baserom.gba", 0x0D1211, 0x0000003 - -gUnk_080D1214:: @ 080D1214 - .incbin "baserom.gba", 0x0D1214, 0x0000001 - -gUnk_080D1215:: @ 080D1215 - .incbin "baserom.gba", 0x0D1215, 0x0000001 - -gUnk_080D1216:: @ 080D1216 - .incbin "baserom.gba", 0x0D1216, 0x0000001 - -gUnk_080D1217:: @ 080D1217 - .incbin "baserom.gba", 0x0D1217, 0x0000001 - -gUnk_080D1218:: @ 080D1218 - .incbin "baserom.gba", 0x0D1218, 0x0000001 - -gUnk_080D1219:: @ 080D1219 - .incbin "baserom.gba", 0x0D1219, 0x0000004 - -gUnk_080D121D:: @ 080D121D - .incbin "baserom.gba", 0x0D121D, 0x0000013 - -gUnk_080D1230:: @ 080D1230 - .incbin "baserom.gba", 0x0D1230, 0x0000018 - -gUnk_080D1248:: @ 080D1248 - .incbin "baserom.gba", 0x0D1248, 0x0000014 - -gUnk_080D125C:: @ 080D125C - .incbin "baserom.gba", 0x0D125C, 0x0000024 - -gUnk_080D1280:: @ 080D1280 - .incbin "baserom.gba", 0x0D1280, 0x0000004 - -gUnk_080D1284:: @ 080D1284 - .incbin "baserom.gba", 0x0D1284, 0x0000002 - -gUnk_080D1286:: @ 080D1286 - .incbin "baserom.gba", 0x0D1286, 0x000000A - -gUnk_080D1290:: @ 080D1290 - .incbin "baserom.gba", 0x0D1290, 0x000001C - -gUnk_080D12AC:: @ 080D12AC - .incbin "baserom.gba", 0x0D12AC, 0x0000004 - -gUnk_080D12B0:: @ 080D12B0 - .incbin "baserom.gba", 0x0D12B0, 0x0000002 - -gUnk_080D12B2:: @ 080D12B2 - .incbin "baserom.gba", 0x0D12B2, 0x0000002 - -gUnk_080D12B4:: @ 080D12B4 - .incbin "baserom.gba", 0x0D12B4, 0x0000002 - -gUnk_080D12B6:: @ 080D12B6 - .incbin "baserom.gba", 0x0D12B6, 0x0000002 - -gUnk_080D12B8:: @ 080D12B8 - .incbin "baserom.gba", 0x0D12B8, 0x0000010 - -gUnk_080D12C8:: @ 080D12C8 - .incbin "baserom.gba", 0x0D12C8, 0x0000002 - -gUnk_080D12CA:: @ 080D12CA - .incbin "baserom.gba", 0x0D12CA, 0x0000006 - -gUnk_080D12D0:: @ 080D12D0 - .incbin "baserom.gba", 0x0D12D0, 0x000001D - -gUnk_080D12ED:: @ 080D12ED - .incbin "baserom.gba", 0x0D12ED, 0x000000B - -gUnk_080D12F8:: @ 080D12F8 - .incbin "baserom.gba", 0x0D12F8, 0x0000006 - -gUnk_080D12FE:: @ 080D12FE - .incbin "baserom.gba", 0x0D12FE, 0x0000002 - -gUnk_080D1300:: @ 080D1300 - .incbin "baserom.gba", 0x0D1300, 0x0000004 - -gUnk_080D1304:: @ 080D1304 - .incbin "baserom.gba", 0x0D1304, 0x0000008 - -gUnk_080D130C:: @ 080D130C - .incbin "baserom.gba", 0x0D130C, 0x0000001 - -gUnk_080D130D:: @ 080D130D - .incbin "baserom.gba", 0x0D130D, 0x0000003 - -gUnk_080D1310:: @ 080D1310 - .incbin "baserom.gba", 0x0D1310, 0x0000004 - -gUnk_080D1314:: @ 080D1314 - .incbin "baserom.gba", 0x0D1314, 0x0000001 - -gUnk_080D1315:: @ 080D1315 - .incbin "baserom.gba", 0x0D1315, 0x0000001 - -gUnk_080D1316:: @ 080D1316 - .incbin "baserom.gba", 0x0D1316, 0x0000001 - -gUnk_080D1317:: @ 080D1317 - .incbin "baserom.gba", 0x0D1317, 0x0000001 - -gUnk_080D1318:: @ 080D1318 - .incbin "baserom.gba", 0x0D1318, 0x0000001 - -gUnk_080D1319:: @ 080D1319 - .incbin "baserom.gba", 0x0D1319, 0x0000001 - -gUnk_080D131A:: @ 080D131A - .incbin "baserom.gba", 0x0D131A, 0x0000002 - -gUnk_080D131C:: @ 080D131C - .incbin "baserom.gba", 0x0D131C, 0x0000004 - -gUnk_080D1320:: @ 080D1320 - .incbin "baserom.gba", 0x0D1320, 0x0000018 - -gUnk_080D1338:: @ 080D1338 - .incbin "baserom.gba", 0x0D1338, 0x0000004 - -gUnk_080D133C:: @ 080D133C - .incbin "baserom.gba", 0x0D133C, 0x0000004 - -gUnk_080D1340:: @ 080D1340 - .incbin "baserom.gba", 0x0D1340, 0x0000008 - -gUnk_080D1348:: @ 080D1348 - .incbin "baserom.gba", 0x0D1348, 0x0000014 - -gUnk_080D135C:: @ 080D135C - .incbin "baserom.gba", 0x0D135C, 0x0000006 - -gUnk_080D1362:: @ 080D1362 - .incbin "baserom.gba", 0x0D1362, 0x0000050 - -gUnk_080D13B2:: @ 080D13B2 - .incbin "baserom.gba", 0x0D13B2, 0x0000005 - -gUnk_080D13B7:: @ 080D13B7 - .incbin "baserom.gba", 0x0D13B7, 0x0000021 - -gUnk_080D13D8:: @ 080D13D8 - .incbin "baserom.gba", 0x0D13D8, 0x0000008 - -gUnk_080D13E0:: @ 080D13E0 - .incbin "baserom.gba", 0x0D13E0, 0x0000003 - -gUnk_080D13E3:: @ 080D13E3 - .incbin "baserom.gba", 0x0D13E3, 0x0000006 - -gUnk_080D13E9:: @ 080D13E9 - .incbin "baserom.gba", 0x0D13E9, 0x0000003 - -gUnk_080D13EC:: @ 080D13EC - .incbin "baserom.gba", 0x0D13EC, 0x0000014 - -gUnk_080D1400:: @ 080D1400 - .incbin "baserom.gba", 0x0D1400, 0x000000D - -gUnk_080D140D:: @ 080D140D - .incbin "baserom.gba", 0x0D140D, 0x0000005 - -gUnk_080D1412:: @ 080D1412 - .incbin "baserom.gba", 0x0D1412, 0x0000002 - -gUnk_080D1414:: @ 080D1414 - .incbin "baserom.gba", 0x0D1414, 0x0000003 - -gUnk_080D1417:: @ 080D1417 - .incbin "baserom.gba", 0x0D1417, 0x0000001 - -gUnk_080D1418:: @ 080D1418 - .incbin "baserom.gba", 0x0D1418, 0x0000001 - -gUnk_080D1419:: @ 080D1419 - .incbin "baserom.gba", 0x0D1419, 0x0000003 - -gUnk_080D141C:: @ 080D141C - .incbin "baserom.gba", 0x0D141C, 0x0000002 - -gUnk_080D141E:: @ 080D141E - .incbin "baserom.gba", 0x0D141E, 0x0000001 - -gUnk_080D141F:: @ 080D141F - .incbin "baserom.gba", 0x0D141F, 0x0000004 - -gUnk_080D1423:: @ 080D1423 - .incbin "baserom.gba", 0x0D1423, 0x0000008 - -gUnk_080D142B:: @ 080D142B - .incbin "baserom.gba", 0x0D142B, 0x0000005 - -gUnk_080D1430:: @ 080D1430 - .incbin "baserom.gba", 0x0D1430, 0x0000005 - -gUnk_080D1435:: @ 080D1435 - .incbin "baserom.gba", 0x0D1435, 0x0000005 - -gUnk_080D143A:: @ 080D143A - .incbin "baserom.gba", 0x0D143A, 0x0000005 - -gUnk_080D143F:: @ 080D143F - .incbin "baserom.gba", 0x0D143F, 0x0000005 - -gUnk_080D1444:: @ 080D1444 - .incbin "baserom.gba", 0x0D1444, 0x0000005 - -gUnk_080D1449:: @ 080D1449 - .incbin "baserom.gba", 0x0D1449, 0x0000005 - -gUnk_080D144E:: @ 080D144E - .incbin "baserom.gba", 0x0D144E, 0x0000005 - -gUnk_080D1453:: @ 080D1453 - .incbin "baserom.gba", 0x0D1453, 0x0000005 - -gUnk_080D1458:: @ 080D1458 - .incbin "baserom.gba", 0x0D1458, 0x0000005 - -gUnk_080D145D:: @ 080D145D - .incbin "baserom.gba", 0x0D145D, 0x0000005 - -gUnk_080D1462:: @ 080D1462 - .incbin "baserom.gba", 0x0D1462, 0x0000005 - -gUnk_080D1467:: @ 080D1467 - .incbin "baserom.gba", 0x0D1467, 0x0000021 - -gUnk_080D1488:: @ 080D1488 - .incbin "baserom.gba", 0x0D1488, 0x0000005 - -gUnk_080D148D:: @ 080D148D - .incbin "baserom.gba", 0x0D148D, 0x0000051 - -gUnk_080D14DE:: @ 080D14DE - .incbin "baserom.gba", 0x0D14DE, 0x0000015 - -gUnk_080D14F3:: @ 080D14F3 - .incbin "baserom.gba", 0x0D14F3, 0x0000019 - -gUnk_080D150C:: @ 080D150C - .incbin "baserom.gba", 0x0D150C, 0x0000009 - -gUnk_080D1515:: @ 080D1515 - .incbin "baserom.gba", 0x0D1515, 0x0000005 - -gUnk_080D151A:: @ 080D151A - .incbin "baserom.gba", 0x0D151A, 0x000000B - -gUnk_080D1525:: @ 080D1525 - .incbin "baserom.gba", 0x0D1525, 0x0000005 - -gUnk_080D152A:: @ 080D152A - .incbin "baserom.gba", 0x0D152A, 0x0000006 - -gUnk_080D1530:: @ 080D1530 - .incbin "baserom.gba", 0x0D1530, 0x0000058 - -gUnk_080D1588:: @ 080D1588 - .incbin "baserom.gba", 0x0D1588, 0x0000018 - -gUnk_080D15A0:: @ 080D15A0 - .incbin "baserom.gba", 0x0D15A0, 0x0000008 - -gUnk_080D15A8:: @ 080D15A8 - .incbin "baserom.gba", 0x0D15A8, 0x000000C - -gUnk_080D15B4:: @ 080D15B4 - .incbin "baserom.gba", 0x0D15B4, 0x0000050 - -gUnk_080D1604:: @ 080D1604 - .incbin "baserom.gba", 0x0D1604, 0x0000014 - -gUnk_080D1618:: @ 080D1618 - .incbin "baserom.gba", 0x0D1618, 0x0000005 - -gUnk_080D161D:: @ 080D161D - .incbin "baserom.gba", 0x0D161D, 0x0000003 - -gUnk_080D1620:: @ 080D1620 - .incbin "baserom.gba", 0x0D1620, 0x0000008 - -gUnk_080D1628:: @ 080D1628 - .incbin "baserom.gba", 0x0D1628, 0x0000007 - -gUnk_080D162F:: @ 080D162F - .incbin "baserom.gba", 0x0D162F, 0x0000009 - -gUnk_080D1638:: @ 080D1638 - .incbin "baserom.gba", 0x0D1638, 0x0000005 - -gUnk_080D163D:: @ 080D163D - .incbin "baserom.gba", 0x0D163D, 0x0000031 - -gUnk_080D166E:: @ 080D166E - .incbin "baserom.gba", 0x0D166E, 0x0000026 - -gUnk_080D1694:: @ 080D1694 - .incbin "baserom.gba", 0x0D1694, 0x0000010 - -gUnk_080D16A4:: @ 080D16A4 - .incbin "baserom.gba", 0x0D16A4, 0x0000018 - -gUnk_080D16BC:: @ 080D16BC - .incbin "baserom.gba", 0x0D16BC, 0x0000014 - -gUnk_080D16D0:: @ 080D16D0 - .incbin "baserom.gba", 0x0D16D0, 0x0000004 - -gUnk_080D16D4:: @ 080D16D4 - .incbin "baserom.gba", 0x0D16D4, 0x0000008 - -gUnk_080D16DC:: @ 080D16DC - .incbin "baserom.gba", 0x0D16DC, 0x0000009 - -gUnk_080D16E5:: @ 080D16E5 - .incbin "baserom.gba", 0x0D16E5, 0x0000010 - -gUnk_080D16F5:: @ 080D16F5 - .incbin "baserom.gba", 0x0D16F5, 0x0000018 - -gUnk_080D170D:: @ 080D170D - .incbin "baserom.gba", 0x0D170D, 0x0000010 - -gUnk_080D171D:: @ 080D171D - .incbin "baserom.gba", 0x0D171D, 0x0000004 - -gUnk_080D1721:: @ 080D1721 - .incbin "baserom.gba", 0x0D1721, 0x0000020 - -gUnk_080D1741:: @ 080D1741 - .incbin "baserom.gba", 0x0D1741, 0x0000020 - -gUnk_080D1761:: @ 080D1761 - .incbin "baserom.gba", 0x0D1761, 0x0000009 - -gUnk_080D176A:: @ 080D176A - .incbin "baserom.gba", 0x0D176A, 0x0000009 - -gUnk_080D1773:: @ 080D1773 - .incbin "baserom.gba", 0x0D1773, 0x0000005 - -gUnk_080D1778:: @ 080D1778 - .incbin "baserom.gba", 0x0D1778, 0x0000005 - -gUnk_080D177D:: @ 080D177D - .incbin "baserom.gba", 0x0D177D, 0x0000013 - -gUnk_080D1790:: @ 080D1790 - .incbin "baserom.gba", 0x0D1790, 0x0000030 - -gUnk_080D17C0:: @ 080D17C0 - .incbin "baserom.gba", 0x0D17C0, 0x0000018 - -gUnk_080D17D8:: @ 080D17D8 - .incbin "baserom.gba", 0x0D17D8, 0x0000010 - -gUnk_080D17E8:: @ 080D17E8 - .incbin "baserom.gba", 0x0D17E8, 0x0000018 - -gUnk_080D1800:: @ 080D1800 - .incbin "baserom.gba", 0x0D1800, 0x000000C - -gUnk_080D180C:: @ 080D180C - .incbin "baserom.gba", 0x0D180C, 0x0000004 - -gUnk_080D1810:: @ 080D1810 - .incbin "baserom.gba", 0x0D1810, 0x0000008 - -gUnk_080D1818:: @ 080D1818 - .incbin "baserom.gba", 0x0D1818, 0x0000004 - -gUnk_080D181C:: @ 080D181C - .incbin "baserom.gba", 0x0D181C, 0x0000010 - -gUnk_080D182C:: @ 080D182C - .incbin "baserom.gba", 0x0D182C, 0x000000D - -gUnk_080D1839:: @ 080D1839 - .incbin "baserom.gba", 0x0D1839, 0x0000023 - -gUnk_080D185C:: @ 080D185C - .incbin "baserom.gba", 0x0D185C, 0x000000C - -gUnk_080D1868:: @ 080D1868 - .incbin "baserom.gba", 0x0D1868, 0x0000018 - -gUnk_080D1880:: @ 080D1880 - .incbin "baserom.gba", 0x0D1880, 0x0000008 - -gUnk_080D1888:: @ 080D1888 - .incbin "baserom.gba", 0x0D1888, 0x0000018 - -gUnk_080D18A0:: @ 080D18A0 - .incbin "baserom.gba", 0x0D18A0, 0x0000014 - -gUnk_080D18B4:: @ 080D18B4 - .incbin "baserom.gba", 0x0D18B4, 0x0000010 - -gUnk_080D18C4:: @ 080D18C4 - .incbin "baserom.gba", 0x0D18C4, 0x0000005 - -gUnk_080D18C9:: @ 080D18C9 - .incbin "baserom.gba", 0x0D18C9, 0x0000011 - -gUnk_080D18DA:: @ 080D18DA - .incbin "baserom.gba", 0x0D18DA, 0x0000019 - -gUnk_080D18F3:: @ 080D18F3 - .incbin "baserom.gba", 0x0D18F3, 0x0000021 - -gUnk_080D1914:: @ 080D1914 - .incbin "baserom.gba", 0x0D1914, 0x0000004 - -gUnk_080D1918:: @ 080D1918 - .incbin "baserom.gba", 0x0D1918, 0x0000005 - -gUnk_080D191D:: @ 080D191D - .incbin "baserom.gba", 0x0D191D, 0x0000007 - -gUnk_080D1924:: @ 080D1924 - .incbin "baserom.gba", 0x0D1924, 0x0000002 - -gUnk_080D1926:: @ 080D1926 - .incbin "baserom.gba", 0x0D1926, 0x0000009 - -gUnk_080D192F:: @ 080D192F - .incbin "baserom.gba", 0x0D192F, 0x0000005 - -gUnk_080D1934:: @ 080D1934 - .incbin "baserom.gba", 0x0D1934, 0x0000011 - -gUnk_080D1945:: @ 080D1945 - .incbin "baserom.gba", 0x0D1945, 0x0000015 - -gUnk_080D195A:: @ 080D195A - .incbin "baserom.gba", 0x0D195A, 0x000000D - -gUnk_080D1967:: @ 080D1967 - .incbin "baserom.gba", 0x0D1967, 0x0000021 - -gUnk_080D1988:: @ 080D1988 - .incbin "baserom.gba", 0x0D1988, 0x0000025 - -gUnk_080D19AD:: @ 080D19AD - .incbin "baserom.gba", 0x0D19AD, 0x000000B - -gUnk_080D19B8:: @ 080D19B8 - .incbin "baserom.gba", 0x0D19B8, 0x0000044 - -gUnk_080D19FC:: @ 080D19FC - .incbin "baserom.gba", 0x0D19FC, 0x0000018 - -gUnk_080D1A14:: @ 080D1A14 - .incbin "baserom.gba", 0x0D1A14, 0x0000024 - -gUnk_080D1A38:: @ 080D1A38 - .incbin "baserom.gba", 0x0D1A38, 0x0000006 - -gUnk_080D1A3E:: @ 080D1A3E - .incbin "baserom.gba", 0x0D1A3E, 0x0000010 - -gUnk_080D1A4E:: @ 080D1A4E - .incbin "baserom.gba", 0x0D1A4E, 0x0000016 - -gUnk_080D1A64:: @ 080D1A64 - .incbin "baserom.gba", 0x0D1A64, 0x0000010 - -gUnk_080D1A74:: @ 080D1A74 - .incbin "baserom.gba", 0x0D1A74, 0x0000010 - -gUnk_080D1A84:: @ 080D1A84 - .incbin "baserom.gba", 0x0D1A84, 0x0000010 - -gUnk_080D1A94:: @ 080D1A94 - .incbin "baserom.gba", 0x0D1A94, 0x0000018 - -gUnk_080D1AAC:: @ 080D1AAC - .incbin "baserom.gba", 0x0D1AAC, 0x0000018 - -gUnk_080D1AC4:: @ 080D1AC4 - .incbin "baserom.gba", 0x0D1AC4, 0x0000018 - -gUnk_080D1ADC:: @ 080D1ADC - .incbin "baserom.gba", 0x0D1ADC, 0x0000018 - -gUnk_080D1AF4:: @ 080D1AF4 - .incbin "baserom.gba", 0x0D1AF4, 0x0000004 - -gUnk_080D1AF8:: @ 080D1AF8 - .incbin "baserom.gba", 0x0D1AF8, 0x0000004 - -gUnk_080D1AFC:: @ 080D1AFC - .incbin "baserom.gba", 0x0D1AFC, 0x0000020 - -gUnk_080D1B1C:: @ 080D1B1C - .incbin "baserom.gba", 0x0D1B1C, 0x0000003 - -gUnk_080D1B1F:: @ 080D1B1F - .incbin "baserom.gba", 0x0D1B1F, 0x0000019 - -gUnk_080D1B38:: @ 080D1B38 - .incbin "baserom.gba", 0x0D1B38, 0x0000014 - -gUnk_080D1B4C:: @ 080D1B4C - .incbin "baserom.gba", 0x0D1B4C, 0x0000014 - -gUnk_080D1B60:: @ 080D1B60 - .incbin "baserom.gba", 0x0D1B60, 0x0000010 - -gUnk_080D1B70:: @ 080D1B70 - .incbin "baserom.gba", 0x0D1B70, 0x0000004 - -gUnk_080D1B74:: @ 080D1B74 - .incbin "baserom.gba", 0x0D1B74, 0x0000020 - -gUnk_080D1B94:: @ 080D1B94 - .incbin "baserom.gba", 0x0D1B94, 0x0000028 - -gUnk_080D1BBC:: @ 080D1BBC - .incbin "baserom.gba", 0x0D1BBC, 0x0000004 - -gUnk_080D1BC0:: @ 080D1BC0 - .incbin "baserom.gba", 0x0D1BC0, 0x000001C - -gUnk_080D1BDC:: @ 080D1BDC - .incbin "baserom.gba", 0x0D1BDC, 0x0000014 - -gUnk_080D1BF0:: @ 080D1BF0 - .incbin "baserom.gba", 0x0D1BF0, 0x0000004 - -gUnk_080D1BF4:: @ 080D1BF4 - .incbin "baserom.gba", 0x0D1BF4, 0x000000C - -gUnk_080D1C00:: @ 080D1C00 - .incbin "baserom.gba", 0x0D1C00, 0x0000004 - -gUnk_080D1C04:: @ 080D1C04 - .incbin "baserom.gba", 0x0D1C04, 0x0000017 - -gUnk_080D1C1B:: @ 080D1C1B - .incbin "baserom.gba", 0x0D1C1B, 0x0000013 - -gUnk_080D1C2E:: @ 080D1C2E - .incbin "baserom.gba", 0x0D1C2E, 0x0000016 - -gUnk_080D1C44:: @ 080D1C44 - .incbin "baserom.gba", 0x0D1C44, 0x000000C - -gUnk_080D1C50:: @ 080D1C50 - .incbin "baserom.gba", 0x0D1C50, 0x0000010 - -gUnk_080D1C60:: @ 080D1C60 - .incbin "baserom.gba", 0x0D1C60, 0x0000010 - -gUnk_080D1C70:: @ 080D1C70 - .incbin "baserom.gba", 0x0D1C70, 0x0000021 - -gUnk_080D1C91:: @ 080D1C91 - .incbin "baserom.gba", 0x0D1C91, 0x000002B - -gUnk_080D1CBC:: @ 080D1CBC - .incbin "baserom.gba", 0x0D1CBC, 0x000000C - -gUnk_080D1CC8:: @ 080D1CC8 - .incbin "baserom.gba", 0x0D1CC8, 0x0000018 - -gUnk_080D1CE0:: @ 080D1CE0 - .incbin "baserom.gba", 0x0D1CE0, 0x0000010 - -gUnk_080D1CF0:: @ 080D1CF0 - .incbin "baserom.gba", 0x0D1CF0, 0x0000009 - -gUnk_080D1CF9:: @ 080D1CF9 - .incbin "baserom.gba", 0x0D1CF9, 0x0000009 - -gUnk_080D1D02:: @ 080D1D02 - .incbin "baserom.gba", 0x0D1D02, 0x0000020 - -gUnk_080D1D22:: @ 080D1D22 - .incbin "baserom.gba", 0x0D1D22, 0x0000001 - -gUnk_080D1D23:: @ 080D1D23 - .incbin "baserom.gba", 0x0D1D23, 0x0000003 - -gUnk_080D1D26:: @ 080D1D26 - .incbin "baserom.gba", 0x0D1D26, 0x0000001 - -gUnk_080D1D27:: @ 080D1D27 - .incbin "baserom.gba", 0x0D1D27, 0x0000005 - -gUnk_080D1D2C:: @ 080D1D2C - .incbin "baserom.gba", 0x0D1D2C, 0x0000008 - -gUnk_080D1D34:: @ 080D1D34 - .incbin "baserom.gba", 0x0D1D34, 0x0000014 - -gUnk_080D1D48:: @ 080D1D48 - .incbin "baserom.gba", 0x0D1D48, 0x0000028 - -gUnk_080D1D70:: @ 080D1D70 - .incbin "baserom.gba", 0x0D1D70, 0x0000008 - -gUnk_080D1D78:: @ 080D1D78 - .incbin "baserom.gba", 0x0D1D78, 0x0000020 - -gUnk_080D1D98:: @ 080D1D98 - .incbin "baserom.gba", 0x0D1D98, 0x0000008 - -gUnk_080D1DA0:: @ 080D1DA0 - .incbin "baserom.gba", 0x0D1DA0, 0x0000028 - -gUnk_080D1DC8:: @ 080D1DC8 - .incbin "baserom.gba", 0x0D1DC8, 0x0000004 - -gUnk_080D1DCC:: @ 080D1DCC - .incbin "baserom.gba", 0x0D1DCC, 0x0000004 - -gUnk_080D1DD0:: @ 080D1DD0 - .incbin "baserom.gba", 0x0D1DD0, 0x000000C - -gUnk_080D1DDC:: @ 080D1DDC - .incbin "baserom.gba", 0x0D1DDC, 0x000000C - -gUnk_080D1DE8:: @ 080D1DE8 - .incbin "baserom.gba", 0x0D1DE8, 0x000001D - -gUnk_080D1E05:: @ 080D1E05 - .incbin "baserom.gba", 0x0D1E05, 0x0000016 - -gUnk_080D1E1B:: @ 080D1E1B - .incbin "baserom.gba", 0x0D1E1B, 0x0000006 - -gUnk_080D1E21:: @ 080D1E21 - .incbin "baserom.gba", 0x0D1E21, 0x0000005 - -gUnk_080D1E26:: @ 080D1E26 - .incbin "baserom.gba", 0x0D1E26, 0x000000C - -gUnk_080D1E32:: @ 080D1E32 - .incbin "baserom.gba", 0x0D1E32, 0x0000012 - -gUnk_080D1E44:: @ 080D1E44 - .incbin "baserom.gba", 0x0D1E44, 0x0000028 - -gUnk_080D1E6C:: @ 080D1E6C - .incbin "baserom.gba", 0x0D1E6C, 0x0000018 - -gUnk_080D1E84:: @ 080D1E84 - .incbin "baserom.gba", 0x0D1E84, 0x0000010 - -gUnk_080D1E94:: @ 080D1E94 - .incbin "baserom.gba", 0x0D1E94, 0x000000C - -gUnk_080D1EA0:: @ 080D1EA0 - .incbin "baserom.gba", 0x0D1EA0, 0x0000016 - -gUnk_080D1EB6:: @ 080D1EB6 - .incbin "baserom.gba", 0x0D1EB6, 0x0000009 - -gUnk_080D1EBF:: @ 080D1EBF - .incbin "baserom.gba", 0x0D1EBF, 0x0000009 - -gUnk_080D1EC8:: @ 080D1EC8 - .incbin "baserom.gba", 0x0D1EC8, 0x0000009 - -gUnk_080D1ED1:: @ 080D1ED1 - .incbin "baserom.gba", 0x0D1ED1, 0x0000009 - -gUnk_080D1EDA:: @ 080D1EDA - .incbin "baserom.gba", 0x0D1EDA, 0x0000009 - -gUnk_080D1EE3:: @ 080D1EE3 - .incbin "baserom.gba", 0x0D1EE3, 0x0000009 - -gUnk_080D1EEC:: @ 080D1EEC - .incbin "baserom.gba", 0x0D1EEC, 0x0000009 - -gUnk_080D1EF5:: @ 080D1EF5 - .incbin "baserom.gba", 0x0D1EF5, 0x0000009 - -gUnk_080D1EFE:: @ 080D1EFE - .incbin "baserom.gba", 0x0D1EFE, 0x0000004 - -gUnk_080D1F02:: @ 080D1F02 - .incbin "baserom.gba", 0x0D1F02, 0x0000004 - -gUnk_080D1F06:: @ 080D1F06 - .incbin "baserom.gba", 0x0D1F06, 0x0000004 - -gUnk_080D1F0A:: @ 080D1F0A - .incbin "baserom.gba", 0x0D1F0A, 0x0000004 - -gUnk_080D1F0E:: @ 080D1F0E - .incbin "baserom.gba", 0x0D1F0E, 0x0000004 - -gUnk_080D1F12:: @ 080D1F12 - .incbin "baserom.gba", 0x0D1F12, 0x0000004 - -gUnk_080D1F16:: @ 080D1F16 - .incbin "baserom.gba", 0x0D1F16, 0x0000004 - -gUnk_080D1F1A:: @ 080D1F1A - .incbin "baserom.gba", 0x0D1F1A, 0x0000006 - -gUnk_080D1F20:: @ 080D1F20 - .incbin "baserom.gba", 0x0D1F20, 0x0000014 - -gUnk_080D1F34:: @ 080D1F34 - .incbin "baserom.gba", 0x0D1F34, 0x0000030 - -gUnk_080D1F64:: @ 080D1F64 - .incbin "baserom.gba", 0x0D1F64, 0x0000018 - -gUnk_080D1F7C:: @ 080D1F7C - .incbin "baserom.gba", 0x0D1F7C, 0x0000014 - -gUnk_080D1F90:: @ 080D1F90 - .incbin "baserom.gba", 0x0D1F90, 0x0000080 - -gUnk_080D2010:: @ 080D2010 - .incbin "baserom.gba", 0x0D2010, 0x0000020 - -gUnk_080D2030:: @ 080D2030 - .incbin "baserom.gba", 0x0D2030, 0x0000020 - -gUnk_080D2050:: @ 080D2050 - .incbin "baserom.gba", 0x0D2050, 0x0000014 - -gUnk_080D2064:: @ 080D2064 - .incbin "baserom.gba", 0x0D2064, 0x0000014 - -gUnk_080D2078:: @ 080D2078 - .incbin "baserom.gba", 0x0D2078, 0x0000014 - -gUnk_080D208C:: @ 080D208C - .incbin "baserom.gba", 0x0D208C, 0x0000014 - -gUnk_080D20A0:: @ 080D20A0 - .incbin "baserom.gba", 0x0D20A0, 0x0000014 - -gUnk_080D20B4:: @ 080D20B4 - .incbin "baserom.gba", 0x0D20B4, 0x0000014 - -gUnk_080D20C8:: @ 080D20C8 - .incbin "baserom.gba", 0x0D20C8, 0x0000014 - -gUnk_080D20DC:: @ 080D20DC - .incbin "baserom.gba", 0x0D20DC, 0x0000014 - -gUnk_080D20F0:: @ 080D20F0 - .incbin "baserom.gba", 0x0D20F0, 0x0000014 - -gUnk_080D2104:: @ 080D2104 - .incbin "baserom.gba", 0x0D2104, 0x0000014 - -gUnk_080D2118:: @ 080D2118 - .incbin "baserom.gba", 0x0D2118, 0x0000014 - -gUnk_080D212C:: @ 080D212C - .incbin "baserom.gba", 0x0D212C, 0x0000014 - -gUnk_080D2140:: @ 080D2140 - .incbin "baserom.gba", 0x0D2140, 0x0000014 - -gUnk_080D2154:: @ 080D2154 - .incbin "baserom.gba", 0x0D2154, 0x0000014 - -gUnk_080D2168:: @ 080D2168 - .incbin "baserom.gba", 0x0D2168, 0x0000014 - -gUnk_080D217C:: @ 080D217C - .incbin "baserom.gba", 0x0D217C, 0x0000014 - -gUnk_080D2190:: @ 080D2190 - .incbin "baserom.gba", 0x0D2190, 0x0000029 - -gUnk_080D21B9:: @ 080D21B9 - .incbin "baserom.gba", 0x0D21B9, 0x0000029 - -gUnk_080D21E2:: @ 080D21E2 - .incbin "baserom.gba", 0x0D21E2, 0x0000029 - -gUnk_080D220B:: @ 080D220B - .incbin "baserom.gba", 0x0D220B, 0x0000029 - -gUnk_080D2234:: @ 080D2234 - .incbin "baserom.gba", 0x0D2234, 0x0000010 - -gUnk_080D2244:: @ 080D2244 - .incbin "baserom.gba", 0x0D2244, 0x0000010 - -gUnk_080D2254:: @ 080D2254 - .incbin "baserom.gba", 0x0D2254, 0x0000010 - -gUnk_080D2264:: @ 080D2264 - .incbin "baserom.gba", 0x0D2264, 0x0000010 - -gUnk_080D2274:: @ 080D2274 - .incbin "baserom.gba", 0x0D2274, 0x0000064 - -gUnk_080D22D8:: @ 080D22D8 - .incbin "baserom.gba", 0x0D22D8, 0x0000018 - -gUnk_080D22F0:: @ 080D22F0 - .incbin "baserom.gba", 0x0D22F0, 0x0000010 - -gUnk_080D2300:: @ 080D2300 - .incbin "baserom.gba", 0x0D2300, 0x0000048 - -gUnk_080D2348:: @ 080D2348 - .incbin "baserom.gba", 0x0D2348, 0x0000020 - -gUnk_080D2368:: @ 080D2368 - .incbin "baserom.gba", 0x0D2368, 0x0000011 - -gUnk_080D2379:: @ 080D2379 - .incbin "baserom.gba", 0x0D2379, 0x0000011 - -gUnk_080D238A:: @ 080D238A - .incbin "baserom.gba", 0x0D238A, 0x0000011 - -gUnk_080D239B:: @ 080D239B - .incbin "baserom.gba", 0x0D239B, 0x0000011 - -gUnk_080D23AC:: @ 080D23AC - .incbin "baserom.gba", 0x0D23AC, 0x0000011 - -gUnk_080D23BD:: @ 080D23BD - .incbin "baserom.gba", 0x0D23BD, 0x0000011 - -gUnk_080D23CE:: @ 080D23CE - .incbin "baserom.gba", 0x0D23CE, 0x0000011 - -gUnk_080D23DF:: @ 080D23DF - .incbin "baserom.gba", 0x0D23DF, 0x0000011 - -gUnk_080D23F0:: @ 080D23F0 - .incbin "baserom.gba", 0x0D23F0, 0x0000011 - -gUnk_080D2401:: @ 080D2401 - .incbin "baserom.gba", 0x0D2401, 0x0000011 - -gUnk_080D2412:: @ 080D2412 - .incbin "baserom.gba", 0x0D2412, 0x0000011 - -gUnk_080D2423:: @ 080D2423 - .incbin "baserom.gba", 0x0D2423, 0x0000011 - -gUnk_080D2434:: @ 080D2434 - .incbin "baserom.gba", 0x0D2434, 0x0000011 - -gUnk_080D2445:: @ 080D2445 - .incbin "baserom.gba", 0x0D2445, 0x0000011 - -gUnk_080D2456:: @ 080D2456 - .incbin "baserom.gba", 0x0D2456, 0x0000011 - -gUnk_080D2467:: @ 080D2467 - .incbin "baserom.gba", 0x0D2467, 0x0000011 - -gUnk_080D2478:: @ 080D2478 - .incbin "baserom.gba", 0x0D2478, 0x0000011 - -gUnk_080D2489:: @ 080D2489 - .incbin "baserom.gba", 0x0D2489, 0x0000011 - -gUnk_080D249A:: @ 080D249A - .incbin "baserom.gba", 0x0D249A, 0x0000011 - -gUnk_080D24AB:: @ 080D24AB - .incbin "baserom.gba", 0x0D24AB, 0x0000011 - -gUnk_080D24BC:: @ 080D24BC - .incbin "baserom.gba", 0x0D24BC, 0x0000011 - -gUnk_080D24CD:: @ 080D24CD - .incbin "baserom.gba", 0x0D24CD, 0x0000011 - -gUnk_080D24DE:: @ 080D24DE - .incbin "baserom.gba", 0x0D24DE, 0x0000011 - -gUnk_080D24EF:: @ 080D24EF - .incbin "baserom.gba", 0x0D24EF, 0x0000011 - -gUnk_080D2500:: @ 080D2500 - .incbin "baserom.gba", 0x0D2500, 0x0000011 - -gUnk_080D2511:: @ 080D2511 - .incbin "baserom.gba", 0x0D2511, 0x0000011 - -gUnk_080D2522:: @ 080D2522 - .incbin "baserom.gba", 0x0D2522, 0x0000011 - -gUnk_080D2533:: @ 080D2533 - .incbin "baserom.gba", 0x0D2533, 0x0000011 - -gUnk_080D2544:: @ 080D2544 - .incbin "baserom.gba", 0x0D2544, 0x0000011 - -gUnk_080D2555:: @ 080D2555 - .incbin "baserom.gba", 0x0D2555, 0x0000011 - -gUnk_080D2566:: @ 080D2566 - .incbin "baserom.gba", 0x0D2566, 0x0000011 - -gUnk_080D2577:: @ 080D2577 - .incbin "baserom.gba", 0x0D2577, 0x0000011 - -gUnk_080D2588:: @ 080D2588 - .incbin "baserom.gba", 0x0D2588, 0x0000011 - -gUnk_080D2599:: @ 080D2599 - .incbin "baserom.gba", 0x0D2599, 0x0000011 - -gUnk_080D25AA:: @ 080D25AA - .incbin "baserom.gba", 0x0D25AA, 0x0000011 - -gUnk_080D25BB:: @ 080D25BB - .incbin "baserom.gba", 0x0D25BB, 0x0000011 - -gUnk_080D25CC:: @ 080D25CC - .incbin "baserom.gba", 0x0D25CC, 0x0000011 - -gUnk_080D25DD:: @ 080D25DD - .incbin "baserom.gba", 0x0D25DD, 0x0000011 - -gUnk_080D25EE:: @ 080D25EE - .incbin "baserom.gba", 0x0D25EE, 0x0000011 - -gUnk_080D25FF:: @ 080D25FF - .incbin "baserom.gba", 0x0D25FF, 0x0000011 - -gUnk_080D2610:: @ 080D2610 - .incbin "baserom.gba", 0x0D2610, 0x0000011 - -gUnk_080D2621:: @ 080D2621 - .incbin "baserom.gba", 0x0D2621, 0x0000011 - -gUnk_080D2632:: @ 080D2632 - .incbin "baserom.gba", 0x0D2632, 0x0000011 - -gUnk_080D2643:: @ 080D2643 - .incbin "baserom.gba", 0x0D2643, 0x0000011 - -gUnk_080D2654:: @ 080D2654 - .incbin "baserom.gba", 0x0D2654, 0x0000011 - -gUnk_080D2665:: @ 080D2665 - .incbin "baserom.gba", 0x0D2665, 0x0000011 - -gUnk_080D2676:: @ 080D2676 - .incbin "baserom.gba", 0x0D2676, 0x0000011 - -gUnk_080D2687:: @ 080D2687 - .incbin "baserom.gba", 0x0D2687, 0x0000011 - -gUnk_080D2698:: @ 080D2698 - .incbin "baserom.gba", 0x0D2698, 0x0000011 - -gUnk_080D26A9:: @ 080D26A9 - .incbin "baserom.gba", 0x0D26A9, 0x0000011 - -gUnk_080D26BA:: @ 080D26BA - .incbin "baserom.gba", 0x0D26BA, 0x0000011 - -gUnk_080D26CB:: @ 080D26CB - .incbin "baserom.gba", 0x0D26CB, 0x0000011 - -gUnk_080D26DC:: @ 080D26DC - .incbin "baserom.gba", 0x0D26DC, 0x0000011 - -gUnk_080D26ED:: @ 080D26ED - .incbin "baserom.gba", 0x0D26ED, 0x0000011 - -gUnk_080D26FE:: @ 080D26FE - .incbin "baserom.gba", 0x0D26FE, 0x0000011 - -gUnk_080D270F:: @ 080D270F - .incbin "baserom.gba", 0x0D270F, 0x0000011 - -gUnk_080D2720:: @ 080D2720 - .incbin "baserom.gba", 0x0D2720, 0x0000011 - -gUnk_080D2731:: @ 080D2731 - .incbin "baserom.gba", 0x0D2731, 0x0000011 - -gUnk_080D2742:: @ 080D2742 - .incbin "baserom.gba", 0x0D2742, 0x0000011 - -gUnk_080D2753:: @ 080D2753 - .incbin "baserom.gba", 0x0D2753, 0x0000011 - -gUnk_080D2764:: @ 080D2764 - .incbin "baserom.gba", 0x0D2764, 0x0000011 - -gUnk_080D2775:: @ 080D2775 - .incbin "baserom.gba", 0x0D2775, 0x0000011 - -gUnk_080D2786:: @ 080D2786 - .incbin "baserom.gba", 0x0D2786, 0x0000011 - -gUnk_080D2797:: @ 080D2797 - .incbin "baserom.gba", 0x0D2797, 0x0000011 - -gUnk_080D27A8:: @ 080D27A8 - .incbin "baserom.gba", 0x0D27A8, 0x0000104 - -gUnk_080D28AC:: @ 080D28AC - .incbin "baserom.gba", 0x0D28AC, 0x0000020 - -gUnk_080D28CC:: @ 080D28CC - .incbin "baserom.gba", 0x0D28CC, 0x0000010 - -gUnk_080D28DC:: @ 080D28DC - .incbin "baserom.gba", 0x0D28DC, 0x0000008 - -gUnk_080D28E4:: @ 080D28E4 - .incbin "baserom.gba", 0x0D28E4, 0x0000008 - -gUnk_080D28EC:: @ 080D28EC - .incbin "baserom.gba", 0x0D28EC, 0x0000008 - -gUnk_080D28F4:: @ 080D28F4 - .incbin "baserom.gba", 0x0D28F4, 0x0000008 - -gUnk_080D28FC:: @ 080D28FC - .incbin "baserom.gba", 0x0D28FC, 0x0000008 - -gUnk_080D2904:: @ 080D2904 - .incbin "baserom.gba", 0x0D2904, 0x0000008 - -gUnk_080D290C:: @ 080D290C - .incbin "baserom.gba", 0x0D290C, 0x0000008 - -gUnk_080D2914:: @ 080D2914 - .incbin "baserom.gba", 0x0D2914, 0x0000008 - -gUnk_080D291C:: @ 080D291C - .incbin "baserom.gba", 0x0D291C, 0x0000011 - -gUnk_080D292D:: @ 080D292D - .incbin "baserom.gba", 0x0D292D, 0x0000011 - -gUnk_080D293E:: @ 080D293E - .incbin "baserom.gba", 0x0D293E, 0x000000C - -gUnk_080D294A:: @ 080D294A - .incbin "baserom.gba", 0x0D294A, 0x0000005 - -gUnk_080D294F:: @ 080D294F - .incbin "baserom.gba", 0x0D294F, 0x0000011 - -gUnk_080D2960:: @ 080D2960 - .incbin "baserom.gba", 0x0D2960, 0x0000014 - -gUnk_080D2974:: @ 080D2974 - .incbin "baserom.gba", 0x0D2974, 0x0000014 - -gUnk_080D2988:: @ 080D2988 - .incbin "baserom.gba", 0x0D2988, 0x0000008 - -gUnk_080D2990:: @ 080D2990 - .incbin "baserom.gba", 0x0D2990, 0x0000018 - -gUnk_080D29A8:: @ 080D29A8 - .incbin "baserom.gba", 0x0D29A8, 0x0000010 - -gUnk_080D29B8:: @ 080D29B8 - .incbin "baserom.gba", 0x0D29B8, 0x0000008 - -gUnk_080D29C0:: @ 080D29C0 - .incbin "baserom.gba", 0x0D29C0, 0x0000020 - -gUnk_080D29E0:: @ 080D29E0 - .incbin "baserom.gba", 0x0D29E0, 0x00000D0 - -gUnk_080D2AB0:: @ 080D2AB0 - .incbin "baserom.gba", 0x0D2AB0, 0x000000C - -gUnk_080D2ABC:: @ 080D2ABC - .incbin "baserom.gba", 0x0D2ABC, 0x000019C - -gUnk_080D2C58:: @ 080D2C58 - .incbin "baserom.gba", 0x0D2C58, 0x00001CE - -gUnk_080D2E26:: @ 080D2E26 - .incbin "baserom.gba", 0x0D2E26, 0x0000492 - -gUnk_080D32B8:: @ 080D32B8 - .incbin "baserom.gba", 0x0D32B8, 0x0000030 - -gUnk_080D32E8:: @ 080D32E8 - .incbin "baserom.gba", 0x0D32E8, 0x0000020 - -gUnk_080D3308:: @ 080D3308 - .incbin "baserom.gba", 0x0D3308, 0x0000080 - -gUnk_080D3388:: @ 080D3388 - .incbin "baserom.gba", 0x0D3388, 0x0000040 - -gUnk_080D33C8:: @ 080D33C8 - .incbin "baserom.gba", 0x0D33C8, 0x0000090 - -gUnk_080D3458:: @ 080D3458 - .incbin "baserom.gba", 0x0D3458, 0x0000030 - -gUnk_080D3488:: @ 080D3488 - .incbin "baserom.gba", 0x0D3488, 0x0000030 - -gUnk_080D34B8:: @ 080D34B8 - .incbin "baserom.gba", 0x0D34B8, 0x0000020 - -gUnk_080D34D8:: @ 080D34D8 - .incbin "baserom.gba", 0x0D34D8, 0x0000030 - -gUnk_080D3508:: @ 080D3508 - .incbin "baserom.gba", 0x0D3508, 0x0000090 - -gUnk_080D3598:: @ 080D3598 - .incbin "baserom.gba", 0x0D3598, 0x0000040 - -gUnk_080D35D8:: @ 080D35D8 - .incbin "baserom.gba", 0x0D35D8, 0x0000070 - -gUnk_080D3648:: @ 080D3648 - .incbin "baserom.gba", 0x0D3648, 0x0000080 - -gUnk_080D36C8:: @ 080D36C8 - .incbin "baserom.gba", 0x0D36C8, 0x0000020 - -gUnk_080D36E8:: @ 080D36E8 - .incbin "baserom.gba", 0x0D36E8, 0x0000030 - -gUnk_080D3718:: @ 080D3718 - .incbin "baserom.gba", 0x0D3718, 0x0000030 - -gUnk_080D3748:: @ 080D3748 - .incbin "baserom.gba", 0x0D3748, 0x0000020 - -gUnk_080D3768:: @ 080D3768 - .incbin "baserom.gba", 0x0D3768, 0x0000020 - -gUnk_080D3788:: @ 080D3788 - .incbin "baserom.gba", 0x0D3788, 0x0000050 - -gUnk_080D37D8:: @ 080D37D8 - .incbin "baserom.gba", 0x0D37D8, 0x0000020 - -gUnk_080D37F8:: @ 080D37F8 - .incbin "baserom.gba", 0x0D37F8, 0x0000030 - -gUnk_080D3828:: @ 080D3828 - .incbin "baserom.gba", 0x0D3828, 0x0000080 - -gUnk_080D38A8:: @ 080D38A8 - .incbin "baserom.gba", 0x0D38A8, 0x0000030 - -gUnk_080D38D8:: @ 080D38D8 - .incbin "baserom.gba", 0x0D38D8, 0x0000040 - -gUnk_080D3918:: @ 080D3918 - .incbin "baserom.gba", 0x0D3918, 0x0000020 - -gUnk_080D3938:: @ 080D3938 - .incbin "baserom.gba", 0x0D3938, 0x0000017 - -gUnk_080D394F:: @ 080D394F - .incbin "baserom.gba", 0x0D394F, 0x0000029 - -gUnk_080D3978:: @ 080D3978 - .incbin "baserom.gba", 0x0D3978, 0x0000060 - -gUnk_080D39D8:: @ 080D39D8 - .incbin "baserom.gba", 0x0D39D8, 0x0000040 - -gUnk_080D3A18:: @ 080D3A18 - .incbin "baserom.gba", 0x0D3A18, 0x0000050 - -gUnk_080D3A68:: @ 080D3A68 - .incbin "baserom.gba", 0x0D3A68, 0x0000030 - -gUnk_080D3A98:: @ 080D3A98 - .incbin "baserom.gba", 0x0D3A98, 0x0000030 - -gUnk_080D3AC8:: @ 080D3AC8 - .incbin "baserom.gba", 0x0D3AC8, 0x0000020 - -gUnk_080D3AE8:: @ 080D3AE8 - .incbin "baserom.gba", 0x0D3AE8, 0x0000040 - -gUnk_080D3B28:: @ 080D3B28 - .incbin "baserom.gba", 0x0D3B28, 0x0000020 - -gUnk_080D3B48:: @ 080D3B48 - .incbin "baserom.gba", 0x0D3B48, 0x0000040 - -gUnk_080D3B88:: @ 080D3B88 - .incbin "baserom.gba", 0x0D3B88, 0x0000020 - -gUnk_080D3BA8:: @ 080D3BA8 - .incbin "baserom.gba", 0x0D3BA8, 0x0000020 - -gUnk_080D3BC8:: @ 080D3BC8 - .incbin "baserom.gba", 0x0D3BC8, 0x0000020 - -gUnk_080D3BE8:: @ 080D3BE8 - .incbin "baserom.gba", 0x0D3BE8, 0x0000010 diff --git a/data/data_080D0154.s b/data/data_080D0154.s new file mode 100644 index 00000000..54d0cd6f --- /dev/null +++ b/data/data_080D0154.s @@ -0,0 +1,113 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + .align 2 + +gUnk_080D015C:: @ 080D015C + .incbin "baserom.gba", 0x0D015C, 0x0000011 + +gUnk_080D016D:: @ 080D016D + .incbin "baserom.gba", 0x0D016D, 0x0000011 + +gUnk_080D017E:: @ 080D017E + .incbin "baserom.gba", 0x0D017E, 0x0000011 + +gUnk_080D018F:: @ 080D018F + .incbin "baserom.gba", 0x0D018F, 0x0000011 + +gUnk_080D01A0:: @ 080D01A0 + .incbin "baserom.gba", 0x0D01A0, 0x0000011 + +gUnk_080D01B1:: @ 080D01B1 + .incbin "baserom.gba", 0x0D01B1, 0x0000011 + +gUnk_080D01C2:: @ 080D01C2 + .incbin "baserom.gba", 0x0D01C2, 0x0000011 + +gUnk_080D01D3:: @ 080D01D3 + .incbin "baserom.gba", 0x0D01D3, 0x0000011 + +gUnk_080D01E4:: @ 080D01E4 + .incbin "baserom.gba", 0x0D01E4, 0x000000B + +gUnk_080D01EF:: @ 080D01EF + .incbin "baserom.gba", 0x0D01EF, 0x000001D + +gUnk_080D020C:: @ 080D020C + .incbin "baserom.gba", 0x0D020C, 0x0000004 + +gUnk_080D0210:: @ 080D0210 + .incbin "baserom.gba", 0x0D0210, 0x0000001 + +gUnk_080D0211:: @ 080D0211 + .incbin "baserom.gba", 0x0D0211, 0x0000014 + +gUnk_080D0225:: @ 080D0225 + .incbin "baserom.gba", 0x0D0225, 0x0000041 + +gUnk_080D0266:: @ 080D0266 + .incbin "baserom.gba", 0x0D0266, 0x0000041 + +gUnk_080D02A7:: @ 080D02A7 + .incbin "baserom.gba", 0x0D02A7, 0x0000041 + +gUnk_080D02E8:: @ 080D02E8 + .incbin "baserom.gba", 0x0D02E8, 0x000000B + +gUnk_080D02F3:: @ 080D02F3 + .incbin "baserom.gba", 0x0D02F3, 0x0000003 + +gUnk_080D02F6:: @ 080D02F6 + .incbin "baserom.gba", 0x0D02F6, 0x0000001 + +gUnk_080D02F7:: @ 080D02F7 + .incbin "baserom.gba", 0x0D02F7, 0x0000002 + +gUnk_080D02F9:: @ 080D02F9 + .incbin "baserom.gba", 0x0D02F9, 0x0000003 + +gUnk_080D02FC:: @ 080D02FC + .incbin "baserom.gba", 0x0D02FC, 0x0000004 + +gUnk_080D0300:: @ 080D0300 + .incbin "baserom.gba", 0x0D0300, 0x000000A + +gUnk_080D030A:: @ 080D030A + .incbin "baserom.gba", 0x0D030A, 0x0000011 + +gUnk_080D031B:: @ 080D031B + .incbin "baserom.gba", 0x0D031B, 0x0000011 + +gUnk_080D032C:: @ 080D032C + .incbin "baserom.gba", 0x0D032C, 0x0000011 + +gUnk_080D033D:: @ 080D033D + .incbin "baserom.gba", 0x0D033D, 0x0000011 + +gUnk_080D034E:: @ 080D034E + .incbin "baserom.gba", 0x0D034E, 0x0000011 + +gUnk_080D035F:: @ 080D035F + .incbin "baserom.gba", 0x0D035F, 0x0000011 + +gUnk_080D0370:: @ 080D0370 + .incbin "baserom.gba", 0x0D0370, 0x0000011 + +gUnk_080D0381:: @ 080D0381 + .incbin "baserom.gba", 0x0D0381, 0x0000011 + +gUnk_080D0392:: @ 080D0392 + .incbin "baserom.gba", 0x0D0392, 0x0000011 + +gUnk_080D03A3:: @ 080D03A3 + .incbin "baserom.gba", 0x0D03A3, 0x0000011 + +gUnk_080D03B4:: @ 080D03B4 + .incbin "baserom.gba", 0x0D03B4, 0x000003C + +gUnk_080D03F0:: @ 080D03F0 + .incbin "baserom.gba", 0x0D03F0, 0x0000014 + +gUnk_080D0404:: @ 080D0404 + .incbin "baserom.gba", 0x0D0404, 0x0000014 diff --git a/data/data_080D0448.s b/data/data_080D0448.s new file mode 100644 index 00000000..fffa09de --- /dev/null +++ b/data/data_080D0448.s @@ -0,0 +1,2081 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + .align 2 + +gUnk_080D0448:: @ 080D0448 + .incbin "baserom.gba", 0x0D0448, 0x0000010 + +gUnk_080D0458:: @ 080D0458 + .incbin "baserom.gba", 0x0D0458, 0x0000010 + +gUnk_080D0468:: @ 080D0468 + .incbin "baserom.gba", 0x0D0468, 0x0000008 + +gUnk_080D0470:: @ 080D0470 + .incbin "baserom.gba", 0x0D0470, 0x0000020 + +gUnk_080D0490:: @ 080D0490 + .incbin "baserom.gba", 0x0D0490, 0x0000008 + +gUnk_080D0498:: @ 080D0498 + .incbin "baserom.gba", 0x0D0498, 0x0000008 + +gUnk_080D04A0:: @ 080D04A0 + .incbin "baserom.gba", 0x0D04A0, 0x0000008 + +gUnk_080D04A8:: @ 080D04A8 + .incbin "baserom.gba", 0x0D04A8, 0x0000004 + +gUnk_080D04AC:: @ 080D04AC + .incbin "baserom.gba", 0x0D04AC, 0x0000014 + +gUnk_080D04C0:: @ 080D04C0 + .incbin "baserom.gba", 0x0D04C0, 0x0000008 + +gUnk_080D04C8:: @ 080D04C8 + .incbin "baserom.gba", 0x0D04C8, 0x0000008 + +gUnk_080D04D0:: @ 080D04D0 + .incbin "baserom.gba", 0x0D04D0, 0x0000003 + +gUnk_080D04D3:: @ 080D04D3 + .incbin "baserom.gba", 0x0D04D3, 0x0000004 + +gUnk_080D04D7:: @ 080D04D7 + .incbin "baserom.gba", 0x0D04D7, 0x0000011 + +gUnk_080D04E8:: @ 080D04E8 + .incbin "baserom.gba", 0x0D04E8, 0x0000011 + +gUnk_080D04F9:: @ 080D04F9 + .incbin "baserom.gba", 0x0D04F9, 0x0000005 + +gUnk_080D04FE:: @ 080D04FE + .incbin "baserom.gba", 0x0D04FE, 0x0000003 + +gUnk_080D0501:: @ 080D0501 + .incbin "baserom.gba", 0x0D0501, 0x0000001 + +gUnk_080D0502:: @ 080D0502 + .incbin "baserom.gba", 0x0D0502, 0x0000006 + +gUnk_080D0508:: @ 080D0508 + .incbin "baserom.gba", 0x0D0508, 0x0000005 + +gUnk_080D050D:: @ 080D050D + .incbin "baserom.gba", 0x0D050D, 0x0000024 + +gUnk_080D0531:: @ 080D0531 + .incbin "baserom.gba", 0x0D0531, 0x0000027 + +gUnk_080D0558:: @ 080D0558 + .incbin "baserom.gba", 0x0D0558, 0x0000018 + +gUnk_080D0570:: @ 080D0570 + .incbin "baserom.gba", 0x0D0570, 0x0000005 + +gUnk_080D0575:: @ 080D0575 + .incbin "baserom.gba", 0x0D0575, 0x0000010 + +gUnk_080D0585:: @ 080D0585 + .incbin "baserom.gba", 0x0D0585, 0x0000007 + +gUnk_080D058C:: @ 080D058C + .incbin "baserom.gba", 0x0D058C, 0x0000010 + +gUnk_080D059C:: @ 080D059C + .incbin "baserom.gba", 0x0D059C, 0x0000011 + +gUnk_080D05AD:: @ 080D05AD + .incbin "baserom.gba", 0x0D05AD, 0x0000011 + +gUnk_080D05BE:: @ 080D05BE + .incbin "baserom.gba", 0x0D05BE, 0x0000011 + +gUnk_080D05CF:: @ 080D05CF + .incbin "baserom.gba", 0x0D05CF, 0x0000011 + +gUnk_080D05E0:: @ 080D05E0 + .incbin "baserom.gba", 0x0D05E0, 0x0000014 + +gUnk_080D05F4:: @ 080D05F4 + .incbin "baserom.gba", 0x0D05F4, 0x0000006 + +gUnk_080D05FA:: @ 080D05FA + .incbin "baserom.gba", 0x0D05FA, 0x0000002 + +gUnk_080D05FC:: @ 080D05FC + .incbin "baserom.gba", 0x0D05FC, 0x0000001 + +gUnk_080D05FD:: @ 080D05FD + .incbin "baserom.gba", 0x0D05FD, 0x0000001 + +gUnk_080D05FE:: @ 080D05FE + .incbin "baserom.gba", 0x0D05FE, 0x0000007 + +gUnk_080D0605:: @ 080D0605 + .incbin "baserom.gba", 0x0D0605, 0x0000003 + +gUnk_080D0608:: @ 080D0608 + .incbin "baserom.gba", 0x0D0608, 0x0000001 + +gUnk_080D0609:: @ 080D0609 + .incbin "baserom.gba", 0x0D0609, 0x0000015 + +gUnk_080D061E:: @ 080D061E + .incbin "baserom.gba", 0x0D061E, 0x0000016 + +gUnk_080D0634:: @ 080D0634 + .incbin "baserom.gba", 0x0D0634, 0x0000014 + +gUnk_080D0648:: @ 080D0648 + .incbin "baserom.gba", 0x0D0648, 0x0000018 + +gUnk_080D0660:: @ 080D0660 + .incbin "baserom.gba", 0x0D0660, 0x0000028 + +gUnk_080D0688:: @ 080D0688 + .incbin "baserom.gba", 0x0D0688, 0x0000019 + +gUnk_080D06A1:: @ 080D06A1 + .incbin "baserom.gba", 0x0D06A1, 0x0000011 + +gUnk_080D06B2:: @ 080D06B2 + .incbin "baserom.gba", 0x0D06B2, 0x000001E + +gUnk_080D06D0:: @ 080D06D0 + .incbin "baserom.gba", 0x0D06D0, 0x0000010 + +gUnk_080D06E0:: @ 080D06E0 + .incbin "baserom.gba", 0x0D06E0, 0x0000008 + +gUnk_080D06E8:: @ 080D06E8 + .incbin "baserom.gba", 0x0D06E8, 0x0000010 + +gUnk_080D06F8:: @ 080D06F8 + .incbin "baserom.gba", 0x0D06F8, 0x0000004 + +gUnk_080D06FC:: @ 080D06FC + .incbin "baserom.gba", 0x0D06FC, 0x0000002 + +gUnk_080D06FE:: @ 080D06FE + .incbin "baserom.gba", 0x0D06FE, 0x0000002 + +gUnk_080D0700:: @ 080D0700 + .incbin "baserom.gba", 0x0D0700, 0x0000001 + +gUnk_080D0701:: @ 080D0701 + .incbin "baserom.gba", 0x0D0701, 0x0000023 + +gUnk_080D0724:: @ 080D0724 + .incbin "baserom.gba", 0x0D0724, 0x0000004 + +gUnk_080D0728:: @ 080D0728 + .incbin "baserom.gba", 0x0D0728, 0x0000008 + +gUnk_080D0730:: @ 080D0730 + .incbin "baserom.gba", 0x0D0730, 0x0000008 + +gUnk_080D0738:: @ 080D0738 + .incbin "baserom.gba", 0x0D0738, 0x0000004 + +gUnk_080D073C:: @ 080D073C + .incbin "baserom.gba", 0x0D073C, 0x0000004 + +gUnk_080D0740:: @ 080D0740 + .incbin "baserom.gba", 0x0D0740, 0x0000004 + +gUnk_080D0744:: @ 080D0744 + .incbin "baserom.gba", 0x0D0744, 0x0000004 + +gUnk_080D0748:: @ 080D0748 + .incbin "baserom.gba", 0x0D0748, 0x0000004 + +gUnk_080D074C:: @ 080D074C + .incbin "baserom.gba", 0x0D074C, 0x0000004 + +gUnk_080D0750:: @ 080D0750 + .incbin "baserom.gba", 0x0D0750, 0x0000004 + +gUnk_080D0754:: @ 080D0754 + .incbin "baserom.gba", 0x0D0754, 0x0000004 + +gUnk_080D0758:: @ 080D0758 + .incbin "baserom.gba", 0x0D0758, 0x0000004 + +gUnk_080D075C:: @ 080D075C + .incbin "baserom.gba", 0x0D075C, 0x0000004 + +gUnk_080D0760:: @ 080D0760 + .incbin "baserom.gba", 0x0D0760, 0x0000004 + +gUnk_080D0764:: @ 080D0764 + .incbin "baserom.gba", 0x0D0764, 0x0000004 + +gUnk_080D0768:: @ 080D0768 + .incbin "baserom.gba", 0x0D0768, 0x0000004 + +gUnk_080D076C:: @ 080D076C + .incbin "baserom.gba", 0x0D076C, 0x0000004 + +gUnk_080D0770:: @ 080D0770 + .incbin "baserom.gba", 0x0D0770, 0x0000004 + +gUnk_080D0774:: @ 080D0774 + .incbin "baserom.gba", 0x0D0774, 0x0000004 + +gUnk_080D0778:: @ 080D0778 + .incbin "baserom.gba", 0x0D0778, 0x0000004 + +gUnk_080D077C:: @ 080D077C + .incbin "baserom.gba", 0x0D077C, 0x0000004 + +gUnk_080D0780:: @ 080D0780 + .incbin "baserom.gba", 0x0D0780, 0x0000004 + +gUnk_080D0784:: @ 080D0784 + .incbin "baserom.gba", 0x0D0784, 0x0000004 + +gUnk_080D0788:: @ 080D0788 + .incbin "baserom.gba", 0x0D0788, 0x0000004 + +gUnk_080D078C:: @ 080D078C + .incbin "baserom.gba", 0x0D078C, 0x0000004 + +gUnk_080D0790:: @ 080D0790 + .incbin "baserom.gba", 0x0D0790, 0x0000004 + +gUnk_080D0794:: @ 080D0794 + .incbin "baserom.gba", 0x0D0794, 0x0000004 + +gUnk_080D0798:: @ 080D0798 + .incbin "baserom.gba", 0x0D0798, 0x0000004 + +gUnk_080D079C:: @ 080D079C + .incbin "baserom.gba", 0x0D079C, 0x0000004 + +gUnk_080D07A0:: @ 080D07A0 + .incbin "baserom.gba", 0x0D07A0, 0x0000004 + +gUnk_080D07A4:: @ 080D07A4 + .incbin "baserom.gba", 0x0D07A4, 0x0000004 + +gUnk_080D07A8:: @ 080D07A8 + .incbin "baserom.gba", 0x0D07A8, 0x0000004 + +gUnk_080D07AC:: @ 080D07AC + .incbin "baserom.gba", 0x0D07AC, 0x0000004 + +gUnk_080D07B0:: @ 080D07B0 + .incbin "baserom.gba", 0x0D07B0, 0x0000004 + +gUnk_080D07B4:: @ 080D07B4 + .incbin "baserom.gba", 0x0D07B4, 0x0000004 + +gUnk_080D07B8:: @ 080D07B8 + .incbin "baserom.gba", 0x0D07B8, 0x000000D + +gUnk_080D07C5:: @ 080D07C5 + .incbin "baserom.gba", 0x0D07C5, 0x000000D + +gUnk_080D07D2:: @ 080D07D2 + .incbin "baserom.gba", 0x0D07D2, 0x000000D + +gUnk_080D07DF:: @ 080D07DF + .incbin "baserom.gba", 0x0D07DF, 0x000000D + +gUnk_080D07EC:: @ 080D07EC + .incbin "baserom.gba", 0x0D07EC, 0x0000010 + +gUnk_080D07FC:: @ 080D07FC + .incbin "baserom.gba", 0x0D07FC, 0x0000001 + +gUnk_080D07FD:: @ 080D07FD + .incbin "baserom.gba", 0x0D07FD, 0x0000002 + +gUnk_080D07FF:: @ 080D07FF + .incbin "baserom.gba", 0x0D07FF, 0x0000001 + +gUnk_080D0800:: @ 080D0800 + .incbin "baserom.gba", 0x0D0800, 0x0000001 + +gUnk_080D0801:: @ 080D0801 + .incbin "baserom.gba", 0x0D0801, 0x0000005 + +gUnk_080D0806:: @ 080D0806 + .incbin "baserom.gba", 0x0D0806, 0x0000001 + +gUnk_080D0807:: @ 080D0807 + .incbin "baserom.gba", 0x0D0807, 0x0000003 + +gUnk_080D080A:: @ 080D080A + .incbin "baserom.gba", 0x0D080A, 0x000000F + +gUnk_080D0819:: @ 080D0819 + .incbin "baserom.gba", 0x0D0819, 0x0000067 + +gUnk_080D0880:: @ 080D0880 + .incbin "baserom.gba", 0x0D0880, 0x0000018 + +gUnk_080D0898:: @ 080D0898 + .incbin "baserom.gba", 0x0D0898, 0x000002C + +gUnk_080D08C4:: @ 080D08C4 + .incbin "baserom.gba", 0x0D08C4, 0x0000004 + +gUnk_080D08C8:: @ 080D08C8 + .incbin "baserom.gba", 0x0D08C8, 0x0000035 + +gUnk_080D08FD:: @ 080D08FD + .incbin "baserom.gba", 0x0D08FD, 0x0000003 + +gUnk_080D0900:: @ 080D0900 + .incbin "baserom.gba", 0x0D0900, 0x0000003 + +gUnk_080D0903:: @ 080D0903 + .incbin "baserom.gba", 0x0D0903, 0x0000001 + +gUnk_080D0904:: @ 080D0904 + .incbin "baserom.gba", 0x0D0904, 0x0000002 + +gUnk_080D0906:: @ 080D0906 + .incbin "baserom.gba", 0x0D0906, 0x0000002 + +gUnk_080D0908:: @ 080D0908 + .incbin "baserom.gba", 0x0D0908, 0x000000A + +gUnk_080D0912:: @ 080D0912 + .incbin "baserom.gba", 0x0D0912, 0x0000012 + +gUnk_080D0924:: @ 080D0924 + .incbin "baserom.gba", 0x0D0924, 0x0000018 + +gUnk_080D093C:: @ 080D093C + .incbin "baserom.gba", 0x0D093C, 0x0000028 + +gUnk_080D0964:: @ 080D0964 + .incbin "baserom.gba", 0x0D0964, 0x000000C + +gUnk_080D0970:: @ 080D0970 + .incbin "baserom.gba", 0x0D0970, 0x0000004 + +gUnk_080D0974:: @ 080D0974 + .incbin "baserom.gba", 0x0D0974, 0x0000004 + +gUnk_080D0978:: @ 080D0978 + .incbin "baserom.gba", 0x0D0978, 0x0000008 + +gUnk_080D0980:: @ 080D0980 + .incbin "baserom.gba", 0x0D0980, 0x0000004 + +gUnk_080D0984:: @ 080D0984 + .incbin "baserom.gba", 0x0D0984, 0x0000004 + +gUnk_080D0988:: @ 080D0988 + .incbin "baserom.gba", 0x0D0988, 0x000001C + +gUnk_080D09A4:: @ 080D09A4 + .incbin "baserom.gba", 0x0D09A4, 0x0000025 + +gUnk_080D09C9:: @ 080D09C9 + .incbin "baserom.gba", 0x0D09C9, 0x0000025 + +gUnk_080D09EE:: @ 080D09EE + .incbin "baserom.gba", 0x0D09EE, 0x000000E + +gUnk_080D09FC:: @ 080D09FC + .incbin "baserom.gba", 0x0D09FC, 0x0000005 + +gUnk_080D0A01:: @ 080D0A01 + .incbin "baserom.gba", 0x0D0A01, 0x0000002 + +gUnk_080D0A03:: @ 080D0A03 + .incbin "baserom.gba", 0x0D0A03, 0x0000005 + +gUnk_080D0A08:: @ 080D0A08 + .incbin "baserom.gba", 0x0D0A08, 0x0000002 + +gUnk_080D0A0A:: @ 080D0A0A + .incbin "baserom.gba", 0x0D0A0A, 0x0000002 + +gUnk_080D0A0C:: @ 080D0A0C + .incbin "baserom.gba", 0x0D0A0C, 0x0000001 + +gUnk_080D0A0D:: @ 080D0A0D + .incbin "baserom.gba", 0x0D0A0D, 0x0000001 + +gUnk_080D0A0E:: @ 080D0A0E + .incbin "baserom.gba", 0x0D0A0E, 0x0000002 + +gUnk_080D0A10:: @ 080D0A10 + .incbin "baserom.gba", 0x0D0A10, 0x0000022 + +gUnk_080D0A32:: @ 080D0A32 + .incbin "baserom.gba", 0x0D0A32, 0x0000039 + +gUnk_080D0A6B:: @ 080D0A6B + .incbin "baserom.gba", 0x0D0A6B, 0x0000004 + +gUnk_080D0A6F:: @ 080D0A6F + .incbin "baserom.gba", 0x0D0A6F, 0x0000004 + +gUnk_080D0A73:: @ 080D0A73 + .incbin "baserom.gba", 0x0D0A73, 0x000000C + +gUnk_080D0A7F:: @ 080D0A7F + .incbin "baserom.gba", 0x0D0A7F, 0x000000C + +gUnk_080D0A8B:: @ 080D0A8B + .incbin "baserom.gba", 0x0D0A8B, 0x0000005 + +gUnk_080D0A90:: @ 080D0A90 + .incbin "baserom.gba", 0x0D0A90, 0x000002C + +gUnk_080D0ABC:: @ 080D0ABC + .incbin "baserom.gba", 0x0D0ABC, 0x0000003 + +gUnk_080D0ABF:: @ 080D0ABF + .incbin "baserom.gba", 0x0D0ABF, 0x0000009 + +gUnk_080D0AC8:: @ 080D0AC8 + .incbin "baserom.gba", 0x0D0AC8, 0x0000020 + +gUnk_080D0AE8:: @ 080D0AE8 + .incbin "baserom.gba", 0x0D0AE8, 0x0000008 + +gUnk_080D0AF0:: @ 080D0AF0 + .incbin "baserom.gba", 0x0D0AF0, 0x000000C + +gUnk_080D0AFC:: @ 080D0AFC + .incbin "baserom.gba", 0x0D0AFC, 0x0000004 + +gUnk_080D0B00:: @ 080D0B00 + .incbin "baserom.gba", 0x0D0B00, 0x0000001 + +gUnk_080D0B01:: @ 080D0B01 + .incbin "baserom.gba", 0x0D0B01, 0x0000001 + +gUnk_080D0B02:: @ 080D0B02 + .incbin "baserom.gba", 0x0D0B02, 0x0000002 + +gUnk_080D0B04:: @ 080D0B04 + .incbin "baserom.gba", 0x0D0B04, 0x0000002 + +gUnk_080D0B06:: @ 080D0B06 + .incbin "baserom.gba", 0x0D0B06, 0x0000006 + +gUnk_080D0B0C:: @ 080D0B0C + .incbin "baserom.gba", 0x0D0B0C, 0x0000003 + +gUnk_080D0B0F:: @ 080D0B0F + .incbin "baserom.gba", 0x0D0B0F, 0x0000001 + +gUnk_080D0B10:: @ 080D0B10 + .incbin "baserom.gba", 0x0D0B10, 0x0000008 + +gUnk_080D0B18:: @ 080D0B18 + .incbin "baserom.gba", 0x0D0B18, 0x0000011 + +gUnk_080D0B29:: @ 080D0B29 + .incbin "baserom.gba", 0x0D0B29, 0x000002F + +gUnk_080D0B58:: @ 080D0B58 + .incbin "baserom.gba", 0x0D0B58, 0x000000C + +gUnk_080D0B64:: @ 080D0B64 + .incbin "baserom.gba", 0x0D0B64, 0x0000010 + +gUnk_080D0B74:: @ 080D0B74 + .incbin "baserom.gba", 0x0D0B74, 0x0000010 + +gUnk_080D0B84:: @ 080D0B84 + .incbin "baserom.gba", 0x0D0B84, 0x0000020 + +gUnk_080D0BA4:: @ 080D0BA4 + .incbin "baserom.gba", 0x0D0BA4, 0x0000011 + +gUnk_080D0BB5:: @ 080D0BB5 + .incbin "baserom.gba", 0x0D0BB5, 0x000000F + +gUnk_080D0BC4:: @ 080D0BC4 + .incbin "baserom.gba", 0x0D0BC4, 0x0000018 + +gUnk_080D0BDC:: @ 080D0BDC + .incbin "baserom.gba", 0x0D0BDC, 0x0000005 + +gUnk_080D0BE1:: @ 080D0BE1 + .incbin "baserom.gba", 0x0D0BE1, 0x000000C + +gUnk_080D0BED:: @ 080D0BED + .incbin "baserom.gba", 0x0D0BED, 0x0000005 + +gUnk_080D0BF2:: @ 080D0BF2 + .incbin "baserom.gba", 0x0D0BF2, 0x0000005 + +gUnk_080D0BF7:: @ 080D0BF7 + .incbin "baserom.gba", 0x0D0BF7, 0x0000004 + +gUnk_080D0BFB:: @ 080D0BFB + .incbin "baserom.gba", 0x0D0BFB, 0x0000001 + +gUnk_080D0BFC:: @ 080D0BFC + .incbin "baserom.gba", 0x0D0BFC, 0x0000004 + +gUnk_080D0C00:: @ 080D0C00 + .incbin "baserom.gba", 0x0D0C00, 0x0000006 + +gUnk_080D0C06:: @ 080D0C06 + .incbin "baserom.gba", 0x0D0C06, 0x0000002 + +gUnk_080D0C08:: @ 080D0C08 + .incbin "baserom.gba", 0x0D0C08, 0x0000002 + +gUnk_080D0C0A:: @ 080D0C0A + .incbin "baserom.gba", 0x0D0C0A, 0x0000002 + +gUnk_080D0C0C:: @ 080D0C0C + .incbin "baserom.gba", 0x0D0C0C, 0x0000028 + +gUnk_080D0C34:: @ 080D0C34 + .incbin "baserom.gba", 0x0D0C34, 0x0000021 + +gUnk_080D0C55:: @ 080D0C55 + .incbin "baserom.gba", 0x0D0C55, 0x0000033 + +gUnk_080D0C88:: @ 080D0C88 + .incbin "baserom.gba", 0x0D0C88, 0x0000018 + +gUnk_080D0CA0:: @ 080D0CA0 + .incbin "baserom.gba", 0x0D0CA0, 0x0000005 + +gUnk_080D0CA5:: @ 080D0CA5 + .incbin "baserom.gba", 0x0D0CA5, 0x0000030 + +gUnk_080D0CD5:: @ 080D0CD5 + .incbin "baserom.gba", 0x0D0CD5, 0x0000011 + +gUnk_080D0CE6:: @ 080D0CE6 + .incbin "baserom.gba", 0x0D0CE6, 0x000000E + +gUnk_080D0CF4:: @ 080D0CF4 + .incbin "baserom.gba", 0x0D0CF4, 0x0000010 + +gUnk_080D0D04:: @ 080D0D04 + .incbin "baserom.gba", 0x0D0D04, 0x0000001 + +gUnk_080D0D05:: @ 080D0D05 + .incbin "baserom.gba", 0x0D0D05, 0x0000001 + +gUnk_080D0D06:: @ 080D0D06 + .incbin "baserom.gba", 0x0D0D06, 0x0000003 + +gUnk_080D0D09:: @ 080D0D09 + .incbin "baserom.gba", 0x0D0D09, 0x0000002 + +gUnk_080D0D0B:: @ 080D0D0B + .incbin "baserom.gba", 0x0D0D0B, 0x0000001 + +gUnk_080D0D0C:: @ 080D0D0C + .incbin "baserom.gba", 0x0D0D0C, 0x0000002 + +gUnk_080D0D0E:: @ 080D0D0E + .incbin "baserom.gba", 0x0D0D0E, 0x0000006 + +gUnk_080D0D14:: @ 080D0D14 + .incbin "baserom.gba", 0x0D0D14, 0x000002C + +gUnk_080D0D40:: @ 080D0D40 + .incbin "baserom.gba", 0x0D0D40, 0x0000008 + +gUnk_080D0D48:: @ 080D0D48 + .incbin "baserom.gba", 0x0D0D48, 0x0000030 + +gUnk_080D0D78:: @ 080D0D78 + .incbin "baserom.gba", 0x0D0D78, 0x0000019 + +gUnk_080D0D91:: @ 080D0D91 + .incbin "baserom.gba", 0x0D0D91, 0x0000010 + +gUnk_080D0DA1:: @ 080D0DA1 + .incbin "baserom.gba", 0x0D0DA1, 0x000000F + +gUnk_080D0DB0:: @ 080D0DB0 + .incbin "baserom.gba", 0x0D0DB0, 0x0000014 + +gUnk_080D0DC4:: @ 080D0DC4 + .incbin "baserom.gba", 0x0D0DC4, 0x0000018 + +gUnk_080D0DDC:: @ 080D0DDC + .incbin "baserom.gba", 0x0D0DDC, 0x000001B + +gUnk_080D0DF7:: @ 080D0DF7 + .incbin "baserom.gba", 0x0D0DF7, 0x000000A + +gUnk_080D0E01:: @ 080D0E01 + .incbin "baserom.gba", 0x0D0E01, 0x0000007 + +gUnk_080D0E08:: @ 080D0E08 + .incbin "baserom.gba", 0x0D0E08, 0x0000002 + +gUnk_080D0E0A:: @ 080D0E0A + .incbin "baserom.gba", 0x0D0E0A, 0x0000002 + +gUnk_080D0E0C:: @ 080D0E0C + .incbin "baserom.gba", 0x0D0E0C, 0x0000001 + +gUnk_080D0E0D:: @ 080D0E0D + .incbin "baserom.gba", 0x0D0E0D, 0x0000001 + +gUnk_080D0E0E:: @ 080D0E0E + .incbin "baserom.gba", 0x0D0E0E, 0x0000001 + +gUnk_080D0E0F:: @ 080D0E0F + .incbin "baserom.gba", 0x0D0E0F, 0x0000004 + +gUnk_080D0E13:: @ 080D0E13 + .incbin "baserom.gba", 0x0D0E13, 0x0000001 + +gUnk_080D0E14:: @ 080D0E14 + .incbin "baserom.gba", 0x0D0E14, 0x0000004 + +gUnk_080D0E18:: @ 080D0E18 + .incbin "baserom.gba", 0x0D0E18, 0x0000004 + +gUnk_080D0E1C:: @ 080D0E1C + .incbin "baserom.gba", 0x0D0E1C, 0x0000010 + +gUnk_080D0E2C:: @ 080D0E2C + .incbin "baserom.gba", 0x0D0E2C, 0x0000038 + +gUnk_080D0E64:: @ 080D0E64 + .incbin "baserom.gba", 0x0D0E64, 0x0000004 + +gUnk_080D0E68:: @ 080D0E68 + .incbin "baserom.gba", 0x0D0E68, 0x0000018 + +gUnk_080D0E80:: @ 080D0E80 + .incbin "baserom.gba", 0x0D0E80, 0x0000010 + +gUnk_080D0E90:: @ 080D0E90 + .incbin "baserom.gba", 0x0D0E90, 0x0000010 + +gUnk_080D0EA0:: @ 080D0EA0 + .incbin "baserom.gba", 0x0D0EA0, 0x0000008 + +gUnk_080D0EA8:: @ 080D0EA8 + .incbin "baserom.gba", 0x0D0EA8, 0x0000004 + +gUnk_080D0EAC:: @ 080D0EAC + .incbin "baserom.gba", 0x0D0EAC, 0x0000004 + +gUnk_080D0EB0:: @ 080D0EB0 + .incbin "baserom.gba", 0x0D0EB0, 0x0000020 + +gUnk_080D0ED0:: @ 080D0ED0 + .incbin "baserom.gba", 0x0D0ED0, 0x0000019 + +gUnk_080D0EE9:: @ 080D0EE9 + .incbin "baserom.gba", 0x0D0EE9, 0x000000C + +gUnk_080D0EF5:: @ 080D0EF5 + .incbin "baserom.gba", 0x0D0EF5, 0x000000D + +gUnk_080D0F02:: @ 080D0F02 + .incbin "baserom.gba", 0x0D0F02, 0x0000003 + +gUnk_080D0F05:: @ 080D0F05 + .incbin "baserom.gba", 0x0D0F05, 0x0000003 + +gUnk_080D0F08:: @ 080D0F08 + .incbin "baserom.gba", 0x0D0F08, 0x0000001 + +gUnk_080D0F09:: @ 080D0F09 + .incbin "baserom.gba", 0x0D0F09, 0x0000004 + +gUnk_080D0F0D:: @ 080D0F0D + .incbin "baserom.gba", 0x0D0F0D, 0x0000001 + +gUnk_080D0F0E:: @ 080D0F0E + .incbin "baserom.gba", 0x0D0F0E, 0x0000001 + +gUnk_080D0F0F:: @ 080D0F0F + .incbin "baserom.gba", 0x0D0F0F, 0x0000001 + +gUnk_080D0F10:: @ 080D0F10 + .incbin "baserom.gba", 0x0D0F10, 0x0000001 + +gUnk_080D0F11:: @ 080D0F11 + .incbin "baserom.gba", 0x0D0F11, 0x0000001 + +gUnk_080D0F12:: @ 080D0F12 + .incbin "baserom.gba", 0x0D0F12, 0x0000001 + +gUnk_080D0F13:: @ 080D0F13 + .incbin "baserom.gba", 0x0D0F13, 0x0000004 + +gUnk_080D0F17:: @ 080D0F17 + .incbin "baserom.gba", 0x0D0F17, 0x0000011 + +gUnk_080D0F28:: @ 080D0F28 + .incbin "baserom.gba", 0x0D0F28, 0x0000045 + +gUnk_080D0F6D:: @ 080D0F6D + .incbin "baserom.gba", 0x0D0F6D, 0x0000015 + +gUnk_080D0F82:: @ 080D0F82 + .incbin "baserom.gba", 0x0D0F82, 0x0000019 + +gUnk_080D0F9B:: @ 080D0F9B + .incbin "baserom.gba", 0x0D0F9B, 0x0000015 + +gUnk_080D0FB0:: @ 080D0FB0 + .incbin "baserom.gba", 0x0D0FB0, 0x0000011 + +gUnk_080D0FC1:: @ 080D0FC1 + .incbin "baserom.gba", 0x0D0FC1, 0x0000015 + +gUnk_080D0FD6:: @ 080D0FD6 + .incbin "baserom.gba", 0x0D0FD6, 0x000001D + +gUnk_080D0FF3:: @ 080D0FF3 + .incbin "baserom.gba", 0x0D0FF3, 0x0000005 + +gUnk_080D0FF8:: @ 080D0FF8 + .incbin "baserom.gba", 0x0D0FF8, 0x0000015 + +gUnk_080D100D:: @ 080D100D + .incbin "baserom.gba", 0x0D100D, 0x0000002 + +gUnk_080D100F:: @ 080D100F + .incbin "baserom.gba", 0x0D100F, 0x0000001 + +gUnk_080D1010:: @ 080D1010 + .incbin "baserom.gba", 0x0D1010, 0x0000001 + +gUnk_080D1011:: @ 080D1011 + .incbin "baserom.gba", 0x0D1011, 0x0000001 + +gUnk_080D1012:: @ 080D1012 + .incbin "baserom.gba", 0x0D1012, 0x0000001 + +gUnk_080D1013:: @ 080D1013 + .incbin "baserom.gba", 0x0D1013, 0x0000006 + +gUnk_080D1019:: @ 080D1019 + .incbin "baserom.gba", 0x0D1019, 0x0000012 + +gUnk_080D102B:: @ 080D102B + .incbin "baserom.gba", 0x0D102B, 0x000000B + +gUnk_080D1036:: @ 080D1036 + .incbin "baserom.gba", 0x0D1036, 0x0000019 + +gUnk_080D104F:: @ 080D104F + .incbin "baserom.gba", 0x0D104F, 0x0000011 + +gUnk_080D1060:: @ 080D1060 + .incbin "baserom.gba", 0x0D1060, 0x000000D + +gUnk_080D106D:: @ 080D106D + .incbin "baserom.gba", 0x0D106D, 0x000000D + +gUnk_080D107A:: @ 080D107A + .incbin "baserom.gba", 0x0D107A, 0x0000005 + +gUnk_080D107F:: @ 080D107F + .incbin "baserom.gba", 0x0D107F, 0x0000021 + +gUnk_080D10A0:: @ 080D10A0 + .incbin "baserom.gba", 0x0D10A0, 0x0000015 + +gUnk_080D10B5:: @ 080D10B5 + .incbin "baserom.gba", 0x0D10B5, 0x0000011 + +gUnk_080D10C6:: @ 080D10C6 + .incbin "baserom.gba", 0x0D10C6, 0x0000011 + +gUnk_080D10D7:: @ 080D10D7 + .incbin "baserom.gba", 0x0D10D7, 0x0000015 + +gUnk_080D10EC:: @ 080D10EC + .incbin "baserom.gba", 0x0D10EC, 0x0000005 + +gUnk_080D10F1:: @ 080D10F1 + .incbin "baserom.gba", 0x0D10F1, 0x0000015 + +gUnk_080D1106:: @ 080D1106 + .incbin "baserom.gba", 0x0D1106, 0x0000006 + +gUnk_080D110C:: @ 080D110C + .incbin "baserom.gba", 0x0D110C, 0x0000003 + +gUnk_080D110F:: @ 080D110F + .incbin "baserom.gba", 0x0D110F, 0x0000001 + +gUnk_080D1110:: @ 080D1110 + .incbin "baserom.gba", 0x0D1110, 0x0000001 + +gUnk_080D1111:: @ 080D1111 + .incbin "baserom.gba", 0x0D1111, 0x0000001 + +gUnk_080D1112:: @ 080D1112 + .incbin "baserom.gba", 0x0D1112, 0x0000002 + +gUnk_080D1114:: @ 080D1114 + .incbin "baserom.gba", 0x0D1114, 0x0000001 + +gUnk_080D1115:: @ 080D1115 + .incbin "baserom.gba", 0x0D1115, 0x0000001 + +gUnk_080D1116:: @ 080D1116 + .incbin "baserom.gba", 0x0D1116, 0x0000001 + +gUnk_080D1117:: @ 080D1117 + .incbin "baserom.gba", 0x0D1117, 0x0000007 + +gUnk_080D111E:: @ 080D111E + .incbin "baserom.gba", 0x0D111E, 0x000001A + +gUnk_080D1138:: @ 080D1138 + .incbin "baserom.gba", 0x0D1138, 0x0000015 + +gUnk_080D114D:: @ 080D114D + .incbin "baserom.gba", 0x0D114D, 0x0000031 + +gUnk_080D117E:: @ 080D117E + .incbin "baserom.gba", 0x0D117E, 0x0000019 + +gUnk_080D1197:: @ 080D1197 + .incbin "baserom.gba", 0x0D1197, 0x0000015 + +gUnk_080D11AC:: @ 080D11AC + .incbin "baserom.gba", 0x0D11AC, 0x000005C + +gUnk_080D1208:: @ 080D1208 + .incbin "baserom.gba", 0x0D1208, 0x0000004 + +gUnk_080D120C:: @ 080D120C + .incbin "baserom.gba", 0x0D120C, 0x0000001 + +gUnk_080D120D:: @ 080D120D + .incbin "baserom.gba", 0x0D120D, 0x0000002 + +gUnk_080D120F:: @ 080D120F + .incbin "baserom.gba", 0x0D120F, 0x0000002 + +gUnk_080D1211:: @ 080D1211 + .incbin "baserom.gba", 0x0D1211, 0x0000003 + +gUnk_080D1214:: @ 080D1214 + .incbin "baserom.gba", 0x0D1214, 0x0000001 + +gUnk_080D1215:: @ 080D1215 + .incbin "baserom.gba", 0x0D1215, 0x0000001 + +gUnk_080D1216:: @ 080D1216 + .incbin "baserom.gba", 0x0D1216, 0x0000001 + +gUnk_080D1217:: @ 080D1217 + .incbin "baserom.gba", 0x0D1217, 0x0000001 + +gUnk_080D1218:: @ 080D1218 + .incbin "baserom.gba", 0x0D1218, 0x0000001 + +gUnk_080D1219:: @ 080D1219 + .incbin "baserom.gba", 0x0D1219, 0x0000004 + +gUnk_080D121D:: @ 080D121D + .incbin "baserom.gba", 0x0D121D, 0x0000013 + +gUnk_080D1230:: @ 080D1230 + .incbin "baserom.gba", 0x0D1230, 0x0000018 + +gUnk_080D1248:: @ 080D1248 + .incbin "baserom.gba", 0x0D1248, 0x0000014 + +gUnk_080D125C:: @ 080D125C + .incbin "baserom.gba", 0x0D125C, 0x0000024 + +gUnk_080D1280:: @ 080D1280 + .incbin "baserom.gba", 0x0D1280, 0x0000004 + +gUnk_080D1284:: @ 080D1284 + .incbin "baserom.gba", 0x0D1284, 0x0000002 + +gUnk_080D1286:: @ 080D1286 + .incbin "baserom.gba", 0x0D1286, 0x000000A + +gUnk_080D1290:: @ 080D1290 + .incbin "baserom.gba", 0x0D1290, 0x000001C + +gUnk_080D12AC:: @ 080D12AC + .incbin "baserom.gba", 0x0D12AC, 0x0000004 + +gUnk_080D12B0:: @ 080D12B0 + .incbin "baserom.gba", 0x0D12B0, 0x0000002 + +gUnk_080D12B2:: @ 080D12B2 + .incbin "baserom.gba", 0x0D12B2, 0x0000002 + +gUnk_080D12B4:: @ 080D12B4 + .incbin "baserom.gba", 0x0D12B4, 0x0000002 + +gUnk_080D12B6:: @ 080D12B6 + .incbin "baserom.gba", 0x0D12B6, 0x0000002 + +gUnk_080D12B8:: @ 080D12B8 + .incbin "baserom.gba", 0x0D12B8, 0x0000010 + +gUnk_080D12C8:: @ 080D12C8 + .incbin "baserom.gba", 0x0D12C8, 0x0000002 + +gUnk_080D12CA:: @ 080D12CA + .incbin "baserom.gba", 0x0D12CA, 0x0000006 + +gUnk_080D12D0:: @ 080D12D0 + .incbin "baserom.gba", 0x0D12D0, 0x000001D + +gUnk_080D12ED:: @ 080D12ED + .incbin "baserom.gba", 0x0D12ED, 0x000000B + +gUnk_080D12F8:: @ 080D12F8 + .incbin "baserom.gba", 0x0D12F8, 0x0000006 + +gUnk_080D12FE:: @ 080D12FE + .incbin "baserom.gba", 0x0D12FE, 0x0000002 + +gUnk_080D1300:: @ 080D1300 + .incbin "baserom.gba", 0x0D1300, 0x0000004 + +gUnk_080D1304:: @ 080D1304 + .incbin "baserom.gba", 0x0D1304, 0x0000008 + +gUnk_080D130C:: @ 080D130C + .incbin "baserom.gba", 0x0D130C, 0x0000001 + +gUnk_080D130D:: @ 080D130D + .incbin "baserom.gba", 0x0D130D, 0x0000003 + +gUnk_080D1310:: @ 080D1310 + .incbin "baserom.gba", 0x0D1310, 0x0000004 + +gUnk_080D1314:: @ 080D1314 + .incbin "baserom.gba", 0x0D1314, 0x0000001 + +gUnk_080D1315:: @ 080D1315 + .incbin "baserom.gba", 0x0D1315, 0x0000001 + +gUnk_080D1316:: @ 080D1316 + .incbin "baserom.gba", 0x0D1316, 0x0000001 + +gUnk_080D1317:: @ 080D1317 + .incbin "baserom.gba", 0x0D1317, 0x0000001 + +gUnk_080D1318:: @ 080D1318 + .incbin "baserom.gba", 0x0D1318, 0x0000001 + +gUnk_080D1319:: @ 080D1319 + .incbin "baserom.gba", 0x0D1319, 0x0000001 + +gUnk_080D131A:: @ 080D131A + .incbin "baserom.gba", 0x0D131A, 0x0000002 + +gUnk_080D131C:: @ 080D131C + .incbin "baserom.gba", 0x0D131C, 0x0000004 + +gUnk_080D1320:: @ 080D1320 + .incbin "baserom.gba", 0x0D1320, 0x0000018 + +gUnk_080D1338:: @ 080D1338 + .incbin "baserom.gba", 0x0D1338, 0x0000004 + +gUnk_080D133C:: @ 080D133C + .incbin "baserom.gba", 0x0D133C, 0x0000004 + +gUnk_080D1340:: @ 080D1340 + .incbin "baserom.gba", 0x0D1340, 0x0000008 + +gUnk_080D1348:: @ 080D1348 + .incbin "baserom.gba", 0x0D1348, 0x0000014 + +gUnk_080D135C:: @ 080D135C + .incbin "baserom.gba", 0x0D135C, 0x0000006 + +gUnk_080D1362:: @ 080D1362 + .incbin "baserom.gba", 0x0D1362, 0x0000050 + +gUnk_080D13B2:: @ 080D13B2 + .incbin "baserom.gba", 0x0D13B2, 0x0000005 + +gUnk_080D13B7:: @ 080D13B7 + .incbin "baserom.gba", 0x0D13B7, 0x0000021 + +gUnk_080D13D8:: @ 080D13D8 + .incbin "baserom.gba", 0x0D13D8, 0x0000008 + +gUnk_080D13E0:: @ 080D13E0 + .incbin "baserom.gba", 0x0D13E0, 0x0000003 + +gUnk_080D13E3:: @ 080D13E3 + .incbin "baserom.gba", 0x0D13E3, 0x0000006 + +gUnk_080D13E9:: @ 080D13E9 + .incbin "baserom.gba", 0x0D13E9, 0x0000003 + +gUnk_080D13EC:: @ 080D13EC + .incbin "baserom.gba", 0x0D13EC, 0x0000014 + +gUnk_080D1400:: @ 080D1400 + .incbin "baserom.gba", 0x0D1400, 0x000000D + +gUnk_080D140D:: @ 080D140D + .incbin "baserom.gba", 0x0D140D, 0x0000005 + +gUnk_080D1412:: @ 080D1412 + .incbin "baserom.gba", 0x0D1412, 0x0000002 + +gUnk_080D1414:: @ 080D1414 + .incbin "baserom.gba", 0x0D1414, 0x0000003 + +gUnk_080D1417:: @ 080D1417 + .incbin "baserom.gba", 0x0D1417, 0x0000001 + +gUnk_080D1418:: @ 080D1418 + .incbin "baserom.gba", 0x0D1418, 0x0000001 + +gUnk_080D1419:: @ 080D1419 + .incbin "baserom.gba", 0x0D1419, 0x0000003 + +gUnk_080D141C:: @ 080D141C + .incbin "baserom.gba", 0x0D141C, 0x0000002 + +gUnk_080D141E:: @ 080D141E + .incbin "baserom.gba", 0x0D141E, 0x0000001 + +gUnk_080D141F:: @ 080D141F + .incbin "baserom.gba", 0x0D141F, 0x0000004 + +gUnk_080D1423:: @ 080D1423 + .incbin "baserom.gba", 0x0D1423, 0x0000008 + +gUnk_080D142B:: @ 080D142B + .incbin "baserom.gba", 0x0D142B, 0x0000005 + +gUnk_080D1430:: @ 080D1430 + .incbin "baserom.gba", 0x0D1430, 0x0000005 + +gUnk_080D1435:: @ 080D1435 + .incbin "baserom.gba", 0x0D1435, 0x0000005 + +gUnk_080D143A:: @ 080D143A + .incbin "baserom.gba", 0x0D143A, 0x0000005 + +gUnk_080D143F:: @ 080D143F + .incbin "baserom.gba", 0x0D143F, 0x0000005 + +gUnk_080D1444:: @ 080D1444 + .incbin "baserom.gba", 0x0D1444, 0x0000005 + +gUnk_080D1449:: @ 080D1449 + .incbin "baserom.gba", 0x0D1449, 0x0000005 + +gUnk_080D144E:: @ 080D144E + .incbin "baserom.gba", 0x0D144E, 0x0000005 + +gUnk_080D1453:: @ 080D1453 + .incbin "baserom.gba", 0x0D1453, 0x0000005 + +gUnk_080D1458:: @ 080D1458 + .incbin "baserom.gba", 0x0D1458, 0x0000005 + +gUnk_080D145D:: @ 080D145D + .incbin "baserom.gba", 0x0D145D, 0x0000005 + +gUnk_080D1462:: @ 080D1462 + .incbin "baserom.gba", 0x0D1462, 0x0000005 + +gUnk_080D1467:: @ 080D1467 + .incbin "baserom.gba", 0x0D1467, 0x0000021 + +gUnk_080D1488:: @ 080D1488 + .incbin "baserom.gba", 0x0D1488, 0x0000005 + +gUnk_080D148D:: @ 080D148D + .incbin "baserom.gba", 0x0D148D, 0x0000051 + +gUnk_080D14DE:: @ 080D14DE + .incbin "baserom.gba", 0x0D14DE, 0x0000015 + +gUnk_080D14F3:: @ 080D14F3 + .incbin "baserom.gba", 0x0D14F3, 0x0000019 + +gUnk_080D150C:: @ 080D150C + .incbin "baserom.gba", 0x0D150C, 0x0000009 + +gUnk_080D1515:: @ 080D1515 + .incbin "baserom.gba", 0x0D1515, 0x0000005 + +gUnk_080D151A:: @ 080D151A + .incbin "baserom.gba", 0x0D151A, 0x000000B + +gUnk_080D1525:: @ 080D1525 + .incbin "baserom.gba", 0x0D1525, 0x0000005 + +gUnk_080D152A:: @ 080D152A + .incbin "baserom.gba", 0x0D152A, 0x0000006 + +gUnk_080D1530:: @ 080D1530 + .incbin "baserom.gba", 0x0D1530, 0x0000058 + +gUnk_080D1588:: @ 080D1588 + .incbin "baserom.gba", 0x0D1588, 0x0000018 + +gUnk_080D15A0:: @ 080D15A0 + .incbin "baserom.gba", 0x0D15A0, 0x0000008 + +gUnk_080D15A8:: @ 080D15A8 + .incbin "baserom.gba", 0x0D15A8, 0x000000C + +gUnk_080D15B4:: @ 080D15B4 + .incbin "baserom.gba", 0x0D15B4, 0x0000050 + +gUnk_080D1604:: @ 080D1604 + .incbin "baserom.gba", 0x0D1604, 0x0000014 + +gUnk_080D1618:: @ 080D1618 + .incbin "baserom.gba", 0x0D1618, 0x0000005 + +gUnk_080D161D:: @ 080D161D + .incbin "baserom.gba", 0x0D161D, 0x0000003 + +gUnk_080D1620:: @ 080D1620 + .incbin "baserom.gba", 0x0D1620, 0x0000008 + +gUnk_080D1628:: @ 080D1628 + .incbin "baserom.gba", 0x0D1628, 0x0000007 + +gUnk_080D162F:: @ 080D162F + .incbin "baserom.gba", 0x0D162F, 0x0000009 + +gUnk_080D1638:: @ 080D1638 + .incbin "baserom.gba", 0x0D1638, 0x0000005 + +gUnk_080D163D:: @ 080D163D + .incbin "baserom.gba", 0x0D163D, 0x0000031 + +gUnk_080D166E:: @ 080D166E + .incbin "baserom.gba", 0x0D166E, 0x0000026 + +gUnk_080D1694:: @ 080D1694 + .incbin "baserom.gba", 0x0D1694, 0x0000010 + +gUnk_080D16A4:: @ 080D16A4 + .incbin "baserom.gba", 0x0D16A4, 0x0000018 + +gUnk_080D16BC:: @ 080D16BC + .incbin "baserom.gba", 0x0D16BC, 0x0000014 + +gUnk_080D16D0:: @ 080D16D0 + .incbin "baserom.gba", 0x0D16D0, 0x0000004 + +gUnk_080D16D4:: @ 080D16D4 + .incbin "baserom.gba", 0x0D16D4, 0x0000008 + +gUnk_080D16DC:: @ 080D16DC + .incbin "baserom.gba", 0x0D16DC, 0x0000009 + +gUnk_080D16E5:: @ 080D16E5 + .incbin "baserom.gba", 0x0D16E5, 0x0000010 + +gUnk_080D16F5:: @ 080D16F5 + .incbin "baserom.gba", 0x0D16F5, 0x0000018 + +gUnk_080D170D:: @ 080D170D + .incbin "baserom.gba", 0x0D170D, 0x0000010 + +gUnk_080D171D:: @ 080D171D + .incbin "baserom.gba", 0x0D171D, 0x0000004 + +gUnk_080D1721:: @ 080D1721 + .incbin "baserom.gba", 0x0D1721, 0x0000020 + +gUnk_080D1741:: @ 080D1741 + .incbin "baserom.gba", 0x0D1741, 0x0000020 + +gUnk_080D1761:: @ 080D1761 + .incbin "baserom.gba", 0x0D1761, 0x0000009 + +gUnk_080D176A:: @ 080D176A + .incbin "baserom.gba", 0x0D176A, 0x0000009 + +gUnk_080D1773:: @ 080D1773 + .incbin "baserom.gba", 0x0D1773, 0x0000005 + +gUnk_080D1778:: @ 080D1778 + .incbin "baserom.gba", 0x0D1778, 0x0000005 + +gUnk_080D177D:: @ 080D177D + .incbin "baserom.gba", 0x0D177D, 0x0000013 + +gUnk_080D1790:: @ 080D1790 + .incbin "baserom.gba", 0x0D1790, 0x0000030 + +gUnk_080D17C0:: @ 080D17C0 + .incbin "baserom.gba", 0x0D17C0, 0x0000018 + +gUnk_080D17D8:: @ 080D17D8 + .incbin "baserom.gba", 0x0D17D8, 0x0000010 + +gUnk_080D17E8:: @ 080D17E8 + .incbin "baserom.gba", 0x0D17E8, 0x0000018 + +gUnk_080D1800:: @ 080D1800 + .incbin "baserom.gba", 0x0D1800, 0x000000C + +gUnk_080D180C:: @ 080D180C + .incbin "baserom.gba", 0x0D180C, 0x0000004 + +gUnk_080D1810:: @ 080D1810 + .incbin "baserom.gba", 0x0D1810, 0x0000008 + +gUnk_080D1818:: @ 080D1818 + .incbin "baserom.gba", 0x0D1818, 0x0000004 + +gUnk_080D181C:: @ 080D181C + .incbin "baserom.gba", 0x0D181C, 0x0000010 + +gUnk_080D182C:: @ 080D182C + .incbin "baserom.gba", 0x0D182C, 0x000000D + +gUnk_080D1839:: @ 080D1839 + .incbin "baserom.gba", 0x0D1839, 0x0000023 + +gUnk_080D185C:: @ 080D185C + .incbin "baserom.gba", 0x0D185C, 0x000000C + +gUnk_080D1868:: @ 080D1868 + .incbin "baserom.gba", 0x0D1868, 0x0000018 + +gUnk_080D1880:: @ 080D1880 + .incbin "baserom.gba", 0x0D1880, 0x0000008 + +gUnk_080D1888:: @ 080D1888 + .incbin "baserom.gba", 0x0D1888, 0x0000018 + +gUnk_080D18A0:: @ 080D18A0 + .incbin "baserom.gba", 0x0D18A0, 0x0000014 + +gUnk_080D18B4:: @ 080D18B4 + .incbin "baserom.gba", 0x0D18B4, 0x0000010 + +gUnk_080D18C4:: @ 080D18C4 + .incbin "baserom.gba", 0x0D18C4, 0x0000005 + +gUnk_080D18C9:: @ 080D18C9 + .incbin "baserom.gba", 0x0D18C9, 0x0000011 + +gUnk_080D18DA:: @ 080D18DA + .incbin "baserom.gba", 0x0D18DA, 0x0000019 + +gUnk_080D18F3:: @ 080D18F3 + .incbin "baserom.gba", 0x0D18F3, 0x0000021 + +gUnk_080D1914:: @ 080D1914 + .incbin "baserom.gba", 0x0D1914, 0x0000004 + +gUnk_080D1918:: @ 080D1918 + .incbin "baserom.gba", 0x0D1918, 0x0000005 + +gUnk_080D191D:: @ 080D191D + .incbin "baserom.gba", 0x0D191D, 0x0000007 + +gUnk_080D1924:: @ 080D1924 + .incbin "baserom.gba", 0x0D1924, 0x0000002 + +gUnk_080D1926:: @ 080D1926 + .incbin "baserom.gba", 0x0D1926, 0x0000009 + +gUnk_080D192F:: @ 080D192F + .incbin "baserom.gba", 0x0D192F, 0x0000005 + +gUnk_080D1934:: @ 080D1934 + .incbin "baserom.gba", 0x0D1934, 0x0000011 + +gUnk_080D1945:: @ 080D1945 + .incbin "baserom.gba", 0x0D1945, 0x0000015 + +gUnk_080D195A:: @ 080D195A + .incbin "baserom.gba", 0x0D195A, 0x000000D + +gUnk_080D1967:: @ 080D1967 + .incbin "baserom.gba", 0x0D1967, 0x0000021 + +gUnk_080D1988:: @ 080D1988 + .incbin "baserom.gba", 0x0D1988, 0x0000025 + +gUnk_080D19AD:: @ 080D19AD + .incbin "baserom.gba", 0x0D19AD, 0x000000B + +gUnk_080D19B8:: @ 080D19B8 + .incbin "baserom.gba", 0x0D19B8, 0x0000044 + +gUnk_080D19FC:: @ 080D19FC + .incbin "baserom.gba", 0x0D19FC, 0x0000018 + +gUnk_080D1A14:: @ 080D1A14 + .incbin "baserom.gba", 0x0D1A14, 0x0000024 + +gUnk_080D1A38:: @ 080D1A38 + .incbin "baserom.gba", 0x0D1A38, 0x0000006 + +gUnk_080D1A3E:: @ 080D1A3E + .incbin "baserom.gba", 0x0D1A3E, 0x0000010 + +gUnk_080D1A4E:: @ 080D1A4E + .incbin "baserom.gba", 0x0D1A4E, 0x0000016 + +gUnk_080D1A64:: @ 080D1A64 + .incbin "baserom.gba", 0x0D1A64, 0x0000010 + +gUnk_080D1A74:: @ 080D1A74 + .incbin "baserom.gba", 0x0D1A74, 0x0000010 + +gUnk_080D1A84:: @ 080D1A84 + .incbin "baserom.gba", 0x0D1A84, 0x0000010 + +gUnk_080D1A94:: @ 080D1A94 + .incbin "baserom.gba", 0x0D1A94, 0x0000018 + +gUnk_080D1AAC:: @ 080D1AAC + .incbin "baserom.gba", 0x0D1AAC, 0x0000018 + +gUnk_080D1AC4:: @ 080D1AC4 + .incbin "baserom.gba", 0x0D1AC4, 0x0000018 + +gUnk_080D1ADC:: @ 080D1ADC + .incbin "baserom.gba", 0x0D1ADC, 0x0000018 + +gUnk_080D1AF4:: @ 080D1AF4 + .incbin "baserom.gba", 0x0D1AF4, 0x0000004 + +gUnk_080D1AF8:: @ 080D1AF8 + .incbin "baserom.gba", 0x0D1AF8, 0x0000004 + +gUnk_080D1AFC:: @ 080D1AFC + .incbin "baserom.gba", 0x0D1AFC, 0x0000020 + +gUnk_080D1B1C:: @ 080D1B1C + .incbin "baserom.gba", 0x0D1B1C, 0x0000003 + +gUnk_080D1B1F:: @ 080D1B1F + .incbin "baserom.gba", 0x0D1B1F, 0x0000019 + +gUnk_080D1B38:: @ 080D1B38 + .incbin "baserom.gba", 0x0D1B38, 0x0000014 + +gUnk_080D1B4C:: @ 080D1B4C + .incbin "baserom.gba", 0x0D1B4C, 0x0000014 + +gUnk_080D1B60:: @ 080D1B60 + .incbin "baserom.gba", 0x0D1B60, 0x0000010 + +gUnk_080D1B70:: @ 080D1B70 + .incbin "baserom.gba", 0x0D1B70, 0x0000004 + +gUnk_080D1B74:: @ 080D1B74 + .incbin "baserom.gba", 0x0D1B74, 0x0000020 + +gUnk_080D1B94:: @ 080D1B94 + .incbin "baserom.gba", 0x0D1B94, 0x0000028 + +gUnk_080D1BBC:: @ 080D1BBC + .incbin "baserom.gba", 0x0D1BBC, 0x0000004 + +gUnk_080D1BC0:: @ 080D1BC0 + .incbin "baserom.gba", 0x0D1BC0, 0x000001C + +gUnk_080D1BDC:: @ 080D1BDC + .incbin "baserom.gba", 0x0D1BDC, 0x0000014 + +gUnk_080D1BF0:: @ 080D1BF0 + .incbin "baserom.gba", 0x0D1BF0, 0x0000004 + +gUnk_080D1BF4:: @ 080D1BF4 + .incbin "baserom.gba", 0x0D1BF4, 0x000000C + +gUnk_080D1C00:: @ 080D1C00 + .incbin "baserom.gba", 0x0D1C00, 0x0000004 + +gUnk_080D1C04:: @ 080D1C04 + .incbin "baserom.gba", 0x0D1C04, 0x0000017 + +gUnk_080D1C1B:: @ 080D1C1B + .incbin "baserom.gba", 0x0D1C1B, 0x0000013 + +gUnk_080D1C2E:: @ 080D1C2E + .incbin "baserom.gba", 0x0D1C2E, 0x0000016 + +gUnk_080D1C44:: @ 080D1C44 + .incbin "baserom.gba", 0x0D1C44, 0x000000C + +gUnk_080D1C50:: @ 080D1C50 + .incbin "baserom.gba", 0x0D1C50, 0x0000010 + +gUnk_080D1C60:: @ 080D1C60 + .incbin "baserom.gba", 0x0D1C60, 0x0000010 + +gUnk_080D1C70:: @ 080D1C70 + .incbin "baserom.gba", 0x0D1C70, 0x0000021 + +gUnk_080D1C91:: @ 080D1C91 + .incbin "baserom.gba", 0x0D1C91, 0x000002B + +gUnk_080D1CBC:: @ 080D1CBC + .incbin "baserom.gba", 0x0D1CBC, 0x000000C + +gUnk_080D1CC8:: @ 080D1CC8 + .incbin "baserom.gba", 0x0D1CC8, 0x0000018 + +gUnk_080D1CE0:: @ 080D1CE0 + .incbin "baserom.gba", 0x0D1CE0, 0x0000010 + +gUnk_080D1CF0:: @ 080D1CF0 + .incbin "baserom.gba", 0x0D1CF0, 0x0000009 + +gUnk_080D1CF9:: @ 080D1CF9 + .incbin "baserom.gba", 0x0D1CF9, 0x0000009 + +gUnk_080D1D02:: @ 080D1D02 + .incbin "baserom.gba", 0x0D1D02, 0x0000020 + +gUnk_080D1D22:: @ 080D1D22 + .incbin "baserom.gba", 0x0D1D22, 0x0000001 + +gUnk_080D1D23:: @ 080D1D23 + .incbin "baserom.gba", 0x0D1D23, 0x0000003 + +gUnk_080D1D26:: @ 080D1D26 + .incbin "baserom.gba", 0x0D1D26, 0x0000001 + +gUnk_080D1D27:: @ 080D1D27 + .incbin "baserom.gba", 0x0D1D27, 0x0000005 + +gUnk_080D1D2C:: @ 080D1D2C + .incbin "baserom.gba", 0x0D1D2C, 0x0000008 + +gUnk_080D1D34:: @ 080D1D34 + .incbin "baserom.gba", 0x0D1D34, 0x0000014 + +gUnk_080D1D48:: @ 080D1D48 + .incbin "baserom.gba", 0x0D1D48, 0x0000028 + +gUnk_080D1D70:: @ 080D1D70 + .incbin "baserom.gba", 0x0D1D70, 0x0000008 + +gUnk_080D1D78:: @ 080D1D78 + .incbin "baserom.gba", 0x0D1D78, 0x0000020 + +gUnk_080D1D98:: @ 080D1D98 + .incbin "baserom.gba", 0x0D1D98, 0x0000008 + +gUnk_080D1DA0:: @ 080D1DA0 + .incbin "baserom.gba", 0x0D1DA0, 0x0000028 + +gUnk_080D1DC8:: @ 080D1DC8 + .incbin "baserom.gba", 0x0D1DC8, 0x0000004 + +gUnk_080D1DCC:: @ 080D1DCC + .incbin "baserom.gba", 0x0D1DCC, 0x0000004 + +gUnk_080D1DD0:: @ 080D1DD0 + .incbin "baserom.gba", 0x0D1DD0, 0x000000C + +gUnk_080D1DDC:: @ 080D1DDC + .incbin "baserom.gba", 0x0D1DDC, 0x000000C + +gUnk_080D1DE8:: @ 080D1DE8 + .incbin "baserom.gba", 0x0D1DE8, 0x000001D + +gUnk_080D1E05:: @ 080D1E05 + .incbin "baserom.gba", 0x0D1E05, 0x0000016 + +gUnk_080D1E1B:: @ 080D1E1B + .incbin "baserom.gba", 0x0D1E1B, 0x0000006 + +gUnk_080D1E21:: @ 080D1E21 + .incbin "baserom.gba", 0x0D1E21, 0x0000005 + +gUnk_080D1E26:: @ 080D1E26 + .incbin "baserom.gba", 0x0D1E26, 0x000000C + +gUnk_080D1E32:: @ 080D1E32 + .incbin "baserom.gba", 0x0D1E32, 0x0000012 + +gUnk_080D1E44:: @ 080D1E44 + .incbin "baserom.gba", 0x0D1E44, 0x0000028 + +gUnk_080D1E6C:: @ 080D1E6C + .incbin "baserom.gba", 0x0D1E6C, 0x0000018 + +gUnk_080D1E84:: @ 080D1E84 + .incbin "baserom.gba", 0x0D1E84, 0x0000010 + +gUnk_080D1E94:: @ 080D1E94 + .incbin "baserom.gba", 0x0D1E94, 0x000000C + +gUnk_080D1EA0:: @ 080D1EA0 + .incbin "baserom.gba", 0x0D1EA0, 0x0000016 + +gUnk_080D1EB6:: @ 080D1EB6 + .incbin "baserom.gba", 0x0D1EB6, 0x0000009 + +gUnk_080D1EBF:: @ 080D1EBF + .incbin "baserom.gba", 0x0D1EBF, 0x0000009 + +gUnk_080D1EC8:: @ 080D1EC8 + .incbin "baserom.gba", 0x0D1EC8, 0x0000009 + +gUnk_080D1ED1:: @ 080D1ED1 + .incbin "baserom.gba", 0x0D1ED1, 0x0000009 + +gUnk_080D1EDA:: @ 080D1EDA + .incbin "baserom.gba", 0x0D1EDA, 0x0000009 + +gUnk_080D1EE3:: @ 080D1EE3 + .incbin "baserom.gba", 0x0D1EE3, 0x0000009 + +gUnk_080D1EEC:: @ 080D1EEC + .incbin "baserom.gba", 0x0D1EEC, 0x0000009 + +gUnk_080D1EF5:: @ 080D1EF5 + .incbin "baserom.gba", 0x0D1EF5, 0x0000009 + +gUnk_080D1EFE:: @ 080D1EFE + .incbin "baserom.gba", 0x0D1EFE, 0x0000004 + +gUnk_080D1F02:: @ 080D1F02 + .incbin "baserom.gba", 0x0D1F02, 0x0000004 + +gUnk_080D1F06:: @ 080D1F06 + .incbin "baserom.gba", 0x0D1F06, 0x0000004 + +gUnk_080D1F0A:: @ 080D1F0A + .incbin "baserom.gba", 0x0D1F0A, 0x0000004 + +gUnk_080D1F0E:: @ 080D1F0E + .incbin "baserom.gba", 0x0D1F0E, 0x0000004 + +gUnk_080D1F12:: @ 080D1F12 + .incbin "baserom.gba", 0x0D1F12, 0x0000004 + +gUnk_080D1F16:: @ 080D1F16 + .incbin "baserom.gba", 0x0D1F16, 0x0000004 + +gUnk_080D1F1A:: @ 080D1F1A + .incbin "baserom.gba", 0x0D1F1A, 0x0000006 + +gUnk_080D1F20:: @ 080D1F20 + .incbin "baserom.gba", 0x0D1F20, 0x0000014 + +gUnk_080D1F34:: @ 080D1F34 + .incbin "baserom.gba", 0x0D1F34, 0x0000030 + +gUnk_080D1F64:: @ 080D1F64 + .incbin "baserom.gba", 0x0D1F64, 0x0000018 + +gUnk_080D1F7C:: @ 080D1F7C + .incbin "baserom.gba", 0x0D1F7C, 0x0000014 + +gUnk_080D1F90:: @ 080D1F90 + .incbin "baserom.gba", 0x0D1F90, 0x0000080 + +gUnk_080D2010:: @ 080D2010 + .incbin "baserom.gba", 0x0D2010, 0x0000020 + +gUnk_080D2030:: @ 080D2030 + .incbin "baserom.gba", 0x0D2030, 0x0000020 + +gUnk_080D2050:: @ 080D2050 + .incbin "baserom.gba", 0x0D2050, 0x0000014 + +gUnk_080D2064:: @ 080D2064 + .incbin "baserom.gba", 0x0D2064, 0x0000014 + +gUnk_080D2078:: @ 080D2078 + .incbin "baserom.gba", 0x0D2078, 0x0000014 + +gUnk_080D208C:: @ 080D208C + .incbin "baserom.gba", 0x0D208C, 0x0000014 + +gUnk_080D20A0:: @ 080D20A0 + .incbin "baserom.gba", 0x0D20A0, 0x0000014 + +gUnk_080D20B4:: @ 080D20B4 + .incbin "baserom.gba", 0x0D20B4, 0x0000014 + +gUnk_080D20C8:: @ 080D20C8 + .incbin "baserom.gba", 0x0D20C8, 0x0000014 + +gUnk_080D20DC:: @ 080D20DC + .incbin "baserom.gba", 0x0D20DC, 0x0000014 + +gUnk_080D20F0:: @ 080D20F0 + .incbin "baserom.gba", 0x0D20F0, 0x0000014 + +gUnk_080D2104:: @ 080D2104 + .incbin "baserom.gba", 0x0D2104, 0x0000014 + +gUnk_080D2118:: @ 080D2118 + .incbin "baserom.gba", 0x0D2118, 0x0000014 + +gUnk_080D212C:: @ 080D212C + .incbin "baserom.gba", 0x0D212C, 0x0000014 + +gUnk_080D2140:: @ 080D2140 + .incbin "baserom.gba", 0x0D2140, 0x0000014 + +gUnk_080D2154:: @ 080D2154 + .incbin "baserom.gba", 0x0D2154, 0x0000014 + +gUnk_080D2168:: @ 080D2168 + .incbin "baserom.gba", 0x0D2168, 0x0000014 + +gUnk_080D217C:: @ 080D217C + .incbin "baserom.gba", 0x0D217C, 0x0000014 + +gUnk_080D2190:: @ 080D2190 + .incbin "baserom.gba", 0x0D2190, 0x0000029 + +gUnk_080D21B9:: @ 080D21B9 + .incbin "baserom.gba", 0x0D21B9, 0x0000029 + +gUnk_080D21E2:: @ 080D21E2 + .incbin "baserom.gba", 0x0D21E2, 0x0000029 + +gUnk_080D220B:: @ 080D220B + .incbin "baserom.gba", 0x0D220B, 0x0000029 + +gUnk_080D2234:: @ 080D2234 + .incbin "baserom.gba", 0x0D2234, 0x0000010 + +gUnk_080D2244:: @ 080D2244 + .incbin "baserom.gba", 0x0D2244, 0x0000010 + +gUnk_080D2254:: @ 080D2254 + .incbin "baserom.gba", 0x0D2254, 0x0000010 + +gUnk_080D2264:: @ 080D2264 + .incbin "baserom.gba", 0x0D2264, 0x0000010 + +gUnk_080D2274:: @ 080D2274 + .incbin "baserom.gba", 0x0D2274, 0x0000064 + +gUnk_080D22D8:: @ 080D22D8 + .incbin "baserom.gba", 0x0D22D8, 0x0000018 + +gUnk_080D22F0:: @ 080D22F0 + .incbin "baserom.gba", 0x0D22F0, 0x0000010 + +gUnk_080D2300:: @ 080D2300 + .incbin "baserom.gba", 0x0D2300, 0x0000048 + +gUnk_080D2348:: @ 080D2348 + .incbin "baserom.gba", 0x0D2348, 0x0000020 + +gUnk_080D2368:: @ 080D2368 + .incbin "baserom.gba", 0x0D2368, 0x0000011 + +gUnk_080D2379:: @ 080D2379 + .incbin "baserom.gba", 0x0D2379, 0x0000011 + +gUnk_080D238A:: @ 080D238A + .incbin "baserom.gba", 0x0D238A, 0x0000011 + +gUnk_080D239B:: @ 080D239B + .incbin "baserom.gba", 0x0D239B, 0x0000011 + +gUnk_080D23AC:: @ 080D23AC + .incbin "baserom.gba", 0x0D23AC, 0x0000011 + +gUnk_080D23BD:: @ 080D23BD + .incbin "baserom.gba", 0x0D23BD, 0x0000011 + +gUnk_080D23CE:: @ 080D23CE + .incbin "baserom.gba", 0x0D23CE, 0x0000011 + +gUnk_080D23DF:: @ 080D23DF + .incbin "baserom.gba", 0x0D23DF, 0x0000011 + +gUnk_080D23F0:: @ 080D23F0 + .incbin "baserom.gba", 0x0D23F0, 0x0000011 + +gUnk_080D2401:: @ 080D2401 + .incbin "baserom.gba", 0x0D2401, 0x0000011 + +gUnk_080D2412:: @ 080D2412 + .incbin "baserom.gba", 0x0D2412, 0x0000011 + +gUnk_080D2423:: @ 080D2423 + .incbin "baserom.gba", 0x0D2423, 0x0000011 + +gUnk_080D2434:: @ 080D2434 + .incbin "baserom.gba", 0x0D2434, 0x0000011 + +gUnk_080D2445:: @ 080D2445 + .incbin "baserom.gba", 0x0D2445, 0x0000011 + +gUnk_080D2456:: @ 080D2456 + .incbin "baserom.gba", 0x0D2456, 0x0000011 + +gUnk_080D2467:: @ 080D2467 + .incbin "baserom.gba", 0x0D2467, 0x0000011 + +gUnk_080D2478:: @ 080D2478 + .incbin "baserom.gba", 0x0D2478, 0x0000011 + +gUnk_080D2489:: @ 080D2489 + .incbin "baserom.gba", 0x0D2489, 0x0000011 + +gUnk_080D249A:: @ 080D249A + .incbin "baserom.gba", 0x0D249A, 0x0000011 + +gUnk_080D24AB:: @ 080D24AB + .incbin "baserom.gba", 0x0D24AB, 0x0000011 + +gUnk_080D24BC:: @ 080D24BC + .incbin "baserom.gba", 0x0D24BC, 0x0000011 + +gUnk_080D24CD:: @ 080D24CD + .incbin "baserom.gba", 0x0D24CD, 0x0000011 + +gUnk_080D24DE:: @ 080D24DE + .incbin "baserom.gba", 0x0D24DE, 0x0000011 + +gUnk_080D24EF:: @ 080D24EF + .incbin "baserom.gba", 0x0D24EF, 0x0000011 + +gUnk_080D2500:: @ 080D2500 + .incbin "baserom.gba", 0x0D2500, 0x0000011 + +gUnk_080D2511:: @ 080D2511 + .incbin "baserom.gba", 0x0D2511, 0x0000011 + +gUnk_080D2522:: @ 080D2522 + .incbin "baserom.gba", 0x0D2522, 0x0000011 + +gUnk_080D2533:: @ 080D2533 + .incbin "baserom.gba", 0x0D2533, 0x0000011 + +gUnk_080D2544:: @ 080D2544 + .incbin "baserom.gba", 0x0D2544, 0x0000011 + +gUnk_080D2555:: @ 080D2555 + .incbin "baserom.gba", 0x0D2555, 0x0000011 + +gUnk_080D2566:: @ 080D2566 + .incbin "baserom.gba", 0x0D2566, 0x0000011 + +gUnk_080D2577:: @ 080D2577 + .incbin "baserom.gba", 0x0D2577, 0x0000011 + +gUnk_080D2588:: @ 080D2588 + .incbin "baserom.gba", 0x0D2588, 0x0000011 + +gUnk_080D2599:: @ 080D2599 + .incbin "baserom.gba", 0x0D2599, 0x0000011 + +gUnk_080D25AA:: @ 080D25AA + .incbin "baserom.gba", 0x0D25AA, 0x0000011 + +gUnk_080D25BB:: @ 080D25BB + .incbin "baserom.gba", 0x0D25BB, 0x0000011 + +gUnk_080D25CC:: @ 080D25CC + .incbin "baserom.gba", 0x0D25CC, 0x0000011 + +gUnk_080D25DD:: @ 080D25DD + .incbin "baserom.gba", 0x0D25DD, 0x0000011 + +gUnk_080D25EE:: @ 080D25EE + .incbin "baserom.gba", 0x0D25EE, 0x0000011 + +gUnk_080D25FF:: @ 080D25FF + .incbin "baserom.gba", 0x0D25FF, 0x0000011 + +gUnk_080D2610:: @ 080D2610 + .incbin "baserom.gba", 0x0D2610, 0x0000011 + +gUnk_080D2621:: @ 080D2621 + .incbin "baserom.gba", 0x0D2621, 0x0000011 + +gUnk_080D2632:: @ 080D2632 + .incbin "baserom.gba", 0x0D2632, 0x0000011 + +gUnk_080D2643:: @ 080D2643 + .incbin "baserom.gba", 0x0D2643, 0x0000011 + +gUnk_080D2654:: @ 080D2654 + .incbin "baserom.gba", 0x0D2654, 0x0000011 + +gUnk_080D2665:: @ 080D2665 + .incbin "baserom.gba", 0x0D2665, 0x0000011 + +gUnk_080D2676:: @ 080D2676 + .incbin "baserom.gba", 0x0D2676, 0x0000011 + +gUnk_080D2687:: @ 080D2687 + .incbin "baserom.gba", 0x0D2687, 0x0000011 + +gUnk_080D2698:: @ 080D2698 + .incbin "baserom.gba", 0x0D2698, 0x0000011 + +gUnk_080D26A9:: @ 080D26A9 + .incbin "baserom.gba", 0x0D26A9, 0x0000011 + +gUnk_080D26BA:: @ 080D26BA + .incbin "baserom.gba", 0x0D26BA, 0x0000011 + +gUnk_080D26CB:: @ 080D26CB + .incbin "baserom.gba", 0x0D26CB, 0x0000011 + +gUnk_080D26DC:: @ 080D26DC + .incbin "baserom.gba", 0x0D26DC, 0x0000011 + +gUnk_080D26ED:: @ 080D26ED + .incbin "baserom.gba", 0x0D26ED, 0x0000011 + +gUnk_080D26FE:: @ 080D26FE + .incbin "baserom.gba", 0x0D26FE, 0x0000011 + +gUnk_080D270F:: @ 080D270F + .incbin "baserom.gba", 0x0D270F, 0x0000011 + +gUnk_080D2720:: @ 080D2720 + .incbin "baserom.gba", 0x0D2720, 0x0000011 + +gUnk_080D2731:: @ 080D2731 + .incbin "baserom.gba", 0x0D2731, 0x0000011 + +gUnk_080D2742:: @ 080D2742 + .incbin "baserom.gba", 0x0D2742, 0x0000011 + +gUnk_080D2753:: @ 080D2753 + .incbin "baserom.gba", 0x0D2753, 0x0000011 + +gUnk_080D2764:: @ 080D2764 + .incbin "baserom.gba", 0x0D2764, 0x0000011 + +gUnk_080D2775:: @ 080D2775 + .incbin "baserom.gba", 0x0D2775, 0x0000011 + +gUnk_080D2786:: @ 080D2786 + .incbin "baserom.gba", 0x0D2786, 0x0000011 + +gUnk_080D2797:: @ 080D2797 + .incbin "baserom.gba", 0x0D2797, 0x0000011 + +gUnk_080D27A8:: @ 080D27A8 + .incbin "baserom.gba", 0x0D27A8, 0x0000104 + +gUnk_080D28AC:: @ 080D28AC + .incbin "baserom.gba", 0x0D28AC, 0x0000020 + +gUnk_080D28CC:: @ 080D28CC + .incbin "baserom.gba", 0x0D28CC, 0x0000010 + +gUnk_080D28DC:: @ 080D28DC + .incbin "baserom.gba", 0x0D28DC, 0x0000008 + +gUnk_080D28E4:: @ 080D28E4 + .incbin "baserom.gba", 0x0D28E4, 0x0000008 + +gUnk_080D28EC:: @ 080D28EC + .incbin "baserom.gba", 0x0D28EC, 0x0000008 + +gUnk_080D28F4:: @ 080D28F4 + .incbin "baserom.gba", 0x0D28F4, 0x0000008 + +gUnk_080D28FC:: @ 080D28FC + .incbin "baserom.gba", 0x0D28FC, 0x0000008 + +gUnk_080D2904:: @ 080D2904 + .incbin "baserom.gba", 0x0D2904, 0x0000008 + +gUnk_080D290C:: @ 080D290C + .incbin "baserom.gba", 0x0D290C, 0x0000008 + +gUnk_080D2914:: @ 080D2914 + .incbin "baserom.gba", 0x0D2914, 0x0000008 + +gUnk_080D291C:: @ 080D291C + .incbin "baserom.gba", 0x0D291C, 0x0000011 + +gUnk_080D292D:: @ 080D292D + .incbin "baserom.gba", 0x0D292D, 0x0000011 + +gUnk_080D293E:: @ 080D293E + .incbin "baserom.gba", 0x0D293E, 0x000000C + +gUnk_080D294A:: @ 080D294A + .incbin "baserom.gba", 0x0D294A, 0x0000005 + +gUnk_080D294F:: @ 080D294F + .incbin "baserom.gba", 0x0D294F, 0x0000011 + +gUnk_080D2960:: @ 080D2960 + .incbin "baserom.gba", 0x0D2960, 0x0000014 + +gUnk_080D2974:: @ 080D2974 + .incbin "baserom.gba", 0x0D2974, 0x0000014 + +gUnk_080D2988:: @ 080D2988 + .incbin "baserom.gba", 0x0D2988, 0x0000008 + +gUnk_080D2990:: @ 080D2990 + .incbin "baserom.gba", 0x0D2990, 0x0000018 + +gUnk_080D29A8:: @ 080D29A8 + .incbin "baserom.gba", 0x0D29A8, 0x0000010 + +gUnk_080D29B8:: @ 080D29B8 + .incbin "baserom.gba", 0x0D29B8, 0x0000008 + +gUnk_080D29C0:: @ 080D29C0 + .incbin "baserom.gba", 0x0D29C0, 0x0000020 + +gUnk_080D29E0:: @ 080D29E0 + .incbin "baserom.gba", 0x0D29E0, 0x00000D0 + +gUnk_080D2AB0:: @ 080D2AB0 + .incbin "baserom.gba", 0x0D2AB0, 0x000000C + +gUnk_080D2ABC:: @ 080D2ABC + .incbin "baserom.gba", 0x0D2ABC, 0x000019C + +gUnk_080D2C58:: @ 080D2C58 + .incbin "baserom.gba", 0x0D2C58, 0x00001CE + +gUnk_080D2E26:: @ 080D2E26 + .incbin "baserom.gba", 0x0D2E26, 0x0000492 + +gUnk_080D32B8:: @ 080D32B8 + .incbin "baserom.gba", 0x0D32B8, 0x0000030 + +gUnk_080D32E8:: @ 080D32E8 + .incbin "baserom.gba", 0x0D32E8, 0x0000020 + +gUnk_080D3308:: @ 080D3308 + .incbin "baserom.gba", 0x0D3308, 0x0000080 + +gUnk_080D3388:: @ 080D3388 + .incbin "baserom.gba", 0x0D3388, 0x0000040 + +gUnk_080D33C8:: @ 080D33C8 + .incbin "baserom.gba", 0x0D33C8, 0x0000090 + +gUnk_080D3458:: @ 080D3458 + .incbin "baserom.gba", 0x0D3458, 0x0000030 + +gUnk_080D3488:: @ 080D3488 + .incbin "baserom.gba", 0x0D3488, 0x0000030 + +gUnk_080D34B8:: @ 080D34B8 + .incbin "baserom.gba", 0x0D34B8, 0x0000020 + +gUnk_080D34D8:: @ 080D34D8 + .incbin "baserom.gba", 0x0D34D8, 0x0000030 + +gUnk_080D3508:: @ 080D3508 + .incbin "baserom.gba", 0x0D3508, 0x0000090 + +gUnk_080D3598:: @ 080D3598 + .incbin "baserom.gba", 0x0D3598, 0x0000040 + +gUnk_080D35D8:: @ 080D35D8 + .incbin "baserom.gba", 0x0D35D8, 0x0000070 + +gUnk_080D3648:: @ 080D3648 + .incbin "baserom.gba", 0x0D3648, 0x0000080 + +gUnk_080D36C8:: @ 080D36C8 + .incbin "baserom.gba", 0x0D36C8, 0x0000020 + +gUnk_080D36E8:: @ 080D36E8 + .incbin "baserom.gba", 0x0D36E8, 0x0000030 + +gUnk_080D3718:: @ 080D3718 + .incbin "baserom.gba", 0x0D3718, 0x0000030 + +gUnk_080D3748:: @ 080D3748 + .incbin "baserom.gba", 0x0D3748, 0x0000020 + +gUnk_080D3768:: @ 080D3768 + .incbin "baserom.gba", 0x0D3768, 0x0000020 + +gUnk_080D3788:: @ 080D3788 + .incbin "baserom.gba", 0x0D3788, 0x0000050 + +gUnk_080D37D8:: @ 080D37D8 + .incbin "baserom.gba", 0x0D37D8, 0x0000020 + +gUnk_080D37F8:: @ 080D37F8 + .incbin "baserom.gba", 0x0D37F8, 0x0000030 + +gUnk_080D3828:: @ 080D3828 + .incbin "baserom.gba", 0x0D3828, 0x0000080 + +gUnk_080D38A8:: @ 080D38A8 + .incbin "baserom.gba", 0x0D38A8, 0x0000030 + +gUnk_080D38D8:: @ 080D38D8 + .incbin "baserom.gba", 0x0D38D8, 0x0000040 + +gUnk_080D3918:: @ 080D3918 + .incbin "baserom.gba", 0x0D3918, 0x0000020 + +gUnk_080D3938:: @ 080D3938 + .incbin "baserom.gba", 0x0D3938, 0x0000017 + +gUnk_080D394F:: @ 080D394F + .incbin "baserom.gba", 0x0D394F, 0x0000029 + +gUnk_080D3978:: @ 080D3978 + .incbin "baserom.gba", 0x0D3978, 0x0000060 + +gUnk_080D39D8:: @ 080D39D8 + .incbin "baserom.gba", 0x0D39D8, 0x0000040 + +gUnk_080D3A18:: @ 080D3A18 + .incbin "baserom.gba", 0x0D3A18, 0x0000050 + +gUnk_080D3A68:: @ 080D3A68 + .incbin "baserom.gba", 0x0D3A68, 0x0000030 + +gUnk_080D3A98:: @ 080D3A98 + .incbin "baserom.gba", 0x0D3A98, 0x0000030 + +gUnk_080D3AC8:: @ 080D3AC8 + .incbin "baserom.gba", 0x0D3AC8, 0x0000020 + +gUnk_080D3AE8:: @ 080D3AE8 + .incbin "baserom.gba", 0x0D3AE8, 0x0000040 + +gUnk_080D3B28:: @ 080D3B28 + .incbin "baserom.gba", 0x0D3B28, 0x0000020 + +gUnk_080D3B48:: @ 080D3B48 + .incbin "baserom.gba", 0x0D3B48, 0x0000040 + +gUnk_080D3B88:: @ 080D3B88 + .incbin "baserom.gba", 0x0D3B88, 0x0000020 + +gUnk_080D3BA8:: @ 080D3BA8 + .incbin "baserom.gba", 0x0D3BA8, 0x0000020 + +gUnk_080D3BC8:: @ 080D3BC8 + .incbin "baserom.gba", 0x0D3BC8, 0x0000020 + +gUnk_080D3BE8:: @ 080D3BE8 + .incbin "baserom.gba", 0x0D3BE8, 0x0000010 diff --git a/include/lakitu.h b/include/lakitu.h new file mode 100644 index 00000000..7226eee7 --- /dev/null +++ b/include/lakitu.h @@ -0,0 +1,84 @@ +#ifndef LAKITU_H +#define LAKITU_H + +// Lakitu +extern void EnemyFunctionHandler(Entity *, void (*const funcs[])(Entity*)); +extern void SetChildOffset(Entity *, u32, u32, u32); + +// sub_0803C784 +extern void sub_0804A9FC(Entity *, u32); +extern void sub_0804AA30(Entity *, void (*const funcs[])(Entity *)); + +// sub_0803C820 +extern u32 sub_0806F520(Entity *); + +// sub_0803C850 +extern void sub_0806F4E8(Entity *); + +// Lakitu_Initialize +extern void sub_0804A720(Entity *); + +// Lakitu_Cloudless +extern u32 sub_08003FC4(Entity *, u32); + +// sub_0803CA4C +extern u32 sub_080041A0(Entity *, Entity *, u32, u32); + +// sub_0803CAD0 +extern u8 sub_080045D4(s16, s16, u16, u16); +extern void sub_080AEFE0(Entity *); + +// Lakitu_SpawnLightning +extern void PositionRelative(Entity *, Entity *, u32, u32); +extern void sub_08004488(u32); + +// sub_0803CC08 +extern void DeleteEntity(Entity *); + +// Part of function tables +extern void sub_08001324(Entity *); +extern void sub_0804A7D4(Entity *); +extern void sub_08001242(Entity *); + +// Used in multiple functions +extern Entity *CreateFx(Entity*, u32, u32); +extern Entity *sub_0804A98C(Entity *positionEntity, u8 subtype, u8 form); // Creates a projectile positioned at the given entity +extern void UpdateAnimationSingleFrame(Entity *); +extern void InitAnimationForceUpdate(Entity *, u32); +extern u32 sub_0806FCB8(Entity *, u32, u32, u32); +extern u32 sub_080045C4(Entity *, Entity *); + + +// Forward references to functions in lakitu.c +extern void sub_0803CAD0(Entity *); +extern void sub_0803CBAC(Entity *); +extern void sub_0803CA84(Entity *, u32); +extern bool32 sub_0803CA4C(Entity *); +extern bool32 sub_0803CB04(Entity *); +extern void Lakitu_SpawnLightning(Entity *); +extern void sub_0803CB34(Entity *); +extern void sub_0803CC08(Entity *this); + +enum { + INIT, + HIDDEN, + END_HIDE, + IDLE, + BEGIN_HIDE, + LIGHTNING_THROW, + LIGHTNING_DELAY, + CLOUDLESS, +}; + +extern void (*const gUnk_080D0110[])(Entity *); +extern void (*const LakituActionFuncs[])(Entity *); +extern void (*const gUnk_080D0148[])(Entity *); + +typedef struct { + s8 x; + s8 y; +} PACKED OffsetCoords; + +extern const OffsetCoords gUnk_080D0154[]; + +#endif // LAKITU_H \ No newline at end of file diff --git a/linker.ld b/linker.ld index 6bf92f3e..afab0177 100644 --- a/linker.ld +++ b/linker.ld @@ -890,6 +890,10 @@ SECTIONS { data/data_080B3740.o(.rodata); src/trig.o(.rodata); data/data_080C93E0.o(.rodata); + src/lakitu.o(.rodata); + data/data_080D0154.o(.rodata); + src/lakituCloud.o(.rodata); + data/data_080D0448.o(.rodata); src/enemy.o(.rodata); data/data_080D3D94.o(.rodata); data/areaPropertyLists.o(.rodata); diff --git a/src/bowMoblin.c b/src/bowMoblin.c index 6c7620d6..c23b1294 100644 --- a/src/bowMoblin.c +++ b/src/bowMoblin.c @@ -38,4 +38,4 @@ void sub_0803C198(Entity *this) } } -void nullsub_168(Entity* this){} \ No newline at end of file +void nullsub_168(Entity* this){} diff --git a/src/hangingSeed.c b/src/hangingSeed.c index 35653f43..8775f101 100644 --- a/src/hangingSeed.c +++ b/src/hangingSeed.c @@ -37,4 +37,4 @@ void sub_08021720(Entity *this) this->ticks.b0 = 3; } -void nullsub_08(Entity* this){} \ No newline at end of file +void nullsub_08(Entity* this){} diff --git a/src/lakitu.c b/src/lakitu.c index 9c7c41d6..65a13c66 100644 --- a/src/lakitu.c +++ b/src/lakitu.c @@ -4,78 +4,7 @@ #include "random.h" #include "link.h" -// Lakitu -extern void EnemyFunctionHandler(Entity *, void (*const funcs[])(Entity*)); -extern void SetChildOffset(Entity *, u32, u32, u32); - -// sub_0803C758 -extern void sub_0803CAD0(Entity *); - -// sub_0803C784 -extern void sub_0803CBAC(Entity *); // Also used in sub_0803C86C -extern Entity *CreateFx(Entity*, u32, u32); -extern void sub_0804A9FC(Entity *, u32); -extern void sub_0804AA30(Entity *, void (*const funcs[])(Entity *)); - -// sub_0803C820 -extern u32 sub_0806F520(Entity *); - -// sub_0803C850 -extern void sub_0806F4E8(Entity *); - -// sub_0803C87C -extern Entity *sub_0804A98C(Entity *, u32, u32); -extern void sub_0804A720(Entity *); - -// sub_0803C8BC and sub_0803C918 -extern void sub_0803CA84(Entity *, u32); -extern bool32 sub_0803CA4C(Entity *); - -// Many functions -extern void UpdateAnimationSingleFrame(Entity *); -extern void InitAnimationForceUpdate(Entity *, u32); - -// sub_0803C918 -extern u32 sub_0803CB04(Entity *); - -// sub_0803C97C -extern void sub_0803CB64(Entity *); - -// sub_0803C9D4 and sub_0803CB04 -extern void sub_0803CB34(Entity *); - -// sub_0803CA0C -extern u32 sub_08003FC4(Entity *, u32); -extern void sub_0803CC08(Entity *this); - -// sub_0803CA4C -extern u32 sub_0806FCB8(Entity *, u32, u32, u32); -extern u32 sub_080041A0(Entity *, Entity *, u32, u32); - -// sub_0803CA84 -extern u32 sub_080045C4(Entity *, Entity *); - -// sub_0803CAD0 -extern u8 sub_080045D4(s16, s16, u16, u16); -extern void sub_080AEFE0(Entity *); - -// sub_0803CB64 -extern void PositionRelative(Entity *, Entity *, u32, u32); -extern void sub_08004488(u32); - -typedef struct { - s8 x; - s8 y; -} PACKED OffsetCoords; - -// sub_0803CC08 -extern void DeleteEntity(Entity *); - -// Variables -extern void (*const gUnk_080D0110[])(Entity *); -extern void (*const gUnk_080D0128[])(Entity *); -extern void (*const gUnk_080D0148[])(Entity *); -extern const OffsetCoords gUnk_080D0154[]; +#include "lakitu.h" void Lakitu(Entity *this) { EnemyFunctionHandler(this, gUnk_080D0110); @@ -83,12 +12,12 @@ void Lakitu(Entity *this) { SetChildOffset(this, 0, 1, -16); } -void sub_0803C758(Entity *this) { +void Lakitu_DoAction(Entity *this) { if (this->action != 0 && this->action != 7) { sub_0803CAD0(this); } - gUnk_080D0128[this->action](this); + LakituActionFuncs[this->action](this); } void sub_0803C784(Entity *this) { @@ -99,9 +28,9 @@ void sub_0803C784(Entity *this) { } else { if (this->damageType == 0x43) { - Entity *sound = CreateFx(this, 2, 0); + Entity *fx = CreateFx(this, 2, 0); - if (sound != 0) { + if (fx != NULL) { u32 angle = (this->field_0x3e ^ 0x10) << 3; s32 sine; @@ -110,14 +39,14 @@ void sub_0803C784(Entity *this) { sine += 0x1f; } - sound->x.HALF.HI += sine >> 5; + fx->x.HALF.HI += sine >> 5; sine = gSineTable[angle + 0x40]; if (sine < 0) { sine += 0x1f; } - sound->y.HALF.HI -= sine >> 5; + fx->y.HALF.HI -= sine >> 5; } } } @@ -142,7 +71,7 @@ void sub_0803C844(Entity *this) { void sub_0803C850(Entity *this) { Entity *cloud = this->attachedEntity; - if (cloud != 0) { + if (cloud != NULL) { cloud->spriteOffsetX = this->spriteOffsetX; } @@ -151,12 +80,12 @@ void sub_0803C850(Entity *this) { void sub_0803C86C(Entity *this) { sub_0803CBAC(this); - this->attachedEntity = 0; + this->attachedEntity = NULL; } -void sub_0803C87C(Entity *this) { +void Lakitu_Initialize(Entity *this) { Entity *cloud = sub_0804A98C(this, 17, 0); - if (cloud == 0) { + if (cloud == NULL) { return; } @@ -165,7 +94,7 @@ void sub_0803C87C(Entity *this) { sub_0804A720(this); - this->action = 1; + this->action = HIDDEN; this->height.HALF.HI = -2; @@ -175,20 +104,20 @@ void sub_0803C87C(Entity *this) { this->field_0x76 = this->y.HALF.HI; } -void sub_0803C8BC(Entity *this) { +void Lakitu_Hide(Entity *this) { sub_0803CA84(this, 0); if (sub_0803CA4C(this)) { - this->action = 2; + this->action = END_HIDE; this->spriteSettings.b.ss0 = 1; } } -void sub_0803C8E4(Entity *this) { +void Lakitu_EndHide(Entity *this) { UpdateAnimationSingleFrame(this); if (this->frames.b.f3) { - this->action = 3; + this->action = IDLE; this->actionDelay = 0x3c; this->damageType = 0x42; @@ -197,13 +126,13 @@ void sub_0803C8E4(Entity *this) { } } -void sub_0803C918(Entity *this) { - if (sub_0803CB04(this) != 0) { +void Lakitu_Idle(Entity *this) { + if (sub_0803CB04(this)) { return; } - if (sub_0803CA4C(this) == 0) { - this->action = 4; + if (!sub_0803CA4C(this)) { + this->action = BEGIN_HIDE; this->damageType = 0x43; InitAnimationForceUpdate(this, this->animationState + 0xc); @@ -213,42 +142,44 @@ void sub_0803C918(Entity *this) { } } -void sub_0803C950(Entity *this) { +void Lakitu_BeginHide(Entity *this) { UpdateAnimationSingleFrame(this); if (this->frames.b.f3 != 0) { - this->action = 1; + this->action = HIDDEN; this->spriteSettings.b.ss0 = 0; InitAnimationForceUpdate(this, this->animationState); } } -void sub_0803C97C(Entity *this) { +void Lakitu_Lightning(Entity *this) { UpdateAnimationSingleFrame(this); if (this->frames.b.f3 == 0) { return; } - sub_0803CB64(this); - this->action = 6; + Lakitu_SpawnLightning(this); + + this->action = LIGHTNING_DELAY; this->damageType = 0x42; - - if ((Random() & 1) && this->field_0x78.HALF.HI == 0) { + if ((Random() & 1) && !this->field_0x78.HALF.HI) { this->actionDelay = 0xf; - this->field_0x78.HALF.HI = 1; + + this->field_0x78.HALF.HI = TRUE; } else { this->actionDelay = 0x1e; - this->field_0x78.HALF.HI = 0; + + this->field_0x78.HALF.HI = FALSE; InitAnimationForceUpdate(this->attachedEntity, this->animationState); } } -void sub_0803C9D4(Entity *this) { +void Lakitu_LightningDelay(Entity *this) { this->actionDelay--; if (this->actionDelay != 0) { @@ -259,14 +190,14 @@ void sub_0803C9D4(Entity *this) { sub_0803CB34(this); } else { - this->action = 3; + this->action = IDLE; this->actionDelay = 0xb4; InitAnimationForceUpdate(this, this->animationState + 4); } } -void sub_0803CA0C(Entity *this) { +void Lakitu_Cloudless(Entity *this) { if (sub_08003FC4(this, 0x1800) == 0 && this->animIndex <= 19) { InitAnimationForceUpdate(this, this->animationState + 20); @@ -331,7 +262,7 @@ bool32 sub_0803CB04(Entity *this) { } void sub_0803CB34(Entity *this) { - this->action = 5; + this->action = LIGHTNING_THROW; this->damageType = 0xa6; this->field_0x78.HALF.LO = sub_080045C4(this, &gLinkEntity); @@ -339,21 +270,21 @@ void sub_0803CB34(Entity *this) { InitAnimationForceUpdate(this, this->animationState + 8); } -void sub_0803CB64(Entity *this) { - Entity *cloud; +void Lakitu_SpawnLightning(Entity *this) { + Entity *lightning; const OffsetCoords *offset; - cloud = sub_0804A98C(this, 18, 0); + lightning = sub_0804A98C(this, 18, 0); - if (cloud == 0) { + if (lightning == NULL) { return; } offset = &gUnk_080D0154[this->animationState]; - cloud->direction = this->field_0x78.HALF.LO; + lightning->direction = this->field_0x78.HALF.LO; - PositionRelative(this, cloud, offset->x << 16, offset->y << 16); + PositionRelative(this, lightning, offset->x << 16, offset->y << 16); sub_08004488(0x193); } @@ -362,12 +293,12 @@ void sub_0803CBAC(Entity *this) { Entity *cloud; cloud = this->attachedEntity; - if (cloud != 0) { + if (cloud != NULL) { cloud->flags |= 0x80; cloud->damageType = 0x43; } - this->action = 7; + this->action = CLOUDLESS; this->spriteSettings.b.ss0 = 1; this->ticks.b1 = 1; @@ -381,10 +312,10 @@ void sub_0803CBAC(Entity *this) { void sub_0803CC08(Entity *this) { Entity *cloud; - Entity *sound; + Entity *fx; cloud = this->attachedEntity; - if (cloud == 0) { + if (cloud == NULL) { return; } @@ -400,30 +331,63 @@ void sub_0803CC08(Entity *this) { return; } - sound = CreateFx(this, 2, 0); - if (sound != 0) { - sound->x.HALF.HI += 6; - sound->y.HALF.HI += 6; + fx = CreateFx(this, 2, 0); + if (fx != NULL) { + fx->x.HALF.HI += 6; + fx->y.HALF.HI += 6; } - sound = CreateFx(this, 2, 0); - if (sound != 0) { - sound->x.HALF.HI -= 6; - sound->y.HALF.HI += 6; + fx = CreateFx(this, 2, 0); + if (fx != NULL) { + fx->x.HALF.HI -= 6; + fx->y.HALF.HI += 6; } - sound = CreateFx(this, 2, 0); - if (sound != 0) { - sound->x.HALF.HI += 6; - sound->y.HALF.HI -= 6; + fx = CreateFx(this, 2, 0); + if (fx != NULL) { + fx->x.HALF.HI += 6; + fx->y.HALF.HI -= 6; } - sound = CreateFx(this, 2, 0); - if (sound != 0) { - sound->x.HALF.HI -= 6; - sound->y.HALF.HI -= 6; + fx = CreateFx(this, 2, 0); + if (fx != NULL) { + fx->x.HALF.HI -= 6; + fx->y.HALF.HI -= 6; } - this->attachedEntity = 0; + this->attachedEntity = NULL; DeleteEntity(cloud); -} \ No newline at end of file +} + +void (*const gUnk_080D0110[])(Entity *) = { + Lakitu_DoAction, + sub_0803C784, + sub_08001324, + sub_0804A7D4, + sub_08001242, + sub_0803C820, +}; + +void (*const LakituActionFuncs[])(Entity *) = { + Lakitu_Initialize, + Lakitu_Hide, + Lakitu_EndHide, + Lakitu_Idle, + Lakitu_BeginHide, + Lakitu_Lightning, + Lakitu_LightningDelay, + Lakitu_Cloudless, +}; + +void (*const gUnk_080D0148[])(Entity *) = { + sub_0803C844, + sub_0803C850, + sub_0803C86C, +}; + +const OffsetCoords gUnk_080D0154[] = { + { 0x00, 0xEE }, + { 0x12, 0x00 }, + { 0x00, 0x08 }, + { 0xEE, 0x00 }, +}; \ No newline at end of file diff --git a/src/lakituCloud.c b/src/lakituCloud.c index 9932b662..577a300a 100644 --- a/src/lakituCloud.c +++ b/src/lakituCloud.c @@ -9,9 +9,12 @@ extern u32 GetNextFunction(Entity *); extern void ModHealth(s32); extern void CreateFx(Entity *, u16, u16); -extern void (* const gUnk_080D0418[])(Entity *); -extern void (* const gUnk_080D0430[])(Entity *); -extern void (* const gUnk_080D043C[])(Entity *); +extern void sub_0804A7D4(Entity *); +extern void sub_08001242(Entity *); + +extern void (*const gUnk_080D0418[6])(Entity *); +extern void (*const gUnk_080D0430[3])(Entity *); +extern void (*const gUnk_080D043C[3])(Entity *); extern bool32 sub_0806F3E4(Entity *); extern bool32 sub_0806F520(Entity *); @@ -153,3 +156,24 @@ void sub_0803CE3C(Entity *this) { sub_0803CE14(this); } + +void (*const gUnk_080D0418[])(Entity *) = { + sub_0803CCD4, + sub_0803CCD4, + sub_0803CCEC, + sub_0804A7D4, + sub_08001242, + sub_0803CCFC, +}; + +void (*const gUnk_080D0430[])(Entity *) = { + sub_0803CD6C, + sub_0803CDA8, + sub_0803CDD8, +}; + +void (*const gUnk_080D043C[])(Entity *) = { + sub_0803CD2C, + sub_0803CD38, + sub_0803CD40, +}; diff --git a/src/manager27.c b/src/manager27.c index db5bd8b6..f1e7c3c3 100644 --- a/src/manager27.c +++ b/src/manager27.c @@ -87,4 +87,4 @@ void sub_0805C908(Entity *this) u32 sub_0805C920(Entity *this) { return CheckLocalFlagByOffset(0x300, (this->entityType).form + 0x67); -} \ No newline at end of file +} diff --git a/src/manager2E.c b/src/manager2E.c index 3e528098..1c374d13 100644 --- a/src/manager2E.c +++ b/src/manager2E.c @@ -12,4 +12,4 @@ void sub_0805D250(Entity *this) void sub_0805D268(Entity *this) { gUnk_08108D44[this->action](this); -} \ No newline at end of file +} diff --git a/src/mineralWaterSource.c b/src/mineralWaterSource.c index c874530b..61b8a26e 100644 --- a/src/mineralWaterSource.c +++ b/src/mineralWaterSource.c @@ -44,4 +44,4 @@ void MineralWaterSource_Init(Entity *this) { void sub_080973DC(Entity *this) { this->bitfield = 0; -} \ No newline at end of file +} diff --git a/src/wheaton.c b/src/wheaton.c index 06285482..abcf1fbd 100644 --- a/src/wheaton.c +++ b/src/wheaton.c @@ -23,4 +23,4 @@ void Wheaton(Entity *this) { } sub_0807DD94(this, 0); -} \ No newline at end of file +} diff --git a/src/windTribespeople.c b/src/windTribespeople.c index 9f176c47..04e6a564 100644 --- a/src/windTribespeople.c +++ b/src/windTribespeople.c @@ -154,4 +154,4 @@ void sub_0806C944(Entity *this) } } TextboxNoOverlap(gUnk_08113B0C[iVar2], this); -} \ No newline at end of file +} From f065af482d2ac0db4c7d14233195f58c45876981 Mon Sep 17 00:00:00 2001 From: 21aslade <21aslade@go.dsdmail.net> Date: Sun, 23 Aug 2020 12:29:02 -0600 Subject: [PATCH 002/101] First few functions in code_08049CD4.c OK --- asm/{code_08049CD4.s => code_08049D30.s} | 52 ------------------------ linker.ld | 3 +- src/code_08049CD4.c | 25 ++++++++++++ 3 files changed, 27 insertions(+), 53 deletions(-) rename asm/{code_08049CD4.s => code_08049D30.s} (96%) create mode 100644 src/code_08049CD4.c diff --git a/asm/code_08049CD4.s b/asm/code_08049D30.s similarity index 96% rename from asm/code_08049CD4.s rename to asm/code_08049D30.s index 7322d820..30f1b5db 100644 --- a/asm/code_08049CD4.s +++ b/asm/code_08049D30.s @@ -6,58 +6,6 @@ .text - - thumb_func_start sub_08049CD4 -sub_08049CD4: @ 0x08049CD4 - push {r4, lr} - movs r0, #1 - rsbs r0, r0, #0 - ldr r4, _08049CEC @ =gUnk_02024050 - adds r1, r4, #0 - movs r2, #0x40 - bl _DmaFill32 - ldr r0, _08049CF0 @ =gUnk_020354B0 - str r4, [r0] - pop {r4, pc} - .align 2, 0 -_08049CEC: .4byte gUnk_02024050 -_08049CF0: .4byte gUnk_020354B0 - - thumb_func_start sub_08049CF4 -sub_08049CF4: @ 0x08049CF4 - push {lr} - adds r0, #0x6c - ldrb r3, [r0] - movs r0, #0x80 - ands r0, r3 - cmp r0, #0 - beq _08049D14 - ldr r0, _08049D18 @ =gUnk_020354B0 - ldr r2, [r0] - movs r0, #0x1f - ands r3, r0 - movs r1, #1 - lsls r1, r3 - ldr r0, [r2, #4] - orrs r0, r1 - str r0, [r2, #4] -_08049D14: - pop {pc} - .align 2, 0 -_08049D18: .4byte gUnk_020354B0 - - thumb_func_start sub_08049D1C -sub_08049D1C: @ 0x08049D1C - ldr r1, _08049D2C @ =gUnk_020354B0 - ldr r1, [r1] - ldr r1, [r1, #4] - lsrs r1, r0 - movs r0, #1 - bics r0, r1 - bx lr - .align 2, 0 -_08049D2C: .4byte gUnk_020354B0 - thumb_func_start sub_08049D30 sub_08049D30: @ 0x08049D30 push {r4, r5, r6, lr} diff --git a/linker.ld b/linker.ld index 2c048d54..aec78c41 100644 --- a/linker.ld +++ b/linker.ld @@ -430,7 +430,8 @@ SECTIONS { asm/treeItem.o(.text); asm/enemy66.o(.text); /* END enemies */ - asm/code_08049CD4.o(.text); + src/code_08049CD4.o(.text); + asm/code_08049D30.o(.text); asm/sub_0804AA30.o(.text); src/createEnemy.o(.text); src/sub_0804AA84.o(.text); diff --git a/src/code_08049CD4.c b/src/code_08049CD4.c new file mode 100644 index 00000000..00ae1d8a --- /dev/null +++ b/src/code_08049CD4.c @@ -0,0 +1,25 @@ +#include "global.h" + +extern u32* gUnk_020354B0; +extern u32 gUnk_02024050; + +extern void _DmaFill32(u32, void*, u32); + +void sub_08049CD4() { + _DmaFill32(0xFFFFFFFF, &gUnk_02024050, 0x40); + gUnk_020354B0 = &gUnk_02024050; +} + +void sub_08049CF4(u8* arg0) { + u8 field_0x6c = *(arg0 + 0x6c); + if (field_0x6c & 0x80) { + *(gUnk_020354B0 + 1) |= 1 << (field_0x6c & 0x1f); + } +} + +u32 sub_08049D1C(u32 arg0) { + u32 bitmask = *(gUnk_020354B0 + 1) >> arg0; + u32 output = 1; + output &= ~bitmask; + return output; +} \ No newline at end of file From b738f28239b3508974b0dd1ff6d8da85fd269e75 Mon Sep 17 00:00:00 2001 From: Luis Scheurenbrand Date: Mon, 19 Oct 2020 03:41:28 +0200 Subject: [PATCH 003/101] decompile wallMaster2 --- asm/non_matching/wallMaster2/sub_0802CF8C.inc | 50 ++ asm/wallMaster2.s | 499 ------------------ data/data_080CC6FC.s | 15 - linker.ld | 2 + src/enemy/wallMaster2.c | 205 +++++++ 5 files changed, 257 insertions(+), 514 deletions(-) create mode 100644 asm/non_matching/wallMaster2/sub_0802CF8C.inc create mode 100644 src/enemy/wallMaster2.c diff --git a/asm/non_matching/wallMaster2/sub_0802CF8C.inc b/asm/non_matching/wallMaster2/sub_0802CF8C.inc new file mode 100644 index 00000000..2b963bf2 --- /dev/null +++ b/asm/non_matching/wallMaster2/sub_0802CF8C.inc @@ -0,0 +1,50 @@ + .include "asm/macros.inc" + + .include "constants/constants.inc" + + .syntax unified + + .text + + push {r4, lr} + adds r3, r0, #0 + ldrb r1, [r3, #0x15] + adds r2, r1, #2 + movs r0, #0x1c + ands r2, r0 + ldrb r4, [r3, #0x14] + lsls r0, r4, #2 + subs r0, r2, r0 + adds r0, #6 + cmp r0, #0xc + bls _0802CFA8 + lsrs r0, r2, #2 + b _0802CFB8 +_0802CFA8: + adds r0, r1, #1 + movs r1, #7 + ands r0, r1 + cmp r0, #2 + ble _0802CFD0 + lsrs r0, r2, #2 + cmp r0, r4 + beq _0802CFD0 +_0802CFB8: + strb r0, [r3, #0x14] + lsrs r0, r2, #3 + lsls r0, r0, #2 + ldr r1, _0802CFD4 @ =gUnk_080CD730 + adds r2, r0, r1 + ldrh r1, [r2] + adds r0, r3, #0 + adds r0, #0x74 + strh r1, [r0] + ldrh r1, [r2, #2] + adds r0, #2 + strh r1, [r0] +_0802CFD0: + pop {r4, pc} + .align 2, 0 +_0802CFD4: .4byte gUnk_080CD730 + + .syntax divided \ No newline at end of file diff --git a/asm/wallMaster2.s b/asm/wallMaster2.s index 71bc9e54..a42aa8ad 100644 --- a/asm/wallMaster2.s +++ b/asm/wallMaster2.s @@ -6,502 +6,3 @@ .text - - thumb_func_start WallMaster2 -WallMaster2: @ 0x0802CC3C - push {r4, r5, lr} - adds r4, r0, #0 - ldr r5, _0802CC64 @ =gUnk_080CD6FC - bl GetNextFunction - lsls r0, r0, #2 - adds r0, r0, r5 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - movs r3, #0x10 - rsbs r3, r3, #0 - adds r0, r4, #0 - movs r1, #0 - movs r2, #1 - bl SetChildOffset - pop {r4, r5, pc} - .align 2, 0 -_0802CC64: .4byte gUnk_080CD6FC - - thumb_func_start sub_0802CC68 -sub_0802CC68: @ 0x0802CC68 - push {lr} - ldr r2, _0802CC7C @ =gUnk_080CD714 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0802CC7C: .4byte gUnk_080CD714 - - thumb_func_start sub_0802CC80 -sub_0802CC80: @ 0x0802CC80 - push {r4, r5, lr} - adds r4, r0, #0 - adds r0, #0x41 - ldrb r0, [r0] - movs r5, #0x7f - adds r1, r5, #0 - ands r1, r0 - cmp r1, #0 - blt _0802CCB8 - cmp r1, #1 - ble _0802CC9A - cmp r1, #0x1e - bne _0802CCB8 -_0802CC9A: - movs r0, #3 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - adds r0, r5, #0 - ands r0, r1 - strb r0, [r4, #0x10] - adds r0, r4, #0 - movs r1, #1 - bl InitializeAnimation - ldr r2, _0802CCD4 @ =gPlayerEntity - ldrb r1, [r2, #0x10] - adds r0, r5, #0 - ands r0, r1 - strb r0, [r2, #0x10] -_0802CCB8: - adds r0, r4, #0 - adds r0, #0x43 - ldrb r0, [r0] - cmp r0, #0 - beq _0802CCCA - adds r0, r4, #0 - movs r1, #0x1c - bl sub_0804A9FC -_0802CCCA: - ldr r1, _0802CCD8 @ =gUnk_080CD6FC - adds r0, r4, #0 - bl sub_0804AA30 - pop {r4, r5, pc} - .align 2, 0 -_0802CCD4: .4byte gPlayerEntity -_0802CCD8: .4byte gUnk_080CD6FC - - thumb_func_start nullsub_151 -nullsub_151: @ 0x0802CCDC - bx lr - .align 2, 0 - - thumb_func_start sub_0802CCE0 -sub_0802CCE0: @ 0x0802CCE0 - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_0804A720 - movs r5, #0 - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #0x3c - strb r0, [r4, #0xe] - bl Random - strb r0, [r4, #0xf] - ldrb r1, [r4, #0x18] - movs r0, #0x31 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #0x20 - orrs r0, r1 - strb r0, [r4, #0x18] - movs r0, #0xff - strb r0, [r4, #0x14] - ldr r0, _0802CD50 @ =0x0000FFFE - strh r0, [r4, #0x36] - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #3 - strb r0, [r1] - bl Random - adds r1, r4, #0 - adds r1, #0x7a - strb r0, [r1] - lsrs r0, r0, #8 - movs r1, #0x60 - ands r0, r1 - adds r1, r4, #0 - adds r1, #0x7b - strb r0, [r1] - adds r0, r4, #0 - adds r0, #0x7c - strh r5, [r0] - adds r0, r4, #0 - bl UpdateSpriteForCollisionLayer - adds r0, r4, #0 - movs r1, #0 - bl InitializeAnimation - adds r0, r4, #0 - bl sub_0802CF64 - adds r0, r4, #0 - bl sub_0802CFD8 - pop {r4, r5, pc} - .align 2, 0 -_0802CD50: .4byte 0x0000FFFE - - thumb_func_start sub_0802CD54 -sub_0802CD54: @ 0x0802CD54 - push {r4, r5, r6, lr} - adds r5, r0, #0 - bl GetNextFrame - adds r0, r5, #0 - bl sub_0802CFD8 - adds r1, r5, #0 - adds r1, #0x7c - ldrh r0, [r1] - cmp r0, #0 - beq _0802CD76 - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _0802CDC8 -_0802CD76: - adds r0, r5, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - beq _0802CDC8 - adds r6, r5, #0 - adds r6, #0x7b - ldrb r0, [r6] - cmp r0, #0 - bne _0802CDC4 - movs r0, #2 - strb r0, [r5, #0xc] - bl Random - adds r4, r0, #0 - lsrs r0, r4, #0x10 - strb r0, [r5, #0xe] - movs r0, #0xc0 - strh r0, [r5, #0x24] - bl Random - ldr r2, _0802CDC0 @ =gUnk_080CD728 - movs r1, #3 - ands r1, r0 - lsls r1, r1, #1 - adds r1, r1, r2 - ldrh r1, [r1] - adds r0, r5, #0 - adds r0, #0x78 - strh r1, [r0] - lsrs r4, r4, #0x18 - movs r0, #0x60 - ands r4, r0 - strb r4, [r6] - b _0802CDE4 - .align 2, 0 -_0802CDC0: .4byte gUnk_080CD728 -_0802CDC4: - subs r0, #1 - strb r0, [r6] -_0802CDC8: - ldrb r0, [r5, #0xe] - subs r0, #1 - strb r0, [r5, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0802CDDE - movs r0, #0x3c - strb r0, [r5, #0xe] - adds r0, r5, #0 - bl sub_0802CF64 -_0802CDDE: - adds r0, r5, #0 - bl sub_0806F69C -_0802CDE4: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_0802CDE8 -sub_0802CDE8: @ 0x0802CDE8 - push {r4, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x78 - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - beq _0802CE3C - adds r0, r4, #0 - movs r1, #1 - bl sub_08049FDC - cmp r0, #0 - beq _0802CE3C - ldrb r1, [r4, #0xe] - adds r0, r1, #1 - strb r0, [r4, #0xe] - movs r0, #3 - ands r0, r1 - cmp r0, #0 - bne _0802CE2E - ldr r0, _0802CE38 @ =gUnk_020000B0 - ldr r1, [r0] - adds r0, r4, #0 - bl GetFacingDirection - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_08004596 - adds r0, r4, #0 - bl sub_0802CF8C -_0802CE2E: - adds r0, r4, #0 - bl sub_0806F69C - b _0802CE58 - .align 2, 0 -_0802CE38: .4byte gUnk_020000B0 -_0802CE3C: - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #0x3c - strb r0, [r4, #0xe] - movs r0, #0x60 - strh r0, [r4, #0x24] - bl Random - movs r1, #0x38 - ands r0, r1 - adds r0, #0x96 - adds r1, r4, #0 - adds r1, #0x7c - strh r0, [r1] -_0802CE58: - adds r0, r4, #0 - bl GetNextFrame - adds r0, r4, #0 - bl sub_0802CFD8 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0802CE68 -sub_0802CE68: @ 0x0802CE68 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r2, _0802CED4 @ =gPlayerState - ldrb r1, [r2, #0xa] - movs r0, #0x80 - orrs r1, r0 - strb r1, [r2, #0xa] - ldrb r1, [r2, #0x1a] - orrs r0, r1 - strb r0, [r2, #0x1a] - ldr r0, [r2, #0x30] - movs r1, #0x80 - lsls r1, r1, #1 - orrs r0, r1 - str r0, [r2, #0x30] - ldr r5, _0802CED8 @ =gPlayerEntity - movs r0, #0x2e - ldrsh r1, [r5, r0] - movs r0, #0x32 - ldrsh r2, [r5, r0] - adds r0, r4, #0 - movs r3, #4 - bl sub_0806FCB8 - cmp r0, #0 - bne _0802CEAC - adds r0, r4, #0 - adds r1, r5, #0 - bl GetFacingDirection - strb r0, [r4, #0x15] - adds r0, r4, #0 - bl sub_0806F69C -_0802CEAC: - adds r0, r4, #0 - bl sub_0802CFD8 - adds r0, r4, #0 - bl GetNextFrame - adds r3, r4, #0 - adds r3, #0x5a - ldrb r1, [r3] - movs r0, #0x80 - ands r0, r1 - lsls r0, r0, #0x18 - lsrs r2, r0, #0x18 - cmp r2, #0 - beq _0802CEDC - movs r0, #4 - strb r0, [r4, #0xc] - movs r0, #0x1e - strb r0, [r4, #0xe] - b _0802CEF0 - .align 2, 0 -_0802CED4: .4byte gPlayerState -_0802CED8: .4byte gPlayerEntity -_0802CEDC: - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0802CEF0 - strb r2, [r3] - ldrb r1, [r5, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r5, #0x18] -_0802CEF0: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0802CEF4 -sub_0802CEF4: @ 0x0802CEF4 - push {r4, lr} - adds r4, r0, #0 - bl sub_0802CFD8 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0802CF28 - bl sub_0805E5A8 - ldr r1, _0802CF20 @ =gUnk_0813AB1C - ldr r0, _0802CF24 @ =gArea - ldrb r0, [r0, #3] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl DoExitTransition - b _0802CF5A - .align 2, 0 -_0802CF20: .4byte gUnk_0813AB1C -_0802CF24: .4byte gArea -_0802CF28: - ldr r0, [r4, #0x34] - ldr r1, _0802CF5C @ =0xFFFE0000 - adds r0, r0, r1 - str r0, [r4, #0x34] - movs r0, #0x36 - ldrsh r1, [r4, r0] - movs r0, #0x30 - rsbs r0, r0, #0 - cmp r1, r0 - bge _0802CF4A - ldrb r0, [r4, #0x18] - movs r1, #0x31 - rsbs r1, r1, #0 - ands r1, r0 - movs r0, #0x10 - orrs r1, r0 - strb r1, [r4, #0x18] -_0802CF4A: - ldr r1, _0802CF60 @ =gPlayerState - ldrb r0, [r1, #0xa] - movs r2, #0x80 - orrs r0, r2 - strb r0, [r1, #0xa] - ldrb r0, [r1, #0x1a] - orrs r0, r2 - strb r0, [r1, #0x1a] -_0802CF5A: - pop {r4, pc} - .align 2, 0 -_0802CF5C: .4byte 0xFFFE0000 -_0802CF60: .4byte gPlayerState - - thumb_func_start sub_0802CF64 -sub_0802CF64: @ 0x0802CF64 - push {r4, lr} - adds r4, r0, #0 - bl sub_08049FA0 - cmp r0, #0 - beq _0802CF76 - bl Random - b _0802CF7E -_0802CF76: - adds r0, r4, #0 - bl sub_08049EE4 - adds r0, #2 -_0802CF7E: - movs r1, #0x1c - ands r0, r1 - strb r0, [r4, #0x15] - adds r0, r4, #0 - bl sub_0802CF8C - pop {r4, pc} - - thumb_func_start sub_0802CF8C -sub_0802CF8C: @ 0x0802CF8C - push {r4, lr} - adds r3, r0, #0 - ldrb r1, [r3, #0x15] - adds r2, r1, #2 - movs r0, #0x1c - ands r2, r0 - ldrb r4, [r3, #0x14] - lsls r0, r4, #2 - subs r0, r2, r0 - adds r0, #6 - cmp r0, #0xc - bls _0802CFA8 - lsrs r0, r2, #2 - b _0802CFB8 -_0802CFA8: - adds r0, r1, #1 - movs r1, #7 - ands r0, r1 - cmp r0, #2 - ble _0802CFD0 - lsrs r0, r2, #2 - cmp r0, r4 - beq _0802CFD0 -_0802CFB8: - strb r0, [r3, #0x14] - lsrs r0, r2, #3 - lsls r0, r0, #2 - ldr r1, _0802CFD4 @ =gUnk_080CD730 - adds r2, r0, r1 - ldrh r1, [r2] - adds r0, r3, #0 - adds r0, #0x74 - strh r1, [r0] - ldrh r1, [r2, #2] - adds r0, #2 - strh r1, [r0] -_0802CFD0: - pop {r4, pc} - .align 2, 0 -_0802CFD4: .4byte gUnk_080CD730 - - thumb_func_start sub_0802CFD8 -sub_0802CFD8: @ 0x0802CFD8 - push {lr} - mov ip, r0 - ldr r2, _0802D014 @ =gUnk_080CD740 - mov r3, ip - adds r3, #0x7a - ldrb r0, [r3] - adds r1, r0, #1 - strb r1, [r3] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x1b - movs r1, #7 - ands r0, r1 - adds r0, r0, r2 - movs r2, #0 - ldrsb r2, [r0, r2] - mov r0, ip - adds r0, #0x74 - movs r3, #0 - ldrsh r1, [r0, r3] - adds r1, r1, r2 - movs r0, #0x80 - lsls r0, r0, #1 - adds r2, r2, r0 - mov r0, ip - adds r0, #0x76 - ldrh r3, [r0] - mov r0, ip - bl sub_0805EC9C - pop {pc} - .align 2, 0 -_0802D014: .4byte gUnk_080CD740 diff --git a/data/data_080CC6FC.s b/data/data_080CC6FC.s index 47ff128e..39d44ac7 100644 --- a/data/data_080CC6FC.s +++ b/data/data_080CC6FC.s @@ -3,21 +3,6 @@ .section .rodata -gUnk_080CD6FC:: @ 080CD6FC - .incbin "baserom.gba", 0x0CD6FC, 0x0000018 - -gUnk_080CD714:: @ 080CD714 - .incbin "baserom.gba", 0x0CD714, 0x0000014 - -gUnk_080CD728:: @ 080CD728 - .incbin "baserom.gba", 0x0CD728, 0x0000008 - -gUnk_080CD730:: @ 080CD730 - .incbin "baserom.gba", 0x0CD730, 0x0000010 - -gUnk_080CD740:: @ 080CD740 - .incbin "baserom.gba", 0x0CD740, 0x0000008 - gUnk_080CD748:: @ 080CD748 .incbin "baserom.gba", 0x0CD748, 0x0000014 diff --git a/linker.ld b/linker.ld index f0d63b1c..b7e9253f 100644 --- a/linker.ld +++ b/linker.ld @@ -360,6 +360,7 @@ SECTIONS { src/enemy/helmasaur.o(.text); src/enemy/fallingBoulder.o(.text); src/enemy/bobomb.o(.text); + src/enemy/wallMaster2.o(.text); asm/wallMaster2.o(.text); asm/gleerok.o(.text); asm/vaatiEyesMacro.o(.text); @@ -972,6 +973,7 @@ SECTIONS { data/animations/fallingBoulder.o(.rodata); src/enemy/bobomb.o(.rodata); data/animations/bobomb.o(.rodata); + src/enemy/wallMaster2.o(.rodata); data/data_080CC6FC.o(.rodata); src/enemy.o(.rodata); data/data_080D3D94.o(.rodata); diff --git a/src/enemy/wallMaster2.c b/src/enemy/wallMaster2.c new file mode 100644 index 00000000..a788ad58 --- /dev/null +++ b/src/enemy/wallMaster2.c @@ -0,0 +1,205 @@ +#include "enemy.h" +#include "functions.h" +#include "area.h" + +extern void sub_08001328(Entity*); +extern u32 sub_0806FCB8(Entity*, u32, u32, u32); +extern void DoExitTransition(u32*); + +extern Entity* gUnk_020000B0; +extern u32* gUnk_0813AB1C[]; + +void sub_0802CF64(Entity*); +void sub_0802CF8C(Entity*); +void sub_0802CFD8(Entity*); + +extern void (*const gUnk_080CD6FC[])(Entity*); +extern void (*const gUnk_080CD714[])(Entity*); +extern const u16 gUnk_080CD728[]; +extern const u16 gUnk_080CD730[]; +extern const s8 gUnk_080CD740[]; + +void WallMaster2(Entity* this) { + gUnk_080CD6FC[GetNextFunction(this)](this); + SetChildOffset(this, 0, 1, -0x10); +} + +void sub_0802CC68(Entity* this) { + gUnk_080CD714[this->action](this); +} + +void sub_0802CC80(Entity* this) { + u8 bVar1 = this->bitfield & 0x7f; + switch (this->bitfield & 0x7f) { + case 0 ... 1: + case 0x1e: + this->action = 3; + this->flags &= ~0x80; + InitializeAnimation(this, 1); + gPlayerEntity.flags &= ~0x80; + break; + } + if (this->field_0x43 != 0) { + sub_0804A9FC(this, 0x1c); + } + sub_0804AA30(this, gUnk_080CD6FC); +} + +void nullsub_151(Entity* this) { + /* ... */ +} + +void sub_0802CCE0(Entity* this) { + u32 tmp; + + sub_0804A720(this); + this->action = 1; + this->actionDelay = 60; + this->field_0xf = Random(); + this->spriteSettings.b.shadow = 2; + this->animationState = 0xff; + this->height.HALF.HI = -2; + this->collisionLayer = 3; + tmp = Random(); + this->field_0x7a.HALF.LO = tmp; + this->field_0x7a.HALF.HI = (tmp >> 8) & 0x60; + this->field_0x7c.HALF.LO = 0; + UpdateSpriteForCollisionLayer(this); + InitializeAnimation(this, 0); + sub_0802CF64(this); + sub_0802CFD8(this); +} + +void sub_0802CD54(Entity* this) { + GetNextFrame(this); + sub_0802CFD8(this); + + if ((this->field_0x7c.HALF_U.LO == 0 || --this->field_0x7c.HALF_U.LO == 0) && sub_08049FDC(this, 1)) { + if (this->field_0x7a.HALF.HI) { + --this->field_0x7a.HALF.HI; + } else { + u32 tmp; + + this->action = 2; + tmp = Random() >> 0x10; + this->actionDelay = tmp; + this->nonPlanarMovement = 0xc0; + this->field_0x78.HWORD = gUnk_080CD728[Random() & 3]; + this->field_0x7a.HALF.HI = (tmp >> 8) & 0x60; + return; + } + } + + if (--this->actionDelay == 0) { + this->actionDelay = 60; + sub_0802CF64(this); + } + sub_0806F69C(this); +} + +void sub_0802CDE8(Entity* this) { + if (--this->field_0x78.HWORD && sub_08049FDC(this, 1)) { + if ((this->actionDelay++ & 3) == 0) { + sub_08004596(this, GetFacingDirection(this, gUnk_020000B0)); + sub_0802CF8C(this); + } + sub_0806F69C(this); + } else { + this->action = 1; + this->actionDelay = 60; + this->nonPlanarMovement = 0x60; + this->field_0x7c.HALF.LO = (Random() & 0x38) + 0x96; + } + GetNextFrame(this); + sub_0802CFD8(this); +} + +void sub_0802CE68(Entity* this) { + u8 frames; + + gPlayerState.field_0xa |= 0x80; + gPlayerState.field_0x1a[0] |= 0x80; + gPlayerState.flags.all |= 0x100; + if (!sub_0806FCB8(this, gPlayerEntity.x.HALF.HI, gPlayerEntity.y.HALF.HI, 4)) { + this->direction = GetFacingDirection(this, &gPlayerEntity); + sub_0806F69C(this); + } + sub_0802CFD8(this); + GetNextFrame(this); + frames = this->frames.all & 0x80; + if (frames) { + this->action = 4; + this->actionDelay = 30; + } else if (this->frames.all & 1) { + this->frames.all = frames; + gPlayerEntity.spriteSettings.b.draw = 0; + } +} + +void sub_0802CEF4(Entity* this) { + sub_0802CFD8(this); + if (--this->actionDelay == 0) { + sub_0805E5A8(); + DoExitTransition(gUnk_0813AB1C[gArea.regret]); + } else { + this->height.WORD -= 0x20000; + if (this->height.HALF.HI < -0x30) { + this->spriteSettings.b.shadow = 1; + } + gPlayerState.field_0xa |= 0x80; + gPlayerState.field_0x1a[0] |= 0x80; + } +} + +void sub_0802CF64(Entity* this) { + if (sub_08049FA0(this)) { + this->direction = Direction8Round(Random()); + } else { + this->direction = Direction8RoundUp(sub_08049EE4(this)); + } + sub_0802CF8C(this); +} + +NAKED +void sub_0802CF8C(Entity* this) { + asm(".include \"asm/non_matching/wallMaster2/sub_0802CF8C.inc\""); +} + +void sub_0802CFD8(Entity* this) { + u32 unk = gUnk_080CD740[(this->field_0x7a.HALF.LO++ >> 3) & 7]; + sub_0805EC9C(this, (s16)this->field_0x74.HWORD + unk, 0x100 + unk, this->field_0x76.HWORD); +} + +// clang-format off +void (*const gUnk_080CD6FC[])(Entity*) = { + sub_0802CC68, + sub_0802CC80, + sub_08001328, + sub_0804A7D4, + sub_08001242, + nullsub_151, +}; + +void (*const gUnk_080CD714[])(Entity*) = { + sub_0802CCE0, + sub_0802CD54, + sub_0802CDE8, + sub_0802CE68, + sub_0802CEF4, +}; + +const u16 gUnk_080CD728[] = { + 120, 180, 240, 300, +}; + +const u16 gUnk_080CD730[] = { + 0xff00, 0x4000, + 0xff00, 0x0000, + 0x0100, 0x0000, + 0x0100, 0xc000, +}; + +const s8 gUnk_080CD740[] = { + -2, -4, -2, 0, 2, 4, 2, 0, +}; +// clang-format on From 4a85c38c58959815275bb812ba8941ebb879254c Mon Sep 17 00:00:00 2001 From: Luis Scheurenbrand Date: Mon, 19 Oct 2020 03:44:34 +0200 Subject: [PATCH 004/101] remove file --- asm/wallMaster2.s | 8 -------- linker.ld | 1 - 2 files changed, 9 deletions(-) delete mode 100644 asm/wallMaster2.s diff --git a/asm/wallMaster2.s b/asm/wallMaster2.s deleted file mode 100644 index a42aa8ad..00000000 --- a/asm/wallMaster2.s +++ /dev/null @@ -1,8 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - diff --git a/linker.ld b/linker.ld index b7e9253f..e5a6fd42 100644 --- a/linker.ld +++ b/linker.ld @@ -361,7 +361,6 @@ SECTIONS { src/enemy/fallingBoulder.o(.text); src/enemy/bobomb.o(.text); src/enemy/wallMaster2.o(.text); - asm/wallMaster2.o(.text); asm/gleerok.o(.text); asm/vaatiEyesMacro.o(.text); src/enemy/tektite.o(.text); From fbf7f49146a3887cf79c40d2a4798c08e1e932f3 Mon Sep 17 00:00:00 2001 From: TauNeutrino <1tauneutrino@gmail.com> Date: Thu, 29 Oct 2020 16:39:13 +0100 Subject: [PATCH 005/101] Decompile smallPesto.c --- asm/smallPesto.s | 183 ----------------------------------------- linker.ld | 2 +- src/enemy/smallPesto.c | 83 +++++++++++++++++++ 3 files changed, 84 insertions(+), 184 deletions(-) delete mode 100644 asm/smallPesto.s diff --git a/asm/smallPesto.s b/asm/smallPesto.s deleted file mode 100644 index 37b369bd..00000000 --- a/asm/smallPesto.s +++ /dev/null @@ -1,183 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_08031714 -sub_08031714: @ 0x08031714 - push {r4, lr} - adds r4, r0, #0 - bl sub_080317B4 - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0803176E - bl Random - movs r1, #0xf - ands r0, r1 - adds r0, #0x10 - strb r0, [r4, #0xf] - adds r0, r4, #0 - bl sub_08049FA0 - cmp r0, #0 - bne _08031750 - ldrb r1, [r4, #0xf] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _08031750 - adds r0, r4, #0 - bl sub_08049EE4 - b _08031766 -_08031750: - ldrb r0, [r4, #0x15] - adds r0, #0x18 - strb r0, [r4, #0x15] - bl Random - movs r1, #0xe - ands r0, r1 - ldrb r1, [r4, #0x15] - adds r0, r0, r1 - movs r1, #0x1f - ands r0, r1 -_08031766: - strb r0, [r4, #0x15] - adds r0, r4, #0 - bl sub_080317E0 -_0803176E: - pop {r4, pc} - - thumb_func_start sub_08031770 -sub_08031770: @ 0x08031770 - push {r4, lr} - adds r1, r0, #0 - adds r4, r1, #0 - adds r4, #0x80 - ldrh r0, [r4] - cmp r0, #0 - beq _08031790 - subs r0, #1 - strh r0, [r4] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _080317B2 - adds r0, r1, #0 - bl sub_08031840 - b _080317B2 -_08031790: - ldr r0, [r1, #0x54] - cmp r0, #0 - bne _080317AA - bl Random - movs r1, #0x7f - ands r0, r1 - movs r2, #0x80 - lsls r2, r2, #2 - adds r1, r2, #0 - orrs r0, r1 - strh r0, [r4] - b _080317B2 -_080317AA: - ldr r0, [r0, #4] - cmp r0, #0 - bne _080317B2 - str r0, [r1, #0x54] -_080317B2: - pop {r4, pc} - - thumb_func_start sub_080317B4 -sub_080317B4: @ 0x080317B4 - push {r4, lr} - adds r4, r0, #0 - bl Random - movs r1, #0x30 - ands r1, r0 - movs r2, #0xd - rsbs r2, r2, #0 - adds r0, r2, #0 - cmp r1, #0 - beq _080317D0 - movs r1, #0xc - rsbs r1, r1, #0 - adds r0, r1, #0 -_080317D0: - strh r0, [r4, #0x36] - adds r0, r4, #0 - bl sub_0806F69C - adds r0, r4, #0 - bl GetNextFrame - pop {r4, pc} - - thumb_func_start sub_080317E0 -sub_080317E0: @ 0x080317E0 - push {lr} - ldrb r1, [r0, #0x15] - adds r1, #2 - movs r2, #0x1c - ands r1, r2 - lsrs r1, r1, #2 - strb r1, [r0, #0x14] - ldrb r1, [r0, #0x14] - bl InitializeAnimation - pop {pc} - .align 2, 0 - - thumb_func_start sub_080317F8 -sub_080317F8: @ 0x080317F8 - push {r4, r5, r6, lr} - adds r4, r0, #0 - bl Random - movs r1, #0x18 - ands r0, r1 - movs r5, #1 - strb r5, [r4, #0xc] - movs r6, #0 - ldr r1, _08031838 @ =0x0000FFF4 - strh r1, [r4, #0x36] - adds r1, r4, #0 - adds r1, #0x38 - strb r5, [r1] - adds r3, r4, #0 - adds r3, #0x3c - ldrb r2, [r3] - movs r1, #0x10 - orrs r1, r2 - strb r1, [r3] - strb r5, [r4, #0x1c] - strb r0, [r4, #0x15] - ldr r0, _0803183C @ =gUnk_080CE560 - str r0, [r4, #0x48] - adds r0, r4, #0 - bl sub_080317E0 - strb r6, [r4, #0xe] - movs r0, #0x20 - strb r0, [r4, #0xf] - pop {r4, r5, r6, pc} - .align 2, 0 -_08031838: .4byte 0x0000FFF4 -_0803183C: .4byte gUnk_080CE560 - - thumb_func_start sub_08031840 -sub_08031840: @ 0x08031840 - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r1, [r5, #0xa] - movs r0, #0x2d - bl CreateEnemy - adds r4, r0, #0 - cmp r4, #0 - beq _08031862 - adds r0, r5, #0 - adds r1, r4, #0 - bl CopyPosition - str r5, [r4, #0x50] - str r4, [r5, #0x54] - movs r0, #1 - strb r0, [r4, #0xb] -_08031862: - pop {r4, r5, pc} diff --git a/linker.ld b/linker.ld index 655db65e..72be4378 100644 --- a/linker.ld +++ b/linker.ld @@ -304,6 +304,7 @@ SECTIONS { src/code_08018C58.o(.text); src/item11.o(.text); asm/item11.o(.text); + src/createBowEntity.o(.text); asm/createBowEntity.o(.text); asm/bowUse.o(.text); asm/sub_08019410.o(.text); @@ -373,7 +374,6 @@ SECTIONS { asm/eyegore.o(.text); asm/rope.o(.text); src/enemy/smallPesto.o(.text); - asm/smallPesto.o(.text); src/enemy/acroBandits.o(.text); src/enemy/bladeTrap.o(.text); src/enemy/keaton.o(.text); diff --git a/src/enemy/smallPesto.c b/src/enemy/smallPesto.c index 94eb8822..441cb09d 100644 --- a/src/enemy/smallPesto.c +++ b/src/enemy/smallPesto.c @@ -8,11 +8,22 @@ extern u32 sub_0806F3E4(); extern void sub_0804A7D4(Entity*); extern void sub_0804A720(Entity*); extern void sub_080317F8(Entity*); +extern u32 sub_08049FA0(Entity*); +extern u32 Random(); +extern u32 sub_08049EE4(Entity*); +extern void sub_0806F69C(Entity*); extern void (*gUnk_080CE530[])(Entity*); extern void (*gUnk_080CE548[])(Entity*); extern void (*gUnk_080CE554[])(Entity*); +void sub_080317B4(Entity*); +void sub_080317E0(Entity*); +void sub_080317F8(Entity*); +void sub_08031840(Entity*); + +extern BoundingBox gUnk_080CE560; + void SmallPesto(Entity *this) { gUnk_080CE530[GetNextFunction(this)](this); @@ -66,3 +77,75 @@ void sub_08031704(Entity *this) sub_0804A720(this); sub_080317F8(this); } + +void sub_08031714(Entity* entity){ + u8 newDirection; + sub_080317B4(entity); + if(--entity->field_0xf == 0){ + entity->field_0xf = (Random() & 0xf) + 0x10; + if(sub_08049FA0(entity) == 0){ + if((entity->field_0xf & 1) != 0){ + entity->direction = sub_08049EE4(entity); + goto _08031766; + } + } + entity->direction += 0x18; + entity->direction = ((Random() & 0xe) + entity->direction) & 0x1f; + _08031766: + sub_080317E0(entity); + + } +} + +void sub_08031770(Entity* entity){ + if(entity->field_0x80.HWORD != 0){ + if(--entity->field_0x80.HWORD == 0){ + sub_08031840(entity); + } + }else if(entity->attachedEntity == NULL){ + entity->field_0x80.HWORD = (Random() & 0x7f) | (0x80 << 2); + }else{ + if(entity->attachedEntity->next == NULL){ + entity->attachedEntity = NULL; + } + } + return; +} + +void sub_080317B4(Entity* entity){ + + entity->height.HALF.HI = ((Random() & 0x30) != 0) ? -0xc : -0xd; + sub_0806F69C(entity); + GetNextFrame(entity); +} + + +void sub_080317E0(Entity *entity){ + entity->animationState = ((u8)(entity->direction + 2) & 0x1c) >> 2; + InitializeAnimation(entity, entity->animationState); +} + +void sub_080317F8(Entity *entity){ + u8 newDirection = Random() & 0x18; + entity->action = 1; + entity->height.HALF.HI = 0x0000FFF4; + entity->collisionLayer = 1; + entity->field_0x3c |= 0x10; + entity->field_0x1c = 1; + entity->direction = newDirection; + entity->boundingBox = &gUnk_080CE560; + sub_080317E0(entity); + entity->actionDelay = 0; + entity->field_0xf = 0x20; +} + +void sub_08031840(Entity* entity){ + Entity *enemy = CreateEnemy(0x2d, entity->entityType.form); + if(enemy!= NULL){ + CopyPosition(entity, enemy); + enemy->parent = entity; + entity->attachedEntity = enemy; + enemy->entityType.parameter = 1; + } +} + From e5bee591c9c55f22bf05b8ccdd994f611ce89bc7 Mon Sep 17 00:00:00 2001 From: TauNeutrino <1tauneutrino@gmail.com> Date: Thu, 29 Oct 2020 21:47:37 +0100 Subject: [PATCH 006/101] start createBowEntity.c --- asm/createBowEntity.s | 13 ------------- src/createBowEntity.c | 8 ++++++++ 2 files changed, 8 insertions(+), 13 deletions(-) create mode 100644 src/createBowEntity.c diff --git a/asm/createBowEntity.s b/asm/createBowEntity.s index 554d68a7..cefbb1e6 100644 --- a/asm/createBowEntity.s +++ b/asm/createBowEntity.s @@ -6,19 +6,6 @@ .text - thumb_func_start sub_08018FCC -sub_08018FCC: @ 0x08018FCC - push {lr} - ldr r2, _08018FE0 @ =gUnk_080B3E30 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08018FE0: .4byte gUnk_080B3E30 - thumb_func_start sub_08018FE4 sub_08018FE4: @ 0x08018FE4 push {r4, r5, r6, lr} diff --git a/src/createBowEntity.c b/src/createBowEntity.c new file mode 100644 index 00000000..5f3c4f39 --- /dev/null +++ b/src/createBowEntity.c @@ -0,0 +1,8 @@ +#include "global.h" + +extern long (*gUnk_080B3E30[])(u8*); + +long sub_08018FCC(u8 *r0) +{ + return gUnk_080B3E30[(r0[0xC])](r0); +} From 9087b487c57cb1202e1488bb8811cc25c211c3eb Mon Sep 17 00:00:00 2001 From: TauNeutrino <1tauneutrino@gmail.com> Date: Sun, 1 Nov 2020 13:03:33 +0100 Subject: [PATCH 007/101] Update smallPesto.c createBowEntity.c --- src/createBowEntity.c | 8 ++-- src/enemy/smallPesto.c | 105 +++++++++++++++++++---------------------- 2 files changed, 52 insertions(+), 61 deletions(-) diff --git a/src/createBowEntity.c b/src/createBowEntity.c index 5f3c4f39..0e1f0ef8 100644 --- a/src/createBowEntity.c +++ b/src/createBowEntity.c @@ -1,8 +1,8 @@ #include "global.h" +#include "entity.h" -extern long (*gUnk_080B3E30[])(u8*); +extern void (*const gUnk_080B3E30[])(Entity*); -long sub_08018FCC(u8 *r0) -{ - return gUnk_080B3E30[(r0[0xC])](r0); +void sub_08018FCC(Entity* this){ + gUnk_080B3E30[(this->action)](this); } diff --git a/src/enemy/smallPesto.c b/src/enemy/smallPesto.c index 441cb09d..299d9219 100644 --- a/src/enemy/smallPesto.c +++ b/src/enemy/smallPesto.c @@ -24,20 +24,17 @@ void sub_08031840(Entity*); extern BoundingBox gUnk_080CE560; -void SmallPesto(Entity *this) -{ +void SmallPesto(Entity *this){ gUnk_080CE530[GetNextFunction(this)](this); } -void sub_08031680(Entity *this) -{ +void sub_08031680(Entity *this){ gUnk_080CE548[this->action](this); } void nullsub_152(){} -void sub_0803169C(Entity *this) -{ +void sub_0803169C(Entity *this){ s32 iVar1; GetNextFrame(this); @@ -54,97 +51,91 @@ void sub_0803169C(Entity *this) } } -void sub_080316DC(Entity *this) -{ +void sub_080316DC(Entity *this){ this->previousActionFlag = 1; this->field_0x1d = 0x3c; } -void sub_080316E8(Entity *this) -{ +void sub_080316E8(Entity *this){ sub_0806F4E8(this); } -void sub_080316F0(Entity *this) -{ +void sub_080316F0(Entity *this){ if (sub_0806F3E4()) { sub_0804A7D4(this); } } -void sub_08031704(Entity *this) -{ +void sub_08031704(Entity *this){ sub_0804A720(this); sub_080317F8(this); } -void sub_08031714(Entity* entity){ +void sub_08031714(Entity* this){ u8 newDirection; - sub_080317B4(entity); - if(--entity->field_0xf == 0){ - entity->field_0xf = (Random() & 0xf) + 0x10; - if(sub_08049FA0(entity) == 0){ - if((entity->field_0xf & 1) != 0){ - entity->direction = sub_08049EE4(entity); + sub_080317B4(this); + if(--this->field_0xf == 0){ + this->field_0xf = (Random() & 0xf) + 0x10; + if(sub_08049FA0(this) == 0){ + if((this->field_0xf & 1) != 0){ + this->direction = sub_08049EE4(this); goto _08031766; } } - entity->direction += 0x18; - entity->direction = ((Random() & 0xe) + entity->direction) & 0x1f; + this->direction += 0x18; + this->direction = ((Random() & 0xe) + this->direction) & 0x1f; _08031766: - sub_080317E0(entity); - + sub_080317E0(this); } } -void sub_08031770(Entity* entity){ - if(entity->field_0x80.HWORD != 0){ - if(--entity->field_0x80.HWORD == 0){ - sub_08031840(entity); +void sub_08031770(Entity* this){ + if(this->field_0x80.HWORD != 0){ + if(--this->field_0x80.HWORD == 0){ + sub_08031840(this); } - }else if(entity->attachedEntity == NULL){ - entity->field_0x80.HWORD = (Random() & 0x7f) | (0x80 << 2); + }else if(this->attachedEntity == NULL){ + this->field_0x80.HWORD = (Random() & 0x7f) | (0x80 << 2); }else{ - if(entity->attachedEntity->next == NULL){ - entity->attachedEntity = NULL; + if(this->attachedEntity->next == NULL){ + this->attachedEntity = NULL; } } return; } -void sub_080317B4(Entity* entity){ - - entity->height.HALF.HI = ((Random() & 0x30) != 0) ? -0xc : -0xd; - sub_0806F69C(entity); - GetNextFrame(entity); +void sub_080317B4(Entity* this){ + this->height.HALF.HI = ((Random() & 0x30) != 0) ? -0xc : -0xd; + sub_0806F69C(this); + GetNextFrame(this); } -void sub_080317E0(Entity *entity){ - entity->animationState = ((u8)(entity->direction + 2) & 0x1c) >> 2; - InitializeAnimation(entity, entity->animationState); +void sub_080317E0(Entity *this){ + this->animationState = ((u8)(this->direction + 2) & 0x1c) >> 2; + InitializeAnimation(this, this->animationState); } -void sub_080317F8(Entity *entity){ +void sub_080317F8(Entity *this){ u8 newDirection = Random() & 0x18; - entity->action = 1; - entity->height.HALF.HI = 0x0000FFF4; - entity->collisionLayer = 1; - entity->field_0x3c |= 0x10; - entity->field_0x1c = 1; - entity->direction = newDirection; - entity->boundingBox = &gUnk_080CE560; - sub_080317E0(entity); - entity->actionDelay = 0; - entity->field_0xf = 0x20; + this->action = 1; + this->height.HALF.HI = 0x0000FFF4; + this->collisionLayer = 1; + this->field_0x3c |= 0x10; + this->field_0x1c = 1; + this->direction = newDirection; + this->boundingBox = &gUnk_080CE560; + sub_080317E0(this); + this->actionDelay = 0; + this->field_0xf = 0x20; } -void sub_08031840(Entity* entity){ - Entity *enemy = CreateEnemy(0x2d, entity->entityType.form); +void sub_08031840(Entity* this){ + Entity *enemy = CreateEnemy(0x2d, this->entityType.form); if(enemy!= NULL){ - CopyPosition(entity, enemy); - enemy->parent = entity; - entity->attachedEntity = enemy; + CopyPosition(this, enemy); + enemy->parent = this; + this->attachedEntity = enemy; enemy->entityType.parameter = 1; } } From 4b6f822829d6dd771ed995030f1bf1d24f204536 Mon Sep 17 00:00:00 2001 From: 21aslade <21aslade@go.dsdmail.net> Date: Sat, 7 Nov 2020 13:58:19 -0700 Subject: [PATCH 008/101] Start chuchuBoss.c --- asm/chuchuBoss.s | 33 --------------------------------- linker.ld | 1 + src/enemy/chuchuBoss.c | 19 +++++++++++++++++++ 3 files changed, 20 insertions(+), 33 deletions(-) create mode 100644 src/enemy/chuchuBoss.c diff --git a/asm/chuchuBoss.s b/asm/chuchuBoss.s index 0ad8aaca..e2b0f04e 100644 --- a/asm/chuchuBoss.s +++ b/asm/chuchuBoss.s @@ -6,39 +6,6 @@ .text - - thumb_func_start ChuchuBoss -ChuchuBoss: @ 0x08025CA0 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, _08025CB8 @ =gUnk_080CC19C - bl GetNextFunction - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - pop {r4, r5, pc} - .align 2, 0 -_08025CB8: .4byte gUnk_080CC19C - - thumb_func_start sub_08025CBC -sub_08025CBC: @ 0x08025CBC - push {r4, lr} - adds r4, r0, #0 - bl sub_08001324 - - thumb_func_start sub_08025CC4 -sub_08025CC4: @ 0x08025CC4 - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _08025CD0 - adds r0, r4, #0 - bl sub_08027870 -_08025CD0: - pop {r4, pc} - .align 2, 0 - thumb_func_start sub_08025CD4 sub_08025CD4: @ 0x08025CD4 push {r4, r5, lr} diff --git a/linker.ld b/linker.ld index 5b0d7d93..cfcc4abe 100644 --- a/linker.ld +++ b/linker.ld @@ -346,6 +346,7 @@ SECTIONS { asm/sluggula.o(.text); asm/pesto.o(.text); asm/puffstool.o(.text); + src/enemy/chuchuBoss.o(.text); asm/chuchuBoss.o(.text); asm/likeLike.o(.text); asm/spearMoblin.o(.text); diff --git a/src/enemy/chuchuBoss.c b/src/enemy/chuchuBoss.c new file mode 100644 index 00000000..169deeb4 --- /dev/null +++ b/src/enemy/chuchuBoss.c @@ -0,0 +1,19 @@ +#include "entity.h" +#include "functions.h" +#include "enemy.h" + +extern void (*const gUnk_080CC19C[])(Entity*); + +extern void sub_08001324(Entity*); +void sub_08027870(Entity*); + +void ChuchuBoss(Entity* this) { + gUnk_080CC19C[GetNextFunction(this)]((Entity*)this); +} + +void sub_08025CBC(Entity* this) { + sub_08001324(this); + if (this->entityType.form == 0) { + sub_08027870(this); + } +} From 3c280ff75c196b3349cf6e2a52a49a657341f9f5 Mon Sep 17 00:00:00 2001 From: Ibot02 Date: Wed, 11 Nov 2020 12:45:13 +0100 Subject: [PATCH 009/101] manager9.c: ok --- asm/manager9.s | 217 ----------------------------------------- include/functions.h | 1 + linker.ld | 2 +- src/manager/manager9.c | 99 +++++++++++++++++++ 4 files changed, 101 insertions(+), 218 deletions(-) delete mode 100644 asm/manager9.s create mode 100644 src/manager/manager9.c diff --git a/asm/manager9.s b/asm/manager9.s deleted file mode 100644 index 1f9385b4..00000000 --- a/asm/manager9.s +++ /dev/null @@ -1,217 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_080581D8 -sub_080581D8: @ 0x080581D8 - push {r4, lr} - adds r4, r0, #0 - bl sub_08058210 - ldrb r1, [r4, #0xc] - cmp r1, #0 - bne _080581F8 - movs r0, #1 - strb r0, [r4, #0xc] - ldr r0, _080581FC @ =gScreen - strh r1, [r0, #0x1a] - ldr r1, _08058200 @ =sub_08058204 - adds r0, r4, #0 - movs r2, #0 - bl sub_08052D74 -_080581F8: - pop {r4, pc} - .align 2, 0 -_080581FC: .4byte gScreen -_08058200: .4byte sub_08058204 - - thumb_func_start sub_08058204 -sub_08058204: @ 0x08058204 - push {lr} - ldrb r0, [r0, #0xa] - bl sub_08058324 - pop {pc} - .align 2, 0 - - thumb_func_start sub_08058210 -sub_08058210: @ 0x08058210 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - bl sub_08058244 - adds r3, r0, #0 - ldr r0, [r4, #0x3c] - cmp r0, r3 - beq _08058234 - str r3, [r4, #0x3c] - ldr r1, _08058238 @ =gUnk_02006F00 - ldr r2, _0805823C @ =gUnk_02001A40 - adds r0, r3, #0 - bl sub_080582A0 - ldr r1, _08058240 @ =gScreen - movs r0, #1 - strh r0, [r1, #0x1a] -_08058234: - pop {r4, pc} - .align 2, 0 -_08058238: .4byte gUnk_02006F00 -_0805823C: .4byte gUnk_02001A40 -_08058240: .4byte gScreen - - thumb_func_start sub_08058244 -sub_08058244: @ 0x08058244 - push {r4, r5, r6, lr} - mov r6, r8 - push {r6} - adds r6, r0, #0 - ldr r5, _08058294 @ =gRoomControls - movs r1, #0xc - ldrsh r0, [r5, r1] - ldrh r4, [r5, #8] - subs r0, r0, r4 - lsls r0, r0, #5 - ldrh r1, [r5, #0x20] - subs r1, #0xa0 - bl __divsi3 - ldr r2, _08058298 @ =gScreen - mov r8, r2 - adds r4, r4, r0 - strh r4, [r2, #0x18] - movs r0, #0xa - ldrsh r1, [r5, r0] - ldrh r0, [r5, #6] - subs r1, r1, r0 - ldr r0, _0805829C @ =gUnk_081081EC - lsls r6, r6, #1 - adds r6, r6, r0 - ldrh r0, [r6] - muls r0, r1, r0 - ldrh r1, [r5, #0x1e] - subs r1, #0xf0 - bl __divsi3 - movs r2, #0xf - adds r1, r0, #0 - ands r1, r2 - mov r2, r8 - strh r1, [r2, #0x16] - pop {r3} - mov r8, r3 - pop {r4, r5, r6, pc} - .align 2, 0 -_08058294: .4byte gRoomControls -_08058298: .4byte gScreen -_0805829C: .4byte gUnk_081081EC - - thumb_func_start sub_080582A0 -sub_080582A0: @ 0x080582A0 - push {r4, r5, r6, lr} - movs r4, #0x20 - lsrs r0, r0, #4 - lsls r0, r0, #2 - adds r1, r1, r0 - ldr r3, _080582C8 @ =0x040000D4 - ldr r6, _080582CC @ =0x80000020 - movs r5, #0x80 - lsls r5, r5, #1 -_080582B2: - str r1, [r3] - str r2, [r3, #4] - str r6, [r3, #8] - ldr r0, [r3, #8] - adds r1, r1, r5 - adds r2, #0x40 - subs r4, #1 - cmp r4, #0 - bne _080582B2 - pop {r4, r5, r6, pc} - .align 2, 0 -_080582C8: .4byte 0x040000D4 -_080582CC: .4byte 0x80000020 - - thumb_func_start sub_080582D0 -sub_080582D0: @ 0x080582D0 - push {r4, r5, lr} - ldr r4, _080582F4 @ =gMapDataTopSpecial - movs r0, #0x80 - lsls r0, r0, #7 - adds r5, r4, r0 - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_080582F8 - movs r0, #0x80 - lsls r0, r0, #4 - adds r4, r4, r0 - adds r5, #0x40 - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_080582F8 - pop {r4, r5, pc} - .align 2, 0 -_080582F4: .4byte gMapDataTopSpecial - - thumb_func_start sub_080582F8 -sub_080582F8: @ 0x080582F8 - push {r4, r5, r6, lr} - adds r3, r0, #0 - movs r4, #0 - ldr r2, _0805831C @ =0x040000D4 - ldr r6, _08058320 @ =0x80000020 - movs r5, #0x80 - lsls r5, r5, #1 -_08058306: - str r3, [r2] - str r1, [r2, #4] - str r6, [r2, #8] - ldr r0, [r2, #8] - adds r4, #1 - adds r3, #0x40 - adds r1, r1, r5 - cmp r4, #0x1f - bls _08058306 - pop {r4, r5, r6, pc} - .align 2, 0 -_0805831C: .4byte 0x040000D4 -_08058320: .4byte 0x80000020 - - thumb_func_start sub_08058324 -sub_08058324: @ 0x08058324 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _0805836C @ =gUnk_0200B650 - movs r0, #0 - str r0, [r1] - adds r0, r4, #0 - adds r0, #0x86 - bl LoadPaletteGroup - adds r0, r4, #0 - adds r0, #0x36 - bl LoadGfxGroup - bl sub_080582D0 - adds r0, r4, #0 - bl sub_08058244 - ldr r1, _08058370 @ =gUnk_02006F00 - ldr r4, _08058374 @ =gUnk_02001A40 - adds r2, r4, #0 - bl sub_080582A0 - ldr r1, _08058378 @ =gScreen - ldr r0, _0805837C @ =0x00001D47 - strh r0, [r1, #0x14] - str r4, [r1, #0x1c] - movs r0, #1 - strh r0, [r1, #0x1a] - ldrh r2, [r1] - movs r3, #0x80 - lsls r3, r3, #2 - adds r0, r3, #0 - orrs r0, r2 - strh r0, [r1] - pop {r4, pc} - .align 2, 0 -_0805836C: .4byte gUnk_0200B650 -_08058370: .4byte gUnk_02006F00 -_08058374: .4byte gUnk_02001A40 -_08058378: .4byte gScreen -_0805837C: .4byte 0x00001D47 diff --git a/include/functions.h b/include/functions.h index 4bd2d0f7..84f7efaf 100644 --- a/include/functions.h +++ b/include/functions.h @@ -269,4 +269,5 @@ extern u32 GetTileTypeByEntity(Entity*); extern u32 sub_0800442E(Entity*); extern void sub_08081404(Entity*, u32); extern void sub_0807B7D8(u32, u32, u32); +extern void sub_08052D74(void*, void*, void*); #endif diff --git a/linker.ld b/linker.ld index 72be4378..451c0cf9 100644 --- a/linker.ld +++ b/linker.ld @@ -477,7 +477,7 @@ SECTIONS { src/manager/manager6.o(.text); src/manager/manager7.o(.text); src/manager/manager8.o(.text); - asm/manager9.o(.text); + src/manager/manager9.o(.text); src/manager/managerA.o(.text); src/manager/managerB.o(.text); asm/managerC.o(.text); diff --git a/src/manager/manager9.c b/src/manager/manager9.c new file mode 100644 index 00000000..fbf3ad56 --- /dev/null +++ b/src/manager/manager9.c @@ -0,0 +1,99 @@ +#include "global.h" +#include "manager.h" +#include "room.h" +#include "screen.h" +#include "functions.h" + + +typedef struct { + Manager manager; + u8 unk_00[0x1C]; + u32 unk_3c; +} Manager9; + +void sub_08058204(Manager9*); +void sub_08058210(Manager9*); +u32 sub_08058244(int); +void sub_080582A0(u32, u32*, u8*); +void sub_080582F8(u8*, u8*); +void sub_08058324(); + +extern u32 gUnk_02006F00[]; +extern u8 gUnk_02001A40[]; + +extern u16 gUnk_081081EC[]; + +void sub_080581D8(Manager9* this) { + sub_08058210(this); + if (!this->manager.action) { + this->manager.action=1; + gScreen.bg.bg2yOffset=0; + sub_08052D74(this,sub_08058204,NULL); + } +} + +void sub_08058204(Manager9* this) { + sub_08058324(this->manager.unk_0a); +} + +void sub_08058210(Manager9* this) { + u32 tmp = sub_08058244(this->manager.unk_0a); + if (this->unk_3c == tmp) return; + this->unk_3c = tmp; + sub_080582A0(tmp, gUnk_02006F00, gUnk_02001A40); + gScreen.bg.bg2yOffset=1; +} + +u32 sub_08058244(int i) { + u32 tmp; + s32 tmp2; + u32 tmp3; + s32 tmp4; + tmp = ((gRoomControls.roomScrollY - gRoomControls.roomOriginY)*0x20)/(gRoomControls.height-0xa0); + gScreen.bg.bg2xOffset = gRoomControls.roomOriginY + tmp; + tmp = (((gRoomControls.roomScrollX - gRoomControls.roomOriginX) * gUnk_081081EC[i])/(gRoomControls.width-0xf0)); + gScreen.bg.bg1yOffset = tmp & 0xf; + return tmp; +} + +void sub_080582A0(u32 unk, u32* unk2, u8* unk3) { + int i = 0x20; + unk2 += unk>>4; + for (; i != 0; i--) { + DmaSet(3, unk2, unk3, 0x80000020); + unk2 += 0x40; + unk3 += 0x40; + } +} + +extern u8 gMapDataTopSpecial[]; + +void sub_080582D0() { + u8* tmp = gMapDataTopSpecial; + u8* tmp2 = tmp + 0x4000; + sub_080582F8(tmp, tmp2); + tmp += 0x800; + tmp2 += 0x40; + sub_080582F8(tmp, tmp2); +} + +void sub_080582F8(u8* unk, u8* unk2) { + u32 i; + for (i = 0; i < 0x20; i++, unk += 0x40, unk2 += 0x100) { + DmaSet(3, unk, unk2, 0x80000020); + } +} + +extern u32 gUnk_0200B650; + +void sub_08058324(u32 unk) { + gUnk_0200B650 = 0; + LoadPaletteGroup(unk+0x86); + LoadGfxGroup(unk+0x36); + sub_080582D0(); + sub_080582A0(sub_08058244(unk),gUnk_02006F00,gUnk_02001A40); + gScreen.bg.bg1xOffset=0x1D47; + gScreen.bg.unk_14 = gUnk_02001A40; + gScreen.bg.bg2yOffset = 1; + gScreen.lcd.displayControl |= 0x200; +} From c95682f93d56a8bdf88961dae184b914d5839643 Mon Sep 17 00:00:00 2001 From: Ibot02 Date: Wed, 11 Nov 2020 13:17:35 +0100 Subject: [PATCH 010/101] manager9 and managerA rodata --- data/data_081081EC.s | 11 ----------- linker.ld | 4 +++- src/manager/manager9.c | 8 +++++++- src/manager/managerA.c | 18 +++++++++++++++--- 4 files changed, 25 insertions(+), 16 deletions(-) delete mode 100644 data/data_081081EC.s diff --git a/data/data_081081EC.s b/data/data_081081EC.s deleted file mode 100644 index 4d0e1d08..00000000 --- a/data/data_081081EC.s +++ /dev/null @@ -1,11 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2 - -gUnk_081081EC:: @ 081081EC - .incbin "baserom.gba", 0x1081EC, 0x0000008 - -gUnk_081081F4:: @ 081081F4 - .incbin "baserom.gba", 0x1081F4, 0x0000014 diff --git a/linker.ld b/linker.ld index 451c0cf9..000830ae 100644 --- a/linker.ld +++ b/linker.ld @@ -986,7 +986,9 @@ SECTIONS { data/data_08107BC8.o(.rodata); src/manager/manager5.o(.rodata); src/manager/manager7.o(.rodata); - data/data_081081EC.o(.rodata); + . = ALIGN(4); + src/manager/manager9.o(.rodata); + src/manager/managerA.o(.rodata); src/manager/managerB.o(.rodata); data/data_0810821C.o(.rodata); src/item.o(.rodata); diff --git a/src/manager/manager9.c b/src/manager/manager9.c index fbf3ad56..b5929a2e 100644 --- a/src/manager/manager9.c +++ b/src/manager/manager9.c @@ -21,7 +21,13 @@ void sub_08058324(); extern u32 gUnk_02006F00[]; extern u8 gUnk_02001A40[]; -extern u16 gUnk_081081EC[]; + +const u16 gUnk_081081EC[] = { + 0x30, + 0x30, + 0x30, + 0x38 +}; void sub_080581D8(Manager9* this) { sub_08058210(this); diff --git a/src/manager/managerA.c b/src/manager/managerA.c index 1fd78227..7d7fc388 100644 --- a/src/manager/managerA.c +++ b/src/manager/managerA.c @@ -6,10 +6,22 @@ #include "area.h" -extern void (*gUnk_081081F4[])(Manager*); +void sub_08058398(ManagerA*); +void sub_080583EC(ManagerA*); +void sub_08058408(ManagerA*); +void sub_08058514(ManagerA*); +void sub_080585B0(ManagerA*); + +void (* const gUnk_081081F4[])(ManagerA*) = { + sub_08058398, + sub_080583EC, + sub_08058408, + sub_08058514, + sub_080585B0 +}; -void sub_08058380(Manager* this) { - gUnk_081081F4[this->action](this); +void sub_08058380(ManagerA* this) { + gUnk_081081F4[this->manager.action](this); } From 3079c016b455c7008995d26ea227a4f05bc79988 Mon Sep 17 00:00:00 2001 From: theo3 Date: Fri, 13 Nov 2020 23:27:50 -0800 Subject: [PATCH 011/101] clang-format and newlines --- .gitignore | 2 +- asm/bowUse.s | 2 +- asm/cat.s | 2 +- asm/code_08000F10.s | 2 +- asm/code_080041E8.s | 2 +- asm/code_080043E8.s | 2 +- asm/code_08016DF8.s | 2 +- asm/code_08019444.s | 2 +- asm/code_0801C370.s | 2 +- asm/code_0801C85C.s | 2 +- asm/code_0801CEC0.s | 2 +- asm/code_080526F8.s | 2 +- asm/code_0805EC04.s | 2 +- asm/code_0806EC20.s | 2 +- asm/code_08076C80.s | 2 +- asm/code_0807B9B8.s | 2 +- asm/code_0807CC3C.s | 2 +- asm/code_0808091C.s | 2 +- asm/code_080A3480.s | 2 +- asm/code_080AD90C.s | 2 +- asm/code_080B1520.s | 2 +- asm/dog.s | 2 +- asm/drawRupees.s | 2 +- asm/drawUI.s | 2 +- asm/enemy5F.s | 2 +- asm/evilSpirit/sub_080862B8.inc | 2 +- asm/festari.s | 2 +- asm/fusionMenuNPC.s | 2 +- asm/getInventoryValue.s | 2 +- asm/hurdyGurdyMan.s | 2 +- asm/item11.s | 2 +- asm/kingGustaf.s | 2 +- asm/loadRoomEntity.s | 2 +- asm/m4a.s | 2 +- asm/macroMushroomStalks.s | 2 +- asm/manager11.s | 2 +- asm/manager18.s | 2 +- asm/manager34.s | 2 +- asm/manager39.s | 2 +- asm/mazaalHead.s | 2 +- asm/modArrows.s | 2 +- asm/modBombs.s | 2 +- asm/non_matching/code_0805457C.inc | 2 +- asm/non_matching/putItemOnSlot.s | 2 +- asm/non_matching/sub_0804BF38.inc | 2 +- asm/non_matching/sub_0804C128.inc | 2 +- asm/non_matching/sub_0804C258.inc | 2 +- asm/non_matching/sub_0804C290.inc | 2 +- asm/non_matching/sub_0804DE00.inc | 2 +- asm/non_matching/sub_0804E150.inc | 2 +- asm/non_matching/sub_08054524.inc | 2 +- asm/non_matching/sub_08077D38.inc | 2 +- asm/non_matching/sub_08077F24.inc | 2 +- asm/non_matching/syrup/sub_0806A26C.inc | 2 +- asm/non_matching/townsperson/sub_08061C60.inc | 2 +- asm/non_matching/wallMaster2/sub_0802CF8C.inc | 2 +- asm/npc4E.s | 2 +- asm/npc58.s | 2 +- asm/object74.s | 2 +- asm/objectBF.s | 2 +- asm/ocarina.s | 2 +- asm/ocarinaUpdate.s | 2 +- asm/phonograph.s | 2 +- asm/playSFX.s | 2 +- asm/respawnPlayer.s | 2 +- asm/smallTownMinish.s | 2 +- asm/sub_08007DE0.s | 2 +- asm/sub_08019410.s | 2 +- asm/sub_0801C824.s | 2 +- asm/sub_0804AA30.s | 2 +- asm/sub_08052418.s | 2 +- asm/sub_0807CA18.s | 2 +- asm/sub_080A276C.s | 2 +- asm/sub_080A285C.s | 2 +- asm/wizzrobeIce.s | 2 +- data/data_080B2A70.s | 2 +- data/data_080B3054.s | 2 +- data/ddump | Bin 92908 -> 92909 bytes data/gfx.ddscript | 2 +- data/playerItemFunctions.s | 2 +- data/ptr_array.ddscript | 2 +- data/text.ddscript | 2 +- data/tilesets/minish_woods/tiles_bottom.png | Bin 9628 -> 9629 bytes graphics/font.png | Bin 10493 -> 10494 bytes graphics/intro/nintendo_capcom.png | Bin 1613 -> 1614 bytes graphics/npc/malon.png | Bin 1837 -> 1838 bytes graphics/npc/postman.png | Bin 7783 -> 7784 bytes graphics/pot_portal.png | Bin 2431 -> 2432 bytes graphics_file_rules.mk | 2 +- include/area.h | 3 +- include/createEnemy.h | 2 +- include/cutscene.h | 2 +- include/enemy.h | 2 +- include/flags.h | 2 +- include/functions.h | 12 +- include/greatFairy.h | 3 +- include/item.h | 2 +- include/main.h | 3 +- include/manager.h | 2 +- include/menu.h | 2 +- include/npc.h | 3 +- include/object.h | 2 +- include/position.h | 2 +- include/random.h | 2 +- include/room.h | 29 +- include/sprite.h | 2 +- include/textbox.h | 2 +- linker.ld | 1378 ++++++------ songs.mk | 1 + src/chooseFile.c | 15 +- src/code_08018C58.c | 22 +- src/code_0801D79C.c | 6 +- src/code_080300AC.c | 14 +- src/code_0804AA84.c | 86 +- src/code_0805436C.c | 6 +- src/code_08077B98.c | 180 +- src/code_08077DF4.c | 150 +- src/code_08078778.c | 70 +- src/code_0807CC3C.c | 79 +- src/code_0808091C.c | 9 +- src/code_080A29BC.c | 92 +- src/createBowEntity.c | 2 +- src/enemy/acroBandits.c | 4 +- src/enemy/beetle.c | 2 - src/enemy/bladeTrap.c | 2 - src/enemy/bombPeahat.c | 2 +- src/enemy/bowMoblin.c | 42 +- src/enemy/chaser.c | 5 +- src/enemy/cuccoChickAggr.c | 7 +- src/enemy/enemy4D.c | 2 +- src/enemy/fallingBoulder.c | 8 +- src/enemy/fireballGuy.c | 4 +- src/enemy/hangingSeed.c | 1 - src/enemy/keaton.c | 2 +- src/enemy/lakitu.c | 171 +- src/enemy/lakituCloud.c | 74 +- src/enemy/likeLike.c | 21 +- src/enemy/miniSlime.c | 2 +- src/enemy/moldorm.c | 2 +- src/enemy/peahat.c | 5 +- src/enemy/smallPesto.c | 106 +- src/enemy/treeItem.c | 6 +- src/entity.c | 6 +- src/flags.c | 27 +- src/initializePlayer.c | 31 +- src/input.c | 36 +- src/intro.c | 93 +- src/item.c | 58 +- src/item11.c | 113 +- src/loadRoom.c | 2 +- src/mainLoop.c | 11 +- src/manager/manager1.c | 79 +- src/manager/manager15.c | 101 +- src/manager/manager1A.c | 39 +- src/manager/manager2.c | 17 +- src/manager/manager20.c | 7 +- src/manager/manager27.c | 108 +- src/manager/manager2E.c | 10 +- src/manager/manager3.c | 16 +- src/manager/manager30.c | 45 +- src/manager/manager4.c | 53 +- src/manager/manager5.c | 62 +- src/manager/manager6.c | 8 +- src/manager/manager7.c | 92 +- src/manager/manager8.c | 28 +- src/manager/manager9.c | 36 +- src/manager/managerA.c | 48 +- src/manager/managerB.c | 95 +- src/manager/managerE.c | 2 +- src/npc/anju.c | 27 +- src/npc/bladeBrothers.c | 9 +- src/npc/carlov.c | 17 +- src/npc/carpenter.c | 8 +- src/npc/festari.c | 48 +- src/npc/gentari.c | 25 +- src/npc/goronMerchant.c | 174 +- src/npc/mailbox.c | 3 +- src/npc/moblinLady.c | 6 +- src/npc/npc9.c | 69 +- src/npc/postman.c | 92 +- src/npc/rem.c | 21 +- src/npc/simon.c | 52 +- src/npc/syrup.c | 47 +- src/npc/wheaton.c | 10 +- src/npc/zeldaFollower.c | 3 +- src/object/archway.c | 9 +- src/object/backgroundCloud.c | 3 +- src/object/bigVortex.c | 2 +- src/object/bird.c | 2 +- src/object/button.c | 35 +- src/object/chestSpawner.c | 23 +- src/object/fan.c | 114 +- src/object/floatingBlock.c | 4 +- src/object/hiddenLadderDown.c | 2 +- src/object/houseDoorExterior.c | 27 +- src/object/itemOnGround.c | 4 +- src/object/jailBars.c | 77 +- src/object/lightableSwitch.c | 3 +- src/object/lilypadSmall.c | 53 +- src/object/mask.c | 35 +- src/object/metalDoor.c | 157 +- src/object/minecart.c | 69 +- src/object/mineralWaterSource.c | 12 +- src/object/minishLight.c | 30 +- src/object/minishSizedEntrance.c | 26 +- src/object/object1C.c | 23 +- src/object/object1D.c | 13 +- src/object/object2A.c | 17 +- src/object/object48.c | 11 +- src/object/object49.c | 163 +- src/object/object7E.c | 4 +- src/object/object86.c | 56 +- src/object/object9E.c | 66 +- src/object/objectA.c | 16 +- src/object/objectA8.c | 45 +- src/object/palaceArchway.c | 16 +- src/object/pinwheel.c | 29 +- src/object/pot.c | 1 - src/object/smoke.c | 64 +- src/object/swordsmanNewsletter.c | 24 +- src/object/thoughtBubble.c | 51 +- src/object/treeHidingPortal.c | 5 +- src/object/windTribeFlag.c | 33 +- src/object/windcrest.c | 33 +- src/position.c | 29 +- src/room.c | 1915 +++++++++-------- src/sub_08050024.c | 97 +- src/sub_08055E08.c | 15 +- src/sub_08070680.c | 88 +- src/sub_0807C998.c | 18 +- src/sub_080A3B84.c | 90 +- src/sub_080A554C.c | 10 +- src/tmc.code-workspace | 18 +- src/trig.c | 131 +- tools/tmc_strings/README.md | 2 +- translations/USA.json | 2 +- 236 files changed, 4010 insertions(+), 4415 deletions(-) mode change 100755 => 100644 src/chooseFile.c mode change 100755 => 100644 src/code_0801D79C.c mode change 100755 => 100644 src/enemy/treeItem.c mode change 100755 => 100644 src/object/houseDoorExterior.c mode change 100755 => 100644 src/object/itemOnGround.c mode change 100755 => 100644 src/object/object48.c mode change 100755 => 100644 src/object/pot.c diff --git a/.gitignore b/.gitignore index 9dd796fd..5704a6f3 100644 --- a/.gitignore +++ b/.gitignore @@ -64,4 +64,4 @@ types_*.taghl _Deparsed_XSubs.pm *.py *.sna -__pycache__ \ No newline at end of file +__pycache__ diff --git a/asm/bowUse.s b/asm/bowUse.s index e6079a26..438fa2a4 100644 --- a/asm/bowUse.s +++ b/asm/bowUse.s @@ -336,4 +336,4 @@ _08019402: .align 2, 0 _08019404: .4byte gUnk_02002A40 _08019408: .4byte gPlayerEntity -_0801940C: .4byte gPlayerState \ No newline at end of file +_0801940C: .4byte gPlayerState diff --git a/asm/cat.s b/asm/cat.s index 2b3282f7..88c7bd1c 100644 --- a/asm/cat.s +++ b/asm/cat.s @@ -854,4 +854,4 @@ _08067E22: bl UpdateAnimationSingleFrame _08067E28: pop {pc} - .align 2, 0 \ No newline at end of file + .align 2, 0 diff --git a/asm/code_08000F10.s b/asm/code_08000F10.s index 335c75a1..456e25df 100644 --- a/asm/code_08000F10.s +++ b/asm/code_08000F10.s @@ -48,4 +48,4 @@ _08000F40: pop {r4, r5, r6, r7} bx lr .align 2, 0 -_08000F50: .4byte gUnk_03005E60 \ No newline at end of file +_08000F50: .4byte gUnk_03005E60 diff --git a/asm/code_080041E8.s b/asm/code_080041E8.s index 2ebb96fb..c0d7605e 100644 --- a/asm/code_080041E8.s +++ b/asm/code_080041E8.s @@ -292,4 +292,4 @@ _080043B6: _080043E0: adds r0, r4, #0 bl DeleteEntity - pop {r4, pc} \ No newline at end of file + pop {r4, pc} diff --git a/asm/code_080043E8.s b/asm/code_080043E8.s index bbd2883b..586f2547 100644 --- a/asm/code_080043E8.s +++ b/asm/code_080043E8.s @@ -1849,4 +1849,4 @@ _08007DE2: ldrh r3, [r1, #2] movs r2, #1 _08007DF2: - bx lr \ No newline at end of file + bx lr diff --git a/asm/code_08016DF8.s b/asm/code_08016DF8.s index c8bfb456..6c090292 100644 --- a/asm/code_08016DF8.s +++ b/asm/code_08016DF8.s @@ -3098,4 +3098,4 @@ _080184F0: pop {r1} bx r1 .align 2, 0 -_080184FC: .4byte gPlayerEntity \ No newline at end of file +_080184FC: .4byte gPlayerEntity diff --git a/asm/code_08019444.s b/asm/code_08019444.s index 8a28ea67..8636cbce 100644 --- a/asm/code_08019444.s +++ b/asm/code_08019444.s @@ -5620,4 +5620,4 @@ _0801BEEE: pop {r4, pc} .align 2, 0 _0801BEF0: .4byte gPlayerEntity -_0801BEF4: .4byte gUnk_080B7878 \ No newline at end of file +_0801BEF4: .4byte gUnk_080B7878 diff --git a/asm/code_0801C370.s b/asm/code_0801C370.s index ddb4d4ff..3493cced 100644 --- a/asm/code_0801C370.s +++ b/asm/code_0801C370.s @@ -148,4 +148,4 @@ sub_0801C4A0: @ 0x0801C4A0 strb r0, [r1, #0xa] bx lr .align 2, 0 -_0801C4AC: .4byte gUnk_0200AF00 \ No newline at end of file +_0801C4AC: .4byte gUnk_0200AF00 diff --git a/asm/code_0801C85C.s b/asm/code_0801C85C.s index 6cfeac01..b86532bf 100644 --- a/asm/code_0801C85C.s +++ b/asm/code_0801C85C.s @@ -866,4 +866,4 @@ _0801CEB4: pop {r4, pc} .align 2, 0 _0801CEB8: .4byte gUnk_0200AF00 -_0801CEBC: .4byte gTextBox \ No newline at end of file +_0801CEBC: .4byte gTextBox diff --git a/asm/code_0801CEC0.s b/asm/code_0801CEC0.s index c9434b01..c045e5d5 100644 --- a/asm/code_0801CEC0.s +++ b/asm/code_0801CEC0.s @@ -860,4 +860,4 @@ ClearBit: @ 0x0801D5D4 bics r1, r2 strb r1, [r3] ands r0, r2 - bx lr \ No newline at end of file + bx lr diff --git a/asm/code_080526F8.s b/asm/code_080526F8.s index 7684d3be..bdb2dc97 100644 --- a/asm/code_080526F8.s +++ b/asm/code_080526F8.s @@ -3577,4 +3577,4 @@ _080542E8: pop {pc} .align 2, 0 _080542F0: .4byte 0x000003E7 - \ No newline at end of file + diff --git a/asm/code_0805EC04.s b/asm/code_0805EC04.s index ea3eba03..56ae8e50 100644 --- a/asm/code_0805EC04.s +++ b/asm/code_0805EC04.s @@ -2252,4 +2252,4 @@ _0805FD1C: bl DeleteThisEntity _0805FD20: pop {r4, r5, pc} - .align 2, 0 \ No newline at end of file + .align 2, 0 diff --git a/asm/code_0806EC20.s b/asm/code_0806EC20.s index edca84a3..293d4e87 100644 --- a/asm/code_0806EC20.s +++ b/asm/code_0806EC20.s @@ -167,4 +167,4 @@ _0806ECD0: _0806ED4A: pop {r4, r5, pc} .align 2, 0 -_0806ED4C: .4byte gUnk_08114EE4 \ No newline at end of file +_0806ED4C: .4byte gUnk_08114EE4 diff --git a/asm/code_08076C80.s b/asm/code_08076C80.s index a1d47e18..912fdbcc 100644 --- a/asm/code_08076C80.s +++ b/asm/code_08076C80.s @@ -1718,4 +1718,4 @@ sub_08077B20: @ 0x08077B20 push {lr} bl ResetPlayer bl sub_08077AEC - pop {pc} \ No newline at end of file + pop {pc} diff --git a/asm/code_0807B9B8.s b/asm/code_0807B9B8.s index 6ab76607..127addc9 100644 --- a/asm/code_0807B9B8.s +++ b/asm/code_0807B9B8.s @@ -1994,4 +1994,4 @@ _0807C956: mov r8, r3 mov sb, r4 pop {r4, r5, r6, r7, pc} - .align 2, 0 \ No newline at end of file + .align 2, 0 diff --git a/asm/code_0807CC3C.s b/asm/code_0807CC3C.s index 48053ae7..c38f3a9e 100644 --- a/asm/code_0807CC3C.s +++ b/asm/code_0807CC3C.s @@ -7970,4 +7970,4 @@ _080808B8: .align 2, 0 _080808CC: .4byte gRoomControls _080808D0: .4byte 0xFFFF8000 -_080808D4: .4byte gUnk_0811E7C4 \ No newline at end of file +_080808D4: .4byte gUnk_0811E7C4 diff --git a/asm/code_0808091C.s b/asm/code_0808091C.s index 8e1eb210..b89bd1db 100755 --- a/asm/code_0808091C.s +++ b/asm/code_0808091C.s @@ -433,4 +433,4 @@ _08080DEE: _08080E00: pop {r4, r5, pc} .align 2, 0 -_08080E04: .4byte gScreenTransition \ No newline at end of file +_08080E04: .4byte gScreenTransition diff --git a/asm/code_080A3480.s b/asm/code_080A3480.s index 2f809081..010a22cc 100644 --- a/asm/code_080A3480.s +++ b/asm/code_080A3480.s @@ -908,4 +908,4 @@ sub_080A3B74: @ 0x080A3B74 strb r1, [r0] bx lr .align 2, 0 -_080A3B80: .4byte gMenu \ No newline at end of file +_080A3B80: .4byte gMenu diff --git a/asm/code_080AD90C.s b/asm/code_080AD90C.s index b8d21b9b..8b329187 100644 --- a/asm/code_080AD90C.s +++ b/asm/code_080AD90C.s @@ -3527,4 +3527,4 @@ _080AF300: .align 2, 0 _080AF304: .4byte gArea _080AF308: .4byte 0x0000085C -_080AF30C: .4byte gUnk_0813A76C \ No newline at end of file +_080AF30C: .4byte gUnk_0813A76C diff --git a/asm/code_080B1520.s b/asm/code_080B1520.s index e0e5eb8a..9ecbe88a 100644 --- a/asm/code_080B1520.s +++ b/asm/code_080B1520.s @@ -548,4 +548,4 @@ _080B1912: pop {r1} bx r1 .align 2, 0 - \ No newline at end of file + diff --git a/asm/dog.s b/asm/dog.s index c0a02ab3..d10e5929 100644 --- a/asm/dog.s +++ b/asm/dog.s @@ -884,4 +884,4 @@ _0806A1CE: bl GetNextFrame _0806A1D4: pop {r4, pc} - .align 2, 0 \ No newline at end of file + .align 2, 0 diff --git a/asm/drawRupees.s b/asm/drawRupees.s index 19aa061c..619a530a 100644 --- a/asm/drawRupees.s +++ b/asm/drawRupees.s @@ -157,4 +157,4 @@ _0801C5D0: .align 2, 0 _0801C5D4: .4byte gUnk_0200AF00 _0801C5D8: .4byte gWalletSizes -_0801C5DC: .4byte gUnk_02002A40 \ No newline at end of file +_0801C5DC: .4byte gUnk_02002A40 diff --git a/asm/drawUI.s b/asm/drawUI.s index 4ef44533..489f02ca 100644 --- a/asm/drawUI.s +++ b/asm/drawUI.s @@ -23,4 +23,4 @@ sub_0801C344: @ 0x0801C344 bl sub_0801C1D4 pop {r4, r5, pc} .align 2, 0 -_0801C36C: .4byte gUnk_0200AF00 \ No newline at end of file +_0801C36C: .4byte gUnk_0200AF00 diff --git a/asm/enemy5F.s b/asm/enemy5F.s index 8421f5c4..132faf11 100644 --- a/asm/enemy5F.s +++ b/asm/enemy5F.s @@ -471,4 +471,4 @@ sub_080485FC: @ 0x080485FC pop {r4, pc} .align 2, 0 _08048638: .4byte gUnk_080D1D98 -_0804863C: .4byte gUnk_080D1D78 \ No newline at end of file +_0804863C: .4byte gUnk_080D1D78 diff --git a/asm/evilSpirit/sub_080862B8.inc b/asm/evilSpirit/sub_080862B8.inc index d004396d..329a5bec 100644 --- a/asm/evilSpirit/sub_080862B8.inc +++ b/asm/evilSpirit/sub_080862B8.inc @@ -97,4 +97,4 @@ _08086360: adds r0, r4, #0 bl sub_08086370 pop {r4, r5, pc} - .syntax divided \ No newline at end of file + .syntax divided diff --git a/asm/festari.s b/asm/festari.s index b3bf6c9a..d0677807 100644 --- a/asm/festari.s +++ b/asm/festari.s @@ -103,4 +103,4 @@ _0805FFCE: bl UpdateAnimationSingleFrame _0805FFD4: pop {r4, pc} - .align 2, 0 \ No newline at end of file + .align 2, 0 diff --git a/asm/fusionMenuNPC.s b/asm/fusionMenuNPC.s index ec3d2e34..dee904fa 100644 --- a/asm/fusionMenuNPC.s +++ b/asm/fusionMenuNPC.s @@ -50,4 +50,4 @@ FusionMenuNPC_Head: @ 0x0806E8F8 _0806E916: pop {pc} .align 2, 0 -_0806E918: .4byte gNPCFunctions \ No newline at end of file +_0806E918: .4byte gNPCFunctions diff --git a/asm/getInventoryValue.s b/asm/getInventoryValue.s index a0a688e8..9ea26622 100644 --- a/asm/getInventoryValue.s +++ b/asm/getInventoryValue.s @@ -20,4 +20,4 @@ GetInventoryValue: @ 0x0807CA84 ands r0, r1 bx lr .align 2, 0 -_0807CA9C: .4byte gUnk_02002B32 \ No newline at end of file +_0807CA9C: .4byte gUnk_02002B32 diff --git a/asm/hurdyGurdyMan.s b/asm/hurdyGurdyMan.s index 049ac213..5d3cb14f 100644 --- a/asm/hurdyGurdyMan.s +++ b/asm/hurdyGurdyMan.s @@ -206,4 +206,4 @@ _0806E498: adds r0, r4, #0 bl GetNextFrame _0806E49E: - pop {r4, pc} \ No newline at end of file + pop {r4, pc} diff --git a/asm/item11.s b/asm/item11.s index f9d7a5f0..bd3ef454 100644 --- a/asm/item11.s +++ b/asm/item11.s @@ -191,4 +191,4 @@ _08018FBC: bl PlaySFX pop {pc} .align 2, 0 -_08018FC8: .4byte gPlayerEntity \ No newline at end of file +_08018FC8: .4byte gPlayerEntity diff --git a/asm/kingGustaf.s b/asm/kingGustaf.s index 7fdab0ba..290e3d09 100644 --- a/asm/kingGustaf.s +++ b/asm/kingGustaf.s @@ -76,4 +76,4 @@ _0806C124: _0806C134: pop {r4, r5, pc} .align 2, 0 -_0806C138: .4byte gScreen \ No newline at end of file +_0806C138: .4byte gScreen diff --git a/asm/loadRoomEntity.s b/asm/loadRoomEntity.s index 2bdc40ce..81a81688 100644 --- a/asm/loadRoomEntity.s +++ b/asm/loadRoomEntity.s @@ -98,4 +98,4 @@ _0804AEAA: adds r0, r5, #0 _0804AEAC: pop {r4, r5, r6, r7, pc} - .align 2, 0 \ No newline at end of file + .align 2, 0 diff --git a/asm/m4a.s b/asm/m4a.s index 8d9f7374..cfc629d4 100644 --- a/asm/m4a.s +++ b/asm/m4a.s @@ -3024,4 +3024,4 @@ ply_xswee: @ 0x080B14AC nullsub_544: @ 0x080B14C0 bx lr .align 2, 0 - \ No newline at end of file + diff --git a/asm/macroMushroomStalks.s b/asm/macroMushroomStalks.s index 16edf595..888b3fb2 100644 --- a/asm/macroMushroomStalks.s +++ b/asm/macroMushroomStalks.s @@ -17,4 +17,4 @@ MacroMushromStalks: @ 0x0808C91C bl _call_via_r1 pop {pc} .align 2, 0 -_0808C930: .4byte gUnk_08121668 \ No newline at end of file +_0808C930: .4byte gUnk_08121668 diff --git a/asm/manager11.s b/asm/manager11.s index 4471e97f..e0d1626d 100644 --- a/asm/manager11.s +++ b/asm/manager11.s @@ -30,4 +30,4 @@ _080599D6: bl SetFlag bl DeleteThisEntity _080599EA: - pop {r4, pc} \ No newline at end of file + pop {r4, pc} diff --git a/asm/manager18.s b/asm/manager18.s index b7f4ed0c..23d1b9b6 100644 --- a/asm/manager18.s +++ b/asm/manager18.s @@ -192,4 +192,4 @@ sub_0805AF3C: @ 0x0805AF3C bx lr .align 2, 0 _0805AF58: .4byte gScreen -_0805AF5C: .4byte 0x0000F7FF \ No newline at end of file +_0805AF5C: .4byte 0x0000F7FF diff --git a/asm/manager34.s b/asm/manager34.s index 91446d18..4990452c 100644 --- a/asm/manager34.s +++ b/asm/manager34.s @@ -140,4 +140,4 @@ sub_0805DC70: @ 0x0805DC70 bl DoExitTransition pop {pc} .align 2, 0 -_0805DC80: .4byte gUnk_0813AC48 \ No newline at end of file +_0805DC80: .4byte gUnk_0813AC48 diff --git a/asm/manager39.s b/asm/manager39.s index 1e92532d..831982ff 100644 --- a/asm/manager39.s +++ b/asm/manager39.s @@ -289,4 +289,4 @@ _0805E360: .4byte 0x0000026E _0805E364: .4byte 0x00000275 _0805E368: .4byte 0x0000026F _0805E36C: .4byte 0x00000272 -_0805E370: .4byte gUnk_02000070 \ No newline at end of file +_0805E370: .4byte gUnk_02000070 diff --git a/asm/mazaalHead.s b/asm/mazaalHead.s index 9cbd935c..72fd4084 100644 --- a/asm/mazaalHead.s +++ b/asm/mazaalHead.s @@ -1850,4 +1850,4 @@ _08034C54: _08034C5A: pop {r4, pc} .align 2, 0 -_08034C5C: .4byte gUnk_080CED9C \ No newline at end of file +_08034C5C: .4byte gUnk_080CED9C diff --git a/asm/modArrows.s b/asm/modArrows.s index a15219f5..1d9db6f2 100644 --- a/asm/modArrows.s +++ b/asm/modArrows.s @@ -37,4 +37,4 @@ _08054362: adds r0, #0xad strb r3, [r0] pop {pc} - .align 2, 0 \ No newline at end of file + .align 2, 0 diff --git a/asm/modBombs.s b/asm/modBombs.s index 21409307..53d9a615 100644 --- a/asm/modBombs.s +++ b/asm/modBombs.s @@ -37,4 +37,4 @@ _08054326: adds r0, #0xac strb r3, [r0] pop {pc} - .align 2, 0 \ No newline at end of file + .align 2, 0 diff --git a/asm/non_matching/code_0805457C.inc b/asm/non_matching/code_0805457C.inc index 21288249..54dfd569 100644 --- a/asm/non_matching/code_0805457C.inc +++ b/asm/non_matching/code_0805457C.inc @@ -364,4 +364,4 @@ _0805486A: _0805486C: pop {r4, r5, r6, pc} .align 2, 0 - .syntax divided \ No newline at end of file + .syntax divided diff --git a/asm/non_matching/putItemOnSlot.s b/asm/non_matching/putItemOnSlot.s index 0bbb6594..3ab72a4a 100644 --- a/asm/non_matching/putItemOnSlot.s +++ b/asm/non_matching/putItemOnSlot.s @@ -117,4 +117,4 @@ _08054456: _08054458: .4byte gUnk_02002A40 _0805445C: .4byte gUnk_080FD5B4 _08054460: .4byte gUnk_0200AF00 - .syntax divided \ No newline at end of file + .syntax divided diff --git a/asm/non_matching/sub_0804BF38.inc b/asm/non_matching/sub_0804BF38.inc index 2d1cd9cb..4f2f3775 100644 --- a/asm/non_matching/sub_0804BF38.inc +++ b/asm/non_matching/sub_0804BF38.inc @@ -108,4 +108,4 @@ _0804BFE8: _0804C000: .4byte gUnk_080D8E50 _0804C004: .4byte gRoomControls _0804C008: .4byte 0x0000FFF4 - .syntax divided \ No newline at end of file + .syntax divided diff --git a/asm/non_matching/sub_0804C128.inc b/asm/non_matching/sub_0804C128.inc index 2c5b0e9d..a2f04934 100644 --- a/asm/non_matching/sub_0804C128.inc +++ b/asm/non_matching/sub_0804C128.inc @@ -145,4 +145,4 @@ _0804C250: _0804C254: pop {r4, r5, pc} .align 2, 0 - .syntax divided \ No newline at end of file + .syntax divided diff --git a/asm/non_matching/sub_0804C258.inc b/asm/non_matching/sub_0804C258.inc index 24790e4a..f0ef6329 100644 --- a/asm/non_matching/sub_0804C258.inc +++ b/asm/non_matching/sub_0804C258.inc @@ -25,4 +25,4 @@ _0804C284: .align 2, 0 _0804C288: .4byte gArea _0804C28C: .4byte gScreenTransition - .syntax divided \ No newline at end of file + .syntax divided diff --git a/asm/non_matching/sub_0804C290.inc b/asm/non_matching/sub_0804C290.inc index a810d456..d018a961 100644 --- a/asm/non_matching/sub_0804C290.inc +++ b/asm/non_matching/sub_0804C290.inc @@ -20,4 +20,4 @@ _0804C2B2: .align 2, 0 _0804C2B4: .4byte gArea _0804C2B8: .4byte gUnk_080D9348 - .syntax divided \ No newline at end of file + .syntax divided diff --git a/asm/non_matching/sub_0804DE00.inc b/asm/non_matching/sub_0804DE00.inc index 1bb5d7e9..ca6e828b 100644 --- a/asm/non_matching/sub_0804DE00.inc +++ b/asm/non_matching/sub_0804DE00.inc @@ -88,4 +88,4 @@ _0804DEC4: _0804DECC: movs r0, #1 pop {r4, r5, r6, pc} - .syntax divided \ No newline at end of file + .syntax divided diff --git a/asm/non_matching/sub_0804E150.inc b/asm/non_matching/sub_0804E150.inc index 438a894c..ad865197 100644 --- a/asm/non_matching/sub_0804E150.inc +++ b/asm/non_matching/sub_0804E150.inc @@ -83,4 +83,4 @@ _0804E1EC: bne _0804E1D8 _0804E1F2: pop {r4, r5, pc} - .syntax divided \ No newline at end of file + .syntax divided diff --git a/asm/non_matching/sub_08054524.inc b/asm/non_matching/sub_08054524.inc index 018cb569..08eb30ff 100644 --- a/asm/non_matching/sub_08054524.inc +++ b/asm/non_matching/sub_08054524.inc @@ -28,4 +28,4 @@ _08054554: .4byte gScreenTransition _08054558: .4byte gUnk_080FE1C6 _0805455C: .4byte gUnk_080015BC _08054560: .4byte gUnk_02034398 - .syntax divided \ No newline at end of file + .syntax divided diff --git a/asm/non_matching/sub_08077D38.inc b/asm/non_matching/sub_08077D38.inc index 22514994..d29e1376 100644 --- a/asm/non_matching/sub_08077D38.inc +++ b/asm/non_matching/sub_08077D38.inc @@ -101,4 +101,4 @@ _08077DE8: pop {r4, r5, r6, r7, pc} .align 2, 0 _08077DF0: .4byte gPlayerState - .syntax divided \ No newline at end of file + .syntax divided diff --git a/asm/non_matching/sub_08077F24.inc b/asm/non_matching/sub_08077F24.inc index 827db38e..e9a5d381 100644 --- a/asm/non_matching/sub_08077F24.inc +++ b/asm/non_matching/sub_08077F24.inc @@ -31,4 +31,4 @@ _08077F42: _08077F4C: pop {pc} .align 2, 0 - .syntax divided \ No newline at end of file + .syntax divided diff --git a/asm/non_matching/syrup/sub_0806A26C.inc b/asm/non_matching/syrup/sub_0806A26C.inc index a807184a..c403f1f1 100644 --- a/asm/non_matching/syrup/sub_0806A26C.inc +++ b/asm/non_matching/syrup/sub_0806A26C.inc @@ -40,4 +40,4 @@ _0806A2AE: pop {r4, r5, pc} .align 2, 0 _0806A2B0: .4byte gUnk_081121DC - .syntax divided \ No newline at end of file + .syntax divided diff --git a/asm/non_matching/townsperson/sub_08061C60.inc b/asm/non_matching/townsperson/sub_08061C60.inc index d1064414..f41edb44 100644 --- a/asm/non_matching/townsperson/sub_08061C60.inc +++ b/asm/non_matching/townsperson/sub_08061C60.inc @@ -43,4 +43,4 @@ .align 2, 0 _08061CAC: .4byte gUnk_0810B78C _08061CB0: .4byte gUnk_0810B680 - .syntax divided \ No newline at end of file + .syntax divided diff --git a/asm/non_matching/wallMaster2/sub_0802CF8C.inc b/asm/non_matching/wallMaster2/sub_0802CF8C.inc index 2b963bf2..ad973e54 100644 --- a/asm/non_matching/wallMaster2/sub_0802CF8C.inc +++ b/asm/non_matching/wallMaster2/sub_0802CF8C.inc @@ -47,4 +47,4 @@ _0802CFD0: .align 2, 0 _0802CFD4: .4byte gUnk_080CD730 - .syntax divided \ No newline at end of file + .syntax divided diff --git a/asm/npc4E.s b/asm/npc4E.s index 9e484ea8..53931b77 100644 --- a/asm/npc4E.s +++ b/asm/npc4E.s @@ -32,4 +32,4 @@ _0806DD5A: strb r0, [r4] _0806DD74: pop {r4, pc} - .align 2, 0 \ No newline at end of file + .align 2, 0 diff --git a/asm/npc58.s b/asm/npc58.s index 3eb358ea..d095899a 100644 --- a/asm/npc58.s +++ b/asm/npc58.s @@ -146,4 +146,4 @@ NPC58_Head: @ 0x0806EBAC adds r0, r4, #0 bl sub_0807000C pop {r4, pc} - .align 2, 0 \ No newline at end of file + .align 2, 0 diff --git a/asm/object74.s b/asm/object74.s index 5bbccc42..934ece51 100644 --- a/asm/object74.s +++ b/asm/object74.s @@ -274,4 +274,4 @@ _08097D6C: pop {r4, r5, r6, pc} .align 2, 0 _08097D70: .4byte gUnk_08123344 -_08097D74: .4byte gRoomControls \ No newline at end of file +_08097D74: .4byte gRoomControls diff --git a/asm/objectBF.s b/asm/objectBF.s index 03779161..0a53e6d6 100644 --- a/asm/objectBF.s +++ b/asm/objectBF.s @@ -9,4 +9,4 @@ thumb_func_start ObjectBF ObjectBF: @ 0x080A2444 bx lr - .align 2, 0 \ No newline at end of file + .align 2, 0 diff --git a/asm/ocarina.s b/asm/ocarina.s index 0c4433a9..f6c295b2 100644 --- a/asm/ocarina.s +++ b/asm/ocarina.s @@ -147,4 +147,4 @@ _08076C6E: _08076C70: .4byte gPlayerEntity _08076C74: .4byte gPlayerState _08076C78: .4byte 0xEFFFFFFF -_08076C7C: .4byte gUnk_02034490 \ No newline at end of file +_08076C7C: .4byte gUnk_02034490 diff --git a/asm/ocarinaUpdate.s b/asm/ocarinaUpdate.s index d770dbe3..9b509008 100644 --- a/asm/ocarinaUpdate.s +++ b/asm/ocarinaUpdate.s @@ -43,4 +43,4 @@ _08076C6E: _08076C70: .4byte gPlayerEntity _08076C74: .4byte gPlayerState _08076C78: .4byte 0xEFFFFFFF -_08076C7C: .4byte gUnk_02034490 \ No newline at end of file +_08076C7C: .4byte gUnk_02034490 diff --git a/asm/phonograph.s b/asm/phonograph.s index 7c1b6c45..6c864e2f 100644 --- a/asm/phonograph.s +++ b/asm/phonograph.s @@ -247,4 +247,4 @@ _0806EAE0: .4byte gUnk_020227E8 _0806EAE4: .4byte 0x00202020 _0806EAE8: .4byte 0x00003302 _0806EAEC: .4byte gUnk_081146B8 -_0806EAF0: .4byte gScreen \ No newline at end of file +_0806EAF0: .4byte gScreen diff --git a/asm/playSFX.s b/asm/playSFX.s index 440f6982..bd50a434 100644 --- a/asm/playSFX.s +++ b/asm/playSFX.s @@ -277,4 +277,4 @@ _080A3476: bl sub_080A353C _080A347C: pop {r4, r5, pc} - .align 2, 0 \ No newline at end of file + .align 2, 0 diff --git a/asm/respawnPlayer.s b/asm/respawnPlayer.s index 0d488ede..a69b770f 100644 --- a/asm/respawnPlayer.s +++ b/asm/respawnPlayer.s @@ -60,4 +60,4 @@ _08077B86: _08077B88: .4byte gUnk_03000B80 _08077B8C: .4byte gPlayerState _08077B90: .4byte 0xF7FBFFFF -_08077B94: .4byte gPlayerEntity \ No newline at end of file +_08077B94: .4byte gPlayerEntity diff --git a/asm/smallTownMinish.s b/asm/smallTownMinish.s index 378276a4..3ce94602 100644 --- a/asm/smallTownMinish.s +++ b/asm/smallTownMinish.s @@ -79,4 +79,4 @@ _0806E2EC: pop {pc} .align 2, 0 _0806E300: .4byte gUnk_02002A40 -_0806E304: .4byte gUnk_08114308 \ No newline at end of file +_0806E304: .4byte gUnk_08114308 diff --git a/asm/sub_08007DE0.s b/asm/sub_08007DE0.s index c43a9bd0..6c4e5b03 100644 --- a/asm/sub_08007DE0.s +++ b/asm/sub_08007DE0.s @@ -19,4 +19,4 @@ _08007DE2: ldrh r3, [r1, #2] movs r2, #1 _08007DF2: - bx lr \ No newline at end of file + bx lr diff --git a/asm/sub_08019410.s b/asm/sub_08019410.s index 072020f4..f4bcaf48 100644 --- a/asm/sub_08019410.s +++ b/asm/sub_08019410.s @@ -33,4 +33,4 @@ _0801942E: bl DeleteThisEntity _08019440: pop {r4, pc} - .align 2, 0 \ No newline at end of file + .align 2, 0 diff --git a/asm/sub_0801C824.s b/asm/sub_0801C824.s index 6e3afd6e..2a0beaee 100644 --- a/asm/sub_0801C824.s +++ b/asm/sub_0801C824.s @@ -35,4 +35,4 @@ _0801C84E: .align 2, 0 _0801C850: .4byte gUnk_0200AF00 _0801C854: .4byte gUnk_02034D30 -_0801C858: .4byte gScreen \ No newline at end of file +_0801C858: .4byte gScreen diff --git a/asm/sub_0804AA30.s b/asm/sub_0804AA30.s index 9360eece..2233766d 100644 --- a/asm/sub_0804AA30.s +++ b/asm/sub_0804AA30.s @@ -28,4 +28,4 @@ sub_0804AA30: @ 0x0804AA30 adds r0, r4, #0 bl _call_via_r1 pop {r4, r5, r6, pc} - .align 2, 0 \ No newline at end of file + .align 2, 0 diff --git a/asm/sub_08052418.s b/asm/sub_08052418.s index 5e51b509..01374de8 100644 --- a/asm/sub_08052418.s +++ b/asm/sub_08052418.s @@ -70,4 +70,4 @@ _08052494: .4byte gUnk_02021F30 _08052498: .4byte gUnk_020227E8 _0805249C: .4byte gUnk_080FCA8C _080524A0: .4byte gUnk_080FCAA4 -_080524A4: .4byte gScreen \ No newline at end of file +_080524A4: .4byte gScreen diff --git a/asm/sub_0807CA18.s b/asm/sub_0807CA18.s index c769da3b..550ddab9 100644 --- a/asm/sub_0807CA18.s +++ b/asm/sub_0807CA18.s @@ -60,4 +60,4 @@ _0807CA78: pop {pc} .align 2, 0 _0807CA7C: .4byte gUnk_02002A40 -_0807CA80: .4byte gUnk_0811E470 \ No newline at end of file +_0807CA80: .4byte gUnk_0811E470 diff --git a/asm/sub_080A276C.s b/asm/sub_080A276C.s index 26ffa208..00794d7b 100644 --- a/asm/sub_080A276C.s +++ b/asm/sub_080A276C.s @@ -103,4 +103,4 @@ _080A2820: _080A2828: .4byte gPlayerEntity _080A282C: .4byte gUnk_03003DC0 _080A2830: .4byte gUnk_02034490 -_080A2834: .4byte gPlayerState \ No newline at end of file +_080A2834: .4byte gPlayerState diff --git a/asm/sub_080A285C.s b/asm/sub_080A285C.s index f5c4e16c..2cba327e 100644 --- a/asm/sub_080A285C.s +++ b/asm/sub_080A285C.s @@ -141,4 +141,4 @@ _080A28D2: _080A2958: pop {r4, r5, pc} .align 2, 0 -_080A295C: .4byte gUnk_08125104 \ No newline at end of file +_080A295C: .4byte gUnk_08125104 diff --git a/asm/wizzrobeIce.s b/asm/wizzrobeIce.s index f261759f..f74293ee 100644 --- a/asm/wizzrobeIce.s +++ b/asm/wizzrobeIce.s @@ -375,4 +375,4 @@ _080300A2: adds r0, r4, #0 bl sub_0802F9C8 pop {r4, pc} - .align 2, 0 \ No newline at end of file + .align 2, 0 diff --git a/data/data_080B2A70.s b/data/data_080B2A70.s index b90f8e8e..3ead4e17 100644 --- a/data/data_080B2A70.s +++ b/data/data_080B2A70.s @@ -10,4 +10,4 @@ gUnk_080B2A70:: @ 080B2A70 gUnk_080B2CD8:: @ 080B2CD8 gUnk_080B2CD8_2:: @ 080B2CD8 gUnk_080B2CD8_3:: @ 080B2CD8 - .incbin "baserom.gba", 0x0B2CD8, 0x0000010 \ No newline at end of file + .incbin "baserom.gba", 0x0B2CD8, 0x0000010 diff --git a/data/data_080B3054.s b/data/data_080B3054.s index 597d287a..f45126bd 100644 --- a/data/data_080B3054.s +++ b/data/data_080B3054.s @@ -5,4 +5,4 @@ .align 2 gUnk_080B3054:: @ 080B3054 - .incbin "baserom.gba", 0x0B3054, 0x00000E8 \ No newline at end of file + .incbin "baserom.gba", 0x0B3054, 0x00000E8 diff --git a/data/ddump b/data/ddump index 453db07538f9a3b3fc1bcba9f587e98446102b23..819137d62461497dca3286e8e893cada92462b7a 100755 GIT binary patch delta 13 UcmaEJmG$ja)`l&NZ?YJ<05jSKBme*a delta 11 ScmaERmG#Y4)`l&NZ?XUBl01`?9!Tt diff --git a/graphics/npc/malon.png b/graphics/npc/malon.png index 9f7f4749a240c92bf0050ace38d3fc77d19c2db7..9eeef700425f15830a9b4b6defc067d234e86ed8 100644 GIT binary patch delta 9 QcmZ3>w~lXvE;}O^01xQ`X8-^I delta 7 OcmZ3-x0Y{%E;|4VCjwjm diff --git a/graphics/npc/postman.png b/graphics/npc/postman.png index bdfb00d40b304ccda3b3f721b54bc20f3dbe8460..13c22549907230ceefe849ac5c6b7734043e3fd0 100644 GIT binary patch delta 9 QcmaEE^TK9Bx*Q`H02ev~hyVZp delta 7 OcmaE1^W0`bx*PxyHUoVC diff --git a/graphics/pot_portal.png b/graphics/pot_portal.png index 3de640a78bba053c5cb9674859331ea6746761ee..ff5dd252a18a40ae2a2da9b6e2bad8a6607a3a55 100644 GIT binary patch delta 9 Qcmew_)F8Z}o|BOa0237g=l}o! delta 7 OcmZn={x7tlo)Z8JQv%%p diff --git a/graphics_file_rules.mk b/graphics_file_rules.mk index 027e6549..87a8ceac 100644 --- a/graphics_file_rules.mk +++ b/graphics_file_rules.mk @@ -13,4 +13,4 @@ $(GFXDIR)/npc/postman.4bpp: %.4bpp: %.png $(GFX) $< $@ $(GFXDIR)/npc/malon.4bpp: %.4bpp: %.png - $(GFX) $< $@ \ No newline at end of file + $(GFX) $< $@ diff --git a/include/area.h b/include/area.h index a3f27b93..4d363a31 100644 --- a/include/area.h +++ b/include/area.h @@ -3,7 +3,6 @@ #include "global.h" - typedef struct { u8 areaMetadata; u8 locationIndex; @@ -17,7 +16,7 @@ typedef struct { u8 field_0x16; u8 field_0x17; u8 field_0x18; - //u8 filler3[7]; + // u8 filler3[7]; u8 fadeOut; u8 filler2[14]; u8 filler4[0x835]; diff --git a/include/createEnemy.h b/include/createEnemy.h index 1667ec24..aac5fece 100644 --- a/include/createEnemy.h +++ b/include/createEnemy.h @@ -1 +1 @@ -Entity* CreateEnemy(u8, u8); \ No newline at end of file +Entity* CreateEnemy(u8, u8); diff --git a/include/cutscene.h b/include/cutscene.h index d86c06b3..70f56665 100644 --- a/include/cutscene.h +++ b/include/cutscene.h @@ -13,4 +13,4 @@ typedef struct { s32 targetY; } CutsceneBehavior; -#endif \ No newline at end of file +#endif diff --git a/include/enemy.h b/include/enemy.h index 0eb7b069..b12a54e8 100644 --- a/include/enemy.h +++ b/include/enemy.h @@ -112,4 +112,4 @@ extern u32 GetNextFunction(Entity*); extern void EnemyFunctionHandler(Entity*, void (*const func[])(Entity*)); extern void sub_0804AA30(Entity*, void (*const func[])(Entity*)); extern void sub_08001324(Entity*); -#endif \ No newline at end of file +#endif diff --git a/include/flags.h b/include/flags.h index d8f0aea5..85e6937e 100644 --- a/include/flags.h +++ b/include/flags.h @@ -132,4 +132,4 @@ enum { /*0x64*/ CASTLE_BGM, /* Castle intro BGM */ }; -#endif \ No newline at end of file +#endif diff --git a/include/functions.h b/include/functions.h index 24d601e9..1a7a87d7 100644 --- a/include/functions.h +++ b/include/functions.h @@ -37,13 +37,13 @@ extern void _DmaZero(void* src, u32 count); extern void EraseAllEntities(void); extern void SetTile(u32, u32, u32); extern void SetDirtTile(u32); -extern void LoadRoomTileEntities(); //tba +extern void LoadRoomTileEntities(); // tba extern Entity* CreateDeathFx(Entity*, u32, u32); extern void UpdateAnimationVariableFrames(Entity*, u32); extern void CopyPositionAndSpriteOffset(Entity*, Entity*); extern u8* GetSpriteSubEntryOffsetDataPointer(u32, u32); extern u32 LoadFixedGFX(Entity*, u32); -extern void ExecuteScriptCommandSet(Entity*, void *); +extern void ExecuteScriptCommandSet(Entity*, void*); extern void _DmaFill32(u32, void*, u32); extern Entity* CreateItemEntity(u32, u32, u32); @@ -99,16 +99,16 @@ extern void sub_0804A720(Entity*); extern u32 sub_080AEFE0(Entity*); extern u32 sub_08049FA0(Entity*); extern u32 sub_08049FDC(Entity*, u32); -extern u32 sub_080041A0(Entity *, Entity *, u32, u32); +extern u32 sub_080041A0(Entity*, Entity*, u32, u32); extern u32 sub_08049EE4(Entity*); -extern Entity *sub_0804A98C(Entity *, u8, u8); +extern Entity* sub_0804A98C(Entity*, u8, u8); extern u32 sub_080544DC(u8); extern void sub_08077E54(Entity*); extern void sub_080042BA(Entity*, u32); extern void _DmaZero(void*, u32); extern void sub_08077F24(ItemBehavior*, u32); extern void sub_08079184(); -extern void sub_08077F50(ItemBehavior *beh, u32 arg1); +extern void sub_08077F50(ItemBehavior* beh, u32 arg1); extern void sub_0807AA80(Entity*); extern s32 sub_0807887C(Entity*, u32, u32); extern s32 sub_08078904(); @@ -210,7 +210,7 @@ extern u32 sub_08052638(u32); extern void sub_0805616C(void); extern u32 sub_0807CF08(u32, u8*); extern void sub_0807CF48(u32); -extern u32 sub_0807CF10(u8 *); +extern u32 sub_0807CF10(u8*); extern void sub_08056208(void); extern void sub_08050384(); extern void sub_080B1520(u32); diff --git a/include/greatFairy.h b/include/greatFairy.h index 1d40304f..c8289adc 100644 --- a/include/greatFairy.h +++ b/include/greatFairy.h @@ -44,10 +44,9 @@ extern u8 gUnk_0812079C[8]; extern s16 gSineTable[]; extern s8 gUnk_081207AC[]; - typedef struct { s32 unk0; s32 unk4; } struct_08087424; -#endif \ No newline at end of file +#endif diff --git a/include/item.h b/include/item.h index 7546d84f..8dcb3fcb 100644 --- a/include/item.h +++ b/include/item.h @@ -162,4 +162,4 @@ void extern JarEmpty(ItemBehavior*, u32); LongSpin = 0x75 } ItemType; */ -#endif \ No newline at end of file +#endif diff --git a/include/main.h b/include/main.h index 39820694..be532570 100644 --- a/include/main.h +++ b/include/main.h @@ -54,7 +54,6 @@ typedef struct { extern Main gUnk_03001000; extern UI gUnk_02032EC0; - extern void sub_080A3204(void); extern void sub_0807CE90(void); extern void sub_080560B8(void); @@ -74,4 +73,4 @@ extern void sub_08056458(void); extern void sub_08050154(void); extern void sub_080A3480(void); -#endif \ No newline at end of file +#endif diff --git a/include/manager.h b/include/manager.h index aa175ed6..4a711380 100644 --- a/include/manager.h +++ b/include/manager.h @@ -24,7 +24,7 @@ typedef struct Manager { /*0x0f*/ u8 unk_0f; /*0x10*/ u8 unk_10; /*0x11*/ u8 unk_11[3]; - /*0x14*/ struct Manager * parent; + /*0x14*/ struct Manager* parent; /*0x18*/ u8 unk_18[0x8]; // union SplitHWord unk_20; // u16 unk_22; diff --git a/include/menu.h b/include/menu.h index 7ed5dae1..765c0b8b 100644 --- a/include/menu.h +++ b/include/menu.h @@ -41,4 +41,4 @@ typedef struct { extern Menu gMenu; -#endif \ No newline at end of file +#endif diff --git a/include/npc.h b/include/npc.h index b6288ff2..c862b348 100644 --- a/include/npc.h +++ b/include/npc.h @@ -172,5 +172,4 @@ extern void NPC58_Head(Entity*); extern u32 UpdateFuseInteraction(Entity*); - -#endif \ No newline at end of file +#endif diff --git a/include/object.h b/include/object.h index 5a2e66cb..b407ebb2 100644 --- a/include/object.h +++ b/include/object.h @@ -199,4 +199,4 @@ extern void ObjectBF(Entity*); extern void EnemyItem(Entity*); extern void ObjectC1(Entity*); -#endif \ No newline at end of file +#endif diff --git a/include/position.h b/include/position.h index d0acb275..4635a097 100644 --- a/include/position.h +++ b/include/position.h @@ -11,4 +11,4 @@ void sub_0806FA90(Entity*, Entity*, s32, s32); void ResolveEntityOnTop(Entity*, Entity*); void sub_0806FAD8(Entity*, Entity*); -#endif \ No newline at end of file +#endif diff --git a/include/random.h b/include/random.h index 8d0356b3..d87b75e7 100644 --- a/include/random.h +++ b/include/random.h @@ -5,4 +5,4 @@ extern u32 Random(void); extern u32 gRand; -#endif \ No newline at end of file +#endif diff --git a/include/room.h b/include/room.h index 0ecd60cc..f0cbd8db 100644 --- a/include/room.h +++ b/include/room.h @@ -37,22 +37,22 @@ typedef struct { } RoomControls; typedef struct { - u8 filler[4]; + u8 filler[4]; u8 field_0x4; u8 filler1[1]; - u8 itemForSaleIndex; - u8 field_0x7; + u8 itemForSaleIndex; + u8 field_0x7; u8 field_0x8; u8 field_0x9; - u8 unk2; - u8 filler2[5]; - u8 unk_10; - u8 filler6[3]; - u32 roomFlags; + u8 unk2; + u8 filler2[5]; + u8 unk_10; + u8 filler6[3]; + u32 roomFlags; u32 unk3; - u8 filler4[48]; - u8 filler5[28]; - u32 greatFairyState; + u8 filler4[48]; + u8 filler5[28]; + u32 greatFairyState; u32* field_0x6c; u32* field_0x70; u32* field_0x74; @@ -61,13 +61,12 @@ typedef struct { void* field_0x88; } RoomVars; - -//Packets used to store which entities to load in a room +// Packets used to store which entities to load in a room typedef struct { - u8 type : 4; + u8 type : 4; u8 layer : 4; u8 flags : 4; - u8 unk : 4; + u8 unk : 4; u8 subtype; u8 form; u32 parameter; diff --git a/include/sprite.h b/include/sprite.h index 7d2507d7..929f55d5 100644 --- a/include/sprite.h +++ b/include/sprite.h @@ -36,4 +36,4 @@ typedef struct { u8 unk; } SpriteLoadData; -#endif \ No newline at end of file +#endif diff --git a/include/textbox.h b/include/textbox.h index 77c45f59..12417252 100644 --- a/include/textbox.h +++ b/include/textbox.h @@ -24,4 +24,4 @@ extern TextBox gTextBox; void TextboxNoOverlap(u32 index, Entity* ent); void extern TextboxNoOverlapFollow(u32 index); -#endif \ No newline at end of file +#endif diff --git a/linker.ld b/linker.ld index eea319bf..ddbdd4c5 100644 --- a/linker.ld +++ b/linker.ld @@ -289,607 +289,607 @@ SECTIONS { asm/code_080011C4.o(.text); data/data_080029B4.o(.rodata); asm/code_08003FC4.o(.text); - asm/code_080043E8.o(.text); + asm/code_080043E8.o(.text); data/data_08007DF4.o(.rodata); asm/code_0800857C.o(.text); - asm/sub_08016AE4.o(.text); + asm/sub_08016AE4.o(.text); /* C source compiled with interworking */ asm/code_08016B30.o(.text); - asm/updateBackgroundRegisters.o(.text); - asm/code_08016DF8.o(.text); + asm/updateBackgroundRegisters.o(.text); + asm/code_08016DF8.o(.text); /* C source compiled without interworking */ asm/code_08018500.o(.text); - src/code_08018C58.o(.text); - src/item11.o(.text); - asm/item11.o(.text); - src/createBowEntity.o(.text); - asm/createBowEntity.o(.text); - asm/bowUse.o(.text); - asm/sub_08019410.o(.text); - asm/code_08019444.o(.text); - asm/cellOverwriteSet.o(.text); - asm/code_0801C1D4.o(.text); - asm/drawUI.o(.text); - asm/code_0801C370.o(.text); - asm/drawRupees.o(.text); - asm/code_0801C5E0.o(.text); - asm/drawHealth.o(.text); - asm/sub_0801C824.o(.text); - asm/code_0801C85C.o(.text); - src/ezloNag.o(.text); - asm/code_0801CEC0.o(.text); - src/dma.o(.text); - src/input.o(.text); - src/code_0801D714.o(.text); - src/code_0801D79C.o(.text); - asm/code_0801D79C.o(.text); - /* enemies */ - src/enemy/octorok.o(.text); - src/enemy/chuchu.o(.text); - src/enemy/leever.o(.text); - src/enemy/peahat.o(.text); - src/enemy/rollobite.o(.text); - src/enemy/darkNut.o(.text); - src/enemy/hangingSeed.o(.text); - src/enemy/beetle.o(.text); - src/enemy/keese.o(.text); - src/enemy/doorMimic.o(.text); - src/enemy/rockChuchu.o(.text); - src/enemy/spinyChuchu.o(.text); - src/enemy/cuccoChickAggr.o(.text); - src/enemy/moldorm.o(.text); - src/enemy/enemyE.o(.text); - src/enemy/moldworm.o(.text); - src/enemy/sluggula.o(.text); - src/enemy/pesto.o(.text); - src/enemy/puffstool.o(.text); - src/enemy/chuchuBoss.o(.text); - asm/chuchuBoss.o(.text); - src/enemy/likeLike.o(.text); - src/enemy/spearMoblin.o(.text); - src/enemy/businessScrub.o(.text); - src/enemy/rupeeLike.o(.text); - src/enemy/madderpillar.o(.text); - src/enemy/waterDrop.o(.text); - src/enemy/wallMaster.o(.text); - src/enemy/bombPeahat.o(.text); - src/enemy/spark.o(.text); - src/enemy/chaser.o(.text); - src/enemy/spikedBeetle.o(.text); - src/enemy/sensorBladeTrap.o(.text); - src/enemy/helmasaur.o(.text); - src/enemy/fallingBoulder.o(.text); - src/enemy/bobomb.o(.text); - src/enemy/wallMaster2.o(.text); - asm/gleerok.o(.text); - asm/vaatiEyesMacro.o(.text); - src/enemy/tektite.o(.text); - asm/wizzrobeWind.o(.text); - asm/wizzrobeFire.o(.text); - asm/wizzrobeIce.o(.text); - src/code_080300AC.o(.text); /* ??? */ - asm/code_080300AC.o(.text); /* ??? */ - asm/armos.o(.text); - asm/eyegore.o(.text); - asm/rope.o(.text); - src/enemy/smallPesto.o(.text); - src/enemy/acroBandits.o(.text); - src/enemy/bladeTrap.o(.text); - src/enemy/keaton.o(.text); - asm/crow.o(.text); - asm/mulldozer.o(.text); - asm/bombarossa.o(.text); - src/enemy/wisp.o(.text); - asm/spinyBeetle.o(.text); - asm/mazaalHead.o(.text); - asm/mazaalMacro.o(.text); - asm/mazaalHand.o(.text); - asm/octorokBoss.o(.text); - asm/flyingPot.o(.text); - asm/gibdo.o(.text); - asm/octorokGolden.o(.text); - src/enemy/tektiteGolden.o(.text); - asm/ropeGolden.o(.text); - asm/cloudPiranha.o(.text); - asm/scissorsBeetle.o(.text); - asm/cuccoAggr.o(.text); - asm/stalfos.o(.text); - asm/flyingSkull.o(.text); - asm/mazaalBracelet.o(.text); - asm/takkuri.o(.text); - src/enemy/bowMoblin.o(.text); - asm/bowMoblin.o(.text); - src/enemy/lakitu.o(.text); - src/enemy/lakituCloud.o(.text); - asm/enemy49.o(.text); - asm/vaatiRebornEnemy.o(.text); - asm/vaatiProjectile.o(.text); - asm/ballChainSoldier.o(.text); - src/enemy/enemy4D.o(.text); - asm/enemy4D.o(.text); - asm/ghini.o(.text); - asm/vaatiTransfigured.o(.text); - asm/enemy50.o(.text); - asm/vaatiWrath.o(.text); - asm/vaatiArm.o(.text); - asm/dust.o(.text); - src/enemy/vaatiBall.o(.text); - src/enemy/slime.o(.text); - asm/sub_080451CC.o(.text); - src/enemy/miniSlime.o(.text); - src/enemy/fireballGuy.o(.text); - src/enemy/miniFireballGuy.o(.text); - asm/enemy5A.o(.text); - asm/businessScrubPrologue.o(.text); - asm/gyorgFemale.o(.text); - asm/gyorgMale.o(.text); - asm/curtain.o(.text); - asm/enemy5F.o(.text); - asm/gyorgChild.o(.text); - asm/gyorgFemaleEye.o(.text); - asm/enemy62.o(.text); - asm/gyorgFemaleMouth.o(.text); - asm/enemy64.o(.text); + src/code_08018C58.o(.text); + src/item11.o(.text); + asm/item11.o(.text); + src/createBowEntity.o(.text); + asm/createBowEntity.o(.text); + asm/bowUse.o(.text); + asm/sub_08019410.o(.text); + asm/code_08019444.o(.text); + asm/cellOverwriteSet.o(.text); + asm/code_0801C1D4.o(.text); + asm/drawUI.o(.text); + asm/code_0801C370.o(.text); + asm/drawRupees.o(.text); + asm/code_0801C5E0.o(.text); + asm/drawHealth.o(.text); + asm/sub_0801C824.o(.text); + asm/code_0801C85C.o(.text); + src/ezloNag.o(.text); + asm/code_0801CEC0.o(.text); + src/dma.o(.text); + src/input.o(.text); + src/code_0801D714.o(.text); + src/code_0801D79C.o(.text); + asm/code_0801D79C.o(.text); + /* enemies */ + src/enemy/octorok.o(.text); + src/enemy/chuchu.o(.text); + src/enemy/leever.o(.text); + src/enemy/peahat.o(.text); + src/enemy/rollobite.o(.text); + src/enemy/darkNut.o(.text); + src/enemy/hangingSeed.o(.text); + src/enemy/beetle.o(.text); + src/enemy/keese.o(.text); + src/enemy/doorMimic.o(.text); + src/enemy/rockChuchu.o(.text); + src/enemy/spinyChuchu.o(.text); + src/enemy/cuccoChickAggr.o(.text); + src/enemy/moldorm.o(.text); + src/enemy/enemyE.o(.text); + src/enemy/moldworm.o(.text); + src/enemy/sluggula.o(.text); + src/enemy/pesto.o(.text); + src/enemy/puffstool.o(.text); + src/enemy/chuchuBoss.o(.text); + asm/chuchuBoss.o(.text); + src/enemy/likeLike.o(.text); + src/enemy/spearMoblin.o(.text); + src/enemy/businessScrub.o(.text); + src/enemy/rupeeLike.o(.text); + src/enemy/madderpillar.o(.text); + src/enemy/waterDrop.o(.text); + src/enemy/wallMaster.o(.text); + src/enemy/bombPeahat.o(.text); + src/enemy/spark.o(.text); + src/enemy/chaser.o(.text); + src/enemy/spikedBeetle.o(.text); + src/enemy/sensorBladeTrap.o(.text); + src/enemy/helmasaur.o(.text); + src/enemy/fallingBoulder.o(.text); + src/enemy/bobomb.o(.text); + src/enemy/wallMaster2.o(.text); + asm/gleerok.o(.text); + asm/vaatiEyesMacro.o(.text); + src/enemy/tektite.o(.text); + asm/wizzrobeWind.o(.text); + asm/wizzrobeFire.o(.text); + asm/wizzrobeIce.o(.text); + src/code_080300AC.o(.text); /* ??? */ + asm/code_080300AC.o(.text); /* ??? */ + asm/armos.o(.text); + asm/eyegore.o(.text); + asm/rope.o(.text); + src/enemy/smallPesto.o(.text); + src/enemy/acroBandits.o(.text); + src/enemy/bladeTrap.o(.text); + src/enemy/keaton.o(.text); + asm/crow.o(.text); + asm/mulldozer.o(.text); + asm/bombarossa.o(.text); + src/enemy/wisp.o(.text); + asm/spinyBeetle.o(.text); + asm/mazaalHead.o(.text); + asm/mazaalMacro.o(.text); + asm/mazaalHand.o(.text); + asm/octorokBoss.o(.text); + asm/flyingPot.o(.text); + asm/gibdo.o(.text); + asm/octorokGolden.o(.text); + src/enemy/tektiteGolden.o(.text); + asm/ropeGolden.o(.text); + asm/cloudPiranha.o(.text); + asm/scissorsBeetle.o(.text); + asm/cuccoAggr.o(.text); + asm/stalfos.o(.text); + asm/flyingSkull.o(.text); + asm/mazaalBracelet.o(.text); + asm/takkuri.o(.text); + src/enemy/bowMoblin.o(.text); + asm/bowMoblin.o(.text); + src/enemy/lakitu.o(.text); + src/enemy/lakituCloud.o(.text); + asm/enemy49.o(.text); + asm/vaatiRebornEnemy.o(.text); + asm/vaatiProjectile.o(.text); + asm/ballChainSoldier.o(.text); + src/enemy/enemy4D.o(.text); + asm/enemy4D.o(.text); + asm/ghini.o(.text); + asm/vaatiTransfigured.o(.text); + asm/enemy50.o(.text); + asm/vaatiWrath.o(.text); + asm/vaatiArm.o(.text); + asm/dust.o(.text); + src/enemy/vaatiBall.o(.text); + src/enemy/slime.o(.text); + asm/sub_080451CC.o(.text); + src/enemy/miniSlime.o(.text); + src/enemy/fireballGuy.o(.text); + src/enemy/miniFireballGuy.o(.text); + asm/enemy5A.o(.text); + asm/businessScrubPrologue.o(.text); + asm/gyorgFemale.o(.text); + asm/gyorgMale.o(.text); + asm/curtain.o(.text); + asm/enemy5F.o(.text); + asm/gyorgChild.o(.text); + asm/gyorgFemaleEye.o(.text); + asm/enemy62.o(.text); + asm/gyorgFemaleMouth.o(.text); + asm/enemy64.o(.text); src/enemy/treeItem.o(.text); - asm/enemy66.o(.text); - /* END enemies */ - src/code_08049CD4.o(.text); - asm/code_08049D30.o(.text); - asm/sub_0804AA30.o(.text); - src/createEnemy.o(.text); - src/code_0804AA84.o(.text); - asm/code_0804AA84.o(.text); - src/loadRoomEntityList.o(.text); - asm/loadRoomEntity.o(.text); - asm/code_0804AEB0.o(.text); - src/sub_0804AFF4.o(.text); - src/loadRoom.o(.text); - asm/code_0804B058.o(.text); - src/room.o(.text); - asm/code_0804B9F8.o(.text); - src/sub_08050008.o(.text); - src/sub_08050024.o(.text); - asm/code_08050038.o(.text); - src/chooseFile.o(.text); - asm/chooseFile.o(.text); - asm/sub_08052418.o(.text); - src/initializePlayer.o(.text); - src/area.o(.text); - src/modHealth.o(.text); - src/modRupees.o(.text); - asm/code_080526F8.o(.text); - asm/modBombs.o(.text); - asm/modArrows.o(.text); - src/code_0805436C.o(.text); - asm/code_0805436C.o(.text); - src/sub_08055E08.o(.text); - src/mainLoop.o(.text); - asm/code_08055FF4.o(.text); - src/textbox.o(.text); - asm/code_08056418.o(.text); - src/manager/manager1.o(.text); - asm/manager1.o(.text); - src/manager/manager2.o(.text); - asm/manager2.o(.text); - src/manager/manager3.o(.text); - src/manager/manager4.o(.text); - src/manager/manager5.o(.text); - src/manager/manager6.o(.text); - src/manager/manager7.o(.text); - src/manager/manager8.o(.text); - src/manager/manager9.o(.text); - src/manager/managerA.o(.text); - src/manager/managerB.o(.text); - asm/managerC.o(.text); - asm/managerD.o(.text); - src/manager/managerE.o(.text); - asm/managerF.o(.text); - asm/manager10.o(.text); - asm/manager11.o(.text); - asm/manager12.o(.text); - asm/manager13.o(.text); - asm/manager14.o(.text); - src/manager/manager15.o(.text); - asm/manager16.o(.text); - asm/manager17.o(.text); - asm/manager18.o(.text); - asm/manager19.o(.text); - src/manager/manager1A.o(.text); - asm/manager1B.o(.text); - asm/manager1C.o(.text); - asm/manager1D.o(.text); - asm/manager1E.o(.text); - asm/manager1F.o(.text); - src/manager/manager20.o(.text); - asm/manager21.o(.text); - asm/manager22.o(.text); - asm/manager23.o(.text); - asm/manager24.o(.text); - asm/manager25.o(.text); - asm/manager26.o(.text); - src/manager/manager27.o(.text); - asm/manager28.o(.text); - asm/manager29.o(.text); - asm/manager2A.o(.text); - asm/manager2B.o(.text); - asm/manager2C.o(.text); - asm/manager2D.o(.text); - src/manager/manager2E.o(.text); - asm/manager2E.o(.text); - asm/manager2F.o(.text); - src/manager/manager30.o(.text); - asm/manager31.o(.text); - asm/manager32.o(.text); - asm/manager33.o(.text); - asm/manager34.o(.text); - asm/manager35.o(.text); - asm/manager36.o(.text); - asm/manager37.o(.text); - asm/manager38.o(.text); - asm/manager39.o(.text); - src/sub_0805E374.o(.text); - src/sub_0805E3A0.o(.text); - asm/code_0805E3B0.o(.text); - asm/getEmptyEntity.o(.text); - src/entity.o(.text); - asm/code_0805EC04.o(.text); - /* npcs */ - src/npc/gentari.o(.text); - src/npc/festari.o(.text); - asm/festari.o(.text); - src/npc/forestMinish.o(.text); - src/npc/postman.o(.text); - asm/postman.o(.text); - asm/npc5.o(.text); - src/npc/townsperson.o(.text); - asm/kid.o(.text); - src/npc/npc9.o(.text); - src/npc/stamp.o(.text); - asm/marcy.o(.text); - src/npc/wheaton.o(.text); - asm/pita.o(.text); - asm/minishEzlo.o(.text); - src/npc/mailbox.o(.text); - src/npc/beedle.o(.text); - asm/brocco.o(.text); - asm/sittingPerson.o(.text); - asm/pina.o(.text); - src/npc/guard.o(.text); - asm/guardWithSpear.o(.text); - asm/castleMaid.o(.text); - asm/din.o(.text); - asm/nayru.o(.text); - asm/farore.o(.text); - asm/sturgeon.o(.text); - src/npc/tingleSiblings.o(.text); - asm/tingleSiblings.o(.text); - asm/stockwell.o(.text); - src/npc/talon.o(.text); - src/npc/malon.o(.text); - src/npc/epona.o(.text); - src/npc/milkCart.o(.text); - asm/ghostBrothers.o(.text); - src/npc/smith.o(.text); - asm/npc23.o(.text); - asm/kingDaltus.o(.text); - asm/ministerPotho.o(.text); - asm/npc26.o(.text); - asm/vaati.o(.text); - src/npc/zelda.o(.text); - src/npc/mutoh.o(.text); - src/npc/carpenter.o(.text); - asm/carpenter.o(.text); - asm/castorWildsStatue.o(.text); - src/npc/cat.o(.text); - asm/cat.o(.text); - asm/mountainMinish.o(.text); - src/npc/zeldaFollower.o(.text); - asm/zeldaFollower.o(.text); - src/npc/melari.o(.text); - src/npc/bladeBrothers.o(.text); - src/npc/cow.o(.text); - src/npc/goron.o(.text); - src/npc/goronMerchant.o(.text); - asm/goronMerchant.o(.text); - asm/gorman.o(.text); - asm/dog.o(.text); - src/npc/syrup.o(.text); - asm/syrup.o(.text); - src/npc/rem.o(.text); - asm/rem.o(.text); - src/npc/townMinish.o(.text); - src/npc/librari.o(.text); - src/npc/percy.o(.text); - asm/percy.o(.text); - asm/vaatiReborn.o(.text); - src/npc/moblinLady.o(.text); - asm/librarians.o(.text); - asm/farmers.o(.text); - src/npc/carlov.o(.text); - src/npc/dampe.o(.text); - asm/drLeft.o(.text); - asm/kingGustaf.o(.text); - asm/gina.o(.text); - src/npc/simon.o(.text); - src/npc/anju.o(.text); - asm/mama.o(.text); - src/npc/emma.o(.text); - src/npc/teachers.o(.text); - src/npc/windTribespeople.o(.text); - asm/windTribespeople.o(.text); - asm/gregal.o(.text); - src/npc/mayorHagen.o(.text); - src/npc/bigGoron.o(.text); - asm/bigGoron.o(.text); - asm/ezloCap.o(.text); - asm/npc4E.o(.text); - src/npc/clothesRack.o(.text); - asm/clothesRack.o(.text); - asm/picolyteBottles.o(.text); - asm/smallTownMinish.o(.text); - asm/hurdyGurdyMan.o(.text); - asm/cucco.o(.text); - asm/cuccoChick.o(.text); - asm/fusionMenuNPC.o(.text); - asm/phonograph.o(.text); - asm/npc58.o(.text); - /* END npcs */ - asm/code_0806EC20.o(.text); - src/createNPC.o(.text); - asm/code_0806ED78.o(.text); - src/sub_0806F9EC.o(.text); - src/sub_0806FA04.o(.text); - src/position.o(.text); - asm/code_0806FA6C.o(.text); - src/sub_08070680.o(.text); - asm/code_08070698.o(.text); - asm/stairsInteract.o(.text); - asm/code_080732D0.o(.text); - asm/ocarina.o(.text); - src/item.o(.text); - asm/code_08076C80.o(.text); - asm/respawnPlayer.o(.text); - src/code_08077B98.o(.text); - src/code_08077DF4.o(.text); - asm/code_08077B98.o(.text); - src/code_08078778.o(.text); - asm/code_08078778.o(.text); - src/sub_0807B7D8.o(.text); - src/sub_0807B820.o(.text); - src/sub_0807B8A8.o(.text); - src/sub_0807B930.o(.text); - asm/code_0807B9B8.o(.text); - src/sub_0807C998.o(.text); - src/sub_0801D754.o(.text); /* ??? */ - asm/sub_0807CA18.o(.text); - asm/getInventoryValue.o(.text); - asm/code_0807CAA0.o(.text); - src/flags.o(.text); - src/code_0807CC3C.o(.text); - asm/code_0807CC3C.o(.text); - src/code_0808091C.o(.text); + asm/enemy66.o(.text); + /* END enemies */ + src/code_08049CD4.o(.text); + asm/code_08049D30.o(.text); + asm/sub_0804AA30.o(.text); + src/createEnemy.o(.text); + src/code_0804AA84.o(.text); + asm/code_0804AA84.o(.text); + src/loadRoomEntityList.o(.text); + asm/loadRoomEntity.o(.text); + asm/code_0804AEB0.o(.text); + src/sub_0804AFF4.o(.text); + src/loadRoom.o(.text); + asm/code_0804B058.o(.text); + src/room.o(.text); + asm/code_0804B9F8.o(.text); + src/sub_08050008.o(.text); + src/sub_08050024.o(.text); + asm/code_08050038.o(.text); + src/chooseFile.o(.text); + asm/chooseFile.o(.text); + asm/sub_08052418.o(.text); + src/initializePlayer.o(.text); + src/area.o(.text); + src/modHealth.o(.text); + src/modRupees.o(.text); + asm/code_080526F8.o(.text); + asm/modBombs.o(.text); + asm/modArrows.o(.text); + src/code_0805436C.o(.text); + asm/code_0805436C.o(.text); + src/sub_08055E08.o(.text); + src/mainLoop.o(.text); + asm/code_08055FF4.o(.text); + src/textbox.o(.text); + asm/code_08056418.o(.text); + src/manager/manager1.o(.text); + asm/manager1.o(.text); + src/manager/manager2.o(.text); + asm/manager2.o(.text); + src/manager/manager3.o(.text); + src/manager/manager4.o(.text); + src/manager/manager5.o(.text); + src/manager/manager6.o(.text); + src/manager/manager7.o(.text); + src/manager/manager8.o(.text); + src/manager/manager9.o(.text); + src/manager/managerA.o(.text); + src/manager/managerB.o(.text); + asm/managerC.o(.text); + asm/managerD.o(.text); + src/manager/managerE.o(.text); + asm/managerF.o(.text); + asm/manager10.o(.text); + asm/manager11.o(.text); + asm/manager12.o(.text); + asm/manager13.o(.text); + asm/manager14.o(.text); + src/manager/manager15.o(.text); + asm/manager16.o(.text); + asm/manager17.o(.text); + asm/manager18.o(.text); + asm/manager19.o(.text); + src/manager/manager1A.o(.text); + asm/manager1B.o(.text); + asm/manager1C.o(.text); + asm/manager1D.o(.text); + asm/manager1E.o(.text); + asm/manager1F.o(.text); + src/manager/manager20.o(.text); + asm/manager21.o(.text); + asm/manager22.o(.text); + asm/manager23.o(.text); + asm/manager24.o(.text); + asm/manager25.o(.text); + asm/manager26.o(.text); + src/manager/manager27.o(.text); + asm/manager28.o(.text); + asm/manager29.o(.text); + asm/manager2A.o(.text); + asm/manager2B.o(.text); + asm/manager2C.o(.text); + asm/manager2D.o(.text); + src/manager/manager2E.o(.text); + asm/manager2E.o(.text); + asm/manager2F.o(.text); + src/manager/manager30.o(.text); + asm/manager31.o(.text); + asm/manager32.o(.text); + asm/manager33.o(.text); + asm/manager34.o(.text); + asm/manager35.o(.text); + asm/manager36.o(.text); + asm/manager37.o(.text); + asm/manager38.o(.text); + asm/manager39.o(.text); + src/sub_0805E374.o(.text); + src/sub_0805E3A0.o(.text); + asm/code_0805E3B0.o(.text); + asm/getEmptyEntity.o(.text); + src/entity.o(.text); + asm/code_0805EC04.o(.text); + /* npcs */ + src/npc/gentari.o(.text); + src/npc/festari.o(.text); + asm/festari.o(.text); + src/npc/forestMinish.o(.text); + src/npc/postman.o(.text); + asm/postman.o(.text); + asm/npc5.o(.text); + src/npc/townsperson.o(.text); + asm/kid.o(.text); + src/npc/npc9.o(.text); + src/npc/stamp.o(.text); + asm/marcy.o(.text); + src/npc/wheaton.o(.text); + asm/pita.o(.text); + asm/minishEzlo.o(.text); + src/npc/mailbox.o(.text); + src/npc/beedle.o(.text); + asm/brocco.o(.text); + asm/sittingPerson.o(.text); + asm/pina.o(.text); + src/npc/guard.o(.text); + asm/guardWithSpear.o(.text); + asm/castleMaid.o(.text); + asm/din.o(.text); + asm/nayru.o(.text); + asm/farore.o(.text); + asm/sturgeon.o(.text); + src/npc/tingleSiblings.o(.text); + asm/tingleSiblings.o(.text); + asm/stockwell.o(.text); + src/npc/talon.o(.text); + src/npc/malon.o(.text); + src/npc/epona.o(.text); + src/npc/milkCart.o(.text); + asm/ghostBrothers.o(.text); + src/npc/smith.o(.text); + asm/npc23.o(.text); + asm/kingDaltus.o(.text); + asm/ministerPotho.o(.text); + asm/npc26.o(.text); + asm/vaati.o(.text); + src/npc/zelda.o(.text); + src/npc/mutoh.o(.text); + src/npc/carpenter.o(.text); + asm/carpenter.o(.text); + asm/castorWildsStatue.o(.text); + src/npc/cat.o(.text); + asm/cat.o(.text); + asm/mountainMinish.o(.text); + src/npc/zeldaFollower.o(.text); + asm/zeldaFollower.o(.text); + src/npc/melari.o(.text); + src/npc/bladeBrothers.o(.text); + src/npc/cow.o(.text); + src/npc/goron.o(.text); + src/npc/goronMerchant.o(.text); + asm/goronMerchant.o(.text); + asm/gorman.o(.text); + asm/dog.o(.text); + src/npc/syrup.o(.text); + asm/syrup.o(.text); + src/npc/rem.o(.text); + asm/rem.o(.text); + src/npc/townMinish.o(.text); + src/npc/librari.o(.text); + src/npc/percy.o(.text); + asm/percy.o(.text); + asm/vaatiReborn.o(.text); + src/npc/moblinLady.o(.text); + asm/librarians.o(.text); + asm/farmers.o(.text); + src/npc/carlov.o(.text); + src/npc/dampe.o(.text); + asm/drLeft.o(.text); + asm/kingGustaf.o(.text); + asm/gina.o(.text); + src/npc/simon.o(.text); + src/npc/anju.o(.text); + asm/mama.o(.text); + src/npc/emma.o(.text); + src/npc/teachers.o(.text); + src/npc/windTribespeople.o(.text); + asm/windTribespeople.o(.text); + asm/gregal.o(.text); + src/npc/mayorHagen.o(.text); + src/npc/bigGoron.o(.text); + asm/bigGoron.o(.text); + asm/ezloCap.o(.text); + asm/npc4E.o(.text); + src/npc/clothesRack.o(.text); + asm/clothesRack.o(.text); + asm/picolyteBottles.o(.text); + asm/smallTownMinish.o(.text); + asm/hurdyGurdyMan.o(.text); + asm/cucco.o(.text); + asm/cuccoChick.o(.text); + asm/fusionMenuNPC.o(.text); + asm/phonograph.o(.text); + asm/npc58.o(.text); + /* END npcs */ + asm/code_0806EC20.o(.text); + src/createNPC.o(.text); + asm/code_0806ED78.o(.text); + src/sub_0806F9EC.o(.text); + src/sub_0806FA04.o(.text); + src/position.o(.text); + asm/code_0806FA6C.o(.text); + src/sub_08070680.o(.text); + asm/code_08070698.o(.text); + asm/stairsInteract.o(.text); + asm/code_080732D0.o(.text); + asm/ocarina.o(.text); + src/item.o(.text); + asm/code_08076C80.o(.text); + asm/respawnPlayer.o(.text); + src/code_08077B98.o(.text); + src/code_08077DF4.o(.text); + asm/code_08077B98.o(.text); + src/code_08078778.o(.text); + asm/code_08078778.o(.text); + src/sub_0807B7D8.o(.text); + src/sub_0807B820.o(.text); + src/sub_0807B8A8.o(.text); + src/sub_0807B930.o(.text); + asm/code_0807B9B8.o(.text); + src/sub_0807C998.o(.text); + src/sub_0801D754.o(.text); /* ??? */ + asm/sub_0807CA18.o(.text); + asm/getInventoryValue.o(.text); + asm/code_0807CAA0.o(.text); + src/flags.o(.text); + src/code_0807CC3C.o(.text); + asm/code_0807CC3C.o(.text); + src/code_0808091C.o(.text); asm/code_0808091C.o(.text); - /* objects */ + /* objects */ src/object/itemOnGround.o(.text); - asm/deathFx.o(.text); - asm/itemForSale.o(.text); - src/object/button.o(.text); - asm/object4.o(.text); - src/object/pot.o(.text); - asm/object6.o(.text); - asm/blockPushed.o(.text); - asm/lockedDoor.o(.text); - asm/object9.o(.text); - src/object/objectA.o(.text); - asm/objectB.o(.text); - src/object/chestSpawner.o(.text); - asm/chestSpawner.o(.text); - asm/objectD.o(.text); - asm/objectE.o(.text); - asm/specialFx.o(.text); - asm/object10.o(.text); - asm/object11.o(.text); - asm/object12.o(.text); - src/object/railtrack.o(.text); - asm/lilypadLarge.o(.text); - asm/object15.o(.text); - asm/floatingPlatform.o(.text); - asm/object17.o(.text); - asm/evilSpirit.o(.text); - src/object/houseDoorExterior.o(.text); - src/object/object1A.o(.text); - src/object/greatFairy.o(.text); - src/object/object1C.o(.text); - src/object/object1D.o(.text); - asm/object1E.o(.text); - asm/object1F.o(.text); - asm/object20.o(.text); - asm/object21.o(.text); - asm/figurineDevice.o(.text); - asm/eyeSwitch.o(.text); - asm/object24.o(.text); - asm/bigBarrel.o(.text); - asm/object26.o(.text); - asm/pushableStatue.o(.text); - asm/object28.o(.text); - asm/object29.o(.text); - src/object/object2A.o(.text); - asm/object2A.o(.text); - asm/object2B.o(.text); - asm/beanstalk.o(.text); - src/object/smoke.o(.text); - asm/pushableRock.o(.text); - asm/hittableLever.o(.text); - asm/object30.o(.text); - asm/object31.o(.text); - asm/pullableMushroom.o(.text); - asm/bollard.o(.text); - asm/warpPoint.o(.text); - asm/object35.o(.text); - asm/object36.o(.text); - asm/object37.o(.text); - asm/jarPortal.o(.text); - asm/bossDoor.o(.text); - asm/object3A.o(.text); - asm/macroMushroomStalks.o(.text); - asm/object75.o(.text); /* 75 and 76 are mislocated in base game */ - asm/object76.o(.text); - asm/code_0808C964.o(.text); - asm/macroPlayer.o(.text); - asm/object3D.o(.text); - asm/object3E.o(.text); - src/object/giantLeaf.o(.text); - asm/fairy.o(.text); - asm/ladderUp.o(.text); - asm/object42.o(.text); - asm/object43.o(.text); - asm/object44.o(.text); - asm/object45.o(.text); - asm/giantBookLadder.o(.text); - src/object/heartContainer.o(.text); - src/object/object48.o(.text); - src/object/object49.o(.text); - src/object/backgroundCloud.o(.text); - asm/object4B.o(.text); - asm/pushableFurniture.o(.text); - asm/furniture.o(.text); - src/object/minishSizedEntrance.o(.text); - asm/minishSizedEntrance.o(.text); - src/object/archway.o(.text); - asm/giantRock.o(.text); - asm/object51.o(.text); - asm/object52.o(.text); - asm/object53.o(.text); - asm/pullableLever.o(.text); - src/object/minecart.o(.text); - asm/minecart.o(.text); - src/object/thoughtBubble.o(.text); - src/object/hiddenLadderDown.o(.text); - asm/gentariCurtains.o(.text); - asm/lavaPlatform.o(.text); - asm/object5A.o(.text); - asm/object5B.o(.text); - src/object/mask.o(.text); - asm/houseDoorInterior.o(.text); - asm/whirlwind.o(.text); - asm/objectBlockingStairs.o(.text); - src/object/swordsmanNewsletter.o(.text); - asm/object61.o(.text); - asm/giantTwig.o(.text); - asm/object63.o(.text); - asm/object64.o(.text); - asm/ladderHoleInBookshelf.o(.text); - asm/object66.o(.text); - asm/object67.o(.text); - asm/object68.o(.text); - asm/object69.o(.text); - asm/object6A.o(.text); - asm/crenalBeanSprout.o(.text); - asm/minecartDoor.o(.text); - asm/objectOnPillar.o(.text); - src/object/mineralWaterSource.o(.text); - asm/minishSizedArchway.o(.text); - asm/object70.o(.text); - asm/pushableGrave.o(.text); - asm/object72.o(.text); - src/object/lilypadSmall.o(.text); - asm/object74.o(.text); - src/object/bell.o(.text); - asm/macroDecorations.o(.text); - asm/object79.o(.text); - asm/steam.o(.text); - asm/pushableLever.o(.text); - asm/macroShoes.o(.text); - asm/objectOnSpinyBeetle.o(.text); - src/object/object7E.o(.text); - asm/picoBloom.o(.text); - asm/object80.o(.text); - asm/object81.o(.text); - src/object/bigVortex.o(.text); - asm/bigPushableLever.o(.text); - asm/smallIceBlock.o(.text); - asm/bigIceBlock.o(.text); - src/object/object86.o(.text); - asm/object87.o(.text); - asm/macroBook.o(.text); - asm/object89.o(.text); - asm/object8A.o(.text); - asm/object8B.o(.text); - asm/book.o(.text); - asm/fireplace.o(.text); - asm/object8E.o(.text); - asm/frozenWaterElement.o(.text); - asm/object90.o(.text); - asm/object91.o(.text); - src/object/bakerOven.o(.text); - asm/object93.o(.text); - src/object/windTribeFlag.o(.text); - src/object/bird.o(.text); - asm/bird.o(.text); - asm/object96.o(.text); - asm/object97.o(.text); - asm/object98.o(.text); - asm/object99.o(.text); - asm/macroAcorn.o(.text); - asm/object9B.o(.text); - src/object/treeHidingPortal.o(.text); - asm/treeHidingPortal.o(.text); - src/object/lightableSwitch.o(.text); - src/object/object9E.o(.text); - src/object/fan.o(.text); - asm/fan.o(.text); - asm/objectA0.o(.text); - src/object/palaceArchway.o(.text); - asm/objectA2.o(.text); - src/object/cloud.o(.text); - src/object/minishLight.o(.text); - asm/objectA5.o(.text); - asm/objectA6.o(.text); - asm/objectA7.o(.text); - src/object/objectA8.o(.text); - asm/objectA8.o(.text); - asm/objectA9.o(.text); - asm/waterfallOpening.o(.text); - asm/objectAB.o(.text); - asm/fourElements.o(.text); - asm/objectAD.o(.text); - src/object/floatingBlock.o(.text); - src/object/objectAF.o(.text); - src/object/metalDoor.o(.text); - src/object/jailBars.o(.text); - src/object/objectB2.o(.text); - asm/objectB3.o(.text); - asm/objectB4.o(.text); - asm/objectB5.o(.text); - asm/objectB6.o(.text); - src/object/well.o(.text); - asm/windTribeTeleporter.o(.text); - asm/objectB9.o(.text); - asm/objectBA.o(.text); - src/object/windcrest.o(.text); - asm/litArea.o(.text); - asm/objectBD.o(.text); - src/object/pinwheel.o(.text); - asm/objectBF.o(.text); - asm/enemyItem.o(.text); - asm/objectC1.o(.text); - /* END objects */ - asm/sub_080A276C.o(.text); - asm/sub_080A2838.o(.text); - asm/sub_080A285C.o(.text); - src/createObject.o(.text); - asm/code_080A29BC.o(.text); - asm/playSFX.o(.text); - asm/code_080A3480.o(.text); - src/sub_080A3B84.o(.text); - asm/code_080A3BD0.o(.text); - src/sub_080A554C.o(.text); - asm/code_080A5574.o(.text); - src/intro.o(.text); - asm/sub_080AD8F0.o(.text); - asm/code_080AD90C.o(.text); + asm/deathFx.o(.text); + asm/itemForSale.o(.text); + src/object/button.o(.text); + asm/object4.o(.text); + src/object/pot.o(.text); + asm/object6.o(.text); + asm/blockPushed.o(.text); + asm/lockedDoor.o(.text); + asm/object9.o(.text); + src/object/objectA.o(.text); + asm/objectB.o(.text); + src/object/chestSpawner.o(.text); + asm/chestSpawner.o(.text); + asm/objectD.o(.text); + asm/objectE.o(.text); + asm/specialFx.o(.text); + asm/object10.o(.text); + asm/object11.o(.text); + asm/object12.o(.text); + src/object/railtrack.o(.text); + asm/lilypadLarge.o(.text); + asm/object15.o(.text); + asm/floatingPlatform.o(.text); + asm/object17.o(.text); + asm/evilSpirit.o(.text); + src/object/houseDoorExterior.o(.text); + src/object/object1A.o(.text); + src/object/greatFairy.o(.text); + src/object/object1C.o(.text); + src/object/object1D.o(.text); + asm/object1E.o(.text); + asm/object1F.o(.text); + asm/object20.o(.text); + asm/object21.o(.text); + asm/figurineDevice.o(.text); + asm/eyeSwitch.o(.text); + asm/object24.o(.text); + asm/bigBarrel.o(.text); + asm/object26.o(.text); + asm/pushableStatue.o(.text); + asm/object28.o(.text); + asm/object29.o(.text); + src/object/object2A.o(.text); + asm/object2A.o(.text); + asm/object2B.o(.text); + asm/beanstalk.o(.text); + src/object/smoke.o(.text); + asm/pushableRock.o(.text); + asm/hittableLever.o(.text); + asm/object30.o(.text); + asm/object31.o(.text); + asm/pullableMushroom.o(.text); + asm/bollard.o(.text); + asm/warpPoint.o(.text); + asm/object35.o(.text); + asm/object36.o(.text); + asm/object37.o(.text); + asm/jarPortal.o(.text); + asm/bossDoor.o(.text); + asm/object3A.o(.text); + asm/macroMushroomStalks.o(.text); + asm/object75.o(.text); /* 75 and 76 are mislocated in base game */ + asm/object76.o(.text); + asm/code_0808C964.o(.text); + asm/macroPlayer.o(.text); + asm/object3D.o(.text); + asm/object3E.o(.text); + src/object/giantLeaf.o(.text); + asm/fairy.o(.text); + asm/ladderUp.o(.text); + asm/object42.o(.text); + asm/object43.o(.text); + asm/object44.o(.text); + asm/object45.o(.text); + asm/giantBookLadder.o(.text); + src/object/heartContainer.o(.text); + src/object/object48.o(.text); + src/object/object49.o(.text); + src/object/backgroundCloud.o(.text); + asm/object4B.o(.text); + asm/pushableFurniture.o(.text); + asm/furniture.o(.text); + src/object/minishSizedEntrance.o(.text); + asm/minishSizedEntrance.o(.text); + src/object/archway.o(.text); + asm/giantRock.o(.text); + asm/object51.o(.text); + asm/object52.o(.text); + asm/object53.o(.text); + asm/pullableLever.o(.text); + src/object/minecart.o(.text); + asm/minecart.o(.text); + src/object/thoughtBubble.o(.text); + src/object/hiddenLadderDown.o(.text); + asm/gentariCurtains.o(.text); + asm/lavaPlatform.o(.text); + asm/object5A.o(.text); + asm/object5B.o(.text); + src/object/mask.o(.text); + asm/houseDoorInterior.o(.text); + asm/whirlwind.o(.text); + asm/objectBlockingStairs.o(.text); + src/object/swordsmanNewsletter.o(.text); + asm/object61.o(.text); + asm/giantTwig.o(.text); + asm/object63.o(.text); + asm/object64.o(.text); + asm/ladderHoleInBookshelf.o(.text); + asm/object66.o(.text); + asm/object67.o(.text); + asm/object68.o(.text); + asm/object69.o(.text); + asm/object6A.o(.text); + asm/crenalBeanSprout.o(.text); + asm/minecartDoor.o(.text); + asm/objectOnPillar.o(.text); + src/object/mineralWaterSource.o(.text); + asm/minishSizedArchway.o(.text); + asm/object70.o(.text); + asm/pushableGrave.o(.text); + asm/object72.o(.text); + src/object/lilypadSmall.o(.text); + asm/object74.o(.text); + src/object/bell.o(.text); + asm/macroDecorations.o(.text); + asm/object79.o(.text); + asm/steam.o(.text); + asm/pushableLever.o(.text); + asm/macroShoes.o(.text); + asm/objectOnSpinyBeetle.o(.text); + src/object/object7E.o(.text); + asm/picoBloom.o(.text); + asm/object80.o(.text); + asm/object81.o(.text); + src/object/bigVortex.o(.text); + asm/bigPushableLever.o(.text); + asm/smallIceBlock.o(.text); + asm/bigIceBlock.o(.text); + src/object/object86.o(.text); + asm/object87.o(.text); + asm/macroBook.o(.text); + asm/object89.o(.text); + asm/object8A.o(.text); + asm/object8B.o(.text); + asm/book.o(.text); + asm/fireplace.o(.text); + asm/object8E.o(.text); + asm/frozenWaterElement.o(.text); + asm/object90.o(.text); + asm/object91.o(.text); + src/object/bakerOven.o(.text); + asm/object93.o(.text); + src/object/windTribeFlag.o(.text); + src/object/bird.o(.text); + asm/bird.o(.text); + asm/object96.o(.text); + asm/object97.o(.text); + asm/object98.o(.text); + asm/object99.o(.text); + asm/macroAcorn.o(.text); + asm/object9B.o(.text); + src/object/treeHidingPortal.o(.text); + asm/treeHidingPortal.o(.text); + src/object/lightableSwitch.o(.text); + src/object/object9E.o(.text); + src/object/fan.o(.text); + asm/fan.o(.text); + asm/objectA0.o(.text); + src/object/palaceArchway.o(.text); + asm/objectA2.o(.text); + src/object/cloud.o(.text); + src/object/minishLight.o(.text); + asm/objectA5.o(.text); + asm/objectA6.o(.text); + asm/objectA7.o(.text); + src/object/objectA8.o(.text); + asm/objectA8.o(.text); + asm/objectA9.o(.text); + asm/waterfallOpening.o(.text); + asm/objectAB.o(.text); + asm/fourElements.o(.text); + asm/objectAD.o(.text); + src/object/floatingBlock.o(.text); + src/object/objectAF.o(.text); + src/object/metalDoor.o(.text); + src/object/jailBars.o(.text); + src/object/objectB2.o(.text); + asm/objectB3.o(.text); + asm/objectB4.o(.text); + asm/objectB5.o(.text); + asm/objectB6.o(.text); + src/object/well.o(.text); + asm/windTribeTeleporter.o(.text); + asm/objectB9.o(.text); + asm/objectBA.o(.text); + src/object/windcrest.o(.text); + asm/litArea.o(.text); + asm/objectBD.o(.text); + src/object/pinwheel.o(.text); + asm/objectBF.o(.text); + asm/enemyItem.o(.text); + asm/objectC1.o(.text); + /* END objects */ + asm/sub_080A276C.o(.text); + asm/sub_080A2838.o(.text); + asm/sub_080A285C.o(.text); + src/createObject.o(.text); + asm/code_080A29BC.o(.text); + asm/playSFX.o(.text); + asm/code_080A3480.o(.text); + src/sub_080A3B84.o(.text); + asm/code_080A3BD0.o(.text); + src/sub_080A554C.o(.text); + asm/code_080A5574.o(.text); + src/intro.o(.text); + asm/sub_080AD8F0.o(.text); + asm/code_080AD90C.o(.text); /* library functions */ asm/m4a_asm.o(.text); asm/m4a.o(.text); @@ -901,115 +901,115 @@ SECTIONS { asm/intr.o(.text); /* data */ data/data_080B2A70.o(.rodata); - data/playerItemFunctions.o(.rodata); - src/object.o(.rodata); - data/data_080B3054.o(.rodata); - src/npc.o(.rodata); - data/data_080B3740.o(.rodata); - src/trig.o(.rodata); - data/data_080C93E0.o(.rodata); - src/enemy/octorok.o(.rodata); - data/animations/octorok.o(.rodata); - src/enemy/chuchu.o(.rodata); - data/animations/chuchu.o(.rodata); - src/enemy/leever.o(.rodata); - data/animations/leever.o(.rodata); - src/enemy/peahat.o(.rodata); - data/animations/peahat.o(.rodata); - src/enemy/rollobite.o(.rodata); - data/animations/rollobite.o(.rodata); - src/enemy/darkNut.o(.rodata); - data/animations/darkNut.o(.rodata); - src/enemy/hangingSeed.o(.rodata); - src/enemy/beetle.o(.rodata); - data/animations/beetle.o(.rodata); - src/enemy/keese.o(.rodata); - data/animations/keese.o(.rodata); - src/enemy/doorMimic.o(.rodata); - data/animations/doorMimic.o(.rodata); - src/enemy/rockChuchu.o(.rodata); - data/animations/rockChuchu.o(.rodata); - src/enemy/spinyChuchu.o(.rodata); - data/animations/spinyChuchu.o(.rodata); - src/enemy/cuccoChickAggr.o(.rodata); - src/enemy/moldorm.o(.rodata); - src/enemy/enemyE.o(.rodata); - data/animations/enemyE.o(.rodata); - src/enemy/moldworm.o(.rodata); - data/animations/moldworm.o(.rodata); - src/enemy/sluggula.o(.rodata); - data/animations/sluggula.o(.rodata); - src/enemy/pesto.o(.rodata); - data/animations/pesto.o(.rodata); - src/enemy/puffstool.o(.rodata); - data/animations/puffstool.o(.rodata); - src/enemy/chuchuBoss.o(.rodata); - data/animations/chuchuBoss.o(.rodata); - src/enemy/likeLike.o(.rodata); - data/animations/likeLike.o(.rodata); - src/enemy/spearMoblin.o(.rodata); - data/animations/spearMoblin.o(.rodata); - src/enemy/businessScrub.o(.rodata); - data/animations/businessScrub.o(.rodata); - src/enemy/rupeeLike.o(.rodata); - data/animations/rupeeLike.o(.rodata); - src/enemy/madderpillar.o(.rodata); - data/animations/madderpillar.o(.rodata); - src/enemy/waterDrop.o(.rodata); - data/animations/waterDrop.o(.rodata); - src/enemy/wallMaster.o(.rodata); - data/animations/wallMaster.o(.rodata); - src/enemy/bombPeahat.o(.rodata); - data/animations/bombPeahat.o(.rodata); - src/enemy/spark.o(.rodata); - data/animations/spark.o(.rodata); - src/enemy/chaser.o(.rodata); - data/animations/chaser.o(.rodata); - src/enemy/spikedBeetle.o(.rodata); - data/animations/spikedBeetle.o(.rodata); - src/enemy/sensorBladeTrap.o(.rodata); - src/enemy/helmasaur.o(.rodata); - data/animations/helmasaur.o(.rodata); - src/enemy/fallingBoulder.o(.rodata); - data/animations/fallingBoulder.o(.rodata); - src/enemy/bobomb.o(.rodata); - data/animations/bobomb.o(.rodata); - src/enemy/wallMaster2.o(.rodata); - data/data_080CC6FC.o(.rodata); - src/enemy/lakitu.o(.rodata); - data/data_080D015C.o(.rodata); - src/enemy/lakituCloud.o(.rodata); - data/data_080D0448.o(.rodata); - src/enemy.o(.rodata); - data/data_080D3D94.o(.rodata); - data/entity_headers.o(.rodata); - data/data_080D5360.o(.rodata); - src/mainLoop.o(.rodata); - data/data_08100CD4.o(.rodata); + data/playerItemFunctions.o(.rodata); + src/object.o(.rodata); + data/data_080B3054.o(.rodata); + src/npc.o(.rodata); + data/data_080B3740.o(.rodata); + src/trig.o(.rodata); + data/data_080C93E0.o(.rodata); + src/enemy/octorok.o(.rodata); + data/animations/octorok.o(.rodata); + src/enemy/chuchu.o(.rodata); + data/animations/chuchu.o(.rodata); + src/enemy/leever.o(.rodata); + data/animations/leever.o(.rodata); + src/enemy/peahat.o(.rodata); + data/animations/peahat.o(.rodata); + src/enemy/rollobite.o(.rodata); + data/animations/rollobite.o(.rodata); + src/enemy/darkNut.o(.rodata); + data/animations/darkNut.o(.rodata); + src/enemy/hangingSeed.o(.rodata); + src/enemy/beetle.o(.rodata); + data/animations/beetle.o(.rodata); + src/enemy/keese.o(.rodata); + data/animations/keese.o(.rodata); + src/enemy/doorMimic.o(.rodata); + data/animations/doorMimic.o(.rodata); + src/enemy/rockChuchu.o(.rodata); + data/animations/rockChuchu.o(.rodata); + src/enemy/spinyChuchu.o(.rodata); + data/animations/spinyChuchu.o(.rodata); + src/enemy/cuccoChickAggr.o(.rodata); + src/enemy/moldorm.o(.rodata); + src/enemy/enemyE.o(.rodata); + data/animations/enemyE.o(.rodata); + src/enemy/moldworm.o(.rodata); + data/animations/moldworm.o(.rodata); + src/enemy/sluggula.o(.rodata); + data/animations/sluggula.o(.rodata); + src/enemy/pesto.o(.rodata); + data/animations/pesto.o(.rodata); + src/enemy/puffstool.o(.rodata); + data/animations/puffstool.o(.rodata); + src/enemy/chuchuBoss.o(.rodata); + data/animations/chuchuBoss.o(.rodata); + src/enemy/likeLike.o(.rodata); + data/animations/likeLike.o(.rodata); + src/enemy/spearMoblin.o(.rodata); + data/animations/spearMoblin.o(.rodata); + src/enemy/businessScrub.o(.rodata); + data/animations/businessScrub.o(.rodata); + src/enemy/rupeeLike.o(.rodata); + data/animations/rupeeLike.o(.rodata); + src/enemy/madderpillar.o(.rodata); + data/animations/madderpillar.o(.rodata); + src/enemy/waterDrop.o(.rodata); + data/animations/waterDrop.o(.rodata); + src/enemy/wallMaster.o(.rodata); + data/animations/wallMaster.o(.rodata); + src/enemy/bombPeahat.o(.rodata); + data/animations/bombPeahat.o(.rodata); + src/enemy/spark.o(.rodata); + data/animations/spark.o(.rodata); + src/enemy/chaser.o(.rodata); + data/animations/chaser.o(.rodata); + src/enemy/spikedBeetle.o(.rodata); + data/animations/spikedBeetle.o(.rodata); + src/enemy/sensorBladeTrap.o(.rodata); + src/enemy/helmasaur.o(.rodata); + data/animations/helmasaur.o(.rodata); + src/enemy/fallingBoulder.o(.rodata); + data/animations/fallingBoulder.o(.rodata); + src/enemy/bobomb.o(.rodata); + data/animations/bobomb.o(.rodata); + src/enemy/wallMaster2.o(.rodata); + data/data_080CC6FC.o(.rodata); + src/enemy/lakitu.o(.rodata); + data/data_080D015C.o(.rodata); + src/enemy/lakituCloud.o(.rodata); + data/data_080D0448.o(.rodata); + src/enemy.o(.rodata); + data/data_080D3D94.o(.rodata); + data/entity_headers.o(.rodata); + data/data_080D5360.o(.rodata); + src/mainLoop.o(.rodata); + data/data_08100CD4.o(.rodata); data/tileset_headers.o(.rodata); data/metatile_headers.o(.rodata); data/map_headers.o(.rodata); data/data_08107BC8.o(.rodata); src/manager/manager5.o(.rodata); src/manager/manager7.o(.rodata); - . = ALIGN(4); - src/manager/manager9.o(.rodata); - src/manager/managerA.o(.rodata); + . = ALIGN(4); + src/manager/manager9.o(.rodata); + src/manager/managerA.o(.rodata); src/manager/managerB.o(.rodata); data/data_0810821C.o(.rodata); - src/item.o(.rodata); - data/data_0811BD44.o(.rodata); + src/item.o(.rodata); + data/data_0811BD44.o(.rodata); data/room_headers.o(.rodata); data/data_0811E454.o(.rodata); - src/object/greatFairy.o(.rodata); - data/animations/greatFairy.o(.rodata); - data/data_081208A0.o(.rodata); - src/object/heartContainer.o(.rodata); - data/data_08121C58.o(.rodata); - src/intro.o(.rodata); - data/data_081320FC.o(.rodata); - data/strings.o(.rodata); - data/data_089FC6C4.o(.rodata); + src/object/greatFairy.o(.rodata); + data/animations/greatFairy.o(.rodata); + data/data_081208A0.o(.rodata); + src/object/heartContainer.o(.rodata); + data/data_08121C58.o(.rodata); + src/intro.o(.rodata); + data/data_081320FC.o(.rodata); + data/strings.o(.rodata); + data/data_089FC6C4.o(.rodata); } >rom /* DWARF 2 sections */ diff --git a/songs.mk b/songs.mk index e69de29b..8b137891 100644 --- a/songs.mk +++ b/songs.mk @@ -0,0 +1 @@ + diff --git a/src/chooseFile.c b/src/chooseFile.c old mode 100755 new mode 100644 index 143819f2..5a36de17 --- a/src/chooseFile.c +++ b/src/chooseFile.c @@ -125,8 +125,8 @@ void sub_080503E4(u32 saveFileId) { brightnessPref = saveFile->brightnessPref; } - ((struct_02000000 *)0x2000000)->messageSpeed = messageSpeed; - ((struct_02000000 *)0x2000000)->brightnessPref = brightnessPref; + ((struct_02000000*)0x2000000)->messageSpeed = messageSpeed; + ((struct_02000000*)0x2000000)->brightnessPref = brightnessPref; gUsedPalettes = 0xFFFFFFFF; } @@ -134,7 +134,7 @@ void sub_0805041C(u32 saveFileId) { SaveFile* saveFile; if (saveFileId < 3) { - ((struct_02000000 *)0x2000000)->saveFileId = saveFileId; + ((struct_02000000*)0x2000000)->saveFileId = saveFileId; saveFile = &gSaveFiles[saveFileId]; _DmaCopy(saveFile, &gUnk_02002A40, sizeof(*saveFile)); } @@ -164,8 +164,8 @@ void HandleChooseFileScreen(void) { sub_0801C208(); sub_080AD9B0(); sub_080AD918(); - if (gUnk_02019EE0.unk3 != ((struct_02000000 *)0x2000000)->gameLanguage) { - gUnk_02019EE0.unk3 = ((struct_02000000 *)0x2000000)->gameLanguage; + if (gUnk_02019EE0.unk3 != ((struct_02000000*)0x2000000)->gameLanguage) { + gUnk_02019EE0.unk3 = ((struct_02000000*)0x2000000)->gameLanguage; sub_080503A8(0x6); sub_080503A8(0xF); } @@ -185,7 +185,7 @@ void sub_080504F4(void) { _DmaZero(&gUnk_0200AF00, sizeof(gUnk_0200AF00)); _DmaZero(&gUnk_02019EE0, sizeof(gUnk_02019EE0)); gUnk_02019EE0.unk3 = 7; - gUnk_02019EE0.unk6 = ((struct_02000000 *)0x2000000)->gameLanguage > 1 ? 3 : 0; + gUnk_02019EE0.unk6 = ((struct_02000000*)0x2000000)->gameLanguage > 1 ? 3 : 0; _DmaZero(&gUnk_02032EC0, sizeof(gUnk_02032EC0)); gUnk_02032EC0.transitionType = 8; sub_080503BC(0); @@ -285,7 +285,6 @@ void sub_0805070C(void) { } sub_0805F300(var0); } - } void sub_08050790(void) { @@ -395,7 +394,7 @@ void sub_08050940(void) { newKeys &= ~(DPAD_UP | DPAD_DOWN); } - var1 = ((struct_02000000 *)0x2000000)->gameLanguage > 1 ? 4 : 3; + var1 = ((struct_02000000*)0x2000000)->gameLanguage > 1 ? 4 : 3; var2 = gUnk_02032EC0.transitionType; switch (newKeys) { case DPAD_UP: diff --git a/src/code_08018C58.c b/src/code_08018C58.c index d088db48..fd918e31 100644 --- a/src/code_08018C58.c +++ b/src/code_08018C58.c @@ -3,8 +3,7 @@ extern u32 SetTileType(u32 tileID, u32 tilePos, u32 layerID); -void CreateMinishEntrance(u32 tilePos) -{ +void CreateMinishEntrance(u32 tilePos) { u32 x, y; u32 tileID = 0x185; @@ -16,14 +15,13 @@ void CreateMinishEntrance(u32 tilePos) } } -void sub_08018C58(u32 tilePos) -{ - u32 i = 0; - - for (;i < 6;) { - SetTileType(0x260 + i, tilePos, 1); - SetTileType(0x261 + i, tilePos + 1, 1); - i += 2; - tilePos += 0x40; - } +void sub_08018C58(u32 tilePos) { + u32 i = 0; + + for (; i < 6;) { + SetTileType(0x260 + i, tilePos, 1); + SetTileType(0x261 + i, tilePos + 1, 1); + i += 2; + tilePos += 0x40; + } } diff --git a/src/code_0801D79C.c b/src/code_0801D79C.c old mode 100755 new mode 100644 index 3ceb70e9..8f085aae --- a/src/code_0801D79C.c +++ b/src/code_0801D79C.c @@ -53,17 +53,17 @@ void LoadGfxGroup(u32 group) { case 0xD: return; case 0xE: - if (((struct_02000000 *)0x2000000)->gameLanguage > 1) { + if (((struct_02000000*)0x2000000)->gameLanguage > 1) { loadGfx = TRUE; } break; case 0xF: - if (((struct_02000000 *)0x2000000)->gameLanguage != 0) { + if (((struct_02000000*)0x2000000)->gameLanguage != 0) { loadGfx = TRUE; } break; default: - if (ctrl == ((struct_02000000 *)0x2000000)->gameLanguage) { + if (ctrl == ((struct_02000000*)0x2000000)->gameLanguage) { loadGfx = TRUE; } break; diff --git a/src/code_080300AC.c b/src/code_080300AC.c index e2da29ec..55d5a080 100644 --- a/src/code_080300AC.c +++ b/src/code_080300AC.c @@ -2,7 +2,7 @@ #include "entity.h" #include "functions.h" -//extern void DmaZero(void*, u32); +// extern void DmaZero(void*, u32); typedef struct { u16 unk0; @@ -13,13 +13,13 @@ typedef struct { extern struct_0300110C gUnk_0300110C; void sub_080300AC(void) { - _DmaZero(&gUnk_0300110C.unk0, 0x44); - gUnk_0300110C.unk66 = 0xff; + _DmaZero(&gUnk_0300110C.unk0, 0x44); + gUnk_0300110C.unk66 = 0xff; } void sub_080300C4(void) { - if (gScreenTransition.field_0xae == 0xff) { - gScreenTransition.field_0xac = 0; - _DmaZero(&gScreenTransition.field_0x4c[32], 0x40); - } + if (gScreenTransition.field_0xae == 0xff) { + gScreenTransition.field_0xac = 0; + _DmaZero(&gScreenTransition.field_0x4c[32], 0x40); + } } diff --git a/src/code_0804AA84.c b/src/code_0804AA84.c index d3eff465..11db91d7 100644 --- a/src/code_0804AA84.c +++ b/src/code_0804AA84.c @@ -6,7 +6,7 @@ #include "screen.h" typedef struct { - u8 filler [18]; + u8 filler[18]; u32 unk; } struct_02018EB0; @@ -15,62 +15,54 @@ extern void sub_0805E5A8(); extern void (*const gUnk_080D4120[])(); extern void (*const gUnk_080D412C[])(); - extern struct_02018EB0 gUnk_02018EB0; -u32 sub_0804AA84(void) -{ - if (gArea.fadeOut != 0) { - gUnk_03001000.transition = 4; - gArea.filler[8] = 0; - gArea.filler[9] = 0; - *(u16*)&gArea.filler[10] = 0; - sub_0805E5A8(); - return 1; - } - else { - gArea.filler[18] = gArea.fadeOut; - *(vu8*)&gArea.fadeOut = gArea.fadeOut; - return 0; - } +u32 sub_0804AA84(void) { + if (gArea.fadeOut != 0) { + gUnk_03001000.transition = 4; + gArea.filler[8] = 0; + gArea.filler[9] = 0; + *(u16*)&gArea.filler[10] = 0; + sub_0805E5A8(); + return 1; + } else { + gArea.filler[18] = gArea.fadeOut; + *(vu8*)&gArea.fadeOut = gArea.fadeOut; + return 0; + } } -void sub_0804AAB8(void) -{ - gUnk_080D4120[gArea.filler[8]](); +void sub_0804AAB8(void) { + gUnk_080D4120[gArea.filler[8]](); } -void sub_0804AAD4(void) -{ - _DmaZero((void *)&gUnk_02018EB0, 0x28); - gUnk_02018EB0.unk = 0; - EraseAllEntities(); - CreateObject(0x3d, gArea.field_0x17, 0); - gArea.filler[8]++; +void sub_0804AAD4(void) { + _DmaZero((void*)&gUnk_02018EB0, 0x28); + gUnk_02018EB0.unk = 0; + EraseAllEntities(); + CreateObject(0x3d, gArea.field_0x17, 0); + gArea.filler[8]++; } -void sub_0804AB04(void) -{ - sub_0805E5C0(); - if (gArea.field_0x10 != 0) { - sub_080AD90C(); - sub_080AD9B0(); - sub_080AD918(); - } +void sub_0804AB04(void) { + sub_0805E5C0(); + if (gArea.field_0x10 != 0) { + sub_080AD90C(); + sub_080AD9B0(); + sub_080AD918(); + } } -void sub_0804AB24(void) -{ - if (!gFadeControl.active) { - gScreen.lcd.displayControl = 0; - sub_0801E104(); - gArea.filler[8] = 0; - MenuFadeIn(6, 0); - gFadeControl.active = 0; - } +void sub_0804AB24(void) { + if (!gFadeControl.active) { + gScreen.lcd.displayControl = 0; + sub_0801E104(); + gArea.filler[8] = 0; + MenuFadeIn(6, 0); + gFadeControl.active = 0; + } } -void sub_0804AB54(void) -{ - gUnk_080D412C[gArea.filler[8]](); +void sub_0804AB54(void) { + gUnk_080D412C[gArea.filler[8]](); } diff --git a/src/code_0805436C.c b/src/code_0805436C.c index abdc457d..c1b3033a 100644 --- a/src/code_0805436C.c +++ b/src/code_0805436C.c @@ -30,7 +30,6 @@ extern u8 gUnk_080FE1C6[]; extern u32 gUnk_02034398; extern void (*const gUnk_080FE2A0[])(); - u32 IsItemEquipped(u32 itemID) { u32 ret; @@ -268,7 +267,6 @@ u32 CreateItemDrop(Entity* arg0, u32 itemID, u32 itemParameter) { } */ -void sub_08054870(void) -{ - gUnk_080FE2A0[gMenu.menuType](); +void sub_08054870(void) { + gUnk_080FE2A0[gMenu.menuType](); } diff --git a/src/code_08077B98.c b/src/code_08077B98.c index 2195fc3e..83d0089b 100644 --- a/src/code_08077B98.c +++ b/src/code_08077B98.c @@ -3,7 +3,6 @@ #include "player.h" #include "functions.h" - typedef struct { u8 unk[12]; } struct_0811BE48; @@ -20,120 +19,109 @@ extern Entity* sub_0805E744(); extern struct_0811BE48 gUnk_0811BE48[]; -void sub_08077B98(UnkItemStruct* unk) -{ - if ((gPlayerState.field_0x2c == NULL) || (gPlayerState.field_0x2c[9] != 1)) { - gPlayerState.field_0x2c = sub_08077C54(unk); - } +void sub_08077B98(UnkItemStruct* unk) { + if ((gPlayerState.field_0x2c == NULL) || (gPlayerState.field_0x2c[9] != 1)) { + gPlayerState.field_0x2c = sub_08077C54(unk); + } } -void sub_08077BB8(UnkItemStruct* unk) -{ - u8* temp = sub_08077C54(unk); - if (temp != NULL) { - temp[0x10] = 0x20; - } - gPlayerState.field_0x2c = temp; +void sub_08077BB8(UnkItemStruct* unk) { + u8* temp = sub_08077C54(unk); + if (temp != NULL) { + temp[0x10] = 0x20; + } + gPlayerState.field_0x2c = temp; } -Entity* sub_08077BD4(ItemBehavior *beh) -{ - if (sub_08077C94(beh, gUnk_0811BE48[beh->behaviorID].unk[3]) != 0) { - return NULL; - } - else { - return CreatePlayerBomb(beh, gUnk_0811BE48[beh->behaviorID].unk[3]); - } +Entity* sub_08077BD4(ItemBehavior* beh) { + if (sub_08077C94(beh, gUnk_0811BE48[beh->behaviorID].unk[3]) != 0) { + return NULL; + } else { + return CreatePlayerBomb(beh, gUnk_0811BE48[beh->behaviorID].unk[3]); + } } -Entity * sub_08077C0C(ItemBehavior *beh, u32 arg1) -{ - u8 bVar1; - Entity *pEVar3; - - bVar1 = gUnk_0811BE48[arg1].unk[3]; +Entity* sub_08077C0C(ItemBehavior* beh, u32 arg1) { + u8 bVar1; + Entity* pEVar3; - if (sub_08077C94(beh, bVar1) != 0) { - return NULL; - } - else { - return CreatePlayerBomb(beh, bVar1); - } + bVar1 = gUnk_0811BE48[arg1].unk[3]; + + if (sub_08077C94(beh, bVar1) != 0) { + return NULL; + } else { + return CreatePlayerBomb(beh, bVar1); + } } -Entity * CreatePlayerBomb(ItemBehavior *beh, u32 subtype) -{ - Entity *pEVar1; - - pEVar1 = CreatePlayerItem(subtype, 0, 0, beh->behaviorID); - if (pEVar1 != NULL) { - *(ItemBehavior **)&pEVar1->parent = beh; - } - return pEVar1; +Entity* CreatePlayerBomb(ItemBehavior* beh, u32 subtype) { + Entity* pEVar1; + + pEVar1 = CreatePlayerItem(subtype, 0, 0, beh->behaviorID); + if (pEVar1 != NULL) { + *(ItemBehavior**)&pEVar1->parent = beh; + } + return pEVar1; } -void* sub_08077C54(UnkItemStruct* unk) -{ - Entity *item; - - item = sub_0805E744(); - if (item != NULL) { - item->entityType.subtype = gUnk_0811BE48[unk->field_0x1].unk[3]; - item->entityType.type = 8; - item->flags = 0xa0; - item->parent = (Entity*)unk; - item->field_0x68.HALF.LO = unk->field_0x1; - AppendEntityToList(item, 2); - } - return item; +void* sub_08077C54(UnkItemStruct* unk) { + Entity* item; + + item = sub_0805E744(); + if (item != NULL) { + item->entityType.subtype = gUnk_0811BE48[unk->field_0x1].unk[3]; + item->entityType.type = 8; + item->flags = 0xa0; + item->parent = (Entity*)unk; + item->field_0x68.HALF.LO = unk->field_0x1; + AppendEntityToList(item, 2); + } + return item; } -Entity* sub_08077C94(ItemBehavior* arg0, u32 arg1) -{ - Entity* iVar1; - - iVar1 = FindEntityInListBySubtype(8, gUnk_0811BE48[arg1].unk[3], 2); - if (iVar1 == NULL) { - return NULL; - } - return iVar1; +Entity* sub_08077C94(ItemBehavior* arg0, u32 arg1) { + Entity* iVar1; + + iVar1 = FindEntityInListBySubtype(8, gUnk_0811BE48[arg1].unk[3], 2); + if (iVar1 == NULL) { + return NULL; + } + return iVar1; } -Entity * CreatePlayerItem(u32 subtype, u32 form, u32 parameter, u32 unk) -{ - Entity *ent; - - ent = GetEmptyEntity(); - if (ent != NULL) { - ent->flags = 0x80; - (ent->entityType).type = 8; - (ent->entityType).subtype = subtype; - (ent->entityType).form = form; - (ent->entityType).parameter = parameter; - ent->field_0x68.HALF.LO = unk; - AppendEntityToList(ent, 2); - } - return ent; +Entity* CreatePlayerItem(u32 subtype, u32 form, u32 parameter, u32 unk) { + Entity* ent; + + ent = GetEmptyEntity(); + if (ent != NULL) { + ent->flags = 0x80; + (ent->entityType).type = 8; + (ent->entityType).subtype = subtype; + (ent->entityType).form = form; + (ent->entityType).parameter = parameter; + ent->field_0x68.HALF.LO = unk; + AppendEntityToList(ent, 2); + } + return ent; } -Entity * sub_08077CF8(u32 subtype, u32 form, u32 parameter, u32 unk) -{ - Entity *ent; - - ent = sub_0805E744(); - if (ent != NULL) { - ent->flags = 0x80; - (ent->entityType).type = 8; - (ent->entityType).subtype = subtype; - (ent->entityType).form = form; - (ent->entityType).parameter = parameter; - ent->field_0x68.HALF.LO = unk; - AppendEntityToList(ent, 2); - } - return ent; +Entity* sub_08077CF8(u32 subtype, u32 form, u32 parameter, u32 unk) { + Entity* ent; + + ent = sub_0805E744(); + if (ent != NULL) { + ent->flags = 0x80; + (ent->entityType).type = 8; + (ent->entityType).subtype = subtype; + (ent->entityType).form = form; + (ent->entityType).parameter = parameter; + ent->field_0x68.HALF.LO = unk; + AppendEntityToList(ent, 2); + } + return ent; } NAKED -void sub_08077D38(ItemBehavior *beh, u32 arg1) { +void sub_08077D38(ItemBehavior* beh, u32 arg1) { asm(".include \"asm/non_matching/sub_08077D38.inc\""); } diff --git a/src/code_08077DF4.c b/src/code_08077DF4.c index 69dd5820..f29aa06b 100644 --- a/src/code_08077DF4.c +++ b/src/code_08077DF4.c @@ -4,91 +4,81 @@ #include "functions.h" typedef struct { - u8 b0: 4; - u8 b1: 4; + u8 b0 : 4; + u8 b1 : 4; } PACKED Unk_bitfield; typedef struct { u8 unk[16]; } Unk_struct; -void sub_08077DF4(Entity *ent, u32 arg1) -{ - *(u16 *)&ent->flags = arg1; - if ((arg1 & 0xff) > 0xb8) { - arg1 += (ent->entityType).form >> 1; - } - gPlayerEntity.spriteIndex = (short)(arg1 >> 8); - InitAnimationForceUpdate(&gPlayerEntity, (u8)arg1); - sub_08077E54(ent); +void sub_08077DF4(Entity* ent, u32 arg1) { + *(u16*)&ent->flags = arg1; + if ((arg1 & 0xff) > 0xb8) { + arg1 += (ent->entityType).form >> 1; + } + gPlayerEntity.spriteIndex = (short)(arg1 >> 8); + InitAnimationForceUpdate(&gPlayerEntity, (u8)arg1); + sub_08077E54(ent); } -void UpdateItemAnim(Entity *ent) -{ - UpdateAnimationSingleFrame(&gPlayerEntity); - sub_08077E54(ent); +void UpdateItemAnim(Entity* ent) { + UpdateAnimationSingleFrame(&gPlayerEntity); + sub_08077E54(ent); } -void sub_08077E3C(Entity *ent, u32 idx) -{ - sub_080042BA(&gPlayerEntity, idx); - sub_08077E54(ent); +void sub_08077E3C(Entity* ent, u32 idx) { + sub_080042BA(&gPlayerEntity, idx); + sub_08077E54(ent); } -void sub_08077E54(Entity *ent) -{ - ent->action = gPlayerEntity.animIndex; - *(u8 *)&ent->spriteIndex = gPlayerEntity.frameIndex; - ent->previousActionFlag = gPlayerEntity.frameDuration; - ent->actionDelay = gPlayerEntity.frames.all; +void sub_08077E54(Entity* ent) { + ent->action = gPlayerEntity.animIndex; + *(u8*)&ent->spriteIndex = gPlayerEntity.frameIndex; + ent->previousActionFlag = gPlayerEntity.frameDuration; + ent->actionDelay = gPlayerEntity.frames.all; } -void sub_08077E78(void* arg0, u32 bits) -{ - u8 *pbVar1; - u32 not; - +void sub_08077E78(void* arg0, u32 bits) { + u8* pbVar1; + u32 not ; + if (bits == 0) { if (gPlayerState.field_0x2c != NULL) { - ((Unk_bitfield *)gPlayerState.field_0x2c)[0x11].b0 = 6; - gPlayerState.field_0x2c = (u8 *)bits; - } - else { - gPlayerState.field_0x2c = (u8 *)bits; + ((Unk_bitfield*)gPlayerState.field_0x2c)[0x11].b0 = 6; + gPlayerState.field_0x2c = (u8*)bits; + } else { + gPlayerState.field_0x2c = (u8*)bits; } } - not = (8 >> bits); - gPlayerState.field_0x3[1] &= ~((u8)((8 >> bits) << 4) | not); - not = ~not; - gPlayerState.field_0xa &= not; - gPlayerState.keepFacing &= not; - _DmaZero(arg0, 0x1c); + not = (8 >> bits); + gPlayerState.field_0x3[1] &= ~((u8)((8 >> bits) << 4) | not ); + not = ~not ; + gPlayerState.field_0xa &= not ; + gPlayerState.keepFacing &= not ; + _DmaZero(arg0, 0x1c); } -u32 sub_08077EC8(Unk_struct* arg0) -{ - - if ((gPlayerState.field_0x1a[1] & 8) != 0) { - sub_08077DF4((Entity *)arg0,0x170); - arg0->unk[7] = 0x28; - arg0->unk[4] = 7; - arg0->unk[15] = 6; - return 1; - } - else { - return 0; - } +u32 sub_08077EC8(Unk_struct* arg0) { + + if ((gPlayerState.field_0x1a[1] & 8) != 0) { + sub_08077DF4((Entity*)arg0, 0x170); + arg0->unk[7] = 0x28; + arg0->unk[4] = 7; + arg0->unk[15] = 6; + return 1; + } else { + return 0; + } } -void sub_08077EFC(ItemBehavior* arg0) -{ - sub_08077F24(arg0, (u16)gPlayerState.field_0x90.HALF.LO); +void sub_08077EFC(ItemBehavior* arg0) { + sub_08077F24(arg0, (u16)gPlayerState.field_0x90.HALF.LO); } -void sub_08077F10(ItemBehavior* arg0) -{ - sub_08077F24(arg0, (u16)gPlayerState.field_0x90.HALF.HI); +void sub_08077F10(ItemBehavior* arg0) { + sub_08077F24(arg0, (u16)gPlayerState.field_0x90.HALF.HI); } NAKED @@ -96,38 +86,34 @@ void sub_08077F24(ItemBehavior* beh, u32 arg1) { asm(".include \"asm/non_matching/sub_08077F24.inc\""); } -void sub_08077F50(ItemBehavior *beh, u32 arg1) -{ - sub_08079184(); - sub_08077E78(beh, arg1); +void sub_08077F50(ItemBehavior* beh, u32 arg1) { + sub_08079184(); + sub_08077E78(beh, arg1); } -u32 sub_08077F64(ItemBehavior* arg0, u32 unk) -{ +u32 sub_08077F64(ItemBehavior* arg0, u32 unk) { u32 temp; if (gPlayerState.heldObject == 0) { sub_08077F50(arg0, unk); temp = 0; - } - else { + } else { temp = 1; } return temp; } -void sub_08077F84(void) -{ - Entity *obj; - - if (((gPlayerEntity.collisionLayer & 2) == 0) && - GetTileTypeByPos(gPlayerEntity.x.HALF.HI, gPlayerEntity.y.HALF.HI - 0xc, 2) - 0x343U < 4) { - sub_0807AA80(&gPlayerEntity); - gPlayerState.jumpStatus |= 8; - obj = CreateObject(0x44, 0, 0); - if (obj != NULL) { - obj->x = gPlayerEntity.x; - obj->y.HALF.HI = gPlayerEntity.y.HALF.HI - 0xc; - gPlayerEntity.y.HALF.HI -= 0xc; +void sub_08077F84(void) { + Entity* obj; + + if (((gPlayerEntity.collisionLayer & 2) == 0) && + GetTileTypeByPos(gPlayerEntity.x.HALF.HI, gPlayerEntity.y.HALF.HI - 0xc, 2) - 0x343U < 4) { + sub_0807AA80(&gPlayerEntity); + gPlayerState.jumpStatus |= 8; + obj = CreateObject(0x44, 0, 0); + if (obj != NULL) { + obj->x = gPlayerEntity.x; + obj->y.HALF.HI = gPlayerEntity.y.HALF.HI - 0xc; + gPlayerEntity.y.HALF.HI -= 0xc; + } } - } } diff --git a/src/code_08078778.c b/src/code_08078778.c index 7d181f1d..32e422ff 100644 --- a/src/code_08078778.c +++ b/src/code_08078778.c @@ -42,47 +42,43 @@ void sub_080787CC(Entity* ent) { sub_0807887C(ent, 5, 0); } -s32 sub_080787D8(Entity *ent) -{ - s32 iVar1; - - iVar1 = sub_0807887C(ent, 8, 0); - if (iVar1 >= 0) { - gUnk_03003DF0[iVar1].unk[10] = 0xbe; - } - return iVar1; +s32 sub_080787D8(Entity* ent) { + s32 iVar1; + + iVar1 = sub_0807887C(ent, 8, 0); + if (iVar1 >= 0) { + gUnk_03003DF0[iVar1].unk[10] = 0xbe; + } + return iVar1; } -s32 sub_08078800(Entity *ent) -{ - s32 iVar1; - - iVar1 = sub_0807887C(ent, 6, 0); - if (iVar1 >= 0) { - gUnk_03003DF0[iVar1].unk[10] = 0xbe; - } - return iVar1; +s32 sub_08078800(Entity* ent) { + s32 iVar1; + + iVar1 = sub_0807887C(ent, 6, 0); + if (iVar1 >= 0) { + gUnk_03003DF0[iVar1].unk[10] = 0xbe; + } + return iVar1; } -s32 sub_08078828(Entity *ent) -{ - s32 iVar1; - - iVar1 = sub_0807887C(ent, 3, 0); - if (iVar1 >= 0) { - gUnk_03003DF0[iVar1].unk[10] = 0xbe; - } - return iVar1; +s32 sub_08078828(Entity* ent) { + s32 iVar1; + + iVar1 = sub_0807887C(ent, 3, 0); + if (iVar1 >= 0) { + gUnk_03003DF0[iVar1].unk[10] = 0xbe; + } + return iVar1; } -void sub_08078850(u32 arg0, u32 arg1, u32 arg2, u32 arg3) -{ - s32 iVar1; - - iVar1 = sub_08078904(); - if (iVar1 >= 0) { - gUnk_03003DF0[iVar1].unk[8] = arg1; - gUnk_03003DF0[iVar1].unk[10] = arg2; - *(&gUnk_03003DF0[iVar1].unk4 + 1) = arg3; - } +void sub_08078850(u32 arg0, u32 arg1, u32 arg2, u32 arg3) { + s32 iVar1; + + iVar1 = sub_08078904(); + if (iVar1 >= 0) { + gUnk_03003DF0[iVar1].unk[8] = arg1; + gUnk_03003DF0[iVar1].unk[10] = arg2; + *(&gUnk_03003DF0[iVar1].unk4 + 1) = arg3; + } } diff --git a/src/code_0807CC3C.c b/src/code_0807CC3C.c index e3ddac70..80e0bfe7 100644 --- a/src/code_0807CC3C.c +++ b/src/code_0807CC3C.c @@ -72,33 +72,32 @@ s32 sub_0807CE54(void) { return uVar1; } -u32 sub_0807CE90(void) -{ - struct_0807D1C4 *puVar1; - int iVar2; - int iVar3; - - sub_080B1520(0x40); - puVar1 = sub_0807D1C4(4); - iVar3 = 0; - if (sub_0807D24C(puVar1->field_0x6, gUnk_0811E484, puVar1->field_0x0) == 0) { - iVar3 += 1; - } - if (sub_0807D24C(puVar1->field_0x8, gUnk_0811E484, puVar1->field_0x0) == 0) { - iVar3 += 2; - } - if (iVar3 != 0) { - if (iVar3 == 3) { - sub_0807CF68(5); - sub_0807CF68(3); - sub_0807CF68(2); - sub_0807CF68(1); - sub_0807CF68(0); +u32 sub_0807CE90(void) { + struct_0807D1C4* puVar1; + int iVar2; + int iVar3; + + sub_080B1520(0x40); + puVar1 = sub_0807D1C4(4); + iVar3 = 0; + if (sub_0807D24C(puVar1->field_0x6, gUnk_0811E484, puVar1->field_0x0) == 0) { + iVar3 += 1; } - sub_0807D20C(puVar1->field_0x8, gUnk_0811E484, puVar1->field_0x0); - sub_0807D20C(puVar1->field_0x6, gUnk_0811E484, puVar1->field_0x0); - } - return 1; + if (sub_0807D24C(puVar1->field_0x8, gUnk_0811E484, puVar1->field_0x0) == 0) { + iVar3 += 2; + } + if (iVar3 != 0) { + if (iVar3 == 3) { + sub_0807CF68(5); + sub_0807CF68(3); + sub_0807CF68(2); + sub_0807CF68(1); + sub_0807CF68(0); + } + sub_0807D20C(puVar1->field_0x8, gUnk_0811E484, puVar1->field_0x0); + sub_0807D20C(puVar1->field_0x6, gUnk_0811E484, puVar1->field_0x0); + } + return 1; } u32 sub_0807CF08(u32 arg0, u8* arg1) { @@ -125,22 +124,20 @@ u32 sub_0807CF3C(void* arg0) { return sub_0807D008(5, arg0); } -void sub_0807CF48(u32 arg0) -{ - struct_0807D1C4 *temp; - - temp = sub_0807D1C4(arg0); - sub_0807D184(temp->field_0x4, gUnk_0811E4AC); - sub_0807D184(temp->field_0x2, gUnk_0811E4AC); +void sub_0807CF48(u32 arg0) { + struct_0807D1C4* temp; + + temp = sub_0807D1C4(arg0); + sub_0807D184(temp->field_0x4, gUnk_0811E4AC); + sub_0807D184(temp->field_0x2, gUnk_0811E4AC); } -void sub_0807CF68(u32 arg0) -{ - struct_0807D1C4 *temp; - char* str; +void sub_0807CF68(u32 arg0) { + struct_0807D1C4* temp; + char* str; - temp = sub_0807D1C4(arg0); - str = gUnk_0811E4A4; - sub_0807D184(temp->field_0x4, str); - sub_0807D184(temp->field_0x2, str); + temp = sub_0807D1C4(arg0); + str = gUnk_0811E4A4; + sub_0807D184(temp->field_0x4, str); + sub_0807D184(temp->field_0x2, str); } diff --git a/src/code_0808091C.c b/src/code_0808091C.c index ae04dcad..cdd7504a 100644 --- a/src/code_0808091C.c +++ b/src/code_0808091C.c @@ -36,8 +36,7 @@ void sub_08080910(void) { gScreenTransition.transitionType = 1; } -void sub_0808091C(ScreenTransitionData* param_1, u32 param_2) -{ +void sub_0808091C(ScreenTransitionData* param_1, u32 param_2) { DoExitTransition(param_1); gScreenTransition.transitionType = param_2; return; @@ -54,8 +53,7 @@ void sub_08080930(void) return; } -u32* GetLayerByIndex(u32 param_1) -{ +u32* GetLayerByIndex(u32 param_1) { if (param_1 == 2) { return &gUnk_0200B650; @@ -64,8 +62,7 @@ u32* GetLayerByIndex(u32 param_1) } } -void sub_08080964(u16 time, u32 magnitude) -{ +void sub_08080964(u16 time, u32 magnitude) { gRoomControls.screenShakeTime = time; gRoomControls.screenShakeMagnitude = magnitude & 7; return; diff --git a/src/code_080A29BC.c b/src/code_080A29BC.c index bb9d1701..d33d3b94 100644 --- a/src/code_080A29BC.c +++ b/src/code_080A29BC.c @@ -2,68 +2,60 @@ #include "entity.h" #include "room.h" -void sub_080A29BC(Entity *parent) -{ - CreateFx(parent, 2, 0); +void sub_080A29BC(Entity* parent) { + CreateFx(parent, 2, 0); } -void sub_080A29C8(s32 xOff, s32 yOff, u32 layer) -{ - Entity *pEVar1; - - pEVar1 = CreateObject(0xf, 2, 0); - if (pEVar1 != NULL) { - pEVar1->x.HALF.HI = gRoomControls.roomOriginX + xOff; - pEVar1->y.HALF.HI = gRoomControls.roomOriginY + yOff; - pEVar1->collisionLayer = layer; - } +void sub_080A29C8(s32 xOff, s32 yOff, u32 layer) { + Entity* pEVar1; + + pEVar1 = CreateObject(0xf, 2, 0); + if (pEVar1 != NULL) { + pEVar1->x.HALF.HI = gRoomControls.roomOriginX + xOff; + pEVar1->y.HALF.HI = gRoomControls.roomOriginY + yOff; + pEVar1->collisionLayer = layer; + } } -void sub_080A29FC(Entity *parent) -{ - CreateFx(parent, 0x11, 0); +void sub_080A29FC(Entity* parent) { + CreateFx(parent, 0x11, 0); } -void sub_080A2A08(Entity *parent) -{ - CreateFx(parent, 0x6, 0); +void sub_080A2A08(Entity* parent) { + CreateFx(parent, 0x6, 0); } -void sub_080A2A14(Entity *parent) -{ - CreateFx(parent, 0xb, 0); +void sub_080A2A14(Entity* parent) { + CreateFx(parent, 0xb, 0); } -Entity * sub_080A2A20(Entity *parent, u32 form, u32 parameter) -{ - Entity *pEVar1; - - pEVar1 = CreateObjectWithParent(parent, 0, form, parameter); - if (pEVar1 != NULL) { - pEVar1->actionDelay = 5; - } - return pEVar1; +Entity* sub_080A2A20(Entity* parent, u32 form, u32 parameter) { + Entity* pEVar1; + + pEVar1 = CreateObjectWithParent(parent, 0, form, parameter); + if (pEVar1 != NULL) { + pEVar1->actionDelay = 5; + } + return pEVar1; } -Entity * sub_080A2A3C(Entity *parent, u32 form, u32 subtype, u32 param_4) -{ - Entity *ent; - - ent = CreateObjectWithParent(parent, 0, form, subtype); - if (ent != NULL) { - ent->actionDelay = 5; - *(u32*)(&ent->field_0x86) = param_4; - } - return ent; +Entity* sub_080A2A3C(Entity* parent, u32 form, u32 subtype, u32 param_4) { + Entity* ent; + + ent = CreateObjectWithParent(parent, 0, form, subtype); + if (ent != NULL) { + ent->actionDelay = 5; + *(u32*)(&ent->field_0x86) = param_4; + } + return ent; } -Entity * sub_080A2A64(Entity *parent) -{ - Entity *pEVar1; - - pEVar1 = CreateFx(parent, 0x20, 0); - if (pEVar1 != NULL) { - pEVar1->spritePriority.b0 = 7; - } - return pEVar1; +Entity* sub_080A2A64(Entity* parent) { + Entity* pEVar1; + + pEVar1 = CreateFx(parent, 0x20, 0); + if (pEVar1 != NULL) { + pEVar1->spritePriority.b0 = 7; + } + return pEVar1; } diff --git a/src/createBowEntity.c b/src/createBowEntity.c index 0e1f0ef8..eab87381 100644 --- a/src/createBowEntity.c +++ b/src/createBowEntity.c @@ -3,6 +3,6 @@ extern void (*const gUnk_080B3E30[])(Entity*); -void sub_08018FCC(Entity* this){ +void sub_08018FCC(Entity* this) { gUnk_080B3E30[(this->action)](this); } diff --git a/src/enemy/acroBandits.c b/src/enemy/acroBandits.c index 724880ac..73212e2f 100644 --- a/src/enemy/acroBandits.c +++ b/src/enemy/acroBandits.c @@ -206,7 +206,6 @@ void sub_08031C1C(Entity* this) { } } - void sub_08031C58(Entity* this) { Entity *a, *b; @@ -412,7 +411,6 @@ void sub_08032008(Entity* this) { if (this->direction & 0xf) this->spriteSettings.b.flipX = (this->direction >> 4 ^ 1); - ProcessMovement(this); } else { if (this->field_0x76.HALF.HI == 0) { @@ -544,7 +542,7 @@ void sub_080322E8(Entity* this) { } } -void sub_08032338(Entity *this) { +void sub_08032338(Entity* this) { if ((((Entity*)this->field_0x7c.WORD)->actionDelay += 15) != 80) this->field_0x6c.HALF.LO = 0; } diff --git a/src/enemy/beetle.c b/src/enemy/beetle.c index aa51a736..9536f297 100644 --- a/src/enemy/beetle.c +++ b/src/enemy/beetle.c @@ -315,7 +315,6 @@ void sub_08021D44(Entity* this, u32 direction) { } } - // clang-format off void (*const gUnk_080CB590[])(Entity*) = { sub_08021768, @@ -356,4 +355,3 @@ const s8 gUnk_080CB5E4[] = { -1, -2, -1, 0, 1, 2, 1, 0, }; // clang-format on - diff --git a/src/enemy/bladeTrap.c b/src/enemy/bladeTrap.c index b58ef0d6..54dcfcb7 100644 --- a/src/enemy/bladeTrap.c +++ b/src/enemy/bladeTrap.c @@ -20,8 +20,6 @@ void BladeTrap(Entity* ent) { sub_0806F69C(ent); } - - puVar3 = &(ent->field_0x74.HWORD); uVar1 = *puVar3; *puVar3 = uVar1 - 1; diff --git a/src/enemy/bombPeahat.c b/src/enemy/bombPeahat.c index 98f54841..938e9af1 100644 --- a/src/enemy/bombPeahat.c +++ b/src/enemy/bombPeahat.c @@ -665,4 +665,4 @@ const BoundingBox gUnk_080CD174 = { const BoundingBox gUnk_080CD17C = { 0x00, 0x00, 0x04, 0x00, 0x00, 0x04, 0x16, 0x16, }; -// clang-format on \ No newline at end of file +// clang-format on diff --git a/src/enemy/bowMoblin.c b/src/enemy/bowMoblin.c index c23b1294..e29d6177 100644 --- a/src/enemy/bowMoblin.c +++ b/src/enemy/bowMoblin.c @@ -10,32 +10,30 @@ extern void sub_0803C5F0(Entity*); extern void (*const gUnk_080CFF78[])(Entity*); extern void (*const gUnk_080CFF90[])(Entity*); -void BowMoblin(Entity *this) -{ - EnemyFunctionHandler(this, gUnk_080CFF78); - SetChildOffset(this, 0, 1, -0x18); +void BowMoblin(Entity* this) { + EnemyFunctionHandler(this, gUnk_080CFF78); + SetChildOffset(this, 0, 1, -0x18); } -void sub_0803C180(Entity *this) -{ - gUnk_080CFF90[this->action](this); +void sub_0803C180(Entity* this) { + gUnk_080CFF90[this->action](this); } -void sub_0803C198(Entity *this) -{ - Entity *pEVar1; - - if (this->field_0x43 != 0) { - sub_0804A9FC(this,0x1c); - } - sub_0804AA30(this, &gUnk_080CFF78); - if ((this->bitfield & 0x80) != 0) { - sub_0803C5F0(this); - pEVar1 = this->attachedEntity; - if (pEVar1 != NULL) { - pEVar1->field_0xf++; +void sub_0803C198(Entity* this) { + Entity* pEVar1; + + if (this->field_0x43 != 0) { + sub_0804A9FC(this, 0x1c); + } + sub_0804AA30(this, &gUnk_080CFF78); + if ((this->bitfield & 0x80) != 0) { + sub_0803C5F0(this); + pEVar1 = this->attachedEntity; + if (pEVar1 != NULL) { + pEVar1->field_0xf++; + } } - } } -void nullsub_168(Entity* this){} +void nullsub_168(Entity* this) { +} diff --git a/src/enemy/chaser.c b/src/enemy/chaser.c index a5f1f522..00d99937 100644 --- a/src/enemy/chaser.c +++ b/src/enemy/chaser.c @@ -61,16 +61,15 @@ void sub_0802B56C(Entity* this) { } } -void sub_0802B5C8(Entity *this) { +void sub_0802B5C8(Entity* this) { GetNextFrame(this); if (this->frames.all & 0x80) { this->action = 1; this->actionDelay = 30; - InitializeAnimation(this,0); + InitializeAnimation(this, 0); } } - // clang-format off void (*const gUnk_080CD27C[])(Entity*) = { sub_0802B518, diff --git a/src/enemy/cuccoChickAggr.c b/src/enemy/cuccoChickAggr.c index 686e5100..de87165a 100644 --- a/src/enemy/cuccoChickAggr.c +++ b/src/enemy/cuccoChickAggr.c @@ -136,17 +136,16 @@ u32 sub_08022B20(Entity* this) { return sub_080041A0(this, &gPlayerEntity, 0x24, 0x24); } -void sub_08022B44(Entity *this){ +void sub_08022B44(Entity* this) { this->field_0x20 = 0xc000; - this->direction = GetFacingDirection(this,&gPlayerEntity); + this->direction = GetFacingDirection(this, &gPlayerEntity); if (this->direction & 0xf) - this->spriteSettings.b.flipX = (this->direction >> 4)^1; + this->spriteSettings.b.flipX = (this->direction >> 4) ^ 1; EnqueueSFX(0xd6); } - // clang-format off void (*const gUnk_080CBB64[])(Entity*) = { sub_08022934, diff --git a/src/enemy/enemy4D.c b/src/enemy/enemy4D.c index 3c168052..a29157bc 100644 --- a/src/enemy/enemy4D.c +++ b/src/enemy/enemy4D.c @@ -52,4 +52,4 @@ void sub_0803EB44(Entity* this) { InitAnimationForceUpdate(this, this->animationState << 2); sub_0803EE8C(this); } -} \ No newline at end of file +} diff --git a/src/enemy/fallingBoulder.c b/src/enemy/fallingBoulder.c index 435e6b21..24f18515 100644 --- a/src/enemy/fallingBoulder.c +++ b/src/enemy/fallingBoulder.c @@ -143,13 +143,13 @@ void sub_0802C4B0(Entity* this) { switch (sub_080001DA(this->field_0x7c.HALF_U.HI, this->collisionLayer)) { case 0x1ab ... 0x1af: - offset = 8; + offset = 8; break; case 0x1c4: - offset = 4; + offset = 4; break; default: - offset = 0; + offset = 0; break; } @@ -208,7 +208,7 @@ void sub_0802C4B0(Entity* this) { } } -void sub_0802C62C(Entity *this) { +void sub_0802C62C(Entity* this) { this->action = 1; this->y.HALF.HI = this->field_0x82.HWORD; this->x.HALF.HI = this->field_0x80.HWORD; diff --git a/src/enemy/fireballGuy.c b/src/enemy/fireballGuy.c index bd033058..f7f51c71 100644 --- a/src/enemy/fireballGuy.c +++ b/src/enemy/fireballGuy.c @@ -95,11 +95,11 @@ void sub_08045454(Entity* this) { u32 sub_0804A024(Entity*, u32, u32); -void sub_08045524(Entity *this) { +void sub_08045524(Entity* this) { u32 tmp, tmp1, tmp2; this->field_0x20 = 0x1c000; - tmp = sub_0804A024(this,1,8); + tmp = sub_0804A024(this, 1, 8); if (tmp != 0xff && (Random() & 3) == 0) { this->actionDelay = Random() & 3; this->direction = DirectionRound(tmp); diff --git a/src/enemy/hangingSeed.c b/src/enemy/hangingSeed.c index f819287f..7ca8808a 100644 --- a/src/enemy/hangingSeed.c +++ b/src/enemy/hangingSeed.c @@ -50,4 +50,3 @@ void (*const gUnk_080CB588[])(Entity*) = { HangingSeed_Hang, }; // clang-format on - diff --git a/src/enemy/keaton.c b/src/enemy/keaton.c index 4d7e003d..18b4f87e 100644 --- a/src/enemy/keaton.c +++ b/src/enemy/keaton.c @@ -124,7 +124,7 @@ void sub_08032574(Entity* this) { sub_0803275C(this); return; } - + UpdateAnimationSingleFrame(this); if ((this->field_0x76.HWORD & 0x7) == 0) { sub_08032794(this); diff --git a/src/enemy/lakitu.c b/src/enemy/lakitu.c index 5225f644..163ec9e1 100644 --- a/src/enemy/lakitu.c +++ b/src/enemy/lakitu.c @@ -5,62 +5,62 @@ #include "random.h" #include "player.h" -extern void (*const LakituActionFuncs[])(Entity *); +extern void (*const LakituActionFuncs[])(Entity*); // Lakitu -extern void EnemyFunctionHandler(Entity *, void (*const funcs[])(Entity*)); +extern void EnemyFunctionHandler(Entity*, void (*const funcs[])(Entity*)); // sub_0803C784 -extern void sub_0804AA30(Entity *, void (*const funcs[])(Entity *)); +extern void sub_0804AA30(Entity*, void (*const funcs[])(Entity*)); // sub_0803C820 -extern u32 sub_0806F520(Entity *); +extern u32 sub_0806F520(Entity*); // sub_0803C850 -extern void sub_0806F4E8(Entity *); +extern void sub_0806F4E8(Entity*); // Lakitu_Initialize -extern void sub_0804A720(Entity *); +extern void sub_0804A720(Entity*); // Lakitu_Cloudless -extern u32 sub_08003FC4(Entity *, u32); +extern u32 sub_08003FC4(Entity*, u32); // sub_0803CA4C -extern u32 sub_080041A0(Entity *, Entity *, u32, u32); +extern u32 sub_080041A0(Entity*, Entity*, u32, u32); // sub_0803CAD0 -extern u32 sub_080AEFE0(Entity *); +extern u32 sub_080AEFE0(Entity*); // Lakitu_SpawnLightning void PositionRelative(Entity*, Entity*, s32, s32); extern void EnqueueSFX(u32); // sub_0803CC08 -extern void DeleteEntity(Entity *); +extern void DeleteEntity(Entity*); // Part of function tables -extern void sub_08001324(Entity *); -extern void sub_0804A7D4(Entity *); -extern void sub_08001242(Entity *); +extern void sub_08001324(Entity*); +extern void sub_0804A7D4(Entity*); +extern void sub_08001242(Entity*); // Used in multiple functions -extern Entity *CreateFx(Entity*, u32, u32); -extern Entity *sub_0804A98C(Entity *positionEntity, u8 subtype, u8 form); // Creates a projectile positioned at the given entity -extern void UpdateAnimationSingleFrame(Entity *); -extern void InitAnimationForceUpdate(Entity *, u32); -extern u32 sub_0806FCB8(Entity *, u32, u32, u32); -extern u32 GetFacingDirection(Entity *, Entity *); - +extern Entity* CreateFx(Entity*, u32, u32); +extern Entity* sub_0804A98C(Entity* positionEntity, u8 subtype, + u8 form); // Creates a projectile positioned at the given entity +extern void UpdateAnimationSingleFrame(Entity*); +extern void InitAnimationForceUpdate(Entity*, u32); +extern u32 sub_0806FCB8(Entity*, u32, u32, u32); +extern u32 GetFacingDirection(Entity*, Entity*); // Forward references to functions in lakitu.c -extern void sub_0803CAD0(Entity *); -extern void sub_0803CBAC(Entity *); -extern void sub_0803CA84(Entity *, u32); -extern bool32 sub_0803CA4C(Entity *); -extern bool32 sub_0803CB04(Entity *); -extern void Lakitu_SpawnLightning(Entity *); -extern void sub_0803CB34(Entity *); -extern void sub_0803CC08(Entity *this); +extern void sub_0803CAD0(Entity*); +extern void sub_0803CBAC(Entity*); +extern void sub_0803CA84(Entity*, u32); +extern bool32 sub_0803CA4C(Entity*); +extern bool32 sub_0803CB04(Entity*); +extern void Lakitu_SpawnLightning(Entity*); +extern void sub_0803CB34(Entity*); +extern void sub_0803CC08(Entity* this); enum { INIT, @@ -79,21 +79,21 @@ typedef struct { } PACKED OffsetCoords; // sub_0803CC08 -extern void DeleteEntity(Entity *); +extern void DeleteEntity(Entity*); // Variables -extern void (*const gUnk_080D0110[])(Entity *); -extern void (*const gUnk_080D0128[])(Entity *); -extern void (*const gUnk_080D0148[])(Entity *); +extern void (*const gUnk_080D0110[])(Entity*); +extern void (*const gUnk_080D0128[])(Entity*); +extern void (*const gUnk_080D0148[])(Entity*); extern const OffsetCoords gUnk_080D0154[]; -void Lakitu(Entity *this) { +void Lakitu(Entity* this) { EnemyFunctionHandler(this, gUnk_080D0110); SetChildOffset(this, 0, 1, -16); } -void Lakitu_DoAction(Entity *this) { +void Lakitu_DoAction(Entity* this) { if (this->action != 0 && this->action != 7) { sub_0803CAD0(this); } @@ -101,15 +101,14 @@ void Lakitu_DoAction(Entity *this) { LakituActionFuncs[this->action](this); } -void sub_0803C784(Entity *this) { +void sub_0803C784(Entity* this) { if ((this->bitfield & 0x7f) == 0x1d) { this->field_0x20 = 0x20000; sub_0803CBAC(this); - } - else { + } else { if (this->damageType == 0x43) { - Entity *fx = CreateFx(this, 2, 0); + Entity* fx = CreateFx(this, 2, 0); if (fx != NULL) { u32 angle = (this->field_0x3e ^ 0x10) << 3; @@ -139,19 +138,19 @@ void sub_0803C784(Entity *this) { sub_0804AA30(this, gUnk_080D0110); } -void sub_0803C820(Entity *this) { +void sub_0803C820(Entity* this) { if (sub_0806F520(this)) { gUnk_080D0148[this->previousActionFlag](this); } } -void sub_0803C844(Entity *this) { +void sub_0803C844(Entity* this) { this->previousActionFlag = 1; this->field_0x1d = 0x3c; } -void sub_0803C850(Entity *this) { - Entity *cloud = this->attachedEntity; +void sub_0803C850(Entity* this) { + Entity* cloud = this->attachedEntity; if (cloud != NULL) { cloud->spriteOffsetX = this->spriteOffsetX; } @@ -159,13 +158,13 @@ void sub_0803C850(Entity *this) { sub_0806F4E8(this); } -void sub_0803C86C(Entity *this) { +void sub_0803C86C(Entity* this) { sub_0803CBAC(this); this->attachedEntity = NULL; } -void Lakitu_Initialize(Entity *this) { - Entity *cloud = sub_0804A98C(this, 17, 0); +void Lakitu_Initialize(Entity* this) { + Entity* cloud = sub_0804A98C(this, 17, 0); if (cloud == NULL) { return; } @@ -185,7 +184,7 @@ void Lakitu_Initialize(Entity *this) { this->field_0x76.HWORD = this->y.HALF.HI; } -void Lakitu_Hide(Entity *this) { +void Lakitu_Hide(Entity* this) { sub_0803CA84(this, 0); if (sub_0803CA4C(this)) { @@ -194,7 +193,7 @@ void Lakitu_Hide(Entity *this) { } } -void Lakitu_EndHide(Entity *this) { +void Lakitu_EndHide(Entity* this) { UpdateAnimationSingleFrame(this); if (this->frames.b.f3) { @@ -207,7 +206,7 @@ void Lakitu_EndHide(Entity *this) { } } -void Lakitu_Idle(Entity *this) { +void Lakitu_Idle(Entity* this) { if (sub_0803CB04(this)) { return; } @@ -217,13 +216,12 @@ void Lakitu_Idle(Entity *this) { this->damageType = 0x43; InitAnimationForceUpdate(this, this->animationState + 0xc); - } - else { + } else { sub_0803CA84(this, 4); } } -void Lakitu_BeginHide(Entity *this) { +void Lakitu_BeginHide(Entity* this) { UpdateAnimationSingleFrame(this); if (this->frames.b.f3 != 0) { @@ -234,7 +232,7 @@ void Lakitu_BeginHide(Entity *this) { } } -void Lakitu_Lightning(Entity *this) { +void Lakitu_Lightning(Entity* this) { UpdateAnimationSingleFrame(this); if (this->frames.b.f3 == 0) { @@ -250,8 +248,7 @@ void Lakitu_Lightning(Entity *this) { this->actionDelay = 0xf; this->field_0x78.HALF.HI = TRUE; - } - else { + } else { this->actionDelay = 0x1e; this->field_0x78.HALF.HI = FALSE; @@ -260,17 +257,16 @@ void Lakitu_Lightning(Entity *this) { } } -void Lakitu_LightningDelay(Entity *this) { +void Lakitu_LightningDelay(Entity* this) { this->actionDelay--; if (this->actionDelay != 0) { return; } - + if (this->field_0x78.HALF.HI == 1) { sub_0803CB34(this); - } - else { + } else { this->action = IDLE; this->actionDelay = 0xb4; @@ -278,7 +274,7 @@ void Lakitu_LightningDelay(Entity *this) { } } -void Lakitu_Cloudless(Entity *this) { +void Lakitu_Cloudless(Entity* this) { if (sub_08003FC4(this, 0x1800) == 0 && this->animIndex <= 19) { InitAnimationForceUpdate(this, this->animationState + 20); @@ -289,7 +285,7 @@ void Lakitu_Cloudless(Entity *this) { sub_0803CC08(this); } -bool32 sub_0803CA4C(Entity *this) { +bool32 sub_0803CA4C(Entity* this) { if (sub_0806FCB8(this, gPlayerEntity.x.HALF.HI, gPlayerEntity.y.HALF.HI, 0x28) == 0) { if (sub_080041A0(this, &gPlayerEntity, 0x70, 0x50)) { return 1; @@ -299,10 +295,10 @@ bool32 sub_0803CA4C(Entity *this) { return 0; } -void sub_0803CA84(Entity *this, u32 unkParameter) { +void sub_0803CA84(Entity* this, u32 unkParameter) { u32 altAnimState = GetFacingDirection(this, &gPlayerEntity); - if (((altAnimState - 3) & 7) > 2 || ((this->animationState - (altAnimState >> 3)) & 3) > 1) { + if (((altAnimState - 3) & 7) > 2 || ((this->animationState - (altAnimState >> 3)) & 3) > 1) { altAnimState = DirectionRoundUp(altAnimState) >> 3; if (altAnimState != this->animationState) { @@ -314,23 +310,23 @@ void sub_0803CA84(Entity *this, u32 unkParameter) { } } -void sub_0803CAD0(Entity *this) { +void sub_0803CAD0(Entity* this) { if (sub_0806FCB8(this, this->field_0x74.HWORD, this->field_0x76.HWORD, 1) == 0) { - this->direction = sub_080045D4(this->x.HALF.HI, this->y.HALF.HI, this->field_0x74.HWORD, this->field_0x76.HWORD); + this->direction = + sub_080045D4(this->x.HALF.HI, this->y.HALF.HI, this->field_0x74.HWORD, this->field_0x76.HWORD); sub_080AEFE0(this); } } -bool32 sub_0803CB04(Entity *this) { +bool32 sub_0803CB04(Entity* this) { bool32 returnValue; u8 delay; delay = --this->actionDelay; if (delay != 0) { returnValue = 0; - } - else { + } else { sub_0803CB34(this); this->field_0x78.HALF.HI = delay; @@ -341,7 +337,7 @@ bool32 sub_0803CB04(Entity *this) { return returnValue; } -void sub_0803CB34(Entity *this) { +void sub_0803CB34(Entity* this) { this->action = LIGHTNING_THROW; this->damageType = 0xa6; @@ -350,9 +346,9 @@ void sub_0803CB34(Entity *this) { InitAnimationForceUpdate(this, this->animationState + 8); } -void Lakitu_SpawnLightning(Entity *this) { - Entity *lightning; - const OffsetCoords *offset; +void Lakitu_SpawnLightning(Entity* this) { + Entity* lightning; + const OffsetCoords* offset; lightning = sub_0804A98C(this, 18, 0); @@ -369,8 +365,8 @@ void Lakitu_SpawnLightning(Entity *this) { EnqueueSFX(0x193); } -void sub_0803CBAC(Entity *this) { - Entity *cloud; +void sub_0803CBAC(Entity* this) { + Entity* cloud; cloud = this->attachedEntity; if (cloud != NULL) { @@ -390,9 +386,9 @@ void sub_0803CBAC(Entity *this) { InitAnimationForceUpdate(this, this->animationState + 16); } -void sub_0803CC08(Entity *this) { - Entity *cloud; - Entity *fx; +void sub_0803CC08(Entity* this) { + Entity* cloud; + Entity* fx; cloud = this->attachedEntity; if (cloud == NULL) { @@ -439,27 +435,16 @@ void sub_0803CC08(Entity *this) { DeleteEntity(cloud); } -void (*const gUnk_080D0110[])(Entity *) = { - Lakitu_DoAction, - sub_0803C784, - sub_08001324, - sub_0804A7D4, - sub_08001242, - sub_0803C820, +void (*const gUnk_080D0110[])(Entity*) = { + Lakitu_DoAction, sub_0803C784, sub_08001324, sub_0804A7D4, sub_08001242, sub_0803C820, }; -void (*const LakituActionFuncs[])(Entity *) = { - Lakitu_Initialize, - Lakitu_Hide, - Lakitu_EndHide, - Lakitu_Idle, - Lakitu_BeginHide, - Lakitu_Lightning, - Lakitu_LightningDelay, - Lakitu_Cloudless, +void (*const LakituActionFuncs[])(Entity*) = { + Lakitu_Initialize, Lakitu_Hide, Lakitu_EndHide, Lakitu_Idle, + Lakitu_BeginHide, Lakitu_Lightning, Lakitu_LightningDelay, Lakitu_Cloudless, }; -void (*const gUnk_080D0148[])(Entity *) = { +void (*const gUnk_080D0148[])(Entity*) = { sub_0803C844, sub_0803C850, sub_0803C86C, diff --git a/src/enemy/lakituCloud.c b/src/enemy/lakituCloud.c index 85baf8ca..4ee9063b 100644 --- a/src/enemy/lakituCloud.c +++ b/src/enemy/lakituCloud.c @@ -2,61 +2,60 @@ #include "entity.h" #include "player.h" -extern u32 GetNextFunction(Entity *); +extern u32 GetNextFunction(Entity*); -extern void sub_0804A7D4(Entity *); -extern void sub_08001242(Entity *); +extern void sub_0804A7D4(Entity*); +extern void sub_08001242(Entity*); -extern void (*const gUnk_080D0418[6])(Entity *); -extern void (*const gUnk_080D0430[3])(Entity *); -extern void (*const gUnk_080D043C[3])(Entity *); +extern void (*const gUnk_080D0418[6])(Entity*); +extern void (*const gUnk_080D0430[3])(Entity*); +extern void (*const gUnk_080D043C[3])(Entity*); -extern bool32 sub_0806F3E4(Entity *); -extern bool32 sub_0806F520(Entity *); +extern bool32 sub_0806F3E4(Entity*); +extern bool32 sub_0806F520(Entity*); -extern void sub_0800449C(Entity *, u32); -extern void sub_0803CE14(Entity *); -extern void sub_0803CE3C(Entity *); -extern Entity *GetCurrentRoomProperty(u8); -extern void sub_0806F4E8(Entity *); -extern void sub_0806F69C(Entity *); +extern void sub_0800449C(Entity*, u32); +extern void sub_0803CE14(Entity*); +extern void sub_0803CE3C(Entity*); +extern Entity* GetCurrentRoomProperty(u8); +extern void sub_0806F4E8(Entity*); +extern void sub_0806F69C(Entity*); extern void sub_08079D84(void); -extern void sub_080A2CC0(Entity *, Entity **, u16 *); +extern void sub_080A2CC0(Entity*, Entity**, u16*); -void LakituCloud(Entity *this) { +void LakituCloud(Entity* this) { gUnk_080D0418[GetNextFunction(this)](this); } -void sub_0803CCD4(Entity *this) { +void sub_0803CCD4(Entity* this) { gUnk_080D0430[this->action](this); } -void sub_0803CCEC(Entity *this) { +void sub_0803CCEC(Entity* this) { this->field_0x42 = 0; sub_0803CCD4(this); } -void sub_0803CCFC(Entity *this) { +void sub_0803CCFC(Entity* this) { if (sub_0806F520(this) == 0) { if (this->previousActionFlag == 2) { sub_0803CE3C(this); } - } - else { + } else { gUnk_080D043C[this->previousActionFlag](this); } } -void sub_0803CD2C(Entity *this) { +void sub_0803CD2C(Entity* this) { this->previousActionFlag = 1; this->field_0x1d = 0x3c; } -void sub_0803CD38(Entity *this) { +void sub_0803CD38(Entity* this) { sub_0806F4E8(this); } -void sub_0803CD40(Entity *this) { +void sub_0803CD40(Entity* this) { if (!sub_0806F3E4(this)) { return; } @@ -69,8 +68,8 @@ void sub_0803CD40(Entity *this) { sub_0803CE3C(this); } -void sub_0803CD6C(Entity *this) { - Entity *lakitu; +void sub_0803CD6C(Entity* this) { + Entity* lakitu; this->action = 1; this->height.HALF.HI = -2; @@ -88,7 +87,7 @@ void sub_0803CD6C(Entity *this) { sub_0803CE14(this); } -void sub_0803CDA8(Entity *this) { +void sub_0803CDA8(Entity* this) { UpdateAnimationSingleFrame(this); if ((this->direction & 0x80) == 0) { @@ -100,7 +99,7 @@ void sub_0803CDA8(Entity *this) { } } -void sub_0803CDD8(Entity *this) { +void sub_0803CDD8(Entity* this) { u8 one; u8 draw; @@ -112,14 +111,14 @@ void sub_0803CDD8(Entity *this) { if (this->actionDelay == 0) { this->action = 1; - + this->flags |= 0x80; this->spriteSettings.b.draw = one; } } -void sub_0803CE14(Entity *this) { +void sub_0803CE14(Entity* this) { u8 direction; sub_080A2CC0(this, &this->attachedEntity, &this->field_0x74.HWORD); @@ -134,7 +133,7 @@ void sub_0803CE14(Entity *this) { InitAnimationForceUpdate(this, direction); } -void sub_0803CE3C(Entity *this) { +void sub_0803CE3C(Entity* this) { CreateFx(this, 2, 0); this->action = 2; @@ -152,22 +151,17 @@ void sub_0803CE3C(Entity *this) { sub_0803CE14(this); } -void (*const gUnk_080D0418[])(Entity *) = { - sub_0803CCD4, - sub_0803CCD4, - sub_0803CCEC, - sub_0804A7D4, - sub_08001242, - sub_0803CCFC, +void (*const gUnk_080D0418[])(Entity*) = { + sub_0803CCD4, sub_0803CCD4, sub_0803CCEC, sub_0804A7D4, sub_08001242, sub_0803CCFC, }; -void (*const gUnk_080D0430[])(Entity *) = { +void (*const gUnk_080D0430[])(Entity*) = { sub_0803CD6C, sub_0803CDA8, sub_0803CDD8, }; -void (*const gUnk_080D043C[])(Entity *) = { +void (*const gUnk_080D043C[])(Entity*) = { sub_0803CD2C, sub_0803CD38, sub_0803CD40, diff --git a/src/enemy/likeLike.c b/src/enemy/likeLike.c index ca50374f..43c2417d 100644 --- a/src/enemy/likeLike.c +++ b/src/enemy/likeLike.c @@ -265,23 +265,10 @@ void sub_08028224(u32 param_1) { TextboxNoOverlapFollow(0x579); } - -void (*const gUnk_080CC6FC[])(Entity *) = { - sub_08027D8C, - sub_08027DA4, - sub_08001324, - sub_08027E40, - sub_08001242, - nullsub_139, +void (*const gUnk_080CC6FC[])(Entity*) = { + sub_08027D8C, sub_08027DA4, sub_08001324, sub_08027E40, sub_08001242, nullsub_139, }; -void (*const gUnk_080CC714[])(Entity *) = { - sub_08027E70, - sub_08027EFC, - nullsub_12, - sub_08027F84, - sub_08027FB4, - sub_08027FE0, - sub_0802802C, - sub_0802805C, +void (*const gUnk_080CC714[])(Entity*) = { + sub_08027E70, sub_08027EFC, nullsub_12, sub_08027F84, sub_08027FB4, sub_08027FE0, sub_0802802C, sub_0802805C, }; diff --git a/src/enemy/miniSlime.c b/src/enemy/miniSlime.c index 973f8839..55af91ab 100644 --- a/src/enemy/miniSlime.c +++ b/src/enemy/miniSlime.c @@ -65,7 +65,7 @@ void sub_080452E4(Entity* this) { this->actionDelay = (Random() & 0x1f) + 1; } -void sub_080452FC(Entity *this) { +void sub_080452FC(Entity* this) { u32 cVar2, bVar3; GetNextFrame(this); if (--this->actionDelay == 0) { diff --git a/src/enemy/moldorm.c b/src/enemy/moldorm.c index 3338a15a..6f86d987 100644 --- a/src/enemy/moldorm.c +++ b/src/enemy/moldorm.c @@ -173,7 +173,7 @@ void sub_08022F14(Entity* this) { this->direction += this->field_0x78.HALF.LO; this->direction &= 0x1f; - + this->animationState = ((this->direction + 2) & 0x1c) >> 2; this->frameIndex = this->animationState; } diff --git a/src/enemy/peahat.c b/src/enemy/peahat.c index 664e1615..828c2c4d 100644 --- a/src/enemy/peahat.c +++ b/src/enemy/peahat.c @@ -356,7 +356,7 @@ void sub_080205F8(Entity* this) { this->actionDelay = 60; } -void sub_08020604(Entity *this){ +void sub_08020604(Entity* this) { if (!sub_08049FA0(this) && (Random() & 3)) { this->direction = sub_08049EE4(this); } else { @@ -365,8 +365,6 @@ void sub_08020604(Entity *this){ } } - - // clang-format off void (*const gPeahatFunctions[])(Entity*) = { Peahat_OnTick, @@ -414,4 +412,3 @@ const s8 gUnk_080CA5D4[] = { }; */ // clang-format on - diff --git a/src/enemy/smallPesto.c b/src/enemy/smallPesto.c index 299d9219..b01daa8d 100644 --- a/src/enemy/smallPesto.c +++ b/src/enemy/smallPesto.c @@ -24,99 +24,98 @@ void sub_08031840(Entity*); extern BoundingBox gUnk_080CE560; -void SmallPesto(Entity *this){ - gUnk_080CE530[GetNextFunction(this)](this); +void SmallPesto(Entity* this) { + gUnk_080CE530[GetNextFunction(this)](this); } -void sub_08031680(Entity *this){ - gUnk_080CE548[this->action](this); +void sub_08031680(Entity* this) { + gUnk_080CE548[this->action](this); } -void nullsub_152(){} - -void sub_0803169C(Entity *this){ - s32 iVar1; - - GetNextFrame(this); - iVar1 = sub_0806F520(this); - if (iVar1 == 0) { - this->action = 1; - this->previousActionFlag = 0; - this->flags = this->flags | 0x80; - this->nonPlanarMovement = 0x40; - this->field_0xf = 1; - } - else { - gUnk_080CE554[this->previousActionFlag](this); - } +void nullsub_152() { } -void sub_080316DC(Entity *this){ - this->previousActionFlag = 1; - this->field_0x1d = 0x3c; +void sub_0803169C(Entity* this) { + s32 iVar1; + + GetNextFrame(this); + iVar1 = sub_0806F520(this); + if (iVar1 == 0) { + this->action = 1; + this->previousActionFlag = 0; + this->flags = this->flags | 0x80; + this->nonPlanarMovement = 0x40; + this->field_0xf = 1; + } else { + gUnk_080CE554[this->previousActionFlag](this); + } } -void sub_080316E8(Entity *this){ +void sub_080316DC(Entity* this) { + this->previousActionFlag = 1; + this->field_0x1d = 0x3c; +} + +void sub_080316E8(Entity* this) { sub_0806F4E8(this); } -void sub_080316F0(Entity *this){ - if (sub_0806F3E4()) { - sub_0804A7D4(this); - } +void sub_080316F0(Entity* this) { + if (sub_0806F3E4()) { + sub_0804A7D4(this); + } } -void sub_08031704(Entity *this){ - sub_0804A720(this); - sub_080317F8(this); +void sub_08031704(Entity* this) { + sub_0804A720(this); + sub_080317F8(this); } -void sub_08031714(Entity* this){ +void sub_08031714(Entity* this) { u8 newDirection; sub_080317B4(this); - if(--this->field_0xf == 0){ + if (--this->field_0xf == 0) { this->field_0xf = (Random() & 0xf) + 0x10; - if(sub_08049FA0(this) == 0){ - if((this->field_0xf & 1) != 0){ + if (sub_08049FA0(this) == 0) { + if ((this->field_0xf & 1) != 0) { this->direction = sub_08049EE4(this); goto _08031766; } } - this->direction += 0x18; - this->direction = ((Random() & 0xe) + this->direction) & 0x1f; + this->direction += 0x18; + this->direction = ((Random() & 0xe) + this->direction) & 0x1f; _08031766: - sub_080317E0(this); + sub_080317E0(this); } } -void sub_08031770(Entity* this){ - if(this->field_0x80.HWORD != 0){ - if(--this->field_0x80.HWORD == 0){ +void sub_08031770(Entity* this) { + if (this->field_0x80.HWORD != 0) { + if (--this->field_0x80.HWORD == 0) { sub_08031840(this); } - }else if(this->attachedEntity == NULL){ + } else if (this->attachedEntity == NULL) { this->field_0x80.HWORD = (Random() & 0x7f) | (0x80 << 2); - }else{ - if(this->attachedEntity->next == NULL){ + } else { + if (this->attachedEntity->next == NULL) { this->attachedEntity = NULL; } } return; } -void sub_080317B4(Entity* this){ - this->height.HALF.HI = ((Random() & 0x30) != 0) ? -0xc : -0xd; +void sub_080317B4(Entity* this) { + this->height.HALF.HI = ((Random() & 0x30) != 0) ? -0xc : -0xd; sub_0806F69C(this); GetNextFrame(this); } - -void sub_080317E0(Entity *this){ +void sub_080317E0(Entity* this) { this->animationState = ((u8)(this->direction + 2) & 0x1c) >> 2; InitializeAnimation(this, this->animationState); } -void sub_080317F8(Entity *this){ +void sub_080317F8(Entity* this) { u8 newDirection = Random() & 0x18; this->action = 1; this->height.HALF.HI = 0x0000FFF4; @@ -130,13 +129,12 @@ void sub_080317F8(Entity *this){ this->field_0xf = 0x20; } -void sub_08031840(Entity* this){ - Entity *enemy = CreateEnemy(0x2d, this->entityType.form); - if(enemy!= NULL){ +void sub_08031840(Entity* this) { + Entity* enemy = CreateEnemy(0x2d, this->entityType.form); + if (enemy != NULL) { CopyPosition(this, enemy); enemy->parent = this; this->attachedEntity = enemy; enemy->entityType.parameter = 1; } } - diff --git a/src/enemy/treeItem.c b/src/enemy/treeItem.c old mode 100755 new mode 100644 index 24cd16bb..38fce4c3 --- a/src/enemy/treeItem.c +++ b/src/enemy/treeItem.c @@ -87,10 +87,8 @@ static bool32 ShouldSpawnTreeItem(Entity* this) { } playerState = gPlayerEntity.animationState; - if ((playerState == 0 && expectedStateY == 0) || - (playerState == 4 && expectedStateY == 4) || - (playerState == 6 && expectedStateX == 6) || - (playerState == 2 && expectedStateX == 2)) { + if ((playerState == 0 && expectedStateY == 0) || (playerState == 4 && expectedStateY == 4) || + (playerState == 6 && expectedStateX == 6) || (playerState == 2 && expectedStateX == 2)) { return TRUE; } diff --git a/src/entity.c b/src/entity.c index 1b8d1cb1..4327bd42 100644 --- a/src/entity.c +++ b/src/entity.c @@ -317,10 +317,8 @@ Entity* FindEntityInListByForm(int type, int subtype, int listIndex, int form, i list = &gEntityLists[listIndex]; for (i = list->first; (u32)i != (u32)list; i = i->next) { - if (type == i->entityType.type - && subtype == i->entityType.subtype - && form == i->entityType.form - && parameter == i->entityType.parameter) + if (type == i->entityType.type && subtype == i->entityType.subtype && form == i->entityType.form && + parameter == i->entityType.parameter) return i; } return NULL; diff --git a/src/flags.c b/src/flags.c index 5cce7c9e..6f1d5d56 100644 --- a/src/flags.c +++ b/src/flags.c @@ -17,20 +17,19 @@ u32 CheckFlags(u32 flags) { s32 uVar1; s32 index; s32 length; - index = flags & 0x3ff; - length = (((flags & (0xf0) << 0x6) >> 0xa) + 1); - uVar1 = (flags & 0xc000) >> 0xe; - switch ((u32)uVar1) { - case 2: - return CheckRoomFlags(index, length); - case 0: - return CheckLocalFlags(index, length); - case 1: - return CheckGlobalFlags(index, length); - default: - return 0; - } - + index = flags & 0x3ff; + length = (((flags & (0xf0) << 0x6) >> 0xa) + 1); + uVar1 = (flags & 0xc000) >> 0xe; + switch ((u32)uVar1) { + case 2: + return CheckRoomFlags(index, length); + case 0: + return CheckLocalFlags(index, length); + case 1: + return CheckGlobalFlags(index, length); + default: + return 0; + } } u32 CheckGlobalFlag(u32 flag) { diff --git a/src/initializePlayer.c b/src/initializePlayer.c index bf112c39..966b71fb 100644 --- a/src/initializePlayer.c +++ b/src/initializePlayer.c @@ -13,17 +13,16 @@ extern Entity gPlayerEntity; extern u8 gUnk_080FCAC8[]; -void InitializePlayer(void) -{ +void InitializePlayer(void) { Entity* pl; sub_080784C8(); - _DmaZero((void *)&gUnk_03000B80, 0x70); - _DmaZero((void *)&gPlayerState, 0xb0); + _DmaZero((void*)&gUnk_03000B80, 0x70); + _DmaZero((void*)&gPlayerState, 0xb0); _DmaFill32(0xffffffff, &gPlayerState.field_0x40, 0x40); pl = &gPlayerEntity; - _DmaZero((void *)pl, 0x88); + _DmaZero((void*)pl, 0x88); gRoomControls.cameraTarget = pl; gPlayerState.playerAction = gUnk_080FCAC8[gScreenTransition.field_0xf]; if (!CheckGlobalFlag(0x14)) { @@ -54,15 +53,15 @@ void InitializePlayer(void) case 0xc: gPlayerState.field_0x34[4] = 4; } - pl->entityType.type = 1; - pl->flags |= 0xa0; - pl->spritePriority.b0 = 4; - pl->currentHealth = gUnk_02002A40.stats.health; - pl->x.HALF.HI = gScreenTransition.playerStartPos.HALF.x; - pl->y.HALF.HI = gScreenTransition.playerStartPos.HALF.y; - pl->animationState = gScreenTransition.playerState; - pl->collisionLayer = gScreenTransition.playerLayer; - UpdateSpriteForCollisionLayer(pl); - AppendEntityToList(pl, 1); - sub_08017640(); + pl->entityType.type = 1; + pl->flags |= 0xa0; + pl->spritePriority.b0 = 4; + pl->currentHealth = gUnk_02002A40.stats.health; + pl->x.HALF.HI = gScreenTransition.playerStartPos.HALF.x; + pl->y.HALF.HI = gScreenTransition.playerStartPos.HALF.y; + pl->animationState = gScreenTransition.playerState; + pl->collisionLayer = gScreenTransition.playerLayer; + UpdateSpriteForCollisionLayer(pl); + AppendEntityToList(pl, 1); + sub_08017640(); } diff --git a/src/input.c b/src/input.c index b9ea2c72..64386be6 100644 --- a/src/input.c +++ b/src/input.c @@ -4,29 +4,25 @@ static void StoreKeyInput(Input*, u32); -void ReadKeyInput(void) -{ +void ReadKeyInput(void) { u32 keyInput = ~REG_KEYINPUT & KEYS_MASK; StoreKeyInput(&gUnk_03000FF0, keyInput); } -static void StoreKeyInput(Input *input, u32 keyInput) -{ - u32 heldKeys = input->heldKeys; - u32 difference = keyInput & ~heldKeys; - input->newKeys = difference; - if (keyInput == heldKeys) { - if (--input->unk7 == 0) { - input->unk7 = 4; - input->unk4 = keyInput; +static void StoreKeyInput(Input* input, u32 keyInput) { + u32 heldKeys = input->heldKeys; + u32 difference = keyInput & ~heldKeys; + input->newKeys = difference; + if (keyInput == heldKeys) { + if (--input->unk7 == 0) { + input->unk7 = 4; + input->unk4 = keyInput; + } else { + input->unk4 = 0; + } + } else { + input->unk7 = 0x14; + input->unk4 = difference; } - else { - input->unk4 = 0; - } - } - else { - input->unk7 = 0x14; - input->unk4 = difference; - } - input->heldKeys = keyInput; + input->heldKeys = keyInput; } diff --git a/src/intro.c b/src/intro.c index 53466e3b..090c9b9d 100644 --- a/src/intro.c +++ b/src/intro.c @@ -48,52 +48,43 @@ static void (*const sIntroSequenceHandlers[])(void) = { }; static const u16 sLightRaysAlphaBlends[] = { - BLDALPHA_BLEND(9, 9), - BLDALPHA_BLEND(8, 10), - BLDALPHA_BLEND(7, 11), - BLDALPHA_BLEND(6, 12), - BLDALPHA_BLEND(5, 13), - BLDALPHA_BLEND(6, 12), - BLDALPHA_BLEND(7, 11), - BLDALPHA_BLEND(8, 10), + BLDALPHA_BLEND(9, 9), BLDALPHA_BLEND(8, 10), BLDALPHA_BLEND(7, 11), BLDALPHA_BLEND(6, 12), + BLDALPHA_BLEND(5, 13), BLDALPHA_BLEND(6, 12), BLDALPHA_BLEND(7, 11), BLDALPHA_BLEND(8, 10), }; -static u32 AdvanceIntroSequence(u32 transition) -{ +static u32 AdvanceIntroSequence(u32 transition) { gUnk_02032EC0.transitionType = transition; gUnk_03001000.funcIndex = 2; _DmaZero(&gIntroState, sizeof(gIntroState)); DoFade(7, 8); } -void HandleIntroScreen(void) -{ - sub_080AD90C(); - switch (gUnk_03001000.funcIndex) { - case 0: - sub_08056418(); - _DmaZero(&gUnk_02032EC0, 0x3b4); - AdvanceIntroSequence(0); - break; - case 1: - sIntroSequenceHandlers[gUnk_02032EC0.transitionType](); - break; - case 2: - if (gFadeControl.active) { - return; - } - sub_0801DA90(1); - gUnk_03001000.funcIndex = 1; - break; - } - sub_080AD918(); +void HandleIntroScreen(void) { + sub_080AD90C(); + switch (gUnk_03001000.funcIndex) { + case 0: + sub_08056418(); + _DmaZero(&gUnk_02032EC0, 0x3b4); + AdvanceIntroSequence(0); + break; + case 1: + sIntroSequenceHandlers[gUnk_02032EC0.transitionType](); + break; + case 2: + if (gFadeControl.active) { + return; + } + sub_0801DA90(1); + gUnk_03001000.funcIndex = 1; + break; + } + sub_080AD918(); } -static void HandleNintendoCapcomLogos(void) -{ +static void HandleNintendoCapcomLogos(void) { u32 advance; u32 paletteGroup; - + advance = GetAdvanceState(); if (gIntroState.state == 0) { sub_0801DA90(1); @@ -101,10 +92,9 @@ static void HandleNintendoCapcomLogos(void) gIntroState.timer = 120; LoadGfxGroup(16); LoadGfxGroup(1); - if (((struct_02000000 *)0x2000000)->gameLanguage == 0) { + if (((struct_02000000*)0x2000000)->gameLanguage == 0) { paletteGroup = 1; - } - else { + } else { paletteGroup = 2; } LoadPaletteGroup(paletteGroup); @@ -126,8 +116,7 @@ static void HandleNintendoCapcomLogos(void) extern u16 gUnk_03001010[5]; -static void HandleTitlescreen(void) -{ +static void HandleTitlescreen(void) { int advance; u32 paletteGroup; @@ -145,8 +134,7 @@ static void HandleTitlescreen(void) LoadGfxGroup(2); if (((struct_02000000*)0x2000000)->gameLanguage == 0) { paletteGroup = 3; - } - else { + } else { paletteGroup = 4; } LoadPaletteGroup(paletteGroup); @@ -158,8 +146,7 @@ static void HandleTitlescreen(void) gScreen.affine.bg3Control = 0x1e03; gScreen.lcd.displayControl |= 0x1e00; gScreen.bg.bg2xOffset = 0xff60; - } - else { + } else { gScreen.controls.layerFXControl = 0x241; gScreen.controls.alphaBlend = BLDALPHA_BLEND(9, 9); gScreen.bg.bg0Control = 0x1d02; @@ -171,7 +158,7 @@ static void HandleTitlescreen(void) UpdateSwordBgAffineData(); } sub_080A3210(); - PlaySFX(3); //fanfare + PlaySFX(3); // fanfare DoFade(6, 8); break; case 1: @@ -180,8 +167,7 @@ static void HandleTitlescreen(void) } if (((struct_02000000*)0x2000000)->gameLanguage == 0) { HandleJapaneseTitlescreenAnimationIntro(); - } - else { + } else { HandleTitlescreenAnimationIntro(); } break; @@ -197,8 +183,7 @@ static void HandleTitlescreen(void) if (advance != ADVANCE_NONE) { if (advance == ADVANCE_KEY_PRESSED) { PlaySFX(0x6a); - } - else { + } else { advance = ADVANCE_NONE; } AdvanceIntroSequence(advance); @@ -208,7 +193,7 @@ static void HandleTitlescreen(void) if ((gIntroState.timer & 0x20) == 0) { gUnk_03001010[4] = 0xe000; gUnk_03001010[1] = 0x84; - sub_080ADA14(0x1ff,0); + sub_080ADA14(0x1ff, 0); } } if (gIntroState.gameLanguage != ((struct_02000000*)0x2000000)->gameLanguage) { @@ -230,8 +215,7 @@ static void UpdatePressStartIcon(void) { return; } -static void UpdateSwordBgAffineData(void) -{ +static void UpdateSwordBgAffineData(void) { struct BgAffineSrcData aff; aff.texY = 0x8000; aff.texX = 0x8000; @@ -242,9 +226,8 @@ static void UpdateSwordBgAffineData(void) BgAffineSet(&aff, (struct BgAffineDstData*)&gBgControls, 1); } -static void HandleJapaneseTitlescreenAnimationIntro(void) -{ - Entity *pEVar2; +static void HandleJapaneseTitlescreenAnimationIntro(void) { + Entity* pEVar2; switch (gIntroState.subState) { case 0: @@ -268,7 +251,7 @@ static void HandleJapaneseTitlescreenAnimationIntro(void) gFadeControl.field_0x4 = -1; gIntroState.subState++; gIntroState.timer = 90; - pEVar2 = CreateObject(0xb4,0,0); + pEVar2 = CreateObject(0xb4, 0, 0); if (pEVar2 != NULL) { pEVar2->x.HALF.HI = 0; pEVar2->y.HALF.HI = 0x48; diff --git a/src/item.c b/src/item.c index 52b94c07..3561ba36 100644 --- a/src/item.c +++ b/src/item.c @@ -2,41 +2,12 @@ #include "entity.h" #include "item.h" - // TODO - How does this relate to PlayerItemFunctions? Is this just a lookup table? void (*const gItemFunctions[])(ItemBehavior*, u32) = { - DebugItem, - Sword, - Sword, - Sword, - Sword, - Sword, - Sword, - Bomb, - Bomb, - Bow, - Bow, - sub_08075D14, - sub_08075D14, - Shield, - Shield, - Lantern, - Lantern, - GustJar, - PacciCane, - MoleMitts, - RocsCape, - sub_08076800, - DebugItem, - Ocarina, - DebugItem, - DebugItem, - DebugItem, - TryPickupObject, - JarEmpty, - JarEmpty, - JarEmpty, - JarEmpty, + DebugItem, Sword, Sword, Sword, Sword, Sword, Sword, Bomb, + Bomb, Bow, Bow, sub_08075D14, sub_08075D14, Shield, Shield, Lantern, + Lantern, GustJar, PacciCane, MoleMitts, RocsCape, sub_08076800, DebugItem, Ocarina, + DebugItem, DebugItem, DebugItem, TryPickupObject, JarEmpty, JarEmpty, JarEmpty, JarEmpty, }; extern void sub_08077E78(ItemBehavior*, u32); @@ -141,20 +112,17 @@ void sub_08076D34(ItemBehavior* beh, u32 arg1) { } } -void sub_08076D94(ItemBehavior *beh, u32 arg1) -{ - if (sub_08077EFC(beh)) { - gPlayerState.field_0x3[0] |= 1; - UpdateItemAnim(beh); - } - else { - gPlayerState.field_0x3[0] = 0; - sub_08077E78(beh, arg1); - } +void sub_08076D94(ItemBehavior* beh, u32 arg1) { + if (sub_08077EFC(beh)) { + gPlayerState.field_0x3[0] |= 1; + UpdateItemAnim(beh); + } else { + gPlayerState.field_0x3[0] = 0; + sub_08077E78(beh, arg1); + } } -void GustJar(ItemBehavior *beh, u32 arg1) -{ +void GustJar(ItemBehavior* beh, u32 arg1) { gPlayerState.field_0xa8 = 3; gUnk_0811BDF4[beh->stateID](beh, arg1); } diff --git a/src/item11.c b/src/item11.c index 12d4a563..b77eae9b 100644 --- a/src/item11.c +++ b/src/item11.c @@ -14,69 +14,64 @@ extern BoundingBox gUnk_080B3E18; extern u8 gUnk_080B3DE0[]; extern BoundingBox* gUnk_080B3DE8[]; -void Item11(Entity *this) -{ - if (this->currentHealth) { - this->hurtBlinkTime = 0; - gUnk_080B3DD0[this->action](this); - } - else { - DeleteThisEntity(); - } -} - -void sub_08018CBC(Entity *this) -{ - u32 PVar1; - u8 uVar2; - Entity *pEVar3; - - *(u32 *)&this->cutsceneBeh = this->x.WORD = gPlayerEntity.x.WORD; - *(u32 *)&this->field_0x80 = this->y.WORD = gPlayerEntity.y.WORD; - uVar2 = this->animationState = gPlayerEntity.animationState & 0xe; - this->direction = (u8)(uVar2 << 2); - this->nonPlanarMovement = 0x400; - this->damageType = 0x96; - this->field_0x3c = (gPlayerEntity.field_0x3c + 1) | 0x80; - this->flags2 = gPlayerEntity.flags2; - pEVar3 = this->attachedEntity; - if (pEVar3 != NULL) { - this->action = 1; - this->flags = this->flags & 0x7f; - this->actionDelay = 0x56; - this->field_0x40 = 0x1c; - this->field_0x44 = 6; - this->boundingBox = &gUnk_080B3E18; - this->attachedEntity->spriteOffsetX = 0; - this->attachedEntity->spriteSettings.b.draw = 0; - } - else { - if (gPlayerState.field_0x1c == 0) { - DeleteThisEntity(); +void Item11(Entity* this) { + if (this->currentHealth) { + this->hurtBlinkTime = 0; + gUnk_080B3DD0[this->action](this); + } else { + DeleteThisEntity(); } - this->action = 2; - this->spriteSettings.b.draw = 1; - this->spriteIndex = 0xa6; - this->palette.raw = 0x33; - this->spriteVramOffset = 0; - (this->entityType).form = gPlayerState.field_0x1d[0] - 1; - this->actionDelay = gUnk_080B3DE0[(this->entityType).form * 2]; - this->field_0x44 = gUnk_080B3DE0[(this->entityType).form * 2 + 1]; - this->field_0x40 = 0x1b; - this->boundingBox = gUnk_080B3DE8[(this->entityType).form]; - (u32 *)gPlayerEntity.field_0x70.WORD = this; - sub_08078CD0(&gPlayerEntity); - (u32 *)gPlayerEntity.field_0x70.WORD = pEVar3; - InitializeAnimation(this, (this->entityType).form + 10); - sub_08018FA0(this); - } - sub_0801766C(this); } -void sub_08018DE8(Entity *this) -{ +void sub_08018CBC(Entity* this) { + u32 PVar1; + u8 uVar2; + Entity* pEVar3; + + *(u32*)&this->cutsceneBeh = this->x.WORD = gPlayerEntity.x.WORD; + *(u32*)&this->field_0x80 = this->y.WORD = gPlayerEntity.y.WORD; + uVar2 = this->animationState = gPlayerEntity.animationState & 0xe; + this->direction = (u8)(uVar2 << 2); + this->nonPlanarMovement = 0x400; + this->damageType = 0x96; + this->field_0x3c = (gPlayerEntity.field_0x3c + 1) | 0x80; + this->flags2 = gPlayerEntity.flags2; + pEVar3 = this->attachedEntity; + if (pEVar3 != NULL) { + this->action = 1; + this->flags = this->flags & 0x7f; + this->actionDelay = 0x56; + this->field_0x40 = 0x1c; + this->field_0x44 = 6; + this->boundingBox = &gUnk_080B3E18; + this->attachedEntity->spriteOffsetX = 0; + this->attachedEntity->spriteSettings.b.draw = 0; + } else { + if (gPlayerState.field_0x1c == 0) { + DeleteThisEntity(); + } + this->action = 2; + this->spriteSettings.b.draw = 1; + this->spriteIndex = 0xa6; + this->palette.raw = 0x33; + this->spriteVramOffset = 0; + (this->entityType).form = gPlayerState.field_0x1d[0] - 1; + this->actionDelay = gUnk_080B3DE0[(this->entityType).form * 2]; + this->field_0x44 = gUnk_080B3DE0[(this->entityType).form * 2 + 1]; + this->field_0x40 = 0x1b; + this->boundingBox = gUnk_080B3DE8[(this->entityType).form]; + (u32*)gPlayerEntity.field_0x70.WORD = this; + sub_08078CD0(&gPlayerEntity); + (u32*)gPlayerEntity.field_0x70.WORD = pEVar3; + InitializeAnimation(this, (this->entityType).form + 10); + sub_08018FA0(this); + } + sub_0801766C(this); +} + +void sub_08018DE8(Entity* this) { u8 bVar1; - + bVar1 = this->attachedEntity->field_0x3a & 4; if (bVar1 == 0) { gPlayerState.field_0x1c = bVar1; diff --git a/src/loadRoom.c b/src/loadRoom.c index 7a52709d..3e756c15 100644 --- a/src/loadRoom.c +++ b/src/loadRoom.c @@ -47,7 +47,7 @@ void sub_0804B058(EntityData* dat) { } uVar2++; dat++; - } while (*(u8*)dat!= 0xff); + } while (*(u8*)dat != 0xff); } } diff --git a/src/mainLoop.c b/src/mainLoop.c index 3ad0eaae..33c1d27a 100644 --- a/src/mainLoop.c +++ b/src/mainLoop.c @@ -15,12 +15,9 @@ static void sub_08055F70(void); static bool32 SoftResetKeysPressed(void); static void (*const sScreenHandlers[])(void) = { - [SCREEN_INTRO] = HandleIntroScreen, - [SCREEN_CHOOSE_FILE] = HandleChooseFileScreen, - [SCREEN_GAMEPLAY] = HandleGameplayScreen, - [SCREEN_GAME_OVER] = HandleGameOverScreen, - [SCREEN_CREDITS] = HandleCreditsScreen, - [SCREEN_DEBUG_TEXT] = HandleDebugTextScreen, + [SCREEN_INTRO] = HandleIntroScreen, [SCREEN_CHOOSE_FILE] = HandleChooseFileScreen, + [SCREEN_GAMEPLAY] = HandleGameplayScreen, [SCREEN_GAME_OVER] = HandleGameOverScreen, + [SCREEN_CREDITS] = HandleCreditsScreen, [SCREEN_DEBUG_TEXT] = HandleDebugTextScreen, }; void MainLoop(void) { @@ -93,7 +90,7 @@ static void sub_08055F70(void) { DisableInterruptsAndDMA(); RegisterRamReset(RESET_ALL & ~RESET_EWRAM); - *(vu16 *)BG_PLTT = 0x7FFF; + *(vu16*)BG_PLTT = 0x7FFF; REG_WAITCNT = WAITCNT_PREFETCH_ENABLE | WAITCNT_WS0_S_1 | WAITCNT_WS0_N_3; size = 0x3FFD0; _DmaZero(gUnk_02000030, size); diff --git a/src/manager/manager1.c b/src/manager/manager1.c index 6be9a387..31c20d17 100644 --- a/src/manager/manager1.c +++ b/src/manager/manager1.c @@ -13,52 +13,47 @@ extern void (*const gUnk_08107C48[])(Entity*); extern u8 gUnk_08107C40[]; -void Manager1(Entity *this) -{ - u8 bVar1; - u8 *pbVar2; - - gUnk_08107C5C[this->action](this); - gUnk_08107C48[((u8*)&this->field_0x20)[1]](this); - bVar1 = gUnk_08107C40[((u8*)&this->field_0x20)[1]]; - if ((bVar1 != 0) && (*(u8 *)&this->field_0x20 != bVar1)) { - ((u8*)&this->field_0x20)[0] = bVar1; - LoadGfxGroup(bVar1); - } +void Manager1(Entity* this) { + u8 bVar1; + u8* pbVar2; + + gUnk_08107C5C[this->action](this); + gUnk_08107C48[((u8*)&this->field_0x20)[1]](this); + bVar1 = gUnk_08107C40[((u8*)&this->field_0x20)[1]]; + if ((bVar1 != 0) && (*(u8*)&this->field_0x20 != bVar1)) { + ((u8*)&this->field_0x20)[0] = bVar1; + LoadGfxGroup(bVar1); + } } -void sub_080570B8(Entity *this) -{ - u8 *pbVar1; - - LoadGfxGroup(((u8 *)&this->field_0x20)[0]); - this->height.WORD = 0; - pbVar1 = ((u8 *)&this->field_0x20 + 1); - if (*pbVar1 == 3) { - gScreen.affine.unk4 = 1; - } - else { - gUnk_08107C48[*pbVar1](this); - } +void sub_080570B8(Entity* this) { + u8* pbVar1; + + LoadGfxGroup(((u8*)&this->field_0x20)[0]); + this->height.WORD = 0; + pbVar1 = ((u8*)&this->field_0x20 + 1); + if (*pbVar1 == 3) { + gScreen.affine.unk4 = 1; + } else { + gUnk_08107C48[*pbVar1](this); + } } -void sub_080570F8(void) -{ - gScreen.lcd.displayControl &= 0xf7ff; - gScreen.controls.layerFXControl = 0; - sub_08056250(); +void sub_080570F8(void) { + gScreen.lcd.displayControl &= 0xf7ff; + gScreen.controls.layerFXControl = 0; + sub_08056250(); } -void sub_08057118(Entity *this) -{ - this->actionDelay = 0; - *(u8 *)&this->field_0x20 = 0; - ((u8 *)&this->field_0x20)[1] = 0; - ((u8 *)&this->field_0x20)[2] = 0; - this->action = 1; - gScreen.affine.bg3Control = 0x1e04; - gScreen.lcd.displayControl |= 0x800; - gScreen.controls.layerFXControl = 0x3648; - gScreen.controls.alphaBlend = 0x1000; - sub_08052D74(this, sub_080570B8, sub_080570F8); +void sub_08057118(Entity* this) { + this->actionDelay = 0; + *(u8*)&this->field_0x20 = 0; + ((u8*)&this->field_0x20)[1] = 0; + ((u8*)&this->field_0x20)[2] = 0; + this->action = 1; + gScreen.affine.bg3Control = 0x1e04; + gScreen.lcd.displayControl |= 0x800; + gScreen.controls.layerFXControl = 0x3648; + gScreen.controls.alphaBlend = 0x1000; + sub_08052D74(this, sub_080570B8, sub_080570F8); } diff --git a/src/manager/manager15.c b/src/manager/manager15.c index c4d1f8b0..51a675f4 100644 --- a/src/manager/manager15.c +++ b/src/manager/manager15.c @@ -9,7 +9,7 @@ typedef struct { u8 unk_20; u8 unk_21; u8 unk_22; - u8 unk_23;//used + u8 unk_23; // used u16 unk_24; u16 unk_26; void* unk_28; @@ -20,7 +20,7 @@ typedef struct { s16 unk_38; s16 unk_3a; u16 unk_3c; - u16 unk_3e;//used + u16 unk_3e; // used } Manager15; extern void (*const gUnk_081085D8[])(Manager*); @@ -29,7 +29,6 @@ void sub_0805A280(Manager* this) { gUnk_081085D8[this->unk_0a](this); } - void sub_0805A89C(Manager15*); void sub_0805A8EC(Manager15*); void sub_0805AAF0(u32); @@ -86,7 +85,7 @@ void sub_0805A370(Manager15* this) { void sub_0805A394(Manager15* this) { Entity* ent; - if ((ent = FindEntityInListBySubtype(0x3,0x13,0x4))) { + if ((ent = FindEntityInListBySubtype(0x3, 0x13, 0x4))) { if (ent->entityType.form != 4) { return; } @@ -162,7 +161,7 @@ void sub_0805A4CC(Manager15* this, u32 unk_0) { if (tmp) { tmp->x.HALF.HI = this->unk_38 + gRoomControls.roomOriginX; tmp->y.HALF.HI = this->unk_3a + gRoomControls.roomOriginY - 0x30; - tmp->parent = (Entity*) this; + tmp->parent = (Entity*)this; this->manager.unk_0d = 0; } } @@ -197,13 +196,15 @@ void sub_0805A500(Manager15* this) { sub_0805AA58(this); sub_0805A9CC(this); if (gRoomControls.unk2 == 1) { - gScreen.lcd.displayControl |= 0x80<<7; + gScreen.lcd.displayControl |= 0x80 << 7; this->manager.unk_0d = 1; return; } - if (!this->manager.unk_0d) return; + if (!this->manager.unk_0d) + return; this->manager.unk_0d = 0; - if (this->unk_20 == gRoomControls.roomID) return; + if (this->unk_20 == gRoomControls.roomID) + return; gScreen.lcd.displayControl &= 0xB7FF; DeleteThisEntity(); } @@ -211,7 +212,7 @@ void sub_0805A500(Manager15* this) { void sub_0805A5FC(Manager15* this) { if (CheckLocalFlag(0x34)) { this->manager.action = 2; - sub_0805A4CC(this,2); + sub_0805A4CC(this, 2); } } @@ -225,7 +226,7 @@ void sub_0805A628(Manager15* this) { if (CheckLocalFlag(0x36)) { this->manager.action = 4; this->unk_23 = 3; - sub_0805A4CC(this,3); + sub_0805A4CC(this, 3); } } @@ -235,8 +236,10 @@ void sub_0805A64C(Manager15* this) { } } -void sub_0805A65C(Manager15* this) {} -void sub_0805A660(Manager15* this) {} +void sub_0805A65C(Manager15* this) { +} +void sub_0805A660(Manager15* this) { +} extern void (*const gUnk_08108638[])(Manager15*); void sub_0805A68C(Manager15*); @@ -259,7 +262,7 @@ void sub_0805A68C(Manager15* this) { if (this->unk_2c > 0x1000) { this->unk_2c--; } - gScreen.controls.alphaBlend=this->unk_2c; + gScreen.controls.alphaBlend = this->unk_2c; } } @@ -295,10 +298,7 @@ extern void sub_0805E4E0(Manager*, u32); extern void sub_08077B20(void); void sub_0805A76C(Manager15* this) { - if ((gPlayerEntity.currentHealth != 0) - && (gPlayerEntity.height.HALF.HI == 0) - && (!gPlayerState.field_0x2c) - ) { + if ((gPlayerEntity.currentHealth != 0) && (gPlayerEntity.height.HALF.HI == 0) && (!gPlayerState.field_0x2c)) { switch (gPlayerState.field_0xa9) { case 1: case 0: @@ -337,9 +337,10 @@ void sub_0805A804(Manager15* this) { sub_0805E3A0(this, 6); break; case 1: - if (CheckLocalFlag(this->unk_3e)) break; + if (CheckLocalFlag(this->unk_3e)) + break; this->manager.action = 2; - sub_0805A4CC(this,4); + sub_0805A4CC(this, 4); break; case 2: if (this->manager.unk_0d) { @@ -347,9 +348,10 @@ void sub_0805A804(Manager15* this) { } break; case 3: - if (!CheckLocalFlag(this->unk_3e)) break; + if (!CheckLocalFlag(this->unk_3e)) + break; this->manager.action = 4; - sub_0805A4CC(this,4); + sub_0805A4CC(this, 4); break; case 4: if (this->manager.unk_0d) { @@ -387,9 +389,11 @@ void sub_0805A8EC(Manager15* this) { gScreen.lcd.displayControl |= 0x4000; this->manager.unk_0d = 1; } else { - if (!this->manager.unk_0d) return; + if (!this->manager.unk_0d) + return; this->manager.unk_0d = 0; - if (this->unk_20 == gRoomControls.roomID) return; + if (this->unk_20 == gRoomControls.roomID) + return; gScreen.lcd.displayControl &= 0xB7FF; DeleteThisEntity(); } @@ -401,17 +405,25 @@ void sub_0805A94C(Manager15* this) { gScreen.affine.bg3yOffset = gRoomControls.roomScrollY - this->unk_26 + this->unk_36; tmp1 = -gScreen.affine.bg3xOffset; tmp2 = tmp1 + 0x100; - if (tmp1 < 0) tmp1 = 0; - if (tmp1 > 0xF0) tmp1 = 0xF0; - if (tmp2 < 0) tmp2 = 0; - if (tmp2 > 0xF0) tmp2 = 0xF0; + if (tmp1 < 0) + tmp1 = 0; + if (tmp1 > 0xF0) + tmp1 = 0xF0; + if (tmp2 < 0) + tmp2 = 0; + if (tmp2 > 0xF0) + tmp2 = 0xF0; gScreen.controls.window1HorizontalDimensions = (tmp1 << 8 | tmp2); tmp1 = -gScreen.affine.bg3yOffset; tmp2 = tmp1 + 0x100; - if (tmp1 < 0) tmp1 = 0; - if (tmp1 > 0xA0) tmp1 = 0xA0; - if (tmp2 < 0) tmp2 = 0; - if (tmp2 > 0xA0) tmp2 = 0xA0; + if (tmp1 < 0) + tmp1 = 0; + if (tmp1 > 0xA0) + tmp1 = 0xA0; + if (tmp2 < 0) + tmp2 = 0; + if (tmp2 > 0xA0) + tmp2 = 0xA0; gScreen.controls.window1VerticalDimensions = (tmp1 << 8 | tmp2); } @@ -424,18 +436,24 @@ void sub_0805A9CC(Manager15* this) { gScreen.affine.bg3xOffset = gRoomControls.roomScrollX - this->unk_24 + this->unk_34; tmp1 = -gScreen.affine.bg3xOffset; tmp2 = tmp1 + 0x100; - if (tmp1 < 0) tmp1 = 0; - if (tmp1 > 0xF0) tmp1 = 0xF0; - if (tmp2 < 0) tmp2 = 0; - if (tmp2 > 0xF0) tmp2 = 0xF0; + if (tmp1 < 0) + tmp1 = 0; + if (tmp1 > 0xF0) + tmp1 = 0xF0; + if (tmp2 < 0) + tmp2 = 0; + if (tmp2 > 0xF0) + tmp2 = 0xF0; gScreen.controls.window1HorizontalDimensions = tmp1 << 8 | tmp2; tmp1 = gRoomControls.roomScrollY - this->unk_26 + this->unk_36; gScreen.affine.bg3yOffset = tmp1 & 0x3F; - if (tmp1 < 0) tmp1 += 0x3F; + if (tmp1 < 0) + tmp1 += 0x3F; tmp3 = (&gUnk_02001A40[(tmp1 >> 6 << 9)]); - gScreen.affine.unk5 = (u32) tmp3; + gScreen.affine.unk5 = (u32)tmp3; gScreen.controls.window1VerticalDimensions = 0xa0; - if (this->unk_28 == tmp3) return; + if (this->unk_28 == tmp3) + return; this->unk_28 = tmp3; gScreen.affine.unk4 = 1; } @@ -446,9 +464,7 @@ void sub_0805A9CC(Manager15* this) { } #endif -extern struct { - u8 unk_00[0x20]; -} gUnk_085A97A0[]; +extern struct { u8 unk_00[0x20]; } gUnk_085A97A0[]; extern u16 gUnk_081085B8[]; extern void LoadPalettes(const u8*, u32, u32); @@ -457,7 +473,7 @@ void sub_0805AA58(Manager15* this) { this->manager.unk_0e = 8; this->unk_21 += 1; this->unk_21 &= 3; - LoadPalettes(gUnk_085A97A0[this->unk_21].unk_00,5,1); + LoadPalettes(gUnk_085A97A0[this->unk_21].unk_00, 5, 1); } if (--this->manager.unk_0f == 0) { this->manager.unk_0f = 0x10; @@ -472,7 +488,6 @@ void sub_0805AAC8(Manager15* this) { sub_0805A280(&this->manager); } - extern u16 gUnk_08108648[]; void sub_0805AADC(u32 unk0) { diff --git a/src/manager/manager1A.c b/src/manager/manager1A.c index ff6d8afe..96c5b248 100644 --- a/src/manager/manager1A.c +++ b/src/manager/manager1A.c @@ -6,7 +6,6 @@ #include "screen.h" #include "functions.h" - typedef struct { Manager manager; s16 unk_20; @@ -35,9 +34,9 @@ extern u32 sub_0806FBFC(u32, u32, u32, u32); typedef struct struct_08108764 { u8 unk_00; - u8 unk_01;//area ID? - u8 unk_02;//room ID? - u8 unk_03;//layer? + u8 unk_01; // area ID? + u8 unk_02; // room ID? + u8 unk_03; // layer? u16 unk_04; u16 unk_06; u8 unk_08; @@ -50,19 +49,19 @@ typedef struct struct_08108764 { u16 unk_06; u16 unk_08; u16 unk_0a; - }* unk_0c; + } * unk_0c; struct { u8 unk_00; u8 unk_01; u8 unk_02[2]; u16 unk_04; u16 unk_06; - }* unk_10; + } * unk_10; } struct_08108764; extern struct_08108764 gUnk_08108764[]; -u32 sub_0805B1CC(Manager1A*); +u32 sub_0805B1CC(Manager1A*); void sub_0805B210(Manager1A*); void sub_0805B2B0(Manager1A*); void sub_0805B328(Manager1A*); @@ -99,14 +98,15 @@ void sub_0805B048(Manager1A* this) { sub_0805B328(this); sub_08052D74(this, sub_0805B328, 0); } - if (!tmp->unk_10) return; + if (!tmp->unk_10) + return; obj = CreateObject(0x28, tmp->unk_10->unk_00, tmp->unk_10->unk_01); if (obj) { obj->x.HALF.HI = tmp->unk_10->unk_04 + gRoomControls.roomOriginX; obj->y.HALF.HI = tmp->unk_10->unk_06 + gRoomControls.roomOriginY; } - if (this->manager.unk_0a != 0xa - || CheckLocalFlag(0x4B)) return; + if (this->manager.unk_0a != 0xa || CheckLocalFlag(0x4B)) + return; obj = CreateObject(0x28, 3, 3); if (obj) { obj->x.HALF.HI = tmp->unk_10->unk_04 + gRoomControls.roomOriginX; @@ -125,9 +125,11 @@ void sub_0805B168(Manager1A* this) { this->manager.unk_0d = 1; return; } - if (!this->manager.unk_0d) return; + if (!this->manager.unk_0d) + return; this->manager.unk_0d = 0; - if (this->unk_3f == gRoomControls.roomID) return; + if (this->unk_3f == gRoomControls.roomID) + return; if (this->manager.unk_0b) { gScreen.lcd.displayControl &= ~0x800; } @@ -147,7 +149,7 @@ u32 sub_0805B1CC(Manager1A* this) { } void sub_0805B210(Manager1A* this) { - struct_08108764 *tmp; + struct_08108764* tmp; gScreenTransition.transitioningOut = 1; gScreenTransition.transitionType = 1; gScreenTransition.playerState = 4; @@ -179,7 +181,8 @@ void sub_0805B210(Manager1A* this) { void sub_0805B2B0(Manager1A* this) { s32 tmp, tmp2; - if (!this->manager.unk_0b) return; + if (!this->manager.unk_0b) + return; tmp = (this->unk_30 - gRoomControls.roomScrollX) / 4; tmp2 = (this->unk_32 - gRoomControls.roomScrollY) / 4; if (tmp < -12) { @@ -202,8 +205,9 @@ void sub_0805B2B0(Manager1A* this) { } void sub_0805B328(Manager1A* this) { - struct_08108764 *tmp; - if (!this->manager.unk_0b) return; + struct_08108764* tmp; + if (!this->manager.unk_0b) + return; tmp = &gUnk_08108764[this->manager.unk_0a]; LoadAssetAsync(&gGlobalGfxAndPalettes[tmp->unk_0c->unk_00], 0x0600F000, 0x800); gScreen.affine.bg3Control = 0x1E07; @@ -215,7 +219,8 @@ void sub_0805B328(Manager1A* this) { void sub_0805B390(u32 unk1) { Manager* tmp = GetEmptyManager(); - if (!tmp) return; + if (!tmp) + return; tmp->type = 0x9; tmp->subtype = 0x1A; tmp->unk_0a = unk1; diff --git a/src/manager/manager2.c b/src/manager/manager2.c index 60a74935..4b492311 100644 --- a/src/manager/manager2.c +++ b/src/manager/manager2.c @@ -6,13 +6,12 @@ extern void sub_080576A0(); extern void sub_08052D74(); extern void sub_0805754C(Entity*); -void Manager2(Entity *this) -{ - if (this->action == 0) { - this->action = 1; - gScreen.affine.unk4 = 0; - gScreen.bg.bg2yOffset = 0; - sub_08052D74(this, sub_080576A0, 0); - } - sub_0805754C(this); +void Manager2(Entity* this) { + if (this->action == 0) { + this->action = 1; + gScreen.affine.unk4 = 0; + gScreen.bg.bg2yOffset = 0; + sub_08052D74(this, sub_080576A0, 0); + } + sub_0805754C(this); } diff --git a/src/manager/manager20.c b/src/manager/manager20.c index fe50967e..b8a20f5f 100644 --- a/src/manager/manager20.c +++ b/src/manager/manager20.c @@ -21,16 +21,17 @@ extern void DeleteManager(Manager20*); void sub_0805B7A0(Manager20* this) { Entity* tmp = CreateObject(this->manager.unk_0e, this->manager.unk_0a, this->manager.unk_0b); - if (!tmp) return; + if (!tmp) + return; tmp->field_0x86.HWORD = this->unk_3e; if (CheckFlags(this->unk_3e)) { - tmp->x.HALF.HI = this->unk_36 | (this->unk_37&0xF)<<8;//r1 + tmp->x.HALF.HI = this->unk_36 | (this->unk_37 & 0xF) << 8; // r1 tmp->y.HALF.HI = this->unk_3c & 0xFFF; tmp->collisionLayer = this->unk_3c >> 0xC; } else { tmp->x.HALF.HI = this->unk_38; tmp->y.HALF.HI = this->unk_3a; - tmp->collisionLayer = this->unk_37>>4; + tmp->collisionLayer = this->unk_37 >> 4; } tmp->x.HALF.HI += gRoomControls.roomOriginX; tmp->y.HALF.HI += gRoomControls.roomOriginY; diff --git a/src/manager/manager27.c b/src/manager/manager27.c index 3b82fe0a..13e3c09b 100644 --- a/src/manager/manager27.c +++ b/src/manager/manager27.c @@ -9,76 +9,66 @@ extern void (*const gUnk_08108D10[])(Entity*); extern u8 gUnk_08108D20[]; -void Manager27(Entity *this) -{ - - gUnk_08108D10[this->action](this); - if (CheckLocalFlagByOffset(0x300, this->entityType.form + 0x67)) { - gScreenTransition.field_0xac |= (1 << (this->entityType).form); - } - else { - gScreenTransition.field_0xac &= ~(1 << (this->entityType).form); - } +void Manager27(Entity* this) { + + gUnk_08108D10[this->action](this); + if (CheckLocalFlagByOffset(0x300, this->entityType.form + 0x67)) { + gScreenTransition.field_0xac |= (1 << (this->entityType).form); + } else { + gScreenTransition.field_0xac &= ~(1 << (this->entityType).form); + } } -void sub_0805C874(Entity *this) -{ - u8 bVar1; +void sub_0805C874(Entity* this) { + u8 bVar1; - if (sub_0805C920(this)) { - this->action = 2; - } - else { - this->action = 1; - } - - this->actionDelay = 1; - this->field_0xf = 0; -} + if (sub_0805C920(this)) { + this->action = 2; + } else { + this->action = 1; + } -void sub_0805C894(Entity *this) -{ - - if (sub_0805C920(this)) { - this->action = 2; this->actionDelay = 1; - PlaySFX(0x11a); - } + this->field_0xf = 0; } -void sub_0805C8B4(Entity *this) -{ - u8 bVar1; - int iVar2; - +void sub_0805C894(Entity* this) { - if (--this->actionDelay == 0) { - this->actionDelay = 0x14; - - if (5 < ++this->field_0xf) { - this->field_0xf = 0; + if (sub_0805C920(this)) { + this->action = 2; + this->actionDelay = 1; + PlaySFX(0x11a); } - LoadPaletteGroup(gUnk_08108D20[this->field_0xf]); +} + +void sub_0805C8B4(Entity* this) { + u8 bVar1; + int iVar2; + + if (--this->actionDelay == 0) { + this->actionDelay = 0x14; + + if (5 < ++this->field_0xf) { + this->field_0xf = 0; + } + LoadPaletteGroup(gUnk_08108D20[this->field_0xf]); + if (this->field_0xf == 0) { + PlaySFX(0x11a); + } + } + if (sub_0805C920(this) == 0) { + this->action = 3; + } +} + +void sub_0805C908(Entity* this) { if (this->field_0xf == 0) { - PlaySFX(0x11a); + this->action = 1; + } else { + sub_0805C8B4(this); } - } - if (sub_0805C920(this) == 0) { - this->action = 3; - } } -void sub_0805C908(Entity *this) -{ - if (this->field_0xf == 0) { - this->action = 1; - } - else { - sub_0805C8B4(this); - } -} - -u32 sub_0805C920(Entity *this) -{ - return CheckLocalFlagByOffset(0x300, (this->entityType).form + 0x67); +u32 sub_0805C920(Entity* this) { + return CheckLocalFlagByOffset(0x300, (this->entityType).form + 0x67); } diff --git a/src/manager/manager2E.c b/src/manager/manager2E.c index 1c374d13..cc07c980 100644 --- a/src/manager/manager2E.c +++ b/src/manager/manager2E.c @@ -4,12 +4,10 @@ extern void (*const gUnk_08108D3C[])(Entity*); extern void (*const gUnk_08108D44[])(Entity*); -void sub_0805D250(Entity *this) -{ - gUnk_08108D3C[this->entityType.form](this); +void sub_0805D250(Entity* this) { + gUnk_08108D3C[this->entityType.form](this); } -void sub_0805D268(Entity *this) -{ - gUnk_08108D44[this->action](this); +void sub_0805D268(Entity* this) { + gUnk_08108D44[this->action](this); } diff --git a/src/manager/manager3.c b/src/manager/manager3.c index d22dbb25..45dce8ea 100644 --- a/src/manager/manager3.c +++ b/src/manager/manager3.c @@ -51,7 +51,8 @@ void sub_080576C0(Manager3* this) { } } if (sub_080002C0(this->unk_38, this->unk_3a, this->manager.unk_0e) == 0x3d) { - sub_080577AC(this->unk_38 + gRoomControls.roomOriginX, this->unk_3a + gRoomControls.roomOriginY, this->manager.unk_0e); + sub_080577AC(this->unk_38 + gRoomControls.roomOriginX, this->unk_3a + gRoomControls.roomOriginY, + this->manager.unk_0e); if (!this->manager.unk_0f) { this->manager.unk_0f = 1; PlaySFX(0x152); @@ -62,7 +63,6 @@ void sub_080576C0(Manager3* this) { } else { this->manager.unk_0f = 0; } - } void sub_080577AC(u32 baseX, u32 baseY, u32 layer) { @@ -70,9 +70,11 @@ void sub_080577AC(u32 baseX, u32 baseY, u32 layer) { int offsetX, offsetY; Entity* spark; r = Random(); - if ((r & 0x7) != 0) return; + if ((r & 0x7) != 0) + return; spark = CreateObject(0xF, 0x26, 0); - if (!spark) return; + if (!spark) + return; offsetX = (r >> 0x8) & 0xF; offsetY = ((r >> 0x10) & 0xF); if (offsetY > 0x4) { @@ -88,10 +90,8 @@ void sub_080577AC(u32 baseX, u32 baseY, u32 layer) { } u32 sub_08057810(void) { - if ((gPlayerState.flags.all & 0x80) - && !gPlayerState.field_0xaa - && (gArea.field_0x17 != 0x6) - && (gPlayerState.heldObject == 0)) { + if ((gPlayerState.flags.all & 0x80) && !gPlayerState.field_0xaa && (gArea.field_0x17 != 0x6) && + (gPlayerState.heldObject == 0)) { switch (gPlayerState.field_0xa8) { case 0: case 1: diff --git a/src/manager/manager30.c b/src/manager/manager30.c index 5f5ead82..9a48d968 100644 --- a/src/manager/manager30.c +++ b/src/manager/manager30.c @@ -5,12 +5,12 @@ typedef struct Manager30 { Manager manager; - u8 unk_20[8];//unused + u8 unk_20[8]; // unused u16 own_tile; - u8 unk_2a[0x2];//unused + u8 unk_2a[0x2]; // unused u16 player_previous_tile; u16 player_current_tile; - u8 unk_30[0x6];//unused + u8 unk_30[0x6]; // unused u8 width; u8 height; s16 x; @@ -21,19 +21,14 @@ typedef struct Manager30 { extern void sub_0807B7D8(u32, u32, u32); -enum { - INIT, - IN_PROGRESS, - FAILED, - SUCCEEDED -}; +enum { INIT, IN_PROGRESS, FAILED, SUCCEEDED }; -/* +/* * Tile puzzles (step on all blue tiles exactly once). - * + * * The Manager's field 0xe is used for the remaining number of tiles to be changed. * field 0xf is used for the total number of tiles to be changed. -*/ + */ void Manager30_Main(Manager30* this) { u32 i, j, tmp, tmp2; switch (this->manager.action) { @@ -42,8 +37,7 @@ void Manager30_Main(Manager30* this) { case INIT: this->manager.action = IN_PROGRESS; this->manager.unk_0f = this->manager.unk_0e; - this->own_tile = (((this->x >> 4) & 0x3fU) | - ((this->y >> 4) & 0x3fU) << 6); + this->own_tile = (((this->x >> 4) & 0x3fU) | ((this->y >> 4) & 0x3fU) << 6); this->player_previous_tile = this->player_current_tile = COORD_TO_TILE((&gPlayerEntity)); break; case 1: @@ -52,29 +46,31 @@ void Manager30_Main(Manager30* this) { this->player_previous_tile = this->player_current_tile; switch (GetTileType(this->player_current_tile, this->manager.unk_0b)) { case 0x317: - //stepped on a red tile again + // stepped on a red tile again this->manager.action = FAILED; PlaySFX(0x6d); break; case 0x318: - //stepped on a blue tile - //turn the tile into a red tile + // stepped on a blue tile + // turn the tile into a red tile sub_0807B7D8(0x317, this->player_current_tile, this->manager.unk_0b); PlaySFX(0x6b); - //decrease the number of remaining tiles and check if we're done + // decrease the number of remaining tiles and check if we're done if (--this->manager.unk_0e == 0) { this->manager.action = SUCCEEDED; - //set up delay for setting the flag/playing the success sfx + // set up delay for setting the flag/playing the success sfx this->manager.unk_0e = 0x40; } break; } } - //fall through, can be reset in-progress + // fall through, can be reset in-progress case FAILED: - if (!this->flag_reset) return;//can't be reset - if (!CheckFlags(this->flag_reset)) return;//wait for the flag telling it to reset - ClearFlag(this->flag_reset);//make sure the puzzle can be reset again later + if (!this->flag_reset) + return; // can't be reset + if (!CheckFlags(this->flag_reset)) + return; // wait for the flag telling it to reset + ClearFlag(this->flag_reset); // make sure the puzzle can be reset again later this->manager.action = IN_PROGRESS; this->manager.unk_0e = this->manager.unk_0f; for (i = 0; i < this->height; i++) { @@ -85,7 +81,8 @@ void Manager30_Main(Manager30* this) { } break; case SUCCEEDED: - if (this->manager.unk_0e == 0) return; + if (this->manager.unk_0e == 0) + return; tmp2 = --this->manager.unk_0e; if (tmp2) { if (tmp2 == 0x20) { diff --git a/src/manager/manager4.c b/src/manager/manager4.c index 7a47f977..da43751f 100644 --- a/src/manager/manager4.c +++ b/src/manager/manager4.c @@ -7,7 +7,7 @@ extern void (*gUnk_08107C70[])(Manager*); void sub_08057854(Manager* this) { - gUnk_08107C70[this->action](this); + gUnk_08107C70[this->action](this); } extern void sub_080805F8(void); @@ -20,7 +20,7 @@ void sub_0805786C(Manager* this) { DiggingCaveEntrance* tmp; u8 roomID; u8 areaID; - u16 uVar = 0x81<<7; + u16 uVar = 0x81 << 7; sub_080805F8(); if (gUnk_03004030.unk_08 != 0) { if (gUnk_03004030.unk_00 == 0) { @@ -39,8 +39,8 @@ void sub_0805786C(Manager* this) { } roomID = gRoomControls.roomID; tmp = gUnk_08107DC0[gRoomControls.areaID]; - uVar = 0x81<<7; - for (tmp = sub_08057AA8(tmp, roomID); tmp != 0; tmp = sub_08057AA8(tmp, roomID)){ + uVar = 0x81 << 7; + for (tmp = sub_08057AA8(tmp, roomID); tmp != 0; tmp = sub_08057AA8(tmp, roomID)) { SetTile(uVar, tmp->unk_00 + 0x3F, 1); SetTile(uVar, tmp->unk_00 + 0x40, 1); SetTile(uVar, tmp->unk_00 + 0x41, 1); @@ -56,7 +56,9 @@ void sub_08057920(Manager* this) { DiggingCaveEntrance* tmp; u8 roomID; roomID = gRoomControls.roomID; - for (tmp = gUnk_08107DC0[gRoomControls.areaID];(tmp = sub_08057AA8(tmp, roomID)) != 0 && !sub_0805795C(this, tmp);tmp++); + for (tmp = gUnk_08107DC0[gRoomControls.areaID]; (tmp = sub_08057AA8(tmp, roomID)) != 0 && !sub_0805795C(this, tmp); + tmp++) + ; } void sub_08057A18(Manager*, DiggingCaveEntrance*); @@ -69,23 +71,25 @@ u32 sub_0805795C(Manager* this, DiggingCaveEntrance* entr) { offsetX = gPlayerEntity.x.HALF.HI - gRoomControls.roomOriginX; offsetY = gPlayerEntity.y.HALF.HI - gRoomControls.roomOriginY; offsetX2 = (entr->unk_00 & 0x3F) * 16 + 8; - offsetY2 = ((entr->unk_00 & 0xFC0)>> 6) * 16 + 0x18; - if ((u32)(offsetX - offsetX2) + 0x18 > 0x30) return 0; - if ( - (u32)(offsetY - offsetY2) + 8 > 0x10) return 0; - if ( - ((offsetY < offsetY2))) - if ( - (u32)(offsetX - offsetX2) + 0xC <= 0x18) return 0; - + offsetY2 = ((entr->unk_00 & 0xFC0) >> 6) * 16 + 0x18; + if ((u32)(offsetX - offsetX2) + 0x18 > 0x30) + return 0; + if ((u32)(offsetY - offsetY2) + 8 > 0x10) + return 0; + if (((offsetY < offsetY2))) + if ((u32)(offsetX - offsetX2) + 0xC <= 0x18) + return 0; + } else { - //offsetX = ((gPlayerEntity.x.HALF.HI - gRoomControls.roomOriginX) >> 4) & 0x3F; - //offsetY = ((gPlayerEntity.y.HALF.HI - gRoomControls.roomOriginY) >> 4) & 0x3F; - //tmp = offsetX | (offsetY << 6); + // offsetX = ((gPlayerEntity.x.HALF.HI - gRoomControls.roomOriginX) >> 4) & 0x3F; + // offsetY = ((gPlayerEntity.y.HALF.HI - gRoomControls.roomOriginY) >> 4) & 0x3F; + // tmp = offsetX | (offsetY << 6); tmp = COORD_TO_TILE((&gPlayerEntity)); - if (tmp != entr->unk_00) return 0; - offsetY = gRoomControls.roomOriginY + ((tmp>>6) * 16) + 6; - if (gPlayerEntity.y.HALF.HI >= offsetY) return 0; + if (tmp != entr->unk_00) + return 0; + offsetY = gRoomControls.roomOriginY + ((tmp >> 6) * 16) + 6; + if (gPlayerEntity.y.HALF.HI >= offsetY) + return 0; } sub_08057A18(this, entr); return 1; @@ -111,7 +115,7 @@ void sub_08057A18(Manager* this, DiggingCaveEntrance* entr) { gRoomControls.areaID = entr->target_areaID; gRoomControls.roomID = entr->target_roomID; gUnk_03004030.unk_00 = entr; - gUnk_03004030.unk_04 = gPlayerEntity.x.HALF.HI - gRoomControls.roomOriginX - ((entr->unk_00 & 0x3F)*16); + gUnk_03004030.unk_04 = gPlayerEntity.x.HALF.HI - gRoomControls.roomOriginX - ((entr->unk_00 & 0x3F) * 16); gUnk_03004030.unk_06 = gPlayerEntity.y.HALF.HI - gRoomControls.roomOriginY - ((entr->unk_00 & 0xFC0) >> 2); tmp = gUnk_03004030.unk_08; if (!tmp) { @@ -124,9 +128,10 @@ void sub_08057A18(Manager* this, DiggingCaveEntrance* entr) { DeleteManager(this); } -DiggingCaveEntrance* sub_08057AA8(DiggingCaveEntrance* entr, int roomID){ - for (;entr->unk_00 != 0xFFFF;entr++) { - if (entr->source_roomID == roomID) return entr; +DiggingCaveEntrance* sub_08057AA8(DiggingCaveEntrance* entr, int roomID) { + for (; entr->unk_00 != 0xFFFF; entr++) { + if (entr->source_roomID == roomID) + return entr; } return 0; } diff --git a/src/manager/manager5.c b/src/manager/manager5.c index de4e08b9..f90ef1db 100644 --- a/src/manager/manager5.c +++ b/src/manager/manager5.c @@ -3,7 +3,6 @@ #include "flags.h" #include "functions.h" - typedef struct { Manager manager; u8 unk_20[0x08]; @@ -24,32 +23,10 @@ void sub_08057AE8(Manager5*); void sub_08057BA4(Manager5*); void sub_08057C28(Manager5*); -const u16 gUnk_08108024[] = { - 0, - -1, - 1, - 0, - 0, - 1, - -1, - 0 -}; -const u16 gUnk_08108034[] = { - 0, - 1, - -1, - 0, - 0, - -1, - 1, - 0 -}; +const u16 gUnk_08108024[] = { 0, -1, 1, 0, 0, 1, -1, 0 }; +const u16 gUnk_08108034[] = { 0, 1, -1, 0, 0, -1, 1, 0 }; -void (*const gUnk_08108044[])(Manager5*) = { - sub_08057AE8, - sub_08057BA4, - sub_08057C28 -}; +void (*const gUnk_08108044[])(Manager5*) = { sub_08057AE8, sub_08057BA4, sub_08057C28 }; void sub_08057AD0(Manager5* this) { gUnk_08108044[this->manager.action](this); @@ -61,40 +38,43 @@ extern void DeleteManager(Manager*); void sub_08057AE8(Manager5* this) { u32 tmp; - tmp = (this->manager.unk_0b & 0x3)<<1; + tmp = (this->manager.unk_0b & 0x3) << 1; if (this->manager.unk_0e == 1) { this->unk_30 = 0x323; } else { this->unk_30 = tmp & 2 ? 0x37 : 0x36; } this->unk_28 = gUnk_08108024[tmp]; - this->unk_2a = gUnk_08108024[tmp+1]; + this->unk_2a = gUnk_08108024[tmp + 1]; this->unk_2c = gUnk_08108034[tmp]; - this->unk_2e = gUnk_08108034[tmp+1]; - this->unk_32 = ((this->manager.unk_0b>>2)&0xF)+1; + this->unk_2e = gUnk_08108034[tmp + 1]; + this->unk_32 = ((this->manager.unk_0b >> 2) & 0xF) + 1; this->manager.unk_0e = 0x1C; this->manager.unk_0f = 0; - this->manager.action = (this->manager.unk_0b & 0x80)?2:1; - if (this->manager.action != 2 - || !CheckFlags(this->unk_3e)) return; - for (;this->unk_32;this->unk_32--) { + this->manager.action = (this->manager.unk_0b & 0x80) ? 2 : 1; + if (this->manager.action != 2 || !CheckFlags(this->unk_3e)) + return; + for (; this->unk_32; this->unk_32--) { sub_08057CA4(this, this->unk_28, this->unk_2a); - sub_0807B7D8(this->unk_30, this->unk_38 | (this->unk_3a << 6),this->unk_3c); + sub_0807B7D8(this->unk_30, this->unk_38 | (this->unk_3a << 6), this->unk_3c); } DeleteManager(&this->manager); } void sub_08057BA4(Manager5* this) { - if (--this->manager.unk_0e) return; + if (--this->manager.unk_0e) + return; this->manager.unk_0e = 8; if (CheckFlags(this->unk_3e)) { - if (this->unk_32 == this->manager.unk_0f) return; + if (this->unk_32 == this->manager.unk_0f) + return; sub_08057CA4(this, this->unk_28, this->unk_2a); sub_0807B7D8(this->unk_30, this->unk_38 | (this->unk_3a << 6), this->unk_3c); this->manager.unk_0f++; PlaySFX(0x71); } else { - if (!this->manager.unk_0f) return; + if (!this->manager.unk_0f) + return; sub_0807BA8C(this->unk_38 | (this->unk_3a << 6), this->unk_3c); sub_08057CA4(this, this->unk_2c, this->unk_2e); this->manager.unk_0f--; @@ -104,10 +84,12 @@ void sub_08057BA4(Manager5* this) { void sub_08057C28(Manager5* this) { if (!this->manager.unk_0d) { - if (!CheckFlags(this->unk_3e)) return; + if (!CheckFlags(this->unk_3e)) + return; this->manager.unk_0d++; } else { - if (--this->manager.unk_0e) return; + if (--this->manager.unk_0e) + return; this->manager.unk_0e = 8; if (this->unk_32 != this->manager.unk_0f) { sub_08057CA4(this, this->unk_28, this->unk_2a); diff --git a/src/manager/manager6.c b/src/manager/manager6.c index fa2fcd24..aa5cb48a 100644 --- a/src/manager/manager6.c +++ b/src/manager/manager6.c @@ -8,14 +8,14 @@ extern u32 CheckPlayerInRegion(u16, u16, u8, u8); extern void DoExitTransition(void*); extern void DeleteManager(Entity*); -void sub_08057CB4(Manager6 * this) { +void sub_08057CB4(Manager6* this) { u32 tmp; Manager6WarpData* i; - if (this->manager.action == 0){ + if (this->manager.action == 0) { this->manager.action = 1; this->warpList = GetCurrentRoomProperty(this->manager.unk_0a); if (!this->warpList) { - DeleteManager((Entity*) this); + DeleteManager((Entity*)this); return; } } @@ -24,7 +24,7 @@ void sub_08057CB4(Manager6 * this) { tmp = (i->unk_07.all & 0x3); if (((tmp & (gPlayerEntity.collisionLayer)) != 0) && (((gPlayerState.flags.all & 0x80) != 0) || ((i->unk_07.b.unk2) != 0)) && - (CheckPlayerInRegion(i->posX,i->posY,i->width,i->height) != 0) && + (CheckPlayerInRegion(i->posX, i->posY, i->width, i->height) != 0) && (gPlayerEntity.height.HALF.HI == 0)) { DoExitTransition(GetCurrentRoomProperty(i->unk_06)); } diff --git a/src/manager/manager7.c b/src/manager/manager7.c index 14557946..55e88f7d 100644 --- a/src/manager/manager7.c +++ b/src/manager/manager7.c @@ -3,7 +3,6 @@ #include "functions.h" #include "gba/gba.h" - typedef struct { Manager manager; u8 unk_20; @@ -22,74 +21,28 @@ extern void sub_0805E3A0(); extern u8 gUnk_02034490; extern const u8 gGlobalGfxAndPalettes[]; -const u16 gUnk_08108050[0x2A] = { - 0, 0, 0x20, 0xE0, - 0xE0, 1, 0, 0x1D0, - 0x80, 0x60, 2, 0x170, - 0x278, 0xF8, 0xA0, 3, - 0x310, 0x178, 0xC0, 0x150, - 3, 0x340, 0x2C8, 0x60, - 0x90, 4, 0x1D0, 0, - 0x200, 0xE0, 1, 0x108, - 0x188, 0xD0, 0x80, 2, - 0x1E8, 0x338, 0x50, 0xC0, - 0xFF, 0 -}; +const u16 gUnk_08108050[0x2A] = { 0, 0, 0x20, 0xE0, 0xE0, 1, 0, 0x1D0, 0x80, 0x60, 2, + 0x170, 0x278, 0xF8, 0xA0, 3, 0x310, 0x178, 0xC0, 0x150, 3, 0x340, + 0x2C8, 0x60, 0x90, 4, 0x1D0, 0, 0x200, 0xE0, 1, 0x108, 0x188, + 0xD0, 0x80, 2, 0x1E8, 0x338, 0x50, 0xC0, 0xFF, 0 }; const u32 gUnk_081080A4[0x50] = { - 0x001095E0, 0x06000000, - 0x0010A5E0, 0x06001000, - 0x0010B5E0, 0x06002000, - 0x0010C5E0, 0x06003000, - 0x0010D5E0, 0x06008000, - 0x0010E5E0, 0x06009000, - 0x0010F5E0, 0x0600A000, - 0x001105E0, 0x0600B000, - 0x001115E0, 0x06000000, - 0x001125E0, 0x06001000, - 0x001135E0, 0x06002000, - 0x001145E0, 0x06003000, - 0x001155E0, 0x06008000, - 0x001165E0, 0x06009000, - 0x001175E0, 0x0600A000, - 0x001185E0, 0x0600B000, - 0x001195E0, 0x06000000, - 0x0011A5E0, 0x06001000, - 0x0011B5E0, 0x06002000, - 0x0011C5E0, 0x06003000, - 0x0011D5E0, 0x06008000, - 0x0011E5E0, 0x06009000, - 0x0011F5E0, 0x0600A000, - 0x001205E0, 0x0600B000, - 0x001215E0, 0x06000000, - 0x001225E0, 0x06001000, - 0x001235E0, 0x06002000, - 0x001245E0, 0x06003000, - 0x001255E0, 0x06008000, - 0x001265E0, 0x06009000, - 0x001275E0, 0x0600A000, - 0x001285E0, 0x0600B000, - 0x001295E0, 0x06000000, - 0x0012A5E0, 0x06001000, - 0x0012B5E0, 0x06002000, - 0x0012C5E0, 0x06003000, - 0x0012D5E0, 0x06008000, - 0x0012E5E0, 0x06009000, - 0x0012F5E0, 0x0600A000, - 0x001305E0, 0x0600B000 + 0x001095E0, 0x06000000, 0x0010A5E0, 0x06001000, 0x0010B5E0, 0x06002000, 0x0010C5E0, 0x06003000, 0x0010D5E0, + 0x06008000, 0x0010E5E0, 0x06009000, 0x0010F5E0, 0x0600A000, 0x001105E0, 0x0600B000, 0x001115E0, 0x06000000, + 0x001125E0, 0x06001000, 0x001135E0, 0x06002000, 0x001145E0, 0x06003000, 0x001155E0, 0x06008000, 0x001165E0, + 0x06009000, 0x001175E0, 0x0600A000, 0x001185E0, 0x0600B000, 0x001195E0, 0x06000000, 0x0011A5E0, 0x06001000, + 0x0011B5E0, 0x06002000, 0x0011C5E0, 0x06003000, 0x0011D5E0, 0x06008000, 0x0011E5E0, 0x06009000, 0x0011F5E0, + 0x0600A000, 0x001205E0, 0x0600B000, 0x001215E0, 0x06000000, 0x001225E0, 0x06001000, 0x001235E0, 0x06002000, + 0x001245E0, 0x06003000, 0x001255E0, 0x06008000, 0x001265E0, 0x06009000, 0x001275E0, 0x0600A000, 0x001285E0, + 0x0600B000, 0x001295E0, 0x06000000, 0x0012A5E0, 0x06001000, 0x0012B5E0, 0x06002000, 0x0012C5E0, 0x06003000, + 0x0012D5E0, 0x06008000, 0x0012E5E0, 0x06009000, 0x0012F5E0, 0x0600A000, 0x001305E0, 0x0600B000 }; -const u8 gUnk_081081E4[] = { - 0x16, - 0x17, - 0x17, - 0x18, - 0x18 -}; +const u8 gUnk_081081E4[] = { 0x16, 0x17, 0x17, 0x18, 0x18 }; void Manager7_Main(Manager7* this) { u32 tmp; - const u32 * tmp2; + const u32* tmp2; if (!this->manager.action) { this->manager.action = 1; this->manager.unk_0e = 8; @@ -104,9 +57,10 @@ void Manager7_Main(Manager7* this) { this->manager.unk_0e = 0; } } - if (gRoomControls.unk2) return; + if (gRoomControls.unk2) + return; tmp = this->unk_20; - tmp2 = &gUnk_081080A4[tmp<<4]; + tmp2 = &gUnk_081080A4[tmp << 4]; switch (this->manager.unk_0e) { case 0: gUnk_02034490 = 1; @@ -121,7 +75,8 @@ void Manager7_Main(Manager7* this) { case 5: case 6: case 7: - LoadAssetAsync(&gGlobalGfxAndPalettes[tmp2[(this->manager.unk_0e << 1)]], tmp2[(this->manager.unk_0e << 1)+1], 0x1000); + LoadAssetAsync(&gGlobalGfxAndPalettes[tmp2[(this->manager.unk_0e << 1)]], + tmp2[(this->manager.unk_0e << 1) + 1], 0x1000); this->manager.unk_0e++; break; case 8: @@ -156,11 +111,12 @@ void sub_08057E64() { void sub_08057E7C(u32 unk1) { u32 tmp; const u32* tmp2; - if (unk1 > 4) return; + if (unk1 > 4) + return; LoadPaletteGroup(gUnk_081081E4[unk1]); - tmp2 = &gUnk_081080A4[unk1<<4]; + tmp2 = &gUnk_081080A4[unk1 << 4]; for (tmp = 0; tmp < 8; tmp++, tmp2 += 2) { - DmaSet(3,&gGlobalGfxAndPalettes[tmp2[0]],tmp2[1],0x84000400); + DmaSet(3, &gGlobalGfxAndPalettes[tmp2[0]], tmp2[1], 0x84000400); } gRoomVars.unk_10 = unk1; } diff --git a/src/manager/manager8.c b/src/manager/manager8.c index 2688bc42..8fd1d83b 100644 --- a/src/manager/manager8.c +++ b/src/manager/manager8.c @@ -47,23 +47,23 @@ extern u8 gUnk_02006F00[]; void sub_08057F20(Manager8* this) { u32 tmp; tmp = gRoomControls.roomScrollX - gRoomControls.roomOriginX; - tmp = tmp + (tmp >> 3) + ((0x400 - gRoomControls.width)/2); - gScreen.affine.bg3xOffset = tmp&0xF; - gScreen.affine.bg3yOffset = 0x30 - ((0x30 - (gRoomControls.roomScrollY - gRoomControls.roomOriginY))>>2); + tmp = tmp + (tmp >> 3) + ((0x400 - gRoomControls.width) / 2); + gScreen.affine.bg3xOffset = tmp & 0xF; + gScreen.affine.bg3yOffset = 0x30 - ((0x30 - (gRoomControls.roomScrollY - gRoomControls.roomOriginY)) >> 2); gScreen.affine.unk5 = gUnk_02001A40; sub_08058004(tmp, gUnk_02006F00, gUnk_02001A40); - tmp = ((tmp>>4)<<1); + tmp = ((tmp >> 4) << 1); if (this->unk_38 != tmp) { this->unk_38 = tmp; gScreen.affine.unk4 = 1; } tmp = (gRoomControls.roomScrollX - gRoomControls.roomOriginX); - tmp = tmp + (tmp >> 2) + ((0x400 - gRoomControls.width)/2); - gScreen.bg.bg1yOffset = tmp&0xF; - gScreen.bg.bg2xOffset = 0x30 - ((0x30 - (gRoomControls.roomScrollY - gRoomControls.roomOriginY))>>1); + tmp = tmp + (tmp >> 2) + ((0x400 - gRoomControls.width) / 2); + gScreen.bg.bg1yOffset = tmp & 0xF; + gScreen.bg.bg2xOffset = 0x30 - ((0x30 - (gRoomControls.roomScrollY - gRoomControls.roomOriginY)) >> 1); gScreen.bg.unk_14 = gUnk_02001A40 + 0x800; sub_08058004(tmp, gUnk_02006F00 + 0x2000, gUnk_02001A40 + 0x800); - tmp = ((tmp>>4)<<1); + tmp = ((tmp >> 4) << 1); if (this->unk_3c != tmp) { this->unk_3c = tmp; gScreen.bg.bg2yOffset = 1; @@ -101,8 +101,8 @@ void sub_08058034() { void sub_08058084(u16* unk1, u16* unk2) { u32 tmp; - for (tmp = 0; tmp < 0x20; tmp++, unk1+=0x20, unk2+=0x80) { - DmaSet(3,unk1,unk2,0x80000020); + for (tmp = 0; tmp < 0x20; tmp++, unk1 += 0x20, unk2 += 0x80) { + DmaSet(3, unk1, unk2, 0x80000020); } } @@ -115,19 +115,19 @@ void sub_080580B0(u32 unk1) { LoadGfxGroup(unk1); gRoomVars.unk_10 = unk1; sub_08058034(); - tmp = gRoomControls.roomScrollX - gRoomControls.roomOriginX;//r7 + tmp = gRoomControls.roomScrollX - gRoomControls.roomOriginX; // r7 tmp = tmp + (tmp >> 3) + (0x400 - gRoomControls.width) / 2; sub_08058004(tmp, gUnk_02006F00, gUnk_02001A40); gScreen.affine.bg3xOffset = tmp & 0xF; - gScreen.affine.bg3yOffset = 0x30 - ((0x30 - (gRoomControls.roomScrollY - gRoomControls.roomOriginY))>>1);//? + gScreen.affine.bg3yOffset = 0x30 - ((0x30 - (gRoomControls.roomScrollY - gRoomControls.roomOriginY)) >> 1); //? gScreen.affine.bg3Control = 0x1D09; gScreen.affine.unk5 = gUnk_02001A40; gScreen.affine.unk4 = 1; - tmp = gRoomControls.roomScrollX - gRoomControls.roomOriginX;//r7 + tmp = gRoomControls.roomScrollX - gRoomControls.roomOriginX; // r7 tmp = tmp + (tmp >> 2) + (0x400 - gRoomControls.width) / 2; sub_08058004(tmp, gUnk_02006F00 + 0x2000, gUnk_02001A40 + 0x800); gScreen.bg.bg1yOffset = tmp & 0xF; - gScreen.bg.bg2xOffset = 0x30 - ((0x30 - (gRoomControls.roomScrollY - gRoomControls.roomOriginY))>>1);//? + gScreen.bg.bg2xOffset = 0x30 - ((0x30 - (gRoomControls.roomScrollY - gRoomControls.roomOriginY)) >> 1); //? gScreen.bg.bg1xOffset = 0x1E09; gScreen.bg.unk_14 = gUnk_02001A40 + 0x800; gScreen.bg.bg2yOffset = 1; diff --git a/src/manager/manager9.c b/src/manager/manager9.c index b5929a2e..d57942c7 100644 --- a/src/manager/manager9.c +++ b/src/manager/manager9.c @@ -4,7 +4,6 @@ #include "screen.h" #include "functions.h" - typedef struct { Manager manager; u8 unk_00[0x1C]; @@ -13,7 +12,7 @@ typedef struct { void sub_08058204(Manager9*); void sub_08058210(Manager9*); -u32 sub_08058244(int); +u32 sub_08058244(int); void sub_080582A0(u32, u32*, u8*); void sub_080582F8(u8*, u8*); void sub_08058324(); @@ -21,20 +20,14 @@ void sub_08058324(); extern u32 gUnk_02006F00[]; extern u8 gUnk_02001A40[]; - -const u16 gUnk_081081EC[] = { - 0x30, - 0x30, - 0x30, - 0x38 -}; +const u16 gUnk_081081EC[] = { 0x30, 0x30, 0x30, 0x38 }; void sub_080581D8(Manager9* this) { sub_08058210(this); if (!this->manager.action) { - this->manager.action=1; - gScreen.bg.bg2yOffset=0; - sub_08052D74(this,sub_08058204,NULL); + this->manager.action = 1; + gScreen.bg.bg2yOffset = 0; + sub_08052D74(this, sub_08058204, NULL); } } @@ -44,10 +37,11 @@ void sub_08058204(Manager9* this) { void sub_08058210(Manager9* this) { u32 tmp = sub_08058244(this->manager.unk_0a); - if (this->unk_3c == tmp) return; + if (this->unk_3c == tmp) + return; this->unk_3c = tmp; sub_080582A0(tmp, gUnk_02006F00, gUnk_02001A40); - gScreen.bg.bg2yOffset=1; + gScreen.bg.bg2yOffset = 1; } u32 sub_08058244(int i) { @@ -55,16 +49,16 @@ u32 sub_08058244(int i) { s32 tmp2; u32 tmp3; s32 tmp4; - tmp = ((gRoomControls.roomScrollY - gRoomControls.roomOriginY)*0x20)/(gRoomControls.height-0xa0); + tmp = ((gRoomControls.roomScrollY - gRoomControls.roomOriginY) * 0x20) / (gRoomControls.height - 0xa0); gScreen.bg.bg2xOffset = gRoomControls.roomOriginY + tmp; - tmp = (((gRoomControls.roomScrollX - gRoomControls.roomOriginX) * gUnk_081081EC[i])/(gRoomControls.width-0xf0)); + tmp = (((gRoomControls.roomScrollX - gRoomControls.roomOriginX) * gUnk_081081EC[i]) / (gRoomControls.width - 0xf0)); gScreen.bg.bg1yOffset = tmp & 0xf; return tmp; } void sub_080582A0(u32 unk, u32* unk2, u8* unk3) { int i = 0x20; - unk2 += unk>>4; + unk2 += unk >> 4; for (; i != 0; i--) { DmaSet(3, unk2, unk3, 0x80000020); unk2 += 0x40; @@ -94,11 +88,11 @@ extern u32 gUnk_0200B650; void sub_08058324(u32 unk) { gUnk_0200B650 = 0; - LoadPaletteGroup(unk+0x86); - LoadGfxGroup(unk+0x36); + LoadPaletteGroup(unk + 0x86); + LoadGfxGroup(unk + 0x36); sub_080582D0(); - sub_080582A0(sub_08058244(unk),gUnk_02006F00,gUnk_02001A40); - gScreen.bg.bg1xOffset=0x1D47; + sub_080582A0(sub_08058244(unk), gUnk_02006F00, gUnk_02001A40); + gScreen.bg.bg1xOffset = 0x1D47; gScreen.bg.unk_14 = gUnk_02001A40; gScreen.bg.bg2yOffset = 1; gScreen.lcd.displayControl |= 0x200; diff --git a/src/manager/managerA.c b/src/manager/managerA.c index 7d7fc388..3033dd21 100644 --- a/src/manager/managerA.c +++ b/src/manager/managerA.c @@ -5,38 +5,29 @@ #include "flags.h" #include "area.h" - void sub_08058398(ManagerA*); void sub_080583EC(ManagerA*); void sub_08058408(ManagerA*); void sub_08058514(ManagerA*); void sub_080585B0(ManagerA*); - -void (* const gUnk_081081F4[])(ManagerA*) = { - sub_08058398, - sub_080583EC, - sub_08058408, - sub_08058514, - sub_080585B0 -}; + +void (*const gUnk_081081F4[])(ManagerA*) = { sub_08058398, sub_080583EC, sub_08058408, sub_08058514, sub_080585B0 }; void sub_08058380(ManagerA* this) { gUnk_081081F4[this->manager.action](this); } - - extern void sub_0805E3A0(Manager*, u32); void sub_08058398(ManagerA* this) { - + if (CheckFlags(this->unk_3c) != 0) { DeleteThisEntity(); } - this->unk_24 = this->unk_3a<<3; - this->unk_26 = this->unk_3b<<3; - this->unk_20 = this->unk_24 + (this->unk_38<<4); - this->unk_22 = this->unk_26 + (this->unk_39<<4); + this->unk_24 = this->unk_3a << 3; + this->unk_26 = this->unk_3b << 3; + this->unk_20 = this->unk_24 + (this->unk_38 << 4); + this->unk_22 = this->unk_26 + (this->unk_39 << 4); sub_0805E3A0(&this->manager, 0x06); if (this->unk_3e == 0) { this->manager.action = 2; @@ -45,7 +36,6 @@ void sub_08058398(ManagerA* this) { } } - void sub_08058408(ManagerA*); void sub_080583EC(ManagerA* this) { @@ -65,21 +55,25 @@ extern void sub_08078B48(void); u32 sub_0805848C(ManagerA*); void sub_080585DC(ManagerA*); -void sub_08058408(ManagerA* this){ +void sub_08058408(ManagerA* this) { u32 tmp2; tmp2 = (gPlayerState.flags.all & 0x08); - if (tmp2 != 0) return; - if (!CheckPlayerInRegion(this->unk_20, this->unk_22, this->unk_24, this->unk_26)) return; + if (tmp2 != 0) + return; + if (!CheckPlayerInRegion(this->unk_20, this->unk_22, this->unk_24, this->unk_26)) + return; switch (this->manager.unk_0a) { case 1: return; case 2: sub_080585DC(this); - if ((gPlayerState.flags.all & 0x80) == 0) return; + if ((gPlayerState.flags.all & 0x80) == 0) + return; case 0: default: sub_080585DC(this); - if (sub_0805848C(this) == 0) return; + if (sub_0805848C(this) == 0) + return; sub_08078A90(3); sub_08078B48(); sub_0805E544(); @@ -95,9 +89,8 @@ void sub_08058408(ManagerA* this){ } } - u32 sub_0805848C(ManagerA* this) { - switch (gPlayerState.field_0xa8-5) { + switch (gPlayerState.field_0xa8 - 5) { case 0: case 2: case 3: @@ -128,7 +121,6 @@ u32 sub_0805848C(ManagerA* this) { } } - extern void UnfreezeTime(void); void sub_08058514(ManagerA* this) { @@ -145,12 +137,13 @@ void sub_08058514(ManagerA* this) { return; case 0: case 2: - if (((--this->manager.unk_0e)<<0x18) == 0) { + if (((--this->manager.unk_0e) << 0x18) == 0) { this->manager.unk_0d++; } return; case 3: - if (gPlayerEntity.action != 1 && gPlayerEntity.action != 9) return; + if (gPlayerEntity.action != 1 && gPlayerEntity.action != 9) + return; gPlayerState.field_0x8b = 1; UnfreezeTime(); SetFlag(this->unk_3c); @@ -161,7 +154,6 @@ void sub_08058514(ManagerA* this) { } } - extern void sub_0801855C(void); void sub_080585B0(ManagerA* this) { diff --git a/src/manager/managerB.c b/src/manager/managerB.c index a23faacf..a63fb8a0 100644 --- a/src/manager/managerB.c +++ b/src/manager/managerB.c @@ -10,36 +10,33 @@ * Manager B is used to create fights: * It possibly waits for an inhibitor flag to be set, then spawns a bunch of entities (based on room data). * Once all enemies created this way are dead, it sets a flag. - * (There is also a part about changing the music and setting it back when the fight is done, which is song 0x33 (a fight theme) by default but can be overridden through room data) -*/ + * (There is also a part about changing the music and setting it back when the fight is done, which is song 0x33 (a + * fight theme) by default but can be overridden through room data) + */ void (*const ManagerB_ActionFuncs[])(Manager*); void sub_080585F0(Manager* this) { - //make a distincion if this is a controller (unk_0a = 0) or a helper (unk_0a = 1) + // make a distincion if this is a controller (unk_0a = 0) or a helper (unk_0a = 1) ManagerB_ActionFuncs[this->unk_0a](this); } -enum ManagerB_State { - Init, - WaitForFlag, - WaitForDone -}; +enum ManagerB_State { Init, WaitForFlag, WaitForDone }; void (*const ManagerB_StateFuncs[])(ManagerB*); void ManagerB_Main(ManagerB* this) { - //make a distinction based on the state of this controller + // make a distinction based on the state of this controller ManagerB_StateFuncs[this->manager.action](this); } void ManagerB_LoadFight(Manager*); void ManagerB_Init(ManagerB* this) { - //check if the fight was already completed previously (checks the flag that gets set after the fight is done) + // check if the fight was already completed previously (checks the flag that gets set after the fight is done) if (!CheckFlags(this->unk_3e)) { this->manager.action = WaitForFlag; - //if there is no flag that needs to be set before the fight is started, start it immediately + // if there is no flag that needs to be set before the fight is started, start it immediately if (!this->unk_3c) { ManagerB_LoadFight(&this->manager); } @@ -67,11 +64,12 @@ void ManagerB_WaitForFlag(ManagerB* this) { extern void sub_0801855C(void); void ManagerB_WaitForDone(ManagerB* this) { - //check if all helpers are done - if (this->manager.unk_0e) return; - //set the completion flag for the fight + // check if all helpers are done + if (this->manager.unk_0e) + return; + // set the completion flag for the fight SetFlag(this->unk_3e); - //restore music (if it was set, which apparently is only possible if there's a flag the fight waited for) + // restore music (if it was set, which apparently is only possible if there's a flag the fight waited for) if (this->unk_3c) { if (!this->unk_35) { gArea.musicIndex = this->unk_20; @@ -79,7 +77,7 @@ void ManagerB_WaitForDone(ManagerB* this) { sub_0801855C(); } } - DeleteThisEntity(); + DeleteThisEntity(); } ManagerBHelper* CreateHelper(Manager*); @@ -96,10 +94,11 @@ void ManagerB_LoadFight(Manager* this) { this->action = 2; this->unk_0e = 0; counter = 0; - //Create a helper to keep track of the created entities. + // Create a helper to keep track of the created entities. monitor = CreateHelper(this); - if (!monitor) DeleteThisEntity(); - prop = (EntityData*) GetCurrentRoomProperty(this->unk_0b); + if (!monitor) + DeleteThisEntity(); + prop = (EntityData*)GetCurrentRoomProperty(this->unk_0b); if (prop) { while (*((u8*)prop) != 0xFF) { ent = LoadRoomEntity(prop++); @@ -110,19 +109,20 @@ void ManagerB_LoadFight(Manager* this) { if (counter >= 7) { counter = 0; monitor = CreateHelper(this); - if (!monitor) return; + if (!monitor) + return; } - } + } } } /* * Create a helper and increment the counter for the number of helpers (unk_0e). * The helper will decrease said counter when it deletes itself (when none of the enemies it monitors remain). -*/ + */ ManagerBHelper* CreateHelper(Manager* this) { ManagerBHelper* extra; - extra = (ManagerBHelper*) GetEmptyManager(); + extra = (ManagerBHelper*)GetEmptyManager(); if (extra) { extra->manager.type = 9; extra->manager.subtype = 0xB; @@ -136,66 +136,61 @@ ManagerBHelper* CreateHelper(Manager* this) { } void ManagerBHelper_Monitor(ManagerBHelper* this, Entity* ent, u32 index) { - this->enemies[index]=ent; + this->enemies[index] = ent; this->manager.unk_0e++; } -//case unk_0a is 1: The manager is a helper +// case unk_0a is 1: The manager is a helper void ManagerBHelper_Main(Manager* this) { u8 i, anyRemaining; Entity* current; if (this->action == 0) { this->action = 1; - sub_0805E3A0(this,3); + sub_0805E3A0(this, 3); } - //go through and check all monitored enemies. + // go through and check all monitored enemies. anyRemaining = 0; for (i = 0; i < 8; i++) { if ((current = ((ManagerBHelper*)this)->enemies[i])) { if (!current->next) { - ((ManagerBHelper*) this)->enemies[i] = 0; + ((ManagerBHelper*)this)->enemies[i] = 0; } else { anyRemaining = 1; } } } if (!anyRemaining) { - //inform the parent that we're done - if (((ManagerB*) this->parent)->manager.unk_0e) { - ((ManagerB*) this->parent)->manager.unk_0e--; + // inform the parent that we're done + if (((ManagerB*)this->parent)->manager.unk_0e) { + ((ManagerB*)this->parent)->manager.unk_0e--; } DeleteThisEntity(); } } - extern Manager gUnk_03003DB0; /* * Replace an entity that is currently being monitored with a new one -*/ + */ void ReplaceMonitoredEntity(Entity* old, Entity* new) { - ManagerBHelper* current; + ManagerBHelper* current; Manager* end = &gUnk_03003DB0; u32 i; - for (current = (ManagerBHelper*) end->next; (Manager*)current != end; current=(ManagerBHelper*)current->manager.next) { - if (current->manager.type != 0x9 || current->manager.subtype != 0xB) continue; - for (i = 0; i < 8; i++) { - if (old == current->enemies[i]) { - current->enemies[i] = new; - return; - } + for (current = (ManagerBHelper*)end->next; (Manager*)current != end; + current = (ManagerBHelper*)current->manager.next) { + if (current->manager.type != 0x9 || current->manager.subtype != 0xB) + continue; + for (i = 0; i < 8; i++) { + if (old == current->enemies[i]) { + current->enemies[i] = new; + return; } + } } } -void (*const ManagerB_ActionFuncs[])(Manager*) = { - (void (*)(Manager*)) ManagerB_Main, - (void (*)(Manager*)) ManagerBHelper_Main -}; -void (*const ManagerB_StateFuncs[])(ManagerB*) = { - ManagerB_Init, - ManagerB_WaitForFlag, - ManagerB_WaitForDone -}; +void (*const ManagerB_ActionFuncs[])(Manager*) = { (void (*)(Manager*))ManagerB_Main, + (void (*)(Manager*))ManagerBHelper_Main }; +void (*const ManagerB_StateFuncs[])(ManagerB*) = { ManagerB_Init, ManagerB_WaitForFlag, ManagerB_WaitForDone }; diff --git a/src/manager/managerE.c b/src/manager/managerE.c index f9edc70a..b48c1cc5 100644 --- a/src/manager/managerE.c +++ b/src/manager/managerE.c @@ -27,7 +27,7 @@ void sub_08058E60(ManagerE* this) { sub_08078A90(0xff); sub_08078B48(); } - if (this->unk_3a == 0){ + if (this->unk_3a == 0) { if (this->unk_38 != 0) { PlaySFX(this->unk_38); } diff --git a/src/npc/anju.c b/src/npc/anju.c index 72ada630..b0b0ee91 100644 --- a/src/npc/anju.c +++ b/src/npc/anju.c @@ -15,8 +15,7 @@ extern void sub_0807DD94(Entity*, u32); extern u32 sub_0801E99C(void); extern void sub_08078784(Entity*, u32); -void Anju(Entity *this) -{ +void Anju(Entity* this) { switch (this->action) { case 0: this->action = 1; @@ -28,7 +27,8 @@ void Anju(Entity *this) if (this->interactType == 2) { this->action = 2; this->interactType = 0; - InitializeAnimation(this,(this->animIndex & -4) + sub_0806F5A4(GetFacingDirection(this, &gPlayerEntity))); + InitializeAnimation(this, + (this->animIndex & -4) + sub_0806F5A4(GetFacingDirection(this, &gPlayerEntity))); sub_0806F118(this); } else { sub_0807DD94(this, 0); @@ -42,20 +42,17 @@ void Anju(Entity *this) } } -void sub_0806C354(Entity *this) -{ +void sub_0806C354(Entity* this) { this->field_0x68.HALF.LO = sub_0801E99C(); sub_08078784(this, this->field_0x68.HALF.LO); } -void Anju_Fusion(Entity *this) -{ - if (this->action == 0) { - this->action++; - this->spriteSettings.b.draw = 1; - InitAnimationForceUpdate(this,6); - } - else { - UpdateAnimationSingleFrame(this); - } +void Anju_Fusion(Entity* this) { + if (this->action == 0) { + this->action++; + this->spriteSettings.b.draw = 1; + InitAnimationForceUpdate(this, 6); + } else { + UpdateAnimationSingleFrame(this); + } } diff --git a/src/npc/bladeBrothers.c b/src/npc/bladeBrothers.c index cc6433f6..afaf454d 100644 --- a/src/npc/bladeBrothers.c +++ b/src/npc/bladeBrothers.c @@ -6,7 +6,6 @@ #include "room.h" #include "textbox.h" - extern void (*gUnk_081115C0[])(Entity*); extern void (*gUnk_081115D0[])(Entity*); @@ -304,22 +303,22 @@ switchD_08068d12_caseD_0: *(u32*)¶m_2->animationState = 1; } -//Introduction dialoague +// Introduction dialoague void sub_08068DB8(Entity* this) { TextboxNoOverlap(gUnk_08111664[this->actionDelay], this); } -//Ask to teach dialoague +// Ask to teach dialoague void sub_08068DD0(Entity* this) { TextboxNoOverlap(gUnk_0811167A[this->actionDelay], this); } -//Technique Dialogue +// Technique Dialogue void sub_08068DE8(Entity* this) { TextboxNoOverlap(gUnk_08111690[this->actionDelay], this); } -//Posession dialogue +// Posession dialogue void sub_08068E00(Entity* this) { TextboxNoOverlap(gUnk_081116A6[this->actionDelay], this); } diff --git a/src/npc/carlov.c b/src/npc/carlov.c index b5251365..1d17ee4c 100644 --- a/src/npc/carlov.c +++ b/src/npc/carlov.c @@ -8,25 +8,22 @@ #include "npc.h" #include "structures.h" -extern void sub_0807DD50(Entity *); -extern void sub_0807DD94(Entity *,u32); +extern void sub_0807DD50(Entity*); +extern void sub_0807DD94(Entity*, u32); extern void EnqueueSFX(u32); -extern void sub_08080964(u32,u32); +extern void sub_08080964(u32, u32); - -void Carlov(Entity *this) -{ +void Carlov(Entity* this) { if (this->action == 0) { this->action++; sub_0807DD50(this); - } - else { - sub_0807DD94(this,0); + } else { + sub_0807DD94(this, 0); } if ((this->frames.all & 0x10) != 0) { this->frames.all = this->frames.all & 0xef; EnqueueSFX(0x104); - sub_08080964(0x10,0); + sub_08080964(0x10, 0); } if ((this->frames.all & 0x20) != 0) { this->frames.all = this->frames.all & 0xdf; diff --git a/src/npc/carpenter.c b/src/npc/carpenter.c index 5d36bffb..db160475 100644 --- a/src/npc/carpenter.c +++ b/src/npc/carpenter.c @@ -35,7 +35,8 @@ void Carpenter(Entity* this) { this->action = 2; this->interactType = 0; this->field_0x68.HALF.HI = this->animIndex; - InitializeAnimation(this, sub_0806F5A4(GetFacingDirection(this, &gPlayerEntity)) + 4 + (this->entityType.form * 8)); + InitializeAnimation(this, sub_0806F5A4(GetFacingDirection(this, &gPlayerEntity)) + 4 + + (this->entityType.form * 8)); sub_0806F118(this); } else { sub_0807DDAC(this, 0); @@ -68,7 +69,6 @@ void Carpenter_Head(Entity* this) { } } -void sub_080672b0(Entity *this, u32 param_2) -{ - InitializeAnimation(this,*(u32 *)(param_2 + 4) + (this->animationState >> 1) + this->entityType.form * 8); +void sub_080672b0(Entity* this, u32 param_2) { + InitializeAnimation(this, *(u32*)(param_2 + 4) + (this->animationState >> 1) + this->entityType.form * 8); } diff --git a/src/npc/festari.c b/src/npc/festari.c index dccde267..67637ec3 100644 --- a/src/npc/festari.c +++ b/src/npc/festari.c @@ -8,49 +8,43 @@ extern u32 sub_0801E99C(Entity*); extern void sub_08078784(Entity*, u32); extern void sub_0807DD50(Entity*); extern void sub_0806F118(Entity*); -extern void ExecuteScriptCommandSet(Entity*, void *); +extern void ExecuteScriptCommandSet(Entity*, void*); extern void sub_0805FF2C(Entity*, void*); extern void (*const gUnk_08109BBC[])(Entity*); - -void Festari(Entity *this) -{ +void Festari(Entity* this) { gUnk_08109BBC[this->action](this); } -void sub_0805FE10(Entity *this) -{ - this->action = 1; - this->spriteSettings.b.draw = TRUE; - sub_0805E3A0(this, 2); - this->field_0x68.HALF.LO = sub_0801E99C(this); - sub_08078784(this, this->field_0x68.HALF.LO); - sub_0807DD50(this); +void sub_0805FE10(Entity* this) { + this->action = 1; + this->spriteSettings.b.draw = TRUE; + sub_0805E3A0(this, 2); + this->field_0x68.HALF.LO = sub_0801E99C(this); + sub_08078784(this, this->field_0x68.HALF.LO); + sub_0807DD50(this); } -void sub_0805FE48(Entity *this) -{ +void sub_0805FE48(Entity* this) { u8 bVar1; u16 uVar2; u32 uVar3; u32 uVar4; - + if (this->interactType == 2) { this->action = 2; this->interactType = 0; InitAnimationForceUpdate(this, sub_0806F5A4(GetFacingDirection(this, &gPlayerEntity))); sub_0806F118(this); - } - else { - ExecuteScriptCommandSet(this, *(void **)&this->cutsceneBeh); - sub_0805FF2C(this, *(void **)&this->cutsceneBeh); + } else { + ExecuteScriptCommandSet(this, *(void**)&this->cutsceneBeh); + sub_0805FF2C(this, *(void**)&this->cutsceneBeh); uVar4 = this->field_0x80.HWORD; if (uVar4 < 8) { if ((this->field_0x82.HWORD & 1) != 0) { uVar4 = (uVar4 & 0xfc) + (this->field_0xf >> 1); - } - else { + } else { uVar4 = (uVar4 & 0xfc) + (this->animationState >> 1); this->field_0xf = this->animationState; } @@ -60,8 +54,7 @@ void sub_0805FE48(Entity *this) } UpdateAnimationSingleFrame(this); - if (this->frames.b.f3) - { + if (this->frames.b.f3) { switch (this->animIndex) { case 8: case 10: @@ -77,9 +70,8 @@ void sub_0805FE48(Entity *this) } } -void sub_0805FF18(Entity *this) -{ - if (UpdateFuseInteraction(this)) { - this->action = 1; - } +void sub_0805FF18(Entity* this) { + if (UpdateFuseInteraction(this)) { + this->action = 1; + } } diff --git a/src/npc/gentari.c b/src/npc/gentari.c index cbd521b2..b7387777 100644 --- a/src/npc/gentari.c +++ b/src/npc/gentari.c @@ -11,8 +11,7 @@ extern u32 sub_0806F5A4(u32); extern void sub_0806F118(Entity*); extern void sub_0807DD94(Entity*, u32); -void Gentari(Entity *this) -{ +void Gentari(Entity* this) { switch (this->action) { case 0: this->action = 1; @@ -35,19 +34,17 @@ void Gentari(Entity *this) case 2: if (UpdateFuseInteraction(this)) { this->action = 1; - } + } } } -void Gentari_Fusion(Entity *this) -{ - if (this->action == 0) { - this->action++; - this->spriteSettings.b.draw = TRUE; - sub_0805E3A0(this, 2); - InitAnimationForceUpdate(this, 10); - } - else { - UpdateAnimationSingleFrame(this); - } +void Gentari_Fusion(Entity* this) { + if (this->action == 0) { + this->action++; + this->spriteSettings.b.draw = TRUE; + sub_0805E3A0(this, 2); + InitAnimationForceUpdate(this, 10); + } else { + UpdateAnimationSingleFrame(this); + } } diff --git a/src/npc/goronMerchant.c b/src/npc/goronMerchant.c index 9c2e56fe..35de4c0a 100644 --- a/src/npc/goronMerchant.c +++ b/src/npc/goronMerchant.c @@ -13,87 +13,76 @@ extern void (*const gUnk_08111B98[])(Entity*); extern u16 gUnk_08111BA0[]; - -void GoronMerchant(Entity *this) -{ - if ((this->flags & 2) != 0) { - gUnk_08111B98[this->action](this); - } - else { - gUnk_08111B88[this->action](this); - sub_0806ED78(this); - } -} - -void sub_08069584(Entity *this) -{ - if (gScreenTransition.field_0x24[8] != 0) { - this->action = 3; +void GoronMerchant(Entity* this) { + if ((this->flags & 2) != 0) { + gUnk_08111B98[this->action](this); + } else { + gUnk_08111B88[this->action](this); + sub_0806ED78(this); } - else { - this->action = 1; - } - InitAnimationForceUpdate(this, 2); } -void sub_080695AC(Entity *this) -{ - s32 iVar2; - - if (++this->field_0xf > 0x10) { - this->field_0xf = 0; - iVar2 = sub_0806ED9C(this, 0x28, 0x28); - if (iVar2 > -1) { - this->animationState = iVar2; +void sub_08069584(Entity* this) { + if (gScreenTransition.field_0x24[8] != 0) { + this->action = 3; + } else { + this->action = 1; } - } - if (this->animIndex != this->animationState) { - InitAnimationForceUpdate(this, this->animationState); - } + InitAnimationForceUpdate(this, 2); } -void sub_080695E8(Entity *this) -{ - UpdateAnimationSingleFrame(this); - if ((gTextBox.doTextBox & 0x7f) == 0) { - this->action = 1; - this->interactType = gTextBox.doTextBox & 0x7f; - sub_0805E584(this); - InitAnimationForceUpdate(this, this->animationState); - } +void sub_080695AC(Entity* this) { + s32 iVar2; + + if (++this->field_0xf > 0x10) { + this->field_0xf = 0; + iVar2 = sub_0806ED9C(this, 0x28, 0x28); + if (iVar2 > -1) { + this->animationState = iVar2; + } + } + if (this->animIndex != this->animationState) { + InitAnimationForceUpdate(this, this->animationState); + } } -void sub_0806961C(Entity *this) -{ - if (gScreenTransition.field_0x24[8] == 2) { +void sub_080695E8(Entity* this) { UpdateAnimationSingleFrame(this); - } - sub_0806FD3C(this); + if ((gTextBox.doTextBox & 0x7f) == 0) { + this->action = 1; + this->interactType = gTextBox.doTextBox & 0x7f; + sub_0805E584(this); + InitAnimationForceUpdate(this, this->animationState); + } } -void sub_0806963C(Entity *this) -{ - this->action = 1; - this->spriteSettings.b.draw = TRUE; - sub_0807DD50(this); +void sub_0806961C(Entity* this) { + if (gScreenTransition.field_0x24[8] == 2) { + UpdateAnimationSingleFrame(this); + } + sub_0806FD3C(this); } -void sub_08069654(Entity* this) { +void sub_0806963C(Entity* this) { + this->action = 1; + this->spriteSettings.b.draw = TRUE; + sub_0807DD50(this); +} + +void sub_08069654(Entity* this) { sub_0807DD94(this, 0); } -void sub_08069660(Entity *this) -{ - u32 uVar1; - - TextboxNoOverlap(0x2c1c, this); - gTextBox.field_0x10 = (u16)sub_080696BC(this); +void sub_08069660(Entity* this) { + u32 uVar1; + + TextboxNoOverlap(0x2c1c, this); + gTextBox.field_0x10 = (u16)sub_080696BC(this); } -void sub_08069684(void) -{ - Manager *mgr; - +void sub_08069684(void) { + Manager* mgr; + if (FindEntityInListBySubtype(9, 0x31, 8) == NULL) { mgr = GetEmptyManager(); if (mgr != NULL) { @@ -104,40 +93,37 @@ void sub_08069684(void) } } -void sub_080696B0(void) -{ - gRoomVars.itemForSaleIndex = 0; +void sub_080696B0(void) { + gRoomVars.itemForSaleIndex = 0; } -u32 sub_080696BC(Entity* this) -{ - u32 uVar1; - u32 temp; - u32 iVar3; - s32 temp2; +u32 sub_080696BC(Entity* this) { + u32 uVar1; + u32 temp; + u32 iVar3; + s32 temp2; - temp2 = gRoomVars.field_0x7; - if (temp2 > 0x70) { - iVar3 = 1; - } - else { - iVar3 = 0; - } - if (temp2 > 0x72) { - iVar3 = 2; - } + temp2 = gRoomVars.field_0x7; + if (temp2 > 0x70) { + iVar3 = 1; + } else { + iVar3 = 0; + } + if (temp2 > 0x72) { + iVar3 = 2; + } - temp = CheckGlobalFlag(0x3e); - uVar1 = (-temp | temp) >> 0x1f; + temp = CheckGlobalFlag(0x3e); + uVar1 = (-temp | temp) >> 0x1f; - if (CheckGlobalFlag(0x3f)) { - uVar1 = 2; - } - if (CheckGlobalFlag(0x40)) { - uVar1 = 3; - } - if (CheckGlobalFlag(0x41)) { - uVar1 = 4; - } - return gUnk_08111BA0[uVar1 * 3 + iVar3]; + if (CheckGlobalFlag(0x3f)) { + uVar1 = 2; + } + if (CheckGlobalFlag(0x40)) { + uVar1 = 3; + } + if (CheckGlobalFlag(0x41)) { + uVar1 = 4; + } + return gUnk_08111BA0[uVar1 * 3 + iVar3]; } diff --git a/src/npc/mailbox.c b/src/npc/mailbox.c index 1aca5a34..6ccdd0a8 100644 --- a/src/npc/mailbox.c +++ b/src/npc/mailbox.c @@ -57,5 +57,6 @@ void sub_08063280(Entity* this, u32 unused) { UpdateAnimationSingleFrame(e); var = e->frames.all & 0x7F; e->frames.all ^= var; - if (var == 2) CreateFx(e, 49, 0); + if (var == 2) + CreateFx(e, 49, 0); } diff --git a/src/npc/moblinLady.c b/src/npc/moblinLady.c index 74fc9268..640c09d9 100644 --- a/src/npc/moblinLady.c +++ b/src/npc/moblinLady.c @@ -9,13 +9,11 @@ extern void sub_0807DD50(); extern void sub_0807DD94(); - void MoblinLady(Entity* this) { if (this->action == 0) { this->action++; sub_0807DD50(this); - } - else { - sub_0807DD94(this,0); + } else { + sub_0807DD94(this, 0); } } diff --git a/src/npc/npc9.c b/src/npc/npc9.c index d720bddf..47cc501b 100644 --- a/src/npc/npc9.c +++ b/src/npc/npc9.c @@ -9,45 +9,40 @@ extern void sub_0805E584(Entity*); extern void (*const gUnk_0810C290[])(Entity*); -void NPC9(Entity *this) -{ +void NPC9(Entity* this) { gUnk_0810C290[this->action](this); } -void sub_08062AF0(Entity *this) -{ - this->action = 1; - this->spriteSettings.b.draw = TRUE; - InitializeAnimation(this, 0); - sub_08078778(this); -} - -void sub_08062B14(Entity *this) -{ - GetNextFrame(this); - if (this->interactType != 0) { - this->interactType = 0; - this->action++; - InitializeAnimation(this, 1); - sub_0805E47C(this); - } - sub_0806ED78(this); -} - -void sub_08062B48(Entity *this) -{ - GetNextFrame(this); - if ((this->frames.b.f3) != 0) { - TextboxNoOverlapFollow(0xa01); - this->action++; - } -} - -void sub_08062B70(Entity *this) -{ - if ((gTextBox.doTextBox & 0x7f) == 0) { - InitializeAnimation(this, 2); +void sub_08062AF0(Entity* this) { this->action = 1; - sub_0805E584(this); - } + this->spriteSettings.b.draw = TRUE; + InitializeAnimation(this, 0); + sub_08078778(this); +} + +void sub_08062B14(Entity* this) { + GetNextFrame(this); + if (this->interactType != 0) { + this->interactType = 0; + this->action++; + InitializeAnimation(this, 1); + sub_0805E47C(this); + } + sub_0806ED78(this); +} + +void sub_08062B48(Entity* this) { + GetNextFrame(this); + if ((this->frames.b.f3) != 0) { + TextboxNoOverlapFollow(0xa01); + this->action++; + } +} + +void sub_08062B70(Entity* this) { + if ((gTextBox.doTextBox & 0x7f) == 0) { + InitializeAnimation(this, 2); + this->action = 1; + sub_0805E584(this); + } } diff --git a/src/npc/postman.c b/src/npc/postman.c index 0624935b..b1a328c1 100644 --- a/src/npc/postman.c +++ b/src/npc/postman.c @@ -125,8 +125,7 @@ void sub_080604DC(Entity* this) { } } -void sub_08060528(Entity *this) -{ +void sub_08060528(Entity* this) { switch (this->action) { case 0: this->action = 1; @@ -140,23 +139,21 @@ void sub_08060528(Entity *this) break; case 1: if (this->interactType == 2) { - this->action = 3; - this->interactType = 0; - sub_0806F118(this); - InitAnimationForceUpdate(this, sub_0806F5A4(GetFacingDirection(this, &gPlayerEntity))); - } - else { + this->action = 3; + this->interactType = 0; + sub_0806F118(this); + InitAnimationForceUpdate(this, sub_0806F5A4(GetFacingDirection(this, &gPlayerEntity))); + } else { if (this->interactType != 0) { this->action = 2; this->interactType = 0; sub_080606D8(this); InitAnimationForceUpdate(this, sub_0806F5A4(GetFacingDirection(this, &gPlayerEntity))); - } - else { + } else { sub_0807DD94(this, 0); } } - break; + break; case 2: UpdateAnimationSingleFrame(this); if ((gTextBox.doTextBox & 0x7f) != 0) { @@ -170,51 +167,47 @@ void sub_08060528(Entity *this) break; } this->action = 1; - } - sub_080604DC(this); - if (0 < (s16)this->field_0x6a.HWORD) { - if ((s16)this->field_0x6a.HWORD > 0x12b) { - this->field_0x6a.HWORD = 0; - this->field_0x20 = 0x20000; - this->field_0x6c.HALF.HI = 1; - sub_080788E0(this); - EnqueueSFX(0x7c); } - else { - this->field_0x6a.HWORD -= 1; + sub_080604DC(this); + if (0 < (s16)this->field_0x6a.HWORD) { + if ((s16)this->field_0x6a.HWORD > 0x12b) { + this->field_0x6a.HWORD = 0; + this->field_0x20 = 0x20000; + this->field_0x6c.HALF.HI = 1; + sub_080788E0(this); + EnqueueSFX(0x7c); + } else { + this->field_0x6a.HWORD -= 1; + } } - } - sub_08003FC4(this, 0x1800); - if (((this->field_0x6c.HALF.HI != 0) && (this->field_0x20 == 0)) && this->height.WORD == 0) { - this->field_0x6c.HALF.HI = 0; - sub_080606C0(this); - } - if ((-1 < this->height.WORD) && - ((gPlayerEntity.collisionLayer == 0 || (this->collisionLayer == gPlayerEntity.collisionLayer)))) { - sub_0806ED78(this); - } - sub_0800451C(this); + sub_08003FC4(this, 0x1800); + if (((this->field_0x6c.HALF.HI != 0) && (this->field_0x20 == 0)) && this->height.WORD == 0) { + this->field_0x6c.HALF.HI = 0; + sub_080606C0(this); + } + if ((-1 < this->height.WORD) && + ((gPlayerEntity.collisionLayer == 0 || (this->collisionLayer == gPlayerEntity.collisionLayer)))) { + sub_0806ED78(this); + } + sub_0800451C(this); } -void sub_080606C0(Entity *this) -{ - this->field_0x6c.HALF.LO = sub_0801E99C(this); - sub_08078784(this, this->field_0x6c.HALF.LO); +void sub_080606C0(Entity* this) { + this->field_0x6c.HALF.LO = sub_0801E99C(this); + sub_08078784(this, this->field_0x6c.HALF.LO); } -void sub_080606D8(Entity* this) -{ - s32 index; - - index = gUnk_02002A40.unk8 - 2; - if (index < 0) { - index = 0; - } - ShowNPCDialogue(this, &gUnk_0810AA30[index]); +void sub_080606D8(Entity* this) { + s32 index; + + index = gUnk_02002A40.unk8 - 2; + if (index < 0) { + index = 0; + } + ShowNPCDialogue(this, &gUnk_0810AA30[index]); } -void sub_08060700(Entity *entity, u32 arg1) -{ +void sub_08060700(Entity* entity, u32 arg1) { s8* var0 = gUnk_0810A918[(s8)entity->field_0x68.HALF.LO]; Coords16* coords = &gUnk_0810A66C[var0[(s8)entity->field_0x68.HALF.HI]]; u32 x = coords->x + gRoomControls.roomOriginX; @@ -223,8 +216,7 @@ void sub_08060700(Entity *entity, u32 arg1) gUnk_02033280.unk |= 1; } -void sub_0806075C(Entity *this) -{ +void sub_0806075C(Entity* this) { this->field_0x68.HALF.LO = 0xb; this->field_0x68.HALF.HI = 0xff; } diff --git a/src/npc/rem.c b/src/npc/rem.c index 6d17b95d..415f7ffa 100644 --- a/src/npc/rem.c +++ b/src/npc/rem.c @@ -38,15 +38,14 @@ void sub_0806a370(Entity* this) { } } -void sub_0806A3D8(Entity *this) -{ - u32 *uVar1; - - this->action = 1; - this->actionDelay = 0xb4; - sub_0805E3A0(this, 2); - sub_0806A8C8(this); - uVar1 = StartCutscene(this,&gUnk_08012F0C); - *(u32 *)&this->cutsceneBeh = (u32)uVar1; - sub_0807DD94(this, 0); +void sub_0806A3D8(Entity* this) { + u32* uVar1; + + this->action = 1; + this->actionDelay = 0xb4; + sub_0805E3A0(this, 2); + sub_0806A8C8(this); + uVar1 = StartCutscene(this, &gUnk_08012F0C); + *(u32*)&this->cutsceneBeh = (u32)uVar1; + sub_0807DD94(this, 0); } diff --git a/src/npc/simon.c b/src/npc/simon.c index d30b869a..7c4b7f48 100644 --- a/src/npc/simon.c +++ b/src/npc/simon.c @@ -5,51 +5,45 @@ #include "flags.h" typedef struct { - u8 filler[4]; - u32 unk; + u8 filler[4]; + u32 unk; } struct_0806C2A0; -extern void DoExitTransition(void *); +extern void DoExitTransition(void*); extern void SetTileType(u32, u32, u32); -extern void DoExitTransition(void *); +extern void DoExitTransition(void*); extern void DoFade(u32, u32); extern void gUnk_0813AD60; extern void gUnk_0813AD74; -void Simon(Entity *this) -{ - if (this->action == 0) { - this->action++; - sub_0807DD50(this); - } - else { - sub_0807DD94(this, 0); - } +void Simon(Entity* this) { + if (this->action == 0) { + this->action++; + sub_0807DD50(this); + } else { + sub_0807DD94(this, 0); + } } -void sub_0806C224(void) -{ - DoExitTransition(&gUnk_0813AD60); - gScreenTransition.transitionType = 6; +void sub_0806C224(void) { + DoExitTransition(&gUnk_0813AD60); + gScreenTransition.transitionType = 6; } -void Simon_CreateChest(Entity *this) -{ - CreateObjectWithParent(this,0xf,0x43,0); - SetTileType(0x73, COORD_TO_TILE(this), this->collisionLayer); - PlaySFX(0x73); +void Simon_CreateChest(Entity* this) { + CreateObjectWithParent(this, 0xf, 0x43, 0); + SetTileType(0x73, COORD_TO_TILE(this), this->collisionLayer); + PlaySFX(0x73); } -void sub_0806C280(void) -{ - SetGlobalFlag(MAROYA_WAKEUP); - DoExitTransition(&gUnk_0813AD74); - gScreenTransition.transitionType = 6; +void sub_0806C280(void) { + SetGlobalFlag(MAROYA_WAKEUP); + DoExitTransition(&gUnk_0813AD74); + gScreenTransition.transitionType = 6; } -void sub_0806C2A0(u32 *param_1,struct_0806C2A0 *param_2) -{ +void sub_0806C2A0(u32* param_1, struct_0806C2A0* param_2) { switch (param_2->unk) { case 0: DoFade(0xd, 4); diff --git a/src/npc/syrup.c b/src/npc/syrup.c index 58a3cb61..7904ce09 100644 --- a/src/npc/syrup.c +++ b/src/npc/syrup.c @@ -2,7 +2,6 @@ #include "entity.h" #include "npc.h" - extern void sub_0807DD50(Entity*); extern void sub_0806ED78(Entity*); extern void sub_0805E3A0(Entity*, u32); @@ -16,50 +15,45 @@ extern void sub_0807DD94(Entity*, u32); extern void sub_0806A26C(Entity*); extern void sub_080042BA(Entity*, u32); -void Syrup(Entity *this) -{ - gUnk_081121D4[this->action](this); - sub_0806ED78(this); +void Syrup(Entity* this) { + gUnk_081121D4[this->action](this); + sub_0806ED78(this); } -void sub_0806A1F8(Entity *this) -{ +void sub_0806A1F8(Entity* this) { u32 iVar1; - SpriteLoadData *paVar2; + SpriteLoadData* paVar2; - (this->entityType).form == 0 ? (paVar2 = &gUnk_081121B4) : (paVar2 = &gUnk_081121C4); + (this->entityType).form == 0 ? (paVar2 = &gUnk_081121B4) : (paVar2 = &gUnk_081121C4); - iVar1 = LoadExtraSpriteData(this,paVar2); - if (iVar1) { - this->action = 1; - sub_0805E3A0(this,2); - sub_0807DD50(this); - InitializeAnimation(this,0); - } + iVar1 = LoadExtraSpriteData(this, paVar2); + if (iVar1) { + this->action = 1; + sub_0805E3A0(this, 2); + sub_0807DD50(this); + InitializeAnimation(this, 0); + } } -void sub_0806A234(Entity *this) -{ +void sub_0806A234(Entity* this) { sub_0807DD94(this, 0); if ((this->field_0x82.HWORD & 4) != 0) { if ((gScreenTransition & 7) == 0) { sub_0806A26C(this); } - sub_080042BA(this, 2); + sub_080042BA(this, 2); } } #ifdef NON_MATCHING -void sub_0806A26C(Entity *this) -{ +void sub_0806A26C(Entity* this) { u8 unk; u32 uVar2; - Entity *pEVar1; - pEVar1 = CreateObject(0xf,0x2f,0); + Entity* pEVar1; + pEVar1 = CreateObject(0xf, 0x2f, 0); if (pEVar1 != NULL) { PositionEntityOnTop(this, pEVar1); - if (uVar2 = Random(), uVar2) - { + if (uVar2 = Random(), uVar2) { unk = -unk; // wtf?! } pEVar1->spriteOffsetX = gUnk_081121DC[uVar2 & 7]; @@ -68,8 +62,7 @@ void sub_0806A26C(Entity *this) } #else NAKED -void sub_0806A26C(Entity *this) -{ +void sub_0806A26C(Entity* this) { asm(".include \"asm/non_matching/syrup/sub_0806A26C.inc\""); } #endif diff --git a/src/npc/wheaton.c b/src/npc/wheaton.c index abcf1fbd..b7003233 100644 --- a/src/npc/wheaton.c +++ b/src/npc/wheaton.c @@ -1,13 +1,13 @@ #include "global.h" #include "entity.h" -extern void sub_0805E3A0(Entity *, u32); -extern void ResolveEntityOnTop(Entity *, Entity *); +extern void sub_0805E3A0(Entity*, u32); +extern void ResolveEntityOnTop(Entity*, Entity*); extern BoundingBox gUnk_0810C3C0; -extern void sub_0807DD64(Entity *); -extern void sub_0807DD94(Entity *, u32); +extern void sub_0807DD64(Entity*); +extern void sub_0807DD94(Entity*, u32); -void Wheaton(Entity *this) { +void Wheaton(Entity* this) { if (this->action == 0) { this->action++; diff --git a/src/npc/zeldaFollower.c b/src/npc/zeldaFollower.c index fbcc9ecc..6f5866b2 100644 --- a/src/npc/zeldaFollower.c +++ b/src/npc/zeldaFollower.c @@ -5,8 +5,7 @@ extern void sub_08068318(Entity*); extern void sub_0806854C(Entity*, u32); -void ZeldaFollower(Entity *this) -{ +void ZeldaFollower(Entity* this) { if (this->action == 0) { this->action++; this->spriteSettings.b.draw = TRUE; diff --git a/src/object/archway.c b/src/object/archway.c index 1ca48499..b00192db 100644 --- a/src/object/archway.c +++ b/src/object/archway.c @@ -4,8 +4,7 @@ extern u32 CheckIsDungeon(); -void Archway(Entity *this) -{ +void Archway(Entity* this) { u32 v1; u32 v2; u32 v3; @@ -20,8 +19,8 @@ void Archway(Entity *this) this->collisionLayer = 2; UpdateSpriteForCollisionLayer(this); v3 = CheckIsDungeon(); - if (v3 != 0) { - this->spritePriority.b0 = (this->spritePriority.b0 & 0xf8) | 1; + if (v3 != 0) { + this->spritePriority.b0 = (this->spritePriority.b0 & 0xf8) | 1; + } } - } } diff --git a/src/object/backgroundCloud.c b/src/object/backgroundCloud.c index 6be23764..909a88a8 100644 --- a/src/object/backgroundCloud.c +++ b/src/object/backgroundCloud.c @@ -30,8 +30,7 @@ void sub_0808F658(Entity* this) { void sub_0808F6E0(Entity* this) { sub_0806F69C(this); - if ((s16)this->x.HALF.HI < (s16)this->field_0x78.HWORD || - (s16)this->x.HALF.HI > (s16)this->field_0x7a.HWORD) + if ((s16)this->x.HALF.HI < (s16)this->field_0x78.HWORD || (s16)this->x.HALF.HI > (s16)this->field_0x7a.HWORD) this->action = 2; } diff --git a/src/object/bigVortex.c b/src/object/bigVortex.c index 8e8522c0..67d69520 100644 --- a/src/object/bigVortex.c +++ b/src/object/bigVortex.c @@ -108,4 +108,4 @@ void sub_08098E88(Entity* this) { PositionRelative(this, ent2, 0, -0x20000); ent2->spriteOffsetY = 0x10; } -} \ No newline at end of file +} diff --git a/src/object/bird.c b/src/object/bird.c index 83af1b5d..aedff14d 100644 --- a/src/object/bird.c +++ b/src/object/bird.c @@ -141,4 +141,4 @@ void sub_0809D178(Entity* this) { } else { GetNextFrame(this); } -} \ No newline at end of file +} diff --git a/src/object/button.c b/src/object/button.c index 99d018b3..8ba71c8e 100644 --- a/src/object/button.c +++ b/src/object/button.c @@ -19,8 +19,8 @@ void sub_08081AE0(Entity* this) { if (this->cutsceneBeh.HWORD != 0) { this->collisionLayer = this->cutsceneBeh.HWORD; } - this->field_0x74.HWORD = (((this->x.HALF.HI - gRoomControls.roomOriginX)>>4) & 0x3F) | - ((((this->y.HALF.HI - gRoomControls.roomOriginY)>>4) & 0x3F) << 6); + this->field_0x74.HWORD = (((this->x.HALF.HI - gRoomControls.roomOriginX) >> 4) & 0x3F) | + ((((this->y.HALF.HI - gRoomControls.roomOriginY) >> 4) & 0x3F) << 6); this->field_0x70.HALF.HI = GetTileType(this->field_0x74.HWORD, this->collisionLayer); if (this->entityType.form == 0 && CheckFlags(this->field_0x86.HWORD)) { this->action = 5; @@ -36,7 +36,7 @@ void sub_08081AE0(Entity* this) { void sub_08081B84(Entity* this) { if (sub_08081E3C(this)) { - this->action=2; + this->action = 2; this->field_0x70.HALF.HI = GetTileType(this->field_0x74.HWORD, this->collisionLayer); } } @@ -167,7 +167,7 @@ Entity* sub_08081D74(Entity* this) { } } } - this->attachedEntity=ent; + this->attachedEntity = ent; return ent; } @@ -190,7 +190,8 @@ u32 sub_08081E3C(Entity* this) { tmp2 = GetTileType(this->field_0x74.HWORD, this->collisionLayer); tmp1 = gUnk_0811EE50; do { - if (*tmp1 == tmp2) return 1; + if (*tmp1 == tmp2) + return 1; } while (*++tmp1); return 0; } @@ -203,10 +204,10 @@ extern u16 gMapDataTopSpecial[0x2000]; void sub_08081E6C(Entity* this) { u32 r4; u16 *tmp, *r1; - u8 *tmp2; + u8* tmp2; u32 r6 = this->field_0x74.HWORD; u32 r5 = this->collisionLayer; - u32 tile = GetTileType(r6,r5); + u32 tile = GetTileType(r6, r5); if (tile < 0x4000) return; r1 = GetLayerByIndex(r5); @@ -215,11 +216,11 @@ void sub_08081E6C(Entity* this) { r1 += 0x3002 + r4; tmp = tmp + (*r1 << 2); tmp2 = (r5 == 2 ? gMapDataTopSpecial : (u8*)&gUnk_02019EE0); - tmp2 += (((0x3f & r6)<<1)+((0xfc0 & r6)<<2))<<1; + tmp2 += (((0x3f & r6) << 1) + ((0xfc0 & r6) << 2)) << 1; if (sub_08081F00((u32*)tmp2, (u32*)tmp)) return; SetTileType(r4, r6, r5); - SetTile(tile,r6,r5); + SetTile(tile, r6, r5); } #else NAKED @@ -229,8 +230,10 @@ void sub_08081E6C(Entity* this) { #endif u32 sub_08081F00(u32* unk1, u32* unk2) { - if (*unk1 != *unk2) return 0; - if (unk1[0x40] != unk2[1]) return 0; + if (*unk1 != *unk2) + return 0; + if (unk1[0x40] != unk2[1]) + return 0; return 1; } @@ -251,9 +254,10 @@ void sub_08081F24(Entity* this) { u32 sub_08081F7C(Entity* this, u32 r7) { u16 tmp; - if (this->actionDelay == 0) return 1; + if (this->actionDelay == 0) + return 1; if (--this->actionDelay > 6) { - if(this->attachedEntity) + if (this->attachedEntity) this->attachedEntity->spriteOffsetY = 0xfc; } else { if (this->actionDelay == 6) { @@ -275,12 +279,13 @@ extern void sub_080044AE(Entity*, u32, u32); void sub_08081FF8(Entity* this) { u32 direction; u32 i; - if (this->attachedEntity != &gPlayerEntity) return; + if (this->attachedEntity != &gPlayerEntity) + return; direction = GetFacingDirection(this->attachedEntity, this); sub_080044AE(this->attachedEntity, 0x200, direction); for (i = 0; i < 3; i++) { if (gUnk_03004040[i]) { - sub_080044AE(gUnk_03004040[i],0x200, direction); + sub_080044AE(gUnk_03004040[i], 0x200, direction); } } } diff --git a/src/object/chestSpawner.c b/src/object/chestSpawner.c index 8af7769d..06782b2e 100644 --- a/src/object/chestSpawner.c +++ b/src/object/chestSpawner.c @@ -11,25 +11,22 @@ extern void (*const gUnk_0811F808[])(Entity*); extern void (*const gUnk_0811F818[])(Entity*); extern u32 gUnk_0811F8B0; -void ChestSpawner(Entity* this) -{ - gUnk_0811F7E8[this->entityType.form](this); +void ChestSpawner(Entity* this) { + gUnk_0811F7E8[this->entityType.form](this); } void sub_08083DF0(Entity* this) { gUnk_0811F808[this->action](this); } -void sub_08083E08(Entity *this) -{ - gUnk_0811F818[this->action](this); +void sub_08083E08(Entity* this) { + gUnk_0811F818[this->action](this); } -void sub_08083E20(Entity *this) -{ - this->action = 3; - this->spriteSettings.b.draw = 1; - this->spriteRendering.alphaBlend = 0; - sub_080842D8(this); - sub_08078828(this); +void sub_08083E20(Entity* this) { + this->action = 3; + this->spriteSettings.b.draw = 1; + this->spriteRendering.alphaBlend = 0; + sub_080842D8(this); + sub_08078828(this); } diff --git a/src/object/fan.c b/src/object/fan.c index 04854f4d..5d8874bf 100644 --- a/src/object/fan.c +++ b/src/object/fan.c @@ -11,76 +11,64 @@ extern void sub_0809EE24(Entity*); extern void (*const gUnk_081243D4[])(Entity*); -void Fan(Entity *this) -{ - gUnk_081243D4[this->action](this); +void Fan(Entity* this) { + gUnk_081243D4[this->action](this); } -void sub_0809ED30(Entity *this) -{ - this->direction = (this->entityType.form ^ 2) << 3; - sub_0809EE34(this); - sub_0809EFB0(this); - InitializeAnimation(this, this->entityType.form); -} - -void sub_0809ED54(Entity *this) -{ - u16 uVar1; - u32 iVar2; - - if (((this->cutsceneBeh.HWORD == 0) || CheckFlags(this->cutsceneBeh.HWORD)) && - ((this->entityType.parameter != 1 || - (--this->field_0x74.HWORD == 0)))) { - sub_0809EE08(this); - } -} - -void sub_0809ED88(Entity *this) -{ - sub_0809F08C(); - sub_0809EE44(this); - if (this->field_0x86.HWORD != 0) { - if (this->cutsceneBeh.HWORD == this->field_0x86.HWORD) { - if (CheckFlags(this->cutsceneBeh.HWORD)) { - return; - } - } - else if (!CheckFlags(this->cutsceneBeh.HWORD)) { - return; - } - sub_0809EE24(this); - } - else if (((this->entityType).parameter == 1) && - (--this->field_0x74.HWORD == 0)) { - sub_0809EE24(this); - } -} - -void sub_0809EDE4(Entity *this) -{ - sub_0809F08C(); - sub_0809EE44(this); - if (this->frames.b.f3) { +void sub_0809ED30(Entity* this) { + this->direction = (this->entityType.form ^ 2) << 3; sub_0809EE34(this); - } + sub_0809EFB0(this); + InitializeAnimation(this, this->entityType.form); } -void sub_0809EE08(Entity *this) -{ - this->action = 2; - this->field_0x74.HWORD = *((u8 *)&this->field_0x7c + 3) << 2; - InitializeAnimation(this, this->entityType.form); +void sub_0809ED54(Entity* this) { + u16 uVar1; + u32 iVar2; + + if (((this->cutsceneBeh.HWORD == 0) || CheckFlags(this->cutsceneBeh.HWORD)) && + ((this->entityType.parameter != 1 || (--this->field_0x74.HWORD == 0)))) { + sub_0809EE08(this); + } } -void sub_0809EE24(Entity *this) -{ - this->action = 3; - InitializeAnimation(this, this->entityType.form + 4); +void sub_0809ED88(Entity* this) { + sub_0809F08C(); + sub_0809EE44(this); + if (this->field_0x86.HWORD != 0) { + if (this->cutsceneBeh.HWORD == this->field_0x86.HWORD) { + if (CheckFlags(this->cutsceneBeh.HWORD)) { + return; + } + } else if (!CheckFlags(this->cutsceneBeh.HWORD)) { + return; + } + sub_0809EE24(this); + } else if (((this->entityType).parameter == 1) && (--this->field_0x74.HWORD == 0)) { + sub_0809EE24(this); + } } -void sub_0809EE34(Entity *this) -{ - this->action = 1; - this->field_0x74.HWORD = this->actionDelay << 2; +void sub_0809EDE4(Entity* this) { + sub_0809F08C(); + sub_0809EE44(this); + if (this->frames.b.f3) { + sub_0809EE34(this); + } +} + +void sub_0809EE08(Entity* this) { + this->action = 2; + this->field_0x74.HWORD = *((u8*)&this->field_0x7c + 3) << 2; + InitializeAnimation(this, this->entityType.form); +} + +void sub_0809EE24(Entity* this) { + this->action = 3; + InitializeAnimation(this, this->entityType.form + 4); +} + +void sub_0809EE34(Entity* this) { + this->action = 1; + this->field_0x74.HWORD = this->actionDelay << 2; } diff --git a/src/object/floatingBlock.c b/src/object/floatingBlock.c index 3b865e91..e9bb10e8 100644 --- a/src/object/floatingBlock.c +++ b/src/object/floatingBlock.c @@ -5,9 +5,9 @@ void FloatingBlock(Entity* this) { if (this->action == 0) { this->action = 1; - this->frameIndex=this->entityType.form; + this->frameIndex = this->entityType.form; this->spritePriority.b0 = 0xe; this->collisionLayer = 1; UpdateSpriteForCollisionLayer(this); } -} \ No newline at end of file +} diff --git a/src/object/hiddenLadderDown.c b/src/object/hiddenLadderDown.c index 932018c8..5a176b07 100644 --- a/src/object/hiddenLadderDown.c +++ b/src/object/hiddenLadderDown.c @@ -41,4 +41,4 @@ void sub_08092000(Entity* this) { this->spriteSettings.b.draw = TRUE; SetFlag(this->field_0x86.HWORD); } -} \ No newline at end of file +} diff --git a/src/object/houseDoorExterior.c b/src/object/houseDoorExterior.c old mode 100755 new mode 100644 index 4b53add6..c15f94f0 --- a/src/object/houseDoorExterior.c +++ b/src/object/houseDoorExterior.c @@ -11,7 +11,7 @@ typedef struct { /*0x05*/ u8 unk5; /*0x06*/ u8 unk6; /*0x07*/ u8 unk7; - /*0x08*/ u8 *unk8; + /*0x08*/ u8* unk8; } unk_DoorProperty; typedef struct { @@ -42,7 +42,7 @@ void sub_080866D8(Entity* this) { if (this->action == 0) { this->action = 1; - *((u32 *)(&this->field_0x68)) = 0; + *((u32*)(&this->field_0x68)) = 0; this->field_0x6c.HALF.LO = this->actionDelay; sub_0805E3A0(this, 6); } @@ -50,8 +50,7 @@ void sub_080866D8(Entity* this) { prop = GetCurrentRoomProperty(this->field_0x6c.HALF.LO); for (i = 0; prop->unk0 != 0xFFFF && i < 32; prop++, i++) { int mask = 1 << i; - if ((*((u32 *)(&this->field_0x68)) & mask) == 0 && - sub_080867CC(prop->unk5) && + if ((*((u32*)(&this->field_0x68)) & mask) == 0 && sub_080867CC(prop->unk5) && sub_080562CC(prop->unk0, prop->unk2, 32, 32)) { entity = CreateObject(0x19, prop->unk7, prop->unk6); if (entity) { @@ -64,9 +63,9 @@ void sub_080866D8(Entity* this) { entity->collisionLayer = prop->unk4; entity->previousActionFlag = prop->unk5; UpdateSpriteForCollisionLayer(entity); - *((u32 *)(&this->field_0x68)) |= mask; + *((u32*)(&this->field_0x68)) |= mask; if (prop->unk8) { - *((u32 **)(&entity->cutsceneBeh)) = StartCutscene(entity, prop->unk8); + *((u32**)(&entity->cutsceneBeh)) = StartCutscene(entity, prop->unk8); } } } @@ -85,7 +84,7 @@ static bool32 sub_080867CC(u32 arg0) { void sub_080867E4(Entity* this) { if (!sub_080562CC(this->field_0x68.HWORD, this->field_0x6a.HWORD, 32, 32)) { - *((u32 *)(&this->parent->field_0x68)) = *((u32 *)(&this->parent->field_0x68)) & ~(1 << this->field_0x6c.HALF.LO); + *((u32*)(&this->parent->field_0x68)) = *((u32*)(&this->parent->field_0x68)) & ~(1 << this->field_0x6c.HALF.LO); DeleteThisEntity(); } sub_0808681C(this); @@ -118,8 +117,8 @@ static void sub_0808681C(Entity* this) { } if (this->flags & 0x2) { - ExecuteScriptCommandSet(this, *(u32 **)&this->cutsceneBeh); - sub_080868EC(this, *(void **)&this->cutsceneBeh); + ExecuteScriptCommandSet(this, *(u32**)&this->cutsceneBeh); + sub_080868EC(this, *(void**)&this->cutsceneBeh); } } @@ -130,8 +129,8 @@ void sub_080868B0(Entity* this) { this->boundingBox = &gUnk_081206AC; this->actionDelay = 8; } - ExecuteScriptCommandSet(this, *(u32 **)&this->cutsceneBeh); - sub_080868EC(this, *(void **)&this->cutsceneBeh); + ExecuteScriptCommandSet(this, *(u32**)&this->cutsceneBeh); + sub_080868EC(this, *(void**)&this->cutsceneBeh); } static void sub_080868EC(Entity* entity, unk_80868EC* arg1) { @@ -165,10 +164,8 @@ void sub_0808692C(Entity* this) { static u8 sub_08086954(Entity* this) { if (sub_0800445C(this)) { - if (sub_0806ED9C(this, 6, 20) >= 0 && - gPlayerEntity.animationState == 0 && - (u16)gPlayerState.field_0x90.HALF.LO == 0x400 && - gPlayerState.jumpStatus == 0) { + if (sub_0806ED9C(this, 6, 20) >= 0 && gPlayerEntity.animationState == 0 && + (u16)gPlayerState.field_0x90.HALF.LO == 0x400 && gPlayerState.jumpStatus == 0) { this->actionDelay--; } } else { diff --git a/src/object/itemOnGround.c b/src/object/itemOnGround.c old mode 100755 new mode 100644 index ad8bdec9..6aa09588 --- a/src/object/itemOnGround.c +++ b/src/object/itemOnGround.c @@ -268,9 +268,7 @@ void sub_080812A8(Entity* this) { void sub_080812E8(Entity* this) { PlayerState* playerState = &gPlayerState; - if ((playerState->swimState & 0x80) && - !(playerState->flags.all & 0x80) && - sub_080177A0(this, &gPlayerEntity)) { + if ((playerState->swimState & 0x80) && !(playerState->flags.all & 0x80) && sub_080177A0(this, &gPlayerEntity)) { sub_080810FC(this); } } diff --git a/src/object/jailBars.c b/src/object/jailBars.c index f262e819..aa17aae3 100644 --- a/src/object/jailBars.c +++ b/src/object/jailBars.c @@ -11,54 +11,49 @@ extern void (*const gUnk_08124950[])(Entity*); extern u8 gUnk_08124960; extern u8 gUnk_0812497A; -void JailBars(Entity *this) -{ +void JailBars(Entity* this) { gUnk_08124950[this->action](this); } -void sub_080A08C4(Entity *this) -{ - if (CheckFlags(this->field_0x86.HWORD) == 0) { - this->action = 1; - sub_080A0960(this, 0); - } - else { - this->action = 3; - InitializeAnimation(this,1); - sub_080A0960(this, 1); - } - this->spriteSettings.b.draw = 3; // ??? - this->collisionLayer = 1; - UpdateSpriteForCollisionLayer(this); +void sub_080A08C4(Entity* this) { + if (CheckFlags(this->field_0x86.HWORD) == 0) { + this->action = 1; + sub_080A0960(this, 0); + } else { + this->action = 3; + InitializeAnimation(this, 1); + sub_080A0960(this, 1); + } + this->spriteSettings.b.draw = 3; // ??? + this->collisionLayer = 1; + UpdateSpriteForCollisionLayer(this); } -void sub_080A0910(Entity *this) -{ - if (CheckFlags(this->field_0x86.HWORD) != 0) { - this->action = 2; - sub_080A0960(this, 1); - PlaySFX(0x10b); - } +void sub_080A0910(Entity* this) { + if (CheckFlags(this->field_0x86.HWORD) != 0) { + this->action = 2; + sub_080A0960(this, 1); + PlaySFX(0x10b); + } } -void sub_080A0938(Entity *this) -{ - GetNextFrame(this); - if ((this->frames.b.f3) != 0) { - this->action = 3; - InitializeAnimation(this, 1); - } +void sub_080A0938(Entity* this) { + GetNextFrame(this); + if ((this->frames.b.f3) != 0) { + this->action = 3; + InitializeAnimation(this, 1); + } } -void nullsub_127(Entity* this) {} - -void sub_080A0960(Entity *this, u32 arg1) -{ - u8 *puVar1; - - puVar1 = &gUnk_08124960; - if (arg1 == 1) { - puVar1 = &gUnk_0812497A; - } - sub_0801AF18(puVar1, COORD_TO_TILE(this), 1); +void nullsub_127(Entity* this) { +} + +void sub_080A0960(Entity* this, u32 arg1) { + u8* puVar1; + + puVar1 = &gUnk_08124960; + if (arg1 == 1) { + puVar1 = &gUnk_0812497A; + } + sub_0801AF18(puVar1, COORD_TO_TILE(this), 1); } diff --git a/src/object/lightableSwitch.c b/src/object/lightableSwitch.c index 5d3e693c..ecc6449e 100644 --- a/src/object/lightableSwitch.c +++ b/src/object/lightableSwitch.c @@ -142,4 +142,5 @@ void sub_0809EC08(Entity* this) { } } -void nullsub_126(Entity* this) { } +void nullsub_126(Entity* this) { +} diff --git a/src/object/lilypadSmall.c b/src/object/lilypadSmall.c index 1efa9768..32991f65 100644 --- a/src/object/lilypadSmall.c +++ b/src/object/lilypadSmall.c @@ -8,35 +8,33 @@ extern void sub_080A2CC0(Entity*, Entity**, u16*); extern u16 gUnk_08123318[]; -void LilypadSmall(Entity *this) -{ - u32 rand; - u16 *psVar4; - - if (this->action == 0) { - this->action = 1; - this->actionDelay = 0x5a; - rand = Random(); - this->field_0xf = rand; - this->frameIndex = (rand >> 0x10) & 3; - this->spriteSettings.b.draw = TRUE; - this->spritePriority.b0 = 7; - this->attachedEntity = GetCurrentRoomProperty(this->entityType.parameter); - sub_080A2CC0(this, &this->attachedEntity, &this->field_0x70.HALF.LO); - } - sub_080A2BE4(this, sub_08097ADC(this)); - sub_08097B24(this); - psVar4 = (u16 *)&this->field_0x70; - if (--*psVar4 == 0) { - sub_080A2CC0(this, &this->attachedEntity, psVar4); - } +void LilypadSmall(Entity* this) { + u32 rand; + u16* psVar4; + + if (this->action == 0) { + this->action = 1; + this->actionDelay = 0x5a; + rand = Random(); + this->field_0xf = rand; + this->frameIndex = (rand >> 0x10) & 3; + this->spriteSettings.b.draw = TRUE; + this->spritePriority.b0 = 7; + this->attachedEntity = GetCurrentRoomProperty(this->entityType.parameter); + sub_080A2CC0(this, &this->attachedEntity, &this->field_0x70.HALF.LO); + } + sub_080A2BE4(this, sub_08097ADC(this)); + sub_08097B24(this); + psVar4 = (u16*)&this->field_0x70; + if (--*psVar4 == 0) { + sub_080A2CC0(this, &this->attachedEntity, psVar4); + } } -u32 sub_08097ADC(Entity *this) -{ +u32 sub_08097ADC(Entity* this) { if ((gPlayerState.flags.all & 0x80) == 0) { return 0; - } else if (sub_080041A0(this,&gPlayerEntity,8,8) == 0) { + } else if (sub_080041A0(this, &gPlayerEntity, 8, 8) == 0) { return 0; } else if (sub_08079F8C() == 0) { return 0; @@ -50,11 +48,10 @@ u32 sub_08097ADC(Entity *this) } } -void sub_08097B24(Entity *this) -{ +void sub_08097B24(Entity* this) { u32 temp; u32 temp2; - u16 *temp3; + u16* temp3; if (--this->actionDelay == 0) { this->actionDelay = 0x5a; diff --git a/src/object/mask.c b/src/object/mask.c index 9fb42c68..03dceea7 100644 --- a/src/object/mask.c +++ b/src/object/mask.c @@ -6,7 +6,7 @@ extern Entity gPlayerEntity; extern u16 gScreenTransition[]; -extern void (*MaskActionFuncs[])(Entity *); +extern void (*MaskActionFuncs[])(Entity*); extern void DeleteThisEntity(); @@ -21,15 +21,14 @@ extern s16 sub_080001DA(u16, u32); extern u16 sub_080002E0(u16, u32); extern void EnqueueSFX(u32); -extern void sub_080044EC(Entity *, u16); -extern void sub_0805457C(Entity *, s32); +extern void sub_080044EC(Entity*, u16); +extern void sub_0805457C(Entity*, s32); - -void Mask(Entity *this) { +void Mask(Entity* this) { MaskActionFuncs[this->action](this); } -void sub_080929A4(Entity *this) { +void sub_080929A4(Entity* this) { if (this->entityType.parameter & 0xC0) { if (CheckFlags(this->field_0x86.HWORD)) { s32 field_0x0a; @@ -37,7 +36,7 @@ void sub_080929A4(Entity *this) { switch (this->entityType.parameter & 0xC0) { case 0x40: field_0x0a = gScreenTransition[0x5]; - + switch (field_0x0a) { case 0x44D ... 0x44F: case 0x182: @@ -51,7 +50,7 @@ void sub_080929A4(Entity *this) { DeleteThisEntity(); break; } - switchEnd: + switchEnd: } } @@ -59,7 +58,7 @@ void sub_080929A4(Entity *this) { this->field_0x20 = 0x18000; this->field_0x78.HWORD = ((Random() & 7) << 10) | 0x2000; - + this->field_0xf = this->actionDelay >> 1; this->actionDelay = 0; @@ -74,7 +73,7 @@ void sub_080929A4(Entity *this) { } // Probably related to knocking it down -void sub_08092A94(Entity *this) { +void sub_08092A94(Entity* this) { // Check for the first frame of bonking animation if (gPlayerEntity.action != 6) { return; @@ -89,13 +88,14 @@ void sub_08092A94(Entity *this) { return; } - if (this->x.HALF.HI - gPlayerEntity.x.HALF.HI >= this->field_0xf || this->x.HALF.HI - gPlayerEntity.x.HALF.HI <= -this->field_0xf) { + if (this->x.HALF.HI - gPlayerEntity.x.HALF.HI >= this->field_0xf || + this->x.HALF.HI - gPlayerEntity.x.HALF.HI <= -this->field_0xf) { return; } // Presumably, make the mask fall SetTile((u16)this->field_0x7c.HALF.LO, this->field_0x7c.HALF.HI, 1); - + sub_08000148(this->field_0x7a.HWORD, this->field_0x7c.HALF.HI, 1); this->action = 2; @@ -107,26 +107,23 @@ void sub_08092A94(Entity *this) { } // Probably falling down -void sub_08092B0C(Entity *this) { +void sub_08092B0C(Entity* this) { if (this->actionDelay == 1) { this->action = 3; this->actionDelay = 0; - switch (this->entityType.parameter & 0xC0) - { + switch (this->entityType.parameter & 0xC0) { case 0x80: EnqueueSFX(0x72); case 0x40: SetFlag(this->field_0x86.HWORD); break; - } CreateFx(this, 5, 0); sub_0805457C(this, 3); - } - else { + } else { sub_080044EC(this, this->field_0x78.HWORD); if (this->height.HALF.HI == 0) { @@ -135,6 +132,6 @@ void sub_08092B0C(Entity *this) { } } -void Mask_Delete(Entity *this) { +void Mask_Delete(Entity* this) { DeleteThisEntity(); } diff --git a/src/object/metalDoor.c b/src/object/metalDoor.c index 888c35f7..625cd129 100644 --- a/src/object/metalDoor.c +++ b/src/object/metalDoor.c @@ -20,96 +20,89 @@ void MetalDoor(Entity* this) { gUnk_0812493C[this->action](this); } -void sub_080A0684(Entity *this) -{ - if ((this->cutsceneBeh.HWORD != 0xffff) && CheckFlags(this->cutsceneBeh.HWORD)) { - DeleteThisEntity(); - } - this->action = 1; - this->nonPlanarMovement = 0x300; - this->spriteSettings.b.draw = 0; - this->frameIndex = 0; - this->spriteSettings.b.flipY = 1; - this->boundingBox = &gUnk_080FD180; - this->spritePriority.b0 = 5; - this->field_0x70.HALF.LO = this->x.HALF.HI; - this->field_0x70.HALF.HI = this->y.HALF.HI; - this->field_0x74.HWORD = COORD_TO_TILE(this); -} - -void sub_080A0718(Entity *this) -{ - if (sub_08083734(this, 2) != 0) { - this->action = 2; - this->actionDelay = 0xc; - this->spriteSettings.b.draw = TRUE; - this->direction = 0; - this->y.HALF.HI += 0x24; - sub_080A080C(this); - } -} - -void sub_080A074C(Entity *this) -{ - u8 bVar1; - Entity *ent; - - sub_0806F69C(this); - - if (--this->actionDelay == 0) { - this->action = 3; - this->height.HALF.HI = 0; - this->x.HALF.HI = this->field_0x70.HALF.LO; - this->y.HALF.HI = this->field_0x70.HALF.HI; - ent = CreateFx(this, 0x11, 0x40); - if (ent != NULL) { - ent->x.HALF.HI += 0xc; - ent->y.HALF.HI -= 0xc; +void sub_080A0684(Entity* this) { + if ((this->cutsceneBeh.HWORD != 0xffff) && CheckFlags(this->cutsceneBeh.HWORD)) { + DeleteThisEntity(); } - ent = CreateFx(this, 0x11, 0x40); - if (ent != NULL) { - ent->x.HALF.HI -= 0xc; - ent->y.HALF.HI -= 0xc; + this->action = 1; + this->nonPlanarMovement = 0x300; + this->spriteSettings.b.draw = 0; + this->frameIndex = 0; + this->spriteSettings.b.flipY = 1; + this->boundingBox = &gUnk_080FD180; + this->spritePriority.b0 = 5; + this->field_0x70.HALF.LO = this->x.HALF.HI; + this->field_0x70.HALF.HI = this->y.HALF.HI; + this->field_0x74.HWORD = COORD_TO_TILE(this); +} + +void sub_080A0718(Entity* this) { + if (sub_08083734(this, 2) != 0) { + this->action = 2; + this->actionDelay = 0xc; + this->spriteSettings.b.draw = TRUE; + this->direction = 0; + this->y.HALF.HI += 0x24; + sub_080A080C(this); } - EnqueueSFX(0x10b); - } } -void sub_080A07BC(Entity *this) -{ - if (CheckFlags(this->field_0x86.HWORD)) { - this->action = 4; - this->actionDelay = 0xc; - this->direction = 0x10; - this->y.HALF.HI += 2; - sub_080A0870(this); - PlaySFX(0x10b); - } +void sub_080A074C(Entity* this) { + u8 bVar1; + Entity* ent; + + sub_0806F69C(this); + + if (--this->actionDelay == 0) { + this->action = 3; + this->height.HALF.HI = 0; + this->x.HALF.HI = this->field_0x70.HALF.LO; + this->y.HALF.HI = this->field_0x70.HALF.HI; + ent = CreateFx(this, 0x11, 0x40); + if (ent != NULL) { + ent->x.HALF.HI += 0xc; + ent->y.HALF.HI -= 0xc; + } + ent = CreateFx(this, 0x11, 0x40); + if (ent != NULL) { + ent->x.HALF.HI -= 0xc; + ent->y.HALF.HI -= 0xc; + } + EnqueueSFX(0x10b); + } } -void sub_080A07F0(Entity *this) -{ - - sub_0806F69C(this); - - if (--this->actionDelay == 0) { - DeleteThisEntity(); - } +void sub_080A07BC(Entity* this) { + if (CheckFlags(this->field_0x86.HWORD)) { + this->action = 4; + this->actionDelay = 0xc; + this->direction = 0x10; + this->y.HALF.HI += 2; + sub_080A0870(this); + PlaySFX(0x10b); + } } -void sub_080A080C(Entity *this) -{ - this->field_0x76.HWORD = sub_080001DA(this->field_0x74.HWORD - 1, this->collisionLayer); - this->field_0x78.HWORD = sub_080001DA(this->field_0x74.HWORD, this->collisionLayer); - this->field_0x7a.HWORD = sub_080001DA(this->field_0x74.HWORD + 1, this->collisionLayer); - SetTile(0x4022, this->field_0x74.HWORD - 1, this->collisionLayer); - SetTile(0x4022, this->field_0x74.HWORD, this->collisionLayer); - SetTile(0x4022, this->field_0x74.HWORD + 1, this->collisionLayer); +void sub_080A07F0(Entity* this) { + + sub_0806F69C(this); + + if (--this->actionDelay == 0) { + DeleteThisEntity(); + } } -void sub_080A0870(Entity *this) -{ - SetTile(this->field_0x76.HWORD, this->field_0x74.HWORD - 1, this->collisionLayer); - SetTile(this->field_0x78.HWORD, this->field_0x74.HWORD, this->collisionLayer); - SetTile(this->field_0x7a.HWORD, this->field_0x74.HWORD + 1, this->collisionLayer); +void sub_080A080C(Entity* this) { + this->field_0x76.HWORD = sub_080001DA(this->field_0x74.HWORD - 1, this->collisionLayer); + this->field_0x78.HWORD = sub_080001DA(this->field_0x74.HWORD, this->collisionLayer); + this->field_0x7a.HWORD = sub_080001DA(this->field_0x74.HWORD + 1, this->collisionLayer); + SetTile(0x4022, this->field_0x74.HWORD - 1, this->collisionLayer); + SetTile(0x4022, this->field_0x74.HWORD, this->collisionLayer); + SetTile(0x4022, this->field_0x74.HWORD + 1, this->collisionLayer); +} + +void sub_080A0870(Entity* this) { + SetTile(this->field_0x76.HWORD, this->field_0x74.HWORD - 1, this->collisionLayer); + SetTile(this->field_0x78.HWORD, this->field_0x74.HWORD, this->collisionLayer); + SetTile(this->field_0x7a.HWORD, this->field_0x74.HWORD + 1, this->collisionLayer); } diff --git a/src/object/minecart.c b/src/object/minecart.c index 9207c8c0..5417e8a7 100644 --- a/src/object/minecart.c +++ b/src/object/minecart.c @@ -93,40 +93,37 @@ void sub_080917DC(Entity* this) { } } -void sub_080918A4(Entity *this) -{ - if (sub_080041A0(this, &gPlayerEntity, 2, 2) != 0) { - gPlayerEntity.x.HALF.HI = this->x.HALF.HI; - gPlayerEntity.y.HALF.HI = this->y.HALF.HI; - if (gPlayerEntity.height.HALF.HI > -0x10) { - if ((s32)gPlayerEntity.field_0x20 > -1) { - return; - } - gPlayerEntity.animationState = this->animationState << 1; - gPlayerState.flags.all = (gPlayerState.flags.all ^ 0x4000000) | 0x1000; - this->action++; - this->field_0xf = 1; - this->flags |= 0x20; - this->damageType = 0x97; - this->field_0x3c = (gPlayerEntity.field_0x3c + 1) | 0x20; - this->flags2 = gPlayerEntity.flags2; - this->field_0x40 = 0x18; - this->field_0x44 = 8; - sub_0801766C(this); - sub_0807BA8C(COORD_TO_TILE(this), this->collisionLayer); - PlaySFX(0x137); +void sub_080918A4(Entity* this) { + if (sub_080041A0(this, &gPlayerEntity, 2, 2) != 0) { + gPlayerEntity.x.HALF.HI = this->x.HALF.HI; + gPlayerEntity.y.HALF.HI = this->y.HALF.HI; + if (gPlayerEntity.height.HALF.HI > -0x10) { + if ((s32)gPlayerEntity.field_0x20 > -1) { + return; + } + gPlayerEntity.animationState = this->animationState << 1; + gPlayerState.flags.all = (gPlayerState.flags.all ^ 0x4000000) | 0x1000; + this->action++; + this->field_0xf = 1; + this->flags |= 0x20; + this->damageType = 0x97; + this->field_0x3c = (gPlayerEntity.field_0x3c + 1) | 0x20; + this->flags2 = gPlayerEntity.flags2; + this->field_0x40 = 0x18; + this->field_0x44 = 8; + sub_0801766C(this); + sub_0807BA8C(COORD_TO_TILE(this), this->collisionLayer); + PlaySFX(0x137); + } + } else { + gPlayerEntity.direction = GetFacingDirection(&gPlayerEntity, this); + } + if (gPlayerEntity.field_0x20 < 0) { + gPlayerEntity.spritePriority.b0 = this->spritePriority.b0 - 1; } - } - else { - gPlayerEntity.direction = GetFacingDirection(&gPlayerEntity, this); - } - if (gPlayerEntity.field_0x20 < 0) { - gPlayerEntity.spritePriority.b0 = this->spritePriority.b0 - 1; - } } -void sub_080919AC(Entity *this) -{ +void sub_080919AC(Entity* this) { u32 iVar2; u32 uVar3; @@ -138,7 +135,7 @@ void sub_080919AC(Entity *this) if ((gPlayerEntity.frames.all & 0xf) == 0) { this->flags = this->flags & 0x7f; - CopyPosition(this,&gPlayerEntity); + CopyPosition(this, &gPlayerEntity); if ((gPlayerEntity.frames.all & 0xf0) == 0x10) { this->spriteOffsetY = 1; } else { @@ -148,7 +145,7 @@ void sub_080919AC(Entity *this) this->flags = this->flags | 0x80; gPlayerEntity.nonPlanarMovement = 0; sub_0806F69C(this); - CopyPosition(this,&gPlayerEntity); + CopyPosition(this, &gPlayerEntity); gPlayerEntity.spritePriority.b0 = this->spritePriority.b0 - 1; if (!sub_08091DDC(this)) { if ((gScreenTransition.frameCount & 0xf) == 0) { @@ -160,7 +157,8 @@ void sub_080919AC(Entity *this) this->field_0xf = 0x3c; } - uVar3 = sub_080002B4(this, gUnk_081223C8[this->animationState * 2], gUnk_081223C8[this->animationState * 2 + 1]); + uVar3 = sub_080002B4(this, gUnk_081223C8[this->animationState * 2], + gUnk_081223C8[this->animationState * 2 + 1]); iVar2 = sub_08007DD6(uVar3, gUnk_081223D8[this->animationState]); if (iVar2 == 0) { this->direction = this->direction ^ 0x10; @@ -207,8 +205,7 @@ void sub_080919AC(Entity *this) gPlayerEntity.animationState = this->animationState << 1; if (this->animIndex == this->animationState) { UpdateAnimationSingleFrame(this); - } - else { + } else { InitAnimationForceUpdate(this, this->animationState); } } diff --git a/src/object/mineralWaterSource.c b/src/object/mineralWaterSource.c index 50887521..b19046f0 100644 --- a/src/object/mineralWaterSource.c +++ b/src/object/mineralWaterSource.c @@ -1,7 +1,7 @@ #include "global.h" #include "entity.h" -extern void (*MineralWaterSourceActionFuncs[])(Entity *); +extern void (*MineralWaterSourceActionFuncs[])(Entity*); typedef struct { u8 field_0x00; @@ -12,14 +12,14 @@ typedef struct { extern UnkStruct_MineralWater MineralWaterSourceParameters[]; -extern bool32 sub_0806FBD8(Entity *); +extern bool32 sub_0806FBD8(Entity*); -void MineralWaterSource(Entity *this) { +void MineralWaterSource(Entity* this) { MineralWaterSourceActionFuncs[this->action](this); } -void MineralWaterSource_Init(Entity *this) { - UnkStruct_MineralWater *unknownParameters; +void MineralWaterSource_Init(Entity* this) { + UnkStruct_MineralWater* unknownParameters; if (!sub_0806FBD8(this)) { return; @@ -42,6 +42,6 @@ void MineralWaterSource_Init(Entity *this) { this->action = 1; } -void sub_080973DC(Entity *this) { +void sub_080973DC(Entity* this) { this->bitfield = 0; } diff --git a/src/object/minishLight.c b/src/object/minishLight.c index 8982a49a..21465597 100644 --- a/src/object/minishLight.c +++ b/src/object/minishLight.c @@ -1,30 +1,26 @@ #include "global.h" #include "entity.h" -extern void (* const gUnk_081247F8[])(Entity*); +extern void (*const gUnk_081247F8[])(Entity*); -void MinishLight(Entity* this) -{ - gUnk_081247F8[this->action](this); +void MinishLight(Entity* this) { + gUnk_081247F8[this->action](this); } -void sub_0809F840(Entity* this) -{ - this->action = 1; - this->frameIndex = 0; - this->actionDelay = 0x20; - this->field_0xf = 0; +void sub_0809F840(Entity* this) { + this->action = 1; + this->frameIndex = 0; + this->actionDelay = 0x20; + this->field_0xf = 0; - if (this->entityType.parameter != 0) - { - this->spriteSettings.b.flipX = 1; - } + if (this->entityType.parameter != 0) { + this->spriteSettings.b.flipX = 1; + } - UpdateSpriteForCollisionLayer(this); + UpdateSpriteForCollisionLayer(this); } -void sub_0809F868(Entity* this) -{ +void sub_0809F868(Entity* this) { if (--this->actionDelay == 0) { if (this->field_0xf == 0) { if (++this->frameIndex == 3) { diff --git a/src/object/minishSizedEntrance.c b/src/object/minishSizedEntrance.c index 55160cb7..59a9294b 100644 --- a/src/object/minishSizedEntrance.c +++ b/src/object/minishSizedEntrance.c @@ -7,20 +7,18 @@ extern void LoadFixedGFX(Entity*, u32); extern void (*const gUnk_08122254[])(Entity*); -void MinishSizedEntrance(Entity* this) -{ - gUnk_08122254[this->action](this); +void MinishSizedEntrance(Entity* this) { + gUnk_08122254[this->action](this); } -void sub_08090EC0(Entity *this) -{ - this->action = 1; - this->spriteRendering.b3 = 3; - this->spritePriority.b0 = 7; - this->frameIndex = (this->entityType).parameter; - if (CheckIsDungeon()) { - this->frameIndex += 4; - sub_080AE068(this); - LoadFixedGFX(this, 0x184); - } +void sub_08090EC0(Entity* this) { + this->action = 1; + this->spriteRendering.b3 = 3; + this->spritePriority.b0 = 7; + this->frameIndex = (this->entityType).parameter; + if (CheckIsDungeon()) { + this->frameIndex += 4; + sub_080AE068(this); + LoadFixedGFX(this, 0x184); + } } diff --git a/src/object/object1C.c b/src/object/object1C.c index 725f4223..ace54e82 100644 --- a/src/object/object1C.c +++ b/src/object/object1C.c @@ -4,16 +4,15 @@ extern u32 CheckRectOnScreen(s16, s16, u32, u32); extern void DeleteThisEntity(); -void Object1C(Entity *this) -{ - s32 iVar1; - - if (this->action == 0) { - this->action = 1; - } - iVar1 = CheckRectOnScreen(this->field_0x80.HWORD, this->field_0x82.HWORD, 0x10, 0x10); - if (iVar1 == 0) { - this->parent->field_0x20 &= ~(1 << this->entityType.parameter); - DeleteThisEntity(); - } +void Object1C(Entity* this) { + s32 iVar1; + + if (this->action == 0) { + this->action = 1; + } + iVar1 = CheckRectOnScreen(this->field_0x80.HWORD, this->field_0x82.HWORD, 0x10, 0x10); + if (iVar1 == 0) { + this->parent->field_0x20 &= ~(1 << this->entityType.parameter); + DeleteThisEntity(); + } } diff --git a/src/object/object1D.c b/src/object/object1D.c index 1912facb..8442b227 100644 --- a/src/object/object1D.c +++ b/src/object/object1D.c @@ -5,14 +5,13 @@ void DeleteThisEntity(); extern void (*gUnk_081208A0[])(Entity*); -void Object1D(Entity *this) -{ - gUnk_081208A0[this->action](this); +void Object1D(Entity* this) { + gUnk_081208A0[this->action](this); } -void sub_080874F8(Entity* this) -{ - DeleteThisEntity(); +void sub_080874F8(Entity* this) { + DeleteThisEntity(); } -void nullsub_117(Entity* this){} +void nullsub_117(Entity* this) { +} diff --git a/src/object/object2A.c b/src/object/object2A.c index 44d272c5..9844ec72 100644 --- a/src/object/object2A.c +++ b/src/object/object2A.c @@ -9,15 +9,14 @@ void Object2A(Entity* this) { gUnk_08120DD0[this->action](this); } -void sub_08089B18(Entity *this) -{ - this->action = 1; - this->spriteSettings.b.draw = TRUE; - if (this->entityType.parameter != 0) { - this->actionDelay = this->entityType.parameter; - } - InitializeAnimation(this, 0); - switch (this->entityType.form) { +void sub_08089B18(Entity* this) { + this->action = 1; + this->spriteSettings.b.draw = TRUE; + if (this->entityType.parameter != 0) { + this->actionDelay = this->entityType.parameter; + } + InitializeAnimation(this, 0); + switch (this->entityType.form) { case 1: this->y.HALF.HI -= 8; this->actionDelay = 0x28; diff --git a/src/object/object48.c b/src/object/object48.c old mode 100755 new mode 100644 index 30ddda26..5db2b96a --- a/src/object/object48.c +++ b/src/object/object48.c @@ -179,7 +179,7 @@ void sub_0808EA28(Entity* this) { u32 var1; if (this->entityType.form == 3) { - if (((struct_02000000 *)0x2000000)->gameLanguage > 1) { + if (((struct_02000000*)0x2000000)->gameLanguage > 1) { this->spriteSettings.b.draw = 2; } else { this->spriteSettings.b.draw = 0; @@ -298,7 +298,7 @@ void sub_0808EBB8(Entity* this) { case 0: break; case 1: - y = ((struct_02000000 *)0x2000000)->gameLanguage * 16 + 24; + y = ((struct_02000000*)0x2000000)->gameLanguage * 16 + 24; x = 112; break; case 2: @@ -407,7 +407,7 @@ void sub_0808ED98(Entity* this) { void sub_0808EE00(Entity* this) { int var0, var1, var2; - var0 = ((struct_02000000 *)0x2000000)->gameLanguage != 0; + var0 = ((struct_02000000*)0x2000000)->gameLanguage != 0; var1 = this->entityType.form - 10; this->frameIndex = gUnk_08121D38[var0][var1]; this->x.HALF.HI = gUnk_08121D18[var0][var1]; @@ -426,7 +426,6 @@ void sub_0808EE00(Entity* this) { } void nullsub_522(Entity* this) { - } void sub_0808EE98(Entity* this) { @@ -458,9 +457,9 @@ void sub_0808EF24(Entity* this) { } else { this->spriteSettings.b.draw = 2; if (this->entityType.form == 21) { - var0 = ((struct_02000000 *)0x2000000)->messageSpeed; + var0 = ((struct_02000000*)0x2000000)->messageSpeed; } else { - var0 = ((struct_02000000 *)0x2000000)->brightnessPref; + var0 = ((struct_02000000*)0x2000000)->brightnessPref; } this->frameIndex = this->lastFrameIndex + var0; } diff --git a/src/object/object49.c b/src/object/object49.c index 0617aad2..a31149ca 100644 --- a/src/object/object49.c +++ b/src/object/object49.c @@ -11,7 +11,7 @@ static void sub_0808F244(Entity*); extern void sub_0806FCF4(Entity*, u32, u32, u32); extern void sub_0808F5EC(Entity*); -extern bool32 sub_0806F3E4(Entity *); +extern bool32 sub_0806F3E4(Entity*); extern void (*const gUnk_08121E5C[])(Entity*); extern void (*const gUnk_08121E88[])(Entity*); @@ -63,98 +63,89 @@ static void sub_0808F14C(Entity* this) { } } -void sub_0808F170(Entity *this) -{ - *(u32 *)&this->field_0x74 -= 0x20; - *(u32 *)&this->field_0x78 += 0x20; - sub_0806FCF4(this, *(u32 *)&this->field_0x78, 8, 2); - if (*(u32 *)&this->field_0x78 > 0x1ff) { - this->action++; - } - sub_0808F2B0(this); -} - -void sub_0808F1A4(Entity *this) -{ - *(u32 *)&this->field_0x78 += 0x10; - *(u32 *)&this->field_0x74 += 0x10; - sub_0806FCF4(this, *(u32 *)&this->field_0x78, 8, 2); - if (*(u32 *)&this->field_0x78 > 0x3ff) { - this->attachedEntity->action = 0xff; - DeleteThisEntity(); - } - else { +void sub_0808F170(Entity* this) { + *(u32*)&this->field_0x74 -= 0x20; + *(u32*)&this->field_0x78 += 0x20; + sub_0806FCF4(this, *(u32*)&this->field_0x78, 8, 2); + if (*(u32*)&this->field_0x78 > 0x1ff) { + this->action++; + } sub_0808F2B0(this); - } } -void sub_0808F1E0(Entity *this) -{ +void sub_0808F1A4(Entity* this) { + *(u32*)&this->field_0x78 += 0x10; + *(u32*)&this->field_0x74 += 0x10; + sub_0806FCF4(this, *(u32*)&this->field_0x78, 8, 2); + if (*(u32*)&this->field_0x78 > 0x3ff) { + this->attachedEntity->action = 0xff; + DeleteThisEntity(); + } else { + sub_0808F2B0(this); + } +} + +void sub_0808F1E0(Entity* this) { gUnk_08121E98[this->action](this); } -void sub_0808F1F8(Entity *this) -{ - u8 bVar1; - - this->spriteRendering.b0 = 3; - this->action++; - this->spriteRendering.b3 = this->parent->spriteRendering.b3; - this->spriteOrientation.flipY = this->parent->spriteOrientation.flipY; - this->spritePriority.b0 = 7; - InitializeAnimation(this, 1); - sub_0808F244(this); -} +void sub_0808F1F8(Entity* this) { + u8 bVar1; -static void sub_0808F244(Entity *this) -{ - - this->spriteSettings.b.draw = this->parent->spriteSettings.b.draw; - this->y.HALF.HI = this->parent->y.HALF.HI + 3; - this->x.HALF.HI = (*(s8*)&this->attachedEntity->spriteOffsetX + this->attachedEntity->x.HALF.HI); - this->height.WORD = 0; - *(u32 *)&this->field_0x74 = 0x80 - this->parent->height.HALF.HI; - *(u32 *)&this->field_0x78 = 0x100 - this->parent->height.HALF.HI; - *(u32 *)&this->field_0x70.WORD = *((u8 *)&this->parent->field_0x7c + 3); - sub_0808F2B0(this); - if ((this->parent->field_0x6c.HALF.HI & 2) != 0) { - DeleteThisEntity(); - } -} - -static void sub_0808F2B0(Entity *this) -{ - sub_0805EC9C(this, *(u32 *)&this->field_0x74, *(u32 *)&this->field_0x78, this->field_0x70.WORD); -} - -void sub_0808F2C0(Entity *this) -{ - if (this->action == 0) { + this->spriteRendering.b0 = 3; this->action++; this->spriteRendering.b3 = this->parent->spriteRendering.b3; this->spriteOrientation.flipY = this->parent->spriteOrientation.flipY; - this->spriteSettings.b.draw = 1; this->spritePriority.b0 = 7; - this->height.WORD = 0; + InitializeAnimation(this, 1); + sub_0808F244(this); +} +static void sub_0808F244(Entity* this) { + + this->spriteSettings.b.draw = this->parent->spriteSettings.b.draw; this->y.HALF.HI = this->parent->y.HALF.HI + 3; - this->x.HALF.HI = this->parent->x.HALF.HI; - InitializeAnimation(this,3); - } - if (this->parent->height.HALF.HI == 0) { - *(u32 *)&this->field_0x74 = *(u32 *)&this->parent->field_0x74; - *(u32 *)&this->field_0x78 = *(u32 *)&this->parent->field_0x78; - } - else { - *(u32 *)&this->field_0x74 = 0x200 - this->parent->height.HALF.HI; - *(u32 *)&this->field_0x78 = this->parent->height.HALF.HI * -2 + 0x300; - } - *(u32 *)&this->field_0x70 = 0; - sub_0808F2B0(this); - sub_0806FCF4(this,*(u32 *)&this->field_0x78,8,2); - if (this->action == 0xff) { - DeleteThisEntity(); - } + this->x.HALF.HI = (*(s8*)&this->attachedEntity->spriteOffsetX + this->attachedEntity->x.HALF.HI); + this->height.WORD = 0; + *(u32*)&this->field_0x74 = 0x80 - this->parent->height.HALF.HI; + *(u32*)&this->field_0x78 = 0x100 - this->parent->height.HALF.HI; + *(u32*)&this->field_0x70.WORD = *((u8*)&this->parent->field_0x7c + 3); + sub_0808F2B0(this); + if ((this->parent->field_0x6c.HALF.HI & 2) != 0) { + DeleteThisEntity(); + } +} + +static void sub_0808F2B0(Entity* this) { + sub_0805EC9C(this, *(u32*)&this->field_0x74, *(u32*)&this->field_0x78, this->field_0x70.WORD); +} + +void sub_0808F2C0(Entity* this) { + if (this->action == 0) { + this->action++; + this->spriteRendering.b3 = this->parent->spriteRendering.b3; + this->spriteOrientation.flipY = this->parent->spriteOrientation.flipY; + this->spriteSettings.b.draw = 1; + this->spritePriority.b0 = 7; + this->height.WORD = 0; + + this->y.HALF.HI = this->parent->y.HALF.HI + 3; + this->x.HALF.HI = this->parent->x.HALF.HI; + InitializeAnimation(this, 3); + } + if (this->parent->height.HALF.HI == 0) { + *(u32*)&this->field_0x74 = *(u32*)&this->parent->field_0x74; + *(u32*)&this->field_0x78 = *(u32*)&this->parent->field_0x78; + } else { + *(u32*)&this->field_0x74 = 0x200 - this->parent->height.HALF.HI; + *(u32*)&this->field_0x78 = this->parent->height.HALF.HI * -2 + 0x300; + } + *(u32*)&this->field_0x70 = 0; + sub_0808F2B0(this); + sub_0806FCF4(this, *(u32*)&this->field_0x78, 8, 2); + if (this->action == 0xff) { + DeleteThisEntity(); + } } void sub_0808F370(Entity* this) { @@ -168,7 +159,7 @@ void sub_0808F370(Entity* this) { u8 flag = this->parent->previousActionFlag - 1; if (flag < 5) { if (this->field_0x70.WORD == 0) { - if (--(*(u32 *)&this->field_0x74) == -1) { + if (--(*(u32*)&this->field_0x74) == -1) { this->field_0x70.WORD = gUnk_08121EA0[Random() & 1]; } } else { @@ -178,7 +169,7 @@ void sub_0808F370(Entity* this) { } } else { this->action = 0; - *(u32 *)&this->field_0x74 = 0; + *(u32*)&this->field_0x74 = 0; } } } @@ -201,7 +192,7 @@ void sub_0808F3DC(Entity* this) { } ResolveEntityOnTop(this->attachedEntity, this); } else { - if (*(u32 *)&this->parent->field_0x74 == 0) { + if (*(u32*)&this->parent->field_0x74 == 0) { if (this->entityType.form == 8) { this->attachedEntity->damageType = this->damageType; } @@ -260,8 +251,8 @@ void sub_0808F554(Entity* this) { } if (this->action != 0) { - if (*(u32 *)&this->cutsceneBeh) { - if (--(*(u32 *)&this->cutsceneBeh) == 0) { + if (*(u32*)&this->cutsceneBeh) { + if (--(*(u32*)&this->cutsceneBeh) == 0) { DeleteThisEntity(); } } @@ -294,5 +285,5 @@ void sub_0808F5EC(Entity* this) { entity->attachedEntity = this->attachedEntity; } - *(u32 *)&this->field_0x74 = 600; + *(u32*)&this->field_0x74 = 600; } diff --git a/src/object/object7E.c b/src/object/object7E.c index a5618a3f..a8120b22 100644 --- a/src/object/object7E.c +++ b/src/object/object7E.c @@ -2,8 +2,8 @@ #include "entity.h" #include "functions.h" -void Object7E(Entity *this) { - +void Object7E(Entity* this) { + if (this->parent->next == NULL) { DeleteThisEntity(); } diff --git a/src/object/object86.c b/src/object/object86.c index e6a1b683..9706e040 100644 --- a/src/object/object86.c +++ b/src/object/object86.c @@ -42,39 +42,37 @@ void sub_08099E10(Entity* this) { } } -void sub_08099E58(Entity *this) -{ - GetNextFrame(this); - if (this->frames.b.f3) { - this->frames.b.f3 = 0; - this->actionDelay++; - if (this->actionDelay == 3) { - this->action = 3; - this->frameIndex = 4; +void sub_08099E58(Entity* this) { + GetNextFrame(this); + if (this->frames.b.f3) { + this->frames.b.f3 = 0; + this->actionDelay++; + if (this->actionDelay == 3) { + this->action = 3; + this->frameIndex = 4; + } } - } } -void sub_08099E8C(Entity *this) -{ - if (sub_080041A0(this, &gPlayerEntity, 0xc, 0xc)) { - if (this->previousActionFlag == 0) { - sub_08099ECC(this); - sub_0805E4E0(this, 0x1e); +void sub_08099E8C(Entity* this) { + if (sub_080041A0(this, &gPlayerEntity, 0xc, 0xc)) { + if (this->previousActionFlag == 0) { + sub_08099ECC(this); + sub_0805E4E0(this, 0x1e); + } + if (CheckLocalFlag(0x75)) { + sub_0805B390(0x7); + } } - if (CheckLocalFlag(0x75)) { - sub_0805B390(0x7); - } - } } -void nullsub_534(Entity* this) {} - -void sub_08099ECC(Entity *this) -{ - this->previousActionFlag = 1; - CopyPosition(this, &gPlayerEntity); - gPlayerState.playerAction = 3; - gPlayerState.field_0x34[4] = 0; - gPlayerState.flags.all |= 0x8000; +void nullsub_534(Entity* this) { +} + +void sub_08099ECC(Entity* this) { + this->previousActionFlag = 1; + CopyPosition(this, &gPlayerEntity); + gPlayerState.playerAction = 3; + gPlayerState.field_0x34[4] = 0; + gPlayerState.flags.all |= 0x8000; } diff --git a/src/object/object9E.c b/src/object/object9E.c index 5923b167..32786007 100644 --- a/src/object/object9E.c +++ b/src/object/object9E.c @@ -6,39 +6,37 @@ extern BoundingBox gUnk_080FD168; extern void SetTile(u32, u32, u32); -void Object9E(Entity *this) -{ - Entity *ent; - u32 tilePos; - u8 *layer; - - if (this->action == 0) { - this->action = 1; - this->spritePriority.b0 = 6; - if ((this->entityType).form == 0) { - this->flags = this->flags | 0x80; - this->frameIndex = 1; - layer = &this->collisionLayer; - *layer = 1; - this->field_0x3c = 7; - this->field_0x40 = 0x48; - this->damageType = 0x7a; - this->flags2 = 1; - this->boundingBox = &gUnk_080FD168; - tilePos = COORD_TO_TILE(this); - SetTile(0x4066, tilePos - 1, *layer); - SetTile(0x4065, tilePos, *layer); - UpdateSpriteForCollisionLayer(this); - ent = CreateObject(0x9e,1,0); - if (ent != NULL) { - this->attachedEntity = ent; - CopyPosition(this, ent); - } +void Object9E(Entity* this) { + Entity* ent; + u32 tilePos; + u8* layer; + + if (this->action == 0) { + this->action = 1; + this->spritePriority.b0 = 6; + if ((this->entityType).form == 0) { + this->flags = this->flags | 0x80; + this->frameIndex = 1; + layer = &this->collisionLayer; + *layer = 1; + this->field_0x3c = 7; + this->field_0x40 = 0x48; + this->damageType = 0x7a; + this->flags2 = 1; + this->boundingBox = &gUnk_080FD168; + tilePos = COORD_TO_TILE(this); + SetTile(0x4066, tilePos - 1, *layer); + SetTile(0x4065, tilePos, *layer); + UpdateSpriteForCollisionLayer(this); + ent = CreateObject(0x9e, 1, 0); + if (ent != NULL) { + this->attachedEntity = ent; + CopyPosition(this, ent); + } + } else { + this->frameIndex = 0; + this->collisionLayer = 2; + UpdateSpriteForCollisionLayer(this); + } } - else { - this->frameIndex = 0; - this->collisionLayer = 2; - UpdateSpriteForCollisionLayer(this); - } - } } diff --git a/src/object/objectA.c b/src/object/objectA.c index dbb79088..a95b3f9d 100644 --- a/src/object/objectA.c +++ b/src/object/objectA.c @@ -8,9 +8,9 @@ extern BoundingBox gUnk_080FD170; extern u8 gUnk_02000070; -void ObjectA(Entity *this) { - u32 uVar2; - +void ObjectA(Entity* this) { + u32 uVar2; + if (this->action == 0) { this->action = 1; this->boundingBox = &gUnk_080FD170; @@ -30,10 +30,10 @@ void ObjectA(Entity *this) { sub_080787CC(this); } } else if (this->interactType != 0) { - SetTileType(*(u16*)&this->field_0x70.HALF.LO, COORD_TO_TILE(this), this->collisionLayer); - SetFlag(this->field_0x86.HWORD); - CreateDust(this); - sub_080526F8(-1); - DeleteThisEntity(); + SetTileType(*(u16*)&this->field_0x70.HALF.LO, COORD_TO_TILE(this), this->collisionLayer); + SetFlag(this->field_0x86.HWORD); + CreateDust(this); + sub_080526F8(-1); + DeleteThisEntity(); } } diff --git a/src/object/objectA8.c b/src/object/objectA8.c index 9f4f4bb4..ce298c29 100644 --- a/src/object/objectA8.c +++ b/src/object/objectA8.c @@ -9,28 +9,27 @@ extern void (*gUnk_08124824[])(Entity*); extern Entity gPlayerEntity; -void ObjectA8(Entity *this) -{ - if ((this->bitfield & 0x80) != 0) { - switch(this->bitfield & 0x7f) { - case 0: - case 1: - case 4: - case 5: - case 6: - case 8: - case 9: - case 10: - case 0xb: - case 0xc: - case 0x1e: - case 0x1f: - this->action = 5; - this->attachedEntity = &gPlayerEntity; - CreateItemEntity((this->entityType).form, 0, 0); - DeleteThisEntity(); +void ObjectA8(Entity* this) { + if ((this->bitfield & 0x80) != 0) { + switch (this->bitfield & 0x7f) { + case 0: + case 1: + case 4: + case 5: + case 6: + case 8: + case 9: + case 10: + case 0xb: + case 0xc: + case 0x1e: + case 0x1f: + this->action = 5; + this->attachedEntity = &gPlayerEntity; + CreateItemEntity((this->entityType).form, 0, 0); + DeleteThisEntity(); + } } - } - gUnk_08124824[this->action](this); - sub_08080CB4(this); + gUnk_08124824[this->action](this); + sub_08080CB4(this); } diff --git a/src/object/palaceArchway.c b/src/object/palaceArchway.c index 3cbcf178..de1e5297 100644 --- a/src/object/palaceArchway.c +++ b/src/object/palaceArchway.c @@ -9,13 +9,13 @@ void PalaceArchway(Entity* this) { gUnk_081246EC[this->action](this); } -void sub_0809F2A0(Entity *this) -{ - this->action = 1; - this->frameIndex = this->entityType.parameter; - this->spriteRendering.b3 = 3; - this->spritePriority.b0 = 7; - SetTile(0x4069, COORD_TO_TILE(this), this->collisionLayer); +void sub_0809F2A0(Entity* this) { + this->action = 1; + this->frameIndex = this->entityType.parameter; + this->spriteRendering.b3 = 3; + this->spritePriority.b0 = 7; + SetTile(0x4069, COORD_TO_TILE(this), this->collisionLayer); } -void nullsub_537() {} +void nullsub_537() { +} diff --git a/src/object/pinwheel.c b/src/object/pinwheel.c index 1476bc58..5862c3ca 100644 --- a/src/object/pinwheel.c +++ b/src/object/pinwheel.c @@ -13,31 +13,30 @@ extern void (*gUnk_0812505C[])(Entity*); void Pinwheel(Entity* this) { u16 x = this->currentHealth; if ((x & 0x7f) != 0) { - if (ReadBit(&gUnk_020342F8,x-1) == 0) { - DeleteThisEntity(); - } + if (ReadBit(&gUnk_020342F8, x - 1) == 0) { + DeleteThisEntity(); + } } gUnk_0812505C[this->action](this); } -void sub_080A23DC(Entity *this) { +void sub_080A23DC(Entity* this) { this->field_0x68.HWORD = gUnk_08125050[this->entityType.parameter]; this->spritePriority.b0 = 7; - if (CheckLocalFlag(this->field_0x68.HWORD) !=0) { + if (CheckLocalFlag(this->field_0x68.HWORD) != 0) { this->action = 2; - } - else { + } else { this->action = 1; } - InitializeAnimation(this,0); + InitializeAnimation(this, 0); } -void sub_080A2420(Entity *this) { - if (CheckLocalFlag(this->field_0x68.HWORD) != 0) { - this->action = 2; - CreateDust(this); - } +void sub_080A2420(Entity* this) { + if (CheckLocalFlag(this->field_0x68.HWORD) != 0) { + this->action = 2; + CreateDust(this); + } } -void sub_080A243C(Entity *this) { +void sub_080A243C(Entity* this) { GetNextFrame(this); -} \ No newline at end of file +} diff --git a/src/object/pot.c b/src/object/pot.c old mode 100755 new mode 100644 index 47ea8c9f..ddce728f --- a/src/object/pot.c +++ b/src/object/pot.c @@ -128,7 +128,6 @@ void sub_08082510(Entity* this) { this->previousActionFlag++; } - void nullsub_511(Entity* this) { } diff --git a/src/object/smoke.c b/src/object/smoke.c index 54047762..c8759c7c 100644 --- a/src/object/smoke.c +++ b/src/object/smoke.c @@ -13,46 +13,42 @@ void Smoke(Entity* this) { gUnk_08121060[this->entityType.form](this); } -void sub_0808A40C(Entity *this) -{ - Entity *ent; - - if (this->action == 0) { - this->action = 1; - this->actionDelay = 0x28; - } - if (--this->actionDelay == 0) { - this->actionDelay = 0x40 - (Random() & 0x1f); - ent = CreateObject(0x2d, 1, 0); - if (ent != NULL) { - CopyPosition(this,ent); - ent->x.HALF.HI += gUnk_08121068[(Random() & 7)]; +void sub_0808A40C(Entity* this) { + Entity* ent; + + if (this->action == 0) { + this->action = 1; + this->actionDelay = 0x28; + } + if (--this->actionDelay == 0) { + this->actionDelay = 0x40 - (Random() & 0x1f); + ent = CreateObject(0x2d, 1, 0); + if (ent != NULL) { + CopyPosition(this, ent); + ent->x.HALF.HI += gUnk_08121068[(Random() & 7)]; + } } - } } -void sub_0808A46C(Entity *this) -{ +void sub_0808A46C(Entity* this) { gUnk_08121070[this->action](this); } -void sub_0808A484(Entity *this) -{ - this->action = 1; - this->spriteSettings.b.draw = TRUE; - this->nonPlanarMovement = 0x40; - this->direction = 6; - this->spriteRendering.b3 = 1; - this->spritePriority.b0 = 0; - this->spriteOrientation.flipY = 1; - InitializeAnimation(this, 0x28); +void sub_0808A484(Entity* this) { + this->action = 1; + this->spriteSettings.b.draw = TRUE; + this->nonPlanarMovement = 0x40; + this->direction = 6; + this->spriteRendering.b3 = 1; + this->spritePriority.b0 = 0; + this->spriteOrientation.flipY = 1; + InitializeAnimation(this, 0x28); } -void sub_0808A4D0(Entity *this) -{ - GetNextFrame(this); - sub_0806F69C(this); - if (this->frames.b.f3) { - DeleteEntity(this); - } +void sub_0808A4D0(Entity* this) { + GetNextFrame(this); + sub_0806F69C(this); + if (this->frames.b.f3) { + DeleteEntity(this); + } } diff --git a/src/object/swordsmanNewsletter.c b/src/object/swordsmanNewsletter.c index 61bd48a1..2cdea24d 100644 --- a/src/object/swordsmanNewsletter.c +++ b/src/object/swordsmanNewsletter.c @@ -13,19 +13,17 @@ void SwordsmanNewsletter(Entity* this) { gUnk_081228B0[this->action](this); } -void sub_080933D8(Entity *this) -{ - this->action = 1; - this->frameIndex = this->entityType.form; - UpdateSpriteForCollisionLayer(this); - this->boundingBox = &gUnk_081228A8; - sub_080787B4(this); +void sub_080933D8(Entity* this) { + this->action = 1; + this->frameIndex = this->entityType.form; + UpdateSpriteForCollisionLayer(this); + this->boundingBox = &gUnk_081228A8; + sub_080787B4(this); } -void sub_080933FC(Entity *this) -{ - if (this->interactType != 0) { - this->interactType = 0; - TextboxNoOverlap(gUnk_081228B8[this->entityType.form], this); - } +void sub_080933FC(Entity* this) { + if (this->interactType != 0) { + this->interactType = 0; + TextboxNoOverlap(gUnk_081228B8[this->entityType.form], this); + } } diff --git a/src/object/thoughtBubble.c b/src/object/thoughtBubble.c index 73316eca..1b1b6e47 100644 --- a/src/object/thoughtBubble.c +++ b/src/object/thoughtBubble.c @@ -10,34 +10,31 @@ extern void (*const ThoughtBubble_Behaviors[])(Entity*); extern u16 ThoughtBubble_SFX[]; -void ThoughtBubble(Entity* this) -{ - ThoughtBubble_Behaviors[this->action](this); +void ThoughtBubble(Entity* this) { + ThoughtBubble_Behaviors[this->action](this); } -void ThoughtBubble_Init(Entity *this) -{ - this->action = 1; - this->spriteSettings.b.draw = 1; - if (this->actionDelay == 0) { - this->actionDelay = 0x2d; - } - this->spriteOrientation.flipY = 1; - InitializeAnimation(this, this->entityType.parameter); - PlaySFX(ThoughtBubble_SFX[this->entityType.parameter]); -} - -void ThoughtBubble_Update(Entity *this) -{ - if (this->parent != NULL) { - this->x.HALF.HI = this->parent->x.HALF.HI; - this->y.HALF.HI = this->parent->y.HALF.HI; - this->height.HALF.HI = this->parent->height.HALF.HI; - } - if ((this->entityType).parameter != 2) { - if (--this->actionDelay == 0) { - DeleteThisEntity(); +void ThoughtBubble_Init(Entity* this) { + this->action = 1; + this->spriteSettings.b.draw = 1; + if (this->actionDelay == 0) { + this->actionDelay = 0x2d; } - } - GetNextFrame(this); + this->spriteOrientation.flipY = 1; + InitializeAnimation(this, this->entityType.parameter); + PlaySFX(ThoughtBubble_SFX[this->entityType.parameter]); +} + +void ThoughtBubble_Update(Entity* this) { + if (this->parent != NULL) { + this->x.HALF.HI = this->parent->x.HALF.HI; + this->y.HALF.HI = this->parent->y.HALF.HI; + this->height.HALF.HI = this->parent->height.HALF.HI; + } + if ((this->entityType).parameter != 2) { + if (--this->actionDelay == 0) { + DeleteThisEntity(); + } + } + GetNextFrame(this); } diff --git a/src/object/treeHidingPortal.c b/src/object/treeHidingPortal.c index 8d34e3b9..c11ace77 100644 --- a/src/object/treeHidingPortal.c +++ b/src/object/treeHidingPortal.c @@ -82,7 +82,6 @@ void sub_0809E918(Entity* this) { } } -void sub_0809E96C(Entity *this) -{ - CreateMinishEntrance(COORD_TO_TILE_OFFSET(this, 0x20, 0x8)); +void sub_0809E96C(Entity* this) { + CreateMinishEntrance(COORD_TO_TILE_OFFSET(this, 0x20, 0x8)); } diff --git a/src/object/windTribeFlag.c b/src/object/windTribeFlag.c index f9c82da8..01d7e554 100644 --- a/src/object/windTribeFlag.c +++ b/src/object/windTribeFlag.c @@ -2,24 +2,21 @@ #include "entity.h" #include "functions.h" -void WindTribeFlag(Entity *this) -{ - if (this->action == 0) { - this->action++; - this->collisionLayer = 2; - if ((this->entityType).form == 0) { - this->spriteSettings.b.flipX = 0; +void WindTribeFlag(Entity* this) { + if (this->action == 0) { + this->action++; + this->collisionLayer = 2; + if ((this->entityType).form == 0) { + this->spriteSettings.b.flipX = 0; + } else { + this->spriteSettings.b.flipX = 1; + } + UpdateSpriteForCollisionLayer(this); + InitializeAnimation(this, 0); + } else { + GetNextFrame(this); } - else { - this->spriteSettings.b.flipX = 1; + if (this->frameDuration == 0xff) { + this->frameDuration = (Random() & 0xf) + 0x10; } - UpdateSpriteForCollisionLayer(this); - InitializeAnimation(this,0); - } - else { - GetNextFrame(this); - } - if (this->frameDuration == 0xff) { - this->frameDuration = (Random() & 0xf) + 0x10; - } } diff --git a/src/object/windcrest.c b/src/object/windcrest.c index 3b883f4e..f8c804e5 100644 --- a/src/object/windcrest.c +++ b/src/object/windcrest.c @@ -7,29 +7,26 @@ extern void sub_0807DDAC(Entity*, u32); extern void sub_0807DDE4(Entity*); extern void sub_08078850(Entity*, u32, u32, u8*); extern void PlaySFX(u32); -extern Entity* CreateFx (Entity*, u32, u32); +extern Entity* CreateFx(Entity*, u32, u32); extern u8 gUnk_08125010; -void Windcrest(Entity *this) -{ - if (this->action == 0) { - this->action++; - this->frameIndex = 0; - sub_0807DD64(this); - } - sub_0807DDAC(this, 0); - sub_0807DDE4(this); +void Windcrest(Entity* this) { + if (this->action == 0) { + this->action++; + this->frameIndex = 0; + sub_0807DD64(this); + } + sub_0807DDAC(this, 0); + sub_0807DDE4(this); } -void sub_080A2124(Entity *this) -{ - sub_08078850(this, 1, 0xe, &gUnk_08125010); +void sub_080A2124(Entity* this) { + sub_08078850(this, 1, 0xe, &gUnk_08125010); } -void Windcrest_Unlock(Entity *this) -{ - PlaySFX(0x72); - gUnk_02002A40.windcrests = gUnk_02002A40.windcrests | 1 << (this->entityType.parameter + 0x18); - CreateFx(this, 0x46, 0); +void Windcrest_Unlock(Entity* this) { + PlaySFX(0x72); + gUnk_02002A40.windcrests = gUnk_02002A40.windcrests | 1 << (this->entityType.parameter + 0x18); + CreateFx(this, 0x46, 0); } diff --git a/src/position.c b/src/position.c index 50aa4c6f..628042c3 100644 --- a/src/position.c +++ b/src/position.c @@ -6,8 +6,7 @@ extern u8 gUnk_08114F78[]; extern u8 gUnk_08114F80[]; -void CopyPosition(Entity* param_1, Entity* param_2) -{ +void CopyPosition(Entity* param_1, Entity* param_2) { PositionRelative(param_1, param_2, 0, 0); } @@ -31,26 +30,22 @@ void PositionRelative(Entity* source, Entity* target, s32 offsetX, s32 offsetY) UpdateSpriteForCollisionLayer(target); } -void CopyPositionAndSpriteOffset(Entity *param_1,Entity *param_2) -{ - param_2->spriteOffsetX = param_1->spriteOffsetX; - param_2->spriteOffsetY = param_1->spriteOffsetY; - PositionRelative(param_1, param_2, 0, 0); +void CopyPositionAndSpriteOffset(Entity* param_1, Entity* param_2) { + param_2->spriteOffsetX = param_1->spriteOffsetX; + param_2->spriteOffsetY = param_1->spriteOffsetY; + PositionRelative(param_1, param_2, 0, 0); } -void sub_0806FA90(Entity *param_1,Entity *param_2, s32 offsetX, s32 offsetY) -{ - param_2->spriteOffsetX = param_1->spriteOffsetX; - param_2->spriteOffsetY = param_1->spriteOffsetY; - PositionRelative(param_1,param_2, offsetX * 64 * 32 * 32, offsetY * 64 * 32 * 32); +void sub_0806FA90(Entity* param_1, Entity* param_2, s32 offsetX, s32 offsetY) { + param_2->spriteOffsetX = param_1->spriteOffsetX; + param_2->spriteOffsetY = param_1->spriteOffsetY; + PositionRelative(param_1, param_2, offsetX * 64 * 32 * 32, offsetY * 64 * 32 * 32); } -void ResolveEntityOnTop(Entity *param_1,Entity *param_2) -{ +void ResolveEntityOnTop(Entity* param_1, Entity* param_2) { param_2->spritePriority.b0 = gUnk_08114F78[param_1->spritePriority.b0]; } -void sub_0806FAD8(Entity *param_1,Entity *param_2) -{ - param_2->spritePriority.b0 = gUnk_08114F80[param_1->spritePriority.b0]; +void sub_0806FAD8(Entity* param_1, Entity* param_2) { + param_2->spritePriority.b0 = gUnk_08114F80[param_1->spritePriority.b0]; } diff --git a/src/room.c b/src/room.c index b8cdbcda..e9d2c358 100644 --- a/src/room.c +++ b/src/room.c @@ -4259,8 +4259,10 @@ void LoadHyruleTown(void) { LoadRoomEntityList(&gUnk_080EECBC); } if (CheckKinstoneFused(0x1b) && (gUnk_02002A40.unk8 > 3)) { - if (!CheckGlobalFlag(NEW_HOUSE_DIN) && !CheckGlobalFlag(NEW_HOUSE_NAYRU) && !CheckGlobalFlag(NEW_HOUSE_FARORE)) { - if (!CheckGlobalFlag(RENTED_HOUSE_DIN) && !CheckGlobalFlag(RENTED_HOUSE_NAYRU) && !CheckGlobalFlag(RENTED_HOUSE_FARORE)) { + if (!CheckGlobalFlag(NEW_HOUSE_DIN) && !CheckGlobalFlag(NEW_HOUSE_NAYRU) && + !CheckGlobalFlag(NEW_HOUSE_FARORE)) { + if (!CheckGlobalFlag(RENTED_HOUSE_DIN) && !CheckGlobalFlag(RENTED_HOUSE_NAYRU) && + !CheckGlobalFlag(RENTED_HOUSE_FARORE)) { LoadRoomEntityList(&gUnk_080EE95C); } else { if (!CheckGlobalFlag(TATEKAKE_HOUSE)) { @@ -4283,7 +4285,8 @@ void LoadHyruleTown(void) { LoadRoomEntityList(&gUnk_080EE9DC); } if ((gUnk_02002A40.unk8 > 4) && !CheckKinstoneFused(0xb) && - (CheckGlobalFlag(RENTED_HOUSE_DIN) || CheckGlobalFlag(RENTED_HOUSE_NAYRU) || CheckGlobalFlag(RENTED_HOUSE_FARORE))) { + (CheckGlobalFlag(RENTED_HOUSE_DIN) || CheckGlobalFlag(RENTED_HOUSE_NAYRU) || + CheckGlobalFlag(RENTED_HOUSE_FARORE))) { LoadRoomEntityList(&gUnk_080EEA5C); } // rocs cape @@ -4305,11 +4308,10 @@ void LoadHyruleTown(void) { extern EntityData gUnk_080EEBAC; -void sub_0804E130(void) -{ - if ((gUnk_02002A40.windcrests & 0x8000000) == 0) { - LoadRoomEntityList(&gUnk_080EEBAC); - } +void sub_0804E130(void) { + if ((gUnk_02002A40.windcrests & 0x8000000) == 0) { + LoadRoomEntityList(&gUnk_080EEBAC); + } } NAKED @@ -4321,55 +4323,64 @@ u32 sub_0804E1F4() { return 1; } -void nullsub_76() {} +void nullsub_76() { +} u32 sub_0804E1FC() { return 1; } -void nullsub_77() {} +void nullsub_77() { +} u32 sub_0804E204() { return 1; } -void nullsub_78() {} +void nullsub_78() { +} u32 sub_0804E20C() { return 1; } -void nullsub_79() {} +void nullsub_79() { +} u32 sub_0804E214() { return 1; } -void nullsub_080() {} +void nullsub_080() { +} u32 sub_0804E21C() { return 1; } -void nullsub_081() {} +void nullsub_081() { +} u32 sub_0804E224() { return 1; } -void nullsub_082() {} +void nullsub_082() { +} u32 sub_0804E22C() { return 1; } -void nullsub_083() {} +void nullsub_083() { +} u32 sub_0804E234() { return 1; } -void nullsub_084() {} +void nullsub_084() { +} u32 sub_0804E23C() { return 1; @@ -4382,30 +4393,32 @@ u32 sub_0804E244() { return 1; } -void nullsub_086() {} +void nullsub_086() { +} u32 sub_0804E24C() { return 1; } -void nullsub_087() {} +void nullsub_087() { +} u32 sub_0804E254() { return 1; } -void nullsub_088() {} +void nullsub_088() { +} extern u32 gUnk_080F09A0; -u32 sub_0804E25C(void) -{ - - //four sword - if (GetInventoryValue(0x6)) { - gRoomVars.field_0x70 = &gUnk_080F09A0; - } - return 1; +u32 sub_0804E25C(void) { + + // four sword + if (GetInventoryValue(0x6)) { + gRoomVars.field_0x70 = &gUnk_080F09A0; + } + return 1; } extern EntityData gUnk_080F0650; @@ -4416,50 +4429,46 @@ extern EntityData gUnk_080F0870; extern EntityData gUnk_080F0890; extern EntityData gUnk_080F0920; -void sub_0804E27C(void) -{ +void sub_0804E27C(void) { - if (!CheckGlobalFlag(TABIDACHI)) { - LoadRoomEntityList(&gUnk_080F0650); - gArea.pMusicIndex = 0x13; - SetGlobalFlag(CASTLE_BGM); - } - else { - if (CheckGlobalFlag(CASTLE_BGM)) { - gArea.pMusicIndex = 0x1b; + if (!CheckGlobalFlag(TABIDACHI)) { + LoadRoomEntityList(&gUnk_080F0650); + gArea.pMusicIndex = 0x13; + SetGlobalFlag(CASTLE_BGM); + } else { + if (CheckGlobalFlag(CASTLE_BGM)) { + gArea.pMusicIndex = 0x1b; + } } - } - if (!CheckLocalFlag(0x9c)) { - LoadRoomEntityList(&gUnk_080F0800); - SetTileType(0x4072, 600, 1); - SetTileType(0x4072, 0x298, 1); - SetTileType(0x4072, 0x266, 1); - SetTileType(0x4072, 0x2a6, 1); - } - else { - // four sword - if (!GetInventoryValue(0x6)) { - LoadRoomEntityList(&gUnk_080F08F0); - SetTileType(0x4072, 0x9e, 1); - SetTileType(0x4072, 0x9f, 1); - SetTileType(0x4072, 0xa0, 1); + if (!CheckLocalFlag(0x9c)) { + LoadRoomEntityList(&gUnk_080F0800); + SetTileType(0x4072, 600, 1); + SetTileType(0x4072, 0x298, 1); + SetTileType(0x4072, 0x266, 1); + SetTileType(0x4072, 0x2a6, 1); + } else { + // four sword + if (!GetInventoryValue(0x6)) { + LoadRoomEntityList(&gUnk_080F08F0); + SetTileType(0x4072, 0x9e, 1); + SetTileType(0x4072, 0x9f, 1); + SetTileType(0x4072, 0xa0, 1); + } + LoadRoomEntityList(&gUnk_080F0850); + // water element + if (!GetInventoryValue(0x42)) { + LoadRoomEntityList(&gUnk_080F0870); + } else { + LoadRoomEntityList(&gUnk_080F0890); + } + SetTileType(0x4072, 600, 1); + SetTileType(0x4072, 0x298, 1); + if (CheckLocalFlag(0x10)) { + LoadRoomEntityList(&gUnk_080F0920); + ClearLocalFlag(0x10); + } } - LoadRoomEntityList(&gUnk_080F0850); - // water element - if (!GetInventoryValue(0x42)) { - LoadRoomEntityList(&gUnk_080F0870); - } - else { - LoadRoomEntityList(&gUnk_080F0890); - } - SetTileType(0x4072, 600, 1); - SetTileType(0x4072, 0x298, 1); - if (CheckLocalFlag(0x10)) { - LoadRoomEntityList(&gUnk_080F0920); - ClearLocalFlag(0x10); - } - } - sub_080AF284(); + sub_080AF284(); } u32 sub_0804E3B8() { @@ -4488,11 +4497,11 @@ void sub_0804E3C4() { index = 3; } r = Random(); - index = gUnk_080F0D58[index][r&0x1f]; + index = gUnk_080F0D58[index][r & 0x1f]; LoadRoomEntityList(gUnk_080F0CB8[index & 0xF]); index >>= 4; r >>= 8; - index = gUnk_080F0E08[index][r&0x1F]; + index = gUnk_080F0E08[index][r & 0x1F]; if (!CheckLocalFlag(0xC6)) { SetLocalFlag(0xC6); index = 0xE; @@ -4508,14 +4517,12 @@ u32 sub_0804E45C() { extern EntityData gUnk_080F1C68; extern EntityData gUnk_080F1C88; -void sub_0804E460(void) -{ - if (!CheckGlobalFlag(POWERGLOVE_HINT)) { - LoadRoomEntityList(&gUnk_080F1C68); - } - else { - LoadRoomEntityList(&gUnk_080F1C88); - } +void sub_0804E460(void) { + if (!CheckGlobalFlag(POWERGLOVE_HINT)) { + LoadRoomEntityList(&gUnk_080F1C68); + } else { + LoadRoomEntityList(&gUnk_080F1C88); + } } u32 sub_0804E484() { @@ -4526,8 +4533,7 @@ extern EntityData gUnk_080F1D90; extern EntityData gUnk_080F1DB0; extern EntityData gUnk_080F1DD0; -void sub_0804E488(void) -{ +void sub_0804E488(void) { if (CheckGlobalFlag(NEW_HOUSE_DIN)) { LoadRoomEntityList(&gUnk_080F1D90); } else if (CheckGlobalFlag(NEW_HOUSE_NAYRU)) { @@ -4541,13 +4547,15 @@ u32 sub_0804E4D0() { return 1; } -void nullsub_375() {} +void nullsub_375() { +} u32 sub_0804E4D8() { return 1; } -void nullsub_376() {} +void nullsub_376() { +} u32 sub_0804E4E0() { return 1; @@ -4557,17 +4565,16 @@ extern EntityData gUnk_080F2174; extern EntityData gUnk_080F2194; extern EntityData gUnk_080F21B4; -void sub_0804E4E4(void) -{ - - LoadRoomEntityList(&gUnk_080F2174); - // picori legend book - if (!GetInventoryValue(0x3a) && CheckGlobalFlag(MIZUKAKI_HARIFALL)) { - LoadRoomEntityList(&gUnk_080F2194); - } - if (gScreenTransition.field_0xf == 1) { - LoadRoomEntityList(&gUnk_080F21B4); - } +void sub_0804E4E4(void) { + + LoadRoomEntityList(&gUnk_080F2174); + // picori legend book + if (!GetInventoryValue(0x3a) && CheckGlobalFlag(MIZUKAKI_HARIFALL)) { + LoadRoomEntityList(&gUnk_080F2194); + } + if (gScreenTransition.field_0xf == 1) { + LoadRoomEntityList(&gUnk_080F21B4); + } } u32 sub_0804E528() { @@ -4578,19 +4585,17 @@ extern EntityData gUnk_080F23BC; extern EntityData gUnk_080F238C; extern EntityData gUnk_080F236C; -void sub_0804E52C(void) -{ - - if (gUnk_02002A40.unk8 > 7) { - LoadRoomEntityList(&gUnk_080F23BC); - } - // flippers - if (!GetInventoryValue(0x46) && CheckGlobalFlag(MIZUKAKI_START)) { - LoadRoomEntityList(&gUnk_080F238C); - } - else { - LoadRoomEntityList(&gUnk_080F236C); - } +void sub_0804E52C(void) { + + if (gUnk_02002A40.unk8 > 7) { + LoadRoomEntityList(&gUnk_080F23BC); + } + // flippers + if (!GetInventoryValue(0x46) && CheckGlobalFlag(MIZUKAKI_START)) { + LoadRoomEntityList(&gUnk_080F238C); + } else { + LoadRoomEntityList(&gUnk_080F236C); + } } u32 sub_0804E570() { @@ -4602,8 +4607,7 @@ extern EntityData gUnk_080F2590; extern EntityData gUnk_080F25C0; extern EntityData gUnk_080F2600; -void sub_0804E574(void) -{ +void sub_0804E574(void) { switch (gUnk_02002A40.unk8) { case 0: case 2: @@ -4646,25 +4650,21 @@ extern EntityData gUnk_080F2758; extern EntityData gUnk_080F27D8; extern EntityData gUnk_080F2798; -void sub_0804E618(void) -{ - if (CheckKinstoneFused(0x21)) { - if (!CheckLocalFlag(0x42)) { - if (!CheckLocalFlag(0x43)) { - LoadRoomEntityList(&gUnk_080F2718); - LoadRoomTileEntities(&gUnk_080F2860); - } - else { - LoadRoomEntityList(&gUnk_080F2758); - } +void sub_0804E618(void) { + if (CheckKinstoneFused(0x21)) { + if (!CheckLocalFlag(0x42)) { + if (!CheckLocalFlag(0x43)) { + LoadRoomEntityList(&gUnk_080F2718); + LoadRoomTileEntities(&gUnk_080F2860); + } else { + LoadRoomEntityList(&gUnk_080F2758); + } + } else if (!CheckLocalFlag(0x3f)) { + LoadRoomEntityList(&gUnk_080F27D8); + } else { + LoadRoomEntityList(&gUnk_080F2798); + } } - else if (!CheckLocalFlag(0x3f)) { - LoadRoomEntityList(&gUnk_080F27D8); - } - else { - LoadRoomEntityList(&gUnk_080F2798); - } - } } u32 sub_0804E680() { @@ -4675,8 +4675,7 @@ extern EntityData gUnk_080F28D4; extern EntityData gUnk_080F28F4; extern EntityData gUnk_080F2914; -void sub_0804E684(void) -{ +void sub_0804E684(void) { if (CheckGlobalFlag(RENTED_HOUSE_DIN)) { LoadRoomEntityList(&gUnk_080F28D4); } else if (CheckGlobalFlag(RENTED_HOUSE_NAYRU)) { @@ -4690,19 +4689,22 @@ u32 sub_0804E6CC9() { return 1; } -void nullsub_377() {} +void nullsub_377() { +} u32 sub_0804E6D4() { return 1; } -void nullsub_378() {} +void nullsub_378() { +} u32 sub_0804E6DC() { return 1; } -void nullsub_379() {} +void nullsub_379() { +} u32 sub_0804E6E4() { return 1; @@ -4710,15 +4712,14 @@ u32 sub_0804E6E4() { extern EntityData gUnk_080F2E2C; -void sub_0804E6E8(void) -{ - if (!CheckGlobalFlag(OUTDOOR)) { - gArea.musicIndex = gArea.pMusicIndex; - PlaySFX(0x800b0036); - } - if (!CheckGlobalFlag(START)) { - LoadRoomEntityList(&gUnk_080F2E2C); - } +void sub_0804E6E8(void) { + if (!CheckGlobalFlag(OUTDOOR)) { + gArea.musicIndex = gArea.pMusicIndex; + PlaySFX(0x800b0036); + } + if (!CheckGlobalFlag(START)) { + LoadRoomEntityList(&gUnk_080F2E2C); + } } u32 sub_0804E728() { @@ -4728,18 +4729,16 @@ u32 sub_0804E728() { extern EntityData gUnk_080F2E94; extern EntityData gUnk_080F2EC4; -void sub_0804E72C(void) -{ - if (!CheckGlobalFlag(OUTDOOR)) { - gArea.musicIndex = gArea.pMusicIndex; - PlaySFX(0x800b0036); - } - if (!CheckGlobalFlag(START)) { - LoadRoomEntityList(&gUnk_080F2E94); - } - else { - LoadRoomEntityList(&gUnk_080F2EC4); - } +void sub_0804E72C(void) { + if (!CheckGlobalFlag(OUTDOOR)) { + gArea.musicIndex = gArea.pMusicIndex; + PlaySFX(0x800b0036); + } + if (!CheckGlobalFlag(START)) { + LoadRoomEntityList(&gUnk_080F2E94); + } else { + LoadRoomEntityList(&gUnk_080F2EC4); + } } u32 sub_0804E778() { @@ -4748,12 +4747,11 @@ u32 sub_0804E778() { extern EntityData gUnk_080F2FD4; -void sub_0804E77C(void) -{ +void sub_0804E77C(void) { // graveyard key - if (!CheckLocalFlag(0x69) || GetInventoryValue(0x3c) > 1) { - LoadRoomEntityList(&gUnk_080F2FD4); - } + if (!CheckLocalFlag(0x69) || GetInventoryValue(0x3c) > 1) { + LoadRoomEntityList(&gUnk_080F2FD4); + } } u32 sub_0804E7A0() { @@ -4762,13 +4760,11 @@ u32 sub_0804E7A0() { extern EntityData gUnk_080F30CC; -void sub_0804E7A4(void) -{ +void sub_0804E7A4(void) { // dog food - if ((GetInventoryValue(0x36) == 1) && !CheckGlobalFlag(BIN_DOGFOOD) && - (gPlayerState.flags.all & 0x80) == 0) { - LoadRoomEntityList(&gUnk_080F30CC); - } + if ((GetInventoryValue(0x36) == 1) && !CheckGlobalFlag(BIN_DOGFOOD) && (gPlayerState.flags.all & 0x80) == 0) { + LoadRoomEntityList(&gUnk_080F30CC); + } } u32 sub_0804E7D8() { @@ -4779,32 +4775,30 @@ extern EntityData gUnk_080F31D8; extern u8 gUnk_02000070; extern u32 gUnk_08009B30; -void sub_0804E7DC(void) -{ +void sub_0804E7DC(void) { - if (!CheckGlobalFlag(START) && !CheckLocalFlag(0x46)) { - sub_080A71C4(5, 1, 4, 4); - gUnk_02000070 = 0; - DoFade(5, 0x100); - sub_080751E8(0, 6, &gUnk_08009B30); - } - if (!CheckGlobalFlag(OUTDOOR)) { - gArea.musicIndex = gArea.pMusicIndex; - PlaySFX(0x800b0036); - } - if ((gPlayerState.flags.all & 8) == 0) { - LoadRoomEntityList(&gUnk_080F31D8); - } + if (!CheckGlobalFlag(START) && !CheckLocalFlag(0x46)) { + sub_080A71C4(5, 1, 4, 4); + gUnk_02000070 = 0; + DoFade(5, 0x100); + sub_080751E8(0, 6, &gUnk_08009B30); + } + if (!CheckGlobalFlag(OUTDOOR)) { + gArea.musicIndex = gArea.pMusicIndex; + PlaySFX(0x800b0036); + } + if ((gPlayerState.flags.all & 8) == 0) { + LoadRoomEntityList(&gUnk_080F31D8); + } } extern u32 gUnk_08009E58; -void sub_0804E864(void) -{ - gPlayerEntity.x.HALF.HI = gRoomControls.roomOriginX + 0x90; - gPlayerEntity.y.HALF.HI = gRoomControls.roomOriginY + 0x38; - sub_080751E8(1, 6, &gUnk_08009E58); - ModHealth(0xa0); +void sub_0804E864(void) { + gPlayerEntity.x.HALF.HI = gRoomControls.roomOriginX + 0x90; + gPlayerEntity.y.HALF.HI = gRoomControls.roomOriginY + 0x38; + sub_080751E8(1, 6, &gUnk_08009E58); + ModHealth(0xa0); } u32 sub_0804E894() { @@ -4813,16 +4807,15 @@ u32 sub_0804E894() { extern EntityData gUnk_080F3260; -void sub_0804E898(void) -{ - // pacci cane - if (GetInventoryValue(0x12)) { - LoadRoomEntityList(&gUnk_080F3260); - SetTileType(0x4072, 0x202, 1); - SetTileType(0x4072, 0x242, 1); - SetTileType(0x4072, 0x204, 1); - SetTileType(0x4072, 0x244, 1); - } +void sub_0804E898(void) { + // pacci cane + if (GetInventoryValue(0x12)) { + LoadRoomEntityList(&gUnk_080F3260); + SetTileType(0x4072, 0x202, 1); + SetTileType(0x4072, 0x242, 1); + SetTileType(0x4072, 0x204, 1); + SetTileType(0x4072, 0x244, 1); + } } u32 sub_0804E8EC() { @@ -4840,13 +4833,11 @@ u32 sub_0804E8F8() { extern EntityData gUnk_080F36FC; extern EntityData gUnk_080F3604; -void sub_0804E8FC(void) -{ - if (!CheckGlobalFlag(INLOCK)) { - LoadRoomEntityList(&gUnk_080F36FC); - } - else if (gUnk_02002A40.unk8 < 4) { - LoadRoomEntityList(&gUnk_080F3604); +void sub_0804E8FC(void) { + if (!CheckGlobalFlag(INLOCK)) { + LoadRoomEntityList(&gUnk_080F36FC); + } else if (gUnk_02002A40.unk8 < 4) { + LoadRoomEntityList(&gUnk_080F3604); } } @@ -4856,18 +4847,18 @@ u32 sub_0804E92C() { extern EntityData gUnk_080F37D0; -void sub_0804E930(void) -{ - if (CheckGlobalFlag(INLOCK)) { - LoadRoomEntityList(&gUnk_080F37D0); - } +void sub_0804E930(void) { + if (CheckGlobalFlag(INLOCK)) { + LoadRoomEntityList(&gUnk_080F37D0); + } } -u32 sub_0804E948 () { +u32 sub_0804E948() { return 1; } -void nullsub_380() {} +void nullsub_380() { +} u32 sub_0804E950() { return 1; @@ -4875,61 +4866,57 @@ u32 sub_0804E950() { extern EntityData gUnk_080F3A48; -void sub_0804E954(void) -{ - // flippers, history of masks - if (!GetInventoryValue(0x46) && CheckGlobalFlag(MIZUKAKI_START) && !GetInventoryValue(0x3b)) { - LoadRoomEntityList(&gUnk_080F3A48); - } - gScreenTransition.field_0x20 = 0xf28; - gScreenTransition.field_0x22 = 0x82d; +void sub_0804E954(void) { + // flippers, history of masks + if (!GetInventoryValue(0x46) && CheckGlobalFlag(MIZUKAKI_START) && !GetInventoryValue(0x3b)) { + LoadRoomEntityList(&gUnk_080F3A48); + } + gScreenTransition.field_0x20 = 0xf28; + gScreenTransition.field_0x22 = 0x82d; } extern u32 gUnk_080F3D44; extern u32 gUnk_080F3EA4; -u32 sub_0804E998(void) -{ - if (CheckGlobalFlag(LV4_CLEAR) && !CheckLocalFlag(4)) { - gRoomVars.field_0x74 = &gUnk_080F3EA4; - } - else { - gRoomVars.field_0x74 = &gUnk_080F3D44; - } - return 1; +u32 sub_0804E998(void) { + if (CheckGlobalFlag(LV4_CLEAR) && !CheckLocalFlag(4)) { + gRoomVars.field_0x74 = &gUnk_080F3EA4; + } else { + gRoomVars.field_0x74 = &gUnk_080F3D44; + } + return 1; } extern EntityData gUnk_080F3C64; extern EntityData gUnk_080F3C94; extern EntityData gUnk_080F3C44; -void sub_0804E9D0(void) -{ - if (CheckGlobalFlag(LV4_CLEAR) && !CheckLocalFlag(4)) { - LoadRoomEntityList(&gUnk_080F3C64); - } - if (CheckKinstoneFused(0x12)) { - LoadRoomEntityList(&gUnk_080F3C94); - } - if ((gUnk_02002A40.unk8 > 3) && CheckGlobalFlag(TINGLE_TALK1ST)) { - LoadRoomEntityList(&gUnk_080F3C44); - } - SetTile(0x4091, 0x590, 1); - SetTile(0x4091, 0x591, 1); - SetTile(0x4091, 0x592, 1); - SetTile(0x4091, 0x593, 1); - SetTile(0x4091, 0x594, 1); - SetTile(0x4091, 0x5d0, 1); - SetTile(0x4091, 0x610, 1); - SetTile(0x4091, 0x650, 1); - SetTile(0x4091, 0x5d4, 1); - SetTile(0x4091, 0x614, 1); - SetTile(0x4091, 0x654, 1); - SetTile(0x4091, 0x690, 1); - SetTile(0x4091, 0x691, 1); - SetTile(0x4091, 0x692, 1); - SetTile(0x4091, 0x693, 1); - SetTile(0x4091, 0x694, 1); +void sub_0804E9D0(void) { + if (CheckGlobalFlag(LV4_CLEAR) && !CheckLocalFlag(4)) { + LoadRoomEntityList(&gUnk_080F3C64); + } + if (CheckKinstoneFused(0x12)) { + LoadRoomEntityList(&gUnk_080F3C94); + } + if ((gUnk_02002A40.unk8 > 3) && CheckGlobalFlag(TINGLE_TALK1ST)) { + LoadRoomEntityList(&gUnk_080F3C44); + } + SetTile(0x4091, 0x590, 1); + SetTile(0x4091, 0x591, 1); + SetTile(0x4091, 0x592, 1); + SetTile(0x4091, 0x593, 1); + SetTile(0x4091, 0x594, 1); + SetTile(0x4091, 0x5d0, 1); + SetTile(0x4091, 0x610, 1); + SetTile(0x4091, 0x650, 1); + SetTile(0x4091, 0x5d4, 1); + SetTile(0x4091, 0x614, 1); + SetTile(0x4091, 0x654, 1); + SetTile(0x4091, 0x690, 1); + SetTile(0x4091, 0x691, 1); + SetTile(0x4091, 0x692, 1); + SetTile(0x4091, 0x693, 1); + SetTile(0x4091, 0x694, 1); } u32 sub_0804EB04() { @@ -4943,107 +4930,115 @@ u32 sub_0804EB0C() { return 1; } -void nullsub_382() {} +void nullsub_382() { +} u32 sub_0804EB14() { return 1; } -void nullsub_383() {} +void nullsub_383() { +} u32 sub_0804EB1() { return 1; } -void nullsub_384() {} +void nullsub_384() { +} u32 sub_0804EB24() { return 1; } -void nullsub_385() {} +void nullsub_385() { +} u32 sub_0804EB2C() { return 1; } -void nullsub_386() {} +void nullsub_386() { +} u32 sub_0804EB34() { return 1; } -void nullsub_387() {} +void nullsub_387() { +} u32 sub_0804EB3C() { return 1; } -void nullsub_388() {} +void nullsub_388() { +} u32 sub_0804EB44() { return 1; } -void nullsub_389() {} +void nullsub_389() { +} u32 sub_0804EB4C() { return 1; } -void nullsub_390() {} - -u32 sub_0804EB54(void) -{ - gArea.areaMetadata |= 0x48; - return 1; +void nullsub_390() { } -void nullsub_391() {} - -u32 sub_0804EB6C(void) -{ - gArea.areaMetadata |= 0x48; - return 1; +u32 sub_0804EB54(void) { + gArea.areaMetadata |= 0x48; + return 1; } -void nullsub_392() {} - -u32 sub_0804EB84(void) -{ - gArea.areaMetadata |= 0x48; - return 1; +void nullsub_391() { } -void nullsub_393() {} - -u32 sub_0804EB9C(void) -{ - sub_0801DD58(0x58, 5); - gArea.areaMetadata |= 0x48; - return 1; +u32 sub_0804EB6C(void) { + gArea.areaMetadata |= 0x48; + return 1; } -void nullsub_394() {} - -u32 sub_0804EBBC(void) -{ - sub_0801DD58(0x58, 6); - gArea.areaMetadata |= 0x48; - return 1; +void nullsub_392() { } -void nullsub_395() {} +u32 sub_0804EB84(void) { + gArea.areaMetadata |= 0x48; + return 1; +} + +void nullsub_393() { +} + +u32 sub_0804EB9C(void) { + sub_0801DD58(0x58, 5); + gArea.areaMetadata |= 0x48; + return 1; +} + +void nullsub_394() { +} + +u32 sub_0804EBBC(void) { + sub_0801DD58(0x58, 6); + gArea.areaMetadata |= 0x48; + return 1; +} + +void nullsub_395() { +} extern u32 gUnk_080F4EB0; -u32 sub_0804EBDC(void) -{ - if (CheckGlobalFlag(ENDING)) { - gRoomVars.field_0x6c = &gUnk_080F4EB0; - gRoomVars.field_0x74 = NULL; - } - return 1; +u32 sub_0804EBDC(void) { + if (CheckGlobalFlag(ENDING)) { + gRoomVars.field_0x6c = &gUnk_080F4EB0; + gRoomVars.field_0x74 = NULL; + } + return 1; } extern EntityData gUnk_080F4D50; @@ -5053,87 +5048,81 @@ extern EntityData gUnk_080F4DF0; extern EntityData gUnk_080F4F10; extern EntityData gUnk_080F4E10; -void sub_0804EC00(void) -{ - if (CheckGlobalFlag(ENDING)) { - gArea.pMusicIndex = gArea.musicIndex; - } - if (!CheckGlobalFlag(EZERO_1ST)) { - LoadRoomEntityList(&gUnk_080F4D50); - } - if (!CheckLocalFlag(0x3e)) { - if (!CheckLocalFlag(0x3b)) { - LoadRoomEntityList(&gUnk_080F4DB0); +void sub_0804EC00(void) { + if (CheckGlobalFlag(ENDING)) { + gArea.pMusicIndex = gArea.musicIndex; } - else { - LoadRoomEntityList(&gUnk_080F4DD0); + if (!CheckGlobalFlag(EZERO_1ST)) { + LoadRoomEntityList(&gUnk_080F4D50); + } + if (!CheckLocalFlag(0x3e)) { + if (!CheckLocalFlag(0x3b)) { + LoadRoomEntityList(&gUnk_080F4DB0); + } else { + LoadRoomEntityList(&gUnk_080F4DD0); + } + LoadRoomEntityList(&gUnk_080F4DF0); + } + if (CheckKinstoneFused(0x4e)) { + LoadRoomEntityList(&gUnk_080F4F10); + } + if ((s32)gUnk_02002A40.windcrests > -1) { + LoadRoomEntityList(&gUnk_080F4E10); } - LoadRoomEntityList(&gUnk_080F4DF0); - } - if (CheckKinstoneFused(0x4e)) { - LoadRoomEntityList(&gUnk_080F4F10); - } - if ((s32)gUnk_02002A40.windcrests > -1) { - LoadRoomEntityList(&gUnk_080F4E10); - } } extern EntityData gUnk_080F4E10; -void sub_0804EC98(void) -{ - if ((s32)gUnk_02002A40.windcrests > -1) { - LoadRoomEntityList(&gUnk_080F4E10); - } +void sub_0804EC98(void) { + if ((s32)gUnk_02002A40.windcrests > -1) { + LoadRoomEntityList(&gUnk_080F4E10); + } } u32 sub_0804ECB4() { return 1; } -void nullsub_396() {} +void nullsub_396() { +} extern u32 gUnk_080F5348; -u32 sub_0804ECBC(void) -{ - if (CheckGlobalFlag(ENDING)) { - gRoomVars.field_0x6c = &gUnk_080F5348; - gRoomVars.field_0x88 = sub_0804ED18; - gRoomVars.field_0x74 = NULL; - } - return 1; +u32 sub_0804ECBC(void) { + if (CheckGlobalFlag(ENDING)) { + gRoomVars.field_0x6c = &gUnk_080F5348; + gRoomVars.field_0x88 = sub_0804ED18; + gRoomVars.field_0x74 = NULL; + } + return 1; } extern EntityData gUnk_080F5328; extern EntityData gUnk_080F5308; -void sub_0804ECEC(void) -{ +void sub_0804ECEC(void) { // white sword - if (GetInventoryValue(0x2)) { - LoadRoomEntityList(&gUnk_080F5328); - if (!CheckLocalFlag(0x14)) { - LoadRoomEntityList(&gUnk_080F5308); + if (GetInventoryValue(0x2)) { + LoadRoomEntityList(&gUnk_080F5328); + if (!CheckLocalFlag(0x14)) { + LoadRoomEntityList(&gUnk_080F5308); + } } - } } -void sub_0804ED18(void) -{ - gArea.pMusicIndex = gArea.musicIndex; +void sub_0804ED18(void) { + gArea.pMusicIndex = gArea.musicIndex; } u32 sub_0804ED30() { return 1; } -void sub_0804ED34(void) -{ - sub_080AF2E4(); - if (CheckGlobalFlag(SEIIKI_BGM)) { - gArea.pMusicIndex = 0x31; - } +void sub_0804ED34(void) { + sub_080AF2E4(); + if (CheckGlobalFlag(SEIIKI_BGM)) { + gArea.pMusicIndex = 0x31; + } } u32 sub_0804ED58() { @@ -5149,48 +5138,42 @@ extern EntityData gUnk_080F5528; extern EntityData gUnk_080F5578; extern EntityData gUnk_080F55B8; -void sub_0804ED5C(void) -{ - if (!CheckLocalFlag(0x79)) { - LoadRoomEntityList(&gUnk_080F54E8); - } - if (!CheckLocalFlag(0x7a)) { - // white sword, white sword 2, earth element, fire element - if (GetInventoryValue(0x2) && !GetInventoryValue(0x3) && - GetInventoryValue(0x40) && GetInventoryValue(0x41)) { - LoadRoomEntityList(&gUnk_080F5508); +void sub_0804ED5C(void) { + if (!CheckLocalFlag(0x79)) { + LoadRoomEntityList(&gUnk_080F54E8); } - } - else { - if (!CheckLocalFlag(0x7b)) { - if (GetInventoryValue(0x3) && !GetInventoryValue(0x4) && - GetInventoryValue(0x42)) { - LoadRoomEntityList(&gUnk_080F5558); - } - } - else { - if (!CheckLocalFlag(0x7c)) { - if (!GetInventoryValue(0x6) && GetInventoryValue(0x43)) { - LoadRoomEntityList(&gUnk_080F5598); + if (!CheckLocalFlag(0x7a)) { + // white sword, white sword 2, earth element, fire element + if (GetInventoryValue(0x2) && !GetInventoryValue(0x3) && GetInventoryValue(0x40) && GetInventoryValue(0x41)) { + LoadRoomEntityList(&gUnk_080F5508); + } + } else { + if (!CheckLocalFlag(0x7b)) { + if (GetInventoryValue(0x3) && !GetInventoryValue(0x4) && GetInventoryValue(0x42)) { + LoadRoomEntityList(&gUnk_080F5558); + } + } else { + if (!CheckLocalFlag(0x7c)) { + if (!GetInventoryValue(0x6) && GetInventoryValue(0x43)) { + LoadRoomEntityList(&gUnk_080F5598); + } + } else { + LoadRoomEntityList(&gUnk_080F55D8); + } } - } - else { - LoadRoomEntityList(&gUnk_080F55D8); - } } - } - if (CheckLocalFlag(0x7a)) { - LoadRoomEntityList(&gUnk_080F5528); - } - if (CheckLocalFlag(0x7b)) { - LoadRoomEntityList(&gUnk_080F5578); - } - if (CheckLocalFlag(0x7c)) { - LoadRoomEntityList(&gUnk_080F55B8); - } - if (CheckGlobalFlag(SEIIKI_BGM)) { - gArea.pMusicIndex = 0x31; - } + if (CheckLocalFlag(0x7a)) { + LoadRoomEntityList(&gUnk_080F5528); + } + if (CheckLocalFlag(0x7b)) { + LoadRoomEntityList(&gUnk_080F5578); + } + if (CheckLocalFlag(0x7c)) { + LoadRoomEntityList(&gUnk_080F55B8); + } + if (CheckGlobalFlag(SEIIKI_BGM)) { + gArea.pMusicIndex = 0x31; + } } u32 sub_0804EE74() { @@ -5199,14 +5182,13 @@ u32 sub_0804EE74() { extern EntityData gUnk_080F5660; -void sub_0804EE78(void) -{ - if (!CheckLocalFlag(0x78) && CheckLocalFlag(0x7c)) { - LoadRoomEntityList(&gUnk_080F5660); - } - if (CheckGlobalFlag(SEIIKI_BGM)) { - gArea.pMusicIndex = 0x31; - } +void sub_0804EE78(void) { + if (!CheckLocalFlag(0x78) && CheckLocalFlag(0x7c)) { + LoadRoomEntityList(&gUnk_080F5660); + } + if (CheckGlobalFlag(SEIIKI_BGM)) { + gArea.pMusicIndex = 0x31; + } } u32 sub_0804EEB8() { @@ -5226,47 +5208,44 @@ extern EntityData gUnk_080F5788; extern u8 gBombBagSizes[]; -void sub_0804EEBC(void) -{ - LoadRoomEntityList(&gUnk_080F5758); - if (!GetInventoryValue(0x36) && CheckLocalFlagByOffset(0x200, 0x8f)) { - LoadRoomEntityList(&gUnk_080F57E8); - } - if (!CheckLocalFlag(0x55)) { - LoadRoomEntityList(&gUnk_080F57A8); - } - else { - if (gBombBagSizes[gUnk_02002A40.stats.bombBagType] > 0x1d) { - LoadRoomEntityList(&gUnk_080F57C8); +void sub_0804EEBC(void) { + LoadRoomEntityList(&gUnk_080F5758); + if (!GetInventoryValue(0x36) && CheckLocalFlagByOffset(0x200, 0x8f)) { + LoadRoomEntityList(&gUnk_080F57E8); } - if (!GetInventoryValue(0xb) && !GetInventoryValue(0xc)) { - LoadRoomEntityList(&gUnk_080F5888); + if (!CheckLocalFlag(0x55)) { + LoadRoomEntityList(&gUnk_080F57A8); + } else { + if (gBombBagSizes[gUnk_02002A40.stats.bombBagType] > 0x1d) { + LoadRoomEntityList(&gUnk_080F57C8); + } + if (!GetInventoryValue(0xb) && !GetInventoryValue(0xc)) { + LoadRoomEntityList(&gUnk_080F5888); + } else { + if (!CheckLocalFlag(0xcd)) { + LoadRoomEntityList(&gUnk_080F58A8); + } + } } - else { - if (!CheckLocalFlag(0xcd)) { - LoadRoomEntityList(&gUnk_080F58A8); - } + if (GetInventoryValue(0x9) || CheckGlobalFlag(LV3_CLEAR)) { + LoadRoomEntityList(&gUnk_080F5868); + if (!CheckLocalFlag(0x56)) { + LoadRoomEntityList(&gUnk_080F5828); + } else { + LoadRoomEntityList(&gUnk_080F5848); + } } - } - if (GetInventoryValue(0x9) || CheckGlobalFlag(LV3_CLEAR)) { - LoadRoomEntityList(&gUnk_080F5868); - if (!CheckLocalFlag(0x56)) { - LoadRoomEntityList(&gUnk_080F5828); + if (gUnk_02002A40.stats.filler2[5] == 0) { + LoadRoomEntityList(&gUnk_080F5788); } - else { - LoadRoomEntityList(&gUnk_080F5848); - } - } - if (gUnk_02002A40.stats.filler2[5] == 0) { - LoadRoomEntityList(&gUnk_080F5788); - } } u32 sub_0804EFB0() { return 1; } -void nullsub_397() {} +void nullsub_397() { +} u32 sub_0804EFB8() { return 1; @@ -5274,37 +5253,35 @@ u32 sub_0804EFB8() { extern EntityData gUnk_080F5B3C; -void sub_0804EFBC(void) -{ - if (GetInventoryValue(0x38) == 1) { - LoadRoomEntityList(&gUnk_080F5B3C); - } +void sub_0804EFBC(void) { + if (GetInventoryValue(0x38) == 1) { + LoadRoomEntityList(&gUnk_080F5B3C); + } } u32 sub_0804EFD4() { return 1; } -void nullsub_398() {} +void nullsub_398() { +} -u32 sub_0804EFDC(void) -{ - if (CheckGlobalFlag(MAROYA_WAKEUP)) { - gScreenTransition.field_0xf = 5; - } - return 1; +u32 sub_0804EFDC(void) { + if (CheckGlobalFlag(MAROYA_WAKEUP)) { + gScreenTransition.field_0xf = 5; + } + return 1; } extern EntityData gUnk_080F5DD0; extern u32 gUnk_08011C50; -void sub_0804EFF8(void) -{ - if (gUnk_02002A40.unk8 > 7) { - LoadRoomEntityList(&gUnk_080F5DD0); - } - if (CheckGlobalFlag(MAROYA_WAKEUP)) { - sub_080751E8(1, 2, &gUnk_08011C50); - } +void sub_0804EFF8(void) { + if (gUnk_02002A40.unk8 > 7) { + LoadRoomEntityList(&gUnk_080F5DD0); + } + if (CheckGlobalFlag(MAROYA_WAKEUP)) { + sub_080751E8(1, 2, &gUnk_08011C50); + } } u32 sub_0804F02C() { @@ -5313,11 +5290,10 @@ u32 sub_0804F02C() { extern EntityData gUnk_080F5E68; -void sub_0804F030(void) -{ - if (!CheckLocalFlagByOffset(0x100, 0xd1)) { - LoadRoomEntityList(&gUnk_080F5E68); - } +void sub_0804F030(void) { + if (!CheckLocalFlagByOffset(0x100, 0xd1)) { + LoadRoomEntityList(&gUnk_080F5E68); + } } u32 sub_0804F04C() { @@ -5328,55 +5304,53 @@ extern EntityData gUnk_080F5F38; extern EntityData gUnk_080F5F58; extern EntityData gUnk_080F5F78; -void sub_0804F050(void) -{ - - if (gUnk_02002A40.unk8 > 4) { - LoadRoomEntityList(&gUnk_080F5F38); - } - if (!CheckLocalFlag(0x92)) { - LoadRoomEntityList(&gUnk_080F5F58); - } - else { - LoadRoomEntityList(&gUnk_080F5F78); - } +void sub_0804F050(void) { + + if (gUnk_02002A40.unk8 > 4) { + LoadRoomEntityList(&gUnk_080F5F38); + } + if (!CheckLocalFlag(0x92)) { + LoadRoomEntityList(&gUnk_080F5F58); + } else { + LoadRoomEntityList(&gUnk_080F5F78); + } } u32 sub_0804F08C() { return 1; } -void nullsub_399() {} +void nullsub_399() { +} u32 sub_0804F094() { return 1; } -void nullsub_400() {} +void nullsub_400() { +} -u32 sub_0804F09C(void) -{ - if (CheckGlobalFlag(KUMOTATSUMAKI) && CheckLocalFlagByOffset(0x100, 0xdc)) { - SetGlobalFlag(WARP_EVENT_END); - } - return 1; +u32 sub_0804F09C(void) { + if (CheckGlobalFlag(KUMOTATSUMAKI) && CheckLocalFlagByOffset(0x100, 0xdc)) { + SetGlobalFlag(WARP_EVENT_END); + } + return 1; } extern EntityData gUnk_080F61BC; -void sub_0804F0C0(void) -{ - if (CheckLocalFlagByOffset(0x100, 0xdc)) { - SetLocalFlag(0x90); - } - if (CheckKinstoneFused(0xf)) { - LoadRoomEntityList(&gUnk_080F61BC); - } - if (!CheckGlobalFlag(WARP_EVENT_END)) { - SetTileType(0x4072, 0x4c7, 1); - SetTileType(0x4072, 0x507, 1); - } - sub_08052CA4(8, 0, 0x1e8, 0x158); +void sub_0804F0C0(void) { + if (CheckLocalFlagByOffset(0x100, 0xdc)) { + SetLocalFlag(0x90); + } + if (CheckKinstoneFused(0xf)) { + LoadRoomEntityList(&gUnk_080F61BC); + } + if (!CheckGlobalFlag(WARP_EVENT_END)) { + SetTileType(0x4072, 0x4c7, 1); + SetTileType(0x4072, 0x507, 1); + } + sub_08052CA4(8, 0, 0x1e8, 0x158); } u32 sub_0804F128() { @@ -5386,23 +5360,22 @@ u32 sub_0804F128() { extern EntityData gUnk_080F62E4; extern EntityData gUnk_080F6324; -void sub_0804F12C(void) -{ - if (!CheckGlobalFlag(WARP_EVENT_END)) { - LoadRoomEntityList(&gUnk_080F62E4); - } - else { - if (CheckLocalFlag(99)) { - LoadRoomEntityList(&gUnk_080F6324); +void sub_0804F12C(void) { + if (!CheckGlobalFlag(WARP_EVENT_END)) { + LoadRoomEntityList(&gUnk_080F62E4); + } else { + if (CheckLocalFlag(99)) { + LoadRoomEntityList(&gUnk_080F6324); + } } - } } u32 sub_0804F15C() { return 1; } -void nullsub_401() {} +void nullsub_401() { +} u32 sub_0804F164() { return 1; @@ -5411,15 +5384,13 @@ u32 sub_0804F164() { extern EntityData gUnk_080F6564; extern EntityData gUnk_080F6584; -void sub_0804F168(void) -{ +void sub_0804F168(void) { - if (!CheckLocalFlag(0xb1)) { - LoadRoomEntityList(&gUnk_080F6564); - } - else { - LoadRoomEntityList(&gUnk_080F6584); - } + if (!CheckLocalFlag(0xb1)) { + LoadRoomEntityList(&gUnk_080F6564); + } else { + LoadRoomEntityList(&gUnk_080F6584); + } } u32 sub_0804F18C() { @@ -5428,75 +5399,84 @@ u32 sub_0804F18C() { extern EntityData gUnk_080F66AC; -void sub_0804F190(void) -{ - sub_0805B4D0(5); - if (CheckGlobalFlag(LV5_CLEAR) && !CheckLocalFlagByOffset(0x100, 5)) { - LoadRoomEntityList(&gUnk_080F66AC); - } - sub_08052CA4(8, 0, 0x1e8, 0x158); - gArea.areaMetadata |= 0x80; +void sub_0804F190(void) { + sub_0805B4D0(5); + if (CheckGlobalFlag(LV5_CLEAR) && !CheckLocalFlagByOffset(0x100, 5)) { + LoadRoomEntityList(&gUnk_080F66AC); + } + sub_08052CA4(8, 0, 0x1e8, 0x158); + gArea.areaMetadata |= 0x80; } u32 sub_0804F1DC() { return 1; } -void nullsub_402() {} +void nullsub_402() { +} u32 sub_0804F1E4() { return 1; } -void nullsub_403() {} +void nullsub_403() { +} u32 sub_0804F1EC() { return 1; } -void nullsub_404() {} +void nullsub_404() { +} u32 sub_0804F1F4() { return 1; } -void nullsub_405() {} +void nullsub_405() { +} u32 sub_0804F1FC() { return 1; } -void nullsub_406() {} +void nullsub_406() { +} u32 sub_0804F204() { return 1; } -void nullsub_407() {} +void nullsub_407() { +} u32 sub_0804F20C() { return 1; } -void nullsub_408() {} +void nullsub_408() { +} u32 sub_0804F214() { return 1; } -void nullsub_409() {} +void nullsub_409() { +} u32 sub_0804F21C() { return 1; } -void nullsub_410() {} +void nullsub_410() { +} u32 sub_0804F224() { return 1; } -void nullsub_411() {} +void nullsub_411() { +} u32 sub_0804F22C() { return 1; @@ -5506,44 +5486,41 @@ void sub_0804F230() { sub_0805ADD8(0); } -u32 sub_0804F23C(void) -{ - if (!CheckLocalFlag(0x6d)) { - DoFade(7, 0x100); - } - SetGlobalFlag(OUTDOOR); - return 1; +u32 sub_0804F23C(void) { + if (!CheckLocalFlag(0x6d)) { + DoFade(7, 0x100); + } + SetGlobalFlag(OUTDOOR); + return 1; } extern EntityData gUnk_080F70A8; extern EntityData gUnk_080F70D8; extern EntityData gUnk_080F7088; -void sub_0804F25C(void) -{ - sub_0805ADD8(0); - if (!CheckLocalFlag(0x6d)) { - LoadRoomEntityList(&gUnk_080F70A8); - ClearGlobalFlag(ZELDA_CHASE); - } - if (!CheckGlobalFlag(TABIDACHI)) { - gArea.pMusicIndex = 0x10; - } - if ((gUnk_02002A40.windcrests & 0x40000000) == 0) { - LoadRoomEntityList(&gUnk_080F70D8); - } - if (gUnk_02002A40.unk8 > 3) { - LoadRoomEntityList(&gUnk_080F7088); - } +void sub_0804F25C(void) { + sub_0805ADD8(0); + if (!CheckLocalFlag(0x6d)) { + LoadRoomEntityList(&gUnk_080F70A8); + ClearGlobalFlag(ZELDA_CHASE); + } + if (!CheckGlobalFlag(TABIDACHI)) { + gArea.pMusicIndex = 0x10; + } + if ((gUnk_02002A40.windcrests & 0x40000000) == 0) { + LoadRoomEntityList(&gUnk_080F70D8); + } + if (gUnk_02002A40.unk8 > 3) { + LoadRoomEntityList(&gUnk_080F7088); + } } extern EntityData gUnk_080F70D8; -void sub_0804F2C8(void) -{ - if ((gUnk_02002A40.windcrests & 0x40000000) == 0) { - LoadRoomEntityList(&gUnk_080F70D8); - } +void sub_0804F2C8(void) { + if ((gUnk_02002A40.windcrests & 0x40000000) == 0) { + LoadRoomEntityList(&gUnk_080F70D8); + } } u32 sub_0804F2E8() { @@ -5564,30 +5541,28 @@ void sub_0804F2FC() { extern u32 gUnk_080F7680; -u32 sub_0804f308(void) -{ - if (GetInventoryValue(0x11) && !GetInventoryValue(0x12)) { - gRoomVars.field_0x74 = &gUnk_080F7680; - } - return 1; +u32 sub_0804f308(void) { + if (GetInventoryValue(0x11) && !GetInventoryValue(0x12)) { + gRoomVars.field_0x74 = &gUnk_080F7680; + } + return 1; } extern EntityData gUnk_080F7500; extern EntityData gUnk_080F7550; -void sub_0804F330(void) -{ - sub_0805ADD8(0); - if (gUnk_02002A40.unk8 > 3) { - LoadRoomEntityList(&gUnk_080F7500); - } - if (GetInventoryValue(0x11) && !GetInventoryValue(0x12)) { - LoadRoomEntityList(&gUnk_080F7550); - SetTileType(0x4072, 0x311, 1); - SetTileType(0x4072, 0x351, 1); - SetTileType(0x4072, 0x3d9, 1); - SetTileType(0x4072, 0x419, 1); - } +void sub_0804F330(void) { + sub_0805ADD8(0); + if (gUnk_02002A40.unk8 > 3) { + LoadRoomEntityList(&gUnk_080F7500); + } + if (GetInventoryValue(0x11) && !GetInventoryValue(0x12)) { + LoadRoomEntityList(&gUnk_080F7550); + SetTileType(0x4072, 0x311, 1); + SetTileType(0x4072, 0x351, 1); + SetTileType(0x4072, 0x3d9, 1); + SetTileType(0x4072, 0x419, 1); + } } u32 sub_0804F3AC() { @@ -5600,29 +5575,27 @@ extern EntityData gUnk_080F7810; extern EntityData gUnk_080F7860; extern EntityData gUnk_080F78A0; -void sub_0804F3B0(void) -{ +void sub_0804F3B0(void) { - sub_0805ADD8(0); - if (CheckLocalFlagByOffset(0x200, 0x8f)) { - if (!CheckGlobalFlag(INLOCK)) { - LoadRoomEntityList(&gUnk_080F77C0); + sub_0805ADD8(0); + if (CheckLocalFlagByOffset(0x200, 0x8f)) { + if (!CheckGlobalFlag(INLOCK)) { + LoadRoomEntityList(&gUnk_080F77C0); + } + } else if (GetInventoryValue(0x40)) { + LoadRoomEntityList(&gUnk_080F77F0); } - } - else if (GetInventoryValue(0x40)) { - LoadRoomEntityList(&gUnk_080F77F0); + if (CheckGlobalFlag(TABIDACHI) && !GetInventoryValue(0x40)) { + LoadRoomEntityList(&gUnk_080F7810); + } + if (!CheckKinstoneFused(0x29)) { + LoadRoomEntityList(&gUnk_080F7860); + SetTile(0x4072, 0xd88, 1); + SetTile(0x4096, 0xdc8, 1); + } + if ((gUnk_02002A40.unk8 > 3) && CheckGlobalFlag(TINGLE_TALK1ST)) { + LoadRoomEntityList(&gUnk_080F78A0); } - if (CheckGlobalFlag(TABIDACHI) && !GetInventoryValue(0x40)) { - LoadRoomEntityList(&gUnk_080F7810); - } - if (!CheckKinstoneFused(0x29)) { - LoadRoomEntityList(&gUnk_080F7860); - SetTile(0x4072, 0xd88, 1); - SetTile(0x4096, 0xdc8, 1); - } - if ((gUnk_02002A40.unk8 > 3) && CheckGlobalFlag(TINGLE_TALK1ST)) { - LoadRoomEntityList(&gUnk_080F78A0); - } } extern u32 gUnk_080F7CD0; @@ -5630,21 +5603,20 @@ extern void sub_0804F5E8(); extern u32 gUnk_080F7C80; extern void sub_0804F4E4(); -u32 sub_0804F468(void) -{ - if (CheckGlobalFlag(TABIDACHI) && !GetInventoryValue(0x11)) { - gRoomVars.field_0x6c = &gUnk_080F7CD0; - gRoomVars.field_0x88 = sub_0804F5E8; - } - if (CheckGlobalFlag(LV2_CLEAR) && GetInventoryValue(0x3) && !CheckLocalFlag(0x8c)) { - gRoomVars.field_0x6c = &gUnk_080F7C80; - gRoomVars.field_0x88 = sub_0804F4E4; - gRoomVars.field_0x74 = NULL; - } - if (CheckGlobalFlag(TABIDACHI)) { - ClearGlobalFlag(CASTLE_BGM); - } - return 1; +u32 sub_0804F468(void) { + if (CheckGlobalFlag(TABIDACHI) && !GetInventoryValue(0x11)) { + gRoomVars.field_0x6c = &gUnk_080F7CD0; + gRoomVars.field_0x88 = sub_0804F5E8; + } + if (CheckGlobalFlag(LV2_CLEAR) && GetInventoryValue(0x3) && !CheckLocalFlag(0x8c)) { + gRoomVars.field_0x6c = &gUnk_080F7C80; + gRoomVars.field_0x88 = sub_0804F4E4; + gRoomVars.field_0x74 = NULL; + } + if (CheckGlobalFlag(TABIDACHI)) { + ClearGlobalFlag(CASTLE_BGM); + } + return 1; } void sub_0804F4E4() { @@ -5654,188 +5626,167 @@ void sub_0804F4E4() { extern EntityData gUnk_080F7D70; -void sub_0804F4F4(void) -{ - sub_0804F4E4(); - if (!CheckLocalFlag(0x8b)) { - LoadRoomEntityList(&gUnk_080F7D70); - SetTileType(0x174, 0x7a2, 1); - SetTileType(0x174, 0x7a3, 1); - SetTileType(0x174, 0x7a5, 1); - SetTileType(0x174, 0x7a6, 1); - SetTileType(0x174, 0x7a7, 1); - } - if (!CheckGlobalFlag(TABIDACHI)) { - gArea.pMusicIndex = 0x13; - } +void sub_0804F4F4(void) { + sub_0804F4E4(); + if (!CheckLocalFlag(0x8b)) { + LoadRoomEntityList(&gUnk_080F7D70); + SetTileType(0x174, 0x7a2, 1); + SetTileType(0x174, 0x7a3, 1); + SetTileType(0x174, 0x7a5, 1); + SetTileType(0x174, 0x7a6, 1); + SetTileType(0x174, 0x7a7, 1); + } + if (!CheckGlobalFlag(TABIDACHI)) { + gArea.pMusicIndex = 0x13; + } } extern EntityData gUnk_080F7DC0; -void sub_0804F578(void) -{ - if (!CheckLocalFlag(0x8e)) { - LoadRoomEntityList(&gUnk_080F7DC0); - } - else { - SetTileType(0x37,0x94a,1); - SetTileType(0x37,0x94b,1); - SetTileType(0x37,0x94c,1); - SetTileType(0x37,0x98a,1); - SetTileType(0x37,0x98b,1); - SetTileType(0x37,0x98c,1); - } +void sub_0804F578(void) { + if (!CheckLocalFlag(0x8e)) { + LoadRoomEntityList(&gUnk_080F7DC0); + } else { + SetTileType(0x37, 0x94a, 1); + SetTileType(0x37, 0x94b, 1); + SetTileType(0x37, 0x94c, 1); + SetTileType(0x37, 0x98a, 1); + SetTileType(0x37, 0x98b, 1); + SetTileType(0x37, 0x98c, 1); + } } -void sub_0804F5E8(void) -{ - sub_0804F4E4(); - SetTileType(0x1d3,0xbde,1); - SetTileType(0x1d6,0xbe2,1); - SetTileType(0x1d4,0xc1f,1); - SetTileType(0x1d5,0xc20,1); - SetTileType(0x1d6,0xc5e,1); - SetTileType(0x4072,0xb9b,1); - SetTileType(0x4072,0xbdb,1); - SetTileType(0x4072,0xaa4,1); - SetTileType(0x4072,0xae4,1); +void sub_0804F5E8(void) { + sub_0804F4E4(); + SetTileType(0x1d3, 0xbde, 1); + SetTileType(0x1d6, 0xbe2, 1); + SetTileType(0x1d4, 0xc1f, 1); + SetTileType(0x1d5, 0xc20, 1); + SetTileType(0x1d6, 0xc5e, 1); + SetTileType(0x4072, 0xb9b, 1); + SetTileType(0x4072, 0xbdb, 1); + SetTileType(0x4072, 0xaa4, 1); + SetTileType(0x4072, 0xae4, 1); } -void sub_0804F680(Entity *parent, s32 x, s32 y) -{ - Entity *fx; - - fx = CreateFx(parent,2,0); - if (fx != NULL) { - fx->x.HALF.HI = gRoomControls.roomOriginX + x; - fx->y.HALF.HI = gRoomControls.roomOriginY + y; - } +void sub_0804F680(Entity* parent, s32 x, s32 y) { + Entity* fx; + + fx = CreateFx(parent, 2, 0); + if (fx != NULL) { + fx->x.HALF.HI = gRoomControls.roomOriginX + x; + fx->y.HALF.HI = gRoomControls.roomOriginY + y; + } } -void sub_0804F6A8(Entity* arg0) -{ - sub_0804F680(arg0, 0x1d8, 0x108); - sub_0804F680(arg0, 0x218, 0x188); +void sub_0804F6A8(Entity* arg0) { + sub_0804F680(arg0, 0x1d8, 0x108); + sub_0804F680(arg0, 0x218, 0x188); } -void sub_0804F6C8(Entity* arg0) -{ - sub_0804F680(arg0, 0x1e8, 0x108); - sub_0804F680(arg0, 0x208, 0x188); +void sub_0804F6C8(Entity* arg0) { + sub_0804F680(arg0, 0x1e8, 0x108); + sub_0804F680(arg0, 0x208, 0x188); } -void sub_0804F6E8(Entity *arg0) -{ - sub_0804F680(arg0, 0x1f8, 0x108); - sub_0804F680(arg0, 0x258, 0x138); - sub_0804F680(arg0, 0x1f8, 0x188); - sub_0804F680(arg0, 0x198, 0x158); +void sub_0804F6E8(Entity* arg0) { + sub_0804F680(arg0, 0x1f8, 0x108); + sub_0804F680(arg0, 0x258, 0x138); + sub_0804F680(arg0, 0x1f8, 0x188); + sub_0804F680(arg0, 0x198, 0x158); } -void sub_0804F724(Entity *arg0) -{ - sub_0804F680(arg0, 0x208, 0x108); - sub_0804F680(arg0, 0x258, 0x148); - sub_0804F680(arg0, 0x1e8, 0x188); - sub_0804F680(arg0, 0x198, 0x148); +void sub_0804F724(Entity* arg0) { + sub_0804F680(arg0, 0x208, 0x108); + sub_0804F680(arg0, 0x258, 0x148); + sub_0804F680(arg0, 0x1e8, 0x188); + sub_0804F680(arg0, 0x198, 0x148); } -void sub_0804F760(Entity *arg0) -{ - sub_0804F680(arg0, 0x218, 0x108); - sub_0804F680(arg0, 0x258, 0x158); - sub_0804F680(arg0, 0x1d8, 0x188); - sub_0804F680(arg0, 0x198, 0x138); +void sub_0804F760(Entity* arg0) { + sub_0804F680(arg0, 0x218, 0x108); + sub_0804F680(arg0, 0x258, 0x158); + sub_0804F680(arg0, 0x1d8, 0x188); + sub_0804F680(arg0, 0x198, 0x138); } -void sub_0804F79C(Entity *parent) -{ - Entity *fx; - - fx = CreateFx(parent, 0x35, 0); - if (fx != NULL) { - fx->spriteRendering.b3 = 0; - fx->x.HALF.HI = gRoomControls.roomOriginX + 0x1b8; - fx->y.HALF.HI = gRoomControls.roomOriginY + 0x148; - } - fx = CreateFx(parent, 0x35, 0); - if (fx != NULL) { - fx->spriteRendering.b3 = 0; - fx->x.HALF.HI = gRoomControls.roomOriginX + 0x238; - fx->y.HALF.HI = gRoomControls.roomOriginY + 0x148; - } +void sub_0804F79C(Entity* parent) { + Entity* fx; + + fx = CreateFx(parent, 0x35, 0); + if (fx != NULL) { + fx->spriteRendering.b3 = 0; + fx->x.HALF.HI = gRoomControls.roomOriginX + 0x1b8; + fx->y.HALF.HI = gRoomControls.roomOriginY + 0x148; + } + fx = CreateFx(parent, 0x35, 0); + if (fx != NULL) { + fx->spriteRendering.b3 = 0; + fx->x.HALF.HI = gRoomControls.roomOriginX + 0x238; + fx->y.HALF.HI = gRoomControls.roomOriginY + 0x148; + } } -void sub_0804F808(void) -{ - SetTileType(0x1d3, 0x41d, 1); - SetTileType(0x1d3, 0x621, 1); +void sub_0804F808(void) { + SetTileType(0x1d3, 0x41d, 1); + SetTileType(0x1d3, 0x621, 1); } -void sub_0804F830(void) -{ - SetTileType(0x1d4, 0x41e, 1); - SetTileType(0x1d4, 0x620, 1); +void sub_0804F830(void) { + SetTileType(0x1d4, 0x41e, 1); + SetTileType(0x1d4, 0x620, 1); } -void sub_0804F854(void) -{ - SetTileType(0x1d5, 0x41f, 1); - SetTileType(0x1d4, 0x4e5, 1); - SetTileType(0x1d5, 0x61f, 1); - SetTileType(0x1d4, 0x559, 1); +void sub_0804F854(void) { + SetTileType(0x1d5, 0x41f, 1); + SetTileType(0x1d4, 0x4e5, 1); + SetTileType(0x1d5, 0x61f, 1); + SetTileType(0x1d4, 0x559, 1); } -void sub_0804F89C(void) -{ - SetTileType(0x1d6, 0x420, 1); - SetTileType(0x1d5, 0x525, 1); - SetTileType(0x1d6, 0x61e, 1); - SetTileType(0x1d5, 0x519, 1); +void sub_0804F89C(void) { + SetTileType(0x1d6, 0x420, 1); + SetTileType(0x1d5, 0x525, 1); + SetTileType(0x1d6, 0x61e, 1); + SetTileType(0x1d5, 0x519, 1); } -void sub_0804F8E0(void) -{ - SetTileType(0x1d3, 0x421, 1); - SetTileType(0x1d6, 0x565, 1); - SetTileType(0x1d3, 0x61d, 1); - SetTileType(0x1d6, 0x4d9, 1); +void sub_0804F8E0(void) { + SetTileType(0x1d3, 0x421, 1); + SetTileType(0x1d6, 0x565, 1); + SetTileType(0x1d3, 0x61d, 1); + SetTileType(0x1d6, 0x4d9, 1); } -void sub_0804F928(void) -{ - sub_0807BA8C(0x41d, 1); - sub_0807BA8C(0x621, 1); +void sub_0804F928(void) { + sub_0807BA8C(0x41d, 1); + sub_0807BA8C(0x621, 1); } -void sub_0804F944(void) -{ - sub_0807BA8C(0x41e, 1); - sub_0807BA8C(0x620, 1); +void sub_0804F944(void) { + sub_0807BA8C(0x41e, 1); + sub_0807BA8C(0x620, 1); } -void sub_0804F960(void) -{ - sub_0807BA8C(0x41f, 1); - sub_0807BA8C(0x4e5, 1); - sub_0807BA8C(0x61f, 1); - sub_0807BA8C(0x559, 1); +void sub_0804F960(void) { + sub_0807BA8C(0x41f, 1); + sub_0807BA8C(0x4e5, 1); + sub_0807BA8C(0x61f, 1); + sub_0807BA8C(0x559, 1); } -void sub_0804F994(void) -{ - sub_0807BA8C(0x420, 1); - sub_0807BA8C(0x525, 1); - sub_0807BA8C(0x61e, 1); - sub_0807BA8C(0x519, 1); +void sub_0804F994(void) { + sub_0807BA8C(0x420, 1); + sub_0807BA8C(0x525, 1); + sub_0807BA8C(0x61e, 1); + sub_0807BA8C(0x519, 1); } -void sub_0804F9C8(void) -{ - sub_0807BA8C(0x421, 1); - sub_0807BA8C(0x565, 1); - sub_0807BA8C(0x61d, 1); - sub_0807BA8C(0x4d9, 1); +void sub_0804F9C8(void) { + sub_0807BA8C(0x421, 1); + sub_0807BA8C(0x565, 1); + sub_0807BA8C(0x61d, 1); + sub_0807BA8C(0x4d9, 1); } u32 sub_0804F9FC() { @@ -5845,11 +5796,11 @@ u32 sub_0804F9FC() { extern EntityData gUnk_080F806C; void sub_0804FA00(void) { - - sub_0805ADD8(0); - if ((gUnk_02002A40.unk8 > 3) && CheckGlobalFlag(TINGLE_TALK1ST)) { - LoadRoomEntityList(&gUnk_080F806C); - } + + sub_0805ADD8(0); + if ((gUnk_02002A40.unk8 > 3) && CheckGlobalFlag(TINGLE_TALK1ST)) { + LoadRoomEntityList(&gUnk_080F806C); + } } u32 sub_0804FA2C() { @@ -5858,14 +5809,12 @@ u32 sub_0804FA2C() { extern EntityData gUnk_080F82E0; -void sub_0804FA30(void) -{ - - sub_0805ADD8(0); - if (CheckGlobalFlag(LV2_CLEAR) && GetInventoryValue(0x3) && - !CheckLocalFlag(0x9c)) { - LoadRoomEntityList(&gUnk_080F82E0); - } +void sub_0804FA30(void) { + + sub_0805ADD8(0); + if (CheckGlobalFlag(LV2_CLEAR) && GetInventoryValue(0x3) && !CheckLocalFlag(0x9c)) { + LoadRoomEntityList(&gUnk_080F82E0); + } } u32 sub_0804FA64() { @@ -5874,13 +5823,12 @@ u32 sub_0804FA64() { extern EntityData gUnk_080F8430; -void sub_0804FA68(void) -{ - - sub_0805ADD8(0); - if (CheckKinstoneFused(0x21) && !CheckLocalFlagByOffset(0x200, 0x42)) { - LoadRoomEntityList(&gUnk_080F8430); - } +void sub_0804FA68(void) { + + sub_0805ADD8(0); + if (CheckKinstoneFused(0x21) && !CheckLocalFlagByOffset(0x200, 0x42)) { + LoadRoomEntityList(&gUnk_080F8430); + } } u32 sub_0804FA94() { @@ -5890,166 +5838,185 @@ u32 sub_0804FA94() { extern EntityData gUnk_080F85F8; extern EntityData gUnk_080F85D8; -void sub_0804FA98(void) -{ +void sub_0804FA98(void) { - if (CheckGlobalFlag(SOUGEN_06_HASHIGO)) { - LoadRoomEntityList(&gUnk_080F85D8); - } - else { - LoadRoomEntityList(&gUnk_080F85F8); - } - if (!GetInventoryValue(0xc)) { - ClearLocalFlag(8); - } + if (CheckGlobalFlag(SOUGEN_06_HASHIGO)) { + LoadRoomEntityList(&gUnk_080F85D8); + } else { + LoadRoomEntityList(&gUnk_080F85F8); + } + if (!GetInventoryValue(0xc)) { + ClearLocalFlag(8); + } } u32 sub_0804FACC() { return 1; } -void nullsub_412() {} +void nullsub_412() { +} u32 sub_0804FAD4() { return 1; } -void nullsub_413() {} +void nullsub_413() { +} u32 sub_0804FADC() { return 1; } -void nullsub_414() {} +void nullsub_414() { +} u32 sub_0804FAE4() { return 1; } -void nullsub_415() {} +void nullsub_415() { +} u32 sub_0804FAEC() { return 1; } -void nullsub_416() {} +void nullsub_416() { +} u32 sub_0804FAF4() { return 1; } -void nullsub_417() {} +void nullsub_417() { +} u32 sub_0804FAFC() { return 1; } -void nullsub_418() {} +void nullsub_418() { +} u32 sub_0804FB04() { return 1; } -void nullsub_419() {} +void nullsub_419() { +} u32 sub_0804FB0C() { return 1; } -void nullsub_420() {} +void nullsub_420() { +} u32 sub_0804FB14() { return 1; } -void nullsub_421() {} +void nullsub_421() { +} u32 sub_0804FB1C() { return 1; } -void nullsub_422() {} +void nullsub_422() { +} u32 sub_0804FB249() { return 1; } -void nullsub_423() {} +void nullsub_423() { +} u32 sub_0804FB2C() { return 1; } -void sub_0804FB30(void) -{ - if (CheckLocalFlag(0x11)) { - SetRoomFlag(0); - SetRoomFlag(1); - sub_0805308C(0x100); - if (!CheckLocalFlag(0x12)) { - SetTileType(0x73,0xcb,1); +void sub_0804FB30(void) { + if (CheckLocalFlag(0x11)) { + SetRoomFlag(0); + SetRoomFlag(1); + sub_0805308C(0x100); + if (!CheckLocalFlag(0x12)) { + SetTileType(0x73, 0xcb, 1); + } } - } } u32 sub_0804FB68() { return 1; } -void nullsub_089() {} +void nullsub_089() { +} u32 sub_0804FB70() { return 1; } -void nullsub_90() {} +void nullsub_90() { +} u32 sub_0804FB78() { return 1; } -void nullsub_91() {} +void nullsub_91() { +} u32 sub_0804FB80() { return 1; } -void nullsub_92() {} +void nullsub_92() { +} u32 sub_0804FB88() { return 1; } -void nullsub_93() {} +void nullsub_93() { +} u32 sub_0804FB90() { return 1; } -void nullsub_94() {} +void nullsub_94() { +} u32 sub_0804FB98() { return 1; } -void nullsub_95() {} +void nullsub_95() { +} u32 sub_0804FBA0() { return 1; } -void nullsub_96() {} +void nullsub_96() { +} u32 sub_0804FBA8() { return 1; } -void nullsub_97() {} +void nullsub_97() { +} u32 sub_0804FBB09() { return 1; } -void nullsub_98() {} +void nullsub_98() { +} u32 sub_0804FBB8() { return 1; @@ -6057,90 +6024,97 @@ u32 sub_0804FBB8() { extern EntityData gUnk_080F9304; -void sub_0804FBBC(void) -{ - if ((gUnk_02002A40.windcrests & 0x2000000) == 0) { - LoadRoomEntityList(&gUnk_080F9304); - } +void sub_0804FBBC(void) { + if ((gUnk_02002A40.windcrests & 0x2000000) == 0) { + LoadRoomEntityList(&gUnk_080F9304); + } } extern EntityData gUnk_080F9304; -void sub_0804FBDC(void) -{ - if ((gUnk_02002A40.windcrests & 0x2000000) == 0) { - LoadRoomEntityList(&gUnk_080F9304); - } +void sub_0804FBDC(void) { + if ((gUnk_02002A40.windcrests & 0x2000000) == 0) { + LoadRoomEntityList(&gUnk_080F9304); + } } u32 sub_0804FBFC() { return 1; } -void nullsub_424() {} +void nullsub_424() { +} u32 sub_0804FC04() { return 1; } -void nullsub_425() {} +void nullsub_425() { +} u32 sub_0804FC0C() { return 1; } -void nullsub_426() {} +void nullsub_426() { +} u32 sub_0804FC14() { return 1; } -void nullsub_427() {} +void nullsub_427() { +} u32 sub_0804FC1C() { return 1; } -void nullsub_428() {} +void nullsub_428() { +} u32 sub_0804FC24() { return 1; } -void nullsub_429() {} +void nullsub_429() { +} u32 sub_0804FC2C() { return 1; } -void nullsub_430() {} +void nullsub_430() { +} u32 sub_0804FC34() { return 1; } -void nullsub_431() {} +void nullsub_431() { +} u32 sub_0804FC3C() { return 1; } -void nullsub_432() {} +void nullsub_432() { +} u32 sub_0804FC44() { return 1; } -void nullsub_433() {} +void nullsub_433() { +} extern u32 gUnk_080F9BF8; -u32 sub_0804FC4C(void) -{ - if (!CheckKinstoneFused(0xe)) { - gRoomVars.field_0x6c = &gUnk_080F9BF8; - } - return 1; +u32 sub_0804FC4C(void) { + if (!CheckKinstoneFused(0xe)) { + gRoomVars.field_0x6c = &gUnk_080F9BF8; + } + return 1; } void sub_0804FC6C() { @@ -6152,31 +6126,36 @@ u32 sub_0804FC7C() { return 1; } -void nullsub_99() {} +void nullsub_99() { +} u32 sub_0804FC84() { return 1; } -void nullsub_100() {} +void nullsub_100() { +} u32 sub_0804FC8C() { return 1; } -void nullsub_101() {} +void nullsub_101() { +} u32 sub_0804FC94() { return 1; } -void nullsub_102() {} +void nullsub_102() { +} u32 sub_0804FC9C() { return 1; } -void nullsub_103() {} +void nullsub_103() { +} u32 sub_0804FCA4() { return 1; @@ -6185,99 +6164,112 @@ u32 sub_0804FCA4() { extern EntityData gUnk_080F9FA8; extern EntityData gUnk_080F9F88; -void sub_0804FCA8(void) -{ - if (CheckKinstoneFused(0x14)) { - LoadRoomEntityList(&gUnk_080F9FA8); - } - if (!GetInventoryValue(0x38)) { - LoadRoomEntityList(&gUnk_080F9F88); - } +void sub_0804FCA8(void) { + if (CheckKinstoneFused(0x14)) { + LoadRoomEntityList(&gUnk_080F9FA8); + } + if (!GetInventoryValue(0x38)) { + LoadRoomEntityList(&gUnk_080F9F88); + } } u32 sub_0804FCD4() { return 1; } -void nullsub_434() {} +void nullsub_434() { +} u32 sub_0804FCDC() { return 1; } -void nullsub_435() {} +void nullsub_435() { +} u32 sub_0804FCE4() { return 1; } -void nullsub_436() {} +void nullsub_436() { +} u32 sub_0804FCEC() { return 1; } -void nullsub_437() {} +void nullsub_437() { +} u32 sub_0804FCF4() { return 1; } -void nullsub_438() {} +void nullsub_438() { +} u32 sub_0804FCFC() { return 1; } -void nullsub_439() {} +void nullsub_439() { +} u32 sub_0804FD04() { return 1; } -void nullsub_440() {} +void nullsub_440() { +} u32 sub_0804FD0C() { return 1; } -void nullsub_441() {} +void nullsub_441() { +} u32 sub_0804FD14() { return 1; } -void nullsub_442() {} +void nullsub_442() { +} u32 sub_0804FD1C() { return 1; } -void nullsub_443() {} +void nullsub_443() { +} u32 sub_0804FD24() { return 1; } -void nullsub_444() {} +void nullsub_444() { +} u32 sub_0804FD2C() { return 1; } -void nullsub_445() {} +void nullsub_445() { +} u32 sub_0804FD34() { return 1; } -void nullsub_446() {} +void nullsub_446() { +} u32 sub_0804FD3C() { return 1; } -void nullsub_447() {} +void nullsub_447() { +} u32 sub_0804FD44() { return 1; @@ -6290,7 +6282,8 @@ u32 sub_0804FD4C() { return 1; } -void nullsub_449() {} +void nullsub_449() { +} u32 sub_0804FD54() { return 1; @@ -6298,119 +6291,129 @@ u32 sub_0804FD54() { extern EntityData gUnk_080FA5D0; -void sub_0804FD58(void) -{ - if (!CheckKinstoneFused(0x21)) { - LoadRoomEntityList(&gUnk_080FA5D0); - } +void sub_0804FD58(void) { + if (!CheckKinstoneFused(0x21)) { + LoadRoomEntityList(&gUnk_080FA5D0); + } } u32 sub_0804FD70() { return 1; } -void nullsub_450() {} +void nullsub_450() { +} u32 sub_0804FD78() { return 1; } -void nullsub_451() {} +void nullsub_451() { +} u32 sub_0804FD80() { return 1; } -void nullsub_452() {} +void nullsub_452() { +} u32 sub_0804FD88() { return 1; } -void nullsub_453() {} +void nullsub_453() { +} u32 sub_0804FD90() { return 1; } -void nullsub_454() {} +void nullsub_454() { +} u32 sub_0804FD98() { return 1; } -void nullsub_455() {} +void nullsub_455() { +} u32 sub_0804FDA0() { return 1; } -void nullsub_456() {} +void nullsub_456() { +} u32 sub_0804FDA8() { return 1; } -void nullsub_457() {} +void nullsub_457() { +} u32 sub_0804FDB0() { return 1; } -void nullsub_458() {} +void nullsub_458() { +} u32 sub_0804FDB8() { return 1; } -void nullsub_459() {} +void nullsub_459() { +} u32 sub_0804FDC0() { return 1; } -void nullsub_460() {} +void nullsub_460() { +} u32 sub_0804FDC8() { return 1; } -void nullsub_461() {} +void nullsub_461() { +} u32 sub_0804FDD0() { return 1; } -void nullsub_462() {} +void nullsub_462() { +} u32 sub_0804FDD8() { return 1; } -void nullsub_463() {} +void nullsub_463() { +} extern u32 gUnk_080FAD48; -u32 sub_0804FDE0(void) -{ - if (CheckGlobalFlag(ENDING)) { - gRoomVars.field_0x6c = &gUnk_080FAD48; - gRoomVars.field_0x74 = NULL; - } - return 1; +u32 sub_0804FDE0(void) { + if (CheckGlobalFlag(ENDING)) { + gRoomVars.field_0x6c = &gUnk_080FAD48; + gRoomVars.field_0x74 = NULL; + } + return 1; } extern EntityData gUnk_080FACB8; -void sub_0804FE04(void) -{ - if (CheckGlobalFlag(ENDING)) { - gArea.pMusicIndex = gArea.musicIndex; - } - else { - LoadRoomEntityList(&gUnk_080FACB8); - } - sub_0805B4D0(0); - sub_08059994(); +void sub_0804FE04(void) { + if (CheckGlobalFlag(ENDING)) { + gArea.pMusicIndex = gArea.musicIndex; + } else { + LoadRoomEntityList(&gUnk_080FACB8); + } + sub_0805B4D0(0); + sub_08059994(); } void sub_0804FE40() { @@ -6421,7 +6424,8 @@ u32 sub_0804FE4C() { return 1; } -void nullsub_104() {} +void nullsub_104() { +} u32 sub_0804FE54() { return 1; @@ -6430,155 +6434,166 @@ u32 sub_0804FE54() { extern EntityData gUnk_080FAFE4; extern EntityData gUnk_080FB004; -void sub_0804FE58(void) -{ - - sub_0805B4D0(1); - if (CheckGlobalFlag(LV2_CLEAR) && !CheckLocalFlag(LV1_CLEAR)) { - LoadRoomEntityList(&gUnk_080FAFE4); - } - if ((gUnk_02002A40.windcrests & 0x1000000) == 0) { - LoadRoomEntityList(&gUnk_080FB004); - } - if (GetInventoryValue(0x2)) { - SetGlobalFlag(WHITE_SWORD_END); - } +void sub_0804FE58(void) { + + sub_0805B4D0(1); + if (CheckGlobalFlag(LV2_CLEAR) && !CheckLocalFlag(LV1_CLEAR)) { + LoadRoomEntityList(&gUnk_080FAFE4); + } + if ((gUnk_02002A40.windcrests & 0x1000000) == 0) { + LoadRoomEntityList(&gUnk_080FB004); + } + if (GetInventoryValue(0x2)) { + SetGlobalFlag(WHITE_SWORD_END); + } } extern EntityData gUnk_080FB004; -void sub_0804FEAC(void) -{ - if ((gUnk_02002A40.windcrests & 0x1000000) == 0) { - LoadRoomEntityList(&gUnk_080FB004); - } +void sub_0804FEAC(void) { + if ((gUnk_02002A40.windcrests & 0x1000000) == 0) { + LoadRoomEntityList(&gUnk_080FB004); + } } u32 sub_0804FECC() { return 1; } -void nullsub_464() {} +void nullsub_464() { +} u32 sub_0804FED4() { return 1; } -void sub_0804FED8(void) -{ - SetTileType(0x176, 0x66f, 1); +void sub_0804FED8(void) { + SetTileType(0x176, 0x66f, 1); } u32 sub_0804FEEC() { return 1; } -void nullsub_465() {} +void nullsub_465() { +} u32 sub_0804FEF4() { return 1; } -void nullsub_466() {} +void nullsub_466() { +} u32 sub_0804FEFC() { return 1; } -void nullsub_467() {} +void nullsub_467() { +} u32 sub_0804FF04() { return 1; } -void nullsub_468() {} +void nullsub_468() { +} u32 sub_0804FF0C() { return 1; } -void nullsub_469() {} +void nullsub_469() { +} u32 sub_0804FF14() { return 1; } -void nullsub_470() {} +void nullsub_470() { +} u32 sub_0804FF1C() { return 1; } -void nullsub_471() {} +void nullsub_471() { +} u32 sub_0804FF24() { return 1; } -void nullsub_472() {} +void nullsub_472() { +} u32 sub_0804FF2C() { return 1; } -void nullsub_473() {} +void nullsub_473() { +} u32 sub_0804FF34() { return 1; } -void nullsub_474() {} +void nullsub_474() { +} u32 sub_0804FF3C() { return 1; } -void nullsub_475() {} +void nullsub_475() { +} u32 sub_0804FF44() { return 1; } -void nullsub_476() {} +void nullsub_476() { +} u32 sub_0804FF4C() { return 1; } -void nullsub_477() {} +void nullsub_477() { +} u32 sub_0804FF54() { return 1; } -void nullsub_478() {} +void nullsub_478() { +} u32 sub_0804FF5C() { return 1; } -void sub_0804FF60(void) -{ - if (!CheckLocalFlag(0x70)) { - SetLocalFlag(0x70); - } +void sub_0804FF60(void) { + if (!CheckLocalFlag(0x70)) { + SetLocalFlag(0x70); + } } u32 sub_0804FF74() { return 1; } -void nullsub_105() {} +void nullsub_105() { +} u32 sub_0804FF7C() { return 1; } -void nullsub_106() {} - - -void sub_0804FF84(u32 arg0) -{ - ((struct_02000000 * )0x02000000)->brightnessPref = arg0; - gUsedPalettes = (u32)-1; +void nullsub_106() { +} + +void sub_0804FF84(u32 arg0) { + ((struct_02000000*)0x02000000)->brightnessPref = arg0; + gUsedPalettes = (u32)-1; } diff --git a/src/sub_08050024.c b/src/sub_08050024.c index e71c3c93..ad3235aa 100644 --- a/src/sub_08050024.c +++ b/src/sub_08050024.c @@ -21,65 +21,58 @@ void sub_08050024() { return; } -void sub_08050038(u32 arg0) -{ - if ((gFadeControl.fadeType & 1) != 0) { - gFadeControl.field_0xe = arg0; - } - else { - gFadeControl.fadeDuration = arg0; - } -} - -void DoFade(u32 fadeType, u32 fadeSpeed) -{ - gFadeControl.fadeSpeed = fadeSpeed; - gFadeControl.fadeType = fadeType; - gFadeControl.active = 1; - gFadeControl.fadeDuration = 0x100; - gFadeControl.field_0xe = 0; - if ((gFadeControl.fadeType & 2) != 0) { - gFadeControl.field_0x2 = 0xf8; - } - else { - gFadeControl.field_0x2 = 0; - } - if ((fadeType & 8) != 0) { - gUnk_03000000.spritesOffset = 1; - gScreen.bg.bg1xOffset |= 0x40; - gScreen.affine.bg2Control |= 0x40; - gScreen.affine.bg3Control |= 0x40; - } - if ((fadeType & 0x10) != 0) { - sub_0801E1B8(gFadeControl.field_0x16, gFadeControl.field_0x18); - sub_0801E1EC(gFadeControl.field_0x12, gFadeControl.field_0x14, gFadeControl.field_0x10); - if ((fadeType & 1) == 0) { - gFadeControl.fadeType &= 0xfffb; - sub_08050008(); - gUsedPalettes = 0xffffffff; +void sub_08050038(u32 arg0) { + if ((gFadeControl.fadeType & 1) != 0) { + gFadeControl.field_0xe = arg0; + } else { + gFadeControl.fadeDuration = arg0; } - } } -void sub_080500F4(u32 arg0) -{ +void DoFade(u32 fadeType, u32 fadeSpeed) { + gFadeControl.fadeSpeed = fadeSpeed; + gFadeControl.fadeType = fadeType; + gFadeControl.active = 1; + gFadeControl.fadeDuration = 0x100; + gFadeControl.field_0xe = 0; + if ((gFadeControl.fadeType & 2) != 0) { + gFadeControl.field_0x2 = 0xf8; + } else { + gFadeControl.field_0x2 = 0; + } + if ((fadeType & 8) != 0) { + gUnk_03000000.spritesOffset = 1; + gScreen.bg.bg1xOffset |= 0x40; + gScreen.affine.bg2Control |= 0x40; + gScreen.affine.bg3Control |= 0x40; + } + if ((fadeType & 0x10) != 0) { + sub_0801E1B8(gFadeControl.field_0x16, gFadeControl.field_0x18); + sub_0801E1EC(gFadeControl.field_0x12, gFadeControl.field_0x14, gFadeControl.field_0x10); + if ((fadeType & 1) == 0) { + gFadeControl.fadeType &= 0xfffb; + sub_08050008(); + gUsedPalettes = 0xffffffff; + } + } +} + +void sub_080500F4(u32 arg0) { gFadeControl.fadeSpeed = arg0; gFadeControl.fadeType ^= 1; gFadeControl.active = 1; gFadeControl.fadeDuration = 0x100; } -void sub_08050110(u32 param_1, u32 param_2, u32 fadeType, u32 fadeSpeed) -{ - if ((fadeType & 1) != 0) { - gFadeControl.field_0x10 = 0x96; - } - else { - gFadeControl.field_0x10 = 0; - } - gFadeControl.field_0x12 = param_1; - gFadeControl.field_0x14 = param_2; - gFadeControl.field_0x16 = 0x3f3f; - gFadeControl.field_0x18 = 0; - DoFade(fadeType, fadeSpeed); +void sub_08050110(u32 param_1, u32 param_2, u32 fadeType, u32 fadeSpeed) { + if ((fadeType & 1) != 0) { + gFadeControl.field_0x10 = 0x96; + } else { + gFadeControl.field_0x10 = 0; + } + gFadeControl.field_0x12 = param_1; + gFadeControl.field_0x14 = param_2; + gFadeControl.field_0x16 = 0x3f3f; + gFadeControl.field_0x18 = 0; + DoFade(fadeType, fadeSpeed); } diff --git a/src/sub_08055E08.c b/src/sub_08055E08.c index aeabdb1d..40c1f812 100644 --- a/src/sub_08055E08.c +++ b/src/sub_08055E08.c @@ -24,12 +24,13 @@ void sub_08055E08(void) { } void sub_08055E24(void) { - gMenu.overlayType++; - gUnk_02000070.unk0 = 1; - sub_0804B0B0(gMenu.field_0xc[2], gMenu.field_0xc[3]); - LoadRoomEntityList(&gUnk_080FF400); - sub_08055B70(gMenu.field_0x4, 0, 0, 0); - DoFade(4, 0x10); + gMenu.overlayType++; + gUnk_02000070.unk0 = 1; + sub_0804B0B0(gMenu.field_0xc[2], gMenu.field_0xc[3]); + LoadRoomEntityList(&gUnk_080FF400); + sub_08055B70(gMenu.field_0x4, 0, 0, 0); + DoFade(4, 0x10); } -void nullsub_493(void) {} \ No newline at end of file +void nullsub_493(void) { +} diff --git a/src/sub_08070680.c b/src/sub_08070680.c index 623b992d..a7717ff3 100644 --- a/src/sub_08070680.c +++ b/src/sub_08070680.c @@ -12,51 +12,49 @@ void sub_08070680(Entity* this) { gUnk_0811B9E0[this->action](this); } +void sub_08070698(Entity* this) { + u32 uVar1; + int iVar2; + Entity* ent; -void sub_08070698(Entity *this) -{ - u32 uVar1; - int iVar2; - Entity *ent; - - gPlayerState.field_0x0[0] = 0xff; - gPlayerState.field_0x16[0] = gPlayerEntity.x.HALF.HI; - gPlayerState.field_0x16[1] = gPlayerEntity.y.HALF.HI; - this->flags = this->flags | 0x80; - this->spritePriority.b0 = 0xc; - this->spritePriority.b1 = 1; - this->spriteSettings.b.shadow = 1; - this->field_0x16 = 0x20; - this->flags2 = 8; - this->damageType = 0x79; - this->boundingBox = &gUnk_08114F88; - this->spriteIndex = 1; - gPlayerState.field_0x8 = 0x100; - sub_0806FDA0(this); - sub_080AE008(this, 1, 2); - InitAnimationForceUpdate(this, 2); - if (this->collisionLayer == 0) { - sub_08016A30(this); - } - uVar1 = IsItemEquipped(0x10); - if (uVar1 != 2) { - sub_08077728(); - } - sub_0807A108(); - sub_0807AEE4(); - iVar2 = sub_08078EFC(); - if (iVar2 == 0) { - sub_0807921C(); - sub_0807A1B8(); - if (gPlayerState.swimState != 0) { - gPlayerState.swimState = 1; - sub_08079938(); - gPlayerState.field_0xa8 = 7; - sub_0807ACCC(this); - ent = FindEntityInListByForm(0x6, 0xf, 0x6, 0xb, 0x0); - if (ent != NULL) { - DeleteEntity(ent); - } + gPlayerState.field_0x0[0] = 0xff; + gPlayerState.field_0x16[0] = gPlayerEntity.x.HALF.HI; + gPlayerState.field_0x16[1] = gPlayerEntity.y.HALF.HI; + this->flags = this->flags | 0x80; + this->spritePriority.b0 = 0xc; + this->spritePriority.b1 = 1; + this->spriteSettings.b.shadow = 1; + this->field_0x16 = 0x20; + this->flags2 = 8; + this->damageType = 0x79; + this->boundingBox = &gUnk_08114F88; + this->spriteIndex = 1; + gPlayerState.field_0x8 = 0x100; + sub_0806FDA0(this); + sub_080AE008(this, 1, 2); + InitAnimationForceUpdate(this, 2); + if (this->collisionLayer == 0) { + sub_08016A30(this); + } + uVar1 = IsItemEquipped(0x10); + if (uVar1 != 2) { + sub_08077728(); + } + sub_0807A108(); + sub_0807AEE4(); + iVar2 = sub_08078EFC(); + if (iVar2 == 0) { + sub_0807921C(); + sub_0807A1B8(); + if (gPlayerState.swimState != 0) { + gPlayerState.swimState = 1; + sub_08079938(); + gPlayerState.field_0xa8 = 7; + sub_0807ACCC(this); + ent = FindEntityInListByForm(0x6, 0xf, 0x6, 0xb, 0x0); + if (ent != NULL) { + DeleteEntity(ent); + } + } } - } } diff --git a/src/sub_0807C998.c b/src/sub_0807C998.c index 8fdf37a3..7c2afd37 100644 --- a/src/sub_0807C998.c +++ b/src/sub_0807C998.c @@ -6,19 +6,17 @@ extern u16 gMetatilesBottom[]; extern u16 gMetatilesTop[]; extern u8 gUnk_08324AE4; -void sub_0807C960(void* dest, u32 offset) -{ +void sub_0807C960(void* dest, u32 offset) { void* src; - if (offset != -1) { - src = &gUnk_08324AE4 + (offset & 0x7fffffff); - if ((u32)dest >> 0x18 == 6) { - LZ77UnCompVram(src, (void *)dest); + if (offset != -1) { + src = &gUnk_08324AE4 + (offset & 0x7fffffff); + if ((u32)dest >> 0x18 == 6) { + LZ77UnCompVram(src, (void*)dest); + } else { + LZ77UnCompWram(src, (void*)dest); + } } - else { - LZ77UnCompWram(src, (void *)dest); - } - } } void sub_0807C998(u32* a1) { diff --git a/src/sub_080A3B84.c b/src/sub_080A3B84.c index b3646653..1fa55fb0 100644 --- a/src/sub_080A3B84.c +++ b/src/sub_080A3B84.c @@ -6,56 +6,54 @@ extern void (*const gUnk_081280C4[])(); -void DrawKinstoneMenu(void) -{ - gScreenTransition.field_0x24[8] = 2; - sub_080AD90C(); - gUnk_081280C4[gMenu.menuType](); - sub_080A3B74(); - sub_080A4054(); - sub_0801C1D4(); - sub_0801C208(); - sub_0805E5C0(); - sub_080AD9B0(); - sub_080AD918(); - gScreenTransition.field_0x24[8] = 0; +void DrawKinstoneMenu(void) { + gScreenTransition.field_0x24[8] = 2; + sub_080AD90C(); + gUnk_081280C4[gMenu.menuType](); + sub_080A3B74(); + sub_080A4054(); + sub_0801C1D4(); + sub_0801C208(); + sub_0805E5C0(); + sub_080AD9B0(); + sub_080AD918(); + gScreenTransition.field_0x24[8] = 0; } extern void gUnk_081280DC; -void sub_080A3BD0(void) -{ - s32 iVar1; - s32 iVar2; - - gMenu.field_0x1 = 1; - gMenu.unk2a = 0; - sub_080A4D34(); - LoadPaletteGroup(0xcb); - LoadGfxGroup(0x75); - - iVar1 = sub_080A4494(); - iVar2 = iVar1 + 7; - if (iVar2 < 0) { - iVar2 += 0x7; - } +void sub_080A3BD0(void) { + s32 iVar1; + s32 iVar2; - iVar1 = (iVar2 >> 3) - 6; - iVar1 = max(iVar1, 0); - iVar1 = min(iVar1, 6); + gMenu.field_0x1 = 1; + gMenu.unk2a = 0; + sub_080A4D34(); + LoadPaletteGroup(0xcb); + LoadGfxGroup(0x75); - LoadGfxGroup(iVar1 + 0x76); - gScreen.lcd.displayControl |= 0x1e00; - gScreen.bg.bg1xOffset = 0x1c01; - gScreen.affine.bg2Control = 0x1d02; - gScreen.affine.bg3Control = 0x1e0b; - gScreen.bg.bg2yOffset = 1; - gScreen.affine.unk = 1; - gScreen.affine.unk4 = 1; - sub_080A4528(); - sub_080A4398(); - sub_0801E738(0); - sub_080A70AC(&gUnk_081280DC); - sub_080A7114(1); - DoFade(6, 8); + iVar1 = sub_080A4494(); + iVar2 = iVar1 + 7; + if (iVar2 < 0) { + iVar2 += 0x7; + } + + iVar1 = (iVar2 >> 3) - 6; + iVar1 = max(iVar1, 0); + iVar1 = min(iVar1, 6); + + LoadGfxGroup(iVar1 + 0x76); + gScreen.lcd.displayControl |= 0x1e00; + gScreen.bg.bg1xOffset = 0x1c01; + gScreen.affine.bg2Control = 0x1d02; + gScreen.affine.bg3Control = 0x1e0b; + gScreen.bg.bg2yOffset = 1; + gScreen.affine.unk = 1; + gScreen.affine.unk4 = 1; + sub_080A4528(); + sub_080A4398(); + sub_0801E738(0); + sub_080A70AC(&gUnk_081280DC); + sub_080A7114(1); + DoFade(6, 8); } diff --git a/src/sub_080A554C.c b/src/sub_080A554C.c index d25d7eb9..4ec59e7f 100644 --- a/src/sub_080A554C.c +++ b/src/sub_080A554C.c @@ -6,8 +6,7 @@ extern void (*const gUnk_08128BF8[])(void); extern u8 gUnk_02000090; -u32 sub_080A554C(u32 arg0) -{ +u32 sub_080A554C(u32 arg0) { u32 i; if (arg0 != 0) { @@ -19,8 +18,7 @@ u32 sub_080A554C(u32 arg0) return 17; } -void sub_080A5574(void) -{ - gUnk_08128BF8[gMenu.menuType](); - sub_080A57F4(); +void sub_080A5574(void) { + gUnk_08128BF8[gMenu.menuType](); + sub_080A57F4(); } diff --git a/src/tmc.code-workspace b/src/tmc.code-workspace index edfe8a81..f890504e 100644 --- a/src/tmc.code-workspace +++ b/src/tmc.code-workspace @@ -1,13 +1,7 @@ { - "folders": [ - { - "path": ".." - } - ], - "settings": { - "files.associations": { - "algorithm": "cpp", - "ios": "c" - } - } -} \ No newline at end of file + "folders" : [ { "path" : ".." } ], "settings" : { + "files.associations" : { + "algorithm" : "cpp", "ios" : "c" + } + } +} diff --git a/src/trig.c b/src/trig.c index a406599f..bb53c2fe 100644 --- a/src/trig.c +++ b/src/trig.c @@ -1,72 +1,71 @@ #include "global.h" // Values of sin(x*(Ï€/128)) as Q8.8 fixed-point numbers from x = 0 to x = 319 -const s16 gSineTable[] = -{ - Q_8_8(0), // sin(0*(Ï€/128)) - Q_8_8(0.0234375), // sin(1*(Ï€/128)) - Q_8_8(0.046875), // sin(2*(Ï€/128)) - Q_8_8(0.0703125), // sin(3*(Ï€/128)) - Q_8_8(0.09765625), // sin(4*(Ï€/128)) - Q_8_8(0.12109375), // sin(5*(Ï€/128)) - Q_8_8(0.14453125), // sin(6*(Ï€/128)) - Q_8_8(0.16796875), // sin(7*(Ï€/128)) - Q_8_8(0.19140625), // sin(8*(Ï€/128)) - Q_8_8(0.21875), // sin(9*(Ï€/128)) - Q_8_8(0.2421875), // sin(10*(Ï€/128)) - Q_8_8(0.265625), // sin(11*(Ï€/128)) - Q_8_8(0.2890625), // sin(12*(Ï€/128)) - Q_8_8(0.3125), // sin(13*(Ï€/128)) - Q_8_8(0.3359375), // sin(14*(Ï€/128)) - Q_8_8(0.359375), // sin(15*(Ï€/128)) - Q_8_8(0.37890625), // sin(16*(Ï€/128)) - Q_8_8(0.40234375), // sin(17*(Ï€/128)) - Q_8_8(0.42578125), // sin(18*(Ï€/128)) - Q_8_8(0.44921875), // sin(19*(Ï€/128)) - Q_8_8(0.46875), // sin(20*(Ï€/128)) - Q_8_8(0.4921875), // sin(21*(Ï€/128)) - Q_8_8(0.51171875), // sin(22*(Ï€/128)) - Q_8_8(0.53125), // sin(23*(Ï€/128)) - Q_8_8(0.5546875), // sin(24*(Ï€/128)) - Q_8_8(0.57421875), // sin(25*(Ï€/128)) - Q_8_8(0.59375), // sin(26*(Ï€/128)) - Q_8_8(0.61328125), // sin(27*(Ï€/128)) - Q_8_8(0.6328125), // sin(28*(Ï€/128)) - Q_8_8(0.65234375), // sin(29*(Ï€/128)) - Q_8_8(0.66796875), // sin(30*(Ï€/128)) - Q_8_8(0.6875), // sin(31*(Ï€/128)) - Q_8_8(0.70703125), // sin(32*(Ï€/128)) - Q_8_8(0.72265625), // sin(33*(Ï€/128)) - Q_8_8(0.73828125), // sin(34*(Ï€/128)) - Q_8_8(0.75390625), // sin(35*(Ï€/128)) - Q_8_8(0.76953125), // sin(36*(Ï€/128)) - Q_8_8(0.78515625), // sin(37*(Ï€/128)) - Q_8_8(0.80078125), // sin(38*(Ï€/128)) - Q_8_8(0.81640625), // sin(39*(Ï€/128)) - Q_8_8(0.828125), // sin(40*(Ï€/128)) - Q_8_8(0.84375), // sin(41*(Ï€/128)) - Q_8_8(0.85546875), // sin(42*(Ï€/128)) - Q_8_8(0.8671875), // sin(43*(Ï€/128)) - Q_8_8(0.87890625), // sin(44*(Ï€/128)) - Q_8_8(0.890625), // sin(45*(Ï€/128)) - Q_8_8(0.90234375), // sin(46*(Ï€/128)) - Q_8_8(0.9140625), // sin(47*(Ï€/128)) - Q_8_8(0.921875), // sin(48*(Ï€/128)) - Q_8_8(0.9296875), // sin(49*(Ï€/128)) - Q_8_8(0.94140625), // sin(50*(Ï€/128)) - Q_8_8(0.94921875), // sin(51*(Ï€/128)) - Q_8_8(0.953125), // sin(52*(Ï€/128)) - Q_8_8(0.9609375), // sin(53*(Ï€/128)) - Q_8_8(0.96875), // sin(54*(Ï€/128)) - Q_8_8(0.97265625), // sin(55*(Ï€/128)) - Q_8_8(0.98046875), // sin(56*(Ï€/128)) - Q_8_8(0.984375), // sin(57*(Ï€/128)) - Q_8_8(0.98828125), // sin(58*(Ï€/128)) - Q_8_8(0.9921875), // sin(59*(Ï€/128)) - Q_8_8(0.9921875), // sin(60*(Ï€/128)) - Q_8_8(0.99609375), // sin(61*(Ï€/128)) - Q_8_8(0.99609375), // sin(62*(Ï€/128)) - Q_8_8(0.99609375), // sin(63*(Ï€/128)) +const s16 gSineTable[] = { + Q_8_8(0), // sin(0*(Ï€/128)) + Q_8_8(0.0234375), // sin(1*(Ï€/128)) + Q_8_8(0.046875), // sin(2*(Ï€/128)) + Q_8_8(0.0703125), // sin(3*(Ï€/128)) + Q_8_8(0.09765625), // sin(4*(Ï€/128)) + Q_8_8(0.12109375), // sin(5*(Ï€/128)) + Q_8_8(0.14453125), // sin(6*(Ï€/128)) + Q_8_8(0.16796875), // sin(7*(Ï€/128)) + Q_8_8(0.19140625), // sin(8*(Ï€/128)) + Q_8_8(0.21875), // sin(9*(Ï€/128)) + Q_8_8(0.2421875), // sin(10*(Ï€/128)) + Q_8_8(0.265625), // sin(11*(Ï€/128)) + Q_8_8(0.2890625), // sin(12*(Ï€/128)) + Q_8_8(0.3125), // sin(13*(Ï€/128)) + Q_8_8(0.3359375), // sin(14*(Ï€/128)) + Q_8_8(0.359375), // sin(15*(Ï€/128)) + Q_8_8(0.37890625), // sin(16*(Ï€/128)) + Q_8_8(0.40234375), // sin(17*(Ï€/128)) + Q_8_8(0.42578125), // sin(18*(Ï€/128)) + Q_8_8(0.44921875), // sin(19*(Ï€/128)) + Q_8_8(0.46875), // sin(20*(Ï€/128)) + Q_8_8(0.4921875), // sin(21*(Ï€/128)) + Q_8_8(0.51171875), // sin(22*(Ï€/128)) + Q_8_8(0.53125), // sin(23*(Ï€/128)) + Q_8_8(0.5546875), // sin(24*(Ï€/128)) + Q_8_8(0.57421875), // sin(25*(Ï€/128)) + Q_8_8(0.59375), // sin(26*(Ï€/128)) + Q_8_8(0.61328125), // sin(27*(Ï€/128)) + Q_8_8(0.6328125), // sin(28*(Ï€/128)) + Q_8_8(0.65234375), // sin(29*(Ï€/128)) + Q_8_8(0.66796875), // sin(30*(Ï€/128)) + Q_8_8(0.6875), // sin(31*(Ï€/128)) + Q_8_8(0.70703125), // sin(32*(Ï€/128)) + Q_8_8(0.72265625), // sin(33*(Ï€/128)) + Q_8_8(0.73828125), // sin(34*(Ï€/128)) + Q_8_8(0.75390625), // sin(35*(Ï€/128)) + Q_8_8(0.76953125), // sin(36*(Ï€/128)) + Q_8_8(0.78515625), // sin(37*(Ï€/128)) + Q_8_8(0.80078125), // sin(38*(Ï€/128)) + Q_8_8(0.81640625), // sin(39*(Ï€/128)) + Q_8_8(0.828125), // sin(40*(Ï€/128)) + Q_8_8(0.84375), // sin(41*(Ï€/128)) + Q_8_8(0.85546875), // sin(42*(Ï€/128)) + Q_8_8(0.8671875), // sin(43*(Ï€/128)) + Q_8_8(0.87890625), // sin(44*(Ï€/128)) + Q_8_8(0.890625), // sin(45*(Ï€/128)) + Q_8_8(0.90234375), // sin(46*(Ï€/128)) + Q_8_8(0.9140625), // sin(47*(Ï€/128)) + Q_8_8(0.921875), // sin(48*(Ï€/128)) + Q_8_8(0.9296875), // sin(49*(Ï€/128)) + Q_8_8(0.94140625), // sin(50*(Ï€/128)) + Q_8_8(0.94921875), // sin(51*(Ï€/128)) + Q_8_8(0.953125), // sin(52*(Ï€/128)) + Q_8_8(0.9609375), // sin(53*(Ï€/128)) + Q_8_8(0.96875), // sin(54*(Ï€/128)) + Q_8_8(0.97265625), // sin(55*(Ï€/128)) + Q_8_8(0.98046875), // sin(56*(Ï€/128)) + Q_8_8(0.984375), // sin(57*(Ï€/128)) + Q_8_8(0.98828125), // sin(58*(Ï€/128)) + Q_8_8(0.9921875), // sin(59*(Ï€/128)) + Q_8_8(0.9921875), // sin(60*(Ï€/128)) + Q_8_8(0.99609375), // sin(61*(Ï€/128)) + Q_8_8(0.99609375), // sin(62*(Ï€/128)) + Q_8_8(0.99609375), // sin(63*(Ï€/128)) }; const s16 gCosineTable[] = { diff --git a/tools/tmc_strings/README.md b/tools/tmc_strings/README.md index 411acb55..f712b311 100644 --- a/tools/tmc_strings/README.md +++ b/tools/tmc_strings/README.md @@ -31,4 +31,4 @@ command|result `make pack` | package the json files to string tables again `make inject` | `pack` and inject these new tables in a rom copy `make diff` | diff the dumped stringtables with the newly packed ones -`make diff-rom` | diff modified rom with supplied baserom \ No newline at end of file +`make diff-rom` | diff modified rom with supplied baserom diff --git a/translations/USA.json b/translations/USA.json index aa1bcb5d..80eb8846 100644 --- a/translations/USA.json +++ b/translations/USA.json @@ -3858,4 +3858,4 @@ "", "" ] -] \ No newline at end of file +] From 22a04e5f0e7ad32c6db0d06fa84e5f33a28b9a86 Mon Sep 17 00:00:00 2001 From: Ibot02 Date: Tue, 17 Nov 2020 17:14:36 +0100 Subject: [PATCH 012/101] objectA2.c: ok --- asm/objectA2.s | 244 ------------------------------------------ linker.ld | 2 +- src/object/objectA2.c | 108 +++++++++++++++++++ 3 files changed, 109 insertions(+), 245 deletions(-) delete mode 100644 asm/objectA2.s create mode 100644 src/object/objectA2.c diff --git a/asm/objectA2.s b/asm/objectA2.s deleted file mode 100644 index 4be6e53f..00000000 --- a/asm/objectA2.s +++ /dev/null @@ -1,244 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - - thumb_func_start ObjectA2 -ObjectA2: @ 0x0809F2F8 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _0809F314 @ =gUnk_081246F4 - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl GetNextFrame - pop {r4, pc} - .align 2, 0 -_0809F314: .4byte gUnk_081246F4 - - thumb_func_start sub_0809F318 -sub_0809F318: @ 0x0809F318 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0 - bl InitializeAnimation - bl Random - movs r1, #0x10 - ands r1, r0 - cmp r1, #0 - beq _0809F336 - ldrb r0, [r4, #0x18] - movs r1, #0x40 - orrs r0, r1 - strb r0, [r4, #0x18] -_0809F336: - movs r0, #0x28 - strh r0, [r4, #0x2e] - movs r0, #0x48 - strh r0, [r4, #0x32] - ldr r0, _0809F36C @ =0x0000FFB0 - strh r0, [r4, #0x36] - ldrb r1, [r4, #0x1b] - movs r0, #0x3f - ands r0, r1 - movs r1, #0x80 - orrs r0, r1 - strb r0, [r4, #0x1b] - movs r0, #1 - strb r0, [r4, #0xc] - ldr r1, _0809F370 @ =gUnk_08124704 - ldrb r0, [r4, #0xa] - adds r0, r0, r1 - ldrb r1, [r0] - adds r0, r4, #0 - bl sub_0801D2B4 - adds r0, r4, #0 - movs r1, #7 - bl sub_0805E3A0 - pop {r4, pc} - .align 2, 0 -_0809F36C: .4byte 0x0000FFB0 -_0809F370: .4byte gUnk_08124704 - - thumb_func_start sub_0809F374 -sub_0809F374: @ 0x0809F374 - push {r4, lr} - adds r4, r0, #0 - bl sub_0806F69C - movs r0, #0x80 - lsls r0, r0, #0x12 - ldrb r0, [r0, #7] - cmp r0, #1 - bhi _0809F3AE - movs r1, #0x80 - lsls r1, r1, #6 - adds r0, r4, #0 - bl sub_080044EC - cmp r0, #1 - bhi _0809F3C0 - movs r0, #0 - str r0, [r4, #0x34] - movs r0, #2 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #1 - bl InitializeAnimation - movs r0, #0xc3 - lsls r0, r0, #1 - bl PlaySFX - b _0809F3E6 -_0809F3AE: - movs r1, #0x80 - lsls r1, r1, #6 - adds r0, r4, #0 - bl sub_080044EC - cmp r0, #0 - beq _0809F3C8 - cmp r0, #1 - beq _0809F3D4 -_0809F3C0: - ldrb r0, [r4, #0xe] - adds r0, #1 - strb r0, [r4, #0xe] - b _0809F3E6 -_0809F3C8: - movs r0, #2 - strb r0, [r4, #0xc] - adds r0, r4, #0 - movs r1, #1 - bl InitializeAnimation -_0809F3D4: - movs r0, #0 - strb r0, [r4, #0xe] - adds r0, r4, #0 - bl sub_0809F448 - movs r0, #0xc3 - lsls r0, r0, #1 - bl PlaySFX -_0809F3E6: - pop {r4, pc} - - thumb_func_start sub_0809F3E8 -sub_0809F3E8: @ 0x0809F3E8 - push {lr} - adds r2, r0, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0809F404 - movs r0, #3 - strb r0, [r2, #0xc] - adds r0, r2, #0 - movs r1, #2 - bl InitializeAnimation -_0809F404: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0809F408 -sub_0809F408: @ 0x0809F408 - push {lr} - adds r2, r0, #0 - adds r1, r2, #0 - adds r1, #0x5a - ldrb r0, [r1] - cmp r0, #9 - beq _0809F41C - cmp r0, #0x80 - beq _0809F438 - b _0809F442 -_0809F41C: - movs r0, #0 - strb r0, [r1] - adds r0, r2, #0 - movs r1, #0x43 - movs r2, #0 - bl CreateFx - ldr r1, _0809F434 @ =gMenu - movs r0, #1 - strb r0, [r1] - b _0809F442 - .align 2, 0 -_0809F434: .4byte gMenu -_0809F438: - ldr r1, _0809F444 @ =gMenu - movs r0, #1 - strb r0, [r1, #4] - bl DeleteThisEntity -_0809F442: - pop {pc} - .align 2, 0 -_0809F444: .4byte gMenu - - thumb_func_start sub_0809F448 -sub_0809F448: @ 0x0809F448 - push {r4, r5, r6, r7, lr} - adds r6, r0, #0 - bl Random - adds r5, r0, #0 - ldrb r0, [r6, #0xf] - lsls r2, r0, #1 - ldr r1, _0809F474 @ =gUnk_08124708 - adds r7, r2, r1 - adds r0, #1 - strb r0, [r6, #0xf] - ldr r1, [r6, #0x2c] - movs r0, #0xa0 - lsls r0, r0, #0xe - subs r4, r0, r1 - ldrb r0, [r7] - cmp r0, #0 - beq _0809F478 - cmp r0, #1 - beq _0809F492 - b _0809F49C - .align 2, 0 -_0809F474: .4byte gUnk_08124708 -_0809F478: - movs r1, #0xc0 - lsls r1, r1, #0xd - adds r0, r5, #0 - bl __modsi3 - adds r4, r0, #0 - movs r0, #0x80 - lsls r0, r0, #0x11 - ands r0, r5 - cmp r0, #0 - beq _0809F49C - rsbs r4, r4, #0 - b _0809F49C -_0809F492: - ldr r0, _0809F4BC @ =0xFFF80000 - adds r1, r4, r0 - ldr r0, _0809F4C0 @ =0x000FFFFF - ands r0, r5 - adds r4, r1, r0 -_0809F49C: - adds r0, r4, #0 - cmp r4, #0 - bge _0809F4A4 - rsbs r0, r4, #0 -_0809F4A4: - ldrb r1, [r7, #1] - lsls r1, r1, #8 - bl __divsi3 - strh r0, [r6, #0x24] - adds r0, r4, #0 - movs r1, #0 - bl sub_080045DA - lsrs r0, r0, #3 - strb r0, [r6, #0x15] - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0809F4BC: .4byte 0xFFF80000 -_0809F4C0: .4byte 0x000FFFFF diff --git a/linker.ld b/linker.ld index ddbdd4c5..8029ba57 100644 --- a/linker.ld +++ b/linker.ld @@ -842,7 +842,7 @@ SECTIONS { asm/fan.o(.text); asm/objectA0.o(.text); src/object/palaceArchway.o(.text); - asm/objectA2.o(.text); + src/object/objectA2.o(.text); src/object/cloud.o(.text); src/object/minishLight.o(.text); asm/objectA5.o(.text); diff --git a/src/object/objectA2.c b/src/object/objectA2.c new file mode 100644 index 00000000..0e0337fb --- /dev/null +++ b/src/object/objectA2.c @@ -0,0 +1,108 @@ +#include "global.h" +#include "object.h" +#include "menu.h" +#include "structures.h" +#include "functions.h" + +extern void (* const gUnk_081246F4[])(Entity*); +extern const u8 gUnk_08124704[]; + +typedef struct { + u8 unk_0; + u8 unk_1; +} PACKED struct_08124708; + +extern const struct_08124708 gUnk_08124708[]; + +void sub_0809F448(Entity*); + +void ObjectA2(Entity* this) { + gUnk_081246F4[this->action](this); + GetNextFrame(this); +} + +void sub_0809F318(Entity* this) { + InitializeAnimation(this, 0); + if (Random() & 0x10) { + this->spriteSettings.b.flipX = 1; + } + this->x.HALF.HI = 0x28; + this->y.HALF.HI = 0x48; + this->height.HALF.HI = 0xFFB0; + this->spriteOrientation.flipY = 2; + this->action = 1; + sub_0801D2B4(this, gUnk_08124704[this->entityType.form]); + sub_0805E3A0(this, 7); +} + +void sub_0809F374(Entity* this) { + sub_0806F69C(this); + if (gUnk_02000000->gameLanguage < 2) { + if (sub_080044EC(this, 0x2000) < 2) { + this->height.WORD = 0; + this->action = 2; + InitializeAnimation(this, 1); + PlaySFX(0x186); + } else { + this->actionDelay++; + } + } else { + switch (sub_080044EC(this, 0x2000)) { + default: + this->actionDelay++; + break; + case 0: + this->action = 2; + InitializeAnimation(this, 1); + //fall through + case 1: + this->actionDelay = 0; + sub_0809F448(this); + PlaySFX(0x186); + } + } +} + +void sub_0809F3E8(Entity* this) { + if (this->frames.b.f3) { + this->action = 3; + InitializeAnimation(this, 2); + } +} + +void sub_0809F408(Entity* this) { + switch (this->frames.all) { + case 9: + this->frames.all = 0; + CreateFx(this, 0x43, 0); + gMenu.field_0x0 = 1; + break; + case 0x80: + gMenu.field_0x4 = 1; + DeleteThisEntity(); + } +} + +extern u32 sub_080045DA(s32, u32); + +void sub_0809F448(Entity* this) { + s32 tmp; + int rand = Random(); + const struct_08124708 *tmp2 = &gUnk_08124708[this->field_0xf]; + this->field_0xf++; + tmp = 0x280000 - this->x.WORD; + + switch (tmp2->unk_0) { + case 0: + tmp = rand % 0x180000; + if (rand & 0x1000000) { + tmp = -tmp; + } + break; + case 1: + tmp += -0x80000 + (rand & 0xFFFFF); + break; + } + this->nonPlanarMovement = (tmp > 0 ? tmp : -tmp) / (tmp2->unk_1 << 8); + this->direction = sub_080045DA(tmp, 0) >> 3; +} From a7e958e2629c1f5e501a496b7feaf1b7a6ddeda6 Mon Sep 17 00:00:00 2001 From: Ibot02 Date: Tue, 17 Nov 2020 18:06:45 +0100 Subject: [PATCH 013/101] objectA2.c: split out rodata --- data/data_08121C58.s | 6978 ----------------------------------------- data/data_08124712.s | 6974 ++++++++++++++++++++++++++++++++++++++++ linker.ld | 2 + src/object/objectA2.c | 27 +- 4 files changed, 6996 insertions(+), 6985 deletions(-) create mode 100644 data/data_08124712.s diff --git a/data/data_08121C58.s b/data/data_08121C58.s index 64f38084..4fbbd4cb 100755 --- a/data/data_08121C58.s +++ b/data/data_08121C58.s @@ -1485,6981 +1485,3 @@ gUnk_081246C8:: @ 081246C8 gUnk_081246EC:: @ 081246EC .incbin "baserom.gba", 0x1246EC, 0x0000008 - -gUnk_081246F4:: @ 081246F4 - .incbin "baserom.gba", 0x1246F4, 0x0000010 - -gUnk_08124704:: @ 08124704 - .incbin "baserom.gba", 0x124704, 0x0000004 - -gUnk_08124708:: @ 08124708 - .incbin "baserom.gba", 0x124708, 0x000000A - -gUnk_08124712:: @ 08124712 - .incbin "baserom.gba", 0x124712, 0x0000031 - -gUnk_08124743:: @ 08124743 - .incbin "baserom.gba", 0x124743, 0x0000021 - -gUnk_08124764:: @ 08124764 - .incbin "baserom.gba", 0x124764, 0x0000024 - -gUnk_08124788:: @ 08124788 - .incbin "baserom.gba", 0x124788, 0x0000010 - -gUnk_08124798:: @ 08124798 - .incbin "baserom.gba", 0x124798, 0x0000008 - -gUnk_081247A0:: @ 081247A0 - .incbin "baserom.gba", 0x1247A0, 0x000000C - -gUnk_081247AC:: @ 081247AC - .incbin "baserom.gba", 0x1247AC, 0x0000014 - -gUnk_081247C0:: @ 081247C0 - .incbin "baserom.gba", 0x1247C0, 0x0000008 - -gUnk_081247C8:: @ 081247C8 - .incbin "baserom.gba", 0x1247C8, 0x0000008 - -gUnk_081247D0:: @ 081247D0 - .incbin "baserom.gba", 0x1247D0, 0x0000028 - -gUnk_081247F8:: @ 081247F8 - .incbin "baserom.gba", 0x1247F8, 0x0000008 - -gUnk_08124800:: @ 08124800 - .incbin "baserom.gba", 0x124800, 0x0000008 - -gUnk_08124808:: @ 08124808 - .incbin "baserom.gba", 0x124808, 0x0000014 - -gUnk_0812481C:: @ 0812481C - .incbin "baserom.gba", 0x12481C, 0x0000008 - -gUnk_08124824:: @ 08124824 - .incbin "baserom.gba", 0x124824, 0x000001C - -gUnk_08124840:: @ 08124840 - .incbin "baserom.gba", 0x124840, 0x000000C - -gUnk_0812484C:: @ 0812484C - .incbin "baserom.gba", 0x12484C, 0x0000004 - -gUnk_08124850:: @ 08124850 - .incbin "baserom.gba", 0x124850, 0x000000C - -gUnk_0812485C:: @ 0812485C - .incbin "baserom.gba", 0x12485C, 0x0000004 - -gUnk_08124860:: @ 08124860 - .incbin "baserom.gba", 0x124860, 0x0000008 - -gUnk_08124868:: @ 08124868 - .incbin "baserom.gba", 0x124868, 0x0000004 - -gUnk_0812486C:: @ 0812486C - .incbin "baserom.gba", 0x12486C, 0x000000C - -gUnk_08124878:: @ 08124878 - .incbin "baserom.gba", 0x124878, 0x0000018 - -gUnk_08124890:: @ 08124890 - .incbin "baserom.gba", 0x124890, 0x0000008 - -gUnk_08124898:: @ 08124898 - .incbin "baserom.gba", 0x124898, 0x000001C - -gUnk_081248B4:: @ 081248B4 - .incbin "baserom.gba", 0x1248B4, 0x0000008 - -gUnk_081248BC:: @ 081248BC - .incbin "baserom.gba", 0x1248BC, 0x0000008 - -gUnk_081248C4:: @ 081248C4 - .incbin "baserom.gba", 0x1248C4, 0x000000C - -gUnk_081248D0:: @ 081248D0 - .incbin "baserom.gba", 0x1248D0, 0x0000011 - -gUnk_081248E1:: @ 081248E1 - .incbin "baserom.gba", 0x1248E1, 0x0000011 - -gUnk_081248F2:: @ 081248F2 - .incbin "baserom.gba", 0x1248F2, 0x000001C - -gUnk_0812490E:: @ 0812490E - .incbin "baserom.gba", 0x12490E, 0x000001A - -gUnk_08124928:: @ 08124928 - .incbin "baserom.gba", 0x124928, 0x0000014 - -gUnk_0812493C:: @ 0812493C - .incbin "baserom.gba", 0x12493C, 0x0000014 - -gUnk_08124950:: @ 08124950 - .incbin "baserom.gba", 0x124950, 0x0000010 - -gUnk_08124960:: @ 08124960 - .incbin "baserom.gba", 0x124960, 0x0000005 - -gUnk_08124965:: @ 08124965 - .incbin "baserom.gba", 0x124965, 0x0000015 - -gUnk_0812497A:: @ 0812497A - .incbin "baserom.gba", 0x12497A, 0x000001A - -gUnk_08124994:: @ 08124994 - .incbin "baserom.gba", 0x124994, 0x000000C - -gUnk_081249A0:: @ 081249A0 - .incbin "baserom.gba", 0x1249A0, 0x000000C - -gUnk_081249AC:: @ 081249AC - .incbin "baserom.gba", 0x1249AC, 0x000000C - -gUnk_081249B8:: @ 081249B8 - .incbin "baserom.gba", 0x1249B8, 0x0000011 - -gUnk_081249C9:: @ 081249C9 - .incbin "baserom.gba", 0x1249C9, 0x0000011 - -gUnk_081249DA:: @ 081249DA - .incbin "baserom.gba", 0x1249DA, 0x0000011 - -gUnk_081249EB:: @ 081249EB - .incbin "baserom.gba", 0x1249EB, 0x0000011 - -gUnk_081249FC:: @ 081249FC - .incbin "baserom.gba", 0x1249FC, 0x0000014 - -gUnk_08124A10:: @ 08124A10 - .incbin "baserom.gba", 0x124A10, 0x0000008 - -gUnk_08124A18:: @ 08124A18 - .incbin "baserom.gba", 0x124A18, 0x0000008 - -gUnk_08124A20:: @ 08124A20 - .incbin "baserom.gba", 0x124A20, 0x000000C - -gUnk_08124A2C:: @ 08124A2C - .incbin "baserom.gba", 0x124A2C, 0x0000051 - -gUnk_08124A7D:: @ 08124A7D - .incbin "baserom.gba", 0x124A7D, 0x0000005 - -gUnk_08124A82:: @ 08124A82 - .incbin "baserom.gba", 0x124A82, 0x0000005 - -gUnk_08124A87:: @ 08124A87 - .incbin "baserom.gba", 0x124A87, 0x0000005 - -gUnk_08124A8C:: @ 08124A8C - .incbin "baserom.gba", 0x124A8C, 0x0000021 - -gUnk_08124AAD:: @ 08124AAD - .incbin "baserom.gba", 0x124AAD, 0x000004B - -gUnk_08124AF8:: @ 08124AF8 - .incbin "baserom.gba", 0x124AF8, 0x0000018 - -gUnk_08124B10:: @ 08124B10 - .incbin "baserom.gba", 0x124B10, 0x0000010 - -gUnk_08124B20:: @ 08124B20 - .incbin "baserom.gba", 0x124B20, 0x0000010 - -gUnk_08124B30:: @ 08124B30 - .incbin "baserom.gba", 0x124B30, 0x0000008 - -gUnk_08124B38:: @ 08124B38 - .incbin "baserom.gba", 0x124B38, 0x0000071 - -gUnk_08124BA9:: @ 08124BA9 - .incbin "baserom.gba", 0x124BA9, 0x0000053 - -gUnk_08124BFC:: @ 08124BFC - .incbin "baserom.gba", 0x124BFC, 0x000000C - -gUnk_08124C08:: @ 08124C08 - .incbin "baserom.gba", 0x124C08, 0x0000008 - -gUnk_08124C10:: @ 08124C10 - .incbin "baserom.gba", 0x124C10, 0x0000010 - -gUnk_08124C20:: @ 08124C20 - .incbin "baserom.gba", 0x124C20, 0x0000028 - -gUnk_08124C48:: @ 08124C48 - .incbin "baserom.gba", 0x124C48, 0x0000258 - -gUnk_08124EA0:: @ 08124EA0 - .incbin "baserom.gba", 0x124EA0, 0x0000028 - -gUnk_08124EC8:: @ 08124EC8 - .incbin "baserom.gba", 0x124EC8, 0x0000004 - -gUnk_08124ECC:: @ 08124ECC - .incbin "baserom.gba", 0x124ECC, 0x0000004 - -gUnk_08124ED0:: @ 08124ED0 - .incbin "baserom.gba", 0x124ED0, 0x0000028 - -gUnk_08124EF8:: @ 08124EF8 - .incbin "baserom.gba", 0x124EF8, 0x0000010 - -gUnk_08124F08:: @ 08124F08 - .incbin "baserom.gba", 0x124F08, 0x0000020 - -gUnk_08124F28:: @ 08124F28 - .incbin "baserom.gba", 0x124F28, 0x0000020 - -gUnk_08124F48:: @ 08124F48 - .incbin "baserom.gba", 0x124F48, 0x0000020 - -gUnk_08124F68:: @ 08124F68 - .incbin "baserom.gba", 0x124F68, 0x0000020 - -gUnk_08124F88:: @ 08124F88 - .incbin "baserom.gba", 0x124F88, 0x0000020 - -gUnk_08124FA8:: @ 08124FA8 - .incbin "baserom.gba", 0x124FA8, 0x0000020 - -gUnk_08124FC8:: @ 08124FC8 - .incbin "baserom.gba", 0x124FC8, 0x0000014 - -gUnk_08124FDC:: @ 08124FDC - .incbin "baserom.gba", 0x124FDC, 0x0000014 - -gUnk_08124FF0:: @ 08124FF0 - .incbin "baserom.gba", 0x124FF0, 0x0000020 - -gUnk_08125010:: @ 08125010 - .incbin "baserom.gba", 0x125010, 0x0000004 - -gUnk_08125014:: @ 08125014 - .incbin "baserom.gba", 0x125014, 0x0000028 - -gUnk_0812503C:: @ 0812503C - .incbin "baserom.gba", 0x12503C, 0x0000014 - -gUnk_08125050:: @ 08125050 - .incbin "baserom.gba", 0x125050, 0x000000C - -gUnk_0812505C:: @ 0812505C - .incbin "baserom.gba", 0x12505C, 0x000000C - -gUnk_08125068:: @ 08125068 - .incbin "baserom.gba", 0x125068, 0x0000014 - -gUnk_0812507C:: @ 0812507C - .incbin "baserom.gba", 0x12507C, 0x0000008 - -gUnk_08125084:: @ 08125084 - .incbin "baserom.gba", 0x125084, 0x0000080 - -gUnk_08125104:: @ 08125104 - .incbin "baserom.gba", 0x125104, 0x000000E - -gUnk_08125112:: @ 08125112 - .incbin "baserom.gba", 0x125112, 0x0000006 - -gUnk_08125118:: @ 08125118 - .incbin "baserom.gba", 0x125118, 0x00002C0 - -gUnk_081253D8:: @ 081253D8 - .incbin "baserom.gba", 0x1253D8, 0x0000020 - -gUnk_081253F8:: @ 081253F8 - .incbin "baserom.gba", 0x1253F8, 0x0000028 - -gUnk_08125420:: @ 08125420 - .incbin "baserom.gba", 0x125420, 0x0000018 - -gUnk_08125438:: @ 08125438 - .incbin "baserom.gba", 0x125438, 0x0000060 - -gUnk_08125498:: @ 08125498 - .incbin "baserom.gba", 0x125498, 0x0000050 - -gUnk_081254E8:: @ 081254E8 - .incbin "baserom.gba", 0x1254E8, 0x0000058 - -gUnk_08125540:: @ 08125540 - .incbin "baserom.gba", 0x125540, 0x0000118 - -gUnk_08125658:: @ 08125658 - .incbin "baserom.gba", 0x125658, 0x0000010 - -gUnk_08125668:: @ 08125668 - .incbin "baserom.gba", 0x125668, 0x0000030 - -gUnk_08125698:: @ 08125698 - .incbin "baserom.gba", 0x125698, 0x0000010 - -gUnk_081256A8:: @ 081256A8 - .incbin "baserom.gba", 0x1256A8, 0x0000028 - -gUnk_081256D0:: @ 081256D0 - .incbin "baserom.gba", 0x1256D0, 0x0000230 - -gUnk_08125900:: @ 08125900 - .incbin "baserom.gba", 0x125900, 0x0000018 - -gUnk_08125918:: @ 08125918 - .incbin "baserom.gba", 0x125918, 0x0000010 - -gUnk_08125928:: @ 08125928 - .incbin "baserom.gba", 0x125928, 0x0000018 - -gUnk_08125940:: @ 08125940 - .incbin "baserom.gba", 0x125940, 0x0000020 - -gUnk_08125960:: @ 08125960 - .incbin "baserom.gba", 0x125960, 0x0000048 - -gUnk_081259A8:: @ 081259A8 - .incbin "baserom.gba", 0x1259A8, 0x000006D - -gUnk_08125A15:: @ 08125A15 - .incbin "baserom.gba", 0x125A15, 0x00000EB - -gUnk_08125B00:: @ 08125B00 - .incbin "baserom.gba", 0x125B00, 0x0000020 - -gUnk_08125B20:: @ 08125B20 - .incbin "baserom.gba", 0x125B20, 0x0000030 - -gUnk_08125B50:: @ 08125B50 - .incbin "baserom.gba", 0x125B50, 0x0000020 - -gUnk_08125B70:: @ 08125B70 - .incbin "baserom.gba", 0x125B70, 0x00000A8 - -gUnk_08125C18:: @ 08125C18 - .incbin "baserom.gba", 0x125C18, 0x0000030 - -gUnk_08125C48:: @ 08125C48 - .incbin "baserom.gba", 0x125C48, 0x0000048 - -gUnk_08125C90:: @ 08125C90 - .incbin "baserom.gba", 0x125C90, 0x0000048 - -gUnk_08125CD8:: @ 08125CD8 - .incbin "baserom.gba", 0x125CD8, 0x0000090 - -gUnk_08125D68:: @ 08125D68 - .incbin "baserom.gba", 0x125D68, 0x0000048 - -gUnk_08125DB0:: @ 08125DB0 - .incbin "baserom.gba", 0x125DB0, 0x0000108 - -gUnk_08125EB8:: @ 08125EB8 - .incbin "baserom.gba", 0x125EB8, 0x0000018 - -gUnk_08125ED0:: @ 08125ED0 - .incbin "baserom.gba", 0x125ED0, 0x0000020 - -gUnk_08125EF0:: @ 08125EF0 - .incbin "baserom.gba", 0x125EF0, 0x0000020 - -gUnk_08125F10:: @ 08125F10 - .incbin "baserom.gba", 0x125F10, 0x0000010 - -gUnk_08125F20:: @ 08125F20 - .incbin "baserom.gba", 0x125F20, 0x0000018 - -gUnk_08125F38:: @ 08125F38 - .incbin "baserom.gba", 0x125F38, 0x0000010 - -gUnk_08125F48:: @ 08125F48 - .incbin "baserom.gba", 0x125F48, 0x0000030 - -gUnk_08125F78:: @ 08125F78 - .incbin "baserom.gba", 0x125F78, 0x0000018 - -gUnk_08125F90:: @ 08125F90 - .incbin "baserom.gba", 0x125F90, 0x0000010 - -gUnk_08125FA0:: @ 08125FA0 - .incbin "baserom.gba", 0x125FA0, 0x0000020 - -gUnk_08125FC0:: @ 08125FC0 - .incbin "baserom.gba", 0x125FC0, 0x0000028 - -gUnk_08125FE8:: @ 08125FE8 - .incbin "baserom.gba", 0x125FE8, 0x0000050 - -gUnk_08126038:: @ 08126038 - .incbin "baserom.gba", 0x126038, 0x0000018 - -gUnk_08126050:: @ 08126050 - .incbin "baserom.gba", 0x126050, 0x0000018 - -gUnk_08126068:: @ 08126068 - .incbin "baserom.gba", 0x126068, 0x0000040 - -gUnk_081260A8:: @ 081260A8 - .incbin "baserom.gba", 0x1260A8, 0x0000010 - -gUnk_081260B8:: @ 081260B8 - .incbin "baserom.gba", 0x1260B8, 0x0000058 - -gUnk_08126110:: @ 08126110 - .incbin "baserom.gba", 0x126110, 0x0000040 - -gUnk_08126150:: @ 08126150 - .incbin "baserom.gba", 0x126150, 0x0000030 - -gUnk_08126180:: @ 08126180 - .incbin "baserom.gba", 0x126180, 0x0000030 - -gUnk_081261B0:: @ 081261B0 - .incbin "baserom.gba", 0x1261B0, 0x0000018 - -gUnk_081261C8:: @ 081261C8 - .incbin "baserom.gba", 0x1261C8, 0x0000020 - -gUnk_081261E8:: @ 081261E8 - .incbin "baserom.gba", 0x1261E8, 0x0000010 - -gUnk_081261F8:: @ 081261F8 - .incbin "baserom.gba", 0x1261F8, 0x000001B - -gUnk_08126213:: @ 08126213 - .incbin "baserom.gba", 0x126213, 0x0000065 - -gUnk_08126278:: @ 08126278 - .incbin "baserom.gba", 0x126278, 0x0000020 - -gUnk_08126298:: @ 08126298 - .incbin "baserom.gba", 0x126298, 0x0000020 - -gUnk_081262B8:: @ 081262B8 - .incbin "baserom.gba", 0x1262B8, 0x0000018 - -gUnk_081262D0:: @ 081262D0 - .incbin "baserom.gba", 0x1262D0, 0x0000018 - -gUnk_081262E8:: @ 081262E8 - .incbin "baserom.gba", 0x1262E8, 0x0000048 - -gUnk_08126330:: @ 08126330 - .incbin "baserom.gba", 0x126330, 0x0000020 - -gUnk_08126350:: @ 08126350 - .incbin "baserom.gba", 0x126350, 0x0000010 - -gUnk_08126360:: @ 08126360 - .incbin "baserom.gba", 0x126360, 0x0000020 - -gUnk_08126380:: @ 08126380 - .incbin "baserom.gba", 0x126380, 0x0000028 - -gUnk_081263A8:: @ 081263A8 - .incbin "baserom.gba", 0x1263A8, 0x0000010 - -gUnk_081263B8:: @ 081263B8 - .incbin "baserom.gba", 0x1263B8, 0x0000010 - -gUnk_081263C8:: @ 081263C8 - .incbin "baserom.gba", 0x1263C8, 0x0000010 - -gUnk_081263D8:: @ 081263D8 - .incbin "baserom.gba", 0x1263D8, 0x0000010 - -gUnk_081263E8:: @ 081263E8 - .incbin "baserom.gba", 0x1263E8, 0x0000138 - -gUnk_08126520:: @ 08126520 - .incbin "baserom.gba", 0x126520, 0x000009C - -gUnk_081265BC:: @ 081265BC - .incbin "baserom.gba", 0x1265BC, 0x0000073 - -gUnk_0812662F:: @ 0812662F - .incbin "baserom.gba", 0x12662F, 0x0000169 - -gUnk_08126798:: @ 08126798 - .incbin "baserom.gba", 0x126798, 0x0000610 - -gUnk_08126DA8:: @ 08126DA8 - .incbin "baserom.gba", 0x126DA8, 0x00000C0 - -gUnk_08126E68:: @ 08126E68 - .incbin "baserom.gba", 0x126E68, 0x0000030 - -gUnk_08126E98:: @ 08126E98 - .incbin "baserom.gba", 0x126E98, 0x0000030 - -gUnk_08126EC8:: @ 08126EC8 - .incbin "baserom.gba", 0x126EC8, 0x0000010 - -gUnk_08126ED8:: @ 08126ED8 - .incbin "baserom.gba", 0x126ED8, 0x000000C - -gUnk_08126EE4:: @ 08126EE4 - .incbin "baserom.gba", 0x126EE4, 0x0000008 - -gUnk_08126EEC:: @ 08126EEC - .incbin "baserom.gba", 0x126EEC, 0x0000008 - -gUnk_08126EF4:: @ 08126EF4 - .incbin "baserom.gba", 0x126EF4, 0x0000004 - -gUnk_08126EF8:: @ 08126EF8 - .incbin "baserom.gba", 0x126EF8, 0x0000005 - -gUnk_08126EFD:: @ 08126EFD - .incbin "baserom.gba", 0x126EFD, 0x0000005 - -gUnk_08126F02:: @ 08126F02 - .incbin "baserom.gba", 0x126F02, 0x0000011 - -gUnk_08126F13:: @ 08126F13 - .incbin "baserom.gba", 0x126F13, 0x0000015 - -gUnk_08126F28:: @ 08126F28 - .incbin "baserom.gba", 0x126F28, 0x0000015 - -gUnk_08126F3D:: @ 08126F3D - .incbin "baserom.gba", 0x126F3D, 0x0000011 - -gUnk_08126F4E:: @ 08126F4E - .incbin "baserom.gba", 0x126F4E, 0x0000011 - -gUnk_08126F5F:: @ 08126F5F - .incbin "baserom.gba", 0x126F5F, 0x0000011 - -gUnk_08126F70:: @ 08126F70 - .incbin "baserom.gba", 0x126F70, 0x0000011 - -gUnk_08126F81:: @ 08126F81 - .incbin "baserom.gba", 0x126F81, 0x0000009 - -gUnk_08126F8A:: @ 08126F8A - .incbin "baserom.gba", 0x126F8A, 0x000000C - -gUnk_08126F96:: @ 08126F96 - .incbin "baserom.gba", 0x126F96, 0x000000D - -gUnk_08126FA3:: @ 08126FA3 - .incbin "baserom.gba", 0x126FA3, 0x0000010 - -gUnk_08126FB3:: @ 08126FB3 - .incbin "baserom.gba", 0x126FB3, 0x0000010 - -gUnk_08126FC3:: @ 08126FC3 - .incbin "baserom.gba", 0x126FC3, 0x0000021 - -gUnk_08126FE4:: @ 08126FE4 - .incbin "baserom.gba", 0x126FE4, 0x0000014 - -gUnk_08126FF8:: @ 08126FF8 - .incbin "baserom.gba", 0x126FF8, 0x0000021 - -gUnk_08127019:: @ 08127019 - .incbin "baserom.gba", 0x127019, 0x0000018 - -gUnk_08127031:: @ 08127031 - .incbin "baserom.gba", 0x127031, 0x0000015 - -gUnk_08127046:: @ 08127046 - .incbin "baserom.gba", 0x127046, 0x0000015 - -gUnk_0812705B:: @ 0812705B - .incbin "baserom.gba", 0x12705B, 0x000005C - -gUnk_081270B7:: @ 081270B7 - .incbin "baserom.gba", 0x1270B7, 0x0000029 - -gUnk_081270E0:: @ 081270E0 - .incbin "baserom.gba", 0x1270E0, 0x0000011 - -gUnk_081270F1:: @ 081270F1 - .incbin "baserom.gba", 0x1270F1, 0x0000005 - -gUnk_081270F6:: @ 081270F6 - .incbin "baserom.gba", 0x1270F6, 0x0000011 - -gUnk_08127107:: @ 08127107 - .incbin "baserom.gba", 0x127107, 0x0000011 - -gUnk_08127118:: @ 08127118 - .incbin "baserom.gba", 0x127118, 0x0000011 - -gUnk_08127129:: @ 08127129 - .incbin "baserom.gba", 0x127129, 0x0000011 - -gUnk_0812713A:: @ 0812713A - .incbin "baserom.gba", 0x12713A, 0x0000009 - -gUnk_08127143:: @ 08127143 - .incbin "baserom.gba", 0x127143, 0x0000009 - -gUnk_0812714C:: @ 0812714C - .incbin "baserom.gba", 0x12714C, 0x0000080 - -gUnk_081271CC:: @ 081271CC - .incbin "baserom.gba", 0x1271CC, 0x0000008 - -gUnk_081271D4:: @ 081271D4 - .incbin "baserom.gba", 0x1271D4, 0x0000008 - -gUnk_081271DC:: @ 081271DC - .incbin "baserom.gba", 0x1271DC, 0x0000044 - -gUnk_08127220:: @ 08127220 - .incbin "baserom.gba", 0x127220, 0x0000020 - -gUnk_08127240:: @ 08127240 - .incbin "baserom.gba", 0x127240, 0x0000010 - -gUnk_08127250:: @ 08127250 - .incbin "baserom.gba", 0x127250, 0x0000008 - -gUnk_08127258:: @ 08127258 - .incbin "baserom.gba", 0x127258, 0x0000008 - -gUnk_08127260:: @ 08127260 - .incbin "baserom.gba", 0x127260, 0x0000008 - -gUnk_08127268:: @ 08127268 - .incbin "baserom.gba", 0x127268, 0x0000008 - -gUnk_08127270:: @ 08127270 - .incbin "baserom.gba", 0x127270, 0x0000008 - -gUnk_08127278:: @ 08127278 - .incbin "baserom.gba", 0x127278, 0x0000008 - -gUnk_08127280:: @ 08127280 - .incbin "baserom.gba", 0x127280, 0x0000018 - -gUnk_08127298:: @ 08127298 - .incbin "baserom.gba", 0x127298, 0x0000018 - -gUnk_081272B0:: @ 081272B0 - .incbin "baserom.gba", 0x1272B0, 0x0000018 - -gUnk_081272C8:: @ 081272C8 - .incbin "baserom.gba", 0x1272C8, 0x0000018 - -gUnk_081272E0:: @ 081272E0 - .incbin "baserom.gba", 0x1272E0, 0x0000010 - -gUnk_081272F0:: @ 081272F0 - .incbin "baserom.gba", 0x1272F0, 0x0000354 - -gUnk_08127644:: @ 08127644 - .incbin "baserom.gba", 0x127644, 0x0000354 - -gUnk_08127998:: @ 08127998 - .incbin "baserom.gba", 0x127998, 0x0000354 - -gUnk_08127CEC:: @ 08127CEC - .incbin "baserom.gba", 0x127CEC, 0x0000014 - -gUnk_08127D00:: @ 08127D00 - .incbin "baserom.gba", 0x127D00, 0x0000010 - -gUnk_08127D10:: @ 08127D10 - .incbin "baserom.gba", 0x127D10, 0x0000020 - -gUnk_08127D30:: @ 08127D30 - .incbin "baserom.gba", 0x127D30, 0x0000264 - -gUnk_08127F94:: @ 08127F94 - .incbin "baserom.gba", 0x127F94, 0x0000090 - -gUnk_08128024:: @ 08128024 - .incbin "baserom.gba", 0x128024, 0x00000A0 - -gUnk_081280C4:: @ 081280C4 - .incbin "baserom.gba", 0x1280C4, 0x0000018 - -gUnk_081280DC:: @ 081280DC - .incbin "baserom.gba", 0x1280DC, 0x0000012 - -gUnk_081280EE:: @ 081280EE - .incbin "baserom.gba", 0x1280EE, 0x0000006 - -gUnk_081280F4:: @ 081280F4 - .incbin "baserom.gba", 0x1280F4, 0x000000C - -gUnk_08128100:: @ 08128100 - .incbin "baserom.gba", 0x128100, 0x0000010 - -gUnk_08128110:: @ 08128110 - .incbin "baserom.gba", 0x128110, 0x0000010 - -gUnk_08128120:: @ 08128120 - .incbin "baserom.gba", 0x128120, 0x000001C - -gUnk_0812813C:: @ 0812813C - .incbin "baserom.gba", 0x12813C, 0x0000010 - -gUnk_0812814C:: @ 0812814C - .incbin "baserom.gba", 0x12814C, 0x0000010 - -gUnk_0812815C:: @ 0812815C - .incbin "baserom.gba", 0x12815C, 0x0000010 - -gUnk_0812816C:: @ 0812816C - .incbin "baserom.gba", 0x12816C, 0x0000018 - -gUnk_08128184:: @ 08128184 - .incbin "baserom.gba", 0x128184, 0x000000C - -gUnk_08128190:: @ 08128190 - .incbin "baserom.gba", 0x128190, 0x0000018 - -gUnk_081281A8:: @ 081281A8 - .incbin "baserom.gba", 0x1281A8, 0x0000890 - -gUnk_08128A38:: @ 08128A38 - .incbin "baserom.gba", 0x128A38, 0x00000A0 - -gUnk_08128AD8:: @ 08128AD8 - .incbin "baserom.gba", 0x128AD8, 0x0000058 - -gUnk_08128B30:: @ 08128B30 - .incbin "baserom.gba", 0x128B30, 0x0000018 - -gUnk_08128B48:: @ 08128B48 - .incbin "baserom.gba", 0x128B48, 0x0000008 - -gUnk_08128B50:: @ 08128B50 - .incbin "baserom.gba", 0x128B50, 0x0000014 - -gUnk_08128B64:: @ 08128B64 - .incbin "baserom.gba", 0x128B64, 0x0000090 - -gUnk_08128BF4:: @ 08128BF4 - .incbin "baserom.gba", 0x128BF4, 0x0000004 - -gUnk_08128BF8:: @ 08128BF8 - .incbin "baserom.gba", 0x128BF8, 0x0000008 - -gUnk_08128C00:: @ 08128C00 - .incbin "baserom.gba", 0x128C00, 0x0000004 - -gUnk_08128C04:: @ 08128C04 - .incbin "baserom.gba", 0x128C04, 0x0000010 - -gUnk_08128C14:: @ 08128C14 - .incbin "baserom.gba", 0x128C14, 0x0000080 - -gUnk_08128C94:: @ 08128C94 - .incbin "baserom.gba", 0x128C94, 0x0000080 - -gUnk_08128D14:: @ 08128D14 - .incbin "baserom.gba", 0x128D14, 0x0000010 - -gUnk_08128D24:: @ 08128D24 - .incbin "baserom.gba", 0x128D24, 0x000000C - -gUnk_08128D30:: @ 08128D30 - .incbin "baserom.gba", 0x128D30, 0x0000008 - -gUnk_08128D38:: @ 08128D38 - .incbin "baserom.gba", 0x128D38, 0x0000004 - -gUnk_08128D3C:: @ 08128D3C - .incbin "baserom.gba", 0x128D3C, 0x0000007 - -gUnk_08128D43:: @ 08128D43 - .incbin "baserom.gba", 0x128D43, 0x000000E - -gUnk_08128D51:: @ 08128D51 - .incbin "baserom.gba", 0x128D51, 0x0000007 - -gUnk_08128D58:: @ 08128D58 - .incbin "baserom.gba", 0x128D58, 0x0000008 - -gUnk_08128D60:: @ 08128D60 - .incbin "baserom.gba", 0x128D60, 0x0000010 - -gUnk_08128D70:: @ 08128D70 - .incbin "baserom.gba", 0x128D70, 0x0000040 - -gUnk_08128DB0:: @ 08128DB0 - .incbin "baserom.gba", 0x128DB0, 0x0000008 - -gUnk_08128DB8:: @ 08128DB8 - .incbin "baserom.gba", 0x128DB8, 0x0000004 - -gUnk_08128DBC:: @ 08128DBC - .incbin "baserom.gba", 0x128DBC, 0x0000010 - -gUnk_08128DCC:: @ 08128DCC - .incbin "baserom.gba", 0x128DCC, 0x0000008 - -gUnk_08128DD4:: @ 08128DD4 - .incbin "baserom.gba", 0x128DD4, 0x0000004 - -gUnk_08128DD8:: @ 08128DD8 - .incbin "baserom.gba", 0x128DD8, 0x0000010 - -gUnk_08128DE8:: @ 08128DE8 - .incbin "baserom.gba", 0x128DE8, 0x0000088 - -gUnk_08128E70:: @ 08128E70 - .incbin "baserom.gba", 0x128E70, 0x0000008 - -gUnk_08128E78:: @ 08128E78 - .incbin "baserom.gba", 0x128E78, 0x0000008 - -gUnk_08128E80:: @ 08128E80 - .incbin "baserom.gba", 0x128E80, 0x0000004 - -gUnk_08128E84:: @ 08128E84 - .incbin "baserom.gba", 0x128E84, 0x0000010 - -gUnk_08128E94:: @ 08128E94 - .incbin "baserom.gba", 0x128E94, 0x0000088 - -gUnk_08128F1C:: @ 08128F1C - .incbin "baserom.gba", 0x128F1C, 0x0000008 - -gUnk_08128F24:: @ 08128F24 - .incbin "baserom.gba", 0x128F24, 0x0000014 - -gUnk_08128F38:: @ 08128F38 - .incbin "baserom.gba", 0x128F38, 0x0000014 - -gUnk_08128F4C:: @ 08128F4C - .incbin "baserom.gba", 0x128F4C, 0x000000C - -gUnk_08128F58:: @ 08128F58 - .incbin "baserom.gba", 0x128F58, 0x0000050 - -gUnk_08128FA8:: @ 08128FA8 - .incbin "baserom.gba", 0x128FA8, 0x0000018 - -gUnk_08128FC0:: @ 08128FC0 - .incbin "baserom.gba", 0x128FC0, 0x0000018 - -gUnk_08128FD8:: @ 08128FD8 - .incbin "baserom.gba", 0x128FD8, 0x0000018 - -gUnk_08128FF0:: @ 08128FF0 - .incbin "baserom.gba", 0x128FF0, 0x0000014 - -gUnk_08129004:: @ 08129004 - .incbin "baserom.gba", 0x129004, 0x0000018 - -gUnk_0812901C:: @ 0812901C - .incbin "baserom.gba", 0x12901C, 0x0000014 - -gUnk_08129030:: @ 08129030 - .incbin "baserom.gba", 0x129030, 0x000002C - -gUnk_0812905C:: @ 0812905C - .incbin "baserom.gba", 0x12905C, 0x000000C - -gUnk_08129068:: @ 08129068 - .incbin "baserom.gba", 0x129068, 0x0000004 - -gUnk_0812906C:: @ 0812906C - .incbin "baserom.gba", 0x12906C, 0x0000006 - -gUnk_08129072:: @ 08129072 - .incbin "baserom.gba", 0x129072, 0x000001C - -gUnk_0812908E:: @ 0812908E - .incbin "baserom.gba", 0x12908E, 0x0000008 - -gUnk_08129096:: @ 08129096 - .incbin "baserom.gba", 0x129096, 0x000024C - -gUnk_081292E2:: @ 081292E2 - .incbin "baserom.gba", 0x1292E2, 0x000003E - -gUnk_08129320:: @ 08129320 - .incbin "baserom.gba", 0x129320, 0x0000098 - -gUnk_081293B8:: @ 081293B8 - .incbin "baserom.gba", 0x1293B8, 0x0000014 - -gUnk_081293CC:: @ 081293CC - .incbin "baserom.gba", 0x1293CC, 0x0000014 - -gUnk_081293E0:: @ 081293E0 - .incbin "baserom.gba", 0x1293E0, 0x0000010 - -gUnk_081293F0:: @ 081293F0 - .incbin "baserom.gba", 0x1293F0, 0x0000010 - -gUnk_08129400:: @ 08129400 - .incbin "baserom.gba", 0x129400, 0x0000010 - -gUnk_08129410:: @ 08129410 - .incbin "baserom.gba", 0x129410, 0x0000010 - -gUnk_08129420:: @ 08129420 - .incbin "baserom.gba", 0x129420, 0x0000010 - -gUnk_08129430:: @ 08129430 - .incbin "baserom.gba", 0x129430, 0x0000008 - -gUnk_08129438:: @ 08129438 - .incbin "baserom.gba", 0x129438, 0x0000008 - -gUnk_08129440:: @ 08129440 - .incbin "baserom.gba", 0x129440, 0x0000008 - -gUnk_08129448:: @ 08129448 - .incbin "baserom.gba", 0x129448, 0x0000008 - -gUnk_08129450:: @ 08129450 - .incbin "baserom.gba", 0x129450, 0x0000008 - -gUnk_08129458:: @ 08129458 - .incbin "baserom.gba", 0x129458, 0x0000008 - -gUnk_08129460:: @ 08129460 - .incbin "baserom.gba", 0x129460, 0x0000018 - -gUnk_08129478:: @ 08129478 - .incbin "baserom.gba", 0x129478, 0x0000008 - -gUnk_08129480:: @ 08129480 - .incbin "baserom.gba", 0x129480, 0x0000008 - -gUnk_08129488:: @ 08129488 - .incbin "baserom.gba", 0x129488, 0x0000008 - -gUnk_08129490:: @ 08129490 - .incbin "baserom.gba", 0x129490, 0x0000008 - -gUnk_08129498:: @ 08129498 - .incbin "baserom.gba", 0x129498, 0x0000008 - -gUnk_081294A0:: @ 081294A0 - .incbin "baserom.gba", 0x1294A0, 0x0000008 - -gUnk_081294A8:: @ 081294A8 - .incbin "baserom.gba", 0x1294A8, 0x0000018 - -gUnk_081294C0:: @ 081294C0 - .incbin "baserom.gba", 0x1294C0, 0x0000008 - -gUnk_081294C8:: @ 081294C8 - .incbin "baserom.gba", 0x1294C8, 0x0000008 - -gUnk_081294D0:: @ 081294D0 - .incbin "baserom.gba", 0x1294D0, 0x0000008 - -gUnk_081294D8:: @ 081294D8 - .incbin "baserom.gba", 0x1294D8, 0x0000008 - -gUnk_081294E0:: @ 081294E0 - .incbin "baserom.gba", 0x1294E0, 0x0000008 - -gUnk_081294E8:: @ 081294E8 - .incbin "baserom.gba", 0x1294E8, 0x0000008 - -gUnk_081294F0:: @ 081294F0 - .incbin "baserom.gba", 0x1294F0, 0x0000018 - -gUnk_08129508:: @ 08129508 - .incbin "baserom.gba", 0x129508, 0x0000008 - -gUnk_08129510:: @ 08129510 - .incbin "baserom.gba", 0x129510, 0x0000008 - -gUnk_08129518:: @ 08129518 - .incbin "baserom.gba", 0x129518, 0x0000008 - -gUnk_08129520:: @ 08129520 - .incbin "baserom.gba", 0x129520, 0x0000008 - -gUnk_08129528:: @ 08129528 - .incbin "baserom.gba", 0x129528, 0x0000008 - -gUnk_08129530:: @ 08129530 - .incbin "baserom.gba", 0x129530, 0x0000008 - -gUnk_08129538:: @ 08129538 - .incbin "baserom.gba", 0x129538, 0x0000018 - -gUnk_08129550:: @ 08129550 - .incbin "baserom.gba", 0x129550, 0x0000008 - -gUnk_08129558:: @ 08129558 - .incbin "baserom.gba", 0x129558, 0x0000008 - -gUnk_08129560:: @ 08129560 - .incbin "baserom.gba", 0x129560, 0x0000008 - -gUnk_08129568:: @ 08129568 - .incbin "baserom.gba", 0x129568, 0x0000008 - -gUnk_08129570:: @ 08129570 - .incbin "baserom.gba", 0x129570, 0x0000008 - -gUnk_08129578:: @ 08129578 - .incbin "baserom.gba", 0x129578, 0x0000008 - -gUnk_08129580:: @ 08129580 - .incbin "baserom.gba", 0x129580, 0x0000008 - -gUnk_08129588:: @ 08129588 - .incbin "baserom.gba", 0x129588, 0x0000008 - -gUnk_08129590:: @ 08129590 - .incbin "baserom.gba", 0x129590, 0x0000008 - -gUnk_08129598:: @ 08129598 - .incbin "baserom.gba", 0x129598, 0x0000008 - -gUnk_081295A0:: @ 081295A0 - .incbin "baserom.gba", 0x1295A0, 0x0000008 - -gUnk_081295A8:: @ 081295A8 - .incbin "baserom.gba", 0x1295A8, 0x0000008 - -gUnk_081295B0:: @ 081295B0 - .incbin "baserom.gba", 0x1295B0, 0x0000008 - -gUnk_081295B8:: @ 081295B8 - .incbin "baserom.gba", 0x1295B8, 0x0000008 - -gUnk_081295C0:: @ 081295C0 - .incbin "baserom.gba", 0x1295C0, 0x0000008 - -gUnk_081295C8:: @ 081295C8 - .incbin "baserom.gba", 0x1295C8, 0x0000008 - -gUnk_081295D0:: @ 081295D0 - .incbin "baserom.gba", 0x1295D0, 0x0000014 - -gUnk_081295E4:: @ 081295E4 - .incbin "baserom.gba", 0x1295E4, 0x0000010 - -gUnk_081295F4:: @ 081295F4 - .incbin "baserom.gba", 0x1295F4, 0x0000010 - -gUnk_08129604:: @ 08129604 - .incbin "baserom.gba", 0x129604, 0x0000008 - -gUnk_0812960C:: @ 0812960C - .incbin "baserom.gba", 0x12960C, 0x0000014 - -gUnk_08129620:: @ 08129620 - .incbin "baserom.gba", 0x129620, 0x0000014 - -gUnk_08129634:: @ 08129634 - .incbin "baserom.gba", 0x129634, 0x0000014 - -gUnk_08129648:: @ 08129648 - .incbin "baserom.gba", 0x129648, 0x0000008 - -gUnk_08129650:: @ 08129650 - .incbin "baserom.gba", 0x129650, 0x0000014 - -gUnk_08129664:: @ 08129664 - .incbin "baserom.gba", 0x129664, 0x0000008 - -gUnk_0812966C:: @ 0812966C - .incbin "baserom.gba", 0x12966C, 0x0000084 - -gUnk_081296F0:: @ 081296F0 - .incbin "baserom.gba", 0x1296F0, 0x0000014 - -gUnk_08129704:: @ 08129704 - .incbin "baserom.gba", 0x129704, 0x0000014 - -gUnk_08129718:: @ 08129718 - .incbin "baserom.gba", 0x129718, 0x0000014 - -gUnk_0812972C:: @ 0812972C - .incbin "baserom.gba", 0x12972C, 0x0000008 - -gUnk_08129734:: @ 08129734 - .incbin "baserom.gba", 0x129734, 0x000000C - -gUnk_08129740:: @ 08129740 - .incbin "baserom.gba", 0x129740, 0x0000014 - -gUnk_08129754:: @ 08129754 - .incbin "baserom.gba", 0x129754, 0x0000010 - -gUnk_08129764:: @ 08129764 - .incbin "baserom.gba", 0x129764, 0x000000C - -gUnk_08129770:: @ 08129770 - .incbin "baserom.gba", 0x129770, 0x0000005 - -gUnk_08129775:: @ 08129775 - .incbin "baserom.gba", 0x129775, 0x000001B - -gUnk_08129790:: @ 08129790 - .incbin "baserom.gba", 0x129790, 0x000000C - -gUnk_0812979C:: @ 0812979C - .incbin "baserom.gba", 0x12979C, 0x0000010 - -gUnk_081297AC:: @ 081297AC - .incbin "baserom.gba", 0x1297AC, 0x0000009 - -gUnk_081297B5:: @ 081297B5 - .incbin "baserom.gba", 0x1297B5, 0x0000009 - -gUnk_081297BE:: @ 081297BE - .incbin "baserom.gba", 0x1297BE, 0x0000009 - -gUnk_081297C7:: @ 081297C7 - .incbin "baserom.gba", 0x1297C7, 0x0000009 - -gUnk_081297D0:: @ 081297D0 - .incbin "baserom.gba", 0x1297D0, 0x0000005 - -gUnk_081297D5:: @ 081297D5 - .incbin "baserom.gba", 0x1297D5, 0x0000005 - -gUnk_081297DA:: @ 081297DA - .incbin "baserom.gba", 0x1297DA, 0x0000005 - -gUnk_081297DF:: @ 081297DF - .incbin "baserom.gba", 0x1297DF, 0x0000005 - -gUnk_081297E4:: @ 081297E4 - .incbin "baserom.gba", 0x1297E4, 0x0000005 - -gUnk_081297E9:: @ 081297E9 - .incbin "baserom.gba", 0x1297E9, 0x0000005 - -gUnk_081297EE:: @ 081297EE - .incbin "baserom.gba", 0x1297EE, 0x0000005 - -gUnk_081297F3:: @ 081297F3 - .incbin "baserom.gba", 0x1297F3, 0x0000005 - -gUnk_081297F8:: @ 081297F8 - .incbin "baserom.gba", 0x1297F8, 0x0000034 - -gUnk_0812982C:: @ 0812982C - .incbin "baserom.gba", 0x12982C, 0x0000010 - -gUnk_0812983C:: @ 0812983C - .incbin "baserom.gba", 0x12983C, 0x0000009 - -gUnk_08129845:: @ 08129845 - .incbin "baserom.gba", 0x129845, 0x0000009 - -gUnk_0812984E:: @ 0812984E - .incbin "baserom.gba", 0x12984E, 0x0000009 - -gUnk_08129857:: @ 08129857 - .incbin "baserom.gba", 0x129857, 0x0000009 - -gUnk_08129860:: @ 08129860 - .incbin "baserom.gba", 0x129860, 0x000000D - -gUnk_0812986D:: @ 0812986D - .incbin "baserom.gba", 0x12986D, 0x000000D - -gUnk_0812987A:: @ 0812987A - .incbin "baserom.gba", 0x12987A, 0x000000D - -gUnk_08129887:: @ 08129887 - .incbin "baserom.gba", 0x129887, 0x000000D - -gUnk_08129894:: @ 08129894 - .incbin "baserom.gba", 0x129894, 0x0000024 - -gUnk_081298B8:: @ 081298B8 - .incbin "baserom.gba", 0x1298B8, 0x0000010 - -gUnk_081298C8:: @ 081298C8 - .incbin "baserom.gba", 0x1298C8, 0x0000009 - -gUnk_081298D1:: @ 081298D1 - .incbin "baserom.gba", 0x1298D1, 0x0000009 - -gUnk_081298DA:: @ 081298DA - .incbin "baserom.gba", 0x1298DA, 0x0000009 - -gUnk_081298E3:: @ 081298E3 - .incbin "baserom.gba", 0x1298E3, 0x0000009 - -gUnk_081298EC:: @ 081298EC - .incbin "baserom.gba", 0x1298EC, 0x0000011 - -gUnk_081298FD:: @ 081298FD - .incbin "baserom.gba", 0x1298FD, 0x0000011 - -gUnk_0812990E:: @ 0812990E - .incbin "baserom.gba", 0x12990E, 0x0000011 - -gUnk_0812991F:: @ 0812991F - .incbin "baserom.gba", 0x12991F, 0x0000011 - -gUnk_08129930:: @ 08129930 - .incbin "baserom.gba", 0x129930, 0x0000024 - -gUnk_08129954:: @ 08129954 - .incbin "baserom.gba", 0x129954, 0x0000014 - -gUnk_08129968:: @ 08129968 - .incbin "baserom.gba", 0x129968, 0x0000010 - -gUnk_08129978:: @ 08129978 - .incbin "baserom.gba", 0x129978, 0x0000008 - -gUnk_08129980:: @ 08129980 - .incbin "baserom.gba", 0x129980, 0x0000008 - -gUnk_08129988:: @ 08129988 - .incbin "baserom.gba", 0x129988, 0x0000010 - -gUnk_08129998:: @ 08129998 - .incbin "baserom.gba", 0x129998, 0x0000010 - -gUnk_081299A8:: @ 081299A8 - .incbin "baserom.gba", 0x1299A8, 0x0000008 - -gUnk_081299B0:: @ 081299B0 - .incbin "baserom.gba", 0x1299B0, 0x0000008 - -gUnk_081299B8:: @ 081299B8 - .incbin "baserom.gba", 0x1299B8, 0x0000008 - -gUnk_081299C0:: @ 081299C0 - .incbin "baserom.gba", 0x1299C0, 0x0000008 - -gUnk_081299C8:: @ 081299C8 - .incbin "baserom.gba", 0x1299C8, 0x0000008 - -gUnk_081299D0:: @ 081299D0 - .incbin "baserom.gba", 0x1299D0, 0x0000014 - -gUnk_081299E4:: @ 081299E4 - .incbin "baserom.gba", 0x1299E4, 0x0000014 - -gUnk_081299F8:: @ 081299F8 - .incbin "baserom.gba", 0x1299F8, 0x0000020 - -gUnk_08129A18:: @ 08129A18 - .incbin "baserom.gba", 0x129A18, 0x0000008 - -gUnk_08129A20:: @ 08129A20 - .incbin "baserom.gba", 0x129A20, 0x0000008 - -gUnk_08129A28:: @ 08129A28 - .incbin "baserom.gba", 0x129A28, 0x0000005 - -gUnk_08129A2D:: @ 08129A2D - .incbin "baserom.gba", 0x129A2D, 0x0000005 - -gUnk_08129A32:: @ 08129A32 - .incbin "baserom.gba", 0x129A32, 0x0000011 - -gUnk_08129A43:: @ 08129A43 - .incbin "baserom.gba", 0x129A43, 0x0000011 - -gUnk_08129A54:: @ 08129A54 - .incbin "baserom.gba", 0x129A54, 0x0000010 - -gUnk_08129A64:: @ 08129A64 - .incbin "baserom.gba", 0x129A64, 0x000000C - -gUnk_08129A70:: @ 08129A70 - .incbin "baserom.gba", 0x129A70, 0x0000019 - -gUnk_08129A89:: @ 08129A89 - .incbin "baserom.gba", 0x129A89, 0x0000027 - -gUnk_08129AB0:: @ 08129AB0 - .incbin "baserom.gba", 0x129AB0, 0x000000C - -gUnk_08129ABC:: @ 08129ABC - .incbin "baserom.gba", 0x129ABC, 0x0000014 - -gUnk_08129AD0:: @ 08129AD0 - .incbin "baserom.gba", 0x129AD0, 0x000000C - -gUnk_08129ADC:: @ 08129ADC - .incbin "baserom.gba", 0x129ADC, 0x0000004 - -gUnk_08129AE0:: @ 08129AE0 - .incbin "baserom.gba", 0x129AE0, 0x0000018 - -gUnk_08129AF8:: @ 08129AF8 - .incbin "baserom.gba", 0x129AF8, 0x0000010 - -gUnk_08129B08:: @ 08129B08 - .incbin "baserom.gba", 0x129B08, 0x0000018 - -gUnk_08129B20:: @ 08129B20 - .incbin "baserom.gba", 0x129B20, 0x0000030 - -gUnk_08129B50:: @ 08129B50 - .incbin "baserom.gba", 0x129B50, 0x0000008 - -gUnk_08129B58:: @ 08129B58 - .incbin "baserom.gba", 0x129B58, 0x0000018 - -gUnk_08129B70:: @ 08129B70 - .incbin "baserom.gba", 0x129B70, 0x0000008 - -gUnk_08129B78:: @ 08129B78 - .incbin "baserom.gba", 0x129B78, 0x000000C - -gUnk_08129B84:: @ 08129B84 - .incbin "baserom.gba", 0x129B84, 0x0000011 - -gUnk_08129B95:: @ 08129B95 - .incbin "baserom.gba", 0x129B95, 0x0000011 - -gUnk_08129BA6:: @ 08129BA6 - .incbin "baserom.gba", 0x129BA6, 0x0000011 - -gUnk_08129BB7:: @ 08129BB7 - .incbin "baserom.gba", 0x129BB7, 0x0000011 - -gUnk_08129BC8:: @ 08129BC8 - .incbin "baserom.gba", 0x129BC8, 0x0000024 - -gUnk_08129BEC:: @ 08129BEC - .incbin "baserom.gba", 0x129BEC, 0x0000014 - -gUnk_08129C00:: @ 08129C00 - .incbin "baserom.gba", 0x129C00, 0x0000008 - -gUnk_08129C08:: @ 08129C08 - .incbin "baserom.gba", 0x129C08, 0x000006C - -gUnk_08129C74:: @ 08129C74 - .incbin "baserom.gba", 0x129C74, 0x0000008 - -gUnk_08129C7C:: @ 08129C7C - .incbin "baserom.gba", 0x129C7C, 0x0000014 - -gUnk_08129C90:: @ 08129C90 - .incbin "baserom.gba", 0x129C90, 0x0000014 - -gUnk_08129CA4:: @ 08129CA4 - .incbin "baserom.gba", 0x129CA4, 0x0000008 - -gUnk_08129CAC:: @ 08129CAC - .incbin "baserom.gba", 0x129CAC, 0x0000008 - -gUnk_08129CB4:: @ 08129CB4 - .incbin "baserom.gba", 0x129CB4, 0x0000008 - -gUnk_08129CBC:: @ 08129CBC - .incbin "baserom.gba", 0x129CBC, 0x0000008 - -gUnk_08129CC4:: @ 08129CC4 - .incbin "baserom.gba", 0x129CC4, 0x0000008 - -gUnk_08129CCC:: @ 08129CCC - .incbin "baserom.gba", 0x129CCC, 0x0000008 - -gUnk_08129CD4:: @ 08129CD4 - .incbin "baserom.gba", 0x129CD4, 0x0000008 - -gUnk_08129CDC:: @ 08129CDC - .incbin "baserom.gba", 0x129CDC, 0x0000008 - -gUnk_08129CE4:: @ 08129CE4 - .incbin "baserom.gba", 0x129CE4, 0x0000008 - -gUnk_08129CEC:: @ 08129CEC - .incbin "baserom.gba", 0x129CEC, 0x0000008 - -gUnk_08129CF4:: @ 08129CF4 - .incbin "baserom.gba", 0x129CF4, 0x0000020 - -gUnk_08129D14:: @ 08129D14 - .incbin "baserom.gba", 0x129D14, 0x0000008 - -gUnk_08129D1C:: @ 08129D1C - .incbin "baserom.gba", 0x129D1C, 0x0000005 - -gUnk_08129D21:: @ 08129D21 - .incbin "baserom.gba", 0x129D21, 0x0000005 - -gUnk_08129D26:: @ 08129D26 - .incbin "baserom.gba", 0x129D26, 0x0000005 - -gUnk_08129D2B:: @ 08129D2B - .incbin "baserom.gba", 0x129D2B, 0x0000005 - -gUnk_08129D30:: @ 08129D30 - .incbin "baserom.gba", 0x129D30, 0x0000005 - -gUnk_08129D35:: @ 08129D35 - .incbin "baserom.gba", 0x129D35, 0x0000005 - -gUnk_08129D3A:: @ 08129D3A - .incbin "baserom.gba", 0x129D3A, 0x0000005 - -gUnk_08129D3F:: @ 08129D3F - .incbin "baserom.gba", 0x129D3F, 0x0000005 - -gUnk_08129D44:: @ 08129D44 - .incbin "baserom.gba", 0x129D44, 0x0000011 - -gUnk_08129D55:: @ 08129D55 - .incbin "baserom.gba", 0x129D55, 0x0000011 - -gUnk_08129D66:: @ 08129D66 - .incbin "baserom.gba", 0x129D66, 0x0000011 - -gUnk_08129D77:: @ 08129D77 - .incbin "baserom.gba", 0x129D77, 0x0000011 - -gUnk_08129D88:: @ 08129D88 - .incbin "baserom.gba", 0x129D88, 0x0000011 - -gUnk_08129D99:: @ 08129D99 - .incbin "baserom.gba", 0x129D99, 0x0000011 - -gUnk_08129DAA:: @ 08129DAA - .incbin "baserom.gba", 0x129DAA, 0x0000011 - -gUnk_08129DBB:: @ 08129DBB - .incbin "baserom.gba", 0x129DBB, 0x0000011 - -gUnk_08129DCC:: @ 08129DCC - .incbin "baserom.gba", 0x129DCC, 0x000000C - -gUnk_08129DD8:: @ 08129DD8 - .incbin "baserom.gba", 0x129DD8, 0x000000C - -gUnk_08129DE4:: @ 08129DE4 - .incbin "baserom.gba", 0x129DE4, 0x000000C - -gUnk_08129DF0:: @ 08129DF0 - .incbin "baserom.gba", 0x129DF0, 0x000000C - -gUnk_08129DFC:: @ 08129DFC - .incbin "baserom.gba", 0x129DFC, 0x000000C - -gUnk_08129E08:: @ 08129E08 - .incbin "baserom.gba", 0x129E08, 0x000000C - -gUnk_08129E14:: @ 08129E14 - .incbin "baserom.gba", 0x129E14, 0x000000C - -gUnk_08129E20:: @ 08129E20 - .incbin "baserom.gba", 0x129E20, 0x000000C - -gUnk_08129E2C:: @ 08129E2C - .incbin "baserom.gba", 0x129E2C, 0x0000021 - -gUnk_08129E4D:: @ 08129E4D - .incbin "baserom.gba", 0x129E4D, 0x0000021 - -gUnk_08129E6E:: @ 08129E6E - .incbin "baserom.gba", 0x129E6E, 0x0000021 - -gUnk_08129E8F:: @ 08129E8F - .incbin "baserom.gba", 0x129E8F, 0x0000021 - -gUnk_08129EB0:: @ 08129EB0 - .incbin "baserom.gba", 0x129EB0, 0x0000021 - -gUnk_08129ED1:: @ 08129ED1 - .incbin "baserom.gba", 0x129ED1, 0x0000021 - -gUnk_08129EF2:: @ 08129EF2 - .incbin "baserom.gba", 0x129EF2, 0x0000021 - -gUnk_08129F13:: @ 08129F13 - .incbin "baserom.gba", 0x129F13, 0x0000021 - -gUnk_08129F34:: @ 08129F34 - .incbin "baserom.gba", 0x129F34, 0x0000084 - -gUnk_08129FB8:: @ 08129FB8 - .incbin "baserom.gba", 0x129FB8, 0x0000018 - -gUnk_08129FD0:: @ 08129FD0 - .incbin "baserom.gba", 0x129FD0, 0x0000014 - -gUnk_08129FE4:: @ 08129FE4 - .incbin "baserom.gba", 0x129FE4, 0x0000014 - -gUnk_08129FF8:: @ 08129FF8 - .incbin "baserom.gba", 0x129FF8, 0x000000C - -gUnk_0812A004:: @ 0812A004 - .incbin "baserom.gba", 0x12A004, 0x0000010 - -gUnk_0812A014:: @ 0812A014 - .incbin "baserom.gba", 0x12A014, 0x0000018 - -gUnk_0812A02C:: @ 0812A02C - .incbin "baserom.gba", 0x12A02C, 0x0000010 - -gUnk_0812A03C:: @ 0812A03C - .incbin "baserom.gba", 0x12A03C, 0x0000010 - -gUnk_0812A04C:: @ 0812A04C - .incbin "baserom.gba", 0x12A04C, 0x0000010 - -gUnk_0812A05C:: @ 0812A05C - .incbin "baserom.gba", 0x12A05C, 0x0000008 - -gUnk_0812A064:: @ 0812A064 - .incbin "baserom.gba", 0x12A064, 0x0000008 - -gUnk_0812A06C:: @ 0812A06C - .incbin "baserom.gba", 0x12A06C, 0x0000008 - -gUnk_0812A074:: @ 0812A074 - .incbin "baserom.gba", 0x12A074, 0x0000010 - -gUnk_0812A084:: @ 0812A084 - .incbin "baserom.gba", 0x12A084, 0x0000008 - -gUnk_0812A08C:: @ 0812A08C - .incbin "baserom.gba", 0x12A08C, 0x0000004 - -gUnk_0812A090:: @ 0812A090 - .incbin "baserom.gba", 0x12A090, 0x0000004 - -gUnk_0812A094:: @ 0812A094 - .incbin "baserom.gba", 0x12A094, 0x0000004 - -gUnk_0812A098:: @ 0812A098 - .incbin "baserom.gba", 0x12A098, 0x0000004 - -gUnk_0812A09C:: @ 0812A09C - .incbin "baserom.gba", 0x12A09C, 0x000000C - -gUnk_0812A0A8:: @ 0812A0A8 - .incbin "baserom.gba", 0x12A0A8, 0x000000C - -gUnk_0812A0B4:: @ 0812A0B4 - .incbin "baserom.gba", 0x12A0B4, 0x000000C - -gUnk_0812A0C0:: @ 0812A0C0 - .incbin "baserom.gba", 0x12A0C0, 0x000000C - -gUnk_0812A0CC:: @ 0812A0CC - .incbin "baserom.gba", 0x12A0CC, 0x0000048 - -gUnk_0812A114:: @ 0812A114 - .incbin "baserom.gba", 0x12A114, 0x0000048 - -gUnk_0812A15C:: @ 0812A15C - .incbin "baserom.gba", 0x12A15C, 0x0000048 - -gUnk_0812A1A4:: @ 0812A1A4 - .incbin "baserom.gba", 0x12A1A4, 0x0000048 - -gUnk_0812A1EC:: @ 0812A1EC - .incbin "baserom.gba", 0x12A1EC, 0x0000024 - -gUnk_0812A210:: @ 0812A210 - .incbin "baserom.gba", 0x12A210, 0x0000024 - -gUnk_0812A234:: @ 0812A234 - .incbin "baserom.gba", 0x12A234, 0x0000024 - -gUnk_0812A258:: @ 0812A258 - .incbin "baserom.gba", 0x12A258, 0x0000024 - -gUnk_0812A27C:: @ 0812A27C - .incbin "baserom.gba", 0x12A27C, 0x000003C - -gUnk_0812A2B8:: @ 0812A2B8 - .incbin "baserom.gba", 0x12A2B8, 0x000003C - -gUnk_0812A2F4:: @ 0812A2F4 - .incbin "baserom.gba", 0x12A2F4, 0x000003C - -gUnk_0812A330:: @ 0812A330 - .incbin "baserom.gba", 0x12A330, 0x000003C - -gUnk_0812A36C:: @ 0812A36C - .incbin "baserom.gba", 0x12A36C, 0x0000054 - -gUnk_0812A3C0:: @ 0812A3C0 - .incbin "baserom.gba", 0x12A3C0, 0x0000014 - -gUnk_0812A3D4:: @ 0812A3D4 - .incbin "baserom.gba", 0x12A3D4, 0x000000C - -gUnk_0812A3E0:: @ 0812A3E0 - .incbin "baserom.gba", 0x12A3E0, 0x0000014 - -gUnk_0812A3F4:: @ 0812A3F4 - .incbin "baserom.gba", 0x12A3F4, 0x0000008 - -gUnk_0812A3FC:: @ 0812A3FC - .incbin "baserom.gba", 0x12A3FC, 0x0000014 - -gUnk_0812A410:: @ 0812A410 - .incbin "baserom.gba", 0x12A410, 0x0000008 - -gUnk_0812A418:: @ 0812A418 - .incbin "baserom.gba", 0x12A418, 0x0000018 - -gUnk_0812A430:: @ 0812A430 - .incbin "baserom.gba", 0x12A430, 0x0000010 - -gUnk_0812A440:: @ 0812A440 - .incbin "baserom.gba", 0x12A440, 0x000000C - -gUnk_0812A44C:: @ 0812A44C - .incbin "baserom.gba", 0x12A44C, 0x0000021 - -gUnk_0812A46D:: @ 0812A46D - .incbin "baserom.gba", 0x12A46D, 0x000001B - -gUnk_0812A488:: @ 0812A488 - .incbin "baserom.gba", 0x12A488, 0x000000C - -gUnk_0812A494:: @ 0812A494 - .incbin "baserom.gba", 0x12A494, 0x0000014 - -gUnk_0812A4A8:: @ 0812A4A8 - .incbin "baserom.gba", 0x12A4A8, 0x0000020 - -gUnk_0812A4C8:: @ 0812A4C8 - .incbin "baserom.gba", 0x12A4C8, 0x0000014 - -gUnk_0812A4DC:: @ 0812A4DC - .incbin "baserom.gba", 0x12A4DC, 0x0000010 - -gUnk_0812A4EC:: @ 0812A4EC - .incbin "baserom.gba", 0x12A4EC, 0x00000A0 - -gUnk_0812A58C:: @ 0812A58C - .incbin "baserom.gba", 0x12A58C, 0x0000014 - -gUnk_0812A5A0:: @ 0812A5A0 - .incbin "baserom.gba", 0x12A5A0, 0x000000C - -gUnk_0812A5AC:: @ 0812A5AC - .incbin "baserom.gba", 0x12A5AC, 0x000000D - -gUnk_0812A5B9:: @ 0812A5B9 - .incbin "baserom.gba", 0x12A5B9, 0x000000D - -gUnk_0812A5C6:: @ 0812A5C6 - .incbin "baserom.gba", 0x12A5C6, 0x000000E - -gUnk_0812A5D4:: @ 0812A5D4 - .incbin "baserom.gba", 0x12A5D4, 0x0000014 - -gUnk_0812A5E8:: @ 0812A5E8 - .incbin "baserom.gba", 0x12A5E8, 0x000000C - -gUnk_0812A5F4:: @ 0812A5F4 - .incbin "baserom.gba", 0x12A5F4, 0x0000020 - -gUnk_0812A614:: @ 0812A614 - .incbin "baserom.gba", 0x12A614, 0x0000008 - -gUnk_0812A61C:: @ 0812A61C - .incbin "baserom.gba", 0x12A61C, 0x0000008 - -gUnk_0812A624:: @ 0812A624 - .incbin "baserom.gba", 0x12A624, 0x0000008 - -gUnk_0812A62C:: @ 0812A62C - .incbin "baserom.gba", 0x12A62C, 0x0000008 - -gUnk_0812A634:: @ 0812A634 - .incbin "baserom.gba", 0x12A634, 0x0000008 - -gUnk_0812A63C:: @ 0812A63C - .incbin "baserom.gba", 0x12A63C, 0x0000020 - -gUnk_0812A65C:: @ 0812A65C - .incbin "baserom.gba", 0x12A65C, 0x0000009 - -gUnk_0812A665:: @ 0812A665 - .incbin "baserom.gba", 0x12A665, 0x0000009 - -gUnk_0812A66E:: @ 0812A66E - .incbin "baserom.gba", 0x12A66E, 0x0000009 - -gUnk_0812A677:: @ 0812A677 - .incbin "baserom.gba", 0x12A677, 0x0000009 - -gUnk_0812A680:: @ 0812A680 - .incbin "baserom.gba", 0x12A680, 0x0000009 - -gUnk_0812A689:: @ 0812A689 - .incbin "baserom.gba", 0x12A689, 0x000000B - -gUnk_0812A694:: @ 0812A694 - .incbin "baserom.gba", 0x12A694, 0x0000020 - -gUnk_0812A6B4:: @ 0812A6B4 - .incbin "baserom.gba", 0x12A6B4, 0x0000008 - -gUnk_0812A6BC:: @ 0812A6BC - .incbin "baserom.gba", 0x12A6BC, 0x0000008 - -gUnk_0812A6C4:: @ 0812A6C4 - .incbin "baserom.gba", 0x12A6C4, 0x0000008 - -gUnk_0812A6CC:: @ 0812A6CC - .incbin "baserom.gba", 0x12A6CC, 0x0000008 - -gUnk_0812A6D4:: @ 0812A6D4 - .incbin "baserom.gba", 0x12A6D4, 0x000000E - -gUnk_0812A6E2:: @ 0812A6E2 - .incbin "baserom.gba", 0x12A6E2, 0x000000D - -gUnk_0812A6EF:: @ 0812A6EF - .incbin "baserom.gba", 0x12A6EF, 0x000000D - -gUnk_0812A6FC:: @ 0812A6FC - .incbin "baserom.gba", 0x12A6FC, 0x000000D - -gUnk_0812A709:: @ 0812A709 - .incbin "baserom.gba", 0x12A709, 0x000000D - -gUnk_0812A716:: @ 0812A716 - .incbin "baserom.gba", 0x12A716, 0x000000D - -gUnk_0812A723:: @ 0812A723 - .incbin "baserom.gba", 0x12A723, 0x000000D - -gUnk_0812A730:: @ 0812A730 - .incbin "baserom.gba", 0x12A730, 0x000000D - -gUnk_0812A73D:: @ 0812A73D - .incbin "baserom.gba", 0x12A73D, 0x000000D - -gUnk_0812A74A:: @ 0812A74A - .incbin "baserom.gba", 0x12A74A, 0x000000D - -gUnk_0812A757:: @ 0812A757 - .incbin "baserom.gba", 0x12A757, 0x000000D - -gUnk_0812A764:: @ 0812A764 - .incbin "baserom.gba", 0x12A764, 0x000000D - -gUnk_0812A771:: @ 0812A771 - .incbin "baserom.gba", 0x12A771, 0x000000D - -gUnk_0812A77E:: @ 0812A77E - .incbin "baserom.gba", 0x12A77E, 0x000000D - -gUnk_0812A78B:: @ 0812A78B - .incbin "baserom.gba", 0x12A78B, 0x000000D - -gUnk_0812A798:: @ 0812A798 - .incbin "baserom.gba", 0x12A798, 0x000003C - -gUnk_0812A7D4:: @ 0812A7D4 - .incbin "baserom.gba", 0x12A7D4, 0x0000018 - -gUnk_0812A7EC:: @ 0812A7EC - .incbin "baserom.gba", 0x12A7EC, 0x000000C - -gUnk_0812A7F8:: @ 0812A7F8 - .incbin "baserom.gba", 0x12A7F8, 0x0000008 - -gUnk_0812A800:: @ 0812A800 - .incbin "baserom.gba", 0x12A800, 0x0000008 - -gUnk_0812A808:: @ 0812A808 - .incbin "baserom.gba", 0x12A808, 0x000000C - -gUnk_0812A814:: @ 0812A814 - .incbin "baserom.gba", 0x12A814, 0x0000011 - -gUnk_0812A825:: @ 0812A825 - .incbin "baserom.gba", 0x12A825, 0x000001B - -gUnk_0812A840:: @ 0812A840 - .incbin "baserom.gba", 0x12A840, 0x000000C - -gUnk_0812A84C:: @ 0812A84C - .incbin "baserom.gba", 0x12A84C, 0x0000014 - -gUnk_0812A860:: @ 0812A860 - .incbin "baserom.gba", 0x12A860, 0x0000011 - -gUnk_0812A871:: @ 0812A871 - .incbin "baserom.gba", 0x12A871, 0x0000059 - -gUnk_0812A8CA:: @ 0812A8CA - .incbin "baserom.gba", 0x12A8CA, 0x0000061 - -gUnk_0812A92B:: @ 0812A92B - .incbin "baserom.gba", 0x12A92B, 0x0000015 - -gUnk_0812A940:: @ 0812A940 - .incbin "baserom.gba", 0x12A940, 0x0000014 - -gUnk_0812A954:: @ 0812A954 - .incbin "baserom.gba", 0x12A954, 0x0000014 - -gUnk_0812A968:: @ 0812A968 - .incbin "baserom.gba", 0x12A968, 0x0000014 - -gUnk_0812A97C:: @ 0812A97C - .incbin "baserom.gba", 0x12A97C, 0x0000006 - -gUnk_0812A982:: @ 0812A982 - .incbin "baserom.gba", 0x12A982, 0x0000008 - -gUnk_0812A98A:: @ 0812A98A - .incbin "baserom.gba", 0x12A98A, 0x000000A - -gUnk_0812A994:: @ 0812A994 - .incbin "baserom.gba", 0x12A994, 0x0000014 - -gUnk_0812A9A8:: @ 0812A9A8 - .incbin "baserom.gba", 0x12A9A8, 0x000000C - -gUnk_0812A9B4:: @ 0812A9B4 - .incbin "baserom.gba", 0x12A9B4, 0x0000004 - -gUnk_0812A9B8:: @ 0812A9B8 - .incbin "baserom.gba", 0x12A9B8, 0x0000002 - -gUnk_0812A9BA:: @ 0812A9BA - .incbin "baserom.gba", 0x12A9BA, 0x0000006 - -gUnk_0812A9C0:: @ 0812A9C0 - .incbin "baserom.gba", 0x12A9C0, 0x0000018 - -gUnk_0812A9D8:: @ 0812A9D8 - .incbin "baserom.gba", 0x12A9D8, 0x0000014 - -gUnk_0812A9EC:: @ 0812A9EC - .incbin "baserom.gba", 0x12A9EC, 0x0000010 - -gUnk_0812A9FC:: @ 0812A9FC - .incbin "baserom.gba", 0x12A9FC, 0x0000035 - -gUnk_0812AA31:: @ 0812AA31 - .incbin "baserom.gba", 0x12AA31, 0x000001F - -gUnk_0812AA50:: @ 0812AA50 - .incbin "baserom.gba", 0x12AA50, 0x000000C - -gUnk_0812AA5C:: @ 0812AA5C - .incbin "baserom.gba", 0x12AA5C, 0x0000018 - -gUnk_0812AA74:: @ 0812AA74 - .incbin "baserom.gba", 0x12AA74, 0x000000C - -gUnk_0812AA80:: @ 0812AA80 - .incbin "baserom.gba", 0x12AA80, 0x0000008 - -gUnk_0812AA88:: @ 0812AA88 - .incbin "baserom.gba", 0x12AA88, 0x0000009 - -gUnk_0812AA91:: @ 0812AA91 - .incbin "baserom.gba", 0x12AA91, 0x0000009 - -gUnk_0812AA9A:: @ 0812AA9A - .incbin "baserom.gba", 0x12AA9A, 0x0000012 - -gUnk_0812AAAC:: @ 0812AAAC - .incbin "baserom.gba", 0x12AAAC, 0x0000010 - -gUnk_0812AABC:: @ 0812AABC - .incbin "baserom.gba", 0x12AABC, 0x0000004 - -gUnk_0812AAC0:: @ 0812AAC0 - .incbin "baserom.gba", 0x12AAC0, 0x0000008 - -gUnk_0812AAC8:: @ 0812AAC8 - .incbin "baserom.gba", 0x12AAC8, 0x0000008 - -gUnk_0812AAD0:: @ 0812AAD0 - .incbin "baserom.gba", 0x12AAD0, 0x0000008 - -gUnk_0812AAD8:: @ 0812AAD8 - .incbin "baserom.gba", 0x12AAD8, 0x0000010 - -gUnk_0812AAE8:: @ 0812AAE8 - .incbin "baserom.gba", 0x12AAE8, 0x000019C - -gUnk_0812AC84:: @ 0812AC84 - .incbin "baserom.gba", 0x12AC84, 0x0000004 - -gUnk_0812AC88:: @ 0812AC88 - .incbin "baserom.gba", 0x12AC88, 0x000000C - -gUnk_0812AC94:: @ 0812AC94 - .incbin "baserom.gba", 0x12AC94, 0x0000010 - -gUnk_0812ACA4:: @ 0812ACA4 - .incbin "baserom.gba", 0x12ACA4, 0x000000C - -gUnk_0812ACB0:: @ 0812ACB0 - .incbin "baserom.gba", 0x12ACB0, 0x0000010 - -gUnk_0812ACC0:: @ 0812ACC0 - .incbin "baserom.gba", 0x12ACC0, 0x000000C - -gUnk_0812ACCC:: @ 0812ACCC - .incbin "baserom.gba", 0x12ACCC, 0x000000C - -gUnk_0812ACD8:: @ 0812ACD8 - .incbin "baserom.gba", 0x12ACD8, 0x000000C - -gUnk_0812ACE4:: @ 0812ACE4 - .incbin "baserom.gba", 0x12ACE4, 0x000000C - -gUnk_0812ACF0:: @ 0812ACF0 - .incbin "baserom.gba", 0x12ACF0, 0x0000010 - -gUnk_0812AD00:: @ 0812AD00 - .incbin "baserom.gba", 0x12AD00, 0x000000C - -gUnk_0812AD0C:: @ 0812AD0C - .incbin "baserom.gba", 0x12AD0C, 0x0000014 - -gUnk_0812AD20:: @ 0812AD20 - .incbin "baserom.gba", 0x12AD20, 0x0000010 - -gUnk_0812AD30:: @ 0812AD30 - .incbin "baserom.gba", 0x12AD30, 0x0000010 - -gUnk_0812AD40:: @ 0812AD40 - .incbin "baserom.gba", 0x12AD40, 0x0000014 - -gUnk_0812AD54:: @ 0812AD54 - .incbin "baserom.gba", 0x12AD54, 0x0000010 - -gUnk_0812AD64:: @ 0812AD64 - .incbin "baserom.gba", 0x12AD64, 0x000000C - -gUnk_0812AD70:: @ 0812AD70 - .incbin "baserom.gba", 0x12AD70, 0x000000C - -gUnk_0812AD7C:: @ 0812AD7C - .incbin "baserom.gba", 0x12AD7C, 0x0000010 - -gUnk_0812AD8C:: @ 0812AD8C - .incbin "baserom.gba", 0x12AD8C, 0x000000C - -gUnk_0812AD98:: @ 0812AD98 - .incbin "baserom.gba", 0x12AD98, 0x0000008 - -gUnk_0812ADA0:: @ 0812ADA0 - .incbin "baserom.gba", 0x12ADA0, 0x0000010 - -gUnk_0812ADB0:: @ 0812ADB0 - .incbin "baserom.gba", 0x12ADB0, 0x000000C - -gUnk_0812ADBC:: @ 0812ADBC - .incbin "baserom.gba", 0x12ADBC, 0x0000010 - -gUnk_0812ADCC:: @ 0812ADCC - .incbin "baserom.gba", 0x12ADCC, 0x0000010 - -gUnk_0812ADDC:: @ 0812ADDC - .incbin "baserom.gba", 0x12ADDC, 0x0000010 - -gUnk_0812ADEC:: @ 0812ADEC - .incbin "baserom.gba", 0x12ADEC, 0x0000010 - -gUnk_0812ADFC:: @ 0812ADFC - .incbin "baserom.gba", 0x12ADFC, 0x0000010 - -gUnk_0812AE0C:: @ 0812AE0C - .incbin "baserom.gba", 0x12AE0C, 0x0000008 - -gUnk_0812AE14:: @ 0812AE14 - .incbin "baserom.gba", 0x12AE14, 0x0000010 - -gUnk_0812AE24:: @ 0812AE24 - .incbin "baserom.gba", 0x12AE24, 0x0000014 - -gUnk_0812AE38:: @ 0812AE38 - .incbin "baserom.gba", 0x12AE38, 0x0000010 - -gUnk_0812AE48:: @ 0812AE48 - .incbin "baserom.gba", 0x12AE48, 0x0000014 - -gUnk_0812AE5C:: @ 0812AE5C - .incbin "baserom.gba", 0x12AE5C, 0x0000002 - -gUnk_0812AE5E:: @ 0812AE5E - .incbin "baserom.gba", 0x12AE5E, 0x000000E - -gUnk_0812AE6C:: @ 0812AE6C - .incbin "baserom.gba", 0x12AE6C, 0x0000010 - -gUnk_0812AE7C:: @ 0812AE7C - .incbin "baserom.gba", 0x12AE7C, 0x0000010 - -gUnk_0812AE8C:: @ 0812AE8C - .incbin "baserom.gba", 0x12AE8C, 0x0000014 - -gUnk_0812AEA0:: @ 0812AEA0 - .incbin "baserom.gba", 0x12AEA0, 0x0000014 - -gUnk_0812AEB4:: @ 0812AEB4 - .incbin "baserom.gba", 0x12AEB4, 0x0000014 - -gUnk_0812AEC8:: @ 0812AEC8 - .incbin "baserom.gba", 0x12AEC8, 0x0000014 - -gUnk_0812AEDC:: @ 0812AEDC - .incbin "baserom.gba", 0x12AEDC, 0x0000008 - -gUnk_0812AEE4:: @ 0812AEE4 - .incbin "baserom.gba", 0x12AEE4, 0x0000008 - -gUnk_0812AEEC:: @ 0812AEEC - .incbin "baserom.gba", 0x12AEEC, 0x0000008 - -gUnk_0812AEF4:: @ 0812AEF4 - .incbin "baserom.gba", 0x12AEF4, 0x0000010 - -gUnk_0812AF04:: @ 0812AF04 - .incbin "baserom.gba", 0x12AF04, 0x000000C - -gUnk_0812AF10:: @ 0812AF10 - .incbin "baserom.gba", 0x12AF10, 0x000000C - -gUnk_0812AF1C:: @ 0812AF1C - .incbin "baserom.gba", 0x12AF1C, 0x000000C - -gUnk_0812AF28:: @ 0812AF28 - .incbin "baserom.gba", 0x12AF28, 0x000000C - -gUnk_0812AF34:: @ 0812AF34 - .incbin "baserom.gba", 0x12AF34, 0x000000C - -gUnk_0812AF40:: @ 0812AF40 - .incbin "baserom.gba", 0x12AF40, 0x000000C - -gUnk_0812AF4C:: @ 0812AF4C - .incbin "baserom.gba", 0x12AF4C, 0x000000C - -gUnk_0812AF58:: @ 0812AF58 - .incbin "baserom.gba", 0x12AF58, 0x000000C - -gUnk_0812AF64:: @ 0812AF64 - .incbin "baserom.gba", 0x12AF64, 0x000000C - -gUnk_0812AF70:: @ 0812AF70 - .incbin "baserom.gba", 0x12AF70, 0x0000014 - -gUnk_0812AF84:: @ 0812AF84 - .incbin "baserom.gba", 0x12AF84, 0x0000010 - -gUnk_0812AF94:: @ 0812AF94 - .incbin "baserom.gba", 0x12AF94, 0x0000010 - -gUnk_0812AFA4:: @ 0812AFA4 - .incbin "baserom.gba", 0x12AFA4, 0x0000014 - -gUnk_0812AFB8:: @ 0812AFB8 - .incbin "baserom.gba", 0x12AFB8, 0x0000014 - -gUnk_0812AFCC:: @ 0812AFCC - .incbin "baserom.gba", 0x12AFCC, 0x0000014 - -gUnk_0812AFE0:: @ 0812AFE0 - .incbin "baserom.gba", 0x12AFE0, 0x0000014 - -gUnk_0812AFF4:: @ 0812AFF4 - .incbin "baserom.gba", 0x12AFF4, 0x0000010 - -gUnk_0812B004:: @ 0812B004 - .incbin "baserom.gba", 0x12B004, 0x000000C - -gUnk_0812B010:: @ 0812B010 - .incbin "baserom.gba", 0x12B010, 0x0000008 - -gUnk_0812B018:: @ 0812B018 - .incbin "baserom.gba", 0x12B018, 0x0000010 - -gUnk_0812B028:: @ 0812B028 - .incbin "baserom.gba", 0x12B028, 0x000000C - -gUnk_0812B034:: @ 0812B034 - .incbin "baserom.gba", 0x12B034, 0x0000010 - -gUnk_0812B044:: @ 0812B044 - .incbin "baserom.gba", 0x12B044, 0x000000C - -gUnk_0812B050:: @ 0812B050 - .incbin "baserom.gba", 0x12B050, 0x000000C - -gUnk_0812B05C:: @ 0812B05C - .incbin "baserom.gba", 0x12B05C, 0x0000010 - -gUnk_0812B06C:: @ 0812B06C - .incbin "baserom.gba", 0x12B06C, 0x0000010 - -gUnk_0812B07C:: @ 0812B07C - .incbin "baserom.gba", 0x12B07C, 0x0000010 - -gUnk_0812B08C:: @ 0812B08C - .incbin "baserom.gba", 0x12B08C, 0x000000C - -gUnk_0812B098:: @ 0812B098 - .incbin "baserom.gba", 0x12B098, 0x0000008 - -gUnk_0812B0A0:: @ 0812B0A0 - .incbin "baserom.gba", 0x12B0A0, 0x000000C - -gUnk_0812B0AC:: @ 0812B0AC - .incbin "baserom.gba", 0x12B0AC, 0x0000010 - -gUnk_0812B0BC:: @ 0812B0BC - .incbin "baserom.gba", 0x12B0BC, 0x0000010 - -gUnk_0812B0CC:: @ 0812B0CC - .incbin "baserom.gba", 0x12B0CC, 0x0000010 - -gUnk_0812B0DC:: @ 0812B0DC - .incbin "baserom.gba", 0x12B0DC, 0x0000010 - -gUnk_0812B0EC:: @ 0812B0EC - .incbin "baserom.gba", 0x12B0EC, 0x0000010 - -gUnk_0812B0FC:: @ 0812B0FC - .incbin "baserom.gba", 0x12B0FC, 0x0000008 - -gUnk_0812B104:: @ 0812B104 - .incbin "baserom.gba", 0x12B104, 0x000000C - -gUnk_0812B110:: @ 0812B110 - .incbin "baserom.gba", 0x12B110, 0x000000C - -gUnk_0812B11C:: @ 0812B11C - .incbin "baserom.gba", 0x12B11C, 0x0000008 - -gUnk_0812B124:: @ 0812B124 - .incbin "baserom.gba", 0x12B124, 0x0000014 - -gUnk_0812B138:: @ 0812B138 - .incbin "baserom.gba", 0x12B138, 0x000000C - -gUnk_0812B144:: @ 0812B144 - .incbin "baserom.gba", 0x12B144, 0x000000C - -gUnk_0812B150:: @ 0812B150 - .incbin "baserom.gba", 0x12B150, 0x000000C - -gUnk_0812B15C:: @ 0812B15C - .incbin "baserom.gba", 0x12B15C, 0x000000C - -gUnk_0812B168:: @ 0812B168 - .incbin "baserom.gba", 0x12B168, 0x000000C - -gUnk_0812B174:: @ 0812B174 - .incbin "baserom.gba", 0x12B174, 0x000000C - -gUnk_0812B180:: @ 0812B180 - .incbin "baserom.gba", 0x12B180, 0x000000C - -gUnk_0812B18C:: @ 0812B18C - .incbin "baserom.gba", 0x12B18C, 0x000000C - -gUnk_0812B198:: @ 0812B198 - .incbin "baserom.gba", 0x12B198, 0x000000C - -gUnk_0812B1A4:: @ 0812B1A4 - .incbin "baserom.gba", 0x12B1A4, 0x000000C - -gUnk_0812B1B0:: @ 0812B1B0 - .incbin "baserom.gba", 0x12B1B0, 0x000000C - -gUnk_0812B1BC:: @ 0812B1BC - .incbin "baserom.gba", 0x12B1BC, 0x000000C - -gUnk_0812B1C8:: @ 0812B1C8 - .incbin "baserom.gba", 0x12B1C8, 0x000000C - -gUnk_0812B1D4:: @ 0812B1D4 - .incbin "baserom.gba", 0x12B1D4, 0x000000C - -gUnk_0812B1E0:: @ 0812B1E0 - .incbin "baserom.gba", 0x12B1E0, 0x000000C - -gUnk_0812B1EC:: @ 0812B1EC - .incbin "baserom.gba", 0x12B1EC, 0x000000C - -gUnk_0812B1F8:: @ 0812B1F8 - .incbin "baserom.gba", 0x12B1F8, 0x000000C - -gUnk_0812B204:: @ 0812B204 - .incbin "baserom.gba", 0x12B204, 0x0000400 - -gUnk_0812B604:: @ 0812B604 - .incbin "baserom.gba", 0x12B604, 0x0000008 - -gUnk_0812B60C:: @ 0812B60C - .incbin "baserom.gba", 0x12B60C, 0x0000008 - -gUnk_0812B614:: @ 0812B614 - .incbin "baserom.gba", 0x12B614, 0x0000008 - -gUnk_0812B61C:: @ 0812B61C - .incbin "baserom.gba", 0x12B61C, 0x0000008 - -gUnk_0812B624:: @ 0812B624 - .incbin "baserom.gba", 0x12B624, 0x0000014 - -gUnk_0812B638:: @ 0812B638 - .incbin "baserom.gba", 0x12B638, 0x0000014 - -gUnk_0812B64C:: @ 0812B64C - .incbin "baserom.gba", 0x12B64C, 0x0000010 - -gUnk_0812B65C:: @ 0812B65C - .incbin "baserom.gba", 0x12B65C, 0x0000010 - -gUnk_0812B66C:: @ 0812B66C - .incbin "baserom.gba", 0x12B66C, 0x0000010 - -gUnk_0812B67C:: @ 0812B67C - .incbin "baserom.gba", 0x12B67C, 0x0000010 - -gUnk_0812B68C:: @ 0812B68C - .incbin "baserom.gba", 0x12B68C, 0x0000014 - -gUnk_0812B6A0:: @ 0812B6A0 - .incbin "baserom.gba", 0x12B6A0, 0x0000014 - -gUnk_0812B6B4:: @ 0812B6B4 - .incbin "baserom.gba", 0x12B6B4, 0x0000014 - -gUnk_0812B6C8:: @ 0812B6C8 - .incbin "baserom.gba", 0x12B6C8, 0x0000014 - -gUnk_0812B6DC:: @ 0812B6DC - .incbin "baserom.gba", 0x12B6DC, 0x0000014 - -gUnk_0812B6F0:: @ 0812B6F0 - .incbin "baserom.gba", 0x12B6F0, 0x0000010 - -gUnk_0812B700:: @ 0812B700 - .incbin "baserom.gba", 0x12B700, 0x0000014 - -gUnk_0812B714:: @ 0812B714 - .incbin "baserom.gba", 0x12B714, 0x0000010 - -gUnk_0812B724:: @ 0812B724 - .incbin "baserom.gba", 0x12B724, 0x0000010 - -gUnk_0812B734:: @ 0812B734 - .incbin "baserom.gba", 0x12B734, 0x0000010 - -gUnk_0812B744:: @ 0812B744 - .incbin "baserom.gba", 0x12B744, 0x0000010 - -gUnk_0812B754:: @ 0812B754 - .incbin "baserom.gba", 0x12B754, 0x0000010 - -gUnk_0812B764:: @ 0812B764 - .incbin "baserom.gba", 0x12B764, 0x0000010 - -gUnk_0812B774:: @ 0812B774 - .incbin "baserom.gba", 0x12B774, 0x0000010 - -gUnk_0812B784:: @ 0812B784 - .incbin "baserom.gba", 0x12B784, 0x0000010 - -gUnk_0812B794:: @ 0812B794 - .incbin "baserom.gba", 0x12B794, 0x0000010 - -gUnk_0812B7A4:: @ 0812B7A4 - .incbin "baserom.gba", 0x12B7A4, 0x0000010 - -gUnk_0812B7B4:: @ 0812B7B4 - .incbin "baserom.gba", 0x12B7B4, 0x0000010 - -gUnk_0812B7C4:: @ 0812B7C4 - .incbin "baserom.gba", 0x12B7C4, 0x0000010 - -gUnk_0812B7D4:: @ 0812B7D4 - .incbin "baserom.gba", 0x12B7D4, 0x0000010 - -gUnk_0812B7E4:: @ 0812B7E4 - .incbin "baserom.gba", 0x12B7E4, 0x0000010 - -gUnk_0812B7F4:: @ 0812B7F4 - .incbin "baserom.gba", 0x12B7F4, 0x0000010 - -gUnk_0812B804:: @ 0812B804 - .incbin "baserom.gba", 0x12B804, 0x0000010 - -gUnk_0812B814:: @ 0812B814 - .incbin "baserom.gba", 0x12B814, 0x000000C - -gUnk_0812B820:: @ 0812B820 - .incbin "baserom.gba", 0x12B820, 0x0000010 - -gUnk_0812B830:: @ 0812B830 - .incbin "baserom.gba", 0x12B830, 0x0000010 - -gUnk_0812B840:: @ 0812B840 - .incbin "baserom.gba", 0x12B840, 0x0000010 - -gUnk_0812B850:: @ 0812B850 - .incbin "baserom.gba", 0x12B850, 0x0000010 - -gUnk_0812B860:: @ 0812B860 - .incbin "baserom.gba", 0x12B860, 0x0000010 - -gUnk_0812B870:: @ 0812B870 - .incbin "baserom.gba", 0x12B870, 0x0000010 - -gUnk_0812B880:: @ 0812B880 - .incbin "baserom.gba", 0x12B880, 0x0000010 - -gUnk_0812B890:: @ 0812B890 - .incbin "baserom.gba", 0x12B890, 0x0000010 - -gUnk_0812B8A0:: @ 0812B8A0 - .incbin "baserom.gba", 0x12B8A0, 0x0000010 - -gUnk_0812B8B0:: @ 0812B8B0 - .incbin "baserom.gba", 0x12B8B0, 0x000000C - -gUnk_0812B8BC:: @ 0812B8BC - .incbin "baserom.gba", 0x12B8BC, 0x0000010 - -gUnk_0812B8CC:: @ 0812B8CC - .incbin "baserom.gba", 0x12B8CC, 0x0000010 - -gUnk_0812B8DC:: @ 0812B8DC - .incbin "baserom.gba", 0x12B8DC, 0x0000010 - -gUnk_0812B8EC:: @ 0812B8EC - .incbin "baserom.gba", 0x12B8EC, 0x0000010 - -gUnk_0812B8FC:: @ 0812B8FC - .incbin "baserom.gba", 0x12B8FC, 0x0000010 - -gUnk_0812B90C:: @ 0812B90C - .incbin "baserom.gba", 0x12B90C, 0x0000010 - -gUnk_0812B91C:: @ 0812B91C - .incbin "baserom.gba", 0x12B91C, 0x000000C - -gUnk_0812B928:: @ 0812B928 - .incbin "baserom.gba", 0x12B928, 0x000000C - -gUnk_0812B934:: @ 0812B934 - .incbin "baserom.gba", 0x12B934, 0x000000C - -gUnk_0812B940:: @ 0812B940 - .incbin "baserom.gba", 0x12B940, 0x0000018 - -gUnk_0812B958:: @ 0812B958 - .incbin "baserom.gba", 0x12B958, 0x0000010 - -gUnk_0812B968:: @ 0812B968 - .incbin "baserom.gba", 0x12B968, 0x0000010 - -gUnk_0812B978:: @ 0812B978 - .incbin "baserom.gba", 0x12B978, 0x0000010 - -gUnk_0812B988:: @ 0812B988 - .incbin "baserom.gba", 0x12B988, 0x0000010 - -gUnk_0812B998:: @ 0812B998 - .incbin "baserom.gba", 0x12B998, 0x0000010 - -gUnk_0812B9A8:: @ 0812B9A8 - .incbin "baserom.gba", 0x12B9A8, 0x0000010 - -gUnk_0812B9B8:: @ 0812B9B8 - .incbin "baserom.gba", 0x12B9B8, 0x0000010 - -gUnk_0812B9C8:: @ 0812B9C8 - .incbin "baserom.gba", 0x12B9C8, 0x0000010 - -gUnk_0812B9D8:: @ 0812B9D8 - .incbin "baserom.gba", 0x12B9D8, 0x0000010 - -gUnk_0812B9E8:: @ 0812B9E8 - .incbin "baserom.gba", 0x12B9E8, 0x0000010 - -gUnk_0812B9F8:: @ 0812B9F8 - .incbin "baserom.gba", 0x12B9F8, 0x0000010 - -gUnk_0812BA08:: @ 0812BA08 - .incbin "baserom.gba", 0x12BA08, 0x0000010 - -gUnk_0812BA18:: @ 0812BA18 - .incbin "baserom.gba", 0x12BA18, 0x0000010 - -gUnk_0812BA28:: @ 0812BA28 - .incbin "baserom.gba", 0x12BA28, 0x0000010 - -gUnk_0812BA38:: @ 0812BA38 - .incbin "baserom.gba", 0x12BA38, 0x0000010 - -gUnk_0812BA48:: @ 0812BA48 - .incbin "baserom.gba", 0x12BA48, 0x0000010 - -gUnk_0812BA58:: @ 0812BA58 - .incbin "baserom.gba", 0x12BA58, 0x0000010 - -gUnk_0812BA68:: @ 0812BA68 - .incbin "baserom.gba", 0x12BA68, 0x0000010 - -gUnk_0812BA78:: @ 0812BA78 - .incbin "baserom.gba", 0x12BA78, 0x0000010 - -gUnk_0812BA88:: @ 0812BA88 - .incbin "baserom.gba", 0x12BA88, 0x0000003 - -gUnk_0812BA8B:: @ 0812BA8B - .incbin "baserom.gba", 0x12BA8B, 0x0000009 - -gUnk_0812BA94:: @ 0812BA94 - .incbin "baserom.gba", 0x12BA94, 0x000000C - -gUnk_0812BAA0:: @ 0812BAA0 - .incbin "baserom.gba", 0x12BAA0, 0x000000C - -gUnk_0812BAAC:: @ 0812BAAC - .incbin "baserom.gba", 0x12BAAC, 0x000000C - -gUnk_0812BAB8:: @ 0812BAB8 - .incbin "baserom.gba", 0x12BAB8, 0x000000C - -gUnk_0812BAC4:: @ 0812BAC4 - .incbin "baserom.gba", 0x12BAC4, 0x0000010 - -gUnk_0812BAD4:: @ 0812BAD4 - .incbin "baserom.gba", 0x12BAD4, 0x0000010 - -gUnk_0812BAE4:: @ 0812BAE4 - .incbin "baserom.gba", 0x12BAE4, 0x0000018 - -gUnk_0812BAFC:: @ 0812BAFC - .incbin "baserom.gba", 0x12BAFC, 0x0000010 - -gUnk_0812BB0C:: @ 0812BB0C - .incbin "baserom.gba", 0x12BB0C, 0x0000010 - -gUnk_0812BB1C:: @ 0812BB1C - .incbin "baserom.gba", 0x12BB1C, 0x0000010 - -gUnk_0812BB2C:: @ 0812BB2C - .incbin "baserom.gba", 0x12BB2C, 0x0000010 - -gUnk_0812BB3C:: @ 0812BB3C - .incbin "baserom.gba", 0x12BB3C, 0x0000010 - -gUnk_0812BB4C:: @ 0812BB4C - .incbin "baserom.gba", 0x12BB4C, 0x0000010 - -gUnk_0812BB5C:: @ 0812BB5C - .incbin "baserom.gba", 0x12BB5C, 0x0000010 - -gUnk_0812BB6C:: @ 0812BB6C - .incbin "baserom.gba", 0x12BB6C, 0x0000010 - -gUnk_0812BB7C:: @ 0812BB7C - .incbin "baserom.gba", 0x12BB7C, 0x0000010 - -gUnk_0812BB8C:: @ 0812BB8C - .incbin "baserom.gba", 0x12BB8C, 0x0000010 - -gUnk_0812BB9C:: @ 0812BB9C - .incbin "baserom.gba", 0x12BB9C, 0x0000010 - -gUnk_0812BBAC:: @ 0812BBAC - .incbin "baserom.gba", 0x12BBAC, 0x0000014 - -gUnk_0812BBC0:: @ 0812BBC0 - .incbin "baserom.gba", 0x12BBC0, 0x0000014 - -gUnk_0812BBD4:: @ 0812BBD4 - .incbin "baserom.gba", 0x12BBD4, 0x0000010 - -gUnk_0812BBE4:: @ 0812BBE4 - .incbin "baserom.gba", 0x12BBE4, 0x0000010 - -gUnk_0812BBF4:: @ 0812BBF4 - .incbin "baserom.gba", 0x12BBF4, 0x0000014 - -gUnk_0812BC08:: @ 0812BC08 - .incbin "baserom.gba", 0x12BC08, 0x0000010 - -gUnk_0812BC18:: @ 0812BC18 - .incbin "baserom.gba", 0x12BC18, 0x0000010 - -gUnk_0812BC28:: @ 0812BC28 - .incbin "baserom.gba", 0x12BC28, 0x000000A - -gUnk_0812BC32:: @ 0812BC32 - .incbin "baserom.gba", 0x12BC32, 0x0000006 - -gUnk_0812BC38:: @ 0812BC38 - .incbin "baserom.gba", 0x12BC38, 0x0000010 - -gUnk_0812BC48:: @ 0812BC48 - .incbin "baserom.gba", 0x12BC48, 0x0000010 - -gUnk_0812BC58:: @ 0812BC58 - .incbin "baserom.gba", 0x12BC58, 0x0000010 - -gUnk_0812BC68:: @ 0812BC68 - .incbin "baserom.gba", 0x12BC68, 0x0000010 - -gUnk_0812BC78:: @ 0812BC78 - .incbin "baserom.gba", 0x12BC78, 0x0000010 - -gUnk_0812BC88:: @ 0812BC88 - .incbin "baserom.gba", 0x12BC88, 0x0000010 - -gUnk_0812BC98:: @ 0812BC98 - .incbin "baserom.gba", 0x12BC98, 0x0000010 - -gUnk_0812BCA8:: @ 0812BCA8 - .incbin "baserom.gba", 0x12BCA8, 0x0000010 - -gUnk_0812BCB8:: @ 0812BCB8 - .incbin "baserom.gba", 0x12BCB8, 0x0000010 - -gUnk_0812BCC8:: @ 0812BCC8 - .incbin "baserom.gba", 0x12BCC8, 0x0000010 - -gUnk_0812BCD8:: @ 0812BCD8 - .incbin "baserom.gba", 0x12BCD8, 0x0000010 - -gUnk_0812BCE8:: @ 0812BCE8 - .incbin "baserom.gba", 0x12BCE8, 0x0000010 - -gUnk_0812BCF8:: @ 0812BCF8 - .incbin "baserom.gba", 0x12BCF8, 0x0000014 - -gUnk_0812BD0C:: @ 0812BD0C - .incbin "baserom.gba", 0x12BD0C, 0x0000014 - -gUnk_0812BD20:: @ 0812BD20 - .incbin "baserom.gba", 0x12BD20, 0x0000010 - -gUnk_0812BD30:: @ 0812BD30 - .incbin "baserom.gba", 0x12BD30, 0x0000014 - -gUnk_0812BD44:: @ 0812BD44 - .incbin "baserom.gba", 0x12BD44, 0x0000014 - -gUnk_0812BD58:: @ 0812BD58 - .incbin "baserom.gba", 0x12BD58, 0x0000014 - -gUnk_0812BD6C:: @ 0812BD6C - .incbin "baserom.gba", 0x12BD6C, 0x0000014 - -gUnk_0812BD80:: @ 0812BD80 - .incbin "baserom.gba", 0x12BD80, 0x0000014 - -gUnk_0812BD94:: @ 0812BD94 - .incbin "baserom.gba", 0x12BD94, 0x0000014 - -gUnk_0812BDA8:: @ 0812BDA8 - .incbin "baserom.gba", 0x12BDA8, 0x0000014 - -gUnk_0812BDBC:: @ 0812BDBC - .incbin "baserom.gba", 0x12BDBC, 0x0000014 - -gUnk_0812BDD0:: @ 0812BDD0 - .incbin "baserom.gba", 0x12BDD0, 0x0000014 - -gUnk_0812BDE4:: @ 0812BDE4 - .incbin "baserom.gba", 0x12BDE4, 0x0000010 - -gUnk_0812BDF4:: @ 0812BDF4 - .incbin "baserom.gba", 0x12BDF4, 0x0000010 - -gUnk_0812BE04:: @ 0812BE04 - .incbin "baserom.gba", 0x12BE04, 0x0000010 - -gUnk_0812BE14:: @ 0812BE14 - .incbin "baserom.gba", 0x12BE14, 0x0000010 - -gUnk_0812BE24:: @ 0812BE24 - .incbin "baserom.gba", 0x12BE24, 0x0000010 - -gUnk_0812BE34:: @ 0812BE34 - .incbin "baserom.gba", 0x12BE34, 0x0000010 - -gUnk_0812BE44:: @ 0812BE44 - .incbin "baserom.gba", 0x12BE44, 0x0000010 - -gUnk_0812BE54:: @ 0812BE54 - .incbin "baserom.gba", 0x12BE54, 0x0000014 - -gUnk_0812BE68:: @ 0812BE68 - .incbin "baserom.gba", 0x12BE68, 0x0000014 - -gUnk_0812BE7C:: @ 0812BE7C - .incbin "baserom.gba", 0x12BE7C, 0x0000014 - -gUnk_0812BE90:: @ 0812BE90 - .incbin "baserom.gba", 0x12BE90, 0x0000014 - -gUnk_0812BEA4:: @ 0812BEA4 - .incbin "baserom.gba", 0x12BEA4, 0x0000014 - -gUnk_0812BEB8:: @ 0812BEB8 - .incbin "baserom.gba", 0x12BEB8, 0x0000014 - -gUnk_0812BECC:: @ 0812BECC - .incbin "baserom.gba", 0x12BECC, 0x0000014 - -gUnk_0812BEE0:: @ 0812BEE0 - .incbin "baserom.gba", 0x12BEE0, 0x0000014 - -gUnk_0812BEF4:: @ 0812BEF4 - .incbin "baserom.gba", 0x12BEF4, 0x0000014 - -gUnk_0812BF08:: @ 0812BF08 - .incbin "baserom.gba", 0x12BF08, 0x0000014 - -gUnk_0812BF1C:: @ 0812BF1C - .incbin "baserom.gba", 0x12BF1C, 0x0000014 - -gUnk_0812BF30:: @ 0812BF30 - .incbin "baserom.gba", 0x12BF30, 0x0000014 - -gUnk_0812BF44:: @ 0812BF44 - .incbin "baserom.gba", 0x12BF44, 0x0000010 - -gUnk_0812BF54:: @ 0812BF54 - .incbin "baserom.gba", 0x12BF54, 0x0000010 - -gUnk_0812BF64:: @ 0812BF64 - .incbin "baserom.gba", 0x12BF64, 0x0000010 - -gUnk_0812BF74:: @ 0812BF74 - .incbin "baserom.gba", 0x12BF74, 0x0000014 - -gUnk_0812BF88:: @ 0812BF88 - .incbin "baserom.gba", 0x12BF88, 0x0000014 - -gUnk_0812BF9C:: @ 0812BF9C - .incbin "baserom.gba", 0x12BF9C, 0x0000014 - -gUnk_0812BFB0:: @ 0812BFB0 - .incbin "baserom.gba", 0x12BFB0, 0x0000014 - -gUnk_0812BFC4:: @ 0812BFC4 - .incbin "baserom.gba", 0x12BFC4, 0x0000014 - -gUnk_0812BFD8:: @ 0812BFD8 - .incbin "baserom.gba", 0x12BFD8, 0x0000014 - -gUnk_0812BFEC:: @ 0812BFEC - .incbin "baserom.gba", 0x12BFEC, 0x0000014 - -gUnk_0812C000:: @ 0812C000 - .incbin "baserom.gba", 0x12C000, 0x0000014 - -gUnk_0812C014:: @ 0812C014 - .incbin "baserom.gba", 0x12C014, 0x0000014 - -gUnk_0812C028:: @ 0812C028 - .incbin "baserom.gba", 0x12C028, 0x0000014 - -gUnk_0812C03C:: @ 0812C03C - .incbin "baserom.gba", 0x12C03C, 0x0000014 - -gUnk_0812C050:: @ 0812C050 - .incbin "baserom.gba", 0x12C050, 0x0000014 - -gUnk_0812C064:: @ 0812C064 - .incbin "baserom.gba", 0x12C064, 0x0000014 - -gUnk_0812C078:: @ 0812C078 - .incbin "baserom.gba", 0x12C078, 0x0000010 - -gUnk_0812C088:: @ 0812C088 - .incbin "baserom.gba", 0x12C088, 0x000000C - -gUnk_0812C094:: @ 0812C094 - .incbin "baserom.gba", 0x12C094, 0x0000010 - -gUnk_0812C0A4:: @ 0812C0A4 - .incbin "baserom.gba", 0x12C0A4, 0x0000010 - -gUnk_0812C0B4:: @ 0812C0B4 - .incbin "baserom.gba", 0x12C0B4, 0x0000010 - -gUnk_0812C0C4:: @ 0812C0C4 - .incbin "baserom.gba", 0x12C0C4, 0x0000010 - -gUnk_0812C0D4:: @ 0812C0D4 - .incbin "baserom.gba", 0x12C0D4, 0x0000010 - -gUnk_0812C0E4:: @ 0812C0E4 - .incbin "baserom.gba", 0x12C0E4, 0x0000010 - -gUnk_0812C0F4:: @ 0812C0F4 - .incbin "baserom.gba", 0x12C0F4, 0x0000014 - -gUnk_0812C108:: @ 0812C108 - .incbin "baserom.gba", 0x12C108, 0x0000014 - -gUnk_0812C11C:: @ 0812C11C - .incbin "baserom.gba", 0x12C11C, 0x0000014 - -gUnk_0812C130:: @ 0812C130 - .incbin "baserom.gba", 0x12C130, 0x000000C - -gUnk_0812C13C:: @ 0812C13C - .incbin "baserom.gba", 0x12C13C, 0x000000C - -gUnk_0812C148:: @ 0812C148 - .incbin "baserom.gba", 0x12C148, 0x000000C - -gUnk_0812C154:: @ 0812C154 - .incbin "baserom.gba", 0x12C154, 0x000000C - -gUnk_0812C160:: @ 0812C160 - .incbin "baserom.gba", 0x12C160, 0x000000C - -gUnk_0812C16C:: @ 0812C16C - .incbin "baserom.gba", 0x12C16C, 0x0000010 - -gUnk_0812C17C:: @ 0812C17C - .incbin "baserom.gba", 0x12C17C, 0x0000010 - -gUnk_0812C18C:: @ 0812C18C - .incbin "baserom.gba", 0x12C18C, 0x000000C - -gUnk_0812C198:: @ 0812C198 - .incbin "baserom.gba", 0x12C198, 0x0000010 - -gUnk_0812C1A8:: @ 0812C1A8 - .incbin "baserom.gba", 0x12C1A8, 0x0000010 - -gUnk_0812C1B8:: @ 0812C1B8 - .incbin "baserom.gba", 0x12C1B8, 0x0000010 - -gUnk_0812C1C8:: @ 0812C1C8 - .incbin "baserom.gba", 0x12C1C8, 0x0000010 - -gUnk_0812C1D8:: @ 0812C1D8 - .incbin "baserom.gba", 0x12C1D8, 0x0000010 - -gUnk_0812C1E8:: @ 0812C1E8 - .incbin "baserom.gba", 0x12C1E8, 0x000000C - -gUnk_0812C1F4:: @ 0812C1F4 - .incbin "baserom.gba", 0x12C1F4, 0x000000C - -gUnk_0812C200:: @ 0812C200 - .incbin "baserom.gba", 0x12C200, 0x000000C - -gUnk_0812C20C:: @ 0812C20C - .incbin "baserom.gba", 0x12C20C, 0x000000C - -gUnk_0812C218:: @ 0812C218 - .incbin "baserom.gba", 0x12C218, 0x0000010 - -gUnk_0812C228:: @ 0812C228 - .incbin "baserom.gba", 0x12C228, 0x000000C - -gUnk_0812C234:: @ 0812C234 - .incbin "baserom.gba", 0x12C234, 0x000000C - -gUnk_0812C240:: @ 0812C240 - .incbin "baserom.gba", 0x12C240, 0x0000014 - -gUnk_0812C254:: @ 0812C254 - .incbin "baserom.gba", 0x12C254, 0x000000C - -gUnk_0812C260:: @ 0812C260 - .incbin "baserom.gba", 0x12C260, 0x000000C - -gUnk_0812C26C:: @ 0812C26C - .incbin "baserom.gba", 0x12C26C, 0x0000010 - -gUnk_0812C27C:: @ 0812C27C - .incbin "baserom.gba", 0x12C27C, 0x0000010 - -gUnk_0812C28C:: @ 0812C28C - .incbin "baserom.gba", 0x12C28C, 0x000000C - -gUnk_0812C298:: @ 0812C298 - .incbin "baserom.gba", 0x12C298, 0x0000004 - -gUnk_0812C29C:: @ 0812C29C - .incbin "baserom.gba", 0x12C29C, 0x0000010 - -gUnk_0812C2AC:: @ 0812C2AC - .incbin "baserom.gba", 0x12C2AC, 0x0000010 - -gUnk_0812C2BC:: @ 0812C2BC - .incbin "baserom.gba", 0x12C2BC, 0x0000010 - -gUnk_0812C2CC:: @ 0812C2CC - .incbin "baserom.gba", 0x12C2CC, 0x000000C - -gUnk_0812C2D8:: @ 0812C2D8 - .incbin "baserom.gba", 0x12C2D8, 0x000000C - -gUnk_0812C2E4:: @ 0812C2E4 - .incbin "baserom.gba", 0x12C2E4, 0x000000C - -gUnk_0812C2F0:: @ 0812C2F0 - .incbin "baserom.gba", 0x12C2F0, 0x000000C - -gUnk_0812C2FC:: @ 0812C2FC - .incbin "baserom.gba", 0x12C2FC, 0x000000C - -gUnk_0812C308:: @ 0812C308 - .incbin "baserom.gba", 0x12C308, 0x000000C - -gUnk_0812C314:: @ 0812C314 - .incbin "baserom.gba", 0x12C314, 0x0000010 - -gUnk_0812C324:: @ 0812C324 - .incbin "baserom.gba", 0x12C324, 0x0000010 - -gUnk_0812C334:: @ 0812C334 - .incbin "baserom.gba", 0x12C334, 0x0000010 - -gUnk_0812C344:: @ 0812C344 - .incbin "baserom.gba", 0x12C344, 0x0000010 - -gUnk_0812C354:: @ 0812C354 - .incbin "baserom.gba", 0x12C354, 0x0000010 - -gUnk_0812C364:: @ 0812C364 - .incbin "baserom.gba", 0x12C364, 0x000000C - -gUnk_0812C370:: @ 0812C370 - .incbin "baserom.gba", 0x12C370, 0x000000C - -gUnk_0812C37C:: @ 0812C37C - .incbin "baserom.gba", 0x12C37C, 0x000000C - -gUnk_0812C388:: @ 0812C388 - .incbin "baserom.gba", 0x12C388, 0x000000C - -gUnk_0812C394:: @ 0812C394 - .incbin "baserom.gba", 0x12C394, 0x000000C - -gUnk_0812C3A0:: @ 0812C3A0 - .incbin "baserom.gba", 0x12C3A0, 0x000000C - -gUnk_0812C3AC:: @ 0812C3AC - .incbin "baserom.gba", 0x12C3AC, 0x0000010 - -gUnk_0812C3BC:: @ 0812C3BC - .incbin "baserom.gba", 0x12C3BC, 0x0000010 - -gUnk_0812C3CC:: @ 0812C3CC - .incbin "baserom.gba", 0x12C3CC, 0x0000010 - -gUnk_0812C3DC:: @ 0812C3DC - .incbin "baserom.gba", 0x12C3DC, 0x0000010 - -gUnk_0812C3EC:: @ 0812C3EC - .incbin "baserom.gba", 0x12C3EC, 0x0000010 - -gUnk_0812C3FC:: @ 0812C3FC - .incbin "baserom.gba", 0x12C3FC, 0x0000014 - -gUnk_0812C410:: @ 0812C410 - .incbin "baserom.gba", 0x12C410, 0x0000010 - -gUnk_0812C420:: @ 0812C420 - .incbin "baserom.gba", 0x12C420, 0x0000014 - -gUnk_0812C434:: @ 0812C434 - .incbin "baserom.gba", 0x12C434, 0x0000010 - -gUnk_0812C444:: @ 0812C444 - .incbin "baserom.gba", 0x12C444, 0x0000010 - -gUnk_0812C454:: @ 0812C454 - .incbin "baserom.gba", 0x12C454, 0x0000010 - -gUnk_0812C464:: @ 0812C464 - .incbin "baserom.gba", 0x12C464, 0x0000010 - -gUnk_0812C474:: @ 0812C474 - .incbin "baserom.gba", 0x12C474, 0x0000010 - -gUnk_0812C484:: @ 0812C484 - .incbin "baserom.gba", 0x12C484, 0x0000010 - -gUnk_0812C494:: @ 0812C494 - .incbin "baserom.gba", 0x12C494, 0x0000010 - -gUnk_0812C4A4:: @ 0812C4A4 - .incbin "baserom.gba", 0x12C4A4, 0x0000010 - -gUnk_0812C4B4:: @ 0812C4B4 - .incbin "baserom.gba", 0x12C4B4, 0x0000014 - -gUnk_0812C4C8:: @ 0812C4C8 - .incbin "baserom.gba", 0x12C4C8, 0x0000014 - -gUnk_0812C4DC:: @ 0812C4DC - .incbin "baserom.gba", 0x12C4DC, 0x0000010 - -gUnk_0812C4EC:: @ 0812C4EC - .incbin "baserom.gba", 0x12C4EC, 0x0000010 - -gUnk_0812C4FC:: @ 0812C4FC - .incbin "baserom.gba", 0x12C4FC, 0x0000010 - -gUnk_0812C50C:: @ 0812C50C - .incbin "baserom.gba", 0x12C50C, 0x0000010 - -gUnk_0812C51C:: @ 0812C51C - .incbin "baserom.gba", 0x12C51C, 0x0000010 - -gUnk_0812C52C:: @ 0812C52C - .incbin "baserom.gba", 0x12C52C, 0x0000010 - -gUnk_0812C53C:: @ 0812C53C - .incbin "baserom.gba", 0x12C53C, 0x0000010 - -gUnk_0812C54C:: @ 0812C54C - .incbin "baserom.gba", 0x12C54C, 0x0000014 - -gUnk_0812C560:: @ 0812C560 - .incbin "baserom.gba", 0x12C560, 0x0000010 - -gUnk_0812C570:: @ 0812C570 - .incbin "baserom.gba", 0x12C570, 0x0000010 - -gUnk_0812C580:: @ 0812C580 - .incbin "baserom.gba", 0x12C580, 0x0000010 - -gUnk_0812C590:: @ 0812C590 - .incbin "baserom.gba", 0x12C590, 0x0000010 - -gUnk_0812C5A0:: @ 0812C5A0 - .incbin "baserom.gba", 0x12C5A0, 0x0000010 - -gUnk_0812C5B0:: @ 0812C5B0 - .incbin "baserom.gba", 0x12C5B0, 0x0000010 - -gUnk_0812C5C0:: @ 0812C5C0 - .incbin "baserom.gba", 0x12C5C0, 0x0000010 - -gUnk_0812C5D0:: @ 0812C5D0 - .incbin "baserom.gba", 0x12C5D0, 0x0000010 - -gUnk_0812C5E0:: @ 0812C5E0 - .incbin "baserom.gba", 0x12C5E0, 0x0000010 - -gUnk_0812C5F0:: @ 0812C5F0 - .incbin "baserom.gba", 0x12C5F0, 0x00000C8 - -gUnk_0812C6B8:: @ 0812C6B8 - .incbin "baserom.gba", 0x12C6B8, 0x000029C - -gUnk_0812C954:: @ 0812C954 - .incbin "baserom.gba", 0x12C954, 0x0000008 - -gUnk_0812C95C:: @ 0812C95C - .incbin "baserom.gba", 0x12C95C, 0x0000008 - -gUnk_0812C964:: @ 0812C964 - .incbin "baserom.gba", 0x12C964, 0x0000008 - -gUnk_0812C96C:: @ 0812C96C - .incbin "baserom.gba", 0x12C96C, 0x0000008 - -gUnk_0812C974:: @ 0812C974 - .incbin "baserom.gba", 0x12C974, 0x0000008 - -gUnk_0812C97C:: @ 0812C97C - .incbin "baserom.gba", 0x12C97C, 0x0000010 - -gUnk_0812C98C:: @ 0812C98C - .incbin "baserom.gba", 0x12C98C, 0x0000010 - -gUnk_0812C99C:: @ 0812C99C - .incbin "baserom.gba", 0x12C99C, 0x0000010 - -gUnk_0812C9AC:: @ 0812C9AC - .incbin "baserom.gba", 0x12C9AC, 0x0000010 - -gUnk_0812C9BC:: @ 0812C9BC - .incbin "baserom.gba", 0x12C9BC, 0x0000010 - -gUnk_0812C9CC:: @ 0812C9CC - .incbin "baserom.gba", 0x12C9CC, 0x0000010 - -gUnk_0812C9DC:: @ 0812C9DC - .incbin "baserom.gba", 0x12C9DC, 0x0000010 - -gUnk_0812C9EC:: @ 0812C9EC - .incbin "baserom.gba", 0x12C9EC, 0x0000010 - -gUnk_0812C9FC:: @ 0812C9FC - .incbin "baserom.gba", 0x12C9FC, 0x0000010 - -gUnk_0812CA0C:: @ 0812CA0C - .incbin "baserom.gba", 0x12CA0C, 0x0000010 - -gUnk_0812CA1C:: @ 0812CA1C - .incbin "baserom.gba", 0x12CA1C, 0x0000010 - -gUnk_0812CA2C:: @ 0812CA2C - .incbin "baserom.gba", 0x12CA2C, 0x0000010 - -gUnk_0812CA3C:: @ 0812CA3C - .incbin "baserom.gba", 0x12CA3C, 0x0000014 - -gUnk_0812CA50:: @ 0812CA50 - .incbin "baserom.gba", 0x12CA50, 0x0000014 - -gUnk_0812CA64:: @ 0812CA64 - .incbin "baserom.gba", 0x12CA64, 0x0000014 - -gUnk_0812CA78:: @ 0812CA78 - .incbin "baserom.gba", 0x12CA78, 0x0000014 - -gUnk_0812CA8C:: @ 0812CA8C - .incbin "baserom.gba", 0x12CA8C, 0x0000014 - -gUnk_0812CAA0:: @ 0812CAA0 - .incbin "baserom.gba", 0x12CAA0, 0x0000014 - -gUnk_0812CAB4:: @ 0812CAB4 - .incbin "baserom.gba", 0x12CAB4, 0x0000014 - -gUnk_0812CAC8:: @ 0812CAC8 - .incbin "baserom.gba", 0x12CAC8, 0x0000014 - -gUnk_0812CADC:: @ 0812CADC - .incbin "baserom.gba", 0x12CADC, 0x0000014 - -gUnk_0812CAF0:: @ 0812CAF0 - .incbin "baserom.gba", 0x12CAF0, 0x0000014 - -gUnk_0812CB04:: @ 0812CB04 - .incbin "baserom.gba", 0x12CB04, 0x0000018 - -gUnk_0812CB1C:: @ 0812CB1C - .incbin "baserom.gba", 0x12CB1C, 0x0000014 - -gUnk_0812CB30:: @ 0812CB30 - .incbin "baserom.gba", 0x12CB30, 0x0000014 - -gUnk_0812CB44:: @ 0812CB44 - .incbin "baserom.gba", 0x12CB44, 0x0000014 - -gUnk_0812CB58:: @ 0812CB58 - .incbin "baserom.gba", 0x12CB58, 0x0000014 - -gUnk_0812CB6C:: @ 0812CB6C - .incbin "baserom.gba", 0x12CB6C, 0x0000014 - -gUnk_0812CB80:: @ 0812CB80 - .incbin "baserom.gba", 0x12CB80, 0x0000010 - -gUnk_0812CB90:: @ 0812CB90 - .incbin "baserom.gba", 0x12CB90, 0x0000010 - -gUnk_0812CBA0:: @ 0812CBA0 - .incbin "baserom.gba", 0x12CBA0, 0x0000014 - -gUnk_0812CBB4:: @ 0812CBB4 - .incbin "baserom.gba", 0x12CBB4, 0x000000C - -gUnk_0812CBC0:: @ 0812CBC0 - .incbin "baserom.gba", 0x12CBC0, 0x0000014 - -gUnk_0812CBD4:: @ 0812CBD4 - .incbin "baserom.gba", 0x12CBD4, 0x000000C - -gUnk_0812CBE0:: @ 0812CBE0 - .incbin "baserom.gba", 0x12CBE0, 0x0000010 - -gUnk_0812CBF0:: @ 0812CBF0 - .incbin "baserom.gba", 0x12CBF0, 0x0000010 - -gUnk_0812CC00:: @ 0812CC00 - .incbin "baserom.gba", 0x12CC00, 0x0000010 - -gUnk_0812CC10:: @ 0812CC10 - .incbin "baserom.gba", 0x12CC10, 0x0000010 - -gUnk_0812CC20:: @ 0812CC20 - .incbin "baserom.gba", 0x12CC20, 0x0000010 - -gUnk_0812CC30:: @ 0812CC30 - .incbin "baserom.gba", 0x12CC30, 0x0000010 - -gUnk_0812CC40:: @ 0812CC40 - .incbin "baserom.gba", 0x12CC40, 0x0000014 - -gUnk_0812CC54:: @ 0812CC54 - .incbin "baserom.gba", 0x12CC54, 0x0000010 - -gUnk_0812CC64:: @ 0812CC64 - .incbin "baserom.gba", 0x12CC64, 0x0000010 - -gUnk_0812CC74:: @ 0812CC74 - .incbin "baserom.gba", 0x12CC74, 0x0000010 - -gUnk_0812CC84:: @ 0812CC84 - .incbin "baserom.gba", 0x12CC84, 0x0000010 - -gUnk_0812CC94:: @ 0812CC94 - .incbin "baserom.gba", 0x12CC94, 0x0000010 - -gUnk_0812CCA4:: @ 0812CCA4 - .incbin "baserom.gba", 0x12CCA4, 0x0000010 - -gUnk_0812CCB4:: @ 0812CCB4 - .incbin "baserom.gba", 0x12CCB4, 0x0000010 - -gUnk_0812CCC4:: @ 0812CCC4 - .incbin "baserom.gba", 0x12CCC4, 0x0000010 - -gUnk_0812CCD4:: @ 0812CCD4 - .incbin "baserom.gba", 0x12CCD4, 0x0000014 - -gUnk_0812CCE8:: @ 0812CCE8 - .incbin "baserom.gba", 0x12CCE8, 0x0000014 - -gUnk_0812CCFC:: @ 0812CCFC - .incbin "baserom.gba", 0x12CCFC, 0x000000C - -gUnk_0812CD08:: @ 0812CD08 - .incbin "baserom.gba", 0x12CD08, 0x000000C - -gUnk_0812CD14:: @ 0812CD14 - .incbin "baserom.gba", 0x12CD14, 0x000000C - -gUnk_0812CD20:: @ 0812CD20 - .incbin "baserom.gba", 0x12CD20, 0x000000C - -gUnk_0812CD2C:: @ 0812CD2C - .incbin "baserom.gba", 0x12CD2C, 0x000000C - -gUnk_0812CD38:: @ 0812CD38 - .incbin "baserom.gba", 0x12CD38, 0x0000014 - -gUnk_0812CD4C:: @ 0812CD4C - .incbin "baserom.gba", 0x12CD4C, 0x0000014 - -gUnk_0812CD60:: @ 0812CD60 - .incbin "baserom.gba", 0x12CD60, 0x0000010 - -gUnk_0812CD70:: @ 0812CD70 - .incbin "baserom.gba", 0x12CD70, 0x0000010 - -gUnk_0812CD80:: @ 0812CD80 - .incbin "baserom.gba", 0x12CD80, 0x0000014 - -gUnk_0812CD94:: @ 0812CD94 - .incbin "baserom.gba", 0x12CD94, 0x0000010 - -gUnk_0812CDA4:: @ 0812CDA4 - .incbin "baserom.gba", 0x12CDA4, 0x0000014 - -gUnk_0812CDB8:: @ 0812CDB8 - .incbin "baserom.gba", 0x12CDB8, 0x0000010 - -gUnk_0812CDC8:: @ 0812CDC8 - .incbin "baserom.gba", 0x12CDC8, 0x0000014 - -gUnk_0812CDDC:: @ 0812CDDC - .incbin "baserom.gba", 0x12CDDC, 0x0000010 - -gUnk_0812CDEC:: @ 0812CDEC - .incbin "baserom.gba", 0x12CDEC, 0x0000018 - -gUnk_0812CE04:: @ 0812CE04 - .incbin "baserom.gba", 0x12CE04, 0x0000018 - -gUnk_0812CE1C:: @ 0812CE1C - .incbin "baserom.gba", 0x12CE1C, 0x0000010 - -gUnk_0812CE2C:: @ 0812CE2C - .incbin "baserom.gba", 0x12CE2C, 0x0000010 - -gUnk_0812CE3C:: @ 0812CE3C - .incbin "baserom.gba", 0x12CE3C, 0x0000010 - -gUnk_0812CE4C:: @ 0812CE4C - .incbin "baserom.gba", 0x12CE4C, 0x0000010 - -gUnk_0812CE5C:: @ 0812CE5C - .incbin "baserom.gba", 0x12CE5C, 0x0000010 - -gUnk_0812CE6C:: @ 0812CE6C - .incbin "baserom.gba", 0x12CE6C, 0x0000010 - -gUnk_0812CE7C:: @ 0812CE7C - .incbin "baserom.gba", 0x12CE7C, 0x0000010 - -gUnk_0812CE8C:: @ 0812CE8C - .incbin "baserom.gba", 0x12CE8C, 0x0000010 - -gUnk_0812CE9C:: @ 0812CE9C - .incbin "baserom.gba", 0x12CE9C, 0x0000010 - -gUnk_0812CEAC:: @ 0812CEAC - .incbin "baserom.gba", 0x12CEAC, 0x0000010 - -gUnk_0812CEBC:: @ 0812CEBC - .incbin "baserom.gba", 0x12CEBC, 0x0000010 - -gUnk_0812CECC:: @ 0812CECC - .incbin "baserom.gba", 0x12CECC, 0x0000010 - -gUnk_0812CEDC:: @ 0812CEDC - .incbin "baserom.gba", 0x12CEDC, 0x0000010 - -gUnk_0812CEEC:: @ 0812CEEC - .incbin "baserom.gba", 0x12CEEC, 0x000000C - -gUnk_0812CEF8:: @ 0812CEF8 - .incbin "baserom.gba", 0x12CEF8, 0x000000C - -gUnk_0812CF04:: @ 0812CF04 - .incbin "baserom.gba", 0x12CF04, 0x000000C - -gUnk_0812CF10:: @ 0812CF10 - .incbin "baserom.gba", 0x12CF10, 0x000000C - -gUnk_0812CF1C:: @ 0812CF1C - .incbin "baserom.gba", 0x12CF1C, 0x000000C - -gUnk_0812CF28:: @ 0812CF28 - .incbin "baserom.gba", 0x12CF28, 0x000000C - -gUnk_0812CF34:: @ 0812CF34 - .incbin "baserom.gba", 0x12CF34, 0x000000C - -gUnk_0812CF40:: @ 0812CF40 - .incbin "baserom.gba", 0x12CF40, 0x000000C - -gUnk_0812CF4C:: @ 0812CF4C - .incbin "baserom.gba", 0x12CF4C, 0x0000018 - -gUnk_0812CF64:: @ 0812CF64 - .incbin "baserom.gba", 0x12CF64, 0x0000010 - -gUnk_0812CF74:: @ 0812CF74 - .incbin "baserom.gba", 0x12CF74, 0x0000018 - -gUnk_0812CF8C:: @ 0812CF8C - .incbin "baserom.gba", 0x12CF8C, 0x0000014 - -gUnk_0812CFA0:: @ 0812CFA0 - .incbin "baserom.gba", 0x12CFA0, 0x0000018 - -gUnk_0812CFB8:: @ 0812CFB8 - .incbin "baserom.gba", 0x12CFB8, 0x0000010 - -gUnk_0812CFC8:: @ 0812CFC8 - .incbin "baserom.gba", 0x12CFC8, 0x0000014 - -gUnk_0812CFDC:: @ 0812CFDC - .incbin "baserom.gba", 0x12CFDC, 0x0000014 - -gUnk_0812CFF0:: @ 0812CFF0 - .incbin "baserom.gba", 0x12CFF0, 0x0000010 - -gUnk_0812D000:: @ 0812D000 - .incbin "baserom.gba", 0x12D000, 0x0000014 - -gUnk_0812D014:: @ 0812D014 - .incbin "baserom.gba", 0x12D014, 0x0000010 - -gUnk_0812D024:: @ 0812D024 - .incbin "baserom.gba", 0x12D024, 0x0000010 - -gUnk_0812D034:: @ 0812D034 - .incbin "baserom.gba", 0x12D034, 0x0000010 - -gUnk_0812D044:: @ 0812D044 - .incbin "baserom.gba", 0x12D044, 0x0000014 - -gUnk_0812D058:: @ 0812D058 - .incbin "baserom.gba", 0x12D058, 0x0000018 - -gUnk_0812D070:: @ 0812D070 - .incbin "baserom.gba", 0x12D070, 0x0000014 - -gUnk_0812D084:: @ 0812D084 - .incbin "baserom.gba", 0x12D084, 0x0000014 - -gUnk_0812D098:: @ 0812D098 - .incbin "baserom.gba", 0x12D098, 0x0000010 - -gUnk_0812D0A8:: @ 0812D0A8 - .incbin "baserom.gba", 0x12D0A8, 0x0000014 - -gUnk_0812D0BC:: @ 0812D0BC - .incbin "baserom.gba", 0x12D0BC, 0x0000010 - -gUnk_0812D0CC:: @ 0812D0CC - .incbin "baserom.gba", 0x12D0CC, 0x0000014 - -gUnk_0812D0E0:: @ 0812D0E0 - .incbin "baserom.gba", 0x12D0E0, 0x0000010 - -gUnk_0812D0F0:: @ 0812D0F0 - .incbin "baserom.gba", 0x12D0F0, 0x0000010 - -gUnk_0812D100:: @ 0812D100 - .incbin "baserom.gba", 0x12D100, 0x000000C - -gUnk_0812D10C:: @ 0812D10C - .incbin "baserom.gba", 0x12D10C, 0x0000010 - -gUnk_0812D11C:: @ 0812D11C - .incbin "baserom.gba", 0x12D11C, 0x0000010 - -gUnk_0812D12C:: @ 0812D12C - .incbin "baserom.gba", 0x12D12C, 0x0000010 - -gUnk_0812D13C:: @ 0812D13C - .incbin "baserom.gba", 0x12D13C, 0x000000C - -gUnk_0812D148:: @ 0812D148 - .incbin "baserom.gba", 0x12D148, 0x000000C - -gUnk_0812D154:: @ 0812D154 - .incbin "baserom.gba", 0x12D154, 0x0000010 - -gUnk_0812D164:: @ 0812D164 - .incbin "baserom.gba", 0x12D164, 0x0000010 - -gUnk_0812D174:: @ 0812D174 - .incbin "baserom.gba", 0x12D174, 0x0000010 - -gUnk_0812D184:: @ 0812D184 - .incbin "baserom.gba", 0x12D184, 0x0000010 - -gUnk_0812D194:: @ 0812D194 - .incbin "baserom.gba", 0x12D194, 0x0000010 - -gUnk_0812D1A4:: @ 0812D1A4 - .incbin "baserom.gba", 0x12D1A4, 0x0000010 - -gUnk_0812D1B4:: @ 0812D1B4 - .incbin "baserom.gba", 0x12D1B4, 0x0000010 - -gUnk_0812D1C4:: @ 0812D1C4 - .incbin "baserom.gba", 0x12D1C4, 0x0000010 - -gUnk_0812D1D4:: @ 0812D1D4 - .incbin "baserom.gba", 0x12D1D4, 0x0000010 - -gUnk_0812D1E4:: @ 0812D1E4 - .incbin "baserom.gba", 0x12D1E4, 0x0000010 - -gUnk_0812D1F4:: @ 0812D1F4 - .incbin "baserom.gba", 0x12D1F4, 0x0000010 - -gUnk_0812D204:: @ 0812D204 - .incbin "baserom.gba", 0x12D204, 0x0000010 - -gUnk_0812D214:: @ 0812D214 - .incbin "baserom.gba", 0x12D214, 0x0000010 - -gUnk_0812D224:: @ 0812D224 - .incbin "baserom.gba", 0x12D224, 0x0000010 - -gUnk_0812D234:: @ 0812D234 - .incbin "baserom.gba", 0x12D234, 0x0000010 - -gUnk_0812D244:: @ 0812D244 - .incbin "baserom.gba", 0x12D244, 0x0000010 - -gUnk_0812D254:: @ 0812D254 - .incbin "baserom.gba", 0x12D254, 0x0000010 - -gUnk_0812D264:: @ 0812D264 - .incbin "baserom.gba", 0x12D264, 0x0000010 - -gUnk_0812D274:: @ 0812D274 - .incbin "baserom.gba", 0x12D274, 0x0000010 - -gUnk_0812D284:: @ 0812D284 - .incbin "baserom.gba", 0x12D284, 0x000000C - -gUnk_0812D290:: @ 0812D290 - .incbin "baserom.gba", 0x12D290, 0x000000C - -gUnk_0812D29C:: @ 0812D29C - .incbin "baserom.gba", 0x12D29C, 0x000000C - -gUnk_0812D2A8:: @ 0812D2A8 - .incbin "baserom.gba", 0x12D2A8, 0x000000C - -gUnk_0812D2B4:: @ 0812D2B4 - .incbin "baserom.gba", 0x12D2B4, 0x000000C - -gUnk_0812D2C0:: @ 0812D2C0 - .incbin "baserom.gba", 0x12D2C0, 0x000000C - -gUnk_0812D2CC:: @ 0812D2CC - .incbin "baserom.gba", 0x12D2CC, 0x000000C - -gUnk_0812D2D8:: @ 0812D2D8 - .incbin "baserom.gba", 0x12D2D8, 0x000000C - -gUnk_0812D2E4:: @ 0812D2E4 - .incbin "baserom.gba", 0x12D2E4, 0x000000C - -gUnk_0812D2F0:: @ 0812D2F0 - .incbin "baserom.gba", 0x12D2F0, 0x000000C - -gUnk_0812D2FC:: @ 0812D2FC - .incbin "baserom.gba", 0x12D2FC, 0x000000C - -gUnk_0812D308:: @ 0812D308 - .incbin "baserom.gba", 0x12D308, 0x000000C - -gUnk_0812D314:: @ 0812D314 - .incbin "baserom.gba", 0x12D314, 0x000000C - -gUnk_0812D320:: @ 0812D320 - .incbin "baserom.gba", 0x12D320, 0x000000C - -gUnk_0812D32C:: @ 0812D32C - .incbin "baserom.gba", 0x12D32C, 0x000000C - -gUnk_0812D338:: @ 0812D338 - .incbin "baserom.gba", 0x12D338, 0x000000C - -gUnk_0812D344:: @ 0812D344 - .incbin "baserom.gba", 0x12D344, 0x000000C - -gUnk_0812D350:: @ 0812D350 - .incbin "baserom.gba", 0x12D350, 0x000000C - -gUnk_0812D35C:: @ 0812D35C - .incbin "baserom.gba", 0x12D35C, 0x000000C - -gUnk_0812D368:: @ 0812D368 - .incbin "baserom.gba", 0x12D368, 0x000000C - -gUnk_0812D374:: @ 0812D374 - .incbin "baserom.gba", 0x12D374, 0x000000C - -gUnk_0812D380:: @ 0812D380 - .incbin "baserom.gba", 0x12D380, 0x000000C - -gUnk_0812D38C:: @ 0812D38C - .incbin "baserom.gba", 0x12D38C, 0x000000C - -gUnk_0812D398:: @ 0812D398 - .incbin "baserom.gba", 0x12D398, 0x000000C - -gUnk_0812D3A4:: @ 0812D3A4 - .incbin "baserom.gba", 0x12D3A4, 0x000000C - -gUnk_0812D3B0:: @ 0812D3B0 - .incbin "baserom.gba", 0x12D3B0, 0x000000C - -gUnk_0812D3BC:: @ 0812D3BC - .incbin "baserom.gba", 0x12D3BC, 0x000000C - -gUnk_0812D3C8:: @ 0812D3C8 - .incbin "baserom.gba", 0x12D3C8, 0x0000014 - -gUnk_0812D3DC:: @ 0812D3DC - .incbin "baserom.gba", 0x12D3DC, 0x0000014 - -gUnk_0812D3F0:: @ 0812D3F0 - .incbin "baserom.gba", 0x12D3F0, 0x0000018 - -gUnk_0812D408:: @ 0812D408 - .incbin "baserom.gba", 0x12D408, 0x0000014 - -gUnk_0812D41C:: @ 0812D41C - .incbin "baserom.gba", 0x12D41C, 0x0000010 - -gUnk_0812D42C:: @ 0812D42C - .incbin "baserom.gba", 0x12D42C, 0x0000010 - -gUnk_0812D43C:: @ 0812D43C - .incbin "baserom.gba", 0x12D43C, 0x0000010 - -gUnk_0812D44C:: @ 0812D44C - .incbin "baserom.gba", 0x12D44C, 0x0000010 - -gUnk_0812D45C:: @ 0812D45C - .incbin "baserom.gba", 0x12D45C, 0x0000010 - -gUnk_0812D46C:: @ 0812D46C - .incbin "baserom.gba", 0x12D46C, 0x0000010 - -gUnk_0812D47C:: @ 0812D47C - .incbin "baserom.gba", 0x12D47C, 0x0000010 - -gUnk_0812D48C:: @ 0812D48C - .incbin "baserom.gba", 0x12D48C, 0x0000010 - -gUnk_0812D49C:: @ 0812D49C - .incbin "baserom.gba", 0x12D49C, 0x0000014 - -gUnk_0812D4B0:: @ 0812D4B0 - .incbin "baserom.gba", 0x12D4B0, 0x0000014 - -gUnk_0812D4C4:: @ 0812D4C4 - .incbin "baserom.gba", 0x12D4C4, 0x0000014 - -gUnk_0812D4D8:: @ 0812D4D8 - .incbin "baserom.gba", 0x12D4D8, 0x0000014 - -gUnk_0812D4EC:: @ 0812D4EC - .incbin "baserom.gba", 0x12D4EC, 0x0000014 - -gUnk_0812D500:: @ 0812D500 - .incbin "baserom.gba", 0x12D500, 0x000000C - -gUnk_0812D50C:: @ 0812D50C - .incbin "baserom.gba", 0x12D50C, 0x000000C - -gUnk_0812D518:: @ 0812D518 - .incbin "baserom.gba", 0x12D518, 0x000000C - -gUnk_0812D524:: @ 0812D524 - .incbin "baserom.gba", 0x12D524, 0x000000C - -gUnk_0812D530:: @ 0812D530 - .incbin "baserom.gba", 0x12D530, 0x0000010 - -gUnk_0812D540:: @ 0812D540 - .incbin "baserom.gba", 0x12D540, 0x0000010 - -gUnk_0812D550:: @ 0812D550 - .incbin "baserom.gba", 0x12D550, 0x0000010 - -gUnk_0812D560:: @ 0812D560 - .incbin "baserom.gba", 0x12D560, 0x0000010 - -gUnk_0812D570:: @ 0812D570 - .incbin "baserom.gba", 0x12D570, 0x0000010 - -gUnk_0812D580:: @ 0812D580 - .incbin "baserom.gba", 0x12D580, 0x0000010 - -gUnk_0812D590:: @ 0812D590 - .incbin "baserom.gba", 0x12D590, 0x0000010 - -gUnk_0812D5A0:: @ 0812D5A0 - .incbin "baserom.gba", 0x12D5A0, 0x0000010 - -gUnk_0812D5B0:: @ 0812D5B0 - .incbin "baserom.gba", 0x12D5B0, 0x0000010 - -gUnk_0812D5C0:: @ 0812D5C0 - .incbin "baserom.gba", 0x12D5C0, 0x0000010 - -gUnk_0812D5D0:: @ 0812D5D0 - .incbin "baserom.gba", 0x12D5D0, 0x0000010 - -gUnk_0812D5E0:: @ 0812D5E0 - .incbin "baserom.gba", 0x12D5E0, 0x0000010 - -gUnk_0812D5F0:: @ 0812D5F0 - .incbin "baserom.gba", 0x12D5F0, 0x0000010 - -gUnk_0812D600:: @ 0812D600 - .incbin "baserom.gba", 0x12D600, 0x0000010 - -gUnk_0812D610:: @ 0812D610 - .incbin "baserom.gba", 0x12D610, 0x0000010 - -gUnk_0812D620:: @ 0812D620 - .incbin "baserom.gba", 0x12D620, 0x0000010 - -gUnk_0812D630:: @ 0812D630 - .incbin "baserom.gba", 0x12D630, 0x0000010 - -gUnk_0812D640:: @ 0812D640 - .incbin "baserom.gba", 0x12D640, 0x0000018 - -gUnk_0812D658:: @ 0812D658 - .incbin "baserom.gba", 0x12D658, 0x0000018 - -gUnk_0812D670:: @ 0812D670 - .incbin "baserom.gba", 0x12D670, 0x0000018 - -gUnk_0812D688:: @ 0812D688 - .incbin "baserom.gba", 0x12D688, 0x0000340 - -gUnk_0812D9C8:: @ 0812D9C8 - .incbin "baserom.gba", 0x12D9C8, 0x0000008 - -gUnk_0812D9D0:: @ 0812D9D0 - .incbin "baserom.gba", 0x12D9D0, 0x0000018 - -gUnk_0812D9E8:: @ 0812D9E8 - .incbin "baserom.gba", 0x12D9E8, 0x000000C - -gUnk_0812D9F4:: @ 0812D9F4 - .incbin "baserom.gba", 0x12D9F4, 0x0000010 - -gUnk_0812DA04:: @ 0812DA04 - .incbin "baserom.gba", 0x12DA04, 0x0000010 - -gUnk_0812DA14:: @ 0812DA14 - .incbin "baserom.gba", 0x12DA14, 0x0000014 - -gUnk_0812DA28:: @ 0812DA28 - .incbin "baserom.gba", 0x12DA28, 0x0000018 - -gUnk_0812DA40:: @ 0812DA40 - .incbin "baserom.gba", 0x12DA40, 0x0000014 - -gUnk_0812DA54:: @ 0812DA54 - .incbin "baserom.gba", 0x12DA54, 0x0000014 - -gUnk_0812DA68:: @ 0812DA68 - .incbin "baserom.gba", 0x12DA68, 0x0000018 - -gUnk_0812DA80:: @ 0812DA80 - .incbin "baserom.gba", 0x12DA80, 0x0000018 - -gUnk_0812DA98:: @ 0812DA98 - .incbin "baserom.gba", 0x12DA98, 0x000000C - -gUnk_0812DAA4:: @ 0812DAA4 - .incbin "baserom.gba", 0x12DAA4, 0x000000C - -gUnk_0812DAB0:: @ 0812DAB0 - .incbin "baserom.gba", 0x12DAB0, 0x0000010 - -gUnk_0812DAC0:: @ 0812DAC0 - .incbin "baserom.gba", 0x12DAC0, 0x0000014 - -gUnk_0812DAD4:: @ 0812DAD4 - .incbin "baserom.gba", 0x12DAD4, 0x0000010 - -gUnk_0812DAE4:: @ 0812DAE4 - .incbin "baserom.gba", 0x12DAE4, 0x0000010 - -gUnk_0812DAF4:: @ 0812DAF4 - .incbin "baserom.gba", 0x12DAF4, 0x0000010 - -gUnk_0812DB04:: @ 0812DB04 - .incbin "baserom.gba", 0x12DB04, 0x0000010 - -gUnk_0812DB14:: @ 0812DB14 - .incbin "baserom.gba", 0x12DB14, 0x0000010 - -gUnk_0812DB24:: @ 0812DB24 - .incbin "baserom.gba", 0x12DB24, 0x0000010 - -gUnk_0812DB34:: @ 0812DB34 - .incbin "baserom.gba", 0x12DB34, 0x0000010 - -gUnk_0812DB44:: @ 0812DB44 - .incbin "baserom.gba", 0x12DB44, 0x0000010 - -gUnk_0812DB54:: @ 0812DB54 - .incbin "baserom.gba", 0x12DB54, 0x0000010 - -gUnk_0812DB64:: @ 0812DB64 - .incbin "baserom.gba", 0x12DB64, 0x0000010 - -gUnk_0812DB74:: @ 0812DB74 - .incbin "baserom.gba", 0x12DB74, 0x0000010 - -gUnk_0812DB84:: @ 0812DB84 - .incbin "baserom.gba", 0x12DB84, 0x0000010 - -gUnk_0812DB94:: @ 0812DB94 - .incbin "baserom.gba", 0x12DB94, 0x0000014 - -gUnk_0812DBA8:: @ 0812DBA8 - .incbin "baserom.gba", 0x12DBA8, 0x0000010 - -gUnk_0812DBB8:: @ 0812DBB8 - .incbin "baserom.gba", 0x12DBB8, 0x0000010 - -gUnk_0812DBC8:: @ 0812DBC8 - .incbin "baserom.gba", 0x12DBC8, 0x0000010 - -gUnk_0812DBD8:: @ 0812DBD8 - .incbin "baserom.gba", 0x12DBD8, 0x0000010 - -gUnk_0812DBE8:: @ 0812DBE8 - .incbin "baserom.gba", 0x12DBE8, 0x0000010 - -gUnk_0812DBF8:: @ 0812DBF8 - .incbin "baserom.gba", 0x12DBF8, 0x0000010 - -gUnk_0812DC08:: @ 0812DC08 - .incbin "baserom.gba", 0x12DC08, 0x0000010 - -gUnk_0812DC18:: @ 0812DC18 - .incbin "baserom.gba", 0x12DC18, 0x000000C - -gUnk_0812DC24:: @ 0812DC24 - .incbin "baserom.gba", 0x12DC24, 0x000000C - -gUnk_0812DC30:: @ 0812DC30 - .incbin "baserom.gba", 0x12DC30, 0x000000C - -gUnk_0812DC3C:: @ 0812DC3C - .incbin "baserom.gba", 0x12DC3C, 0x000000C - -gUnk_0812DC48:: @ 0812DC48 - .incbin "baserom.gba", 0x12DC48, 0x000000C - -gUnk_0812DC54:: @ 0812DC54 - .incbin "baserom.gba", 0x12DC54, 0x000000C - -gUnk_0812DC60:: @ 0812DC60 - .incbin "baserom.gba", 0x12DC60, 0x000000C - -gUnk_0812DC6C:: @ 0812DC6C - .incbin "baserom.gba", 0x12DC6C, 0x000000C - -gUnk_0812DC78:: @ 0812DC78 - .incbin "baserom.gba", 0x12DC78, 0x000000C - -gUnk_0812DC84:: @ 0812DC84 - .incbin "baserom.gba", 0x12DC84, 0x000000C - -gUnk_0812DC90:: @ 0812DC90 - .incbin "baserom.gba", 0x12DC90, 0x000000C - -gUnk_0812DC9C:: @ 0812DC9C - .incbin "baserom.gba", 0x12DC9C, 0x000000C - -gUnk_0812DCA8:: @ 0812DCA8 - .incbin "baserom.gba", 0x12DCA8, 0x000000C - -gUnk_0812DCB4:: @ 0812DCB4 - .incbin "baserom.gba", 0x12DCB4, 0x000000C - -gUnk_0812DCC0:: @ 0812DCC0 - .incbin "baserom.gba", 0x12DCC0, 0x000000C - -gUnk_0812DCCC:: @ 0812DCCC - .incbin "baserom.gba", 0x12DCCC, 0x000000C - -gUnk_0812DCD8:: @ 0812DCD8 - .incbin "baserom.gba", 0x12DCD8, 0x0000014 - -gUnk_0812DCEC:: @ 0812DCEC - .incbin "baserom.gba", 0x12DCEC, 0x0000014 - -gUnk_0812DD00:: @ 0812DD00 - .incbin "baserom.gba", 0x12DD00, 0x0000004 - -gUnk_0812DD04:: @ 0812DD04 - .incbin "baserom.gba", 0x12DD04, 0x0000008 - -gUnk_0812DD0C:: @ 0812DD0C - .incbin "baserom.gba", 0x12DD0C, 0x000000C - -gUnk_0812DD18:: @ 0812DD18 - .incbin "baserom.gba", 0x12DD18, 0x000000C - -gUnk_0812DD24:: @ 0812DD24 - .incbin "baserom.gba", 0x12DD24, 0x000000C - -gUnk_0812DD30:: @ 0812DD30 - .incbin "baserom.gba", 0x12DD30, 0x000000C - -gUnk_0812DD3C:: @ 0812DD3C - .incbin "baserom.gba", 0x12DD3C, 0x000000C - -gUnk_0812DD48:: @ 0812DD48 - .incbin "baserom.gba", 0x12DD48, 0x000000C - -gUnk_0812DD54:: @ 0812DD54 - .incbin "baserom.gba", 0x12DD54, 0x000000C - -gUnk_0812DD60:: @ 0812DD60 - .incbin "baserom.gba", 0x12DD60, 0x000000C - -gUnk_0812DD6C:: @ 0812DD6C - .incbin "baserom.gba", 0x12DD6C, 0x000000C - -gUnk_0812DD78:: @ 0812DD78 - .incbin "baserom.gba", 0x12DD78, 0x000000C - -gUnk_0812DD84:: @ 0812DD84 - .incbin "baserom.gba", 0x12DD84, 0x000000C - -gUnk_0812DD90:: @ 0812DD90 - .incbin "baserom.gba", 0x12DD90, 0x000000C - -gUnk_0812DD9C:: @ 0812DD9C - .incbin "baserom.gba", 0x12DD9C, 0x000000C - -gUnk_0812DDA8:: @ 0812DDA8 - .incbin "baserom.gba", 0x12DDA8, 0x000000C - -gUnk_0812DDB4:: @ 0812DDB4 - .incbin "baserom.gba", 0x12DDB4, 0x000000C - -gUnk_0812DDC0:: @ 0812DDC0 - .incbin "baserom.gba", 0x12DDC0, 0x000000C - -gUnk_0812DDCC:: @ 0812DDCC - .incbin "baserom.gba", 0x12DDCC, 0x0000014 - -gUnk_0812DDE0:: @ 0812DDE0 - .incbin "baserom.gba", 0x12DDE0, 0x0000014 - -gUnk_0812DDF4:: @ 0812DDF4 - .incbin "baserom.gba", 0x12DDF4, 0x0000014 - -gUnk_0812DE08:: @ 0812DE08 - .incbin "baserom.gba", 0x12DE08, 0x0000014 - -gUnk_0812DE1C:: @ 0812DE1C - .incbin "baserom.gba", 0x12DE1C, 0x0000014 - -gUnk_0812DE30:: @ 0812DE30 - .incbin "baserom.gba", 0x12DE30, 0x0000010 - -gUnk_0812DE40:: @ 0812DE40 - .incbin "baserom.gba", 0x12DE40, 0x0000014 - -gUnk_0812DE54:: @ 0812DE54 - .incbin "baserom.gba", 0x12DE54, 0x0000014 - -gUnk_0812DE68:: @ 0812DE68 - .incbin "baserom.gba", 0x12DE68, 0x0000014 - -gUnk_0812DE7C:: @ 0812DE7C - .incbin "baserom.gba", 0x12DE7C, 0x0000010 - -gUnk_0812DE8C:: @ 0812DE8C - .incbin "baserom.gba", 0x12DE8C, 0x0000018 - -gUnk_0812DEA4:: @ 0812DEA4 - .incbin "baserom.gba", 0x12DEA4, 0x000000C - -gUnk_0812DEB0:: @ 0812DEB0 - .incbin "baserom.gba", 0x12DEB0, 0x000000C - -gUnk_0812DEBC:: @ 0812DEBC - .incbin "baserom.gba", 0x12DEBC, 0x000000C - -gUnk_0812DEC8:: @ 0812DEC8 - .incbin "baserom.gba", 0x12DEC8, 0x000000C - -gUnk_0812DED4:: @ 0812DED4 - .incbin "baserom.gba", 0x12DED4, 0x000000C - -gUnk_0812DEE0:: @ 0812DEE0 - .incbin "baserom.gba", 0x12DEE0, 0x000000C - -gUnk_0812DEEC:: @ 0812DEEC - .incbin "baserom.gba", 0x12DEEC, 0x000000C - -gUnk_0812DEF8:: @ 0812DEF8 - .incbin "baserom.gba", 0x12DEF8, 0x000000C - -gUnk_0812DF04:: @ 0812DF04 - .incbin "baserom.gba", 0x12DF04, 0x000000C - -gUnk_0812DF10:: @ 0812DF10 - .incbin "baserom.gba", 0x12DF10, 0x000000C - -gUnk_0812DF1C:: @ 0812DF1C - .incbin "baserom.gba", 0x12DF1C, 0x000000C - -gUnk_0812DF28:: @ 0812DF28 - .incbin "baserom.gba", 0x12DF28, 0x000000C - -gUnk_0812DF34:: @ 0812DF34 - .incbin "baserom.gba", 0x12DF34, 0x000000C - -gUnk_0812DF40:: @ 0812DF40 - .incbin "baserom.gba", 0x12DF40, 0x000000C - -gUnk_0812DF4C:: @ 0812DF4C - .incbin "baserom.gba", 0x12DF4C, 0x000000C - -gUnk_0812DF58:: @ 0812DF58 - .incbin "baserom.gba", 0x12DF58, 0x000000C - -gUnk_0812DF64:: @ 0812DF64 - .incbin "baserom.gba", 0x12DF64, 0x000000C - -gUnk_0812DF70:: @ 0812DF70 - .incbin "baserom.gba", 0x12DF70, 0x0000010 - -gUnk_0812DF80:: @ 0812DF80 - .incbin "baserom.gba", 0x12DF80, 0x0000010 - -gUnk_0812DF90:: @ 0812DF90 - .incbin "baserom.gba", 0x12DF90, 0x0000010 - -gUnk_0812DFA0:: @ 0812DFA0 - .incbin "baserom.gba", 0x12DFA0, 0x0000010 - -gUnk_0812DFB0:: @ 0812DFB0 - .incbin "baserom.gba", 0x12DFB0, 0x0000010 - -gUnk_0812DFC0:: @ 0812DFC0 - .incbin "baserom.gba", 0x12DFC0, 0x0000010 - -gUnk_0812DFD0:: @ 0812DFD0 - .incbin "baserom.gba", 0x12DFD0, 0x0000010 - -gUnk_0812DFE0:: @ 0812DFE0 - .incbin "baserom.gba", 0x12DFE0, 0x0000010 - -gUnk_0812DFF0:: @ 0812DFF0 - .incbin "baserom.gba", 0x12DFF0, 0x0000010 - -gUnk_0812E000:: @ 0812E000 - .incbin "baserom.gba", 0x12E000, 0x0000010 - -gUnk_0812E010:: @ 0812E010 - .incbin "baserom.gba", 0x12E010, 0x0000010 - -gUnk_0812E020:: @ 0812E020 - .incbin "baserom.gba", 0x12E020, 0x0000010 - -gUnk_0812E030:: @ 0812E030 - .incbin "baserom.gba", 0x12E030, 0x0000010 - -gUnk_0812E040:: @ 0812E040 - .incbin "baserom.gba", 0x12E040, 0x0000010 - -gUnk_0812E050:: @ 0812E050 - .incbin "baserom.gba", 0x12E050, 0x0000010 - -gUnk_0812E060:: @ 0812E060 - .incbin "baserom.gba", 0x12E060, 0x0000010 - -gUnk_0812E070:: @ 0812E070 - .incbin "baserom.gba", 0x12E070, 0x0000010 - -gUnk_0812E080:: @ 0812E080 - .incbin "baserom.gba", 0x12E080, 0x0000010 - -gUnk_0812E090:: @ 0812E090 - .incbin "baserom.gba", 0x12E090, 0x0000010 - -gUnk_0812E0A0:: @ 0812E0A0 - .incbin "baserom.gba", 0x12E0A0, 0x0000010 - -gUnk_0812E0B0:: @ 0812E0B0 - .incbin "baserom.gba", 0x12E0B0, 0x0000010 - -gUnk_0812E0C0:: @ 0812E0C0 - .incbin "baserom.gba", 0x12E0C0, 0x0000010 - -gUnk_0812E0D0:: @ 0812E0D0 - .incbin "baserom.gba", 0x12E0D0, 0x0000010 - -gUnk_0812E0E0:: @ 0812E0E0 - .incbin "baserom.gba", 0x12E0E0, 0x0000010 - -gUnk_0812E0F0:: @ 0812E0F0 - .incbin "baserom.gba", 0x12E0F0, 0x0000010 - -gUnk_0812E100:: @ 0812E100 - .incbin "baserom.gba", 0x12E100, 0x0000010 - -gUnk_0812E110:: @ 0812E110 - .incbin "baserom.gba", 0x12E110, 0x0000010 - -gUnk_0812E120:: @ 0812E120 - .incbin "baserom.gba", 0x12E120, 0x0000010 - -gUnk_0812E130:: @ 0812E130 - .incbin "baserom.gba", 0x12E130, 0x0000010 - -gUnk_0812E140:: @ 0812E140 - .incbin "baserom.gba", 0x12E140, 0x0000010 - -gUnk_0812E150:: @ 0812E150 - .incbin "baserom.gba", 0x12E150, 0x0000010 - -gUnk_0812E160:: @ 0812E160 - .incbin "baserom.gba", 0x12E160, 0x0000010 - -gUnk_0812E170:: @ 0812E170 - .incbin "baserom.gba", 0x12E170, 0x0000010 - -gUnk_0812E180:: @ 0812E180 - .incbin "baserom.gba", 0x12E180, 0x0000010 - -gUnk_0812E190:: @ 0812E190 - .incbin "baserom.gba", 0x12E190, 0x0000010 - -gUnk_0812E1A0:: @ 0812E1A0 - .incbin "baserom.gba", 0x12E1A0, 0x0000010 - -gUnk_0812E1B0:: @ 0812E1B0 - .incbin "baserom.gba", 0x12E1B0, 0x0000010 - -gUnk_0812E1C0:: @ 0812E1C0 - .incbin "baserom.gba", 0x12E1C0, 0x0000010 - -gUnk_0812E1D0:: @ 0812E1D0 - .incbin "baserom.gba", 0x12E1D0, 0x0000010 - -gUnk_0812E1E0:: @ 0812E1E0 - .incbin "baserom.gba", 0x12E1E0, 0x0000010 - -gUnk_0812E1F0:: @ 0812E1F0 - .incbin "baserom.gba", 0x12E1F0, 0x0000010 - -gUnk_0812E200:: @ 0812E200 - .incbin "baserom.gba", 0x12E200, 0x0000010 - -gUnk_0812E210:: @ 0812E210 - .incbin "baserom.gba", 0x12E210, 0x0000010 - -gUnk_0812E220:: @ 0812E220 - .incbin "baserom.gba", 0x12E220, 0x0000010 - -gUnk_0812E230:: @ 0812E230 - .incbin "baserom.gba", 0x12E230, 0x0000010 - -gUnk_0812E240:: @ 0812E240 - .incbin "baserom.gba", 0x12E240, 0x0000010 - -gUnk_0812E250:: @ 0812E250 - .incbin "baserom.gba", 0x12E250, 0x0000010 - -gUnk_0812E260:: @ 0812E260 - .incbin "baserom.gba", 0x12E260, 0x0000010 - -gUnk_0812E270:: @ 0812E270 - .incbin "baserom.gba", 0x12E270, 0x0000010 - -gUnk_0812E280:: @ 0812E280 - .incbin "baserom.gba", 0x12E280, 0x0000010 - -gUnk_0812E290:: @ 0812E290 - .incbin "baserom.gba", 0x12E290, 0x0000010 - -gUnk_0812E2A0:: @ 0812E2A0 - .incbin "baserom.gba", 0x12E2A0, 0x0000010 - -gUnk_0812E2B0:: @ 0812E2B0 - .incbin "baserom.gba", 0x12E2B0, 0x000000C - -gUnk_0812E2BC:: @ 0812E2BC - .incbin "baserom.gba", 0x12E2BC, 0x0000010 - -gUnk_0812E2CC:: @ 0812E2CC - .incbin "baserom.gba", 0x12E2CC, 0x000000C - -gUnk_0812E2D8:: @ 0812E2D8 - .incbin "baserom.gba", 0x12E2D8, 0x000000C - -gUnk_0812E2E4:: @ 0812E2E4 - .incbin "baserom.gba", 0x12E2E4, 0x000000C - -gUnk_0812E2F0:: @ 0812E2F0 - .incbin "baserom.gba", 0x12E2F0, 0x000000C - -gUnk_0812E2FC:: @ 0812E2FC - .incbin "baserom.gba", 0x12E2FC, 0x0000010 - -gUnk_0812E30C:: @ 0812E30C - .incbin "baserom.gba", 0x12E30C, 0x0000010 - -gUnk_0812E31C:: @ 0812E31C - .incbin "baserom.gba", 0x12E31C, 0x0000010 - -gUnk_0812E32C:: @ 0812E32C - .incbin "baserom.gba", 0x12E32C, 0x0000010 - -gUnk_0812E33C:: @ 0812E33C - .incbin "baserom.gba", 0x12E33C, 0x0000010 - -gUnk_0812E34C:: @ 0812E34C - .incbin "baserom.gba", 0x12E34C, 0x0000010 - -gUnk_0812E35C:: @ 0812E35C - .incbin "baserom.gba", 0x12E35C, 0x0000010 - -gUnk_0812E36C:: @ 0812E36C - .incbin "baserom.gba", 0x12E36C, 0x0000010 - -gUnk_0812E37C:: @ 0812E37C - .incbin "baserom.gba", 0x12E37C, 0x0000010 - -gUnk_0812E38C:: @ 0812E38C - .incbin "baserom.gba", 0x12E38C, 0x0000010 - -gUnk_0812E39C:: @ 0812E39C - .incbin "baserom.gba", 0x12E39C, 0x0000010 - -gUnk_0812E3AC:: @ 0812E3AC - .incbin "baserom.gba", 0x12E3AC, 0x0000010 - -gUnk_0812E3BC:: @ 0812E3BC - .incbin "baserom.gba", 0x12E3BC, 0x0000010 - -gUnk_0812E3CC:: @ 0812E3CC - .incbin "baserom.gba", 0x12E3CC, 0x0000010 - -gUnk_0812E3DC:: @ 0812E3DC - .incbin "baserom.gba", 0x12E3DC, 0x0000010 - -gUnk_0812E3EC:: @ 0812E3EC - .incbin "baserom.gba", 0x12E3EC, 0x0000010 - -gUnk_0812E3FC:: @ 0812E3FC - .incbin "baserom.gba", 0x12E3FC, 0x0000010 - -gUnk_0812E40C:: @ 0812E40C - .incbin "baserom.gba", 0x12E40C, 0x0000010 - -gUnk_0812E41C:: @ 0812E41C - .incbin "baserom.gba", 0x12E41C, 0x0000010 - -gUnk_0812E42C:: @ 0812E42C - .incbin "baserom.gba", 0x12E42C, 0x0000010 - -gUnk_0812E43C:: @ 0812E43C - .incbin "baserom.gba", 0x12E43C, 0x0000010 - -gUnk_0812E44C:: @ 0812E44C - .incbin "baserom.gba", 0x12E44C, 0x0000010 - -gUnk_0812E45C:: @ 0812E45C - .incbin "baserom.gba", 0x12E45C, 0x0000010 - -gUnk_0812E46C:: @ 0812E46C - .incbin "baserom.gba", 0x12E46C, 0x0000014 - -gUnk_0812E480:: @ 0812E480 - .incbin "baserom.gba", 0x12E480, 0x0000014 - -gUnk_0812E494:: @ 0812E494 - .incbin "baserom.gba", 0x12E494, 0x0000014 - -gUnk_0812E4A8:: @ 0812E4A8 - .incbin "baserom.gba", 0x12E4A8, 0x0000014 - -gUnk_0812E4BC:: @ 0812E4BC - .incbin "baserom.gba", 0x12E4BC, 0x0000014 - -gUnk_0812E4D0:: @ 0812E4D0 - .incbin "baserom.gba", 0x12E4D0, 0x0000014 - -gUnk_0812E4E4:: @ 0812E4E4 - .incbin "baserom.gba", 0x12E4E4, 0x0000014 - -gUnk_0812E4F8:: @ 0812E4F8 - .incbin "baserom.gba", 0x12E4F8, 0x0000014 - -gUnk_0812E50C:: @ 0812E50C - .incbin "baserom.gba", 0x12E50C, 0x0000014 - -gUnk_0812E520:: @ 0812E520 - .incbin "baserom.gba", 0x12E520, 0x0000014 - -gUnk_0812E534:: @ 0812E534 - .incbin "baserom.gba", 0x12E534, 0x0000014 - -gUnk_0812E548:: @ 0812E548 - .incbin "baserom.gba", 0x12E548, 0x0000014 - -gUnk_0812E55C:: @ 0812E55C - .incbin "baserom.gba", 0x12E55C, 0x0000014 - -gUnk_0812E570:: @ 0812E570 - .incbin "baserom.gba", 0x12E570, 0x0000014 - -gUnk_0812E584:: @ 0812E584 - .incbin "baserom.gba", 0x12E584, 0x0000014 - -gUnk_0812E598:: @ 0812E598 - .incbin "baserom.gba", 0x12E598, 0x0000014 - -gUnk_0812E5AC:: @ 0812E5AC - .incbin "baserom.gba", 0x12E5AC, 0x0000014 - -gUnk_0812E5C0:: @ 0812E5C0 - .incbin "baserom.gba", 0x12E5C0, 0x0000014 - -gUnk_0812E5D4:: @ 0812E5D4 - .incbin "baserom.gba", 0x12E5D4, 0x0000014 - -gUnk_0812E5E8:: @ 0812E5E8 - .incbin "baserom.gba", 0x12E5E8, 0x0000014 - -gUnk_0812E5FC:: @ 0812E5FC - .incbin "baserom.gba", 0x12E5FC, 0x0000248 - -gUnk_0812E844:: @ 0812E844 - .incbin "baserom.gba", 0x12E844, 0x0000008 - -gUnk_0812E84C:: @ 0812E84C - .incbin "baserom.gba", 0x12E84C, 0x0000008 - -gUnk_0812E854:: @ 0812E854 - .incbin "baserom.gba", 0x12E854, 0x0000008 - -gUnk_0812E85C:: @ 0812E85C - .incbin "baserom.gba", 0x12E85C, 0x0000008 - -gUnk_0812E864:: @ 0812E864 - .incbin "baserom.gba", 0x12E864, 0x0000008 - -gUnk_0812E86C:: @ 0812E86C - .incbin "baserom.gba", 0x12E86C, 0x0000008 - -gUnk_0812E874:: @ 0812E874 - .incbin "baserom.gba", 0x12E874, 0x0000018 - -gUnk_0812E88C:: @ 0812E88C - .incbin "baserom.gba", 0x12E88C, 0x0000018 - -gUnk_0812E8A4:: @ 0812E8A4 - .incbin "baserom.gba", 0x12E8A4, 0x0000018 - -gUnk_0812E8BC:: @ 0812E8BC - .incbin "baserom.gba", 0x12E8BC, 0x0000010 - -gUnk_0812E8CC:: @ 0812E8CC - .incbin "baserom.gba", 0x12E8CC, 0x0000010 - -gUnk_0812E8DC:: @ 0812E8DC - .incbin "baserom.gba", 0x12E8DC, 0x0000018 - -gUnk_0812E8F4:: @ 0812E8F4 - .incbin "baserom.gba", 0x12E8F4, 0x0000009 - -gUnk_0812E8FD:: @ 0812E8FD - .incbin "baserom.gba", 0x12E8FD, 0x0000007 - -gUnk_0812E904:: @ 0812E904 - .incbin "baserom.gba", 0x12E904, 0x0000010 - -gUnk_0812E914:: @ 0812E914 - .incbin "baserom.gba", 0x12E914, 0x0000018 - -gUnk_0812E92C:: @ 0812E92C - .incbin "baserom.gba", 0x12E92C, 0x0000014 - -gUnk_0812E940:: @ 0812E940 - .incbin "baserom.gba", 0x12E940, 0x0000018 - -gUnk_0812E958:: @ 0812E958 - .incbin "baserom.gba", 0x12E958, 0x0000018 - -gUnk_0812E970:: @ 0812E970 - .incbin "baserom.gba", 0x12E970, 0x0000018 - -gUnk_0812E988:: @ 0812E988 - .incbin "baserom.gba", 0x12E988, 0x0000014 - -gUnk_0812E99C:: @ 0812E99C - .incbin "baserom.gba", 0x12E99C, 0x0000014 - -gUnk_0812E9B0:: @ 0812E9B0 - .incbin "baserom.gba", 0x12E9B0, 0x0000014 - -gUnk_0812E9C4:: @ 0812E9C4 - .incbin "baserom.gba", 0x12E9C4, 0x0000014 - -gUnk_0812E9D8:: @ 0812E9D8 - .incbin "baserom.gba", 0x12E9D8, 0x0000018 - -gUnk_0812E9F0:: @ 0812E9F0 - .incbin "baserom.gba", 0x12E9F0, 0x0000018 - -gUnk_0812EA08:: @ 0812EA08 - .incbin "baserom.gba", 0x12EA08, 0x0000018 - -gUnk_0812EA20:: @ 0812EA20 - .incbin "baserom.gba", 0x12EA20, 0x0000018 - -gUnk_0812EA38:: @ 0812EA38 - .incbin "baserom.gba", 0x12EA38, 0x0000018 - -gUnk_0812EA50:: @ 0812EA50 - .incbin "baserom.gba", 0x12EA50, 0x0000018 - -gUnk_0812EA68:: @ 0812EA68 - .incbin "baserom.gba", 0x12EA68, 0x0000018 - -gUnk_0812EA80:: @ 0812EA80 - .incbin "baserom.gba", 0x12EA80, 0x0000018 - -gUnk_0812EA98:: @ 0812EA98 - .incbin "baserom.gba", 0x12EA98, 0x0000018 - -gUnk_0812EAB0:: @ 0812EAB0 - .incbin "baserom.gba", 0x12EAB0, 0x000001C - -gUnk_0812EACC:: @ 0812EACC - .incbin "baserom.gba", 0x12EACC, 0x000000C - -gUnk_0812EAD8:: @ 0812EAD8 - .incbin "baserom.gba", 0x12EAD8, 0x0000010 - -gUnk_0812EAE8:: @ 0812EAE8 - .incbin "baserom.gba", 0x12EAE8, 0x000001C - -gUnk_0812EB04:: @ 0812EB04 - .incbin "baserom.gba", 0x12EB04, 0x0000018 - -gUnk_0812EB1C:: @ 0812EB1C - .incbin "baserom.gba", 0x12EB1C, 0x0000018 - -gUnk_0812EB34:: @ 0812EB34 - .incbin "baserom.gba", 0x12EB34, 0x000001C - -gUnk_0812EB50:: @ 0812EB50 - .incbin "baserom.gba", 0x12EB50, 0x000001C - -gUnk_0812EB6C:: @ 0812EB6C - .incbin "baserom.gba", 0x12EB6C, 0x000001C - -gUnk_0812EB88:: @ 0812EB88 - .incbin "baserom.gba", 0x12EB88, 0x000001C - -gUnk_0812EBA4:: @ 0812EBA4 - .incbin "baserom.gba", 0x12EBA4, 0x000001C - -gUnk_0812EBC0:: @ 0812EBC0 - .incbin "baserom.gba", 0x12EBC0, 0x0000018 - -gUnk_0812EBD8:: @ 0812EBD8 - .incbin "baserom.gba", 0x12EBD8, 0x0000018 - -gUnk_0812EBF0:: @ 0812EBF0 - .incbin "baserom.gba", 0x12EBF0, 0x0000018 - -gUnk_0812EC08:: @ 0812EC08 - .incbin "baserom.gba", 0x12EC08, 0x0000018 - -gUnk_0812EC20:: @ 0812EC20 - .incbin "baserom.gba", 0x12EC20, 0x0000014 - -gUnk_0812EC34:: @ 0812EC34 - .incbin "baserom.gba", 0x12EC34, 0x0000014 - -gUnk_0812EC48:: @ 0812EC48 - .incbin "baserom.gba", 0x12EC48, 0x0000018 - -gUnk_0812EC60:: @ 0812EC60 - .incbin "baserom.gba", 0x12EC60, 0x0000018 - -gUnk_0812EC78:: @ 0812EC78 - .incbin "baserom.gba", 0x12EC78, 0x0000018 - -gUnk_0812EC90:: @ 0812EC90 - .incbin "baserom.gba", 0x12EC90, 0x0000018 - -gUnk_0812ECA8:: @ 0812ECA8 - .incbin "baserom.gba", 0x12ECA8, 0x0000018 - -gUnk_0812ECC0:: @ 0812ECC0 - .incbin "baserom.gba", 0x12ECC0, 0x0000018 - -gUnk_0812ECD8:: @ 0812ECD8 - .incbin "baserom.gba", 0x12ECD8, 0x0000018 - -gUnk_0812ECF0:: @ 0812ECF0 - .incbin "baserom.gba", 0x12ECF0, 0x0000018 - -gUnk_0812ED08:: @ 0812ED08 - .incbin "baserom.gba", 0x12ED08, 0x0000018 - -gUnk_0812ED20:: @ 0812ED20 - .incbin "baserom.gba", 0x12ED20, 0x0000018 - -gUnk_0812ED38:: @ 0812ED38 - .incbin "baserom.gba", 0x12ED38, 0x0000018 - -gUnk_0812ED50:: @ 0812ED50 - .incbin "baserom.gba", 0x12ED50, 0x0000018 - -gUnk_0812ED68:: @ 0812ED68 - .incbin "baserom.gba", 0x12ED68, 0x0000018 - -gUnk_0812ED80:: @ 0812ED80 - .incbin "baserom.gba", 0x12ED80, 0x0000018 - -gUnk_0812ED98:: @ 0812ED98 - .incbin "baserom.gba", 0x12ED98, 0x0000018 - -gUnk_0812EDB0:: @ 0812EDB0 - .incbin "baserom.gba", 0x12EDB0, 0x0000018 - -gUnk_0812EDC8:: @ 0812EDC8 - .incbin "baserom.gba", 0x12EDC8, 0x0000018 - -gUnk_0812EDE0:: @ 0812EDE0 - .incbin "baserom.gba", 0x12EDE0, 0x0000018 - -gUnk_0812EDF8:: @ 0812EDF8 - .incbin "baserom.gba", 0x12EDF8, 0x0000018 - -gUnk_0812EE10:: @ 0812EE10 - .incbin "baserom.gba", 0x12EE10, 0x0000018 - -gUnk_0812EE28:: @ 0812EE28 - .incbin "baserom.gba", 0x12EE28, 0x0000018 - -gUnk_0812EE40:: @ 0812EE40 - .incbin "baserom.gba", 0x12EE40, 0x0000014 - -gUnk_0812EE54:: @ 0812EE54 - .incbin "baserom.gba", 0x12EE54, 0x0000014 - -gUnk_0812EE68:: @ 0812EE68 - .incbin "baserom.gba", 0x12EE68, 0x0000014 - -gUnk_0812EE7C:: @ 0812EE7C - .incbin "baserom.gba", 0x12EE7C, 0x0000014 - -gUnk_0812EE90:: @ 0812EE90 - .incbin "baserom.gba", 0x12EE90, 0x0000014 - -gUnk_0812EEA4:: @ 0812EEA4 - .incbin "baserom.gba", 0x12EEA4, 0x0000014 - -gUnk_0812EEB8:: @ 0812EEB8 - .incbin "baserom.gba", 0x12EEB8, 0x0000014 - -gUnk_0812EECC:: @ 0812EECC - .incbin "baserom.gba", 0x12EECC, 0x0000014 - -gUnk_0812EEE0:: @ 0812EEE0 - .incbin "baserom.gba", 0x12EEE0, 0x0000014 - -gUnk_0812EEF4:: @ 0812EEF4 - .incbin "baserom.gba", 0x12EEF4, 0x0000014 - -gUnk_0812EF08:: @ 0812EF08 - .incbin "baserom.gba", 0x12EF08, 0x0000014 - -gUnk_0812EF1C:: @ 0812EF1C - .incbin "baserom.gba", 0x12EF1C, 0x0000003 - -gUnk_0812EF1F:: @ 0812EF1F - .incbin "baserom.gba", 0x12EF1F, 0x0000011 - -gUnk_0812EF30:: @ 0812EF30 - .incbin "baserom.gba", 0x12EF30, 0x0000014 - -gUnk_0812EF44:: @ 0812EF44 - .incbin "baserom.gba", 0x12EF44, 0x0000018 - -gUnk_0812EF5C:: @ 0812EF5C - .incbin "baserom.gba", 0x12EF5C, 0x0000018 - -gUnk_0812EF74:: @ 0812EF74 - .incbin "baserom.gba", 0x12EF74, 0x0000018 - -gUnk_0812EF8C:: @ 0812EF8C - .incbin "baserom.gba", 0x12EF8C, 0x000001C - -gUnk_0812EFA8:: @ 0812EFA8 - .incbin "baserom.gba", 0x12EFA8, 0x0000018 - -gUnk_0812EFC0:: @ 0812EFC0 - .incbin "baserom.gba", 0x12EFC0, 0x0000018 - -gUnk_0812EFD8:: @ 0812EFD8 - .incbin "baserom.gba", 0x12EFD8, 0x0000018 - -gUnk_0812EFF0:: @ 0812EFF0 - .incbin "baserom.gba", 0x12EFF0, 0x0000018 - -gUnk_0812F008:: @ 0812F008 - .incbin "baserom.gba", 0x12F008, 0x0000018 - -gUnk_0812F020:: @ 0812F020 - .incbin "baserom.gba", 0x12F020, 0x0000018 - -gUnk_0812F038:: @ 0812F038 - .incbin "baserom.gba", 0x12F038, 0x0000018 - -gUnk_0812F050:: @ 0812F050 - .incbin "baserom.gba", 0x12F050, 0x0000018 - -gUnk_0812F068:: @ 0812F068 - .incbin "baserom.gba", 0x12F068, 0x0000018 - -gUnk_0812F080:: @ 0812F080 - .incbin "baserom.gba", 0x12F080, 0x0000018 - -gUnk_0812F098:: @ 0812F098 - .incbin "baserom.gba", 0x12F098, 0x0000018 - -gUnk_0812F0B0:: @ 0812F0B0 - .incbin "baserom.gba", 0x12F0B0, 0x0000018 - -gUnk_0812F0C8:: @ 0812F0C8 - .incbin "baserom.gba", 0x12F0C8, 0x0000018 - -gUnk_0812F0E0:: @ 0812F0E0 - .incbin "baserom.gba", 0x12F0E0, 0x0000018 - -gUnk_0812F0F8:: @ 0812F0F8 - .incbin "baserom.gba", 0x12F0F8, 0x0000018 - -gUnk_0812F110:: @ 0812F110 - .incbin "baserom.gba", 0x12F110, 0x0000018 - -gUnk_0812F128:: @ 0812F128 - .incbin "baserom.gba", 0x12F128, 0x0000018 - -gUnk_0812F140:: @ 0812F140 - .incbin "baserom.gba", 0x12F140, 0x0000018 - -gUnk_0812F158:: @ 0812F158 - .incbin "baserom.gba", 0x12F158, 0x0000018 - -gUnk_0812F170:: @ 0812F170 - .incbin "baserom.gba", 0x12F170, 0x0000018 - -gUnk_0812F188:: @ 0812F188 - .incbin "baserom.gba", 0x12F188, 0x0000018 - -gUnk_0812F1A0:: @ 0812F1A0 - .incbin "baserom.gba", 0x12F1A0, 0x0000018 - -gUnk_0812F1B8:: @ 0812F1B8 - .incbin "baserom.gba", 0x12F1B8, 0x0000018 - -gUnk_0812F1D0:: @ 0812F1D0 - .incbin "baserom.gba", 0x12F1D0, 0x0000018 - -gUnk_0812F1E8:: @ 0812F1E8 - .incbin "baserom.gba", 0x12F1E8, 0x0000018 - -gUnk_0812F200:: @ 0812F200 - .incbin "baserom.gba", 0x12F200, 0x0000018 - -gUnk_0812F218:: @ 0812F218 - .incbin "baserom.gba", 0x12F218, 0x0000018 - -gUnk_0812F230:: @ 0812F230 - .incbin "baserom.gba", 0x12F230, 0x0000018 - -gUnk_0812F248:: @ 0812F248 - .incbin "baserom.gba", 0x12F248, 0x0000018 - -gUnk_0812F260:: @ 0812F260 - .incbin "baserom.gba", 0x12F260, 0x0000018 - -gUnk_0812F278:: @ 0812F278 - .incbin "baserom.gba", 0x12F278, 0x0000018 - -gUnk_0812F290:: @ 0812F290 - .incbin "baserom.gba", 0x12F290, 0x0000018 - -gUnk_0812F2A8:: @ 0812F2A8 - .incbin "baserom.gba", 0x12F2A8, 0x0000018 - -gUnk_0812F2C0:: @ 0812F2C0 - .incbin "baserom.gba", 0x12F2C0, 0x0000018 - -gUnk_0812F2D8:: @ 0812F2D8 - .incbin "baserom.gba", 0x12F2D8, 0x0000018 - -gUnk_0812F2F0:: @ 0812F2F0 - .incbin "baserom.gba", 0x12F2F0, 0x0000018 - -gUnk_0812F308:: @ 0812F308 - .incbin "baserom.gba", 0x12F308, 0x0000018 - -gUnk_0812F320:: @ 0812F320 - .incbin "baserom.gba", 0x12F320, 0x0000018 - -gUnk_0812F338:: @ 0812F338 - .incbin "baserom.gba", 0x12F338, 0x0000018 - -gUnk_0812F350:: @ 0812F350 - .incbin "baserom.gba", 0x12F350, 0x0000018 - -gUnk_0812F368:: @ 0812F368 - .incbin "baserom.gba", 0x12F368, 0x0000018 - -gUnk_0812F380:: @ 0812F380 - .incbin "baserom.gba", 0x12F380, 0x0000018 - -gUnk_0812F398:: @ 0812F398 - .incbin "baserom.gba", 0x12F398, 0x0000018 - -gUnk_0812F3B0:: @ 0812F3B0 - .incbin "baserom.gba", 0x12F3B0, 0x0000018 - -gUnk_0812F3C8:: @ 0812F3C8 - .incbin "baserom.gba", 0x12F3C8, 0x0000018 - -gUnk_0812F3E0:: @ 0812F3E0 - .incbin "baserom.gba", 0x12F3E0, 0x0000018 - -gUnk_0812F3F8:: @ 0812F3F8 - .incbin "baserom.gba", 0x12F3F8, 0x0000018 - -gUnk_0812F410:: @ 0812F410 - .incbin "baserom.gba", 0x12F410, 0x0000018 - -gUnk_0812F428:: @ 0812F428 - .incbin "baserom.gba", 0x12F428, 0x0000018 - -gUnk_0812F440:: @ 0812F440 - .incbin "baserom.gba", 0x12F440, 0x0000018 - -gUnk_0812F458:: @ 0812F458 - .incbin "baserom.gba", 0x12F458, 0x0000018 - -gUnk_0812F470:: @ 0812F470 - .incbin "baserom.gba", 0x12F470, 0x0000014 - -gUnk_0812F484:: @ 0812F484 - .incbin "baserom.gba", 0x12F484, 0x0000010 - -gUnk_0812F494:: @ 0812F494 - .incbin "baserom.gba", 0x12F494, 0x0000170 - -gUnk_0812F604:: @ 0812F604 - .incbin "baserom.gba", 0x12F604, 0x0000010 - -gUnk_0812F614:: @ 0812F614 - .incbin "baserom.gba", 0x12F614, 0x0000010 - -gUnk_0812F624:: @ 0812F624 - .incbin "baserom.gba", 0x12F624, 0x000000C - -gUnk_0812F630:: @ 0812F630 - .incbin "baserom.gba", 0x12F630, 0x000000C - -gUnk_0812F63C:: @ 0812F63C - .incbin "baserom.gba", 0x12F63C, 0x000000C - -gUnk_0812F648:: @ 0812F648 - .incbin "baserom.gba", 0x12F648, 0x000000C - -gUnk_0812F654:: @ 0812F654 - .incbin "baserom.gba", 0x12F654, 0x0000010 - -gUnk_0812F664:: @ 0812F664 - .incbin "baserom.gba", 0x12F664, 0x000000C - -gUnk_0812F670:: @ 0812F670 - .incbin "baserom.gba", 0x12F670, 0x0000010 - -gUnk_0812F680:: @ 0812F680 - .incbin "baserom.gba", 0x12F680, 0x000000C - -gUnk_0812F68C:: @ 0812F68C - .incbin "baserom.gba", 0x12F68C, 0x000000C - -gUnk_0812F698:: @ 0812F698 - .incbin "baserom.gba", 0x12F698, 0x000000C - -gUnk_0812F6A4:: @ 0812F6A4 - .incbin "baserom.gba", 0x12F6A4, 0x000000C - -gUnk_0812F6B0:: @ 0812F6B0 - .incbin "baserom.gba", 0x12F6B0, 0x000000C - -gUnk_0812F6BC:: @ 0812F6BC - .incbin "baserom.gba", 0x12F6BC, 0x0000010 - -gUnk_0812F6CC:: @ 0812F6CC - .incbin "baserom.gba", 0x12F6CC, 0x0000010 - -gUnk_0812F6DC:: @ 0812F6DC - .incbin "baserom.gba", 0x12F6DC, 0x0000010 - -gUnk_0812F6EC:: @ 0812F6EC - .incbin "baserom.gba", 0x12F6EC, 0x000000C - -gUnk_0812F6F8:: @ 0812F6F8 - .incbin "baserom.gba", 0x12F6F8, 0x000000C - -gUnk_0812F704:: @ 0812F704 - .incbin "baserom.gba", 0x12F704, 0x000000C - -gUnk_0812F710:: @ 0812F710 - .incbin "baserom.gba", 0x12F710, 0x000000C - -gUnk_0812F71C:: @ 0812F71C - .incbin "baserom.gba", 0x12F71C, 0x000000C - -gUnk_0812F728:: @ 0812F728 - .incbin "baserom.gba", 0x12F728, 0x000000C - -gUnk_0812F734:: @ 0812F734 - .incbin "baserom.gba", 0x12F734, 0x000000C - -gUnk_0812F740:: @ 0812F740 - .incbin "baserom.gba", 0x12F740, 0x000000C - -gUnk_0812F74C:: @ 0812F74C - .incbin "baserom.gba", 0x12F74C, 0x000000C - -gUnk_0812F758:: @ 0812F758 - .incbin "baserom.gba", 0x12F758, 0x000000C - -gUnk_0812F764:: @ 0812F764 - .incbin "baserom.gba", 0x12F764, 0x000000C - -gUnk_0812F770:: @ 0812F770 - .incbin "baserom.gba", 0x12F770, 0x000000C - -gUnk_0812F77C:: @ 0812F77C - .incbin "baserom.gba", 0x12F77C, 0x000000C - -gUnk_0812F788:: @ 0812F788 - .incbin "baserom.gba", 0x12F788, 0x000000C - -gUnk_0812F794:: @ 0812F794 - .incbin "baserom.gba", 0x12F794, 0x0000010 - -gUnk_0812F7A4:: @ 0812F7A4 - .incbin "baserom.gba", 0x12F7A4, 0x000000C - -gUnk_0812F7B0:: @ 0812F7B0 - .incbin "baserom.gba", 0x12F7B0, 0x000000C - -gUnk_0812F7BC:: @ 0812F7BC - .incbin "baserom.gba", 0x12F7BC, 0x000000C - -gUnk_0812F7C8:: @ 0812F7C8 - .incbin "baserom.gba", 0x12F7C8, 0x0000010 - -gUnk_0812F7D8:: @ 0812F7D8 - .incbin "baserom.gba", 0x12F7D8, 0x000000C - -gUnk_0812F7E4:: @ 0812F7E4 - .incbin "baserom.gba", 0x12F7E4, 0x000000C - -gUnk_0812F7F0:: @ 0812F7F0 - .incbin "baserom.gba", 0x12F7F0, 0x000000C - -gUnk_0812F7FC:: @ 0812F7FC - .incbin "baserom.gba", 0x12F7FC, 0x000000C - -gUnk_0812F808:: @ 0812F808 - .incbin "baserom.gba", 0x12F808, 0x0000010 - -gUnk_0812F818:: @ 0812F818 - .incbin "baserom.gba", 0x12F818, 0x000000C - -gUnk_0812F824:: @ 0812F824 - .incbin "baserom.gba", 0x12F824, 0x0000010 - -gUnk_0812F834:: @ 0812F834 - .incbin "baserom.gba", 0x12F834, 0x000000C - -gUnk_0812F840:: @ 0812F840 - .incbin "baserom.gba", 0x12F840, 0x000000C - -gUnk_0812F84C:: @ 0812F84C - .incbin "baserom.gba", 0x12F84C, 0x000000C - -gUnk_0812F858:: @ 0812F858 - .incbin "baserom.gba", 0x12F858, 0x000000C - -gUnk_0812F864:: @ 0812F864 - .incbin "baserom.gba", 0x12F864, 0x000000C - -gUnk_0812F870:: @ 0812F870 - .incbin "baserom.gba", 0x12F870, 0x000000C - -gUnk_0812F87C:: @ 0812F87C - .incbin "baserom.gba", 0x12F87C, 0x0000010 - -gUnk_0812F88C:: @ 0812F88C - .incbin "baserom.gba", 0x12F88C, 0x000000C - -gUnk_0812F898:: @ 0812F898 - .incbin "baserom.gba", 0x12F898, 0x000000C - -gUnk_0812F8A4:: @ 0812F8A4 - .incbin "baserom.gba", 0x12F8A4, 0x000000C - -gUnk_0812F8B0:: @ 0812F8B0 - .incbin "baserom.gba", 0x12F8B0, 0x000000C - -gUnk_0812F8BC:: @ 0812F8BC - .incbin "baserom.gba", 0x12F8BC, 0x000000C - -gUnk_0812F8C8:: @ 0812F8C8 - .incbin "baserom.gba", 0x12F8C8, 0x000000C - -gUnk_0812F8D4:: @ 0812F8D4 - .incbin "baserom.gba", 0x12F8D4, 0x000000C - -gUnk_0812F8E0:: @ 0812F8E0 - .incbin "baserom.gba", 0x12F8E0, 0x000000C - -gUnk_0812F8EC:: @ 0812F8EC - .incbin "baserom.gba", 0x12F8EC, 0x0000008 - -gUnk_0812F8F4:: @ 0812F8F4 - .incbin "baserom.gba", 0x12F8F4, 0x0000001 - -gUnk_0812F8F5:: @ 0812F8F5 - .incbin "baserom.gba", 0x12F8F5, 0x0000003 - -gUnk_0812F8F8:: @ 0812F8F8 - .incbin "baserom.gba", 0x12F8F8, 0x000000C - -gUnk_0812F904:: @ 0812F904 - .incbin "baserom.gba", 0x12F904, 0x000000C - -gUnk_0812F910:: @ 0812F910 - .incbin "baserom.gba", 0x12F910, 0x000000C - -gUnk_0812F91C:: @ 0812F91C - .incbin "baserom.gba", 0x12F91C, 0x000000C - -gUnk_0812F928:: @ 0812F928 - .incbin "baserom.gba", 0x12F928, 0x000000C - -gUnk_0812F934:: @ 0812F934 - .incbin "baserom.gba", 0x12F934, 0x000000C - -gUnk_0812F940:: @ 0812F940 - .incbin "baserom.gba", 0x12F940, 0x000000C - -gUnk_0812F94C:: @ 0812F94C - .incbin "baserom.gba", 0x12F94C, 0x000000C - -gUnk_0812F958:: @ 0812F958 - .incbin "baserom.gba", 0x12F958, 0x000000C - -gUnk_0812F964:: @ 0812F964 - .incbin "baserom.gba", 0x12F964, 0x000000C - -gUnk_0812F970:: @ 0812F970 - .incbin "baserom.gba", 0x12F970, 0x000000C - -gUnk_0812F97C:: @ 0812F97C - .incbin "baserom.gba", 0x12F97C, 0x000000C - -gUnk_0812F988:: @ 0812F988 - .incbin "baserom.gba", 0x12F988, 0x000000C - -gUnk_0812F994:: @ 0812F994 - .incbin "baserom.gba", 0x12F994, 0x000000C - -gUnk_0812F9A0:: @ 0812F9A0 - .incbin "baserom.gba", 0x12F9A0, 0x000000C - -gUnk_0812F9AC:: @ 0812F9AC - .incbin "baserom.gba", 0x12F9AC, 0x000000C - -gUnk_0812F9B8:: @ 0812F9B8 - .incbin "baserom.gba", 0x12F9B8, 0x000000C - -gUnk_0812F9C4:: @ 0812F9C4 - .incbin "baserom.gba", 0x12F9C4, 0x000000C - -gUnk_0812F9D0:: @ 0812F9D0 - .incbin "baserom.gba", 0x12F9D0, 0x000000C - -gUnk_0812F9DC:: @ 0812F9DC - .incbin "baserom.gba", 0x12F9DC, 0x000000C - -gUnk_0812F9E8:: @ 0812F9E8 - .incbin "baserom.gba", 0x12F9E8, 0x000000C - -gUnk_0812F9F4:: @ 0812F9F4 - .incbin "baserom.gba", 0x12F9F4, 0x000000C - -gUnk_0812FA00:: @ 0812FA00 - .incbin "baserom.gba", 0x12FA00, 0x000000C - -gUnk_0812FA0C:: @ 0812FA0C - .incbin "baserom.gba", 0x12FA0C, 0x0000001 - -gUnk_0812FA0D:: @ 0812FA0D - .incbin "baserom.gba", 0x12FA0D, 0x000000B - -gUnk_0812FA18:: @ 0812FA18 - .incbin "baserom.gba", 0x12FA18, 0x000000C - -gUnk_0812FA24:: @ 0812FA24 - .incbin "baserom.gba", 0x12FA24, 0x000000C - -gUnk_0812FA30:: @ 0812FA30 - .incbin "baserom.gba", 0x12FA30, 0x00000CD - -gUnk_0812FAFD:: @ 0812FAFD - .incbin "baserom.gba", 0x12FAFD, 0x0000057 - -gUnk_0812FB54:: @ 0812FB54 - .incbin "baserom.gba", 0x12FB54, 0x0000010 - -gUnk_0812FB64:: @ 0812FB64 - .incbin "baserom.gba", 0x12FB64, 0x0000010 - -gUnk_0812FB74:: @ 0812FB74 - .incbin "baserom.gba", 0x12FB74, 0x000000C - -gUnk_0812FB80:: @ 0812FB80 - .incbin "baserom.gba", 0x12FB80, 0x000000C - -gUnk_0812FB8C:: @ 0812FB8C - .incbin "baserom.gba", 0x12FB8C, 0x000000C - -gUnk_0812FB98:: @ 0812FB98 - .incbin "baserom.gba", 0x12FB98, 0x000000C - -gUnk_0812FBA4:: @ 0812FBA4 - .incbin "baserom.gba", 0x12FBA4, 0x000000C - -gUnk_0812FBB0:: @ 0812FBB0 - .incbin "baserom.gba", 0x12FBB0, 0x000000C - -gUnk_0812FBBC:: @ 0812FBBC - .incbin "baserom.gba", 0x12FBBC, 0x000000C - -gUnk_0812FBC8:: @ 0812FBC8 - .incbin "baserom.gba", 0x12FBC8, 0x000000C - -gUnk_0812FBD4:: @ 0812FBD4 - .incbin "baserom.gba", 0x12FBD4, 0x0000010 - -gUnk_0812FBE4:: @ 0812FBE4 - .incbin "baserom.gba", 0x12FBE4, 0x000000C - -gUnk_0812FBF0:: @ 0812FBF0 - .incbin "baserom.gba", 0x12FBF0, 0x000000C - -gUnk_0812FBFC:: @ 0812FBFC - .incbin "baserom.gba", 0x12FBFC, 0x000000C - -gUnk_0812FC08:: @ 0812FC08 - .incbin "baserom.gba", 0x12FC08, 0x000000C - -gUnk_0812FC14:: @ 0812FC14 - .incbin "baserom.gba", 0x12FC14, 0x000000C - -gUnk_0812FC20:: @ 0812FC20 - .incbin "baserom.gba", 0x12FC20, 0x000000C - -gUnk_0812FC2C:: @ 0812FC2C - .incbin "baserom.gba", 0x12FC2C, 0x0000010 - -gUnk_0812FC3C:: @ 0812FC3C - .incbin "baserom.gba", 0x12FC3C, 0x000000C - -gUnk_0812FC48:: @ 0812FC48 - .incbin "baserom.gba", 0x12FC48, 0x000000C - -gUnk_0812FC54:: @ 0812FC54 - .incbin "baserom.gba", 0x12FC54, 0x000000C - -gUnk_0812FC60:: @ 0812FC60 - .incbin "baserom.gba", 0x12FC60, 0x000000C - -gUnk_0812FC6C:: @ 0812FC6C - .incbin "baserom.gba", 0x12FC6C, 0x000000C - -gUnk_0812FC78:: @ 0812FC78 - .incbin "baserom.gba", 0x12FC78, 0x000000C - -gUnk_0812FC84:: @ 0812FC84 - .incbin "baserom.gba", 0x12FC84, 0x000000C - -gUnk_0812FC90:: @ 0812FC90 - .incbin "baserom.gba", 0x12FC90, 0x000000C - -gUnk_0812FC9C:: @ 0812FC9C - .incbin "baserom.gba", 0x12FC9C, 0x000000C - -gUnk_0812FCA8:: @ 0812FCA8 - .incbin "baserom.gba", 0x12FCA8, 0x000000C - -gUnk_0812FCB4:: @ 0812FCB4 - .incbin "baserom.gba", 0x12FCB4, 0x000000C - -gUnk_0812FCC0:: @ 0812FCC0 - .incbin "baserom.gba", 0x12FCC0, 0x000000C - -gUnk_0812FCCC:: @ 0812FCCC - .incbin "baserom.gba", 0x12FCCC, 0x000000C - -gUnk_0812FCD8:: @ 0812FCD8 - .incbin "baserom.gba", 0x12FCD8, 0x000000C - -gUnk_0812FCE4:: @ 0812FCE4 - .incbin "baserom.gba", 0x12FCE4, 0x000000C - -gUnk_0812FCF0:: @ 0812FCF0 - .incbin "baserom.gba", 0x12FCF0, 0x0000010 - -gUnk_0812FD00:: @ 0812FD00 - .incbin "baserom.gba", 0x12FD00, 0x000000C - -gUnk_0812FD0C:: @ 0812FD0C - .incbin "baserom.gba", 0x12FD0C, 0x0000010 - -gUnk_0812FD1C:: @ 0812FD1C - .incbin "baserom.gba", 0x12FD1C, 0x000000C - -gUnk_0812FD28:: @ 0812FD28 - .incbin "baserom.gba", 0x12FD28, 0x000000C - -gUnk_0812FD34:: @ 0812FD34 - .incbin "baserom.gba", 0x12FD34, 0x0000010 - -gUnk_0812FD44:: @ 0812FD44 - .incbin "baserom.gba", 0x12FD44, 0x000000C - -gUnk_0812FD50:: @ 0812FD50 - .incbin "baserom.gba", 0x12FD50, 0x000000C - -gUnk_0812FD5C:: @ 0812FD5C - .incbin "baserom.gba", 0x12FD5C, 0x0000010 - -gUnk_0812FD6C:: @ 0812FD6C - .incbin "baserom.gba", 0x12FD6C, 0x000000C - -gUnk_0812FD78:: @ 0812FD78 - .incbin "baserom.gba", 0x12FD78, 0x000000C - -gUnk_0812FD84:: @ 0812FD84 - .incbin "baserom.gba", 0x12FD84, 0x000000C - -gUnk_0812FD90:: @ 0812FD90 - .incbin "baserom.gba", 0x12FD90, 0x000000C - -gUnk_0812FD9C:: @ 0812FD9C - .incbin "baserom.gba", 0x12FD9C, 0x000000C - -gUnk_0812FDA8:: @ 0812FDA8 - .incbin "baserom.gba", 0x12FDA8, 0x000000C - -gUnk_0812FDB4:: @ 0812FDB4 - .incbin "baserom.gba", 0x12FDB4, 0x000000C - -gUnk_0812FDC0:: @ 0812FDC0 - .incbin "baserom.gba", 0x12FDC0, 0x0000014 - -gUnk_0812FDD4:: @ 0812FDD4 - .incbin "baserom.gba", 0x12FDD4, 0x000000C - -gUnk_0812FDE0:: @ 0812FDE0 - .incbin "baserom.gba", 0x12FDE0, 0x000000C - -gUnk_0812FDEC:: @ 0812FDEC - .incbin "baserom.gba", 0x12FDEC, 0x000000C - -gUnk_0812FDF8:: @ 0812FDF8 - .incbin "baserom.gba", 0x12FDF8, 0x000000C - -gUnk_0812FE04:: @ 0812FE04 - .incbin "baserom.gba", 0x12FE04, 0x000000C - -gUnk_0812FE10:: @ 0812FE10 - .incbin "baserom.gba", 0x12FE10, 0x000000C - -gUnk_0812FE1C:: @ 0812FE1C - .incbin "baserom.gba", 0x12FE1C, 0x000000C - -gUnk_0812FE28:: @ 0812FE28 - .incbin "baserom.gba", 0x12FE28, 0x000000C - -gUnk_0812FE34:: @ 0812FE34 - .incbin "baserom.gba", 0x12FE34, 0x000000C - -gUnk_0812FE40:: @ 0812FE40 - .incbin "baserom.gba", 0x12FE40, 0x000000C - -gUnk_0812FE4C:: @ 0812FE4C - .incbin "baserom.gba", 0x12FE4C, 0x000000C - -gUnk_0812FE58:: @ 0812FE58 - .incbin "baserom.gba", 0x12FE58, 0x000000C - -gUnk_0812FE64:: @ 0812FE64 - .incbin "baserom.gba", 0x12FE64, 0x000000C - -gUnk_0812FE70:: @ 0812FE70 - .incbin "baserom.gba", 0x12FE70, 0x000000C - -gUnk_0812FE7C:: @ 0812FE7C - .incbin "baserom.gba", 0x12FE7C, 0x000000C - -gUnk_0812FE88:: @ 0812FE88 - .incbin "baserom.gba", 0x12FE88, 0x000000C - -gUnk_0812FE94:: @ 0812FE94 - .incbin "baserom.gba", 0x12FE94, 0x000000C - -gUnk_0812FEA0:: @ 0812FEA0 - .incbin "baserom.gba", 0x12FEA0, 0x00000B6 - -gUnk_0812FF56:: @ 0812FF56 - .incbin "baserom.gba", 0x12FF56, 0x0000048 - -gUnk_0812FF9E:: @ 0812FF9E - .incbin "baserom.gba", 0x12FF9E, 0x0000038 - -gUnk_0812FFD6:: @ 0812FFD6 - .incbin "baserom.gba", 0x12FFD6, 0x0000002 - -gUnk_0812FFD8:: @ 0812FFD8 - .incbin "baserom.gba", 0x12FFD8, 0x000000C - -gUnk_0812FFE4:: @ 0812FFE4 - .incbin "baserom.gba", 0x12FFE4, 0x000000C - -gUnk_0812FFF0:: @ 0812FFF0 - .incbin "baserom.gba", 0x12FFF0, 0x0000006 - -gUnk_0812FFF6:: @ 0812FFF6 - .incbin "baserom.gba", 0x12FFF6, 0x0000006 - -gUnk_0812FFFC:: @ 0812FFFC - .incbin "baserom.gba", 0x12FFFC, 0x0000003 - -gUnk_0812FFFF:: @ 0812FFFF - .incbin "baserom.gba", 0x12FFFF, 0x0000001 - -gUnk_08130000:: @ 08130000 - .incbin "baserom.gba", 0x130000, 0x0000002 - -gUnk_08130002:: @ 08130002 - .incbin "baserom.gba", 0x130002, 0x000000A - -gUnk_0813000C:: @ 0813000C - .incbin "baserom.gba", 0x13000C, 0x0000014 - -gUnk_08130020:: @ 08130020 - .incbin "baserom.gba", 0x130020, 0x000000C - -gUnk_0813002C:: @ 0813002C - .incbin "baserom.gba", 0x13002C, 0x000000C - -gUnk_08130038:: @ 08130038 - .incbin "baserom.gba", 0x130038, 0x000000C - -gUnk_08130044:: @ 08130044 - .incbin "baserom.gba", 0x130044, 0x0000009 - -gUnk_0813004D:: @ 0813004D - .incbin "baserom.gba", 0x13004D, 0x0000003 - -gUnk_08130050:: @ 08130050 - .incbin "baserom.gba", 0x130050, 0x0000010 - -gUnk_08130060:: @ 08130060 - .incbin "baserom.gba", 0x130060, 0x000000C - -gUnk_0813006C:: @ 0813006C - .incbin "baserom.gba", 0x13006C, 0x000000C - -gUnk_08130078:: @ 08130078 - .incbin "baserom.gba", 0x130078, 0x000000C - -gUnk_08130084:: @ 08130084 - .incbin "baserom.gba", 0x130084, 0x0000005 - -gUnk_08130089:: @ 08130089 - .incbin "baserom.gba", 0x130089, 0x0000007 - -gUnk_08130090:: @ 08130090 - .incbin "baserom.gba", 0x130090, 0x000000C - -gUnk_0813009C:: @ 0813009C - .incbin "baserom.gba", 0x13009C, 0x000000C - -gUnk_081300A8:: @ 081300A8 - .incbin "baserom.gba", 0x1300A8, 0x000000C - -gUnk_081300B4:: @ 081300B4 - .incbin "baserom.gba", 0x1300B4, 0x000000C - -gUnk_081300C0:: @ 081300C0 - .incbin "baserom.gba", 0x1300C0, 0x000000C - -gUnk_081300CC:: @ 081300CC - .incbin "baserom.gba", 0x1300CC, 0x000000C - -gUnk_081300D8:: @ 081300D8 - .incbin "baserom.gba", 0x1300D8, 0x000000C - -gUnk_081300E4:: @ 081300E4 - .incbin "baserom.gba", 0x1300E4, 0x0000010 - -gUnk_081300F4:: @ 081300F4 - .incbin "baserom.gba", 0x1300F4, 0x000000C - -gUnk_08130100:: @ 08130100 - .incbin "baserom.gba", 0x130100, 0x0000014 - -gUnk_08130114:: @ 08130114 - .incbin "baserom.gba", 0x130114, 0x0000010 - -gUnk_08130124:: @ 08130124 - .incbin "baserom.gba", 0x130124, 0x000000C - -gUnk_08130130:: @ 08130130 - .incbin "baserom.gba", 0x130130, 0x000000C - -gUnk_0813013C:: @ 0813013C - .incbin "baserom.gba", 0x13013C, 0x000000C - -gUnk_08130148:: @ 08130148 - .incbin "baserom.gba", 0x130148, 0x000000C - -gUnk_08130154:: @ 08130154 - .incbin "baserom.gba", 0x130154, 0x000000C - -gUnk_08130160:: @ 08130160 - .incbin "baserom.gba", 0x130160, 0x000000C - -gUnk_0813016C:: @ 0813016C - .incbin "baserom.gba", 0x13016C, 0x000000C - -gUnk_08130178:: @ 08130178 - .incbin "baserom.gba", 0x130178, 0x0000010 - -gUnk_08130188:: @ 08130188 - .incbin "baserom.gba", 0x130188, 0x000000C - -gUnk_08130194:: @ 08130194 - .incbin "baserom.gba", 0x130194, 0x000000C - -gUnk_081301A0:: @ 081301A0 - .incbin "baserom.gba", 0x1301A0, 0x0000010 - -gUnk_081301B0:: @ 081301B0 - .incbin "baserom.gba", 0x1301B0, 0x0000010 - -gUnk_081301C0:: @ 081301C0 - .incbin "baserom.gba", 0x1301C0, 0x0000010 - -gUnk_081301D0:: @ 081301D0 - .incbin "baserom.gba", 0x1301D0, 0x000000C - -gUnk_081301DC:: @ 081301DC - .incbin "baserom.gba", 0x1301DC, 0x000000C - -gUnk_081301E8:: @ 081301E8 - .incbin "baserom.gba", 0x1301E8, 0x0000006 - -gUnk_081301EE:: @ 081301EE - .incbin "baserom.gba", 0x1301EE, 0x0000006 - -gUnk_081301F4:: @ 081301F4 - .incbin "baserom.gba", 0x1301F4, 0x0000010 - -gUnk_08130204:: @ 08130204 - .incbin "baserom.gba", 0x130204, 0x0000002 - -gUnk_08130206:: @ 08130206 - .incbin "baserom.gba", 0x130206, 0x000000A - -gUnk_08130210:: @ 08130210 - .incbin "baserom.gba", 0x130210, 0x000000C - -gUnk_0813021C:: @ 0813021C - .incbin "baserom.gba", 0x13021C, 0x000000C - -gUnk_08130228:: @ 08130228 - .incbin "baserom.gba", 0x130228, 0x000000C - -gUnk_08130234:: @ 08130234 - .incbin "baserom.gba", 0x130234, 0x000000C - -gUnk_08130240:: @ 08130240 - .incbin "baserom.gba", 0x130240, 0x000000C - -gUnk_0813024C:: @ 0813024C - .incbin "baserom.gba", 0x13024C, 0x000000C - -gUnk_08130258:: @ 08130258 - .incbin "baserom.gba", 0x130258, 0x000000C - -gUnk_08130264:: @ 08130264 - .incbin "baserom.gba", 0x130264, 0x000000C - -gUnk_08130270:: @ 08130270 - .incbin "baserom.gba", 0x130270, 0x000000C - -gUnk_0813027C:: @ 0813027C - .incbin "baserom.gba", 0x13027C, 0x000000C - -gUnk_08130288:: @ 08130288 - .incbin "baserom.gba", 0x130288, 0x000000C - -gUnk_08130294:: @ 08130294 - .incbin "baserom.gba", 0x130294, 0x000000C - -gUnk_081302A0:: @ 081302A0 - .incbin "baserom.gba", 0x1302A0, 0x000000C - -gUnk_081302AC:: @ 081302AC - .incbin "baserom.gba", 0x1302AC, 0x000000C - -gUnk_081302B8:: @ 081302B8 - .incbin "baserom.gba", 0x1302B8, 0x000000C - -gUnk_081302C4:: @ 081302C4 - .incbin "baserom.gba", 0x1302C4, 0x000000C - -gUnk_081302D0:: @ 081302D0 - .incbin "baserom.gba", 0x1302D0, 0x000000C - -gUnk_081302DC:: @ 081302DC - .incbin "baserom.gba", 0x1302DC, 0x000000C - -gUnk_081302E8:: @ 081302E8 - .incbin "baserom.gba", 0x1302E8, 0x000000C - -gUnk_081302F4:: @ 081302F4 - .incbin "baserom.gba", 0x1302F4, 0x000000C - -gUnk_08130300:: @ 08130300 - .incbin "baserom.gba", 0x130300, 0x000000C - -gUnk_0813030C:: @ 0813030C - .incbin "baserom.gba", 0x13030C, 0x000000C - -gUnk_08130318:: @ 08130318 - .incbin "baserom.gba", 0x130318, 0x000000C - -gUnk_08130324:: @ 08130324 - .incbin "baserom.gba", 0x130324, 0x000000C - -gUnk_08130330:: @ 08130330 - .incbin "baserom.gba", 0x130330, 0x000000C - -gUnk_0813033C:: @ 0813033C - .incbin "baserom.gba", 0x13033C, 0x000000C - -gUnk_08130348:: @ 08130348 - .incbin "baserom.gba", 0x130348, 0x000000C - -gUnk_08130354:: @ 08130354 - .incbin "baserom.gba", 0x130354, 0x000000C - -gUnk_08130360:: @ 08130360 - .incbin "baserom.gba", 0x130360, 0x000000C - -gUnk_0813036C:: @ 0813036C - .incbin "baserom.gba", 0x13036C, 0x0000286 - -gUnk_081305F2:: @ 081305F2 - .incbin "baserom.gba", 0x1305F2, 0x000001A - -gUnk_0813060C:: @ 0813060C - .incbin "baserom.gba", 0x13060C, 0x0000010 - -gUnk_0813061C:: @ 0813061C - .incbin "baserom.gba", 0x13061C, 0x0000010 - -gUnk_0813062C:: @ 0813062C - .incbin "baserom.gba", 0x13062C, 0x000000C - -gUnk_08130638:: @ 08130638 - .incbin "baserom.gba", 0x130638, 0x000000C - -gUnk_08130644:: @ 08130644 - .incbin "baserom.gba", 0x130644, 0x000000C - -gUnk_08130650:: @ 08130650 - .incbin "baserom.gba", 0x130650, 0x000000C - -gUnk_0813065C:: @ 0813065C - .incbin "baserom.gba", 0x13065C, 0x000000C - -gUnk_08130668:: @ 08130668 - .incbin "baserom.gba", 0x130668, 0x000000C - -gUnk_08130674:: @ 08130674 - .incbin "baserom.gba", 0x130674, 0x000000C - -gUnk_08130680:: @ 08130680 - .incbin "baserom.gba", 0x130680, 0x000000C - -gUnk_0813068C:: @ 0813068C - .incbin "baserom.gba", 0x13068C, 0x000000C - -gUnk_08130698:: @ 08130698 - .incbin "baserom.gba", 0x130698, 0x000000C - -gUnk_081306A4:: @ 081306A4 - .incbin "baserom.gba", 0x1306A4, 0x000000C - -gUnk_081306B0:: @ 081306B0 - .incbin "baserom.gba", 0x1306B0, 0x000000C - -gUnk_081306BC:: @ 081306BC - .incbin "baserom.gba", 0x1306BC, 0x000000C - -gUnk_081306C8:: @ 081306C8 - .incbin "baserom.gba", 0x1306C8, 0x000000C - -gUnk_081306D4:: @ 081306D4 - .incbin "baserom.gba", 0x1306D4, 0x000000C - -gUnk_081306E0:: @ 081306E0 - .incbin "baserom.gba", 0x1306E0, 0x0000004 - -gUnk_081306E4:: @ 081306E4 - .incbin "baserom.gba", 0x1306E4, 0x0000008 - -gUnk_081306EC:: @ 081306EC - .incbin "baserom.gba", 0x1306EC, 0x000000C - -gUnk_081306F8:: @ 081306F8 - .incbin "baserom.gba", 0x1306F8, 0x000000C - -gUnk_08130704:: @ 08130704 - .incbin "baserom.gba", 0x130704, 0x000000C - -gUnk_08130710:: @ 08130710 - .incbin "baserom.gba", 0x130710, 0x000000C - -gUnk_0813071C:: @ 0813071C - .incbin "baserom.gba", 0x13071C, 0x000000C - -gUnk_08130728:: @ 08130728 - .incbin "baserom.gba", 0x130728, 0x000000C - -gUnk_08130734:: @ 08130734 - .incbin "baserom.gba", 0x130734, 0x000000C - -gUnk_08130740:: @ 08130740 - .incbin "baserom.gba", 0x130740, 0x000000C - -gUnk_0813074C:: @ 0813074C - .incbin "baserom.gba", 0x13074C, 0x000000C - -gUnk_08130758:: @ 08130758 - .incbin "baserom.gba", 0x130758, 0x000000C - -gUnk_08130764:: @ 08130764 - .incbin "baserom.gba", 0x130764, 0x000000C - -gUnk_08130770:: @ 08130770 - .incbin "baserom.gba", 0x130770, 0x000000C - -gUnk_0813077C:: @ 0813077C - .incbin "baserom.gba", 0x13077C, 0x000000C - -gUnk_08130788:: @ 08130788 - .incbin "baserom.gba", 0x130788, 0x0000010 - -gUnk_08130798:: @ 08130798 - .incbin "baserom.gba", 0x130798, 0x000000C - -gUnk_081307A4:: @ 081307A4 - .incbin "baserom.gba", 0x1307A4, 0x000000C - -gUnk_081307B0:: @ 081307B0 - .incbin "baserom.gba", 0x1307B0, 0x0000010 - -gUnk_081307C0:: @ 081307C0 - .incbin "baserom.gba", 0x1307C0, 0x0000010 - -gUnk_081307D0:: @ 081307D0 - .incbin "baserom.gba", 0x1307D0, 0x0000010 - -gUnk_081307E0:: @ 081307E0 - .incbin "baserom.gba", 0x1307E0, 0x000000C - -gUnk_081307EC:: @ 081307EC - .incbin "baserom.gba", 0x1307EC, 0x000000C - -gUnk_081307F8:: @ 081307F8 - .incbin "baserom.gba", 0x1307F8, 0x000000A - -gUnk_08130802:: @ 08130802 - .incbin "baserom.gba", 0x130802, 0x0000002 - -gUnk_08130804:: @ 08130804 - .incbin "baserom.gba", 0x130804, 0x0000009 - -gUnk_0813080D:: @ 0813080D - .incbin "baserom.gba", 0x13080D, 0x0000003 - -gUnk_08130810:: @ 08130810 - .incbin "baserom.gba", 0x130810, 0x000000C - -gUnk_0813081C:: @ 0813081C - .incbin "baserom.gba", 0x13081C, 0x000000C - -gUnk_08130828:: @ 08130828 - .incbin "baserom.gba", 0x130828, 0x000000C - -gUnk_08130834:: @ 08130834 - .incbin "baserom.gba", 0x130834, 0x000000C - -gUnk_08130840:: @ 08130840 - .incbin "baserom.gba", 0x130840, 0x000000C - -gUnk_0813084C:: @ 0813084C - .incbin "baserom.gba", 0x13084C, 0x000000C - -gUnk_08130858:: @ 08130858 - .incbin "baserom.gba", 0x130858, 0x000000C - -gUnk_08130864:: @ 08130864 - .incbin "baserom.gba", 0x130864, 0x000000C - -gUnk_08130870:: @ 08130870 - .incbin "baserom.gba", 0x130870, 0x000000C - -gUnk_0813087C:: @ 0813087C - .incbin "baserom.gba", 0x13087C, 0x0000010 - -gUnk_0813088C:: @ 0813088C - .incbin "baserom.gba", 0x13088C, 0x000000C - -gUnk_08130898:: @ 08130898 - .incbin "baserom.gba", 0x130898, 0x000000C - -gUnk_081308A4:: @ 081308A4 - .incbin "baserom.gba", 0x1308A4, 0x000000C - -gUnk_081308B0:: @ 081308B0 - .incbin "baserom.gba", 0x1308B0, 0x000000C - -gUnk_081308BC:: @ 081308BC - .incbin "baserom.gba", 0x1308BC, 0x000000C - -gUnk_081308C8:: @ 081308C8 - .incbin "baserom.gba", 0x1308C8, 0x000000C - -gUnk_081308D4:: @ 081308D4 - .incbin "baserom.gba", 0x1308D4, 0x000000C - -gUnk_081308E0:: @ 081308E0 - .incbin "baserom.gba", 0x1308E0, 0x000000C - -gUnk_081308EC:: @ 081308EC - .incbin "baserom.gba", 0x1308EC, 0x000000C - -gUnk_081308F8:: @ 081308F8 - .incbin "baserom.gba", 0x1308F8, 0x0000007 - -gUnk_081308FF:: @ 081308FF - .incbin "baserom.gba", 0x1308FF, 0x0000005 - -gUnk_08130904:: @ 08130904 - .incbin "baserom.gba", 0x130904, 0x000000C - -gUnk_08130910:: @ 08130910 - .incbin "baserom.gba", 0x130910, 0x000000A - -gUnk_0813091A:: @ 0813091A - .incbin "baserom.gba", 0x13091A, 0x0000002 - -gUnk_0813091C:: @ 0813091C - .incbin "baserom.gba", 0x13091C, 0x000000C - -gUnk_08130928:: @ 08130928 - .incbin "baserom.gba", 0x130928, 0x000000C - -gUnk_08130934:: @ 08130934 - .incbin "baserom.gba", 0x130934, 0x000000C - -gUnk_08130940:: @ 08130940 - .incbin "baserom.gba", 0x130940, 0x000000C - -gUnk_0813094C:: @ 0813094C - .incbin "baserom.gba", 0x13094C, 0x0000010 - -gUnk_0813095C:: @ 0813095C - .incbin "baserom.gba", 0x13095C, 0x000000C - -gUnk_08130968:: @ 08130968 - .incbin "baserom.gba", 0x130968, 0x000000C - -gUnk_08130974:: @ 08130974 - .incbin "baserom.gba", 0x130974, 0x000000C - -gUnk_08130980:: @ 08130980 - .incbin "baserom.gba", 0x130980, 0x0000010 - -gUnk_08130990:: @ 08130990 - .incbin "baserom.gba", 0x130990, 0x000000C - -gUnk_0813099C:: @ 0813099C - .incbin "baserom.gba", 0x13099C, 0x000000C - -gUnk_081309A8:: @ 081309A8 - .incbin "baserom.gba", 0x1309A8, 0x000000C - -gUnk_081309B4:: @ 081309B4 - .incbin "baserom.gba", 0x1309B4, 0x000000C - -gUnk_081309C0:: @ 081309C0 - .incbin "baserom.gba", 0x1309C0, 0x000000C - -gUnk_081309CC:: @ 081309CC - .incbin "baserom.gba", 0x1309CC, 0x000000C - -gUnk_081309D8:: @ 081309D8 - .incbin "baserom.gba", 0x1309D8, 0x000000C - -gUnk_081309E4:: @ 081309E4 - .incbin "baserom.gba", 0x1309E4, 0x000000B - -gUnk_081309EF:: @ 081309EF - .incbin "baserom.gba", 0x1309EF, 0x0000001 - -gUnk_081309F0:: @ 081309F0 - .incbin "baserom.gba", 0x1309F0, 0x0000010 - -gUnk_08130A00:: @ 08130A00 - .incbin "baserom.gba", 0x130A00, 0x0000001 - -gUnk_08130A01:: @ 08130A01 - .incbin "baserom.gba", 0x130A01, 0x000000B - -gUnk_08130A0C:: @ 08130A0C - .incbin "baserom.gba", 0x130A0C, 0x000000C - -gUnk_08130A18:: @ 08130A18 - .incbin "baserom.gba", 0x130A18, 0x000000C - -gUnk_08130A24:: @ 08130A24 - .incbin "baserom.gba", 0x130A24, 0x0000010 - -gUnk_08130A34:: @ 08130A34 - .incbin "baserom.gba", 0x130A34, 0x000000C - -gUnk_08130A40:: @ 08130A40 - .incbin "baserom.gba", 0x130A40, 0x000000C - -gUnk_08130A4C:: @ 08130A4C - .incbin "baserom.gba", 0x130A4C, 0x000000C - -gUnk_08130A58:: @ 08130A58 - .incbin "baserom.gba", 0x130A58, 0x000000C - -gUnk_08130A64:: @ 08130A64 - .incbin "baserom.gba", 0x130A64, 0x0000010 - -gUnk_08130A74:: @ 08130A74 - .incbin "baserom.gba", 0x130A74, 0x000000C - -gUnk_08130A80:: @ 08130A80 - .incbin "baserom.gba", 0x130A80, 0x0000010 - -gUnk_08130A90:: @ 08130A90 - .incbin "baserom.gba", 0x130A90, 0x000000C - -gUnk_08130A9C:: @ 08130A9C - .incbin "baserom.gba", 0x130A9C, 0x000000C - -gUnk_08130AA8:: @ 08130AA8 - .incbin "baserom.gba", 0x130AA8, 0x000000C - -gUnk_08130AB4:: @ 08130AB4 - .incbin "baserom.gba", 0x130AB4, 0x000000C - -gUnk_08130AC0:: @ 08130AC0 - .incbin "baserom.gba", 0x130AC0, 0x000000C - -gUnk_08130ACC:: @ 08130ACC - .incbin "baserom.gba", 0x130ACC, 0x000000C - -gUnk_08130AD8:: @ 08130AD8 - .incbin "baserom.gba", 0x130AD8, 0x000000C - -gUnk_08130AE4:: @ 08130AE4 - .incbin "baserom.gba", 0x130AE4, 0x0000010 - -gUnk_08130AF4:: @ 08130AF4 - .incbin "baserom.gba", 0x130AF4, 0x000000C - -gUnk_08130B00:: @ 08130B00 - .incbin "baserom.gba", 0x130B00, 0x000000C - -gUnk_08130B0C:: @ 08130B0C - .incbin "baserom.gba", 0x130B0C, 0x000000C - -gUnk_08130B18:: @ 08130B18 - .incbin "baserom.gba", 0x130B18, 0x000000C - -gUnk_08130B24:: @ 08130B24 - .incbin "baserom.gba", 0x130B24, 0x000000C - -gUnk_08130B30:: @ 08130B30 - .incbin "baserom.gba", 0x130B30, 0x000000C - -gUnk_08130B3C:: @ 08130B3C - .incbin "baserom.gba", 0x130B3C, 0x0000010 - -gUnk_08130B4C:: @ 08130B4C - .incbin "baserom.gba", 0x130B4C, 0x000000C - -gUnk_08130B58:: @ 08130B58 - .incbin "baserom.gba", 0x130B58, 0x0000014 - -gUnk_08130B6C:: @ 08130B6C - .incbin "baserom.gba", 0x130B6C, 0x0000010 - -gUnk_08130B7C:: @ 08130B7C - .incbin "baserom.gba", 0x130B7C, 0x0000014 - -gUnk_08130B90:: @ 08130B90 - .incbin "baserom.gba", 0x130B90, 0x0000010 - -gUnk_08130BA0:: @ 08130BA0 - .incbin "baserom.gba", 0x130BA0, 0x000000C - -gUnk_08130BAC:: @ 08130BAC - .incbin "baserom.gba", 0x130BAC, 0x000000C - -gUnk_08130BB8:: @ 08130BB8 - .incbin "baserom.gba", 0x130BB8, 0x000000C - -gUnk_08130BC4:: @ 08130BC4 - .incbin "baserom.gba", 0x130BC4, 0x000000C - -gUnk_08130BD0:: @ 08130BD0 - .incbin "baserom.gba", 0x130BD0, 0x000000C - -gUnk_08130BDC:: @ 08130BDC - .incbin "baserom.gba", 0x130BDC, 0x000000C - -gUnk_08130BE8:: @ 08130BE8 - .incbin "baserom.gba", 0x130BE8, 0x000000C - -gUnk_08130BF4:: @ 08130BF4 - .incbin "baserom.gba", 0x130BF4, 0x000000F - -gUnk_08130C03:: @ 08130C03 - .incbin "baserom.gba", 0x130C03, 0x0000001 - -gUnk_08130C04:: @ 08130C04 - .incbin "baserom.gba", 0x130C04, 0x0000010 - -gUnk_08130C14:: @ 08130C14 - .incbin "baserom.gba", 0x130C14, 0x000000C - -gUnk_08130C20:: @ 08130C20 - .incbin "baserom.gba", 0x130C20, 0x000000C - -gUnk_08130C2C:: @ 08130C2C - .incbin "baserom.gba", 0x130C2C, 0x000000C - -gUnk_08130C38:: @ 08130C38 - .incbin "baserom.gba", 0x130C38, 0x000000C - -gUnk_08130C44:: @ 08130C44 - .incbin "baserom.gba", 0x130C44, 0x000000C - -gUnk_08130C50:: @ 08130C50 - .incbin "baserom.gba", 0x130C50, 0x000000C - -gUnk_08130C5C:: @ 08130C5C - .incbin "baserom.gba", 0x130C5C, 0x000000C - -gUnk_08130C68:: @ 08130C68 - .incbin "baserom.gba", 0x130C68, 0x000000C - -gUnk_08130C74:: @ 08130C74 - .incbin "baserom.gba", 0x130C74, 0x000000C - -gUnk_08130C80:: @ 08130C80 - .incbin "baserom.gba", 0x130C80, 0x000000C - -gUnk_08130C8C:: @ 08130C8C - .incbin "baserom.gba", 0x130C8C, 0x000000C - -gUnk_08130C98:: @ 08130C98 - .incbin "baserom.gba", 0x130C98, 0x000000C - -gUnk_08130CA4:: @ 08130CA4 - .incbin "baserom.gba", 0x130CA4, 0x000000C - -gUnk_08130CB0:: @ 08130CB0 - .incbin "baserom.gba", 0x130CB0, 0x000000C - -gUnk_08130CBC:: @ 08130CBC - .incbin "baserom.gba", 0x130CBC, 0x000000C - -gUnk_08130CC8:: @ 08130CC8 - .incbin "baserom.gba", 0x130CC8, 0x000000C - -gUnk_08130CD4:: @ 08130CD4 - .incbin "baserom.gba", 0x130CD4, 0x000000C - -gUnk_08130CE0:: @ 08130CE0 - .incbin "baserom.gba", 0x130CE0, 0x000000C - -gUnk_08130CEC:: @ 08130CEC - .incbin "baserom.gba", 0x130CEC, 0x000000C - -gUnk_08130CF8:: @ 08130CF8 - .incbin "baserom.gba", 0x130CF8, 0x000000C - -gUnk_08130D04:: @ 08130D04 - .incbin "baserom.gba", 0x130D04, 0x0000007 - -gUnk_08130D0B:: @ 08130D0B - .incbin "baserom.gba", 0x130D0B, 0x0000004 - -gUnk_08130D0F:: @ 08130D0F - .incbin "baserom.gba", 0x130D0F, 0x0000001 - -gUnk_08130D10:: @ 08130D10 - .incbin "baserom.gba", 0x130D10, 0x000000C - -gUnk_08130D1C:: @ 08130D1C - .incbin "baserom.gba", 0x130D1C, 0x000000C - -gUnk_08130D28:: @ 08130D28 - .incbin "baserom.gba", 0x130D28, 0x000000C - -gUnk_08130D34:: @ 08130D34 - .incbin "baserom.gba", 0x130D34, 0x000000C - -gUnk_08130D40:: @ 08130D40 - .incbin "baserom.gba", 0x130D40, 0x000000C - -gUnk_08130D4C:: @ 08130D4C - .incbin "baserom.gba", 0x130D4C, 0x000000C - -gUnk_08130D58:: @ 08130D58 - .incbin "baserom.gba", 0x130D58, 0x000000C - -gUnk_08130D64:: @ 08130D64 - .incbin "baserom.gba", 0x130D64, 0x000000C - -gUnk_08130D70:: @ 08130D70 - .incbin "baserom.gba", 0x130D70, 0x000000C - -gUnk_08130D7C:: @ 08130D7C - .incbin "baserom.gba", 0x130D7C, 0x000000C - -gUnk_08130D88:: @ 08130D88 - .incbin "baserom.gba", 0x130D88, 0x000000C - -gUnk_08130D94:: @ 08130D94 - .incbin "baserom.gba", 0x130D94, 0x000000C - -gUnk_08130DA0:: @ 08130DA0 - .incbin "baserom.gba", 0x130DA0, 0x000000C - -gUnk_08130DAC:: @ 08130DAC - .incbin "baserom.gba", 0x130DAC, 0x000000C - -gUnk_08130DB8:: @ 08130DB8 - .incbin "baserom.gba", 0x130DB8, 0x000000C - -gUnk_08130DC4:: @ 08130DC4 - .incbin "baserom.gba", 0x130DC4, 0x000000C - -gUnk_08130DD0:: @ 08130DD0 - .incbin "baserom.gba", 0x130DD0, 0x000000C - -gUnk_08130DDC:: @ 08130DDC - .incbin "baserom.gba", 0x130DDC, 0x000000C - -gUnk_08130DE8:: @ 08130DE8 - .incbin "baserom.gba", 0x130DE8, 0x000000C - -gUnk_08130DF4:: @ 08130DF4 - .incbin "baserom.gba", 0x130DF4, 0x000000C - -gUnk_08130E00:: @ 08130E00 - .incbin "baserom.gba", 0x130E00, 0x00000E6 - -gUnk_08130EE6:: @ 08130EE6 - .incbin "baserom.gba", 0x130EE6, 0x0000017 - -gUnk_08130EFD:: @ 08130EFD - .incbin "baserom.gba", 0x130EFD, 0x0000008 - -gUnk_08130F05:: @ 08130F05 - .incbin "baserom.gba", 0x130F05, 0x0000005 - -gUnk_08130F0A:: @ 08130F0A - .incbin "baserom.gba", 0x130F0A, 0x0000002 - -gUnk_08130F0C:: @ 08130F0C - .incbin "baserom.gba", 0x130F0C, 0x0000004 - -gUnk_08130F10:: @ 08130F10 - .incbin "baserom.gba", 0x130F10, 0x0000001 - -gUnk_08130F11:: @ 08130F11 - .incbin "baserom.gba", 0x130F11, 0x00000F4 - -gUnk_08131005:: @ 08131005 - .incbin "baserom.gba", 0x131005, 0x0000005 - -gUnk_0813100A:: @ 0813100A - .incbin "baserom.gba", 0x13100A, 0x0000026 - -gUnk_08131030:: @ 08131030 - .incbin "baserom.gba", 0x131030, 0x000000C - -gUnk_0813103C:: @ 0813103C - .incbin "baserom.gba", 0x13103C, 0x000000C - -gUnk_08131048:: @ 08131048 - .incbin "baserom.gba", 0x131048, 0x000000C - -gUnk_08131054:: @ 08131054 - .incbin "baserom.gba", 0x131054, 0x000000C - -gUnk_08131060:: @ 08131060 - .incbin "baserom.gba", 0x131060, 0x000000C - -gUnk_0813106C:: @ 0813106C - .incbin "baserom.gba", 0x13106C, 0x000000C - -gUnk_08131078:: @ 08131078 - .incbin "baserom.gba", 0x131078, 0x000000C - -gUnk_08131084:: @ 08131084 - .incbin "baserom.gba", 0x131084, 0x000000C - -gUnk_08131090:: @ 08131090 - .incbin "baserom.gba", 0x131090, 0x0000010 - -gUnk_081310A0:: @ 081310A0 - .incbin "baserom.gba", 0x1310A0, 0x000000C - -gUnk_081310AC:: @ 081310AC - .incbin "baserom.gba", 0x1310AC, 0x0000010 - -gUnk_081310BC:: @ 081310BC - .incbin "baserom.gba", 0x1310BC, 0x0000007 - -gUnk_081310C3:: @ 081310C3 - .incbin "baserom.gba", 0x1310C3, 0x0000009 - -gUnk_081310CC:: @ 081310CC - .incbin "baserom.gba", 0x1310CC, 0x000000C - -gUnk_081310D8:: @ 081310D8 - .incbin "baserom.gba", 0x1310D8, 0x000000C - -gUnk_081310E4:: @ 081310E4 - .incbin "baserom.gba", 0x1310E4, 0x000000C - -gUnk_081310F0:: @ 081310F0 - .incbin "baserom.gba", 0x1310F0, 0x0000005 - -gUnk_081310F5:: @ 081310F5 - .incbin "baserom.gba", 0x1310F5, 0x000000B - -gUnk_08131100:: @ 08131100 - .incbin "baserom.gba", 0x131100, 0x000000C - -gUnk_0813110C:: @ 0813110C - .incbin "baserom.gba", 0x13110C, 0x0000004 - -gUnk_08131110:: @ 08131110 - .incbin "baserom.gba", 0x131110, 0x000000C - -gUnk_0813111C:: @ 0813111C - .incbin "baserom.gba", 0x13111C, 0x0000010 - -gUnk_0813112C:: @ 0813112C - .incbin "baserom.gba", 0x13112C, 0x000000C - -gUnk_08131138:: @ 08131138 - .incbin "baserom.gba", 0x131138, 0x000000C - -gUnk_08131144:: @ 08131144 - .incbin "baserom.gba", 0x131144, 0x000000C - -gUnk_08131150:: @ 08131150 - .incbin "baserom.gba", 0x131150, 0x000000C - -gUnk_0813115C:: @ 0813115C - .incbin "baserom.gba", 0x13115C, 0x000000C - -gUnk_08131168:: @ 08131168 - .incbin "baserom.gba", 0x131168, 0x000000C - -gUnk_08131174:: @ 08131174 - .incbin "baserom.gba", 0x131174, 0x000000C - -gUnk_08131180:: @ 08131180 - .incbin "baserom.gba", 0x131180, 0x000000C - -gUnk_0813118C:: @ 0813118C - .incbin "baserom.gba", 0x13118C, 0x000000C - -gUnk_08131198:: @ 08131198 - .incbin "baserom.gba", 0x131198, 0x000000C - -gUnk_081311A4:: @ 081311A4 - .incbin "baserom.gba", 0x1311A4, 0x000000C - -gUnk_081311B0:: @ 081311B0 - .incbin "baserom.gba", 0x1311B0, 0x000000C - -gUnk_081311BC:: @ 081311BC - .incbin "baserom.gba", 0x1311BC, 0x0000010 - -gUnk_081311CC:: @ 081311CC - .incbin "baserom.gba", 0x1311CC, 0x000000C - -gUnk_081311D8:: @ 081311D8 - .incbin "baserom.gba", 0x1311D8, 0x000000C - -gUnk_081311E4:: @ 081311E4 - .incbin "baserom.gba", 0x1311E4, 0x0000010 - -gUnk_081311F4:: @ 081311F4 - .incbin "baserom.gba", 0x1311F4, 0x000000C - -gUnk_08131200:: @ 08131200 - .incbin "baserom.gba", 0x131200, 0x000000C - -gUnk_0813120C:: @ 0813120C - .incbin "baserom.gba", 0x13120C, 0x0000006 - -gUnk_08131212:: @ 08131212 - .incbin "baserom.gba", 0x131212, 0x0000002 - -gUnk_08131214:: @ 08131214 - .incbin "baserom.gba", 0x131214, 0x0000001 - -gUnk_08131215:: @ 08131215 - .incbin "baserom.gba", 0x131215, 0x0000003 - -gUnk_08131218:: @ 08131218 - .incbin "baserom.gba", 0x131218, 0x000000C - -gUnk_08131224:: @ 08131224 - .incbin "baserom.gba", 0x131224, 0x000000C - -gUnk_08131230:: @ 08131230 - .incbin "baserom.gba", 0x131230, 0x000000C - -gUnk_0813123C:: @ 0813123C - .incbin "baserom.gba", 0x13123C, 0x000000C - -gUnk_08131248:: @ 08131248 - .incbin "baserom.gba", 0x131248, 0x000000C - -gUnk_08131254:: @ 08131254 - .incbin "baserom.gba", 0x131254, 0x000000C - -gUnk_08131260:: @ 08131260 - .incbin "baserom.gba", 0x131260, 0x000000C - -gUnk_0813126C:: @ 0813126C - .incbin "baserom.gba", 0x13126C, 0x000000C - -gUnk_08131278:: @ 08131278 - .incbin "baserom.gba", 0x131278, 0x000000C - -gUnk_08131284:: @ 08131284 - .incbin "baserom.gba", 0x131284, 0x000000C - -gUnk_08131290:: @ 08131290 - .incbin "baserom.gba", 0x131290, 0x000000C - -gUnk_0813129C:: @ 0813129C - .incbin "baserom.gba", 0x13129C, 0x000000C - -gUnk_081312A8:: @ 081312A8 - .incbin "baserom.gba", 0x1312A8, 0x000000C - -gUnk_081312B4:: @ 081312B4 - .incbin "baserom.gba", 0x1312B4, 0x000000C - -gUnk_081312C0:: @ 081312C0 - .incbin "baserom.gba", 0x1312C0, 0x000000C - -gUnk_081312CC:: @ 081312CC - .incbin "baserom.gba", 0x1312CC, 0x000000C - -gUnk_081312D8:: @ 081312D8 - .incbin "baserom.gba", 0x1312D8, 0x000000C - -gUnk_081312E4:: @ 081312E4 - .incbin "baserom.gba", 0x1312E4, 0x000000C - -gUnk_081312F0:: @ 081312F0 - .incbin "baserom.gba", 0x1312F0, 0x000000C - -gUnk_081312FC:: @ 081312FC - .incbin "baserom.gba", 0x1312FC, 0x000000C - -gUnk_08131308:: @ 08131308 - .incbin "baserom.gba", 0x131308, 0x000000C - -gUnk_08131314:: @ 08131314 - .incbin "baserom.gba", 0x131314, 0x0000003 - -gUnk_08131317:: @ 08131317 - .incbin "baserom.gba", 0x131317, 0x0000001 - -gUnk_08131318:: @ 08131318 - .incbin "baserom.gba", 0x131318, 0x0000008 - -gUnk_08131320:: @ 08131320 - .incbin "baserom.gba", 0x131320, 0x000000C - -gUnk_0813132C:: @ 0813132C - .incbin "baserom.gba", 0x13132C, 0x000000C - -gUnk_08131338:: @ 08131338 - .incbin "baserom.gba", 0x131338, 0x000000C - -gUnk_08131344:: @ 08131344 - .incbin "baserom.gba", 0x131344, 0x000000C - -gUnk_08131350:: @ 08131350 - .incbin "baserom.gba", 0x131350, 0x000000C - -gUnk_0813135C:: @ 0813135C - .incbin "baserom.gba", 0x13135C, 0x000000C - -gUnk_08131368:: @ 08131368 - .incbin "baserom.gba", 0x131368, 0x000000C - -gUnk_08131374:: @ 08131374 - .incbin "baserom.gba", 0x131374, 0x000000C - -gUnk_08131380:: @ 08131380 - .incbin "baserom.gba", 0x131380, 0x000000C - -gUnk_0813138C:: @ 0813138C - .incbin "baserom.gba", 0x13138C, 0x0000010 - -gUnk_0813139C:: @ 0813139C - .incbin "baserom.gba", 0x13139C, 0x000000C - -gUnk_081313A8:: @ 081313A8 - .incbin "baserom.gba", 0x1313A8, 0x000000C - -gUnk_081313B4:: @ 081313B4 - .incbin "baserom.gba", 0x1313B4, 0x000000C - -gUnk_081313C0:: @ 081313C0 - .incbin "baserom.gba", 0x1313C0, 0x000000C - -gUnk_081313CC:: @ 081313CC - .incbin "baserom.gba", 0x1313CC, 0x000000C - -gUnk_081313D8:: @ 081313D8 - .incbin "baserom.gba", 0x1313D8, 0x000000C - -gUnk_081313E4:: @ 081313E4 - .incbin "baserom.gba", 0x1313E4, 0x000000C - -gUnk_081313F0:: @ 081313F0 - .incbin "baserom.gba", 0x1313F0, 0x000000C - -gUnk_081313FC:: @ 081313FC - .incbin "baserom.gba", 0x1313FC, 0x0000001 - -gUnk_081313FD:: @ 081313FD - .incbin "baserom.gba", 0x1313FD, 0x000000B - -gUnk_08131408:: @ 08131408 - .incbin "baserom.gba", 0x131408, 0x0000004 - -gUnk_0813140C:: @ 0813140C - .incbin "baserom.gba", 0x13140C, 0x0000004 - -gUnk_08131410:: @ 08131410 - .incbin "baserom.gba", 0x131410, 0x0000004 - -gUnk_08131414:: @ 08131414 - .incbin "baserom.gba", 0x131414, 0x000000C - -gUnk_08131420:: @ 08131420 - .incbin "baserom.gba", 0x131420, 0x000000C - -gUnk_0813142C:: @ 0813142C - .incbin "baserom.gba", 0x13142C, 0x0000004 - -gUnk_08131430:: @ 08131430 - .incbin "baserom.gba", 0x131430, 0x000000C - -gUnk_0813143C:: @ 0813143C - .incbin "baserom.gba", 0x13143C, 0x000000C - -gUnk_08131448:: @ 08131448 - .incbin "baserom.gba", 0x131448, 0x000000C - -gUnk_08131454:: @ 08131454 - .incbin "baserom.gba", 0x131454, 0x000000C - -gUnk_08131460:: @ 08131460 - .incbin "baserom.gba", 0x131460, 0x000000C - -gUnk_0813146C:: @ 0813146C - .incbin "baserom.gba", 0x13146C, 0x000000C - -gUnk_08131478:: @ 08131478 - .incbin "baserom.gba", 0x131478, 0x000000C - -gUnk_08131484:: @ 08131484 - .incbin "baserom.gba", 0x131484, 0x000000C - -gUnk_08131490:: @ 08131490 - .incbin "baserom.gba", 0x131490, 0x000000C - -gUnk_0813149C:: @ 0813149C - .incbin "baserom.gba", 0x13149C, 0x000000C - -gUnk_081314A8:: @ 081314A8 - .incbin "baserom.gba", 0x1314A8, 0x000000C - -gUnk_081314B4:: @ 081314B4 - .incbin "baserom.gba", 0x1314B4, 0x000000C - -gUnk_081314C0:: @ 081314C0 - .incbin "baserom.gba", 0x1314C0, 0x000000C - -gUnk_081314CC:: @ 081314CC - .incbin "baserom.gba", 0x1314CC, 0x000000C - -gUnk_081314D8:: @ 081314D8 - .incbin "baserom.gba", 0x1314D8, 0x000000C - -gUnk_081314E4:: @ 081314E4 - .incbin "baserom.gba", 0x1314E4, 0x000000C - -gUnk_081314F0:: @ 081314F0 - .incbin "baserom.gba", 0x1314F0, 0x000000C - -gUnk_081314FC:: @ 081314FC - .incbin "baserom.gba", 0x1314FC, 0x000000C - -gUnk_08131508:: @ 08131508 - .incbin "baserom.gba", 0x131508, 0x000000C - -gUnk_08131514:: @ 08131514 - .incbin "baserom.gba", 0x131514, 0x000000C - -gUnk_08131520:: @ 08131520 - .incbin "baserom.gba", 0x131520, 0x000000C - -gUnk_0813152C:: @ 0813152C - .incbin "baserom.gba", 0x13152C, 0x000000C - -gUnk_08131538:: @ 08131538 - .incbin "baserom.gba", 0x131538, 0x000000C - -gUnk_08131544:: @ 08131544 - .incbin "baserom.gba", 0x131544, 0x000000C - -gUnk_08131550:: @ 08131550 - .incbin "baserom.gba", 0x131550, 0x000000C - -gUnk_0813155C:: @ 0813155C - .incbin "baserom.gba", 0x13155C, 0x000000C - -gUnk_08131568:: @ 08131568 - .incbin "baserom.gba", 0x131568, 0x000000C - -gUnk_08131574:: @ 08131574 - .incbin "baserom.gba", 0x131574, 0x000000C - -gUnk_08131580:: @ 08131580 - .incbin "baserom.gba", 0x131580, 0x000000C - -gUnk_0813158C:: @ 0813158C - .incbin "baserom.gba", 0x13158C, 0x000000C - -gUnk_08131598:: @ 08131598 - .incbin "baserom.gba", 0x131598, 0x000000C - -gUnk_081315A4:: @ 081315A4 - .incbin "baserom.gba", 0x1315A4, 0x000000C - -gUnk_081315B0:: @ 081315B0 - .incbin "baserom.gba", 0x1315B0, 0x000000C - -gUnk_081315BC:: @ 081315BC - .incbin "baserom.gba", 0x1315BC, 0x000000C - -gUnk_081315C8:: @ 081315C8 - .incbin "baserom.gba", 0x1315C8, 0x000000C - -gUnk_081315D4:: @ 081315D4 - .incbin "baserom.gba", 0x1315D4, 0x0000009 - -gUnk_081315DD:: @ 081315DD - .incbin "baserom.gba", 0x1315DD, 0x0000003 - -gUnk_081315E0:: @ 081315E0 - .incbin "baserom.gba", 0x1315E0, 0x000000C - -gUnk_081315EC:: @ 081315EC - .incbin "baserom.gba", 0x1315EC, 0x000000C - -gUnk_081315F8:: @ 081315F8 - .incbin "baserom.gba", 0x1315F8, 0x000000C - -gUnk_08131604:: @ 08131604 - .incbin "baserom.gba", 0x131604, 0x000000C - -gUnk_08131610:: @ 08131610 - .incbin "baserom.gba", 0x131610, 0x000000B - -gUnk_0813161B:: @ 0813161B - .incbin "baserom.gba", 0x13161B, 0x0000001 - -gUnk_0813161C:: @ 0813161C - .incbin "baserom.gba", 0x13161C, 0x000000C - -gUnk_08131628:: @ 08131628 - .incbin "baserom.gba", 0x131628, 0x000000C - -gUnk_08131634:: @ 08131634 - .incbin "baserom.gba", 0x131634, 0x000000C - -gUnk_08131640:: @ 08131640 - .incbin "baserom.gba", 0x131640, 0x000000C - -gUnk_0813164C:: @ 0813164C - .incbin "baserom.gba", 0x13164C, 0x000000C - -gUnk_08131658:: @ 08131658 - .incbin "baserom.gba", 0x131658, 0x000000C - -gUnk_08131664:: @ 08131664 - .incbin "baserom.gba", 0x131664, 0x000000C - -gUnk_08131670:: @ 08131670 - .incbin "baserom.gba", 0x131670, 0x000000C - -gUnk_0813167C:: @ 0813167C - .incbin "baserom.gba", 0x13167C, 0x000000C - -gUnk_08131688:: @ 08131688 - .incbin "baserom.gba", 0x131688, 0x000000C - -gUnk_08131694:: @ 08131694 - .incbin "baserom.gba", 0x131694, 0x000000C - -gUnk_081316A0:: @ 081316A0 - .incbin "baserom.gba", 0x1316A0, 0x000004E - -gUnk_081316EE:: @ 081316EE - .incbin "baserom.gba", 0x1316EE, 0x000001A - -gUnk_08131708:: @ 08131708 - .incbin "baserom.gba", 0x131708, 0x0000008 - -gUnk_08131710:: @ 08131710 - .incbin "baserom.gba", 0x131710, 0x0000002 - -gUnk_08131712:: @ 08131712 - .incbin "baserom.gba", 0x131712, 0x0000001 - -gUnk_08131713:: @ 08131713 - .incbin "baserom.gba", 0x131713, 0x0000003 - -gUnk_08131716:: @ 08131716 - .incbin "baserom.gba", 0x131716, 0x0000009 - -gUnk_0813171F:: @ 0813171F - .incbin "baserom.gba", 0x13171F, 0x00000C3 - -gUnk_081317E2:: @ 081317E2 - .incbin "baserom.gba", 0x1317E2, 0x0000032 - -gUnk_08131814:: @ 08131814 - .incbin "baserom.gba", 0x131814, 0x0000001 - -gUnk_08131815:: @ 08131815 - .incbin "baserom.gba", 0x131815, 0x00000F7 - -gUnk_0813190C:: @ 0813190C - .incbin "baserom.gba", 0x13190C, 0x0000001 - -gUnk_0813190D:: @ 0813190D - .incbin "baserom.gba", 0x13190D, 0x0000008 - -gUnk_08131915:: @ 08131915 - .incbin "baserom.gba", 0x131915, 0x0000002 - -gUnk_08131917:: @ 08131917 - .incbin "baserom.gba", 0x131917, 0x0000001 - -gUnk_08131918:: @ 08131918 - .incbin "baserom.gba", 0x131918, 0x0000001 - -gUnk_08131919:: @ 08131919 - .incbin "baserom.gba", 0x131919, 0x0000004 - -gUnk_0813191D:: @ 0813191D - .incbin "baserom.gba", 0x13191D, 0x0000003 - -gUnk_08131920:: @ 08131920 - .incbin "baserom.gba", 0x131920, 0x0000008 - -gUnk_08131928:: @ 08131928 - .incbin "baserom.gba", 0x131928, 0x0000010 - -gUnk_08131938:: @ 08131938 - .incbin "baserom.gba", 0x131938, 0x0000010 - -gUnk_08131948:: @ 08131948 - .incbin "baserom.gba", 0x131948, 0x000000C - -gUnk_08131954:: @ 08131954 - .incbin "baserom.gba", 0x131954, 0x000000C - -gUnk_08131960:: @ 08131960 - .incbin "baserom.gba", 0x131960, 0x000000C - -gUnk_0813196C:: @ 0813196C - .incbin "baserom.gba", 0x13196C, 0x000000C - -gUnk_08131978:: @ 08131978 - .incbin "baserom.gba", 0x131978, 0x000000C - -gUnk_08131984:: @ 08131984 - .incbin "baserom.gba", 0x131984, 0x000000C - -gUnk_08131990:: @ 08131990 - .incbin "baserom.gba", 0x131990, 0x000000C - -gUnk_0813199C:: @ 0813199C - .incbin "baserom.gba", 0x13199C, 0x000000C - -gUnk_081319A8:: @ 081319A8 - .incbin "baserom.gba", 0x1319A8, 0x000000C - -gUnk_081319B4:: @ 081319B4 - .incbin "baserom.gba", 0x1319B4, 0x000000C - -gUnk_081319C0:: @ 081319C0 - .incbin "baserom.gba", 0x1319C0, 0x000000C - -gUnk_081319CC:: @ 081319CC - .incbin "baserom.gba", 0x1319CC, 0x000000C - -gUnk_081319D8:: @ 081319D8 - .incbin "baserom.gba", 0x1319D8, 0x000000C - -gUnk_081319E4:: @ 081319E4 - .incbin "baserom.gba", 0x1319E4, 0x0000014 - -gUnk_081319F8:: @ 081319F8 - .incbin "baserom.gba", 0x1319F8, 0x0000010 - -gUnk_08131A08:: @ 08131A08 - .incbin "baserom.gba", 0x131A08, 0x0000010 - -gUnk_08131A18:: @ 08131A18 - .incbin "baserom.gba", 0x131A18, 0x0000005 - -gUnk_08131A1D:: @ 08131A1D - .incbin "baserom.gba", 0x131A1D, 0x0000001 - -gUnk_08131A1E:: @ 08131A1E - .incbin "baserom.gba", 0x131A1E, 0x0000001 - -gUnk_08131A1F:: @ 08131A1F - .incbin "baserom.gba", 0x131A1F, 0x0000009 - -gUnk_08131A28:: @ 08131A28 - .incbin "baserom.gba", 0x131A28, 0x000000C - -gUnk_08131A34:: @ 08131A34 - .incbin "baserom.gba", 0x131A34, 0x000000C - -gUnk_08131A40:: @ 08131A40 - .incbin "baserom.gba", 0x131A40, 0x0000010 - -gUnk_08131A50:: @ 08131A50 - .incbin "baserom.gba", 0x131A50, 0x0000010 - -gUnk_08131A60:: @ 08131A60 - .incbin "baserom.gba", 0x131A60, 0x0000010 - -gUnk_08131A70:: @ 08131A70 - .incbin "baserom.gba", 0x131A70, 0x0000010 - -gUnk_08131A80:: @ 08131A80 - .incbin "baserom.gba", 0x131A80, 0x0000010 - -gUnk_08131A90:: @ 08131A90 - .incbin "baserom.gba", 0x131A90, 0x0000010 - -gUnk_08131AA0:: @ 08131AA0 - .incbin "baserom.gba", 0x131AA0, 0x0000014 - -gUnk_08131AB4:: @ 08131AB4 - .incbin "baserom.gba", 0x131AB4, 0x0000010 - -gUnk_08131AC4:: @ 08131AC4 - .incbin "baserom.gba", 0x131AC4, 0x0000014 - -gUnk_08131AD8:: @ 08131AD8 - .incbin "baserom.gba", 0x131AD8, 0x0000014 - -gUnk_08131AEC:: @ 08131AEC - .incbin "baserom.gba", 0x131AEC, 0x0000014 - -gUnk_08131B00:: @ 08131B00 - .incbin "baserom.gba", 0x131B00, 0x000000F - -gUnk_08131B0F:: @ 08131B0F - .incbin "baserom.gba", 0x131B0F, 0x0000001 - -gUnk_08131B10:: @ 08131B10 - .incbin "baserom.gba", 0x131B10, 0x0000008 - -gUnk_08131B18:: @ 08131B18 - .incbin "baserom.gba", 0x131B18, 0x0000001 - -gUnk_08131B19:: @ 08131B19 - .incbin "baserom.gba", 0x131B19, 0x0000003 - -gUnk_08131B1C:: @ 08131B1C - .incbin "baserom.gba", 0x131B1C, 0x0000004 - -gUnk_08131B20:: @ 08131B20 - .incbin "baserom.gba", 0x131B20, 0x0000002 - -gUnk_08131B22:: @ 08131B22 - .incbin "baserom.gba", 0x131B22, 0x0000002 - -gUnk_08131B24:: @ 08131B24 - .incbin "baserom.gba", 0x131B24, 0x0000010 - -gUnk_08131B34:: @ 08131B34 - .incbin "baserom.gba", 0x131B34, 0x0000010 - -gUnk_08131B44:: @ 08131B44 - .incbin "baserom.gba", 0x131B44, 0x0000010 - -gUnk_08131B54:: @ 08131B54 - .incbin "baserom.gba", 0x131B54, 0x0000010 - -gUnk_08131B64:: @ 08131B64 - .incbin "baserom.gba", 0x131B64, 0x000000C - -gUnk_08131B70:: @ 08131B70 - .incbin "baserom.gba", 0x131B70, 0x000000C - -gUnk_08131B7C:: @ 08131B7C - .incbin "baserom.gba", 0x131B7C, 0x000000C - -gUnk_08131B88:: @ 08131B88 - .incbin "baserom.gba", 0x131B88, 0x000000C - -gUnk_08131B94:: @ 08131B94 - .incbin "baserom.gba", 0x131B94, 0x000000C - -gUnk_08131BA0:: @ 08131BA0 - .incbin "baserom.gba", 0x131BA0, 0x000000C - -gUnk_08131BAC:: @ 08131BAC - .incbin "baserom.gba", 0x131BAC, 0x000000C - -gUnk_08131BB8:: @ 08131BB8 - .incbin "baserom.gba", 0x131BB8, 0x000000C - -gUnk_08131BC4:: @ 08131BC4 - .incbin "baserom.gba", 0x131BC4, 0x000000C - -gUnk_08131BD0:: @ 08131BD0 - .incbin "baserom.gba", 0x131BD0, 0x000000C - -gUnk_08131BDC:: @ 08131BDC - .incbin "baserom.gba", 0x131BDC, 0x000000C - -gUnk_08131BE8:: @ 08131BE8 - .incbin "baserom.gba", 0x131BE8, 0x0000010 - -gUnk_08131BF8:: @ 08131BF8 - .incbin "baserom.gba", 0x131BF8, 0x000000C - -gUnk_08131C04:: @ 08131C04 - .incbin "baserom.gba", 0x131C04, 0x000000C - -gUnk_08131C10:: @ 08131C10 - .incbin "baserom.gba", 0x131C10, 0x000000C - -gUnk_08131C1C:: @ 08131C1C - .incbin "baserom.gba", 0x131C1C, 0x0000002 - -gUnk_08131C1E:: @ 08131C1E - .incbin "baserom.gba", 0x131C1E, 0x0000005 - -gUnk_08131C23:: @ 08131C23 - .incbin "baserom.gba", 0x131C23, 0x0000002 - -gUnk_08131C25:: @ 08131C25 - .incbin "baserom.gba", 0x131C25, 0x0000003 - -gUnk_08131C28:: @ 08131C28 - .incbin "baserom.gba", 0x131C28, 0x000000C - -gUnk_08131C34:: @ 08131C34 - .incbin "baserom.gba", 0x131C34, 0x000000C - -gUnk_08131C40:: @ 08131C40 - .incbin "baserom.gba", 0x131C40, 0x0000010 - -gUnk_08131C50:: @ 08131C50 - .incbin "baserom.gba", 0x131C50, 0x000000C - -gUnk_08131C5C:: @ 08131C5C - .incbin "baserom.gba", 0x131C5C, 0x000000C - -gUnk_08131C68:: @ 08131C68 - .incbin "baserom.gba", 0x131C68, 0x000000C - -gUnk_08131C74:: @ 08131C74 - .incbin "baserom.gba", 0x131C74, 0x000000C - -gUnk_08131C80:: @ 08131C80 - .incbin "baserom.gba", 0x131C80, 0x000000C - -gUnk_08131C8C:: @ 08131C8C - .incbin "baserom.gba", 0x131C8C, 0x000000C - -gUnk_08131C98:: @ 08131C98 - .incbin "baserom.gba", 0x131C98, 0x0000010 - -gUnk_08131CA8:: @ 08131CA8 - .incbin "baserom.gba", 0x131CA8, 0x000000C - -gUnk_08131CB4:: @ 08131CB4 - .incbin "baserom.gba", 0x131CB4, 0x000000C - -gUnk_08131CC0:: @ 08131CC0 - .incbin "baserom.gba", 0x131CC0, 0x000000C - -gUnk_08131CCC:: @ 08131CCC - .incbin "baserom.gba", 0x131CCC, 0x000000C - -gUnk_08131CD8:: @ 08131CD8 - .incbin "baserom.gba", 0x131CD8, 0x000000C - -gUnk_08131CE4:: @ 08131CE4 - .incbin "baserom.gba", 0x131CE4, 0x000000C - -gUnk_08131CF0:: @ 08131CF0 - .incbin "baserom.gba", 0x131CF0, 0x000000C - -gUnk_08131CFC:: @ 08131CFC - .incbin "baserom.gba", 0x131CFC, 0x000000C - -gUnk_08131D08:: @ 08131D08 - .incbin "baserom.gba", 0x131D08, 0x000000C - -gUnk_08131D14:: @ 08131D14 - .incbin "baserom.gba", 0x131D14, 0x0000005 - -gUnk_08131D19:: @ 08131D19 - .incbin "baserom.gba", 0x131D19, 0x0000006 - -gUnk_08131D1F:: @ 08131D1F - .incbin "baserom.gba", 0x131D1F, 0x0000001 - -gUnk_08131D20:: @ 08131D20 - .incbin "baserom.gba", 0x131D20, 0x0000002 - -gUnk_08131D22:: @ 08131D22 - .incbin "baserom.gba", 0x131D22, 0x0000002 - -gUnk_08131D24:: @ 08131D24 - .incbin "baserom.gba", 0x131D24, 0x0000001 - -gUnk_08131D25:: @ 08131D25 - .incbin "baserom.gba", 0x131D25, 0x0000001 - -gUnk_08131D26:: @ 08131D26 - .incbin "baserom.gba", 0x131D26, 0x0000004 - -gUnk_08131D2A:: @ 08131D2A - .incbin "baserom.gba", 0x131D2A, 0x0000002 - -gUnk_08131D2C:: @ 08131D2C - .incbin "baserom.gba", 0x131D2C, 0x000000C - -gUnk_08131D38:: @ 08131D38 - .incbin "baserom.gba", 0x131D38, 0x000000C - -gUnk_08131D44:: @ 08131D44 - .incbin "baserom.gba", 0x131D44, 0x000000C - -gUnk_08131D50:: @ 08131D50 - .incbin "baserom.gba", 0x131D50, 0x000000C - -gUnk_08131D5C:: @ 08131D5C - .incbin "baserom.gba", 0x131D5C, 0x000000C - -gUnk_08131D68:: @ 08131D68 - .incbin "baserom.gba", 0x131D68, 0x000000C - -gUnk_08131D74:: @ 08131D74 - .incbin "baserom.gba", 0x131D74, 0x000000C - -gUnk_08131D80:: @ 08131D80 - .incbin "baserom.gba", 0x131D80, 0x000000C - -gUnk_08131D8C:: @ 08131D8C - .incbin "baserom.gba", 0x131D8C, 0x000000C - -gUnk_08131D98:: @ 08131D98 - .incbin "baserom.gba", 0x131D98, 0x000000C - -gUnk_08131DA4:: @ 08131DA4 - .incbin "baserom.gba", 0x131DA4, 0x000000C - -gUnk_08131DB0:: @ 08131DB0 - .incbin "baserom.gba", 0x131DB0, 0x000000C - -gUnk_08131DBC:: @ 08131DBC - .incbin "baserom.gba", 0x131DBC, 0x000000C - -gUnk_08131DC8:: @ 08131DC8 - .incbin "baserom.gba", 0x131DC8, 0x000000C - -gUnk_08131DD4:: @ 08131DD4 - .incbin "baserom.gba", 0x131DD4, 0x000000C - -gUnk_08131DE0:: @ 08131DE0 - .incbin "baserom.gba", 0x131DE0, 0x000000C - -gUnk_08131DEC:: @ 08131DEC - .incbin "baserom.gba", 0x131DEC, 0x0000003 - -gUnk_08131DEF:: @ 08131DEF - .incbin "baserom.gba", 0x131DEF, 0x0000009 - -gUnk_08131DF8:: @ 08131DF8 - .incbin "baserom.gba", 0x131DF8, 0x000000C - -gUnk_08131E04:: @ 08131E04 - .incbin "baserom.gba", 0x131E04, 0x000000C - -gUnk_08131E10:: @ 08131E10 - .incbin "baserom.gba", 0x131E10, 0x000000C - -gUnk_08131E1C:: @ 08131E1C - .incbin "baserom.gba", 0x131E1C, 0x000000B - -gUnk_08131E27:: @ 08131E27 - .incbin "baserom.gba", 0x131E27, 0x0000001 - -gUnk_08131E28:: @ 08131E28 - .incbin "baserom.gba", 0x131E28, 0x0000001 - -gUnk_08131E29:: @ 08131E29 - .incbin "baserom.gba", 0x131E29, 0x000000A - -gUnk_08131E33:: @ 08131E33 - .incbin "baserom.gba", 0x131E33, 0x0000001 - -gUnk_08131E34:: @ 08131E34 - .incbin "baserom.gba", 0x131E34, 0x000000C - -gUnk_08131E40:: @ 08131E40 - .incbin "baserom.gba", 0x131E40, 0x000000C - -gUnk_08131E4C:: @ 08131E4C - .incbin "baserom.gba", 0x131E4C, 0x000000C - -gUnk_08131E58:: @ 08131E58 - .incbin "baserom.gba", 0x131E58, 0x000000C - -gUnk_08131E64:: @ 08131E64 - .incbin "baserom.gba", 0x131E64, 0x000000C - -gUnk_08131E70:: @ 08131E70 - .incbin "baserom.gba", 0x131E70, 0x000000C - -gUnk_08131E7C:: @ 08131E7C - .incbin "baserom.gba", 0x131E7C, 0x000000C - -gUnk_08131E88:: @ 08131E88 - .incbin "baserom.gba", 0x131E88, 0x000000C - -gUnk_08131E94:: @ 08131E94 - .incbin "baserom.gba", 0x131E94, 0x000000C - -gUnk_08131EA0:: @ 08131EA0 - .incbin "baserom.gba", 0x131EA0, 0x000000C - -gUnk_08131EAC:: @ 08131EAC - .incbin "baserom.gba", 0x131EAC, 0x000000C - -gUnk_08131EB8:: @ 08131EB8 - .incbin "baserom.gba", 0x131EB8, 0x000000C - -gUnk_08131EC4:: @ 08131EC4 - .incbin "baserom.gba", 0x131EC4, 0x000000C - -gUnk_08131ED0:: @ 08131ED0 - .incbin "baserom.gba", 0x131ED0, 0x000000C - -gUnk_08131EDC:: @ 08131EDC - .incbin "baserom.gba", 0x131EDC, 0x000000C - -gUnk_08131EE8:: @ 08131EE8 - .incbin "baserom.gba", 0x131EE8, 0x000000C - -gUnk_08131EF4:: @ 08131EF4 - .incbin "baserom.gba", 0x131EF4, 0x000000C - -gUnk_08131F00:: @ 08131F00 - .incbin "baserom.gba", 0x131F00, 0x000000C - -gUnk_08131F0C:: @ 08131F0C - .incbin "baserom.gba", 0x131F0C, 0x000000C - -gUnk_08131F18:: @ 08131F18 - .incbin "baserom.gba", 0x131F18, 0x000000A - -gUnk_08131F22:: @ 08131F22 - .incbin "baserom.gba", 0x131F22, 0x0000002 - -gUnk_08131F24:: @ 08131F24 - .incbin "baserom.gba", 0x131F24, 0x0000007 - -gUnk_08131F2B:: @ 08131F2B - .incbin "baserom.gba", 0x131F2B, 0x0000004 - -gUnk_08131F2F:: @ 08131F2F - .incbin "baserom.gba", 0x131F2F, 0x0000001 - -gUnk_08131F30:: @ 08131F30 - .incbin "baserom.gba", 0x131F30, 0x0000002 - -gUnk_08131F32:: @ 08131F32 - .incbin "baserom.gba", 0x131F32, 0x000000A - -gUnk_08131F3C:: @ 08131F3C - .incbin "baserom.gba", 0x131F3C, 0x000000C - -gUnk_08131F48:: @ 08131F48 - .incbin "baserom.gba", 0x131F48, 0x000000C - -gUnk_08131F54:: @ 08131F54 - .incbin "baserom.gba", 0x131F54, 0x000000C - -gUnk_08131F60:: @ 08131F60 - .incbin "baserom.gba", 0x131F60, 0x000000C - -gUnk_08131F6C:: @ 08131F6C - .incbin "baserom.gba", 0x131F6C, 0x000000C - -gUnk_08131F78:: @ 08131F78 - .incbin "baserom.gba", 0x131F78, 0x000000C - -gUnk_08131F84:: @ 08131F84 - .incbin "baserom.gba", 0x131F84, 0x000000C - -gUnk_08131F90:: @ 08131F90 - .incbin "baserom.gba", 0x131F90, 0x000000C - -gUnk_08131F9C:: @ 08131F9C - .incbin "baserom.gba", 0x131F9C, 0x000000C - -gUnk_08131FA8:: @ 08131FA8 - .incbin "baserom.gba", 0x131FA8, 0x000000C - -gUnk_08131FB4:: @ 08131FB4 - .incbin "baserom.gba", 0x131FB4, 0x000000C - -gUnk_08131FC0:: @ 08131FC0 - .incbin "baserom.gba", 0x131FC0, 0x000000C - -gUnk_08131FCC:: @ 08131FCC - .incbin "baserom.gba", 0x131FCC, 0x000000C - -gUnk_08131FD8:: @ 08131FD8 - .incbin "baserom.gba", 0x131FD8, 0x000000C - -gUnk_08131FE4:: @ 08131FE4 - .incbin "baserom.gba", 0x131FE4, 0x000000C - -gUnk_08131FF0:: @ 08131FF0 - .incbin "baserom.gba", 0x131FF0, 0x000000C - -gUnk_08131FFC:: @ 08131FFC - .incbin "baserom.gba", 0x131FFC, 0x0000003 - -gUnk_08131FFF:: @ 08131FFF - .incbin "baserom.gba", 0x131FFF, 0x0000007 - -gUnk_08132006:: @ 08132006 - .incbin "baserom.gba", 0x132006, 0x0000002 - -gUnk_08132008:: @ 08132008 - .incbin "baserom.gba", 0x132008, 0x000000C - -gUnk_08132014:: @ 08132014 - .incbin "baserom.gba", 0x132014, 0x000000C - -gUnk_08132020:: @ 08132020 - .incbin "baserom.gba", 0x132020, 0x0000009 - -gUnk_08132029:: @ 08132029 - .incbin "baserom.gba", 0x132029, 0x0000001 - -gUnk_0813202A:: @ 0813202A - .incbin "baserom.gba", 0x13202A, 0x0000002 - -gUnk_0813202C:: @ 0813202C - .incbin "baserom.gba", 0x13202C, 0x0000001 - -gUnk_0813202D:: @ 0813202D - .incbin "baserom.gba", 0x13202D, 0x0000002 - -gUnk_0813202F:: @ 0813202F - .incbin "baserom.gba", 0x13202F, 0x0000009 - -gUnk_08132038:: @ 08132038 - .incbin "baserom.gba", 0x132038, 0x000000C - -gUnk_08132044:: @ 08132044 - .incbin "baserom.gba", 0x132044, 0x000000C - -gUnk_08132050:: @ 08132050 - .incbin "baserom.gba", 0x132050, 0x000000C - -gUnk_0813205C:: @ 0813205C - .incbin "baserom.gba", 0x13205C, 0x000000C - -gUnk_08132068:: @ 08132068 - .incbin "baserom.gba", 0x132068, 0x000000C - -gUnk_08132074:: @ 08132074 - .incbin "baserom.gba", 0x132074, 0x000000C - -gUnk_08132080:: @ 08132080 - .incbin "baserom.gba", 0x132080, 0x000000C - -gUnk_0813208C:: @ 0813208C - .incbin "baserom.gba", 0x13208C, 0x000001C - -gUnk_081320A8:: @ 081320A8 - .incbin "baserom.gba", 0x1320A8, 0x0000010 - -gUnk_081320B8:: @ 081320B8 - .incbin "baserom.gba", 0x1320B8, 0x000000C - -gUnk_081320C4:: @ 081320C4 - .incbin "baserom.gba", 0x1320C4, 0x0000008 - -gUnk_081320CC:: @ 081320CC - .incbin "baserom.gba", 0x1320CC, 0x0000008 - -gUnk_081320D4:: @ 081320D4 - .incbin "baserom.gba", 0x1320D4, 0x0000010 - -gUnk_081320E4:: @ 081320E4 - .incbin "baserom.gba", 0x1320E4, 0x000000C diff --git a/data/data_08124712.s b/data/data_08124712.s new file mode 100644 index 00000000..8747f1fa --- /dev/null +++ b/data/data_08124712.s @@ -0,0 +1,6974 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + .align 1 + +gUnk_08124712:: @ 08124712 + .incbin "baserom.gba", 0x124712, 0x0000031 + +gUnk_08124743:: @ 08124743 + .incbin "baserom.gba", 0x124743, 0x0000021 + +gUnk_08124764:: @ 08124764 + .incbin "baserom.gba", 0x124764, 0x0000024 + +gUnk_08124788:: @ 08124788 + .incbin "baserom.gba", 0x124788, 0x0000010 + +gUnk_08124798:: @ 08124798 + .incbin "baserom.gba", 0x124798, 0x0000008 + +gUnk_081247A0:: @ 081247A0 + .incbin "baserom.gba", 0x1247A0, 0x000000C + +gUnk_081247AC:: @ 081247AC + .incbin "baserom.gba", 0x1247AC, 0x0000014 + +gUnk_081247C0:: @ 081247C0 + .incbin "baserom.gba", 0x1247C0, 0x0000008 + +gUnk_081247C8:: @ 081247C8 + .incbin "baserom.gba", 0x1247C8, 0x0000008 + +gUnk_081247D0:: @ 081247D0 + .incbin "baserom.gba", 0x1247D0, 0x0000028 + +gUnk_081247F8:: @ 081247F8 + .incbin "baserom.gba", 0x1247F8, 0x0000008 + +gUnk_08124800:: @ 08124800 + .incbin "baserom.gba", 0x124800, 0x0000008 + +gUnk_08124808:: @ 08124808 + .incbin "baserom.gba", 0x124808, 0x0000014 + +gUnk_0812481C:: @ 0812481C + .incbin "baserom.gba", 0x12481C, 0x0000008 + +gUnk_08124824:: @ 08124824 + .incbin "baserom.gba", 0x124824, 0x000001C + +gUnk_08124840:: @ 08124840 + .incbin "baserom.gba", 0x124840, 0x000000C + +gUnk_0812484C:: @ 0812484C + .incbin "baserom.gba", 0x12484C, 0x0000004 + +gUnk_08124850:: @ 08124850 + .incbin "baserom.gba", 0x124850, 0x000000C + +gUnk_0812485C:: @ 0812485C + .incbin "baserom.gba", 0x12485C, 0x0000004 + +gUnk_08124860:: @ 08124860 + .incbin "baserom.gba", 0x124860, 0x0000008 + +gUnk_08124868:: @ 08124868 + .incbin "baserom.gba", 0x124868, 0x0000004 + +gUnk_0812486C:: @ 0812486C + .incbin "baserom.gba", 0x12486C, 0x000000C + +gUnk_08124878:: @ 08124878 + .incbin "baserom.gba", 0x124878, 0x0000018 + +gUnk_08124890:: @ 08124890 + .incbin "baserom.gba", 0x124890, 0x0000008 + +gUnk_08124898:: @ 08124898 + .incbin "baserom.gba", 0x124898, 0x000001C + +gUnk_081248B4:: @ 081248B4 + .incbin "baserom.gba", 0x1248B4, 0x0000008 + +gUnk_081248BC:: @ 081248BC + .incbin "baserom.gba", 0x1248BC, 0x0000008 + +gUnk_081248C4:: @ 081248C4 + .incbin "baserom.gba", 0x1248C4, 0x000000C + +gUnk_081248D0:: @ 081248D0 + .incbin "baserom.gba", 0x1248D0, 0x0000011 + +gUnk_081248E1:: @ 081248E1 + .incbin "baserom.gba", 0x1248E1, 0x0000011 + +gUnk_081248F2:: @ 081248F2 + .incbin "baserom.gba", 0x1248F2, 0x000001C + +gUnk_0812490E:: @ 0812490E + .incbin "baserom.gba", 0x12490E, 0x000001A + +gUnk_08124928:: @ 08124928 + .incbin "baserom.gba", 0x124928, 0x0000014 + +gUnk_0812493C:: @ 0812493C + .incbin "baserom.gba", 0x12493C, 0x0000014 + +gUnk_08124950:: @ 08124950 + .incbin "baserom.gba", 0x124950, 0x0000010 + +gUnk_08124960:: @ 08124960 + .incbin "baserom.gba", 0x124960, 0x0000005 + +gUnk_08124965:: @ 08124965 + .incbin "baserom.gba", 0x124965, 0x0000015 + +gUnk_0812497A:: @ 0812497A + .incbin "baserom.gba", 0x12497A, 0x000001A + +gUnk_08124994:: @ 08124994 + .incbin "baserom.gba", 0x124994, 0x000000C + +gUnk_081249A0:: @ 081249A0 + .incbin "baserom.gba", 0x1249A0, 0x000000C + +gUnk_081249AC:: @ 081249AC + .incbin "baserom.gba", 0x1249AC, 0x000000C + +gUnk_081249B8:: @ 081249B8 + .incbin "baserom.gba", 0x1249B8, 0x0000011 + +gUnk_081249C9:: @ 081249C9 + .incbin "baserom.gba", 0x1249C9, 0x0000011 + +gUnk_081249DA:: @ 081249DA + .incbin "baserom.gba", 0x1249DA, 0x0000011 + +gUnk_081249EB:: @ 081249EB + .incbin "baserom.gba", 0x1249EB, 0x0000011 + +gUnk_081249FC:: @ 081249FC + .incbin "baserom.gba", 0x1249FC, 0x0000014 + +gUnk_08124A10:: @ 08124A10 + .incbin "baserom.gba", 0x124A10, 0x0000008 + +gUnk_08124A18:: @ 08124A18 + .incbin "baserom.gba", 0x124A18, 0x0000008 + +gUnk_08124A20:: @ 08124A20 + .incbin "baserom.gba", 0x124A20, 0x000000C + +gUnk_08124A2C:: @ 08124A2C + .incbin "baserom.gba", 0x124A2C, 0x0000051 + +gUnk_08124A7D:: @ 08124A7D + .incbin "baserom.gba", 0x124A7D, 0x0000005 + +gUnk_08124A82:: @ 08124A82 + .incbin "baserom.gba", 0x124A82, 0x0000005 + +gUnk_08124A87:: @ 08124A87 + .incbin "baserom.gba", 0x124A87, 0x0000005 + +gUnk_08124A8C:: @ 08124A8C + .incbin "baserom.gba", 0x124A8C, 0x0000021 + +gUnk_08124AAD:: @ 08124AAD + .incbin "baserom.gba", 0x124AAD, 0x000004B + +gUnk_08124AF8:: @ 08124AF8 + .incbin "baserom.gba", 0x124AF8, 0x0000018 + +gUnk_08124B10:: @ 08124B10 + .incbin "baserom.gba", 0x124B10, 0x0000010 + +gUnk_08124B20:: @ 08124B20 + .incbin "baserom.gba", 0x124B20, 0x0000010 + +gUnk_08124B30:: @ 08124B30 + .incbin "baserom.gba", 0x124B30, 0x0000008 + +gUnk_08124B38:: @ 08124B38 + .incbin "baserom.gba", 0x124B38, 0x0000071 + +gUnk_08124BA9:: @ 08124BA9 + .incbin "baserom.gba", 0x124BA9, 0x0000053 + +gUnk_08124BFC:: @ 08124BFC + .incbin "baserom.gba", 0x124BFC, 0x000000C + +gUnk_08124C08:: @ 08124C08 + .incbin "baserom.gba", 0x124C08, 0x0000008 + +gUnk_08124C10:: @ 08124C10 + .incbin "baserom.gba", 0x124C10, 0x0000010 + +gUnk_08124C20:: @ 08124C20 + .incbin "baserom.gba", 0x124C20, 0x0000028 + +gUnk_08124C48:: @ 08124C48 + .incbin "baserom.gba", 0x124C48, 0x0000258 + +gUnk_08124EA0:: @ 08124EA0 + .incbin "baserom.gba", 0x124EA0, 0x0000028 + +gUnk_08124EC8:: @ 08124EC8 + .incbin "baserom.gba", 0x124EC8, 0x0000004 + +gUnk_08124ECC:: @ 08124ECC + .incbin "baserom.gba", 0x124ECC, 0x0000004 + +gUnk_08124ED0:: @ 08124ED0 + .incbin "baserom.gba", 0x124ED0, 0x0000028 + +gUnk_08124EF8:: @ 08124EF8 + .incbin "baserom.gba", 0x124EF8, 0x0000010 + +gUnk_08124F08:: @ 08124F08 + .incbin "baserom.gba", 0x124F08, 0x0000020 + +gUnk_08124F28:: @ 08124F28 + .incbin "baserom.gba", 0x124F28, 0x0000020 + +gUnk_08124F48:: @ 08124F48 + .incbin "baserom.gba", 0x124F48, 0x0000020 + +gUnk_08124F68:: @ 08124F68 + .incbin "baserom.gba", 0x124F68, 0x0000020 + +gUnk_08124F88:: @ 08124F88 + .incbin "baserom.gba", 0x124F88, 0x0000020 + +gUnk_08124FA8:: @ 08124FA8 + .incbin "baserom.gba", 0x124FA8, 0x0000020 + +gUnk_08124FC8:: @ 08124FC8 + .incbin "baserom.gba", 0x124FC8, 0x0000014 + +gUnk_08124FDC:: @ 08124FDC + .incbin "baserom.gba", 0x124FDC, 0x0000014 + +gUnk_08124FF0:: @ 08124FF0 + .incbin "baserom.gba", 0x124FF0, 0x0000020 + +gUnk_08125010:: @ 08125010 + .incbin "baserom.gba", 0x125010, 0x0000004 + +gUnk_08125014:: @ 08125014 + .incbin "baserom.gba", 0x125014, 0x0000028 + +gUnk_0812503C:: @ 0812503C + .incbin "baserom.gba", 0x12503C, 0x0000014 + +gUnk_08125050:: @ 08125050 + .incbin "baserom.gba", 0x125050, 0x000000C + +gUnk_0812505C:: @ 0812505C + .incbin "baserom.gba", 0x12505C, 0x000000C + +gUnk_08125068:: @ 08125068 + .incbin "baserom.gba", 0x125068, 0x0000014 + +gUnk_0812507C:: @ 0812507C + .incbin "baserom.gba", 0x12507C, 0x0000008 + +gUnk_08125084:: @ 08125084 + .incbin "baserom.gba", 0x125084, 0x0000080 + +gUnk_08125104:: @ 08125104 + .incbin "baserom.gba", 0x125104, 0x000000E + +gUnk_08125112:: @ 08125112 + .incbin "baserom.gba", 0x125112, 0x0000006 + +gUnk_08125118:: @ 08125118 + .incbin "baserom.gba", 0x125118, 0x00002C0 + +gUnk_081253D8:: @ 081253D8 + .incbin "baserom.gba", 0x1253D8, 0x0000020 + +gUnk_081253F8:: @ 081253F8 + .incbin "baserom.gba", 0x1253F8, 0x0000028 + +gUnk_08125420:: @ 08125420 + .incbin "baserom.gba", 0x125420, 0x0000018 + +gUnk_08125438:: @ 08125438 + .incbin "baserom.gba", 0x125438, 0x0000060 + +gUnk_08125498:: @ 08125498 + .incbin "baserom.gba", 0x125498, 0x0000050 + +gUnk_081254E8:: @ 081254E8 + .incbin "baserom.gba", 0x1254E8, 0x0000058 + +gUnk_08125540:: @ 08125540 + .incbin "baserom.gba", 0x125540, 0x0000118 + +gUnk_08125658:: @ 08125658 + .incbin "baserom.gba", 0x125658, 0x0000010 + +gUnk_08125668:: @ 08125668 + .incbin "baserom.gba", 0x125668, 0x0000030 + +gUnk_08125698:: @ 08125698 + .incbin "baserom.gba", 0x125698, 0x0000010 + +gUnk_081256A8:: @ 081256A8 + .incbin "baserom.gba", 0x1256A8, 0x0000028 + +gUnk_081256D0:: @ 081256D0 + .incbin "baserom.gba", 0x1256D0, 0x0000230 + +gUnk_08125900:: @ 08125900 + .incbin "baserom.gba", 0x125900, 0x0000018 + +gUnk_08125918:: @ 08125918 + .incbin "baserom.gba", 0x125918, 0x0000010 + +gUnk_08125928:: @ 08125928 + .incbin "baserom.gba", 0x125928, 0x0000018 + +gUnk_08125940:: @ 08125940 + .incbin "baserom.gba", 0x125940, 0x0000020 + +gUnk_08125960:: @ 08125960 + .incbin "baserom.gba", 0x125960, 0x0000048 + +gUnk_081259A8:: @ 081259A8 + .incbin "baserom.gba", 0x1259A8, 0x000006D + +gUnk_08125A15:: @ 08125A15 + .incbin "baserom.gba", 0x125A15, 0x00000EB + +gUnk_08125B00:: @ 08125B00 + .incbin "baserom.gba", 0x125B00, 0x0000020 + +gUnk_08125B20:: @ 08125B20 + .incbin "baserom.gba", 0x125B20, 0x0000030 + +gUnk_08125B50:: @ 08125B50 + .incbin "baserom.gba", 0x125B50, 0x0000020 + +gUnk_08125B70:: @ 08125B70 + .incbin "baserom.gba", 0x125B70, 0x00000A8 + +gUnk_08125C18:: @ 08125C18 + .incbin "baserom.gba", 0x125C18, 0x0000030 + +gUnk_08125C48:: @ 08125C48 + .incbin "baserom.gba", 0x125C48, 0x0000048 + +gUnk_08125C90:: @ 08125C90 + .incbin "baserom.gba", 0x125C90, 0x0000048 + +gUnk_08125CD8:: @ 08125CD8 + .incbin "baserom.gba", 0x125CD8, 0x0000090 + +gUnk_08125D68:: @ 08125D68 + .incbin "baserom.gba", 0x125D68, 0x0000048 + +gUnk_08125DB0:: @ 08125DB0 + .incbin "baserom.gba", 0x125DB0, 0x0000108 + +gUnk_08125EB8:: @ 08125EB8 + .incbin "baserom.gba", 0x125EB8, 0x0000018 + +gUnk_08125ED0:: @ 08125ED0 + .incbin "baserom.gba", 0x125ED0, 0x0000020 + +gUnk_08125EF0:: @ 08125EF0 + .incbin "baserom.gba", 0x125EF0, 0x0000020 + +gUnk_08125F10:: @ 08125F10 + .incbin "baserom.gba", 0x125F10, 0x0000010 + +gUnk_08125F20:: @ 08125F20 + .incbin "baserom.gba", 0x125F20, 0x0000018 + +gUnk_08125F38:: @ 08125F38 + .incbin "baserom.gba", 0x125F38, 0x0000010 + +gUnk_08125F48:: @ 08125F48 + .incbin "baserom.gba", 0x125F48, 0x0000030 + +gUnk_08125F78:: @ 08125F78 + .incbin "baserom.gba", 0x125F78, 0x0000018 + +gUnk_08125F90:: @ 08125F90 + .incbin "baserom.gba", 0x125F90, 0x0000010 + +gUnk_08125FA0:: @ 08125FA0 + .incbin "baserom.gba", 0x125FA0, 0x0000020 + +gUnk_08125FC0:: @ 08125FC0 + .incbin "baserom.gba", 0x125FC0, 0x0000028 + +gUnk_08125FE8:: @ 08125FE8 + .incbin "baserom.gba", 0x125FE8, 0x0000050 + +gUnk_08126038:: @ 08126038 + .incbin "baserom.gba", 0x126038, 0x0000018 + +gUnk_08126050:: @ 08126050 + .incbin "baserom.gba", 0x126050, 0x0000018 + +gUnk_08126068:: @ 08126068 + .incbin "baserom.gba", 0x126068, 0x0000040 + +gUnk_081260A8:: @ 081260A8 + .incbin "baserom.gba", 0x1260A8, 0x0000010 + +gUnk_081260B8:: @ 081260B8 + .incbin "baserom.gba", 0x1260B8, 0x0000058 + +gUnk_08126110:: @ 08126110 + .incbin "baserom.gba", 0x126110, 0x0000040 + +gUnk_08126150:: @ 08126150 + .incbin "baserom.gba", 0x126150, 0x0000030 + +gUnk_08126180:: @ 08126180 + .incbin "baserom.gba", 0x126180, 0x0000030 + +gUnk_081261B0:: @ 081261B0 + .incbin "baserom.gba", 0x1261B0, 0x0000018 + +gUnk_081261C8:: @ 081261C8 + .incbin "baserom.gba", 0x1261C8, 0x0000020 + +gUnk_081261E8:: @ 081261E8 + .incbin "baserom.gba", 0x1261E8, 0x0000010 + +gUnk_081261F8:: @ 081261F8 + .incbin "baserom.gba", 0x1261F8, 0x000001B + +gUnk_08126213:: @ 08126213 + .incbin "baserom.gba", 0x126213, 0x0000065 + +gUnk_08126278:: @ 08126278 + .incbin "baserom.gba", 0x126278, 0x0000020 + +gUnk_08126298:: @ 08126298 + .incbin "baserom.gba", 0x126298, 0x0000020 + +gUnk_081262B8:: @ 081262B8 + .incbin "baserom.gba", 0x1262B8, 0x0000018 + +gUnk_081262D0:: @ 081262D0 + .incbin "baserom.gba", 0x1262D0, 0x0000018 + +gUnk_081262E8:: @ 081262E8 + .incbin "baserom.gba", 0x1262E8, 0x0000048 + +gUnk_08126330:: @ 08126330 + .incbin "baserom.gba", 0x126330, 0x0000020 + +gUnk_08126350:: @ 08126350 + .incbin "baserom.gba", 0x126350, 0x0000010 + +gUnk_08126360:: @ 08126360 + .incbin "baserom.gba", 0x126360, 0x0000020 + +gUnk_08126380:: @ 08126380 + .incbin "baserom.gba", 0x126380, 0x0000028 + +gUnk_081263A8:: @ 081263A8 + .incbin "baserom.gba", 0x1263A8, 0x0000010 + +gUnk_081263B8:: @ 081263B8 + .incbin "baserom.gba", 0x1263B8, 0x0000010 + +gUnk_081263C8:: @ 081263C8 + .incbin "baserom.gba", 0x1263C8, 0x0000010 + +gUnk_081263D8:: @ 081263D8 + .incbin "baserom.gba", 0x1263D8, 0x0000010 + +gUnk_081263E8:: @ 081263E8 + .incbin "baserom.gba", 0x1263E8, 0x0000138 + +gUnk_08126520:: @ 08126520 + .incbin "baserom.gba", 0x126520, 0x000009C + +gUnk_081265BC:: @ 081265BC + .incbin "baserom.gba", 0x1265BC, 0x0000073 + +gUnk_0812662F:: @ 0812662F + .incbin "baserom.gba", 0x12662F, 0x0000169 + +gUnk_08126798:: @ 08126798 + .incbin "baserom.gba", 0x126798, 0x0000610 + +gUnk_08126DA8:: @ 08126DA8 + .incbin "baserom.gba", 0x126DA8, 0x00000C0 + +gUnk_08126E68:: @ 08126E68 + .incbin "baserom.gba", 0x126E68, 0x0000030 + +gUnk_08126E98:: @ 08126E98 + .incbin "baserom.gba", 0x126E98, 0x0000030 + +gUnk_08126EC8:: @ 08126EC8 + .incbin "baserom.gba", 0x126EC8, 0x0000010 + +gUnk_08126ED8:: @ 08126ED8 + .incbin "baserom.gba", 0x126ED8, 0x000000C + +gUnk_08126EE4:: @ 08126EE4 + .incbin "baserom.gba", 0x126EE4, 0x0000008 + +gUnk_08126EEC:: @ 08126EEC + .incbin "baserom.gba", 0x126EEC, 0x0000008 + +gUnk_08126EF4:: @ 08126EF4 + .incbin "baserom.gba", 0x126EF4, 0x0000004 + +gUnk_08126EF8:: @ 08126EF8 + .incbin "baserom.gba", 0x126EF8, 0x0000005 + +gUnk_08126EFD:: @ 08126EFD + .incbin "baserom.gba", 0x126EFD, 0x0000005 + +gUnk_08126F02:: @ 08126F02 + .incbin "baserom.gba", 0x126F02, 0x0000011 + +gUnk_08126F13:: @ 08126F13 + .incbin "baserom.gba", 0x126F13, 0x0000015 + +gUnk_08126F28:: @ 08126F28 + .incbin "baserom.gba", 0x126F28, 0x0000015 + +gUnk_08126F3D:: @ 08126F3D + .incbin "baserom.gba", 0x126F3D, 0x0000011 + +gUnk_08126F4E:: @ 08126F4E + .incbin "baserom.gba", 0x126F4E, 0x0000011 + +gUnk_08126F5F:: @ 08126F5F + .incbin "baserom.gba", 0x126F5F, 0x0000011 + +gUnk_08126F70:: @ 08126F70 + .incbin "baserom.gba", 0x126F70, 0x0000011 + +gUnk_08126F81:: @ 08126F81 + .incbin "baserom.gba", 0x126F81, 0x0000009 + +gUnk_08126F8A:: @ 08126F8A + .incbin "baserom.gba", 0x126F8A, 0x000000C + +gUnk_08126F96:: @ 08126F96 + .incbin "baserom.gba", 0x126F96, 0x000000D + +gUnk_08126FA3:: @ 08126FA3 + .incbin "baserom.gba", 0x126FA3, 0x0000010 + +gUnk_08126FB3:: @ 08126FB3 + .incbin "baserom.gba", 0x126FB3, 0x0000010 + +gUnk_08126FC3:: @ 08126FC3 + .incbin "baserom.gba", 0x126FC3, 0x0000021 + +gUnk_08126FE4:: @ 08126FE4 + .incbin "baserom.gba", 0x126FE4, 0x0000014 + +gUnk_08126FF8:: @ 08126FF8 + .incbin "baserom.gba", 0x126FF8, 0x0000021 + +gUnk_08127019:: @ 08127019 + .incbin "baserom.gba", 0x127019, 0x0000018 + +gUnk_08127031:: @ 08127031 + .incbin "baserom.gba", 0x127031, 0x0000015 + +gUnk_08127046:: @ 08127046 + .incbin "baserom.gba", 0x127046, 0x0000015 + +gUnk_0812705B:: @ 0812705B + .incbin "baserom.gba", 0x12705B, 0x000005C + +gUnk_081270B7:: @ 081270B7 + .incbin "baserom.gba", 0x1270B7, 0x0000029 + +gUnk_081270E0:: @ 081270E0 + .incbin "baserom.gba", 0x1270E0, 0x0000011 + +gUnk_081270F1:: @ 081270F1 + .incbin "baserom.gba", 0x1270F1, 0x0000005 + +gUnk_081270F6:: @ 081270F6 + .incbin "baserom.gba", 0x1270F6, 0x0000011 + +gUnk_08127107:: @ 08127107 + .incbin "baserom.gba", 0x127107, 0x0000011 + +gUnk_08127118:: @ 08127118 + .incbin "baserom.gba", 0x127118, 0x0000011 + +gUnk_08127129:: @ 08127129 + .incbin "baserom.gba", 0x127129, 0x0000011 + +gUnk_0812713A:: @ 0812713A + .incbin "baserom.gba", 0x12713A, 0x0000009 + +gUnk_08127143:: @ 08127143 + .incbin "baserom.gba", 0x127143, 0x0000009 + +gUnk_0812714C:: @ 0812714C + .incbin "baserom.gba", 0x12714C, 0x0000080 + +gUnk_081271CC:: @ 081271CC + .incbin "baserom.gba", 0x1271CC, 0x0000008 + +gUnk_081271D4:: @ 081271D4 + .incbin "baserom.gba", 0x1271D4, 0x0000008 + +gUnk_081271DC:: @ 081271DC + .incbin "baserom.gba", 0x1271DC, 0x0000044 + +gUnk_08127220:: @ 08127220 + .incbin "baserom.gba", 0x127220, 0x0000020 + +gUnk_08127240:: @ 08127240 + .incbin "baserom.gba", 0x127240, 0x0000010 + +gUnk_08127250:: @ 08127250 + .incbin "baserom.gba", 0x127250, 0x0000008 + +gUnk_08127258:: @ 08127258 + .incbin "baserom.gba", 0x127258, 0x0000008 + +gUnk_08127260:: @ 08127260 + .incbin "baserom.gba", 0x127260, 0x0000008 + +gUnk_08127268:: @ 08127268 + .incbin "baserom.gba", 0x127268, 0x0000008 + +gUnk_08127270:: @ 08127270 + .incbin "baserom.gba", 0x127270, 0x0000008 + +gUnk_08127278:: @ 08127278 + .incbin "baserom.gba", 0x127278, 0x0000008 + +gUnk_08127280:: @ 08127280 + .incbin "baserom.gba", 0x127280, 0x0000018 + +gUnk_08127298:: @ 08127298 + .incbin "baserom.gba", 0x127298, 0x0000018 + +gUnk_081272B0:: @ 081272B0 + .incbin "baserom.gba", 0x1272B0, 0x0000018 + +gUnk_081272C8:: @ 081272C8 + .incbin "baserom.gba", 0x1272C8, 0x0000018 + +gUnk_081272E0:: @ 081272E0 + .incbin "baserom.gba", 0x1272E0, 0x0000010 + +gUnk_081272F0:: @ 081272F0 + .incbin "baserom.gba", 0x1272F0, 0x0000354 + +gUnk_08127644:: @ 08127644 + .incbin "baserom.gba", 0x127644, 0x0000354 + +gUnk_08127998:: @ 08127998 + .incbin "baserom.gba", 0x127998, 0x0000354 + +gUnk_08127CEC:: @ 08127CEC + .incbin "baserom.gba", 0x127CEC, 0x0000014 + +gUnk_08127D00:: @ 08127D00 + .incbin "baserom.gba", 0x127D00, 0x0000010 + +gUnk_08127D10:: @ 08127D10 + .incbin "baserom.gba", 0x127D10, 0x0000020 + +gUnk_08127D30:: @ 08127D30 + .incbin "baserom.gba", 0x127D30, 0x0000264 + +gUnk_08127F94:: @ 08127F94 + .incbin "baserom.gba", 0x127F94, 0x0000090 + +gUnk_08128024:: @ 08128024 + .incbin "baserom.gba", 0x128024, 0x00000A0 + +gUnk_081280C4:: @ 081280C4 + .incbin "baserom.gba", 0x1280C4, 0x0000018 + +gUnk_081280DC:: @ 081280DC + .incbin "baserom.gba", 0x1280DC, 0x0000012 + +gUnk_081280EE:: @ 081280EE + .incbin "baserom.gba", 0x1280EE, 0x0000006 + +gUnk_081280F4:: @ 081280F4 + .incbin "baserom.gba", 0x1280F4, 0x000000C + +gUnk_08128100:: @ 08128100 + .incbin "baserom.gba", 0x128100, 0x0000010 + +gUnk_08128110:: @ 08128110 + .incbin "baserom.gba", 0x128110, 0x0000010 + +gUnk_08128120:: @ 08128120 + .incbin "baserom.gba", 0x128120, 0x000001C + +gUnk_0812813C:: @ 0812813C + .incbin "baserom.gba", 0x12813C, 0x0000010 + +gUnk_0812814C:: @ 0812814C + .incbin "baserom.gba", 0x12814C, 0x0000010 + +gUnk_0812815C:: @ 0812815C + .incbin "baserom.gba", 0x12815C, 0x0000010 + +gUnk_0812816C:: @ 0812816C + .incbin "baserom.gba", 0x12816C, 0x0000018 + +gUnk_08128184:: @ 08128184 + .incbin "baserom.gba", 0x128184, 0x000000C + +gUnk_08128190:: @ 08128190 + .incbin "baserom.gba", 0x128190, 0x0000018 + +gUnk_081281A8:: @ 081281A8 + .incbin "baserom.gba", 0x1281A8, 0x0000890 + +gUnk_08128A38:: @ 08128A38 + .incbin "baserom.gba", 0x128A38, 0x00000A0 + +gUnk_08128AD8:: @ 08128AD8 + .incbin "baserom.gba", 0x128AD8, 0x0000058 + +gUnk_08128B30:: @ 08128B30 + .incbin "baserom.gba", 0x128B30, 0x0000018 + +gUnk_08128B48:: @ 08128B48 + .incbin "baserom.gba", 0x128B48, 0x0000008 + +gUnk_08128B50:: @ 08128B50 + .incbin "baserom.gba", 0x128B50, 0x0000014 + +gUnk_08128B64:: @ 08128B64 + .incbin "baserom.gba", 0x128B64, 0x0000090 + +gUnk_08128BF4:: @ 08128BF4 + .incbin "baserom.gba", 0x128BF4, 0x0000004 + +gUnk_08128BF8:: @ 08128BF8 + .incbin "baserom.gba", 0x128BF8, 0x0000008 + +gUnk_08128C00:: @ 08128C00 + .incbin "baserom.gba", 0x128C00, 0x0000004 + +gUnk_08128C04:: @ 08128C04 + .incbin "baserom.gba", 0x128C04, 0x0000010 + +gUnk_08128C14:: @ 08128C14 + .incbin "baserom.gba", 0x128C14, 0x0000080 + +gUnk_08128C94:: @ 08128C94 + .incbin "baserom.gba", 0x128C94, 0x0000080 + +gUnk_08128D14:: @ 08128D14 + .incbin "baserom.gba", 0x128D14, 0x0000010 + +gUnk_08128D24:: @ 08128D24 + .incbin "baserom.gba", 0x128D24, 0x000000C + +gUnk_08128D30:: @ 08128D30 + .incbin "baserom.gba", 0x128D30, 0x0000008 + +gUnk_08128D38:: @ 08128D38 + .incbin "baserom.gba", 0x128D38, 0x0000004 + +gUnk_08128D3C:: @ 08128D3C + .incbin "baserom.gba", 0x128D3C, 0x0000007 + +gUnk_08128D43:: @ 08128D43 + .incbin "baserom.gba", 0x128D43, 0x000000E + +gUnk_08128D51:: @ 08128D51 + .incbin "baserom.gba", 0x128D51, 0x0000007 + +gUnk_08128D58:: @ 08128D58 + .incbin "baserom.gba", 0x128D58, 0x0000008 + +gUnk_08128D60:: @ 08128D60 + .incbin "baserom.gba", 0x128D60, 0x0000010 + +gUnk_08128D70:: @ 08128D70 + .incbin "baserom.gba", 0x128D70, 0x0000040 + +gUnk_08128DB0:: @ 08128DB0 + .incbin "baserom.gba", 0x128DB0, 0x0000008 + +gUnk_08128DB8:: @ 08128DB8 + .incbin "baserom.gba", 0x128DB8, 0x0000004 + +gUnk_08128DBC:: @ 08128DBC + .incbin "baserom.gba", 0x128DBC, 0x0000010 + +gUnk_08128DCC:: @ 08128DCC + .incbin "baserom.gba", 0x128DCC, 0x0000008 + +gUnk_08128DD4:: @ 08128DD4 + .incbin "baserom.gba", 0x128DD4, 0x0000004 + +gUnk_08128DD8:: @ 08128DD8 + .incbin "baserom.gba", 0x128DD8, 0x0000010 + +gUnk_08128DE8:: @ 08128DE8 + .incbin "baserom.gba", 0x128DE8, 0x0000088 + +gUnk_08128E70:: @ 08128E70 + .incbin "baserom.gba", 0x128E70, 0x0000008 + +gUnk_08128E78:: @ 08128E78 + .incbin "baserom.gba", 0x128E78, 0x0000008 + +gUnk_08128E80:: @ 08128E80 + .incbin "baserom.gba", 0x128E80, 0x0000004 + +gUnk_08128E84:: @ 08128E84 + .incbin "baserom.gba", 0x128E84, 0x0000010 + +gUnk_08128E94:: @ 08128E94 + .incbin "baserom.gba", 0x128E94, 0x0000088 + +gUnk_08128F1C:: @ 08128F1C + .incbin "baserom.gba", 0x128F1C, 0x0000008 + +gUnk_08128F24:: @ 08128F24 + .incbin "baserom.gba", 0x128F24, 0x0000014 + +gUnk_08128F38:: @ 08128F38 + .incbin "baserom.gba", 0x128F38, 0x0000014 + +gUnk_08128F4C:: @ 08128F4C + .incbin "baserom.gba", 0x128F4C, 0x000000C + +gUnk_08128F58:: @ 08128F58 + .incbin "baserom.gba", 0x128F58, 0x0000050 + +gUnk_08128FA8:: @ 08128FA8 + .incbin "baserom.gba", 0x128FA8, 0x0000018 + +gUnk_08128FC0:: @ 08128FC0 + .incbin "baserom.gba", 0x128FC0, 0x0000018 + +gUnk_08128FD8:: @ 08128FD8 + .incbin "baserom.gba", 0x128FD8, 0x0000018 + +gUnk_08128FF0:: @ 08128FF0 + .incbin "baserom.gba", 0x128FF0, 0x0000014 + +gUnk_08129004:: @ 08129004 + .incbin "baserom.gba", 0x129004, 0x0000018 + +gUnk_0812901C:: @ 0812901C + .incbin "baserom.gba", 0x12901C, 0x0000014 + +gUnk_08129030:: @ 08129030 + .incbin "baserom.gba", 0x129030, 0x000002C + +gUnk_0812905C:: @ 0812905C + .incbin "baserom.gba", 0x12905C, 0x000000C + +gUnk_08129068:: @ 08129068 + .incbin "baserom.gba", 0x129068, 0x0000004 + +gUnk_0812906C:: @ 0812906C + .incbin "baserom.gba", 0x12906C, 0x0000006 + +gUnk_08129072:: @ 08129072 + .incbin "baserom.gba", 0x129072, 0x000001C + +gUnk_0812908E:: @ 0812908E + .incbin "baserom.gba", 0x12908E, 0x0000008 + +gUnk_08129096:: @ 08129096 + .incbin "baserom.gba", 0x129096, 0x000024C + +gUnk_081292E2:: @ 081292E2 + .incbin "baserom.gba", 0x1292E2, 0x000003E + +gUnk_08129320:: @ 08129320 + .incbin "baserom.gba", 0x129320, 0x0000098 + +gUnk_081293B8:: @ 081293B8 + .incbin "baserom.gba", 0x1293B8, 0x0000014 + +gUnk_081293CC:: @ 081293CC + .incbin "baserom.gba", 0x1293CC, 0x0000014 + +gUnk_081293E0:: @ 081293E0 + .incbin "baserom.gba", 0x1293E0, 0x0000010 + +gUnk_081293F0:: @ 081293F0 + .incbin "baserom.gba", 0x1293F0, 0x0000010 + +gUnk_08129400:: @ 08129400 + .incbin "baserom.gba", 0x129400, 0x0000010 + +gUnk_08129410:: @ 08129410 + .incbin "baserom.gba", 0x129410, 0x0000010 + +gUnk_08129420:: @ 08129420 + .incbin "baserom.gba", 0x129420, 0x0000010 + +gUnk_08129430:: @ 08129430 + .incbin "baserom.gba", 0x129430, 0x0000008 + +gUnk_08129438:: @ 08129438 + .incbin "baserom.gba", 0x129438, 0x0000008 + +gUnk_08129440:: @ 08129440 + .incbin "baserom.gba", 0x129440, 0x0000008 + +gUnk_08129448:: @ 08129448 + .incbin "baserom.gba", 0x129448, 0x0000008 + +gUnk_08129450:: @ 08129450 + .incbin "baserom.gba", 0x129450, 0x0000008 + +gUnk_08129458:: @ 08129458 + .incbin "baserom.gba", 0x129458, 0x0000008 + +gUnk_08129460:: @ 08129460 + .incbin "baserom.gba", 0x129460, 0x0000018 + +gUnk_08129478:: @ 08129478 + .incbin "baserom.gba", 0x129478, 0x0000008 + +gUnk_08129480:: @ 08129480 + .incbin "baserom.gba", 0x129480, 0x0000008 + +gUnk_08129488:: @ 08129488 + .incbin "baserom.gba", 0x129488, 0x0000008 + +gUnk_08129490:: @ 08129490 + .incbin "baserom.gba", 0x129490, 0x0000008 + +gUnk_08129498:: @ 08129498 + .incbin "baserom.gba", 0x129498, 0x0000008 + +gUnk_081294A0:: @ 081294A0 + .incbin "baserom.gba", 0x1294A0, 0x0000008 + +gUnk_081294A8:: @ 081294A8 + .incbin "baserom.gba", 0x1294A8, 0x0000018 + +gUnk_081294C0:: @ 081294C0 + .incbin "baserom.gba", 0x1294C0, 0x0000008 + +gUnk_081294C8:: @ 081294C8 + .incbin "baserom.gba", 0x1294C8, 0x0000008 + +gUnk_081294D0:: @ 081294D0 + .incbin "baserom.gba", 0x1294D0, 0x0000008 + +gUnk_081294D8:: @ 081294D8 + .incbin "baserom.gba", 0x1294D8, 0x0000008 + +gUnk_081294E0:: @ 081294E0 + .incbin "baserom.gba", 0x1294E0, 0x0000008 + +gUnk_081294E8:: @ 081294E8 + .incbin "baserom.gba", 0x1294E8, 0x0000008 + +gUnk_081294F0:: @ 081294F0 + .incbin "baserom.gba", 0x1294F0, 0x0000018 + +gUnk_08129508:: @ 08129508 + .incbin "baserom.gba", 0x129508, 0x0000008 + +gUnk_08129510:: @ 08129510 + .incbin "baserom.gba", 0x129510, 0x0000008 + +gUnk_08129518:: @ 08129518 + .incbin "baserom.gba", 0x129518, 0x0000008 + +gUnk_08129520:: @ 08129520 + .incbin "baserom.gba", 0x129520, 0x0000008 + +gUnk_08129528:: @ 08129528 + .incbin "baserom.gba", 0x129528, 0x0000008 + +gUnk_08129530:: @ 08129530 + .incbin "baserom.gba", 0x129530, 0x0000008 + +gUnk_08129538:: @ 08129538 + .incbin "baserom.gba", 0x129538, 0x0000018 + +gUnk_08129550:: @ 08129550 + .incbin "baserom.gba", 0x129550, 0x0000008 + +gUnk_08129558:: @ 08129558 + .incbin "baserom.gba", 0x129558, 0x0000008 + +gUnk_08129560:: @ 08129560 + .incbin "baserom.gba", 0x129560, 0x0000008 + +gUnk_08129568:: @ 08129568 + .incbin "baserom.gba", 0x129568, 0x0000008 + +gUnk_08129570:: @ 08129570 + .incbin "baserom.gba", 0x129570, 0x0000008 + +gUnk_08129578:: @ 08129578 + .incbin "baserom.gba", 0x129578, 0x0000008 + +gUnk_08129580:: @ 08129580 + .incbin "baserom.gba", 0x129580, 0x0000008 + +gUnk_08129588:: @ 08129588 + .incbin "baserom.gba", 0x129588, 0x0000008 + +gUnk_08129590:: @ 08129590 + .incbin "baserom.gba", 0x129590, 0x0000008 + +gUnk_08129598:: @ 08129598 + .incbin "baserom.gba", 0x129598, 0x0000008 + +gUnk_081295A0:: @ 081295A0 + .incbin "baserom.gba", 0x1295A0, 0x0000008 + +gUnk_081295A8:: @ 081295A8 + .incbin "baserom.gba", 0x1295A8, 0x0000008 + +gUnk_081295B0:: @ 081295B0 + .incbin "baserom.gba", 0x1295B0, 0x0000008 + +gUnk_081295B8:: @ 081295B8 + .incbin "baserom.gba", 0x1295B8, 0x0000008 + +gUnk_081295C0:: @ 081295C0 + .incbin "baserom.gba", 0x1295C0, 0x0000008 + +gUnk_081295C8:: @ 081295C8 + .incbin "baserom.gba", 0x1295C8, 0x0000008 + +gUnk_081295D0:: @ 081295D0 + .incbin "baserom.gba", 0x1295D0, 0x0000014 + +gUnk_081295E4:: @ 081295E4 + .incbin "baserom.gba", 0x1295E4, 0x0000010 + +gUnk_081295F4:: @ 081295F4 + .incbin "baserom.gba", 0x1295F4, 0x0000010 + +gUnk_08129604:: @ 08129604 + .incbin "baserom.gba", 0x129604, 0x0000008 + +gUnk_0812960C:: @ 0812960C + .incbin "baserom.gba", 0x12960C, 0x0000014 + +gUnk_08129620:: @ 08129620 + .incbin "baserom.gba", 0x129620, 0x0000014 + +gUnk_08129634:: @ 08129634 + .incbin "baserom.gba", 0x129634, 0x0000014 + +gUnk_08129648:: @ 08129648 + .incbin "baserom.gba", 0x129648, 0x0000008 + +gUnk_08129650:: @ 08129650 + .incbin "baserom.gba", 0x129650, 0x0000014 + +gUnk_08129664:: @ 08129664 + .incbin "baserom.gba", 0x129664, 0x0000008 + +gUnk_0812966C:: @ 0812966C + .incbin "baserom.gba", 0x12966C, 0x0000084 + +gUnk_081296F0:: @ 081296F0 + .incbin "baserom.gba", 0x1296F0, 0x0000014 + +gUnk_08129704:: @ 08129704 + .incbin "baserom.gba", 0x129704, 0x0000014 + +gUnk_08129718:: @ 08129718 + .incbin "baserom.gba", 0x129718, 0x0000014 + +gUnk_0812972C:: @ 0812972C + .incbin "baserom.gba", 0x12972C, 0x0000008 + +gUnk_08129734:: @ 08129734 + .incbin "baserom.gba", 0x129734, 0x000000C + +gUnk_08129740:: @ 08129740 + .incbin "baserom.gba", 0x129740, 0x0000014 + +gUnk_08129754:: @ 08129754 + .incbin "baserom.gba", 0x129754, 0x0000010 + +gUnk_08129764:: @ 08129764 + .incbin "baserom.gba", 0x129764, 0x000000C + +gUnk_08129770:: @ 08129770 + .incbin "baserom.gba", 0x129770, 0x0000005 + +gUnk_08129775:: @ 08129775 + .incbin "baserom.gba", 0x129775, 0x000001B + +gUnk_08129790:: @ 08129790 + .incbin "baserom.gba", 0x129790, 0x000000C + +gUnk_0812979C:: @ 0812979C + .incbin "baserom.gba", 0x12979C, 0x0000010 + +gUnk_081297AC:: @ 081297AC + .incbin "baserom.gba", 0x1297AC, 0x0000009 + +gUnk_081297B5:: @ 081297B5 + .incbin "baserom.gba", 0x1297B5, 0x0000009 + +gUnk_081297BE:: @ 081297BE + .incbin "baserom.gba", 0x1297BE, 0x0000009 + +gUnk_081297C7:: @ 081297C7 + .incbin "baserom.gba", 0x1297C7, 0x0000009 + +gUnk_081297D0:: @ 081297D0 + .incbin "baserom.gba", 0x1297D0, 0x0000005 + +gUnk_081297D5:: @ 081297D5 + .incbin "baserom.gba", 0x1297D5, 0x0000005 + +gUnk_081297DA:: @ 081297DA + .incbin "baserom.gba", 0x1297DA, 0x0000005 + +gUnk_081297DF:: @ 081297DF + .incbin "baserom.gba", 0x1297DF, 0x0000005 + +gUnk_081297E4:: @ 081297E4 + .incbin "baserom.gba", 0x1297E4, 0x0000005 + +gUnk_081297E9:: @ 081297E9 + .incbin "baserom.gba", 0x1297E9, 0x0000005 + +gUnk_081297EE:: @ 081297EE + .incbin "baserom.gba", 0x1297EE, 0x0000005 + +gUnk_081297F3:: @ 081297F3 + .incbin "baserom.gba", 0x1297F3, 0x0000005 + +gUnk_081297F8:: @ 081297F8 + .incbin "baserom.gba", 0x1297F8, 0x0000034 + +gUnk_0812982C:: @ 0812982C + .incbin "baserom.gba", 0x12982C, 0x0000010 + +gUnk_0812983C:: @ 0812983C + .incbin "baserom.gba", 0x12983C, 0x0000009 + +gUnk_08129845:: @ 08129845 + .incbin "baserom.gba", 0x129845, 0x0000009 + +gUnk_0812984E:: @ 0812984E + .incbin "baserom.gba", 0x12984E, 0x0000009 + +gUnk_08129857:: @ 08129857 + .incbin "baserom.gba", 0x129857, 0x0000009 + +gUnk_08129860:: @ 08129860 + .incbin "baserom.gba", 0x129860, 0x000000D + +gUnk_0812986D:: @ 0812986D + .incbin "baserom.gba", 0x12986D, 0x000000D + +gUnk_0812987A:: @ 0812987A + .incbin "baserom.gba", 0x12987A, 0x000000D + +gUnk_08129887:: @ 08129887 + .incbin "baserom.gba", 0x129887, 0x000000D + +gUnk_08129894:: @ 08129894 + .incbin "baserom.gba", 0x129894, 0x0000024 + +gUnk_081298B8:: @ 081298B8 + .incbin "baserom.gba", 0x1298B8, 0x0000010 + +gUnk_081298C8:: @ 081298C8 + .incbin "baserom.gba", 0x1298C8, 0x0000009 + +gUnk_081298D1:: @ 081298D1 + .incbin "baserom.gba", 0x1298D1, 0x0000009 + +gUnk_081298DA:: @ 081298DA + .incbin "baserom.gba", 0x1298DA, 0x0000009 + +gUnk_081298E3:: @ 081298E3 + .incbin "baserom.gba", 0x1298E3, 0x0000009 + +gUnk_081298EC:: @ 081298EC + .incbin "baserom.gba", 0x1298EC, 0x0000011 + +gUnk_081298FD:: @ 081298FD + .incbin "baserom.gba", 0x1298FD, 0x0000011 + +gUnk_0812990E:: @ 0812990E + .incbin "baserom.gba", 0x12990E, 0x0000011 + +gUnk_0812991F:: @ 0812991F + .incbin "baserom.gba", 0x12991F, 0x0000011 + +gUnk_08129930:: @ 08129930 + .incbin "baserom.gba", 0x129930, 0x0000024 + +gUnk_08129954:: @ 08129954 + .incbin "baserom.gba", 0x129954, 0x0000014 + +gUnk_08129968:: @ 08129968 + .incbin "baserom.gba", 0x129968, 0x0000010 + +gUnk_08129978:: @ 08129978 + .incbin "baserom.gba", 0x129978, 0x0000008 + +gUnk_08129980:: @ 08129980 + .incbin "baserom.gba", 0x129980, 0x0000008 + +gUnk_08129988:: @ 08129988 + .incbin "baserom.gba", 0x129988, 0x0000010 + +gUnk_08129998:: @ 08129998 + .incbin "baserom.gba", 0x129998, 0x0000010 + +gUnk_081299A8:: @ 081299A8 + .incbin "baserom.gba", 0x1299A8, 0x0000008 + +gUnk_081299B0:: @ 081299B0 + .incbin "baserom.gba", 0x1299B0, 0x0000008 + +gUnk_081299B8:: @ 081299B8 + .incbin "baserom.gba", 0x1299B8, 0x0000008 + +gUnk_081299C0:: @ 081299C0 + .incbin "baserom.gba", 0x1299C0, 0x0000008 + +gUnk_081299C8:: @ 081299C8 + .incbin "baserom.gba", 0x1299C8, 0x0000008 + +gUnk_081299D0:: @ 081299D0 + .incbin "baserom.gba", 0x1299D0, 0x0000014 + +gUnk_081299E4:: @ 081299E4 + .incbin "baserom.gba", 0x1299E4, 0x0000014 + +gUnk_081299F8:: @ 081299F8 + .incbin "baserom.gba", 0x1299F8, 0x0000020 + +gUnk_08129A18:: @ 08129A18 + .incbin "baserom.gba", 0x129A18, 0x0000008 + +gUnk_08129A20:: @ 08129A20 + .incbin "baserom.gba", 0x129A20, 0x0000008 + +gUnk_08129A28:: @ 08129A28 + .incbin "baserom.gba", 0x129A28, 0x0000005 + +gUnk_08129A2D:: @ 08129A2D + .incbin "baserom.gba", 0x129A2D, 0x0000005 + +gUnk_08129A32:: @ 08129A32 + .incbin "baserom.gba", 0x129A32, 0x0000011 + +gUnk_08129A43:: @ 08129A43 + .incbin "baserom.gba", 0x129A43, 0x0000011 + +gUnk_08129A54:: @ 08129A54 + .incbin "baserom.gba", 0x129A54, 0x0000010 + +gUnk_08129A64:: @ 08129A64 + .incbin "baserom.gba", 0x129A64, 0x000000C + +gUnk_08129A70:: @ 08129A70 + .incbin "baserom.gba", 0x129A70, 0x0000019 + +gUnk_08129A89:: @ 08129A89 + .incbin "baserom.gba", 0x129A89, 0x0000027 + +gUnk_08129AB0:: @ 08129AB0 + .incbin "baserom.gba", 0x129AB0, 0x000000C + +gUnk_08129ABC:: @ 08129ABC + .incbin "baserom.gba", 0x129ABC, 0x0000014 + +gUnk_08129AD0:: @ 08129AD0 + .incbin "baserom.gba", 0x129AD0, 0x000000C + +gUnk_08129ADC:: @ 08129ADC + .incbin "baserom.gba", 0x129ADC, 0x0000004 + +gUnk_08129AE0:: @ 08129AE0 + .incbin "baserom.gba", 0x129AE0, 0x0000018 + +gUnk_08129AF8:: @ 08129AF8 + .incbin "baserom.gba", 0x129AF8, 0x0000010 + +gUnk_08129B08:: @ 08129B08 + .incbin "baserom.gba", 0x129B08, 0x0000018 + +gUnk_08129B20:: @ 08129B20 + .incbin "baserom.gba", 0x129B20, 0x0000030 + +gUnk_08129B50:: @ 08129B50 + .incbin "baserom.gba", 0x129B50, 0x0000008 + +gUnk_08129B58:: @ 08129B58 + .incbin "baserom.gba", 0x129B58, 0x0000018 + +gUnk_08129B70:: @ 08129B70 + .incbin "baserom.gba", 0x129B70, 0x0000008 + +gUnk_08129B78:: @ 08129B78 + .incbin "baserom.gba", 0x129B78, 0x000000C + +gUnk_08129B84:: @ 08129B84 + .incbin "baserom.gba", 0x129B84, 0x0000011 + +gUnk_08129B95:: @ 08129B95 + .incbin "baserom.gba", 0x129B95, 0x0000011 + +gUnk_08129BA6:: @ 08129BA6 + .incbin "baserom.gba", 0x129BA6, 0x0000011 + +gUnk_08129BB7:: @ 08129BB7 + .incbin "baserom.gba", 0x129BB7, 0x0000011 + +gUnk_08129BC8:: @ 08129BC8 + .incbin "baserom.gba", 0x129BC8, 0x0000024 + +gUnk_08129BEC:: @ 08129BEC + .incbin "baserom.gba", 0x129BEC, 0x0000014 + +gUnk_08129C00:: @ 08129C00 + .incbin "baserom.gba", 0x129C00, 0x0000008 + +gUnk_08129C08:: @ 08129C08 + .incbin "baserom.gba", 0x129C08, 0x000006C + +gUnk_08129C74:: @ 08129C74 + .incbin "baserom.gba", 0x129C74, 0x0000008 + +gUnk_08129C7C:: @ 08129C7C + .incbin "baserom.gba", 0x129C7C, 0x0000014 + +gUnk_08129C90:: @ 08129C90 + .incbin "baserom.gba", 0x129C90, 0x0000014 + +gUnk_08129CA4:: @ 08129CA4 + .incbin "baserom.gba", 0x129CA4, 0x0000008 + +gUnk_08129CAC:: @ 08129CAC + .incbin "baserom.gba", 0x129CAC, 0x0000008 + +gUnk_08129CB4:: @ 08129CB4 + .incbin "baserom.gba", 0x129CB4, 0x0000008 + +gUnk_08129CBC:: @ 08129CBC + .incbin "baserom.gba", 0x129CBC, 0x0000008 + +gUnk_08129CC4:: @ 08129CC4 + .incbin "baserom.gba", 0x129CC4, 0x0000008 + +gUnk_08129CCC:: @ 08129CCC + .incbin "baserom.gba", 0x129CCC, 0x0000008 + +gUnk_08129CD4:: @ 08129CD4 + .incbin "baserom.gba", 0x129CD4, 0x0000008 + +gUnk_08129CDC:: @ 08129CDC + .incbin "baserom.gba", 0x129CDC, 0x0000008 + +gUnk_08129CE4:: @ 08129CE4 + .incbin "baserom.gba", 0x129CE4, 0x0000008 + +gUnk_08129CEC:: @ 08129CEC + .incbin "baserom.gba", 0x129CEC, 0x0000008 + +gUnk_08129CF4:: @ 08129CF4 + .incbin "baserom.gba", 0x129CF4, 0x0000020 + +gUnk_08129D14:: @ 08129D14 + .incbin "baserom.gba", 0x129D14, 0x0000008 + +gUnk_08129D1C:: @ 08129D1C + .incbin "baserom.gba", 0x129D1C, 0x0000005 + +gUnk_08129D21:: @ 08129D21 + .incbin "baserom.gba", 0x129D21, 0x0000005 + +gUnk_08129D26:: @ 08129D26 + .incbin "baserom.gba", 0x129D26, 0x0000005 + +gUnk_08129D2B:: @ 08129D2B + .incbin "baserom.gba", 0x129D2B, 0x0000005 + +gUnk_08129D30:: @ 08129D30 + .incbin "baserom.gba", 0x129D30, 0x0000005 + +gUnk_08129D35:: @ 08129D35 + .incbin "baserom.gba", 0x129D35, 0x0000005 + +gUnk_08129D3A:: @ 08129D3A + .incbin "baserom.gba", 0x129D3A, 0x0000005 + +gUnk_08129D3F:: @ 08129D3F + .incbin "baserom.gba", 0x129D3F, 0x0000005 + +gUnk_08129D44:: @ 08129D44 + .incbin "baserom.gba", 0x129D44, 0x0000011 + +gUnk_08129D55:: @ 08129D55 + .incbin "baserom.gba", 0x129D55, 0x0000011 + +gUnk_08129D66:: @ 08129D66 + .incbin "baserom.gba", 0x129D66, 0x0000011 + +gUnk_08129D77:: @ 08129D77 + .incbin "baserom.gba", 0x129D77, 0x0000011 + +gUnk_08129D88:: @ 08129D88 + .incbin "baserom.gba", 0x129D88, 0x0000011 + +gUnk_08129D99:: @ 08129D99 + .incbin "baserom.gba", 0x129D99, 0x0000011 + +gUnk_08129DAA:: @ 08129DAA + .incbin "baserom.gba", 0x129DAA, 0x0000011 + +gUnk_08129DBB:: @ 08129DBB + .incbin "baserom.gba", 0x129DBB, 0x0000011 + +gUnk_08129DCC:: @ 08129DCC + .incbin "baserom.gba", 0x129DCC, 0x000000C + +gUnk_08129DD8:: @ 08129DD8 + .incbin "baserom.gba", 0x129DD8, 0x000000C + +gUnk_08129DE4:: @ 08129DE4 + .incbin "baserom.gba", 0x129DE4, 0x000000C + +gUnk_08129DF0:: @ 08129DF0 + .incbin "baserom.gba", 0x129DF0, 0x000000C + +gUnk_08129DFC:: @ 08129DFC + .incbin "baserom.gba", 0x129DFC, 0x000000C + +gUnk_08129E08:: @ 08129E08 + .incbin "baserom.gba", 0x129E08, 0x000000C + +gUnk_08129E14:: @ 08129E14 + .incbin "baserom.gba", 0x129E14, 0x000000C + +gUnk_08129E20:: @ 08129E20 + .incbin "baserom.gba", 0x129E20, 0x000000C + +gUnk_08129E2C:: @ 08129E2C + .incbin "baserom.gba", 0x129E2C, 0x0000021 + +gUnk_08129E4D:: @ 08129E4D + .incbin "baserom.gba", 0x129E4D, 0x0000021 + +gUnk_08129E6E:: @ 08129E6E + .incbin "baserom.gba", 0x129E6E, 0x0000021 + +gUnk_08129E8F:: @ 08129E8F + .incbin "baserom.gba", 0x129E8F, 0x0000021 + +gUnk_08129EB0:: @ 08129EB0 + .incbin "baserom.gba", 0x129EB0, 0x0000021 + +gUnk_08129ED1:: @ 08129ED1 + .incbin "baserom.gba", 0x129ED1, 0x0000021 + +gUnk_08129EF2:: @ 08129EF2 + .incbin "baserom.gba", 0x129EF2, 0x0000021 + +gUnk_08129F13:: @ 08129F13 + .incbin "baserom.gba", 0x129F13, 0x0000021 + +gUnk_08129F34:: @ 08129F34 + .incbin "baserom.gba", 0x129F34, 0x0000084 + +gUnk_08129FB8:: @ 08129FB8 + .incbin "baserom.gba", 0x129FB8, 0x0000018 + +gUnk_08129FD0:: @ 08129FD0 + .incbin "baserom.gba", 0x129FD0, 0x0000014 + +gUnk_08129FE4:: @ 08129FE4 + .incbin "baserom.gba", 0x129FE4, 0x0000014 + +gUnk_08129FF8:: @ 08129FF8 + .incbin "baserom.gba", 0x129FF8, 0x000000C + +gUnk_0812A004:: @ 0812A004 + .incbin "baserom.gba", 0x12A004, 0x0000010 + +gUnk_0812A014:: @ 0812A014 + .incbin "baserom.gba", 0x12A014, 0x0000018 + +gUnk_0812A02C:: @ 0812A02C + .incbin "baserom.gba", 0x12A02C, 0x0000010 + +gUnk_0812A03C:: @ 0812A03C + .incbin "baserom.gba", 0x12A03C, 0x0000010 + +gUnk_0812A04C:: @ 0812A04C + .incbin "baserom.gba", 0x12A04C, 0x0000010 + +gUnk_0812A05C:: @ 0812A05C + .incbin "baserom.gba", 0x12A05C, 0x0000008 + +gUnk_0812A064:: @ 0812A064 + .incbin "baserom.gba", 0x12A064, 0x0000008 + +gUnk_0812A06C:: @ 0812A06C + .incbin "baserom.gba", 0x12A06C, 0x0000008 + +gUnk_0812A074:: @ 0812A074 + .incbin "baserom.gba", 0x12A074, 0x0000010 + +gUnk_0812A084:: @ 0812A084 + .incbin "baserom.gba", 0x12A084, 0x0000008 + +gUnk_0812A08C:: @ 0812A08C + .incbin "baserom.gba", 0x12A08C, 0x0000004 + +gUnk_0812A090:: @ 0812A090 + .incbin "baserom.gba", 0x12A090, 0x0000004 + +gUnk_0812A094:: @ 0812A094 + .incbin "baserom.gba", 0x12A094, 0x0000004 + +gUnk_0812A098:: @ 0812A098 + .incbin "baserom.gba", 0x12A098, 0x0000004 + +gUnk_0812A09C:: @ 0812A09C + .incbin "baserom.gba", 0x12A09C, 0x000000C + +gUnk_0812A0A8:: @ 0812A0A8 + .incbin "baserom.gba", 0x12A0A8, 0x000000C + +gUnk_0812A0B4:: @ 0812A0B4 + .incbin "baserom.gba", 0x12A0B4, 0x000000C + +gUnk_0812A0C0:: @ 0812A0C0 + .incbin "baserom.gba", 0x12A0C0, 0x000000C + +gUnk_0812A0CC:: @ 0812A0CC + .incbin "baserom.gba", 0x12A0CC, 0x0000048 + +gUnk_0812A114:: @ 0812A114 + .incbin "baserom.gba", 0x12A114, 0x0000048 + +gUnk_0812A15C:: @ 0812A15C + .incbin "baserom.gba", 0x12A15C, 0x0000048 + +gUnk_0812A1A4:: @ 0812A1A4 + .incbin "baserom.gba", 0x12A1A4, 0x0000048 + +gUnk_0812A1EC:: @ 0812A1EC + .incbin "baserom.gba", 0x12A1EC, 0x0000024 + +gUnk_0812A210:: @ 0812A210 + .incbin "baserom.gba", 0x12A210, 0x0000024 + +gUnk_0812A234:: @ 0812A234 + .incbin "baserom.gba", 0x12A234, 0x0000024 + +gUnk_0812A258:: @ 0812A258 + .incbin "baserom.gba", 0x12A258, 0x0000024 + +gUnk_0812A27C:: @ 0812A27C + .incbin "baserom.gba", 0x12A27C, 0x000003C + +gUnk_0812A2B8:: @ 0812A2B8 + .incbin "baserom.gba", 0x12A2B8, 0x000003C + +gUnk_0812A2F4:: @ 0812A2F4 + .incbin "baserom.gba", 0x12A2F4, 0x000003C + +gUnk_0812A330:: @ 0812A330 + .incbin "baserom.gba", 0x12A330, 0x000003C + +gUnk_0812A36C:: @ 0812A36C + .incbin "baserom.gba", 0x12A36C, 0x0000054 + +gUnk_0812A3C0:: @ 0812A3C0 + .incbin "baserom.gba", 0x12A3C0, 0x0000014 + +gUnk_0812A3D4:: @ 0812A3D4 + .incbin "baserom.gba", 0x12A3D4, 0x000000C + +gUnk_0812A3E0:: @ 0812A3E0 + .incbin "baserom.gba", 0x12A3E0, 0x0000014 + +gUnk_0812A3F4:: @ 0812A3F4 + .incbin "baserom.gba", 0x12A3F4, 0x0000008 + +gUnk_0812A3FC:: @ 0812A3FC + .incbin "baserom.gba", 0x12A3FC, 0x0000014 + +gUnk_0812A410:: @ 0812A410 + .incbin "baserom.gba", 0x12A410, 0x0000008 + +gUnk_0812A418:: @ 0812A418 + .incbin "baserom.gba", 0x12A418, 0x0000018 + +gUnk_0812A430:: @ 0812A430 + .incbin "baserom.gba", 0x12A430, 0x0000010 + +gUnk_0812A440:: @ 0812A440 + .incbin "baserom.gba", 0x12A440, 0x000000C + +gUnk_0812A44C:: @ 0812A44C + .incbin "baserom.gba", 0x12A44C, 0x0000021 + +gUnk_0812A46D:: @ 0812A46D + .incbin "baserom.gba", 0x12A46D, 0x000001B + +gUnk_0812A488:: @ 0812A488 + .incbin "baserom.gba", 0x12A488, 0x000000C + +gUnk_0812A494:: @ 0812A494 + .incbin "baserom.gba", 0x12A494, 0x0000014 + +gUnk_0812A4A8:: @ 0812A4A8 + .incbin "baserom.gba", 0x12A4A8, 0x0000020 + +gUnk_0812A4C8:: @ 0812A4C8 + .incbin "baserom.gba", 0x12A4C8, 0x0000014 + +gUnk_0812A4DC:: @ 0812A4DC + .incbin "baserom.gba", 0x12A4DC, 0x0000010 + +gUnk_0812A4EC:: @ 0812A4EC + .incbin "baserom.gba", 0x12A4EC, 0x00000A0 + +gUnk_0812A58C:: @ 0812A58C + .incbin "baserom.gba", 0x12A58C, 0x0000014 + +gUnk_0812A5A0:: @ 0812A5A0 + .incbin "baserom.gba", 0x12A5A0, 0x000000C + +gUnk_0812A5AC:: @ 0812A5AC + .incbin "baserom.gba", 0x12A5AC, 0x000000D + +gUnk_0812A5B9:: @ 0812A5B9 + .incbin "baserom.gba", 0x12A5B9, 0x000000D + +gUnk_0812A5C6:: @ 0812A5C6 + .incbin "baserom.gba", 0x12A5C6, 0x000000E + +gUnk_0812A5D4:: @ 0812A5D4 + .incbin "baserom.gba", 0x12A5D4, 0x0000014 + +gUnk_0812A5E8:: @ 0812A5E8 + .incbin "baserom.gba", 0x12A5E8, 0x000000C + +gUnk_0812A5F4:: @ 0812A5F4 + .incbin "baserom.gba", 0x12A5F4, 0x0000020 + +gUnk_0812A614:: @ 0812A614 + .incbin "baserom.gba", 0x12A614, 0x0000008 + +gUnk_0812A61C:: @ 0812A61C + .incbin "baserom.gba", 0x12A61C, 0x0000008 + +gUnk_0812A624:: @ 0812A624 + .incbin "baserom.gba", 0x12A624, 0x0000008 + +gUnk_0812A62C:: @ 0812A62C + .incbin "baserom.gba", 0x12A62C, 0x0000008 + +gUnk_0812A634:: @ 0812A634 + .incbin "baserom.gba", 0x12A634, 0x0000008 + +gUnk_0812A63C:: @ 0812A63C + .incbin "baserom.gba", 0x12A63C, 0x0000020 + +gUnk_0812A65C:: @ 0812A65C + .incbin "baserom.gba", 0x12A65C, 0x0000009 + +gUnk_0812A665:: @ 0812A665 + .incbin "baserom.gba", 0x12A665, 0x0000009 + +gUnk_0812A66E:: @ 0812A66E + .incbin "baserom.gba", 0x12A66E, 0x0000009 + +gUnk_0812A677:: @ 0812A677 + .incbin "baserom.gba", 0x12A677, 0x0000009 + +gUnk_0812A680:: @ 0812A680 + .incbin "baserom.gba", 0x12A680, 0x0000009 + +gUnk_0812A689:: @ 0812A689 + .incbin "baserom.gba", 0x12A689, 0x000000B + +gUnk_0812A694:: @ 0812A694 + .incbin "baserom.gba", 0x12A694, 0x0000020 + +gUnk_0812A6B4:: @ 0812A6B4 + .incbin "baserom.gba", 0x12A6B4, 0x0000008 + +gUnk_0812A6BC:: @ 0812A6BC + .incbin "baserom.gba", 0x12A6BC, 0x0000008 + +gUnk_0812A6C4:: @ 0812A6C4 + .incbin "baserom.gba", 0x12A6C4, 0x0000008 + +gUnk_0812A6CC:: @ 0812A6CC + .incbin "baserom.gba", 0x12A6CC, 0x0000008 + +gUnk_0812A6D4:: @ 0812A6D4 + .incbin "baserom.gba", 0x12A6D4, 0x000000E + +gUnk_0812A6E2:: @ 0812A6E2 + .incbin "baserom.gba", 0x12A6E2, 0x000000D + +gUnk_0812A6EF:: @ 0812A6EF + .incbin "baserom.gba", 0x12A6EF, 0x000000D + +gUnk_0812A6FC:: @ 0812A6FC + .incbin "baserom.gba", 0x12A6FC, 0x000000D + +gUnk_0812A709:: @ 0812A709 + .incbin "baserom.gba", 0x12A709, 0x000000D + +gUnk_0812A716:: @ 0812A716 + .incbin "baserom.gba", 0x12A716, 0x000000D + +gUnk_0812A723:: @ 0812A723 + .incbin "baserom.gba", 0x12A723, 0x000000D + +gUnk_0812A730:: @ 0812A730 + .incbin "baserom.gba", 0x12A730, 0x000000D + +gUnk_0812A73D:: @ 0812A73D + .incbin "baserom.gba", 0x12A73D, 0x000000D + +gUnk_0812A74A:: @ 0812A74A + .incbin "baserom.gba", 0x12A74A, 0x000000D + +gUnk_0812A757:: @ 0812A757 + .incbin "baserom.gba", 0x12A757, 0x000000D + +gUnk_0812A764:: @ 0812A764 + .incbin "baserom.gba", 0x12A764, 0x000000D + +gUnk_0812A771:: @ 0812A771 + .incbin "baserom.gba", 0x12A771, 0x000000D + +gUnk_0812A77E:: @ 0812A77E + .incbin "baserom.gba", 0x12A77E, 0x000000D + +gUnk_0812A78B:: @ 0812A78B + .incbin "baserom.gba", 0x12A78B, 0x000000D + +gUnk_0812A798:: @ 0812A798 + .incbin "baserom.gba", 0x12A798, 0x000003C + +gUnk_0812A7D4:: @ 0812A7D4 + .incbin "baserom.gba", 0x12A7D4, 0x0000018 + +gUnk_0812A7EC:: @ 0812A7EC + .incbin "baserom.gba", 0x12A7EC, 0x000000C + +gUnk_0812A7F8:: @ 0812A7F8 + .incbin "baserom.gba", 0x12A7F8, 0x0000008 + +gUnk_0812A800:: @ 0812A800 + .incbin "baserom.gba", 0x12A800, 0x0000008 + +gUnk_0812A808:: @ 0812A808 + .incbin "baserom.gba", 0x12A808, 0x000000C + +gUnk_0812A814:: @ 0812A814 + .incbin "baserom.gba", 0x12A814, 0x0000011 + +gUnk_0812A825:: @ 0812A825 + .incbin "baserom.gba", 0x12A825, 0x000001B + +gUnk_0812A840:: @ 0812A840 + .incbin "baserom.gba", 0x12A840, 0x000000C + +gUnk_0812A84C:: @ 0812A84C + .incbin "baserom.gba", 0x12A84C, 0x0000014 + +gUnk_0812A860:: @ 0812A860 + .incbin "baserom.gba", 0x12A860, 0x0000011 + +gUnk_0812A871:: @ 0812A871 + .incbin "baserom.gba", 0x12A871, 0x0000059 + +gUnk_0812A8CA:: @ 0812A8CA + .incbin "baserom.gba", 0x12A8CA, 0x0000061 + +gUnk_0812A92B:: @ 0812A92B + .incbin "baserom.gba", 0x12A92B, 0x0000015 + +gUnk_0812A940:: @ 0812A940 + .incbin "baserom.gba", 0x12A940, 0x0000014 + +gUnk_0812A954:: @ 0812A954 + .incbin "baserom.gba", 0x12A954, 0x0000014 + +gUnk_0812A968:: @ 0812A968 + .incbin "baserom.gba", 0x12A968, 0x0000014 + +gUnk_0812A97C:: @ 0812A97C + .incbin "baserom.gba", 0x12A97C, 0x0000006 + +gUnk_0812A982:: @ 0812A982 + .incbin "baserom.gba", 0x12A982, 0x0000008 + +gUnk_0812A98A:: @ 0812A98A + .incbin "baserom.gba", 0x12A98A, 0x000000A + +gUnk_0812A994:: @ 0812A994 + .incbin "baserom.gba", 0x12A994, 0x0000014 + +gUnk_0812A9A8:: @ 0812A9A8 + .incbin "baserom.gba", 0x12A9A8, 0x000000C + +gUnk_0812A9B4:: @ 0812A9B4 + .incbin "baserom.gba", 0x12A9B4, 0x0000004 + +gUnk_0812A9B8:: @ 0812A9B8 + .incbin "baserom.gba", 0x12A9B8, 0x0000002 + +gUnk_0812A9BA:: @ 0812A9BA + .incbin "baserom.gba", 0x12A9BA, 0x0000006 + +gUnk_0812A9C0:: @ 0812A9C0 + .incbin "baserom.gba", 0x12A9C0, 0x0000018 + +gUnk_0812A9D8:: @ 0812A9D8 + .incbin "baserom.gba", 0x12A9D8, 0x0000014 + +gUnk_0812A9EC:: @ 0812A9EC + .incbin "baserom.gba", 0x12A9EC, 0x0000010 + +gUnk_0812A9FC:: @ 0812A9FC + .incbin "baserom.gba", 0x12A9FC, 0x0000035 + +gUnk_0812AA31:: @ 0812AA31 + .incbin "baserom.gba", 0x12AA31, 0x000001F + +gUnk_0812AA50:: @ 0812AA50 + .incbin "baserom.gba", 0x12AA50, 0x000000C + +gUnk_0812AA5C:: @ 0812AA5C + .incbin "baserom.gba", 0x12AA5C, 0x0000018 + +gUnk_0812AA74:: @ 0812AA74 + .incbin "baserom.gba", 0x12AA74, 0x000000C + +gUnk_0812AA80:: @ 0812AA80 + .incbin "baserom.gba", 0x12AA80, 0x0000008 + +gUnk_0812AA88:: @ 0812AA88 + .incbin "baserom.gba", 0x12AA88, 0x0000009 + +gUnk_0812AA91:: @ 0812AA91 + .incbin "baserom.gba", 0x12AA91, 0x0000009 + +gUnk_0812AA9A:: @ 0812AA9A + .incbin "baserom.gba", 0x12AA9A, 0x0000012 + +gUnk_0812AAAC:: @ 0812AAAC + .incbin "baserom.gba", 0x12AAAC, 0x0000010 + +gUnk_0812AABC:: @ 0812AABC + .incbin "baserom.gba", 0x12AABC, 0x0000004 + +gUnk_0812AAC0:: @ 0812AAC0 + .incbin "baserom.gba", 0x12AAC0, 0x0000008 + +gUnk_0812AAC8:: @ 0812AAC8 + .incbin "baserom.gba", 0x12AAC8, 0x0000008 + +gUnk_0812AAD0:: @ 0812AAD0 + .incbin "baserom.gba", 0x12AAD0, 0x0000008 + +gUnk_0812AAD8:: @ 0812AAD8 + .incbin "baserom.gba", 0x12AAD8, 0x0000010 + +gUnk_0812AAE8:: @ 0812AAE8 + .incbin "baserom.gba", 0x12AAE8, 0x000019C + +gUnk_0812AC84:: @ 0812AC84 + .incbin "baserom.gba", 0x12AC84, 0x0000004 + +gUnk_0812AC88:: @ 0812AC88 + .incbin "baserom.gba", 0x12AC88, 0x000000C + +gUnk_0812AC94:: @ 0812AC94 + .incbin "baserom.gba", 0x12AC94, 0x0000010 + +gUnk_0812ACA4:: @ 0812ACA4 + .incbin "baserom.gba", 0x12ACA4, 0x000000C + +gUnk_0812ACB0:: @ 0812ACB0 + .incbin "baserom.gba", 0x12ACB0, 0x0000010 + +gUnk_0812ACC0:: @ 0812ACC0 + .incbin "baserom.gba", 0x12ACC0, 0x000000C + +gUnk_0812ACCC:: @ 0812ACCC + .incbin "baserom.gba", 0x12ACCC, 0x000000C + +gUnk_0812ACD8:: @ 0812ACD8 + .incbin "baserom.gba", 0x12ACD8, 0x000000C + +gUnk_0812ACE4:: @ 0812ACE4 + .incbin "baserom.gba", 0x12ACE4, 0x000000C + +gUnk_0812ACF0:: @ 0812ACF0 + .incbin "baserom.gba", 0x12ACF0, 0x0000010 + +gUnk_0812AD00:: @ 0812AD00 + .incbin "baserom.gba", 0x12AD00, 0x000000C + +gUnk_0812AD0C:: @ 0812AD0C + .incbin "baserom.gba", 0x12AD0C, 0x0000014 + +gUnk_0812AD20:: @ 0812AD20 + .incbin "baserom.gba", 0x12AD20, 0x0000010 + +gUnk_0812AD30:: @ 0812AD30 + .incbin "baserom.gba", 0x12AD30, 0x0000010 + +gUnk_0812AD40:: @ 0812AD40 + .incbin "baserom.gba", 0x12AD40, 0x0000014 + +gUnk_0812AD54:: @ 0812AD54 + .incbin "baserom.gba", 0x12AD54, 0x0000010 + +gUnk_0812AD64:: @ 0812AD64 + .incbin "baserom.gba", 0x12AD64, 0x000000C + +gUnk_0812AD70:: @ 0812AD70 + .incbin "baserom.gba", 0x12AD70, 0x000000C + +gUnk_0812AD7C:: @ 0812AD7C + .incbin "baserom.gba", 0x12AD7C, 0x0000010 + +gUnk_0812AD8C:: @ 0812AD8C + .incbin "baserom.gba", 0x12AD8C, 0x000000C + +gUnk_0812AD98:: @ 0812AD98 + .incbin "baserom.gba", 0x12AD98, 0x0000008 + +gUnk_0812ADA0:: @ 0812ADA0 + .incbin "baserom.gba", 0x12ADA0, 0x0000010 + +gUnk_0812ADB0:: @ 0812ADB0 + .incbin "baserom.gba", 0x12ADB0, 0x000000C + +gUnk_0812ADBC:: @ 0812ADBC + .incbin "baserom.gba", 0x12ADBC, 0x0000010 + +gUnk_0812ADCC:: @ 0812ADCC + .incbin "baserom.gba", 0x12ADCC, 0x0000010 + +gUnk_0812ADDC:: @ 0812ADDC + .incbin "baserom.gba", 0x12ADDC, 0x0000010 + +gUnk_0812ADEC:: @ 0812ADEC + .incbin "baserom.gba", 0x12ADEC, 0x0000010 + +gUnk_0812ADFC:: @ 0812ADFC + .incbin "baserom.gba", 0x12ADFC, 0x0000010 + +gUnk_0812AE0C:: @ 0812AE0C + .incbin "baserom.gba", 0x12AE0C, 0x0000008 + +gUnk_0812AE14:: @ 0812AE14 + .incbin "baserom.gba", 0x12AE14, 0x0000010 + +gUnk_0812AE24:: @ 0812AE24 + .incbin "baserom.gba", 0x12AE24, 0x0000014 + +gUnk_0812AE38:: @ 0812AE38 + .incbin "baserom.gba", 0x12AE38, 0x0000010 + +gUnk_0812AE48:: @ 0812AE48 + .incbin "baserom.gba", 0x12AE48, 0x0000014 + +gUnk_0812AE5C:: @ 0812AE5C + .incbin "baserom.gba", 0x12AE5C, 0x0000002 + +gUnk_0812AE5E:: @ 0812AE5E + .incbin "baserom.gba", 0x12AE5E, 0x000000E + +gUnk_0812AE6C:: @ 0812AE6C + .incbin "baserom.gba", 0x12AE6C, 0x0000010 + +gUnk_0812AE7C:: @ 0812AE7C + .incbin "baserom.gba", 0x12AE7C, 0x0000010 + +gUnk_0812AE8C:: @ 0812AE8C + .incbin "baserom.gba", 0x12AE8C, 0x0000014 + +gUnk_0812AEA0:: @ 0812AEA0 + .incbin "baserom.gba", 0x12AEA0, 0x0000014 + +gUnk_0812AEB4:: @ 0812AEB4 + .incbin "baserom.gba", 0x12AEB4, 0x0000014 + +gUnk_0812AEC8:: @ 0812AEC8 + .incbin "baserom.gba", 0x12AEC8, 0x0000014 + +gUnk_0812AEDC:: @ 0812AEDC + .incbin "baserom.gba", 0x12AEDC, 0x0000008 + +gUnk_0812AEE4:: @ 0812AEE4 + .incbin "baserom.gba", 0x12AEE4, 0x0000008 + +gUnk_0812AEEC:: @ 0812AEEC + .incbin "baserom.gba", 0x12AEEC, 0x0000008 + +gUnk_0812AEF4:: @ 0812AEF4 + .incbin "baserom.gba", 0x12AEF4, 0x0000010 + +gUnk_0812AF04:: @ 0812AF04 + .incbin "baserom.gba", 0x12AF04, 0x000000C + +gUnk_0812AF10:: @ 0812AF10 + .incbin "baserom.gba", 0x12AF10, 0x000000C + +gUnk_0812AF1C:: @ 0812AF1C + .incbin "baserom.gba", 0x12AF1C, 0x000000C + +gUnk_0812AF28:: @ 0812AF28 + .incbin "baserom.gba", 0x12AF28, 0x000000C + +gUnk_0812AF34:: @ 0812AF34 + .incbin "baserom.gba", 0x12AF34, 0x000000C + +gUnk_0812AF40:: @ 0812AF40 + .incbin "baserom.gba", 0x12AF40, 0x000000C + +gUnk_0812AF4C:: @ 0812AF4C + .incbin "baserom.gba", 0x12AF4C, 0x000000C + +gUnk_0812AF58:: @ 0812AF58 + .incbin "baserom.gba", 0x12AF58, 0x000000C + +gUnk_0812AF64:: @ 0812AF64 + .incbin "baserom.gba", 0x12AF64, 0x000000C + +gUnk_0812AF70:: @ 0812AF70 + .incbin "baserom.gba", 0x12AF70, 0x0000014 + +gUnk_0812AF84:: @ 0812AF84 + .incbin "baserom.gba", 0x12AF84, 0x0000010 + +gUnk_0812AF94:: @ 0812AF94 + .incbin "baserom.gba", 0x12AF94, 0x0000010 + +gUnk_0812AFA4:: @ 0812AFA4 + .incbin "baserom.gba", 0x12AFA4, 0x0000014 + +gUnk_0812AFB8:: @ 0812AFB8 + .incbin "baserom.gba", 0x12AFB8, 0x0000014 + +gUnk_0812AFCC:: @ 0812AFCC + .incbin "baserom.gba", 0x12AFCC, 0x0000014 + +gUnk_0812AFE0:: @ 0812AFE0 + .incbin "baserom.gba", 0x12AFE0, 0x0000014 + +gUnk_0812AFF4:: @ 0812AFF4 + .incbin "baserom.gba", 0x12AFF4, 0x0000010 + +gUnk_0812B004:: @ 0812B004 + .incbin "baserom.gba", 0x12B004, 0x000000C + +gUnk_0812B010:: @ 0812B010 + .incbin "baserom.gba", 0x12B010, 0x0000008 + +gUnk_0812B018:: @ 0812B018 + .incbin "baserom.gba", 0x12B018, 0x0000010 + +gUnk_0812B028:: @ 0812B028 + .incbin "baserom.gba", 0x12B028, 0x000000C + +gUnk_0812B034:: @ 0812B034 + .incbin "baserom.gba", 0x12B034, 0x0000010 + +gUnk_0812B044:: @ 0812B044 + .incbin "baserom.gba", 0x12B044, 0x000000C + +gUnk_0812B050:: @ 0812B050 + .incbin "baserom.gba", 0x12B050, 0x000000C + +gUnk_0812B05C:: @ 0812B05C + .incbin "baserom.gba", 0x12B05C, 0x0000010 + +gUnk_0812B06C:: @ 0812B06C + .incbin "baserom.gba", 0x12B06C, 0x0000010 + +gUnk_0812B07C:: @ 0812B07C + .incbin "baserom.gba", 0x12B07C, 0x0000010 + +gUnk_0812B08C:: @ 0812B08C + .incbin "baserom.gba", 0x12B08C, 0x000000C + +gUnk_0812B098:: @ 0812B098 + .incbin "baserom.gba", 0x12B098, 0x0000008 + +gUnk_0812B0A0:: @ 0812B0A0 + .incbin "baserom.gba", 0x12B0A0, 0x000000C + +gUnk_0812B0AC:: @ 0812B0AC + .incbin "baserom.gba", 0x12B0AC, 0x0000010 + +gUnk_0812B0BC:: @ 0812B0BC + .incbin "baserom.gba", 0x12B0BC, 0x0000010 + +gUnk_0812B0CC:: @ 0812B0CC + .incbin "baserom.gba", 0x12B0CC, 0x0000010 + +gUnk_0812B0DC:: @ 0812B0DC + .incbin "baserom.gba", 0x12B0DC, 0x0000010 + +gUnk_0812B0EC:: @ 0812B0EC + .incbin "baserom.gba", 0x12B0EC, 0x0000010 + +gUnk_0812B0FC:: @ 0812B0FC + .incbin "baserom.gba", 0x12B0FC, 0x0000008 + +gUnk_0812B104:: @ 0812B104 + .incbin "baserom.gba", 0x12B104, 0x000000C + +gUnk_0812B110:: @ 0812B110 + .incbin "baserom.gba", 0x12B110, 0x000000C + +gUnk_0812B11C:: @ 0812B11C + .incbin "baserom.gba", 0x12B11C, 0x0000008 + +gUnk_0812B124:: @ 0812B124 + .incbin "baserom.gba", 0x12B124, 0x0000014 + +gUnk_0812B138:: @ 0812B138 + .incbin "baserom.gba", 0x12B138, 0x000000C + +gUnk_0812B144:: @ 0812B144 + .incbin "baserom.gba", 0x12B144, 0x000000C + +gUnk_0812B150:: @ 0812B150 + .incbin "baserom.gba", 0x12B150, 0x000000C + +gUnk_0812B15C:: @ 0812B15C + .incbin "baserom.gba", 0x12B15C, 0x000000C + +gUnk_0812B168:: @ 0812B168 + .incbin "baserom.gba", 0x12B168, 0x000000C + +gUnk_0812B174:: @ 0812B174 + .incbin "baserom.gba", 0x12B174, 0x000000C + +gUnk_0812B180:: @ 0812B180 + .incbin "baserom.gba", 0x12B180, 0x000000C + +gUnk_0812B18C:: @ 0812B18C + .incbin "baserom.gba", 0x12B18C, 0x000000C + +gUnk_0812B198:: @ 0812B198 + .incbin "baserom.gba", 0x12B198, 0x000000C + +gUnk_0812B1A4:: @ 0812B1A4 + .incbin "baserom.gba", 0x12B1A4, 0x000000C + +gUnk_0812B1B0:: @ 0812B1B0 + .incbin "baserom.gba", 0x12B1B0, 0x000000C + +gUnk_0812B1BC:: @ 0812B1BC + .incbin "baserom.gba", 0x12B1BC, 0x000000C + +gUnk_0812B1C8:: @ 0812B1C8 + .incbin "baserom.gba", 0x12B1C8, 0x000000C + +gUnk_0812B1D4:: @ 0812B1D4 + .incbin "baserom.gba", 0x12B1D4, 0x000000C + +gUnk_0812B1E0:: @ 0812B1E0 + .incbin "baserom.gba", 0x12B1E0, 0x000000C + +gUnk_0812B1EC:: @ 0812B1EC + .incbin "baserom.gba", 0x12B1EC, 0x000000C + +gUnk_0812B1F8:: @ 0812B1F8 + .incbin "baserom.gba", 0x12B1F8, 0x000000C + +gUnk_0812B204:: @ 0812B204 + .incbin "baserom.gba", 0x12B204, 0x0000400 + +gUnk_0812B604:: @ 0812B604 + .incbin "baserom.gba", 0x12B604, 0x0000008 + +gUnk_0812B60C:: @ 0812B60C + .incbin "baserom.gba", 0x12B60C, 0x0000008 + +gUnk_0812B614:: @ 0812B614 + .incbin "baserom.gba", 0x12B614, 0x0000008 + +gUnk_0812B61C:: @ 0812B61C + .incbin "baserom.gba", 0x12B61C, 0x0000008 + +gUnk_0812B624:: @ 0812B624 + .incbin "baserom.gba", 0x12B624, 0x0000014 + +gUnk_0812B638:: @ 0812B638 + .incbin "baserom.gba", 0x12B638, 0x0000014 + +gUnk_0812B64C:: @ 0812B64C + .incbin "baserom.gba", 0x12B64C, 0x0000010 + +gUnk_0812B65C:: @ 0812B65C + .incbin "baserom.gba", 0x12B65C, 0x0000010 + +gUnk_0812B66C:: @ 0812B66C + .incbin "baserom.gba", 0x12B66C, 0x0000010 + +gUnk_0812B67C:: @ 0812B67C + .incbin "baserom.gba", 0x12B67C, 0x0000010 + +gUnk_0812B68C:: @ 0812B68C + .incbin "baserom.gba", 0x12B68C, 0x0000014 + +gUnk_0812B6A0:: @ 0812B6A0 + .incbin "baserom.gba", 0x12B6A0, 0x0000014 + +gUnk_0812B6B4:: @ 0812B6B4 + .incbin "baserom.gba", 0x12B6B4, 0x0000014 + +gUnk_0812B6C8:: @ 0812B6C8 + .incbin "baserom.gba", 0x12B6C8, 0x0000014 + +gUnk_0812B6DC:: @ 0812B6DC + .incbin "baserom.gba", 0x12B6DC, 0x0000014 + +gUnk_0812B6F0:: @ 0812B6F0 + .incbin "baserom.gba", 0x12B6F0, 0x0000010 + +gUnk_0812B700:: @ 0812B700 + .incbin "baserom.gba", 0x12B700, 0x0000014 + +gUnk_0812B714:: @ 0812B714 + .incbin "baserom.gba", 0x12B714, 0x0000010 + +gUnk_0812B724:: @ 0812B724 + .incbin "baserom.gba", 0x12B724, 0x0000010 + +gUnk_0812B734:: @ 0812B734 + .incbin "baserom.gba", 0x12B734, 0x0000010 + +gUnk_0812B744:: @ 0812B744 + .incbin "baserom.gba", 0x12B744, 0x0000010 + +gUnk_0812B754:: @ 0812B754 + .incbin "baserom.gba", 0x12B754, 0x0000010 + +gUnk_0812B764:: @ 0812B764 + .incbin "baserom.gba", 0x12B764, 0x0000010 + +gUnk_0812B774:: @ 0812B774 + .incbin "baserom.gba", 0x12B774, 0x0000010 + +gUnk_0812B784:: @ 0812B784 + .incbin "baserom.gba", 0x12B784, 0x0000010 + +gUnk_0812B794:: @ 0812B794 + .incbin "baserom.gba", 0x12B794, 0x0000010 + +gUnk_0812B7A4:: @ 0812B7A4 + .incbin "baserom.gba", 0x12B7A4, 0x0000010 + +gUnk_0812B7B4:: @ 0812B7B4 + .incbin "baserom.gba", 0x12B7B4, 0x0000010 + +gUnk_0812B7C4:: @ 0812B7C4 + .incbin "baserom.gba", 0x12B7C4, 0x0000010 + +gUnk_0812B7D4:: @ 0812B7D4 + .incbin "baserom.gba", 0x12B7D4, 0x0000010 + +gUnk_0812B7E4:: @ 0812B7E4 + .incbin "baserom.gba", 0x12B7E4, 0x0000010 + +gUnk_0812B7F4:: @ 0812B7F4 + .incbin "baserom.gba", 0x12B7F4, 0x0000010 + +gUnk_0812B804:: @ 0812B804 + .incbin "baserom.gba", 0x12B804, 0x0000010 + +gUnk_0812B814:: @ 0812B814 + .incbin "baserom.gba", 0x12B814, 0x000000C + +gUnk_0812B820:: @ 0812B820 + .incbin "baserom.gba", 0x12B820, 0x0000010 + +gUnk_0812B830:: @ 0812B830 + .incbin "baserom.gba", 0x12B830, 0x0000010 + +gUnk_0812B840:: @ 0812B840 + .incbin "baserom.gba", 0x12B840, 0x0000010 + +gUnk_0812B850:: @ 0812B850 + .incbin "baserom.gba", 0x12B850, 0x0000010 + +gUnk_0812B860:: @ 0812B860 + .incbin "baserom.gba", 0x12B860, 0x0000010 + +gUnk_0812B870:: @ 0812B870 + .incbin "baserom.gba", 0x12B870, 0x0000010 + +gUnk_0812B880:: @ 0812B880 + .incbin "baserom.gba", 0x12B880, 0x0000010 + +gUnk_0812B890:: @ 0812B890 + .incbin "baserom.gba", 0x12B890, 0x0000010 + +gUnk_0812B8A0:: @ 0812B8A0 + .incbin "baserom.gba", 0x12B8A0, 0x0000010 + +gUnk_0812B8B0:: @ 0812B8B0 + .incbin "baserom.gba", 0x12B8B0, 0x000000C + +gUnk_0812B8BC:: @ 0812B8BC + .incbin "baserom.gba", 0x12B8BC, 0x0000010 + +gUnk_0812B8CC:: @ 0812B8CC + .incbin "baserom.gba", 0x12B8CC, 0x0000010 + +gUnk_0812B8DC:: @ 0812B8DC + .incbin "baserom.gba", 0x12B8DC, 0x0000010 + +gUnk_0812B8EC:: @ 0812B8EC + .incbin "baserom.gba", 0x12B8EC, 0x0000010 + +gUnk_0812B8FC:: @ 0812B8FC + .incbin "baserom.gba", 0x12B8FC, 0x0000010 + +gUnk_0812B90C:: @ 0812B90C + .incbin "baserom.gba", 0x12B90C, 0x0000010 + +gUnk_0812B91C:: @ 0812B91C + .incbin "baserom.gba", 0x12B91C, 0x000000C + +gUnk_0812B928:: @ 0812B928 + .incbin "baserom.gba", 0x12B928, 0x000000C + +gUnk_0812B934:: @ 0812B934 + .incbin "baserom.gba", 0x12B934, 0x000000C + +gUnk_0812B940:: @ 0812B940 + .incbin "baserom.gba", 0x12B940, 0x0000018 + +gUnk_0812B958:: @ 0812B958 + .incbin "baserom.gba", 0x12B958, 0x0000010 + +gUnk_0812B968:: @ 0812B968 + .incbin "baserom.gba", 0x12B968, 0x0000010 + +gUnk_0812B978:: @ 0812B978 + .incbin "baserom.gba", 0x12B978, 0x0000010 + +gUnk_0812B988:: @ 0812B988 + .incbin "baserom.gba", 0x12B988, 0x0000010 + +gUnk_0812B998:: @ 0812B998 + .incbin "baserom.gba", 0x12B998, 0x0000010 + +gUnk_0812B9A8:: @ 0812B9A8 + .incbin "baserom.gba", 0x12B9A8, 0x0000010 + +gUnk_0812B9B8:: @ 0812B9B8 + .incbin "baserom.gba", 0x12B9B8, 0x0000010 + +gUnk_0812B9C8:: @ 0812B9C8 + .incbin "baserom.gba", 0x12B9C8, 0x0000010 + +gUnk_0812B9D8:: @ 0812B9D8 + .incbin "baserom.gba", 0x12B9D8, 0x0000010 + +gUnk_0812B9E8:: @ 0812B9E8 + .incbin "baserom.gba", 0x12B9E8, 0x0000010 + +gUnk_0812B9F8:: @ 0812B9F8 + .incbin "baserom.gba", 0x12B9F8, 0x0000010 + +gUnk_0812BA08:: @ 0812BA08 + .incbin "baserom.gba", 0x12BA08, 0x0000010 + +gUnk_0812BA18:: @ 0812BA18 + .incbin "baserom.gba", 0x12BA18, 0x0000010 + +gUnk_0812BA28:: @ 0812BA28 + .incbin "baserom.gba", 0x12BA28, 0x0000010 + +gUnk_0812BA38:: @ 0812BA38 + .incbin "baserom.gba", 0x12BA38, 0x0000010 + +gUnk_0812BA48:: @ 0812BA48 + .incbin "baserom.gba", 0x12BA48, 0x0000010 + +gUnk_0812BA58:: @ 0812BA58 + .incbin "baserom.gba", 0x12BA58, 0x0000010 + +gUnk_0812BA68:: @ 0812BA68 + .incbin "baserom.gba", 0x12BA68, 0x0000010 + +gUnk_0812BA78:: @ 0812BA78 + .incbin "baserom.gba", 0x12BA78, 0x0000010 + +gUnk_0812BA88:: @ 0812BA88 + .incbin "baserom.gba", 0x12BA88, 0x0000003 + +gUnk_0812BA8B:: @ 0812BA8B + .incbin "baserom.gba", 0x12BA8B, 0x0000009 + +gUnk_0812BA94:: @ 0812BA94 + .incbin "baserom.gba", 0x12BA94, 0x000000C + +gUnk_0812BAA0:: @ 0812BAA0 + .incbin "baserom.gba", 0x12BAA0, 0x000000C + +gUnk_0812BAAC:: @ 0812BAAC + .incbin "baserom.gba", 0x12BAAC, 0x000000C + +gUnk_0812BAB8:: @ 0812BAB8 + .incbin "baserom.gba", 0x12BAB8, 0x000000C + +gUnk_0812BAC4:: @ 0812BAC4 + .incbin "baserom.gba", 0x12BAC4, 0x0000010 + +gUnk_0812BAD4:: @ 0812BAD4 + .incbin "baserom.gba", 0x12BAD4, 0x0000010 + +gUnk_0812BAE4:: @ 0812BAE4 + .incbin "baserom.gba", 0x12BAE4, 0x0000018 + +gUnk_0812BAFC:: @ 0812BAFC + .incbin "baserom.gba", 0x12BAFC, 0x0000010 + +gUnk_0812BB0C:: @ 0812BB0C + .incbin "baserom.gba", 0x12BB0C, 0x0000010 + +gUnk_0812BB1C:: @ 0812BB1C + .incbin "baserom.gba", 0x12BB1C, 0x0000010 + +gUnk_0812BB2C:: @ 0812BB2C + .incbin "baserom.gba", 0x12BB2C, 0x0000010 + +gUnk_0812BB3C:: @ 0812BB3C + .incbin "baserom.gba", 0x12BB3C, 0x0000010 + +gUnk_0812BB4C:: @ 0812BB4C + .incbin "baserom.gba", 0x12BB4C, 0x0000010 + +gUnk_0812BB5C:: @ 0812BB5C + .incbin "baserom.gba", 0x12BB5C, 0x0000010 + +gUnk_0812BB6C:: @ 0812BB6C + .incbin "baserom.gba", 0x12BB6C, 0x0000010 + +gUnk_0812BB7C:: @ 0812BB7C + .incbin "baserom.gba", 0x12BB7C, 0x0000010 + +gUnk_0812BB8C:: @ 0812BB8C + .incbin "baserom.gba", 0x12BB8C, 0x0000010 + +gUnk_0812BB9C:: @ 0812BB9C + .incbin "baserom.gba", 0x12BB9C, 0x0000010 + +gUnk_0812BBAC:: @ 0812BBAC + .incbin "baserom.gba", 0x12BBAC, 0x0000014 + +gUnk_0812BBC0:: @ 0812BBC0 + .incbin "baserom.gba", 0x12BBC0, 0x0000014 + +gUnk_0812BBD4:: @ 0812BBD4 + .incbin "baserom.gba", 0x12BBD4, 0x0000010 + +gUnk_0812BBE4:: @ 0812BBE4 + .incbin "baserom.gba", 0x12BBE4, 0x0000010 + +gUnk_0812BBF4:: @ 0812BBF4 + .incbin "baserom.gba", 0x12BBF4, 0x0000014 + +gUnk_0812BC08:: @ 0812BC08 + .incbin "baserom.gba", 0x12BC08, 0x0000010 + +gUnk_0812BC18:: @ 0812BC18 + .incbin "baserom.gba", 0x12BC18, 0x0000010 + +gUnk_0812BC28:: @ 0812BC28 + .incbin "baserom.gba", 0x12BC28, 0x000000A + +gUnk_0812BC32:: @ 0812BC32 + .incbin "baserom.gba", 0x12BC32, 0x0000006 + +gUnk_0812BC38:: @ 0812BC38 + .incbin "baserom.gba", 0x12BC38, 0x0000010 + +gUnk_0812BC48:: @ 0812BC48 + .incbin "baserom.gba", 0x12BC48, 0x0000010 + +gUnk_0812BC58:: @ 0812BC58 + .incbin "baserom.gba", 0x12BC58, 0x0000010 + +gUnk_0812BC68:: @ 0812BC68 + .incbin "baserom.gba", 0x12BC68, 0x0000010 + +gUnk_0812BC78:: @ 0812BC78 + .incbin "baserom.gba", 0x12BC78, 0x0000010 + +gUnk_0812BC88:: @ 0812BC88 + .incbin "baserom.gba", 0x12BC88, 0x0000010 + +gUnk_0812BC98:: @ 0812BC98 + .incbin "baserom.gba", 0x12BC98, 0x0000010 + +gUnk_0812BCA8:: @ 0812BCA8 + .incbin "baserom.gba", 0x12BCA8, 0x0000010 + +gUnk_0812BCB8:: @ 0812BCB8 + .incbin "baserom.gba", 0x12BCB8, 0x0000010 + +gUnk_0812BCC8:: @ 0812BCC8 + .incbin "baserom.gba", 0x12BCC8, 0x0000010 + +gUnk_0812BCD8:: @ 0812BCD8 + .incbin "baserom.gba", 0x12BCD8, 0x0000010 + +gUnk_0812BCE8:: @ 0812BCE8 + .incbin "baserom.gba", 0x12BCE8, 0x0000010 + +gUnk_0812BCF8:: @ 0812BCF8 + .incbin "baserom.gba", 0x12BCF8, 0x0000014 + +gUnk_0812BD0C:: @ 0812BD0C + .incbin "baserom.gba", 0x12BD0C, 0x0000014 + +gUnk_0812BD20:: @ 0812BD20 + .incbin "baserom.gba", 0x12BD20, 0x0000010 + +gUnk_0812BD30:: @ 0812BD30 + .incbin "baserom.gba", 0x12BD30, 0x0000014 + +gUnk_0812BD44:: @ 0812BD44 + .incbin "baserom.gba", 0x12BD44, 0x0000014 + +gUnk_0812BD58:: @ 0812BD58 + .incbin "baserom.gba", 0x12BD58, 0x0000014 + +gUnk_0812BD6C:: @ 0812BD6C + .incbin "baserom.gba", 0x12BD6C, 0x0000014 + +gUnk_0812BD80:: @ 0812BD80 + .incbin "baserom.gba", 0x12BD80, 0x0000014 + +gUnk_0812BD94:: @ 0812BD94 + .incbin "baserom.gba", 0x12BD94, 0x0000014 + +gUnk_0812BDA8:: @ 0812BDA8 + .incbin "baserom.gba", 0x12BDA8, 0x0000014 + +gUnk_0812BDBC:: @ 0812BDBC + .incbin "baserom.gba", 0x12BDBC, 0x0000014 + +gUnk_0812BDD0:: @ 0812BDD0 + .incbin "baserom.gba", 0x12BDD0, 0x0000014 + +gUnk_0812BDE4:: @ 0812BDE4 + .incbin "baserom.gba", 0x12BDE4, 0x0000010 + +gUnk_0812BDF4:: @ 0812BDF4 + .incbin "baserom.gba", 0x12BDF4, 0x0000010 + +gUnk_0812BE04:: @ 0812BE04 + .incbin "baserom.gba", 0x12BE04, 0x0000010 + +gUnk_0812BE14:: @ 0812BE14 + .incbin "baserom.gba", 0x12BE14, 0x0000010 + +gUnk_0812BE24:: @ 0812BE24 + .incbin "baserom.gba", 0x12BE24, 0x0000010 + +gUnk_0812BE34:: @ 0812BE34 + .incbin "baserom.gba", 0x12BE34, 0x0000010 + +gUnk_0812BE44:: @ 0812BE44 + .incbin "baserom.gba", 0x12BE44, 0x0000010 + +gUnk_0812BE54:: @ 0812BE54 + .incbin "baserom.gba", 0x12BE54, 0x0000014 + +gUnk_0812BE68:: @ 0812BE68 + .incbin "baserom.gba", 0x12BE68, 0x0000014 + +gUnk_0812BE7C:: @ 0812BE7C + .incbin "baserom.gba", 0x12BE7C, 0x0000014 + +gUnk_0812BE90:: @ 0812BE90 + .incbin "baserom.gba", 0x12BE90, 0x0000014 + +gUnk_0812BEA4:: @ 0812BEA4 + .incbin "baserom.gba", 0x12BEA4, 0x0000014 + +gUnk_0812BEB8:: @ 0812BEB8 + .incbin "baserom.gba", 0x12BEB8, 0x0000014 + +gUnk_0812BECC:: @ 0812BECC + .incbin "baserom.gba", 0x12BECC, 0x0000014 + +gUnk_0812BEE0:: @ 0812BEE0 + .incbin "baserom.gba", 0x12BEE0, 0x0000014 + +gUnk_0812BEF4:: @ 0812BEF4 + .incbin "baserom.gba", 0x12BEF4, 0x0000014 + +gUnk_0812BF08:: @ 0812BF08 + .incbin "baserom.gba", 0x12BF08, 0x0000014 + +gUnk_0812BF1C:: @ 0812BF1C + .incbin "baserom.gba", 0x12BF1C, 0x0000014 + +gUnk_0812BF30:: @ 0812BF30 + .incbin "baserom.gba", 0x12BF30, 0x0000014 + +gUnk_0812BF44:: @ 0812BF44 + .incbin "baserom.gba", 0x12BF44, 0x0000010 + +gUnk_0812BF54:: @ 0812BF54 + .incbin "baserom.gba", 0x12BF54, 0x0000010 + +gUnk_0812BF64:: @ 0812BF64 + .incbin "baserom.gba", 0x12BF64, 0x0000010 + +gUnk_0812BF74:: @ 0812BF74 + .incbin "baserom.gba", 0x12BF74, 0x0000014 + +gUnk_0812BF88:: @ 0812BF88 + .incbin "baserom.gba", 0x12BF88, 0x0000014 + +gUnk_0812BF9C:: @ 0812BF9C + .incbin "baserom.gba", 0x12BF9C, 0x0000014 + +gUnk_0812BFB0:: @ 0812BFB0 + .incbin "baserom.gba", 0x12BFB0, 0x0000014 + +gUnk_0812BFC4:: @ 0812BFC4 + .incbin "baserom.gba", 0x12BFC4, 0x0000014 + +gUnk_0812BFD8:: @ 0812BFD8 + .incbin "baserom.gba", 0x12BFD8, 0x0000014 + +gUnk_0812BFEC:: @ 0812BFEC + .incbin "baserom.gba", 0x12BFEC, 0x0000014 + +gUnk_0812C000:: @ 0812C000 + .incbin "baserom.gba", 0x12C000, 0x0000014 + +gUnk_0812C014:: @ 0812C014 + .incbin "baserom.gba", 0x12C014, 0x0000014 + +gUnk_0812C028:: @ 0812C028 + .incbin "baserom.gba", 0x12C028, 0x0000014 + +gUnk_0812C03C:: @ 0812C03C + .incbin "baserom.gba", 0x12C03C, 0x0000014 + +gUnk_0812C050:: @ 0812C050 + .incbin "baserom.gba", 0x12C050, 0x0000014 + +gUnk_0812C064:: @ 0812C064 + .incbin "baserom.gba", 0x12C064, 0x0000014 + +gUnk_0812C078:: @ 0812C078 + .incbin "baserom.gba", 0x12C078, 0x0000010 + +gUnk_0812C088:: @ 0812C088 + .incbin "baserom.gba", 0x12C088, 0x000000C + +gUnk_0812C094:: @ 0812C094 + .incbin "baserom.gba", 0x12C094, 0x0000010 + +gUnk_0812C0A4:: @ 0812C0A4 + .incbin "baserom.gba", 0x12C0A4, 0x0000010 + +gUnk_0812C0B4:: @ 0812C0B4 + .incbin "baserom.gba", 0x12C0B4, 0x0000010 + +gUnk_0812C0C4:: @ 0812C0C4 + .incbin "baserom.gba", 0x12C0C4, 0x0000010 + +gUnk_0812C0D4:: @ 0812C0D4 + .incbin "baserom.gba", 0x12C0D4, 0x0000010 + +gUnk_0812C0E4:: @ 0812C0E4 + .incbin "baserom.gba", 0x12C0E4, 0x0000010 + +gUnk_0812C0F4:: @ 0812C0F4 + .incbin "baserom.gba", 0x12C0F4, 0x0000014 + +gUnk_0812C108:: @ 0812C108 + .incbin "baserom.gba", 0x12C108, 0x0000014 + +gUnk_0812C11C:: @ 0812C11C + .incbin "baserom.gba", 0x12C11C, 0x0000014 + +gUnk_0812C130:: @ 0812C130 + .incbin "baserom.gba", 0x12C130, 0x000000C + +gUnk_0812C13C:: @ 0812C13C + .incbin "baserom.gba", 0x12C13C, 0x000000C + +gUnk_0812C148:: @ 0812C148 + .incbin "baserom.gba", 0x12C148, 0x000000C + +gUnk_0812C154:: @ 0812C154 + .incbin "baserom.gba", 0x12C154, 0x000000C + +gUnk_0812C160:: @ 0812C160 + .incbin "baserom.gba", 0x12C160, 0x000000C + +gUnk_0812C16C:: @ 0812C16C + .incbin "baserom.gba", 0x12C16C, 0x0000010 + +gUnk_0812C17C:: @ 0812C17C + .incbin "baserom.gba", 0x12C17C, 0x0000010 + +gUnk_0812C18C:: @ 0812C18C + .incbin "baserom.gba", 0x12C18C, 0x000000C + +gUnk_0812C198:: @ 0812C198 + .incbin "baserom.gba", 0x12C198, 0x0000010 + +gUnk_0812C1A8:: @ 0812C1A8 + .incbin "baserom.gba", 0x12C1A8, 0x0000010 + +gUnk_0812C1B8:: @ 0812C1B8 + .incbin "baserom.gba", 0x12C1B8, 0x0000010 + +gUnk_0812C1C8:: @ 0812C1C8 + .incbin "baserom.gba", 0x12C1C8, 0x0000010 + +gUnk_0812C1D8:: @ 0812C1D8 + .incbin "baserom.gba", 0x12C1D8, 0x0000010 + +gUnk_0812C1E8:: @ 0812C1E8 + .incbin "baserom.gba", 0x12C1E8, 0x000000C + +gUnk_0812C1F4:: @ 0812C1F4 + .incbin "baserom.gba", 0x12C1F4, 0x000000C + +gUnk_0812C200:: @ 0812C200 + .incbin "baserom.gba", 0x12C200, 0x000000C + +gUnk_0812C20C:: @ 0812C20C + .incbin "baserom.gba", 0x12C20C, 0x000000C + +gUnk_0812C218:: @ 0812C218 + .incbin "baserom.gba", 0x12C218, 0x0000010 + +gUnk_0812C228:: @ 0812C228 + .incbin "baserom.gba", 0x12C228, 0x000000C + +gUnk_0812C234:: @ 0812C234 + .incbin "baserom.gba", 0x12C234, 0x000000C + +gUnk_0812C240:: @ 0812C240 + .incbin "baserom.gba", 0x12C240, 0x0000014 + +gUnk_0812C254:: @ 0812C254 + .incbin "baserom.gba", 0x12C254, 0x000000C + +gUnk_0812C260:: @ 0812C260 + .incbin "baserom.gba", 0x12C260, 0x000000C + +gUnk_0812C26C:: @ 0812C26C + .incbin "baserom.gba", 0x12C26C, 0x0000010 + +gUnk_0812C27C:: @ 0812C27C + .incbin "baserom.gba", 0x12C27C, 0x0000010 + +gUnk_0812C28C:: @ 0812C28C + .incbin "baserom.gba", 0x12C28C, 0x000000C + +gUnk_0812C298:: @ 0812C298 + .incbin "baserom.gba", 0x12C298, 0x0000004 + +gUnk_0812C29C:: @ 0812C29C + .incbin "baserom.gba", 0x12C29C, 0x0000010 + +gUnk_0812C2AC:: @ 0812C2AC + .incbin "baserom.gba", 0x12C2AC, 0x0000010 + +gUnk_0812C2BC:: @ 0812C2BC + .incbin "baserom.gba", 0x12C2BC, 0x0000010 + +gUnk_0812C2CC:: @ 0812C2CC + .incbin "baserom.gba", 0x12C2CC, 0x000000C + +gUnk_0812C2D8:: @ 0812C2D8 + .incbin "baserom.gba", 0x12C2D8, 0x000000C + +gUnk_0812C2E4:: @ 0812C2E4 + .incbin "baserom.gba", 0x12C2E4, 0x000000C + +gUnk_0812C2F0:: @ 0812C2F0 + .incbin "baserom.gba", 0x12C2F0, 0x000000C + +gUnk_0812C2FC:: @ 0812C2FC + .incbin "baserom.gba", 0x12C2FC, 0x000000C + +gUnk_0812C308:: @ 0812C308 + .incbin "baserom.gba", 0x12C308, 0x000000C + +gUnk_0812C314:: @ 0812C314 + .incbin "baserom.gba", 0x12C314, 0x0000010 + +gUnk_0812C324:: @ 0812C324 + .incbin "baserom.gba", 0x12C324, 0x0000010 + +gUnk_0812C334:: @ 0812C334 + .incbin "baserom.gba", 0x12C334, 0x0000010 + +gUnk_0812C344:: @ 0812C344 + .incbin "baserom.gba", 0x12C344, 0x0000010 + +gUnk_0812C354:: @ 0812C354 + .incbin "baserom.gba", 0x12C354, 0x0000010 + +gUnk_0812C364:: @ 0812C364 + .incbin "baserom.gba", 0x12C364, 0x000000C + +gUnk_0812C370:: @ 0812C370 + .incbin "baserom.gba", 0x12C370, 0x000000C + +gUnk_0812C37C:: @ 0812C37C + .incbin "baserom.gba", 0x12C37C, 0x000000C + +gUnk_0812C388:: @ 0812C388 + .incbin "baserom.gba", 0x12C388, 0x000000C + +gUnk_0812C394:: @ 0812C394 + .incbin "baserom.gba", 0x12C394, 0x000000C + +gUnk_0812C3A0:: @ 0812C3A0 + .incbin "baserom.gba", 0x12C3A0, 0x000000C + +gUnk_0812C3AC:: @ 0812C3AC + .incbin "baserom.gba", 0x12C3AC, 0x0000010 + +gUnk_0812C3BC:: @ 0812C3BC + .incbin "baserom.gba", 0x12C3BC, 0x0000010 + +gUnk_0812C3CC:: @ 0812C3CC + .incbin "baserom.gba", 0x12C3CC, 0x0000010 + +gUnk_0812C3DC:: @ 0812C3DC + .incbin "baserom.gba", 0x12C3DC, 0x0000010 + +gUnk_0812C3EC:: @ 0812C3EC + .incbin "baserom.gba", 0x12C3EC, 0x0000010 + +gUnk_0812C3FC:: @ 0812C3FC + .incbin "baserom.gba", 0x12C3FC, 0x0000014 + +gUnk_0812C410:: @ 0812C410 + .incbin "baserom.gba", 0x12C410, 0x0000010 + +gUnk_0812C420:: @ 0812C420 + .incbin "baserom.gba", 0x12C420, 0x0000014 + +gUnk_0812C434:: @ 0812C434 + .incbin "baserom.gba", 0x12C434, 0x0000010 + +gUnk_0812C444:: @ 0812C444 + .incbin "baserom.gba", 0x12C444, 0x0000010 + +gUnk_0812C454:: @ 0812C454 + .incbin "baserom.gba", 0x12C454, 0x0000010 + +gUnk_0812C464:: @ 0812C464 + .incbin "baserom.gba", 0x12C464, 0x0000010 + +gUnk_0812C474:: @ 0812C474 + .incbin "baserom.gba", 0x12C474, 0x0000010 + +gUnk_0812C484:: @ 0812C484 + .incbin "baserom.gba", 0x12C484, 0x0000010 + +gUnk_0812C494:: @ 0812C494 + .incbin "baserom.gba", 0x12C494, 0x0000010 + +gUnk_0812C4A4:: @ 0812C4A4 + .incbin "baserom.gba", 0x12C4A4, 0x0000010 + +gUnk_0812C4B4:: @ 0812C4B4 + .incbin "baserom.gba", 0x12C4B4, 0x0000014 + +gUnk_0812C4C8:: @ 0812C4C8 + .incbin "baserom.gba", 0x12C4C8, 0x0000014 + +gUnk_0812C4DC:: @ 0812C4DC + .incbin "baserom.gba", 0x12C4DC, 0x0000010 + +gUnk_0812C4EC:: @ 0812C4EC + .incbin "baserom.gba", 0x12C4EC, 0x0000010 + +gUnk_0812C4FC:: @ 0812C4FC + .incbin "baserom.gba", 0x12C4FC, 0x0000010 + +gUnk_0812C50C:: @ 0812C50C + .incbin "baserom.gba", 0x12C50C, 0x0000010 + +gUnk_0812C51C:: @ 0812C51C + .incbin "baserom.gba", 0x12C51C, 0x0000010 + +gUnk_0812C52C:: @ 0812C52C + .incbin "baserom.gba", 0x12C52C, 0x0000010 + +gUnk_0812C53C:: @ 0812C53C + .incbin "baserom.gba", 0x12C53C, 0x0000010 + +gUnk_0812C54C:: @ 0812C54C + .incbin "baserom.gba", 0x12C54C, 0x0000014 + +gUnk_0812C560:: @ 0812C560 + .incbin "baserom.gba", 0x12C560, 0x0000010 + +gUnk_0812C570:: @ 0812C570 + .incbin "baserom.gba", 0x12C570, 0x0000010 + +gUnk_0812C580:: @ 0812C580 + .incbin "baserom.gba", 0x12C580, 0x0000010 + +gUnk_0812C590:: @ 0812C590 + .incbin "baserom.gba", 0x12C590, 0x0000010 + +gUnk_0812C5A0:: @ 0812C5A0 + .incbin "baserom.gba", 0x12C5A0, 0x0000010 + +gUnk_0812C5B0:: @ 0812C5B0 + .incbin "baserom.gba", 0x12C5B0, 0x0000010 + +gUnk_0812C5C0:: @ 0812C5C0 + .incbin "baserom.gba", 0x12C5C0, 0x0000010 + +gUnk_0812C5D0:: @ 0812C5D0 + .incbin "baserom.gba", 0x12C5D0, 0x0000010 + +gUnk_0812C5E0:: @ 0812C5E0 + .incbin "baserom.gba", 0x12C5E0, 0x0000010 + +gUnk_0812C5F0:: @ 0812C5F0 + .incbin "baserom.gba", 0x12C5F0, 0x00000C8 + +gUnk_0812C6B8:: @ 0812C6B8 + .incbin "baserom.gba", 0x12C6B8, 0x000029C + +gUnk_0812C954:: @ 0812C954 + .incbin "baserom.gba", 0x12C954, 0x0000008 + +gUnk_0812C95C:: @ 0812C95C + .incbin "baserom.gba", 0x12C95C, 0x0000008 + +gUnk_0812C964:: @ 0812C964 + .incbin "baserom.gba", 0x12C964, 0x0000008 + +gUnk_0812C96C:: @ 0812C96C + .incbin "baserom.gba", 0x12C96C, 0x0000008 + +gUnk_0812C974:: @ 0812C974 + .incbin "baserom.gba", 0x12C974, 0x0000008 + +gUnk_0812C97C:: @ 0812C97C + .incbin "baserom.gba", 0x12C97C, 0x0000010 + +gUnk_0812C98C:: @ 0812C98C + .incbin "baserom.gba", 0x12C98C, 0x0000010 + +gUnk_0812C99C:: @ 0812C99C + .incbin "baserom.gba", 0x12C99C, 0x0000010 + +gUnk_0812C9AC:: @ 0812C9AC + .incbin "baserom.gba", 0x12C9AC, 0x0000010 + +gUnk_0812C9BC:: @ 0812C9BC + .incbin "baserom.gba", 0x12C9BC, 0x0000010 + +gUnk_0812C9CC:: @ 0812C9CC + .incbin "baserom.gba", 0x12C9CC, 0x0000010 + +gUnk_0812C9DC:: @ 0812C9DC + .incbin "baserom.gba", 0x12C9DC, 0x0000010 + +gUnk_0812C9EC:: @ 0812C9EC + .incbin "baserom.gba", 0x12C9EC, 0x0000010 + +gUnk_0812C9FC:: @ 0812C9FC + .incbin "baserom.gba", 0x12C9FC, 0x0000010 + +gUnk_0812CA0C:: @ 0812CA0C + .incbin "baserom.gba", 0x12CA0C, 0x0000010 + +gUnk_0812CA1C:: @ 0812CA1C + .incbin "baserom.gba", 0x12CA1C, 0x0000010 + +gUnk_0812CA2C:: @ 0812CA2C + .incbin "baserom.gba", 0x12CA2C, 0x0000010 + +gUnk_0812CA3C:: @ 0812CA3C + .incbin "baserom.gba", 0x12CA3C, 0x0000014 + +gUnk_0812CA50:: @ 0812CA50 + .incbin "baserom.gba", 0x12CA50, 0x0000014 + +gUnk_0812CA64:: @ 0812CA64 + .incbin "baserom.gba", 0x12CA64, 0x0000014 + +gUnk_0812CA78:: @ 0812CA78 + .incbin "baserom.gba", 0x12CA78, 0x0000014 + +gUnk_0812CA8C:: @ 0812CA8C + .incbin "baserom.gba", 0x12CA8C, 0x0000014 + +gUnk_0812CAA0:: @ 0812CAA0 + .incbin "baserom.gba", 0x12CAA0, 0x0000014 + +gUnk_0812CAB4:: @ 0812CAB4 + .incbin "baserom.gba", 0x12CAB4, 0x0000014 + +gUnk_0812CAC8:: @ 0812CAC8 + .incbin "baserom.gba", 0x12CAC8, 0x0000014 + +gUnk_0812CADC:: @ 0812CADC + .incbin "baserom.gba", 0x12CADC, 0x0000014 + +gUnk_0812CAF0:: @ 0812CAF0 + .incbin "baserom.gba", 0x12CAF0, 0x0000014 + +gUnk_0812CB04:: @ 0812CB04 + .incbin "baserom.gba", 0x12CB04, 0x0000018 + +gUnk_0812CB1C:: @ 0812CB1C + .incbin "baserom.gba", 0x12CB1C, 0x0000014 + +gUnk_0812CB30:: @ 0812CB30 + .incbin "baserom.gba", 0x12CB30, 0x0000014 + +gUnk_0812CB44:: @ 0812CB44 + .incbin "baserom.gba", 0x12CB44, 0x0000014 + +gUnk_0812CB58:: @ 0812CB58 + .incbin "baserom.gba", 0x12CB58, 0x0000014 + +gUnk_0812CB6C:: @ 0812CB6C + .incbin "baserom.gba", 0x12CB6C, 0x0000014 + +gUnk_0812CB80:: @ 0812CB80 + .incbin "baserom.gba", 0x12CB80, 0x0000010 + +gUnk_0812CB90:: @ 0812CB90 + .incbin "baserom.gba", 0x12CB90, 0x0000010 + +gUnk_0812CBA0:: @ 0812CBA0 + .incbin "baserom.gba", 0x12CBA0, 0x0000014 + +gUnk_0812CBB4:: @ 0812CBB4 + .incbin "baserom.gba", 0x12CBB4, 0x000000C + +gUnk_0812CBC0:: @ 0812CBC0 + .incbin "baserom.gba", 0x12CBC0, 0x0000014 + +gUnk_0812CBD4:: @ 0812CBD4 + .incbin "baserom.gba", 0x12CBD4, 0x000000C + +gUnk_0812CBE0:: @ 0812CBE0 + .incbin "baserom.gba", 0x12CBE0, 0x0000010 + +gUnk_0812CBF0:: @ 0812CBF0 + .incbin "baserom.gba", 0x12CBF0, 0x0000010 + +gUnk_0812CC00:: @ 0812CC00 + .incbin "baserom.gba", 0x12CC00, 0x0000010 + +gUnk_0812CC10:: @ 0812CC10 + .incbin "baserom.gba", 0x12CC10, 0x0000010 + +gUnk_0812CC20:: @ 0812CC20 + .incbin "baserom.gba", 0x12CC20, 0x0000010 + +gUnk_0812CC30:: @ 0812CC30 + .incbin "baserom.gba", 0x12CC30, 0x0000010 + +gUnk_0812CC40:: @ 0812CC40 + .incbin "baserom.gba", 0x12CC40, 0x0000014 + +gUnk_0812CC54:: @ 0812CC54 + .incbin "baserom.gba", 0x12CC54, 0x0000010 + +gUnk_0812CC64:: @ 0812CC64 + .incbin "baserom.gba", 0x12CC64, 0x0000010 + +gUnk_0812CC74:: @ 0812CC74 + .incbin "baserom.gba", 0x12CC74, 0x0000010 + +gUnk_0812CC84:: @ 0812CC84 + .incbin "baserom.gba", 0x12CC84, 0x0000010 + +gUnk_0812CC94:: @ 0812CC94 + .incbin "baserom.gba", 0x12CC94, 0x0000010 + +gUnk_0812CCA4:: @ 0812CCA4 + .incbin "baserom.gba", 0x12CCA4, 0x0000010 + +gUnk_0812CCB4:: @ 0812CCB4 + .incbin "baserom.gba", 0x12CCB4, 0x0000010 + +gUnk_0812CCC4:: @ 0812CCC4 + .incbin "baserom.gba", 0x12CCC4, 0x0000010 + +gUnk_0812CCD4:: @ 0812CCD4 + .incbin "baserom.gba", 0x12CCD4, 0x0000014 + +gUnk_0812CCE8:: @ 0812CCE8 + .incbin "baserom.gba", 0x12CCE8, 0x0000014 + +gUnk_0812CCFC:: @ 0812CCFC + .incbin "baserom.gba", 0x12CCFC, 0x000000C + +gUnk_0812CD08:: @ 0812CD08 + .incbin "baserom.gba", 0x12CD08, 0x000000C + +gUnk_0812CD14:: @ 0812CD14 + .incbin "baserom.gba", 0x12CD14, 0x000000C + +gUnk_0812CD20:: @ 0812CD20 + .incbin "baserom.gba", 0x12CD20, 0x000000C + +gUnk_0812CD2C:: @ 0812CD2C + .incbin "baserom.gba", 0x12CD2C, 0x000000C + +gUnk_0812CD38:: @ 0812CD38 + .incbin "baserom.gba", 0x12CD38, 0x0000014 + +gUnk_0812CD4C:: @ 0812CD4C + .incbin "baserom.gba", 0x12CD4C, 0x0000014 + +gUnk_0812CD60:: @ 0812CD60 + .incbin "baserom.gba", 0x12CD60, 0x0000010 + +gUnk_0812CD70:: @ 0812CD70 + .incbin "baserom.gba", 0x12CD70, 0x0000010 + +gUnk_0812CD80:: @ 0812CD80 + .incbin "baserom.gba", 0x12CD80, 0x0000014 + +gUnk_0812CD94:: @ 0812CD94 + .incbin "baserom.gba", 0x12CD94, 0x0000010 + +gUnk_0812CDA4:: @ 0812CDA4 + .incbin "baserom.gba", 0x12CDA4, 0x0000014 + +gUnk_0812CDB8:: @ 0812CDB8 + .incbin "baserom.gba", 0x12CDB8, 0x0000010 + +gUnk_0812CDC8:: @ 0812CDC8 + .incbin "baserom.gba", 0x12CDC8, 0x0000014 + +gUnk_0812CDDC:: @ 0812CDDC + .incbin "baserom.gba", 0x12CDDC, 0x0000010 + +gUnk_0812CDEC:: @ 0812CDEC + .incbin "baserom.gba", 0x12CDEC, 0x0000018 + +gUnk_0812CE04:: @ 0812CE04 + .incbin "baserom.gba", 0x12CE04, 0x0000018 + +gUnk_0812CE1C:: @ 0812CE1C + .incbin "baserom.gba", 0x12CE1C, 0x0000010 + +gUnk_0812CE2C:: @ 0812CE2C + .incbin "baserom.gba", 0x12CE2C, 0x0000010 + +gUnk_0812CE3C:: @ 0812CE3C + .incbin "baserom.gba", 0x12CE3C, 0x0000010 + +gUnk_0812CE4C:: @ 0812CE4C + .incbin "baserom.gba", 0x12CE4C, 0x0000010 + +gUnk_0812CE5C:: @ 0812CE5C + .incbin "baserom.gba", 0x12CE5C, 0x0000010 + +gUnk_0812CE6C:: @ 0812CE6C + .incbin "baserom.gba", 0x12CE6C, 0x0000010 + +gUnk_0812CE7C:: @ 0812CE7C + .incbin "baserom.gba", 0x12CE7C, 0x0000010 + +gUnk_0812CE8C:: @ 0812CE8C + .incbin "baserom.gba", 0x12CE8C, 0x0000010 + +gUnk_0812CE9C:: @ 0812CE9C + .incbin "baserom.gba", 0x12CE9C, 0x0000010 + +gUnk_0812CEAC:: @ 0812CEAC + .incbin "baserom.gba", 0x12CEAC, 0x0000010 + +gUnk_0812CEBC:: @ 0812CEBC + .incbin "baserom.gba", 0x12CEBC, 0x0000010 + +gUnk_0812CECC:: @ 0812CECC + .incbin "baserom.gba", 0x12CECC, 0x0000010 + +gUnk_0812CEDC:: @ 0812CEDC + .incbin "baserom.gba", 0x12CEDC, 0x0000010 + +gUnk_0812CEEC:: @ 0812CEEC + .incbin "baserom.gba", 0x12CEEC, 0x000000C + +gUnk_0812CEF8:: @ 0812CEF8 + .incbin "baserom.gba", 0x12CEF8, 0x000000C + +gUnk_0812CF04:: @ 0812CF04 + .incbin "baserom.gba", 0x12CF04, 0x000000C + +gUnk_0812CF10:: @ 0812CF10 + .incbin "baserom.gba", 0x12CF10, 0x000000C + +gUnk_0812CF1C:: @ 0812CF1C + .incbin "baserom.gba", 0x12CF1C, 0x000000C + +gUnk_0812CF28:: @ 0812CF28 + .incbin "baserom.gba", 0x12CF28, 0x000000C + +gUnk_0812CF34:: @ 0812CF34 + .incbin "baserom.gba", 0x12CF34, 0x000000C + +gUnk_0812CF40:: @ 0812CF40 + .incbin "baserom.gba", 0x12CF40, 0x000000C + +gUnk_0812CF4C:: @ 0812CF4C + .incbin "baserom.gba", 0x12CF4C, 0x0000018 + +gUnk_0812CF64:: @ 0812CF64 + .incbin "baserom.gba", 0x12CF64, 0x0000010 + +gUnk_0812CF74:: @ 0812CF74 + .incbin "baserom.gba", 0x12CF74, 0x0000018 + +gUnk_0812CF8C:: @ 0812CF8C + .incbin "baserom.gba", 0x12CF8C, 0x0000014 + +gUnk_0812CFA0:: @ 0812CFA0 + .incbin "baserom.gba", 0x12CFA0, 0x0000018 + +gUnk_0812CFB8:: @ 0812CFB8 + .incbin "baserom.gba", 0x12CFB8, 0x0000010 + +gUnk_0812CFC8:: @ 0812CFC8 + .incbin "baserom.gba", 0x12CFC8, 0x0000014 + +gUnk_0812CFDC:: @ 0812CFDC + .incbin "baserom.gba", 0x12CFDC, 0x0000014 + +gUnk_0812CFF0:: @ 0812CFF0 + .incbin "baserom.gba", 0x12CFF0, 0x0000010 + +gUnk_0812D000:: @ 0812D000 + .incbin "baserom.gba", 0x12D000, 0x0000014 + +gUnk_0812D014:: @ 0812D014 + .incbin "baserom.gba", 0x12D014, 0x0000010 + +gUnk_0812D024:: @ 0812D024 + .incbin "baserom.gba", 0x12D024, 0x0000010 + +gUnk_0812D034:: @ 0812D034 + .incbin "baserom.gba", 0x12D034, 0x0000010 + +gUnk_0812D044:: @ 0812D044 + .incbin "baserom.gba", 0x12D044, 0x0000014 + +gUnk_0812D058:: @ 0812D058 + .incbin "baserom.gba", 0x12D058, 0x0000018 + +gUnk_0812D070:: @ 0812D070 + .incbin "baserom.gba", 0x12D070, 0x0000014 + +gUnk_0812D084:: @ 0812D084 + .incbin "baserom.gba", 0x12D084, 0x0000014 + +gUnk_0812D098:: @ 0812D098 + .incbin "baserom.gba", 0x12D098, 0x0000010 + +gUnk_0812D0A8:: @ 0812D0A8 + .incbin "baserom.gba", 0x12D0A8, 0x0000014 + +gUnk_0812D0BC:: @ 0812D0BC + .incbin "baserom.gba", 0x12D0BC, 0x0000010 + +gUnk_0812D0CC:: @ 0812D0CC + .incbin "baserom.gba", 0x12D0CC, 0x0000014 + +gUnk_0812D0E0:: @ 0812D0E0 + .incbin "baserom.gba", 0x12D0E0, 0x0000010 + +gUnk_0812D0F0:: @ 0812D0F0 + .incbin "baserom.gba", 0x12D0F0, 0x0000010 + +gUnk_0812D100:: @ 0812D100 + .incbin "baserom.gba", 0x12D100, 0x000000C + +gUnk_0812D10C:: @ 0812D10C + .incbin "baserom.gba", 0x12D10C, 0x0000010 + +gUnk_0812D11C:: @ 0812D11C + .incbin "baserom.gba", 0x12D11C, 0x0000010 + +gUnk_0812D12C:: @ 0812D12C + .incbin "baserom.gba", 0x12D12C, 0x0000010 + +gUnk_0812D13C:: @ 0812D13C + .incbin "baserom.gba", 0x12D13C, 0x000000C + +gUnk_0812D148:: @ 0812D148 + .incbin "baserom.gba", 0x12D148, 0x000000C + +gUnk_0812D154:: @ 0812D154 + .incbin "baserom.gba", 0x12D154, 0x0000010 + +gUnk_0812D164:: @ 0812D164 + .incbin "baserom.gba", 0x12D164, 0x0000010 + +gUnk_0812D174:: @ 0812D174 + .incbin "baserom.gba", 0x12D174, 0x0000010 + +gUnk_0812D184:: @ 0812D184 + .incbin "baserom.gba", 0x12D184, 0x0000010 + +gUnk_0812D194:: @ 0812D194 + .incbin "baserom.gba", 0x12D194, 0x0000010 + +gUnk_0812D1A4:: @ 0812D1A4 + .incbin "baserom.gba", 0x12D1A4, 0x0000010 + +gUnk_0812D1B4:: @ 0812D1B4 + .incbin "baserom.gba", 0x12D1B4, 0x0000010 + +gUnk_0812D1C4:: @ 0812D1C4 + .incbin "baserom.gba", 0x12D1C4, 0x0000010 + +gUnk_0812D1D4:: @ 0812D1D4 + .incbin "baserom.gba", 0x12D1D4, 0x0000010 + +gUnk_0812D1E4:: @ 0812D1E4 + .incbin "baserom.gba", 0x12D1E4, 0x0000010 + +gUnk_0812D1F4:: @ 0812D1F4 + .incbin "baserom.gba", 0x12D1F4, 0x0000010 + +gUnk_0812D204:: @ 0812D204 + .incbin "baserom.gba", 0x12D204, 0x0000010 + +gUnk_0812D214:: @ 0812D214 + .incbin "baserom.gba", 0x12D214, 0x0000010 + +gUnk_0812D224:: @ 0812D224 + .incbin "baserom.gba", 0x12D224, 0x0000010 + +gUnk_0812D234:: @ 0812D234 + .incbin "baserom.gba", 0x12D234, 0x0000010 + +gUnk_0812D244:: @ 0812D244 + .incbin "baserom.gba", 0x12D244, 0x0000010 + +gUnk_0812D254:: @ 0812D254 + .incbin "baserom.gba", 0x12D254, 0x0000010 + +gUnk_0812D264:: @ 0812D264 + .incbin "baserom.gba", 0x12D264, 0x0000010 + +gUnk_0812D274:: @ 0812D274 + .incbin "baserom.gba", 0x12D274, 0x0000010 + +gUnk_0812D284:: @ 0812D284 + .incbin "baserom.gba", 0x12D284, 0x000000C + +gUnk_0812D290:: @ 0812D290 + .incbin "baserom.gba", 0x12D290, 0x000000C + +gUnk_0812D29C:: @ 0812D29C + .incbin "baserom.gba", 0x12D29C, 0x000000C + +gUnk_0812D2A8:: @ 0812D2A8 + .incbin "baserom.gba", 0x12D2A8, 0x000000C + +gUnk_0812D2B4:: @ 0812D2B4 + .incbin "baserom.gba", 0x12D2B4, 0x000000C + +gUnk_0812D2C0:: @ 0812D2C0 + .incbin "baserom.gba", 0x12D2C0, 0x000000C + +gUnk_0812D2CC:: @ 0812D2CC + .incbin "baserom.gba", 0x12D2CC, 0x000000C + +gUnk_0812D2D8:: @ 0812D2D8 + .incbin "baserom.gba", 0x12D2D8, 0x000000C + +gUnk_0812D2E4:: @ 0812D2E4 + .incbin "baserom.gba", 0x12D2E4, 0x000000C + +gUnk_0812D2F0:: @ 0812D2F0 + .incbin "baserom.gba", 0x12D2F0, 0x000000C + +gUnk_0812D2FC:: @ 0812D2FC + .incbin "baserom.gba", 0x12D2FC, 0x000000C + +gUnk_0812D308:: @ 0812D308 + .incbin "baserom.gba", 0x12D308, 0x000000C + +gUnk_0812D314:: @ 0812D314 + .incbin "baserom.gba", 0x12D314, 0x000000C + +gUnk_0812D320:: @ 0812D320 + .incbin "baserom.gba", 0x12D320, 0x000000C + +gUnk_0812D32C:: @ 0812D32C + .incbin "baserom.gba", 0x12D32C, 0x000000C + +gUnk_0812D338:: @ 0812D338 + .incbin "baserom.gba", 0x12D338, 0x000000C + +gUnk_0812D344:: @ 0812D344 + .incbin "baserom.gba", 0x12D344, 0x000000C + +gUnk_0812D350:: @ 0812D350 + .incbin "baserom.gba", 0x12D350, 0x000000C + +gUnk_0812D35C:: @ 0812D35C + .incbin "baserom.gba", 0x12D35C, 0x000000C + +gUnk_0812D368:: @ 0812D368 + .incbin "baserom.gba", 0x12D368, 0x000000C + +gUnk_0812D374:: @ 0812D374 + .incbin "baserom.gba", 0x12D374, 0x000000C + +gUnk_0812D380:: @ 0812D380 + .incbin "baserom.gba", 0x12D380, 0x000000C + +gUnk_0812D38C:: @ 0812D38C + .incbin "baserom.gba", 0x12D38C, 0x000000C + +gUnk_0812D398:: @ 0812D398 + .incbin "baserom.gba", 0x12D398, 0x000000C + +gUnk_0812D3A4:: @ 0812D3A4 + .incbin "baserom.gba", 0x12D3A4, 0x000000C + +gUnk_0812D3B0:: @ 0812D3B0 + .incbin "baserom.gba", 0x12D3B0, 0x000000C + +gUnk_0812D3BC:: @ 0812D3BC + .incbin "baserom.gba", 0x12D3BC, 0x000000C + +gUnk_0812D3C8:: @ 0812D3C8 + .incbin "baserom.gba", 0x12D3C8, 0x0000014 + +gUnk_0812D3DC:: @ 0812D3DC + .incbin "baserom.gba", 0x12D3DC, 0x0000014 + +gUnk_0812D3F0:: @ 0812D3F0 + .incbin "baserom.gba", 0x12D3F0, 0x0000018 + +gUnk_0812D408:: @ 0812D408 + .incbin "baserom.gba", 0x12D408, 0x0000014 + +gUnk_0812D41C:: @ 0812D41C + .incbin "baserom.gba", 0x12D41C, 0x0000010 + +gUnk_0812D42C:: @ 0812D42C + .incbin "baserom.gba", 0x12D42C, 0x0000010 + +gUnk_0812D43C:: @ 0812D43C + .incbin "baserom.gba", 0x12D43C, 0x0000010 + +gUnk_0812D44C:: @ 0812D44C + .incbin "baserom.gba", 0x12D44C, 0x0000010 + +gUnk_0812D45C:: @ 0812D45C + .incbin "baserom.gba", 0x12D45C, 0x0000010 + +gUnk_0812D46C:: @ 0812D46C + .incbin "baserom.gba", 0x12D46C, 0x0000010 + +gUnk_0812D47C:: @ 0812D47C + .incbin "baserom.gba", 0x12D47C, 0x0000010 + +gUnk_0812D48C:: @ 0812D48C + .incbin "baserom.gba", 0x12D48C, 0x0000010 + +gUnk_0812D49C:: @ 0812D49C + .incbin "baserom.gba", 0x12D49C, 0x0000014 + +gUnk_0812D4B0:: @ 0812D4B0 + .incbin "baserom.gba", 0x12D4B0, 0x0000014 + +gUnk_0812D4C4:: @ 0812D4C4 + .incbin "baserom.gba", 0x12D4C4, 0x0000014 + +gUnk_0812D4D8:: @ 0812D4D8 + .incbin "baserom.gba", 0x12D4D8, 0x0000014 + +gUnk_0812D4EC:: @ 0812D4EC + .incbin "baserom.gba", 0x12D4EC, 0x0000014 + +gUnk_0812D500:: @ 0812D500 + .incbin "baserom.gba", 0x12D500, 0x000000C + +gUnk_0812D50C:: @ 0812D50C + .incbin "baserom.gba", 0x12D50C, 0x000000C + +gUnk_0812D518:: @ 0812D518 + .incbin "baserom.gba", 0x12D518, 0x000000C + +gUnk_0812D524:: @ 0812D524 + .incbin "baserom.gba", 0x12D524, 0x000000C + +gUnk_0812D530:: @ 0812D530 + .incbin "baserom.gba", 0x12D530, 0x0000010 + +gUnk_0812D540:: @ 0812D540 + .incbin "baserom.gba", 0x12D540, 0x0000010 + +gUnk_0812D550:: @ 0812D550 + .incbin "baserom.gba", 0x12D550, 0x0000010 + +gUnk_0812D560:: @ 0812D560 + .incbin "baserom.gba", 0x12D560, 0x0000010 + +gUnk_0812D570:: @ 0812D570 + .incbin "baserom.gba", 0x12D570, 0x0000010 + +gUnk_0812D580:: @ 0812D580 + .incbin "baserom.gba", 0x12D580, 0x0000010 + +gUnk_0812D590:: @ 0812D590 + .incbin "baserom.gba", 0x12D590, 0x0000010 + +gUnk_0812D5A0:: @ 0812D5A0 + .incbin "baserom.gba", 0x12D5A0, 0x0000010 + +gUnk_0812D5B0:: @ 0812D5B0 + .incbin "baserom.gba", 0x12D5B0, 0x0000010 + +gUnk_0812D5C0:: @ 0812D5C0 + .incbin "baserom.gba", 0x12D5C0, 0x0000010 + +gUnk_0812D5D0:: @ 0812D5D0 + .incbin "baserom.gba", 0x12D5D0, 0x0000010 + +gUnk_0812D5E0:: @ 0812D5E0 + .incbin "baserom.gba", 0x12D5E0, 0x0000010 + +gUnk_0812D5F0:: @ 0812D5F0 + .incbin "baserom.gba", 0x12D5F0, 0x0000010 + +gUnk_0812D600:: @ 0812D600 + .incbin "baserom.gba", 0x12D600, 0x0000010 + +gUnk_0812D610:: @ 0812D610 + .incbin "baserom.gba", 0x12D610, 0x0000010 + +gUnk_0812D620:: @ 0812D620 + .incbin "baserom.gba", 0x12D620, 0x0000010 + +gUnk_0812D630:: @ 0812D630 + .incbin "baserom.gba", 0x12D630, 0x0000010 + +gUnk_0812D640:: @ 0812D640 + .incbin "baserom.gba", 0x12D640, 0x0000018 + +gUnk_0812D658:: @ 0812D658 + .incbin "baserom.gba", 0x12D658, 0x0000018 + +gUnk_0812D670:: @ 0812D670 + .incbin "baserom.gba", 0x12D670, 0x0000018 + +gUnk_0812D688:: @ 0812D688 + .incbin "baserom.gba", 0x12D688, 0x0000340 + +gUnk_0812D9C8:: @ 0812D9C8 + .incbin "baserom.gba", 0x12D9C8, 0x0000008 + +gUnk_0812D9D0:: @ 0812D9D0 + .incbin "baserom.gba", 0x12D9D0, 0x0000018 + +gUnk_0812D9E8:: @ 0812D9E8 + .incbin "baserom.gba", 0x12D9E8, 0x000000C + +gUnk_0812D9F4:: @ 0812D9F4 + .incbin "baserom.gba", 0x12D9F4, 0x0000010 + +gUnk_0812DA04:: @ 0812DA04 + .incbin "baserom.gba", 0x12DA04, 0x0000010 + +gUnk_0812DA14:: @ 0812DA14 + .incbin "baserom.gba", 0x12DA14, 0x0000014 + +gUnk_0812DA28:: @ 0812DA28 + .incbin "baserom.gba", 0x12DA28, 0x0000018 + +gUnk_0812DA40:: @ 0812DA40 + .incbin "baserom.gba", 0x12DA40, 0x0000014 + +gUnk_0812DA54:: @ 0812DA54 + .incbin "baserom.gba", 0x12DA54, 0x0000014 + +gUnk_0812DA68:: @ 0812DA68 + .incbin "baserom.gba", 0x12DA68, 0x0000018 + +gUnk_0812DA80:: @ 0812DA80 + .incbin "baserom.gba", 0x12DA80, 0x0000018 + +gUnk_0812DA98:: @ 0812DA98 + .incbin "baserom.gba", 0x12DA98, 0x000000C + +gUnk_0812DAA4:: @ 0812DAA4 + .incbin "baserom.gba", 0x12DAA4, 0x000000C + +gUnk_0812DAB0:: @ 0812DAB0 + .incbin "baserom.gba", 0x12DAB0, 0x0000010 + +gUnk_0812DAC0:: @ 0812DAC0 + .incbin "baserom.gba", 0x12DAC0, 0x0000014 + +gUnk_0812DAD4:: @ 0812DAD4 + .incbin "baserom.gba", 0x12DAD4, 0x0000010 + +gUnk_0812DAE4:: @ 0812DAE4 + .incbin "baserom.gba", 0x12DAE4, 0x0000010 + +gUnk_0812DAF4:: @ 0812DAF4 + .incbin "baserom.gba", 0x12DAF4, 0x0000010 + +gUnk_0812DB04:: @ 0812DB04 + .incbin "baserom.gba", 0x12DB04, 0x0000010 + +gUnk_0812DB14:: @ 0812DB14 + .incbin "baserom.gba", 0x12DB14, 0x0000010 + +gUnk_0812DB24:: @ 0812DB24 + .incbin "baserom.gba", 0x12DB24, 0x0000010 + +gUnk_0812DB34:: @ 0812DB34 + .incbin "baserom.gba", 0x12DB34, 0x0000010 + +gUnk_0812DB44:: @ 0812DB44 + .incbin "baserom.gba", 0x12DB44, 0x0000010 + +gUnk_0812DB54:: @ 0812DB54 + .incbin "baserom.gba", 0x12DB54, 0x0000010 + +gUnk_0812DB64:: @ 0812DB64 + .incbin "baserom.gba", 0x12DB64, 0x0000010 + +gUnk_0812DB74:: @ 0812DB74 + .incbin "baserom.gba", 0x12DB74, 0x0000010 + +gUnk_0812DB84:: @ 0812DB84 + .incbin "baserom.gba", 0x12DB84, 0x0000010 + +gUnk_0812DB94:: @ 0812DB94 + .incbin "baserom.gba", 0x12DB94, 0x0000014 + +gUnk_0812DBA8:: @ 0812DBA8 + .incbin "baserom.gba", 0x12DBA8, 0x0000010 + +gUnk_0812DBB8:: @ 0812DBB8 + .incbin "baserom.gba", 0x12DBB8, 0x0000010 + +gUnk_0812DBC8:: @ 0812DBC8 + .incbin "baserom.gba", 0x12DBC8, 0x0000010 + +gUnk_0812DBD8:: @ 0812DBD8 + .incbin "baserom.gba", 0x12DBD8, 0x0000010 + +gUnk_0812DBE8:: @ 0812DBE8 + .incbin "baserom.gba", 0x12DBE8, 0x0000010 + +gUnk_0812DBF8:: @ 0812DBF8 + .incbin "baserom.gba", 0x12DBF8, 0x0000010 + +gUnk_0812DC08:: @ 0812DC08 + .incbin "baserom.gba", 0x12DC08, 0x0000010 + +gUnk_0812DC18:: @ 0812DC18 + .incbin "baserom.gba", 0x12DC18, 0x000000C + +gUnk_0812DC24:: @ 0812DC24 + .incbin "baserom.gba", 0x12DC24, 0x000000C + +gUnk_0812DC30:: @ 0812DC30 + .incbin "baserom.gba", 0x12DC30, 0x000000C + +gUnk_0812DC3C:: @ 0812DC3C + .incbin "baserom.gba", 0x12DC3C, 0x000000C + +gUnk_0812DC48:: @ 0812DC48 + .incbin "baserom.gba", 0x12DC48, 0x000000C + +gUnk_0812DC54:: @ 0812DC54 + .incbin "baserom.gba", 0x12DC54, 0x000000C + +gUnk_0812DC60:: @ 0812DC60 + .incbin "baserom.gba", 0x12DC60, 0x000000C + +gUnk_0812DC6C:: @ 0812DC6C + .incbin "baserom.gba", 0x12DC6C, 0x000000C + +gUnk_0812DC78:: @ 0812DC78 + .incbin "baserom.gba", 0x12DC78, 0x000000C + +gUnk_0812DC84:: @ 0812DC84 + .incbin "baserom.gba", 0x12DC84, 0x000000C + +gUnk_0812DC90:: @ 0812DC90 + .incbin "baserom.gba", 0x12DC90, 0x000000C + +gUnk_0812DC9C:: @ 0812DC9C + .incbin "baserom.gba", 0x12DC9C, 0x000000C + +gUnk_0812DCA8:: @ 0812DCA8 + .incbin "baserom.gba", 0x12DCA8, 0x000000C + +gUnk_0812DCB4:: @ 0812DCB4 + .incbin "baserom.gba", 0x12DCB4, 0x000000C + +gUnk_0812DCC0:: @ 0812DCC0 + .incbin "baserom.gba", 0x12DCC0, 0x000000C + +gUnk_0812DCCC:: @ 0812DCCC + .incbin "baserom.gba", 0x12DCCC, 0x000000C + +gUnk_0812DCD8:: @ 0812DCD8 + .incbin "baserom.gba", 0x12DCD8, 0x0000014 + +gUnk_0812DCEC:: @ 0812DCEC + .incbin "baserom.gba", 0x12DCEC, 0x0000014 + +gUnk_0812DD00:: @ 0812DD00 + .incbin "baserom.gba", 0x12DD00, 0x0000004 + +gUnk_0812DD04:: @ 0812DD04 + .incbin "baserom.gba", 0x12DD04, 0x0000008 + +gUnk_0812DD0C:: @ 0812DD0C + .incbin "baserom.gba", 0x12DD0C, 0x000000C + +gUnk_0812DD18:: @ 0812DD18 + .incbin "baserom.gba", 0x12DD18, 0x000000C + +gUnk_0812DD24:: @ 0812DD24 + .incbin "baserom.gba", 0x12DD24, 0x000000C + +gUnk_0812DD30:: @ 0812DD30 + .incbin "baserom.gba", 0x12DD30, 0x000000C + +gUnk_0812DD3C:: @ 0812DD3C + .incbin "baserom.gba", 0x12DD3C, 0x000000C + +gUnk_0812DD48:: @ 0812DD48 + .incbin "baserom.gba", 0x12DD48, 0x000000C + +gUnk_0812DD54:: @ 0812DD54 + .incbin "baserom.gba", 0x12DD54, 0x000000C + +gUnk_0812DD60:: @ 0812DD60 + .incbin "baserom.gba", 0x12DD60, 0x000000C + +gUnk_0812DD6C:: @ 0812DD6C + .incbin "baserom.gba", 0x12DD6C, 0x000000C + +gUnk_0812DD78:: @ 0812DD78 + .incbin "baserom.gba", 0x12DD78, 0x000000C + +gUnk_0812DD84:: @ 0812DD84 + .incbin "baserom.gba", 0x12DD84, 0x000000C + +gUnk_0812DD90:: @ 0812DD90 + .incbin "baserom.gba", 0x12DD90, 0x000000C + +gUnk_0812DD9C:: @ 0812DD9C + .incbin "baserom.gba", 0x12DD9C, 0x000000C + +gUnk_0812DDA8:: @ 0812DDA8 + .incbin "baserom.gba", 0x12DDA8, 0x000000C + +gUnk_0812DDB4:: @ 0812DDB4 + .incbin "baserom.gba", 0x12DDB4, 0x000000C + +gUnk_0812DDC0:: @ 0812DDC0 + .incbin "baserom.gba", 0x12DDC0, 0x000000C + +gUnk_0812DDCC:: @ 0812DDCC + .incbin "baserom.gba", 0x12DDCC, 0x0000014 + +gUnk_0812DDE0:: @ 0812DDE0 + .incbin "baserom.gba", 0x12DDE0, 0x0000014 + +gUnk_0812DDF4:: @ 0812DDF4 + .incbin "baserom.gba", 0x12DDF4, 0x0000014 + +gUnk_0812DE08:: @ 0812DE08 + .incbin "baserom.gba", 0x12DE08, 0x0000014 + +gUnk_0812DE1C:: @ 0812DE1C + .incbin "baserom.gba", 0x12DE1C, 0x0000014 + +gUnk_0812DE30:: @ 0812DE30 + .incbin "baserom.gba", 0x12DE30, 0x0000010 + +gUnk_0812DE40:: @ 0812DE40 + .incbin "baserom.gba", 0x12DE40, 0x0000014 + +gUnk_0812DE54:: @ 0812DE54 + .incbin "baserom.gba", 0x12DE54, 0x0000014 + +gUnk_0812DE68:: @ 0812DE68 + .incbin "baserom.gba", 0x12DE68, 0x0000014 + +gUnk_0812DE7C:: @ 0812DE7C + .incbin "baserom.gba", 0x12DE7C, 0x0000010 + +gUnk_0812DE8C:: @ 0812DE8C + .incbin "baserom.gba", 0x12DE8C, 0x0000018 + +gUnk_0812DEA4:: @ 0812DEA4 + .incbin "baserom.gba", 0x12DEA4, 0x000000C + +gUnk_0812DEB0:: @ 0812DEB0 + .incbin "baserom.gba", 0x12DEB0, 0x000000C + +gUnk_0812DEBC:: @ 0812DEBC + .incbin "baserom.gba", 0x12DEBC, 0x000000C + +gUnk_0812DEC8:: @ 0812DEC8 + .incbin "baserom.gba", 0x12DEC8, 0x000000C + +gUnk_0812DED4:: @ 0812DED4 + .incbin "baserom.gba", 0x12DED4, 0x000000C + +gUnk_0812DEE0:: @ 0812DEE0 + .incbin "baserom.gba", 0x12DEE0, 0x000000C + +gUnk_0812DEEC:: @ 0812DEEC + .incbin "baserom.gba", 0x12DEEC, 0x000000C + +gUnk_0812DEF8:: @ 0812DEF8 + .incbin "baserom.gba", 0x12DEF8, 0x000000C + +gUnk_0812DF04:: @ 0812DF04 + .incbin "baserom.gba", 0x12DF04, 0x000000C + +gUnk_0812DF10:: @ 0812DF10 + .incbin "baserom.gba", 0x12DF10, 0x000000C + +gUnk_0812DF1C:: @ 0812DF1C + .incbin "baserom.gba", 0x12DF1C, 0x000000C + +gUnk_0812DF28:: @ 0812DF28 + .incbin "baserom.gba", 0x12DF28, 0x000000C + +gUnk_0812DF34:: @ 0812DF34 + .incbin "baserom.gba", 0x12DF34, 0x000000C + +gUnk_0812DF40:: @ 0812DF40 + .incbin "baserom.gba", 0x12DF40, 0x000000C + +gUnk_0812DF4C:: @ 0812DF4C + .incbin "baserom.gba", 0x12DF4C, 0x000000C + +gUnk_0812DF58:: @ 0812DF58 + .incbin "baserom.gba", 0x12DF58, 0x000000C + +gUnk_0812DF64:: @ 0812DF64 + .incbin "baserom.gba", 0x12DF64, 0x000000C + +gUnk_0812DF70:: @ 0812DF70 + .incbin "baserom.gba", 0x12DF70, 0x0000010 + +gUnk_0812DF80:: @ 0812DF80 + .incbin "baserom.gba", 0x12DF80, 0x0000010 + +gUnk_0812DF90:: @ 0812DF90 + .incbin "baserom.gba", 0x12DF90, 0x0000010 + +gUnk_0812DFA0:: @ 0812DFA0 + .incbin "baserom.gba", 0x12DFA0, 0x0000010 + +gUnk_0812DFB0:: @ 0812DFB0 + .incbin "baserom.gba", 0x12DFB0, 0x0000010 + +gUnk_0812DFC0:: @ 0812DFC0 + .incbin "baserom.gba", 0x12DFC0, 0x0000010 + +gUnk_0812DFD0:: @ 0812DFD0 + .incbin "baserom.gba", 0x12DFD0, 0x0000010 + +gUnk_0812DFE0:: @ 0812DFE0 + .incbin "baserom.gba", 0x12DFE0, 0x0000010 + +gUnk_0812DFF0:: @ 0812DFF0 + .incbin "baserom.gba", 0x12DFF0, 0x0000010 + +gUnk_0812E000:: @ 0812E000 + .incbin "baserom.gba", 0x12E000, 0x0000010 + +gUnk_0812E010:: @ 0812E010 + .incbin "baserom.gba", 0x12E010, 0x0000010 + +gUnk_0812E020:: @ 0812E020 + .incbin "baserom.gba", 0x12E020, 0x0000010 + +gUnk_0812E030:: @ 0812E030 + .incbin "baserom.gba", 0x12E030, 0x0000010 + +gUnk_0812E040:: @ 0812E040 + .incbin "baserom.gba", 0x12E040, 0x0000010 + +gUnk_0812E050:: @ 0812E050 + .incbin "baserom.gba", 0x12E050, 0x0000010 + +gUnk_0812E060:: @ 0812E060 + .incbin "baserom.gba", 0x12E060, 0x0000010 + +gUnk_0812E070:: @ 0812E070 + .incbin "baserom.gba", 0x12E070, 0x0000010 + +gUnk_0812E080:: @ 0812E080 + .incbin "baserom.gba", 0x12E080, 0x0000010 + +gUnk_0812E090:: @ 0812E090 + .incbin "baserom.gba", 0x12E090, 0x0000010 + +gUnk_0812E0A0:: @ 0812E0A0 + .incbin "baserom.gba", 0x12E0A0, 0x0000010 + +gUnk_0812E0B0:: @ 0812E0B0 + .incbin "baserom.gba", 0x12E0B0, 0x0000010 + +gUnk_0812E0C0:: @ 0812E0C0 + .incbin "baserom.gba", 0x12E0C0, 0x0000010 + +gUnk_0812E0D0:: @ 0812E0D0 + .incbin "baserom.gba", 0x12E0D0, 0x0000010 + +gUnk_0812E0E0:: @ 0812E0E0 + .incbin "baserom.gba", 0x12E0E0, 0x0000010 + +gUnk_0812E0F0:: @ 0812E0F0 + .incbin "baserom.gba", 0x12E0F0, 0x0000010 + +gUnk_0812E100:: @ 0812E100 + .incbin "baserom.gba", 0x12E100, 0x0000010 + +gUnk_0812E110:: @ 0812E110 + .incbin "baserom.gba", 0x12E110, 0x0000010 + +gUnk_0812E120:: @ 0812E120 + .incbin "baserom.gba", 0x12E120, 0x0000010 + +gUnk_0812E130:: @ 0812E130 + .incbin "baserom.gba", 0x12E130, 0x0000010 + +gUnk_0812E140:: @ 0812E140 + .incbin "baserom.gba", 0x12E140, 0x0000010 + +gUnk_0812E150:: @ 0812E150 + .incbin "baserom.gba", 0x12E150, 0x0000010 + +gUnk_0812E160:: @ 0812E160 + .incbin "baserom.gba", 0x12E160, 0x0000010 + +gUnk_0812E170:: @ 0812E170 + .incbin "baserom.gba", 0x12E170, 0x0000010 + +gUnk_0812E180:: @ 0812E180 + .incbin "baserom.gba", 0x12E180, 0x0000010 + +gUnk_0812E190:: @ 0812E190 + .incbin "baserom.gba", 0x12E190, 0x0000010 + +gUnk_0812E1A0:: @ 0812E1A0 + .incbin "baserom.gba", 0x12E1A0, 0x0000010 + +gUnk_0812E1B0:: @ 0812E1B0 + .incbin "baserom.gba", 0x12E1B0, 0x0000010 + +gUnk_0812E1C0:: @ 0812E1C0 + .incbin "baserom.gba", 0x12E1C0, 0x0000010 + +gUnk_0812E1D0:: @ 0812E1D0 + .incbin "baserom.gba", 0x12E1D0, 0x0000010 + +gUnk_0812E1E0:: @ 0812E1E0 + .incbin "baserom.gba", 0x12E1E0, 0x0000010 + +gUnk_0812E1F0:: @ 0812E1F0 + .incbin "baserom.gba", 0x12E1F0, 0x0000010 + +gUnk_0812E200:: @ 0812E200 + .incbin "baserom.gba", 0x12E200, 0x0000010 + +gUnk_0812E210:: @ 0812E210 + .incbin "baserom.gba", 0x12E210, 0x0000010 + +gUnk_0812E220:: @ 0812E220 + .incbin "baserom.gba", 0x12E220, 0x0000010 + +gUnk_0812E230:: @ 0812E230 + .incbin "baserom.gba", 0x12E230, 0x0000010 + +gUnk_0812E240:: @ 0812E240 + .incbin "baserom.gba", 0x12E240, 0x0000010 + +gUnk_0812E250:: @ 0812E250 + .incbin "baserom.gba", 0x12E250, 0x0000010 + +gUnk_0812E260:: @ 0812E260 + .incbin "baserom.gba", 0x12E260, 0x0000010 + +gUnk_0812E270:: @ 0812E270 + .incbin "baserom.gba", 0x12E270, 0x0000010 + +gUnk_0812E280:: @ 0812E280 + .incbin "baserom.gba", 0x12E280, 0x0000010 + +gUnk_0812E290:: @ 0812E290 + .incbin "baserom.gba", 0x12E290, 0x0000010 + +gUnk_0812E2A0:: @ 0812E2A0 + .incbin "baserom.gba", 0x12E2A0, 0x0000010 + +gUnk_0812E2B0:: @ 0812E2B0 + .incbin "baserom.gba", 0x12E2B0, 0x000000C + +gUnk_0812E2BC:: @ 0812E2BC + .incbin "baserom.gba", 0x12E2BC, 0x0000010 + +gUnk_0812E2CC:: @ 0812E2CC + .incbin "baserom.gba", 0x12E2CC, 0x000000C + +gUnk_0812E2D8:: @ 0812E2D8 + .incbin "baserom.gba", 0x12E2D8, 0x000000C + +gUnk_0812E2E4:: @ 0812E2E4 + .incbin "baserom.gba", 0x12E2E4, 0x000000C + +gUnk_0812E2F0:: @ 0812E2F0 + .incbin "baserom.gba", 0x12E2F0, 0x000000C + +gUnk_0812E2FC:: @ 0812E2FC + .incbin "baserom.gba", 0x12E2FC, 0x0000010 + +gUnk_0812E30C:: @ 0812E30C + .incbin "baserom.gba", 0x12E30C, 0x0000010 + +gUnk_0812E31C:: @ 0812E31C + .incbin "baserom.gba", 0x12E31C, 0x0000010 + +gUnk_0812E32C:: @ 0812E32C + .incbin "baserom.gba", 0x12E32C, 0x0000010 + +gUnk_0812E33C:: @ 0812E33C + .incbin "baserom.gba", 0x12E33C, 0x0000010 + +gUnk_0812E34C:: @ 0812E34C + .incbin "baserom.gba", 0x12E34C, 0x0000010 + +gUnk_0812E35C:: @ 0812E35C + .incbin "baserom.gba", 0x12E35C, 0x0000010 + +gUnk_0812E36C:: @ 0812E36C + .incbin "baserom.gba", 0x12E36C, 0x0000010 + +gUnk_0812E37C:: @ 0812E37C + .incbin "baserom.gba", 0x12E37C, 0x0000010 + +gUnk_0812E38C:: @ 0812E38C + .incbin "baserom.gba", 0x12E38C, 0x0000010 + +gUnk_0812E39C:: @ 0812E39C + .incbin "baserom.gba", 0x12E39C, 0x0000010 + +gUnk_0812E3AC:: @ 0812E3AC + .incbin "baserom.gba", 0x12E3AC, 0x0000010 + +gUnk_0812E3BC:: @ 0812E3BC + .incbin "baserom.gba", 0x12E3BC, 0x0000010 + +gUnk_0812E3CC:: @ 0812E3CC + .incbin "baserom.gba", 0x12E3CC, 0x0000010 + +gUnk_0812E3DC:: @ 0812E3DC + .incbin "baserom.gba", 0x12E3DC, 0x0000010 + +gUnk_0812E3EC:: @ 0812E3EC + .incbin "baserom.gba", 0x12E3EC, 0x0000010 + +gUnk_0812E3FC:: @ 0812E3FC + .incbin "baserom.gba", 0x12E3FC, 0x0000010 + +gUnk_0812E40C:: @ 0812E40C + .incbin "baserom.gba", 0x12E40C, 0x0000010 + +gUnk_0812E41C:: @ 0812E41C + .incbin "baserom.gba", 0x12E41C, 0x0000010 + +gUnk_0812E42C:: @ 0812E42C + .incbin "baserom.gba", 0x12E42C, 0x0000010 + +gUnk_0812E43C:: @ 0812E43C + .incbin "baserom.gba", 0x12E43C, 0x0000010 + +gUnk_0812E44C:: @ 0812E44C + .incbin "baserom.gba", 0x12E44C, 0x0000010 + +gUnk_0812E45C:: @ 0812E45C + .incbin "baserom.gba", 0x12E45C, 0x0000010 + +gUnk_0812E46C:: @ 0812E46C + .incbin "baserom.gba", 0x12E46C, 0x0000014 + +gUnk_0812E480:: @ 0812E480 + .incbin "baserom.gba", 0x12E480, 0x0000014 + +gUnk_0812E494:: @ 0812E494 + .incbin "baserom.gba", 0x12E494, 0x0000014 + +gUnk_0812E4A8:: @ 0812E4A8 + .incbin "baserom.gba", 0x12E4A8, 0x0000014 + +gUnk_0812E4BC:: @ 0812E4BC + .incbin "baserom.gba", 0x12E4BC, 0x0000014 + +gUnk_0812E4D0:: @ 0812E4D0 + .incbin "baserom.gba", 0x12E4D0, 0x0000014 + +gUnk_0812E4E4:: @ 0812E4E4 + .incbin "baserom.gba", 0x12E4E4, 0x0000014 + +gUnk_0812E4F8:: @ 0812E4F8 + .incbin "baserom.gba", 0x12E4F8, 0x0000014 + +gUnk_0812E50C:: @ 0812E50C + .incbin "baserom.gba", 0x12E50C, 0x0000014 + +gUnk_0812E520:: @ 0812E520 + .incbin "baserom.gba", 0x12E520, 0x0000014 + +gUnk_0812E534:: @ 0812E534 + .incbin "baserom.gba", 0x12E534, 0x0000014 + +gUnk_0812E548:: @ 0812E548 + .incbin "baserom.gba", 0x12E548, 0x0000014 + +gUnk_0812E55C:: @ 0812E55C + .incbin "baserom.gba", 0x12E55C, 0x0000014 + +gUnk_0812E570:: @ 0812E570 + .incbin "baserom.gba", 0x12E570, 0x0000014 + +gUnk_0812E584:: @ 0812E584 + .incbin "baserom.gba", 0x12E584, 0x0000014 + +gUnk_0812E598:: @ 0812E598 + .incbin "baserom.gba", 0x12E598, 0x0000014 + +gUnk_0812E5AC:: @ 0812E5AC + .incbin "baserom.gba", 0x12E5AC, 0x0000014 + +gUnk_0812E5C0:: @ 0812E5C0 + .incbin "baserom.gba", 0x12E5C0, 0x0000014 + +gUnk_0812E5D4:: @ 0812E5D4 + .incbin "baserom.gba", 0x12E5D4, 0x0000014 + +gUnk_0812E5E8:: @ 0812E5E8 + .incbin "baserom.gba", 0x12E5E8, 0x0000014 + +gUnk_0812E5FC:: @ 0812E5FC + .incbin "baserom.gba", 0x12E5FC, 0x0000248 + +gUnk_0812E844:: @ 0812E844 + .incbin "baserom.gba", 0x12E844, 0x0000008 + +gUnk_0812E84C:: @ 0812E84C + .incbin "baserom.gba", 0x12E84C, 0x0000008 + +gUnk_0812E854:: @ 0812E854 + .incbin "baserom.gba", 0x12E854, 0x0000008 + +gUnk_0812E85C:: @ 0812E85C + .incbin "baserom.gba", 0x12E85C, 0x0000008 + +gUnk_0812E864:: @ 0812E864 + .incbin "baserom.gba", 0x12E864, 0x0000008 + +gUnk_0812E86C:: @ 0812E86C + .incbin "baserom.gba", 0x12E86C, 0x0000008 + +gUnk_0812E874:: @ 0812E874 + .incbin "baserom.gba", 0x12E874, 0x0000018 + +gUnk_0812E88C:: @ 0812E88C + .incbin "baserom.gba", 0x12E88C, 0x0000018 + +gUnk_0812E8A4:: @ 0812E8A4 + .incbin "baserom.gba", 0x12E8A4, 0x0000018 + +gUnk_0812E8BC:: @ 0812E8BC + .incbin "baserom.gba", 0x12E8BC, 0x0000010 + +gUnk_0812E8CC:: @ 0812E8CC + .incbin "baserom.gba", 0x12E8CC, 0x0000010 + +gUnk_0812E8DC:: @ 0812E8DC + .incbin "baserom.gba", 0x12E8DC, 0x0000018 + +gUnk_0812E8F4:: @ 0812E8F4 + .incbin "baserom.gba", 0x12E8F4, 0x0000009 + +gUnk_0812E8FD:: @ 0812E8FD + .incbin "baserom.gba", 0x12E8FD, 0x0000007 + +gUnk_0812E904:: @ 0812E904 + .incbin "baserom.gba", 0x12E904, 0x0000010 + +gUnk_0812E914:: @ 0812E914 + .incbin "baserom.gba", 0x12E914, 0x0000018 + +gUnk_0812E92C:: @ 0812E92C + .incbin "baserom.gba", 0x12E92C, 0x0000014 + +gUnk_0812E940:: @ 0812E940 + .incbin "baserom.gba", 0x12E940, 0x0000018 + +gUnk_0812E958:: @ 0812E958 + .incbin "baserom.gba", 0x12E958, 0x0000018 + +gUnk_0812E970:: @ 0812E970 + .incbin "baserom.gba", 0x12E970, 0x0000018 + +gUnk_0812E988:: @ 0812E988 + .incbin "baserom.gba", 0x12E988, 0x0000014 + +gUnk_0812E99C:: @ 0812E99C + .incbin "baserom.gba", 0x12E99C, 0x0000014 + +gUnk_0812E9B0:: @ 0812E9B0 + .incbin "baserom.gba", 0x12E9B0, 0x0000014 + +gUnk_0812E9C4:: @ 0812E9C4 + .incbin "baserom.gba", 0x12E9C4, 0x0000014 + +gUnk_0812E9D8:: @ 0812E9D8 + .incbin "baserom.gba", 0x12E9D8, 0x0000018 + +gUnk_0812E9F0:: @ 0812E9F0 + .incbin "baserom.gba", 0x12E9F0, 0x0000018 + +gUnk_0812EA08:: @ 0812EA08 + .incbin "baserom.gba", 0x12EA08, 0x0000018 + +gUnk_0812EA20:: @ 0812EA20 + .incbin "baserom.gba", 0x12EA20, 0x0000018 + +gUnk_0812EA38:: @ 0812EA38 + .incbin "baserom.gba", 0x12EA38, 0x0000018 + +gUnk_0812EA50:: @ 0812EA50 + .incbin "baserom.gba", 0x12EA50, 0x0000018 + +gUnk_0812EA68:: @ 0812EA68 + .incbin "baserom.gba", 0x12EA68, 0x0000018 + +gUnk_0812EA80:: @ 0812EA80 + .incbin "baserom.gba", 0x12EA80, 0x0000018 + +gUnk_0812EA98:: @ 0812EA98 + .incbin "baserom.gba", 0x12EA98, 0x0000018 + +gUnk_0812EAB0:: @ 0812EAB0 + .incbin "baserom.gba", 0x12EAB0, 0x000001C + +gUnk_0812EACC:: @ 0812EACC + .incbin "baserom.gba", 0x12EACC, 0x000000C + +gUnk_0812EAD8:: @ 0812EAD8 + .incbin "baserom.gba", 0x12EAD8, 0x0000010 + +gUnk_0812EAE8:: @ 0812EAE8 + .incbin "baserom.gba", 0x12EAE8, 0x000001C + +gUnk_0812EB04:: @ 0812EB04 + .incbin "baserom.gba", 0x12EB04, 0x0000018 + +gUnk_0812EB1C:: @ 0812EB1C + .incbin "baserom.gba", 0x12EB1C, 0x0000018 + +gUnk_0812EB34:: @ 0812EB34 + .incbin "baserom.gba", 0x12EB34, 0x000001C + +gUnk_0812EB50:: @ 0812EB50 + .incbin "baserom.gba", 0x12EB50, 0x000001C + +gUnk_0812EB6C:: @ 0812EB6C + .incbin "baserom.gba", 0x12EB6C, 0x000001C + +gUnk_0812EB88:: @ 0812EB88 + .incbin "baserom.gba", 0x12EB88, 0x000001C + +gUnk_0812EBA4:: @ 0812EBA4 + .incbin "baserom.gba", 0x12EBA4, 0x000001C + +gUnk_0812EBC0:: @ 0812EBC0 + .incbin "baserom.gba", 0x12EBC0, 0x0000018 + +gUnk_0812EBD8:: @ 0812EBD8 + .incbin "baserom.gba", 0x12EBD8, 0x0000018 + +gUnk_0812EBF0:: @ 0812EBF0 + .incbin "baserom.gba", 0x12EBF0, 0x0000018 + +gUnk_0812EC08:: @ 0812EC08 + .incbin "baserom.gba", 0x12EC08, 0x0000018 + +gUnk_0812EC20:: @ 0812EC20 + .incbin "baserom.gba", 0x12EC20, 0x0000014 + +gUnk_0812EC34:: @ 0812EC34 + .incbin "baserom.gba", 0x12EC34, 0x0000014 + +gUnk_0812EC48:: @ 0812EC48 + .incbin "baserom.gba", 0x12EC48, 0x0000018 + +gUnk_0812EC60:: @ 0812EC60 + .incbin "baserom.gba", 0x12EC60, 0x0000018 + +gUnk_0812EC78:: @ 0812EC78 + .incbin "baserom.gba", 0x12EC78, 0x0000018 + +gUnk_0812EC90:: @ 0812EC90 + .incbin "baserom.gba", 0x12EC90, 0x0000018 + +gUnk_0812ECA8:: @ 0812ECA8 + .incbin "baserom.gba", 0x12ECA8, 0x0000018 + +gUnk_0812ECC0:: @ 0812ECC0 + .incbin "baserom.gba", 0x12ECC0, 0x0000018 + +gUnk_0812ECD8:: @ 0812ECD8 + .incbin "baserom.gba", 0x12ECD8, 0x0000018 + +gUnk_0812ECF0:: @ 0812ECF0 + .incbin "baserom.gba", 0x12ECF0, 0x0000018 + +gUnk_0812ED08:: @ 0812ED08 + .incbin "baserom.gba", 0x12ED08, 0x0000018 + +gUnk_0812ED20:: @ 0812ED20 + .incbin "baserom.gba", 0x12ED20, 0x0000018 + +gUnk_0812ED38:: @ 0812ED38 + .incbin "baserom.gba", 0x12ED38, 0x0000018 + +gUnk_0812ED50:: @ 0812ED50 + .incbin "baserom.gba", 0x12ED50, 0x0000018 + +gUnk_0812ED68:: @ 0812ED68 + .incbin "baserom.gba", 0x12ED68, 0x0000018 + +gUnk_0812ED80:: @ 0812ED80 + .incbin "baserom.gba", 0x12ED80, 0x0000018 + +gUnk_0812ED98:: @ 0812ED98 + .incbin "baserom.gba", 0x12ED98, 0x0000018 + +gUnk_0812EDB0:: @ 0812EDB0 + .incbin "baserom.gba", 0x12EDB0, 0x0000018 + +gUnk_0812EDC8:: @ 0812EDC8 + .incbin "baserom.gba", 0x12EDC8, 0x0000018 + +gUnk_0812EDE0:: @ 0812EDE0 + .incbin "baserom.gba", 0x12EDE0, 0x0000018 + +gUnk_0812EDF8:: @ 0812EDF8 + .incbin "baserom.gba", 0x12EDF8, 0x0000018 + +gUnk_0812EE10:: @ 0812EE10 + .incbin "baserom.gba", 0x12EE10, 0x0000018 + +gUnk_0812EE28:: @ 0812EE28 + .incbin "baserom.gba", 0x12EE28, 0x0000018 + +gUnk_0812EE40:: @ 0812EE40 + .incbin "baserom.gba", 0x12EE40, 0x0000014 + +gUnk_0812EE54:: @ 0812EE54 + .incbin "baserom.gba", 0x12EE54, 0x0000014 + +gUnk_0812EE68:: @ 0812EE68 + .incbin "baserom.gba", 0x12EE68, 0x0000014 + +gUnk_0812EE7C:: @ 0812EE7C + .incbin "baserom.gba", 0x12EE7C, 0x0000014 + +gUnk_0812EE90:: @ 0812EE90 + .incbin "baserom.gba", 0x12EE90, 0x0000014 + +gUnk_0812EEA4:: @ 0812EEA4 + .incbin "baserom.gba", 0x12EEA4, 0x0000014 + +gUnk_0812EEB8:: @ 0812EEB8 + .incbin "baserom.gba", 0x12EEB8, 0x0000014 + +gUnk_0812EECC:: @ 0812EECC + .incbin "baserom.gba", 0x12EECC, 0x0000014 + +gUnk_0812EEE0:: @ 0812EEE0 + .incbin "baserom.gba", 0x12EEE0, 0x0000014 + +gUnk_0812EEF4:: @ 0812EEF4 + .incbin "baserom.gba", 0x12EEF4, 0x0000014 + +gUnk_0812EF08:: @ 0812EF08 + .incbin "baserom.gba", 0x12EF08, 0x0000014 + +gUnk_0812EF1C:: @ 0812EF1C + .incbin "baserom.gba", 0x12EF1C, 0x0000003 + +gUnk_0812EF1F:: @ 0812EF1F + .incbin "baserom.gba", 0x12EF1F, 0x0000011 + +gUnk_0812EF30:: @ 0812EF30 + .incbin "baserom.gba", 0x12EF30, 0x0000014 + +gUnk_0812EF44:: @ 0812EF44 + .incbin "baserom.gba", 0x12EF44, 0x0000018 + +gUnk_0812EF5C:: @ 0812EF5C + .incbin "baserom.gba", 0x12EF5C, 0x0000018 + +gUnk_0812EF74:: @ 0812EF74 + .incbin "baserom.gba", 0x12EF74, 0x0000018 + +gUnk_0812EF8C:: @ 0812EF8C + .incbin "baserom.gba", 0x12EF8C, 0x000001C + +gUnk_0812EFA8:: @ 0812EFA8 + .incbin "baserom.gba", 0x12EFA8, 0x0000018 + +gUnk_0812EFC0:: @ 0812EFC0 + .incbin "baserom.gba", 0x12EFC0, 0x0000018 + +gUnk_0812EFD8:: @ 0812EFD8 + .incbin "baserom.gba", 0x12EFD8, 0x0000018 + +gUnk_0812EFF0:: @ 0812EFF0 + .incbin "baserom.gba", 0x12EFF0, 0x0000018 + +gUnk_0812F008:: @ 0812F008 + .incbin "baserom.gba", 0x12F008, 0x0000018 + +gUnk_0812F020:: @ 0812F020 + .incbin "baserom.gba", 0x12F020, 0x0000018 + +gUnk_0812F038:: @ 0812F038 + .incbin "baserom.gba", 0x12F038, 0x0000018 + +gUnk_0812F050:: @ 0812F050 + .incbin "baserom.gba", 0x12F050, 0x0000018 + +gUnk_0812F068:: @ 0812F068 + .incbin "baserom.gba", 0x12F068, 0x0000018 + +gUnk_0812F080:: @ 0812F080 + .incbin "baserom.gba", 0x12F080, 0x0000018 + +gUnk_0812F098:: @ 0812F098 + .incbin "baserom.gba", 0x12F098, 0x0000018 + +gUnk_0812F0B0:: @ 0812F0B0 + .incbin "baserom.gba", 0x12F0B0, 0x0000018 + +gUnk_0812F0C8:: @ 0812F0C8 + .incbin "baserom.gba", 0x12F0C8, 0x0000018 + +gUnk_0812F0E0:: @ 0812F0E0 + .incbin "baserom.gba", 0x12F0E0, 0x0000018 + +gUnk_0812F0F8:: @ 0812F0F8 + .incbin "baserom.gba", 0x12F0F8, 0x0000018 + +gUnk_0812F110:: @ 0812F110 + .incbin "baserom.gba", 0x12F110, 0x0000018 + +gUnk_0812F128:: @ 0812F128 + .incbin "baserom.gba", 0x12F128, 0x0000018 + +gUnk_0812F140:: @ 0812F140 + .incbin "baserom.gba", 0x12F140, 0x0000018 + +gUnk_0812F158:: @ 0812F158 + .incbin "baserom.gba", 0x12F158, 0x0000018 + +gUnk_0812F170:: @ 0812F170 + .incbin "baserom.gba", 0x12F170, 0x0000018 + +gUnk_0812F188:: @ 0812F188 + .incbin "baserom.gba", 0x12F188, 0x0000018 + +gUnk_0812F1A0:: @ 0812F1A0 + .incbin "baserom.gba", 0x12F1A0, 0x0000018 + +gUnk_0812F1B8:: @ 0812F1B8 + .incbin "baserom.gba", 0x12F1B8, 0x0000018 + +gUnk_0812F1D0:: @ 0812F1D0 + .incbin "baserom.gba", 0x12F1D0, 0x0000018 + +gUnk_0812F1E8:: @ 0812F1E8 + .incbin "baserom.gba", 0x12F1E8, 0x0000018 + +gUnk_0812F200:: @ 0812F200 + .incbin "baserom.gba", 0x12F200, 0x0000018 + +gUnk_0812F218:: @ 0812F218 + .incbin "baserom.gba", 0x12F218, 0x0000018 + +gUnk_0812F230:: @ 0812F230 + .incbin "baserom.gba", 0x12F230, 0x0000018 + +gUnk_0812F248:: @ 0812F248 + .incbin "baserom.gba", 0x12F248, 0x0000018 + +gUnk_0812F260:: @ 0812F260 + .incbin "baserom.gba", 0x12F260, 0x0000018 + +gUnk_0812F278:: @ 0812F278 + .incbin "baserom.gba", 0x12F278, 0x0000018 + +gUnk_0812F290:: @ 0812F290 + .incbin "baserom.gba", 0x12F290, 0x0000018 + +gUnk_0812F2A8:: @ 0812F2A8 + .incbin "baserom.gba", 0x12F2A8, 0x0000018 + +gUnk_0812F2C0:: @ 0812F2C0 + .incbin "baserom.gba", 0x12F2C0, 0x0000018 + +gUnk_0812F2D8:: @ 0812F2D8 + .incbin "baserom.gba", 0x12F2D8, 0x0000018 + +gUnk_0812F2F0:: @ 0812F2F0 + .incbin "baserom.gba", 0x12F2F0, 0x0000018 + +gUnk_0812F308:: @ 0812F308 + .incbin "baserom.gba", 0x12F308, 0x0000018 + +gUnk_0812F320:: @ 0812F320 + .incbin "baserom.gba", 0x12F320, 0x0000018 + +gUnk_0812F338:: @ 0812F338 + .incbin "baserom.gba", 0x12F338, 0x0000018 + +gUnk_0812F350:: @ 0812F350 + .incbin "baserom.gba", 0x12F350, 0x0000018 + +gUnk_0812F368:: @ 0812F368 + .incbin "baserom.gba", 0x12F368, 0x0000018 + +gUnk_0812F380:: @ 0812F380 + .incbin "baserom.gba", 0x12F380, 0x0000018 + +gUnk_0812F398:: @ 0812F398 + .incbin "baserom.gba", 0x12F398, 0x0000018 + +gUnk_0812F3B0:: @ 0812F3B0 + .incbin "baserom.gba", 0x12F3B0, 0x0000018 + +gUnk_0812F3C8:: @ 0812F3C8 + .incbin "baserom.gba", 0x12F3C8, 0x0000018 + +gUnk_0812F3E0:: @ 0812F3E0 + .incbin "baserom.gba", 0x12F3E0, 0x0000018 + +gUnk_0812F3F8:: @ 0812F3F8 + .incbin "baserom.gba", 0x12F3F8, 0x0000018 + +gUnk_0812F410:: @ 0812F410 + .incbin "baserom.gba", 0x12F410, 0x0000018 + +gUnk_0812F428:: @ 0812F428 + .incbin "baserom.gba", 0x12F428, 0x0000018 + +gUnk_0812F440:: @ 0812F440 + .incbin "baserom.gba", 0x12F440, 0x0000018 + +gUnk_0812F458:: @ 0812F458 + .incbin "baserom.gba", 0x12F458, 0x0000018 + +gUnk_0812F470:: @ 0812F470 + .incbin "baserom.gba", 0x12F470, 0x0000014 + +gUnk_0812F484:: @ 0812F484 + .incbin "baserom.gba", 0x12F484, 0x0000010 + +gUnk_0812F494:: @ 0812F494 + .incbin "baserom.gba", 0x12F494, 0x0000170 + +gUnk_0812F604:: @ 0812F604 + .incbin "baserom.gba", 0x12F604, 0x0000010 + +gUnk_0812F614:: @ 0812F614 + .incbin "baserom.gba", 0x12F614, 0x0000010 + +gUnk_0812F624:: @ 0812F624 + .incbin "baserom.gba", 0x12F624, 0x000000C + +gUnk_0812F630:: @ 0812F630 + .incbin "baserom.gba", 0x12F630, 0x000000C + +gUnk_0812F63C:: @ 0812F63C + .incbin "baserom.gba", 0x12F63C, 0x000000C + +gUnk_0812F648:: @ 0812F648 + .incbin "baserom.gba", 0x12F648, 0x000000C + +gUnk_0812F654:: @ 0812F654 + .incbin "baserom.gba", 0x12F654, 0x0000010 + +gUnk_0812F664:: @ 0812F664 + .incbin "baserom.gba", 0x12F664, 0x000000C + +gUnk_0812F670:: @ 0812F670 + .incbin "baserom.gba", 0x12F670, 0x0000010 + +gUnk_0812F680:: @ 0812F680 + .incbin "baserom.gba", 0x12F680, 0x000000C + +gUnk_0812F68C:: @ 0812F68C + .incbin "baserom.gba", 0x12F68C, 0x000000C + +gUnk_0812F698:: @ 0812F698 + .incbin "baserom.gba", 0x12F698, 0x000000C + +gUnk_0812F6A4:: @ 0812F6A4 + .incbin "baserom.gba", 0x12F6A4, 0x000000C + +gUnk_0812F6B0:: @ 0812F6B0 + .incbin "baserom.gba", 0x12F6B0, 0x000000C + +gUnk_0812F6BC:: @ 0812F6BC + .incbin "baserom.gba", 0x12F6BC, 0x0000010 + +gUnk_0812F6CC:: @ 0812F6CC + .incbin "baserom.gba", 0x12F6CC, 0x0000010 + +gUnk_0812F6DC:: @ 0812F6DC + .incbin "baserom.gba", 0x12F6DC, 0x0000010 + +gUnk_0812F6EC:: @ 0812F6EC + .incbin "baserom.gba", 0x12F6EC, 0x000000C + +gUnk_0812F6F8:: @ 0812F6F8 + .incbin "baserom.gba", 0x12F6F8, 0x000000C + +gUnk_0812F704:: @ 0812F704 + .incbin "baserom.gba", 0x12F704, 0x000000C + +gUnk_0812F710:: @ 0812F710 + .incbin "baserom.gba", 0x12F710, 0x000000C + +gUnk_0812F71C:: @ 0812F71C + .incbin "baserom.gba", 0x12F71C, 0x000000C + +gUnk_0812F728:: @ 0812F728 + .incbin "baserom.gba", 0x12F728, 0x000000C + +gUnk_0812F734:: @ 0812F734 + .incbin "baserom.gba", 0x12F734, 0x000000C + +gUnk_0812F740:: @ 0812F740 + .incbin "baserom.gba", 0x12F740, 0x000000C + +gUnk_0812F74C:: @ 0812F74C + .incbin "baserom.gba", 0x12F74C, 0x000000C + +gUnk_0812F758:: @ 0812F758 + .incbin "baserom.gba", 0x12F758, 0x000000C + +gUnk_0812F764:: @ 0812F764 + .incbin "baserom.gba", 0x12F764, 0x000000C + +gUnk_0812F770:: @ 0812F770 + .incbin "baserom.gba", 0x12F770, 0x000000C + +gUnk_0812F77C:: @ 0812F77C + .incbin "baserom.gba", 0x12F77C, 0x000000C + +gUnk_0812F788:: @ 0812F788 + .incbin "baserom.gba", 0x12F788, 0x000000C + +gUnk_0812F794:: @ 0812F794 + .incbin "baserom.gba", 0x12F794, 0x0000010 + +gUnk_0812F7A4:: @ 0812F7A4 + .incbin "baserom.gba", 0x12F7A4, 0x000000C + +gUnk_0812F7B0:: @ 0812F7B0 + .incbin "baserom.gba", 0x12F7B0, 0x000000C + +gUnk_0812F7BC:: @ 0812F7BC + .incbin "baserom.gba", 0x12F7BC, 0x000000C + +gUnk_0812F7C8:: @ 0812F7C8 + .incbin "baserom.gba", 0x12F7C8, 0x0000010 + +gUnk_0812F7D8:: @ 0812F7D8 + .incbin "baserom.gba", 0x12F7D8, 0x000000C + +gUnk_0812F7E4:: @ 0812F7E4 + .incbin "baserom.gba", 0x12F7E4, 0x000000C + +gUnk_0812F7F0:: @ 0812F7F0 + .incbin "baserom.gba", 0x12F7F0, 0x000000C + +gUnk_0812F7FC:: @ 0812F7FC + .incbin "baserom.gba", 0x12F7FC, 0x000000C + +gUnk_0812F808:: @ 0812F808 + .incbin "baserom.gba", 0x12F808, 0x0000010 + +gUnk_0812F818:: @ 0812F818 + .incbin "baserom.gba", 0x12F818, 0x000000C + +gUnk_0812F824:: @ 0812F824 + .incbin "baserom.gba", 0x12F824, 0x0000010 + +gUnk_0812F834:: @ 0812F834 + .incbin "baserom.gba", 0x12F834, 0x000000C + +gUnk_0812F840:: @ 0812F840 + .incbin "baserom.gba", 0x12F840, 0x000000C + +gUnk_0812F84C:: @ 0812F84C + .incbin "baserom.gba", 0x12F84C, 0x000000C + +gUnk_0812F858:: @ 0812F858 + .incbin "baserom.gba", 0x12F858, 0x000000C + +gUnk_0812F864:: @ 0812F864 + .incbin "baserom.gba", 0x12F864, 0x000000C + +gUnk_0812F870:: @ 0812F870 + .incbin "baserom.gba", 0x12F870, 0x000000C + +gUnk_0812F87C:: @ 0812F87C + .incbin "baserom.gba", 0x12F87C, 0x0000010 + +gUnk_0812F88C:: @ 0812F88C + .incbin "baserom.gba", 0x12F88C, 0x000000C + +gUnk_0812F898:: @ 0812F898 + .incbin "baserom.gba", 0x12F898, 0x000000C + +gUnk_0812F8A4:: @ 0812F8A4 + .incbin "baserom.gba", 0x12F8A4, 0x000000C + +gUnk_0812F8B0:: @ 0812F8B0 + .incbin "baserom.gba", 0x12F8B0, 0x000000C + +gUnk_0812F8BC:: @ 0812F8BC + .incbin "baserom.gba", 0x12F8BC, 0x000000C + +gUnk_0812F8C8:: @ 0812F8C8 + .incbin "baserom.gba", 0x12F8C8, 0x000000C + +gUnk_0812F8D4:: @ 0812F8D4 + .incbin "baserom.gba", 0x12F8D4, 0x000000C + +gUnk_0812F8E0:: @ 0812F8E0 + .incbin "baserom.gba", 0x12F8E0, 0x000000C + +gUnk_0812F8EC:: @ 0812F8EC + .incbin "baserom.gba", 0x12F8EC, 0x0000008 + +gUnk_0812F8F4:: @ 0812F8F4 + .incbin "baserom.gba", 0x12F8F4, 0x0000001 + +gUnk_0812F8F5:: @ 0812F8F5 + .incbin "baserom.gba", 0x12F8F5, 0x0000003 + +gUnk_0812F8F8:: @ 0812F8F8 + .incbin "baserom.gba", 0x12F8F8, 0x000000C + +gUnk_0812F904:: @ 0812F904 + .incbin "baserom.gba", 0x12F904, 0x000000C + +gUnk_0812F910:: @ 0812F910 + .incbin "baserom.gba", 0x12F910, 0x000000C + +gUnk_0812F91C:: @ 0812F91C + .incbin "baserom.gba", 0x12F91C, 0x000000C + +gUnk_0812F928:: @ 0812F928 + .incbin "baserom.gba", 0x12F928, 0x000000C + +gUnk_0812F934:: @ 0812F934 + .incbin "baserom.gba", 0x12F934, 0x000000C + +gUnk_0812F940:: @ 0812F940 + .incbin "baserom.gba", 0x12F940, 0x000000C + +gUnk_0812F94C:: @ 0812F94C + .incbin "baserom.gba", 0x12F94C, 0x000000C + +gUnk_0812F958:: @ 0812F958 + .incbin "baserom.gba", 0x12F958, 0x000000C + +gUnk_0812F964:: @ 0812F964 + .incbin "baserom.gba", 0x12F964, 0x000000C + +gUnk_0812F970:: @ 0812F970 + .incbin "baserom.gba", 0x12F970, 0x000000C + +gUnk_0812F97C:: @ 0812F97C + .incbin "baserom.gba", 0x12F97C, 0x000000C + +gUnk_0812F988:: @ 0812F988 + .incbin "baserom.gba", 0x12F988, 0x000000C + +gUnk_0812F994:: @ 0812F994 + .incbin "baserom.gba", 0x12F994, 0x000000C + +gUnk_0812F9A0:: @ 0812F9A0 + .incbin "baserom.gba", 0x12F9A0, 0x000000C + +gUnk_0812F9AC:: @ 0812F9AC + .incbin "baserom.gba", 0x12F9AC, 0x000000C + +gUnk_0812F9B8:: @ 0812F9B8 + .incbin "baserom.gba", 0x12F9B8, 0x000000C + +gUnk_0812F9C4:: @ 0812F9C4 + .incbin "baserom.gba", 0x12F9C4, 0x000000C + +gUnk_0812F9D0:: @ 0812F9D0 + .incbin "baserom.gba", 0x12F9D0, 0x000000C + +gUnk_0812F9DC:: @ 0812F9DC + .incbin "baserom.gba", 0x12F9DC, 0x000000C + +gUnk_0812F9E8:: @ 0812F9E8 + .incbin "baserom.gba", 0x12F9E8, 0x000000C + +gUnk_0812F9F4:: @ 0812F9F4 + .incbin "baserom.gba", 0x12F9F4, 0x000000C + +gUnk_0812FA00:: @ 0812FA00 + .incbin "baserom.gba", 0x12FA00, 0x000000C + +gUnk_0812FA0C:: @ 0812FA0C + .incbin "baserom.gba", 0x12FA0C, 0x0000001 + +gUnk_0812FA0D:: @ 0812FA0D + .incbin "baserom.gba", 0x12FA0D, 0x000000B + +gUnk_0812FA18:: @ 0812FA18 + .incbin "baserom.gba", 0x12FA18, 0x000000C + +gUnk_0812FA24:: @ 0812FA24 + .incbin "baserom.gba", 0x12FA24, 0x000000C + +gUnk_0812FA30:: @ 0812FA30 + .incbin "baserom.gba", 0x12FA30, 0x00000CD + +gUnk_0812FAFD:: @ 0812FAFD + .incbin "baserom.gba", 0x12FAFD, 0x0000057 + +gUnk_0812FB54:: @ 0812FB54 + .incbin "baserom.gba", 0x12FB54, 0x0000010 + +gUnk_0812FB64:: @ 0812FB64 + .incbin "baserom.gba", 0x12FB64, 0x0000010 + +gUnk_0812FB74:: @ 0812FB74 + .incbin "baserom.gba", 0x12FB74, 0x000000C + +gUnk_0812FB80:: @ 0812FB80 + .incbin "baserom.gba", 0x12FB80, 0x000000C + +gUnk_0812FB8C:: @ 0812FB8C + .incbin "baserom.gba", 0x12FB8C, 0x000000C + +gUnk_0812FB98:: @ 0812FB98 + .incbin "baserom.gba", 0x12FB98, 0x000000C + +gUnk_0812FBA4:: @ 0812FBA4 + .incbin "baserom.gba", 0x12FBA4, 0x000000C + +gUnk_0812FBB0:: @ 0812FBB0 + .incbin "baserom.gba", 0x12FBB0, 0x000000C + +gUnk_0812FBBC:: @ 0812FBBC + .incbin "baserom.gba", 0x12FBBC, 0x000000C + +gUnk_0812FBC8:: @ 0812FBC8 + .incbin "baserom.gba", 0x12FBC8, 0x000000C + +gUnk_0812FBD4:: @ 0812FBD4 + .incbin "baserom.gba", 0x12FBD4, 0x0000010 + +gUnk_0812FBE4:: @ 0812FBE4 + .incbin "baserom.gba", 0x12FBE4, 0x000000C + +gUnk_0812FBF0:: @ 0812FBF0 + .incbin "baserom.gba", 0x12FBF0, 0x000000C + +gUnk_0812FBFC:: @ 0812FBFC + .incbin "baserom.gba", 0x12FBFC, 0x000000C + +gUnk_0812FC08:: @ 0812FC08 + .incbin "baserom.gba", 0x12FC08, 0x000000C + +gUnk_0812FC14:: @ 0812FC14 + .incbin "baserom.gba", 0x12FC14, 0x000000C + +gUnk_0812FC20:: @ 0812FC20 + .incbin "baserom.gba", 0x12FC20, 0x000000C + +gUnk_0812FC2C:: @ 0812FC2C + .incbin "baserom.gba", 0x12FC2C, 0x0000010 + +gUnk_0812FC3C:: @ 0812FC3C + .incbin "baserom.gba", 0x12FC3C, 0x000000C + +gUnk_0812FC48:: @ 0812FC48 + .incbin "baserom.gba", 0x12FC48, 0x000000C + +gUnk_0812FC54:: @ 0812FC54 + .incbin "baserom.gba", 0x12FC54, 0x000000C + +gUnk_0812FC60:: @ 0812FC60 + .incbin "baserom.gba", 0x12FC60, 0x000000C + +gUnk_0812FC6C:: @ 0812FC6C + .incbin "baserom.gba", 0x12FC6C, 0x000000C + +gUnk_0812FC78:: @ 0812FC78 + .incbin "baserom.gba", 0x12FC78, 0x000000C + +gUnk_0812FC84:: @ 0812FC84 + .incbin "baserom.gba", 0x12FC84, 0x000000C + +gUnk_0812FC90:: @ 0812FC90 + .incbin "baserom.gba", 0x12FC90, 0x000000C + +gUnk_0812FC9C:: @ 0812FC9C + .incbin "baserom.gba", 0x12FC9C, 0x000000C + +gUnk_0812FCA8:: @ 0812FCA8 + .incbin "baserom.gba", 0x12FCA8, 0x000000C + +gUnk_0812FCB4:: @ 0812FCB4 + .incbin "baserom.gba", 0x12FCB4, 0x000000C + +gUnk_0812FCC0:: @ 0812FCC0 + .incbin "baserom.gba", 0x12FCC0, 0x000000C + +gUnk_0812FCCC:: @ 0812FCCC + .incbin "baserom.gba", 0x12FCCC, 0x000000C + +gUnk_0812FCD8:: @ 0812FCD8 + .incbin "baserom.gba", 0x12FCD8, 0x000000C + +gUnk_0812FCE4:: @ 0812FCE4 + .incbin "baserom.gba", 0x12FCE4, 0x000000C + +gUnk_0812FCF0:: @ 0812FCF0 + .incbin "baserom.gba", 0x12FCF0, 0x0000010 + +gUnk_0812FD00:: @ 0812FD00 + .incbin "baserom.gba", 0x12FD00, 0x000000C + +gUnk_0812FD0C:: @ 0812FD0C + .incbin "baserom.gba", 0x12FD0C, 0x0000010 + +gUnk_0812FD1C:: @ 0812FD1C + .incbin "baserom.gba", 0x12FD1C, 0x000000C + +gUnk_0812FD28:: @ 0812FD28 + .incbin "baserom.gba", 0x12FD28, 0x000000C + +gUnk_0812FD34:: @ 0812FD34 + .incbin "baserom.gba", 0x12FD34, 0x0000010 + +gUnk_0812FD44:: @ 0812FD44 + .incbin "baserom.gba", 0x12FD44, 0x000000C + +gUnk_0812FD50:: @ 0812FD50 + .incbin "baserom.gba", 0x12FD50, 0x000000C + +gUnk_0812FD5C:: @ 0812FD5C + .incbin "baserom.gba", 0x12FD5C, 0x0000010 + +gUnk_0812FD6C:: @ 0812FD6C + .incbin "baserom.gba", 0x12FD6C, 0x000000C + +gUnk_0812FD78:: @ 0812FD78 + .incbin "baserom.gba", 0x12FD78, 0x000000C + +gUnk_0812FD84:: @ 0812FD84 + .incbin "baserom.gba", 0x12FD84, 0x000000C + +gUnk_0812FD90:: @ 0812FD90 + .incbin "baserom.gba", 0x12FD90, 0x000000C + +gUnk_0812FD9C:: @ 0812FD9C + .incbin "baserom.gba", 0x12FD9C, 0x000000C + +gUnk_0812FDA8:: @ 0812FDA8 + .incbin "baserom.gba", 0x12FDA8, 0x000000C + +gUnk_0812FDB4:: @ 0812FDB4 + .incbin "baserom.gba", 0x12FDB4, 0x000000C + +gUnk_0812FDC0:: @ 0812FDC0 + .incbin "baserom.gba", 0x12FDC0, 0x0000014 + +gUnk_0812FDD4:: @ 0812FDD4 + .incbin "baserom.gba", 0x12FDD4, 0x000000C + +gUnk_0812FDE0:: @ 0812FDE0 + .incbin "baserom.gba", 0x12FDE0, 0x000000C + +gUnk_0812FDEC:: @ 0812FDEC + .incbin "baserom.gba", 0x12FDEC, 0x000000C + +gUnk_0812FDF8:: @ 0812FDF8 + .incbin "baserom.gba", 0x12FDF8, 0x000000C + +gUnk_0812FE04:: @ 0812FE04 + .incbin "baserom.gba", 0x12FE04, 0x000000C + +gUnk_0812FE10:: @ 0812FE10 + .incbin "baserom.gba", 0x12FE10, 0x000000C + +gUnk_0812FE1C:: @ 0812FE1C + .incbin "baserom.gba", 0x12FE1C, 0x000000C + +gUnk_0812FE28:: @ 0812FE28 + .incbin "baserom.gba", 0x12FE28, 0x000000C + +gUnk_0812FE34:: @ 0812FE34 + .incbin "baserom.gba", 0x12FE34, 0x000000C + +gUnk_0812FE40:: @ 0812FE40 + .incbin "baserom.gba", 0x12FE40, 0x000000C + +gUnk_0812FE4C:: @ 0812FE4C + .incbin "baserom.gba", 0x12FE4C, 0x000000C + +gUnk_0812FE58:: @ 0812FE58 + .incbin "baserom.gba", 0x12FE58, 0x000000C + +gUnk_0812FE64:: @ 0812FE64 + .incbin "baserom.gba", 0x12FE64, 0x000000C + +gUnk_0812FE70:: @ 0812FE70 + .incbin "baserom.gba", 0x12FE70, 0x000000C + +gUnk_0812FE7C:: @ 0812FE7C + .incbin "baserom.gba", 0x12FE7C, 0x000000C + +gUnk_0812FE88:: @ 0812FE88 + .incbin "baserom.gba", 0x12FE88, 0x000000C + +gUnk_0812FE94:: @ 0812FE94 + .incbin "baserom.gba", 0x12FE94, 0x000000C + +gUnk_0812FEA0:: @ 0812FEA0 + .incbin "baserom.gba", 0x12FEA0, 0x00000B6 + +gUnk_0812FF56:: @ 0812FF56 + .incbin "baserom.gba", 0x12FF56, 0x0000048 + +gUnk_0812FF9E:: @ 0812FF9E + .incbin "baserom.gba", 0x12FF9E, 0x0000038 + +gUnk_0812FFD6:: @ 0812FFD6 + .incbin "baserom.gba", 0x12FFD6, 0x0000002 + +gUnk_0812FFD8:: @ 0812FFD8 + .incbin "baserom.gba", 0x12FFD8, 0x000000C + +gUnk_0812FFE4:: @ 0812FFE4 + .incbin "baserom.gba", 0x12FFE4, 0x000000C + +gUnk_0812FFF0:: @ 0812FFF0 + .incbin "baserom.gba", 0x12FFF0, 0x0000006 + +gUnk_0812FFF6:: @ 0812FFF6 + .incbin "baserom.gba", 0x12FFF6, 0x0000006 + +gUnk_0812FFFC:: @ 0812FFFC + .incbin "baserom.gba", 0x12FFFC, 0x0000003 + +gUnk_0812FFFF:: @ 0812FFFF + .incbin "baserom.gba", 0x12FFFF, 0x0000001 + +gUnk_08130000:: @ 08130000 + .incbin "baserom.gba", 0x130000, 0x0000002 + +gUnk_08130002:: @ 08130002 + .incbin "baserom.gba", 0x130002, 0x000000A + +gUnk_0813000C:: @ 0813000C + .incbin "baserom.gba", 0x13000C, 0x0000014 + +gUnk_08130020:: @ 08130020 + .incbin "baserom.gba", 0x130020, 0x000000C + +gUnk_0813002C:: @ 0813002C + .incbin "baserom.gba", 0x13002C, 0x000000C + +gUnk_08130038:: @ 08130038 + .incbin "baserom.gba", 0x130038, 0x000000C + +gUnk_08130044:: @ 08130044 + .incbin "baserom.gba", 0x130044, 0x0000009 + +gUnk_0813004D:: @ 0813004D + .incbin "baserom.gba", 0x13004D, 0x0000003 + +gUnk_08130050:: @ 08130050 + .incbin "baserom.gba", 0x130050, 0x0000010 + +gUnk_08130060:: @ 08130060 + .incbin "baserom.gba", 0x130060, 0x000000C + +gUnk_0813006C:: @ 0813006C + .incbin "baserom.gba", 0x13006C, 0x000000C + +gUnk_08130078:: @ 08130078 + .incbin "baserom.gba", 0x130078, 0x000000C + +gUnk_08130084:: @ 08130084 + .incbin "baserom.gba", 0x130084, 0x0000005 + +gUnk_08130089:: @ 08130089 + .incbin "baserom.gba", 0x130089, 0x0000007 + +gUnk_08130090:: @ 08130090 + .incbin "baserom.gba", 0x130090, 0x000000C + +gUnk_0813009C:: @ 0813009C + .incbin "baserom.gba", 0x13009C, 0x000000C + +gUnk_081300A8:: @ 081300A8 + .incbin "baserom.gba", 0x1300A8, 0x000000C + +gUnk_081300B4:: @ 081300B4 + .incbin "baserom.gba", 0x1300B4, 0x000000C + +gUnk_081300C0:: @ 081300C0 + .incbin "baserom.gba", 0x1300C0, 0x000000C + +gUnk_081300CC:: @ 081300CC + .incbin "baserom.gba", 0x1300CC, 0x000000C + +gUnk_081300D8:: @ 081300D8 + .incbin "baserom.gba", 0x1300D8, 0x000000C + +gUnk_081300E4:: @ 081300E4 + .incbin "baserom.gba", 0x1300E4, 0x0000010 + +gUnk_081300F4:: @ 081300F4 + .incbin "baserom.gba", 0x1300F4, 0x000000C + +gUnk_08130100:: @ 08130100 + .incbin "baserom.gba", 0x130100, 0x0000014 + +gUnk_08130114:: @ 08130114 + .incbin "baserom.gba", 0x130114, 0x0000010 + +gUnk_08130124:: @ 08130124 + .incbin "baserom.gba", 0x130124, 0x000000C + +gUnk_08130130:: @ 08130130 + .incbin "baserom.gba", 0x130130, 0x000000C + +gUnk_0813013C:: @ 0813013C + .incbin "baserom.gba", 0x13013C, 0x000000C + +gUnk_08130148:: @ 08130148 + .incbin "baserom.gba", 0x130148, 0x000000C + +gUnk_08130154:: @ 08130154 + .incbin "baserom.gba", 0x130154, 0x000000C + +gUnk_08130160:: @ 08130160 + .incbin "baserom.gba", 0x130160, 0x000000C + +gUnk_0813016C:: @ 0813016C + .incbin "baserom.gba", 0x13016C, 0x000000C + +gUnk_08130178:: @ 08130178 + .incbin "baserom.gba", 0x130178, 0x0000010 + +gUnk_08130188:: @ 08130188 + .incbin "baserom.gba", 0x130188, 0x000000C + +gUnk_08130194:: @ 08130194 + .incbin "baserom.gba", 0x130194, 0x000000C + +gUnk_081301A0:: @ 081301A0 + .incbin "baserom.gba", 0x1301A0, 0x0000010 + +gUnk_081301B0:: @ 081301B0 + .incbin "baserom.gba", 0x1301B0, 0x0000010 + +gUnk_081301C0:: @ 081301C0 + .incbin "baserom.gba", 0x1301C0, 0x0000010 + +gUnk_081301D0:: @ 081301D0 + .incbin "baserom.gba", 0x1301D0, 0x000000C + +gUnk_081301DC:: @ 081301DC + .incbin "baserom.gba", 0x1301DC, 0x000000C + +gUnk_081301E8:: @ 081301E8 + .incbin "baserom.gba", 0x1301E8, 0x0000006 + +gUnk_081301EE:: @ 081301EE + .incbin "baserom.gba", 0x1301EE, 0x0000006 + +gUnk_081301F4:: @ 081301F4 + .incbin "baserom.gba", 0x1301F4, 0x0000010 + +gUnk_08130204:: @ 08130204 + .incbin "baserom.gba", 0x130204, 0x0000002 + +gUnk_08130206:: @ 08130206 + .incbin "baserom.gba", 0x130206, 0x000000A + +gUnk_08130210:: @ 08130210 + .incbin "baserom.gba", 0x130210, 0x000000C + +gUnk_0813021C:: @ 0813021C + .incbin "baserom.gba", 0x13021C, 0x000000C + +gUnk_08130228:: @ 08130228 + .incbin "baserom.gba", 0x130228, 0x000000C + +gUnk_08130234:: @ 08130234 + .incbin "baserom.gba", 0x130234, 0x000000C + +gUnk_08130240:: @ 08130240 + .incbin "baserom.gba", 0x130240, 0x000000C + +gUnk_0813024C:: @ 0813024C + .incbin "baserom.gba", 0x13024C, 0x000000C + +gUnk_08130258:: @ 08130258 + .incbin "baserom.gba", 0x130258, 0x000000C + +gUnk_08130264:: @ 08130264 + .incbin "baserom.gba", 0x130264, 0x000000C + +gUnk_08130270:: @ 08130270 + .incbin "baserom.gba", 0x130270, 0x000000C + +gUnk_0813027C:: @ 0813027C + .incbin "baserom.gba", 0x13027C, 0x000000C + +gUnk_08130288:: @ 08130288 + .incbin "baserom.gba", 0x130288, 0x000000C + +gUnk_08130294:: @ 08130294 + .incbin "baserom.gba", 0x130294, 0x000000C + +gUnk_081302A0:: @ 081302A0 + .incbin "baserom.gba", 0x1302A0, 0x000000C + +gUnk_081302AC:: @ 081302AC + .incbin "baserom.gba", 0x1302AC, 0x000000C + +gUnk_081302B8:: @ 081302B8 + .incbin "baserom.gba", 0x1302B8, 0x000000C + +gUnk_081302C4:: @ 081302C4 + .incbin "baserom.gba", 0x1302C4, 0x000000C + +gUnk_081302D0:: @ 081302D0 + .incbin "baserom.gba", 0x1302D0, 0x000000C + +gUnk_081302DC:: @ 081302DC + .incbin "baserom.gba", 0x1302DC, 0x000000C + +gUnk_081302E8:: @ 081302E8 + .incbin "baserom.gba", 0x1302E8, 0x000000C + +gUnk_081302F4:: @ 081302F4 + .incbin "baserom.gba", 0x1302F4, 0x000000C + +gUnk_08130300:: @ 08130300 + .incbin "baserom.gba", 0x130300, 0x000000C + +gUnk_0813030C:: @ 0813030C + .incbin "baserom.gba", 0x13030C, 0x000000C + +gUnk_08130318:: @ 08130318 + .incbin "baserom.gba", 0x130318, 0x000000C + +gUnk_08130324:: @ 08130324 + .incbin "baserom.gba", 0x130324, 0x000000C + +gUnk_08130330:: @ 08130330 + .incbin "baserom.gba", 0x130330, 0x000000C + +gUnk_0813033C:: @ 0813033C + .incbin "baserom.gba", 0x13033C, 0x000000C + +gUnk_08130348:: @ 08130348 + .incbin "baserom.gba", 0x130348, 0x000000C + +gUnk_08130354:: @ 08130354 + .incbin "baserom.gba", 0x130354, 0x000000C + +gUnk_08130360:: @ 08130360 + .incbin "baserom.gba", 0x130360, 0x000000C + +gUnk_0813036C:: @ 0813036C + .incbin "baserom.gba", 0x13036C, 0x0000286 + +gUnk_081305F2:: @ 081305F2 + .incbin "baserom.gba", 0x1305F2, 0x000001A + +gUnk_0813060C:: @ 0813060C + .incbin "baserom.gba", 0x13060C, 0x0000010 + +gUnk_0813061C:: @ 0813061C + .incbin "baserom.gba", 0x13061C, 0x0000010 + +gUnk_0813062C:: @ 0813062C + .incbin "baserom.gba", 0x13062C, 0x000000C + +gUnk_08130638:: @ 08130638 + .incbin "baserom.gba", 0x130638, 0x000000C + +gUnk_08130644:: @ 08130644 + .incbin "baserom.gba", 0x130644, 0x000000C + +gUnk_08130650:: @ 08130650 + .incbin "baserom.gba", 0x130650, 0x000000C + +gUnk_0813065C:: @ 0813065C + .incbin "baserom.gba", 0x13065C, 0x000000C + +gUnk_08130668:: @ 08130668 + .incbin "baserom.gba", 0x130668, 0x000000C + +gUnk_08130674:: @ 08130674 + .incbin "baserom.gba", 0x130674, 0x000000C + +gUnk_08130680:: @ 08130680 + .incbin "baserom.gba", 0x130680, 0x000000C + +gUnk_0813068C:: @ 0813068C + .incbin "baserom.gba", 0x13068C, 0x000000C + +gUnk_08130698:: @ 08130698 + .incbin "baserom.gba", 0x130698, 0x000000C + +gUnk_081306A4:: @ 081306A4 + .incbin "baserom.gba", 0x1306A4, 0x000000C + +gUnk_081306B0:: @ 081306B0 + .incbin "baserom.gba", 0x1306B0, 0x000000C + +gUnk_081306BC:: @ 081306BC + .incbin "baserom.gba", 0x1306BC, 0x000000C + +gUnk_081306C8:: @ 081306C8 + .incbin "baserom.gba", 0x1306C8, 0x000000C + +gUnk_081306D4:: @ 081306D4 + .incbin "baserom.gba", 0x1306D4, 0x000000C + +gUnk_081306E0:: @ 081306E0 + .incbin "baserom.gba", 0x1306E0, 0x0000004 + +gUnk_081306E4:: @ 081306E4 + .incbin "baserom.gba", 0x1306E4, 0x0000008 + +gUnk_081306EC:: @ 081306EC + .incbin "baserom.gba", 0x1306EC, 0x000000C + +gUnk_081306F8:: @ 081306F8 + .incbin "baserom.gba", 0x1306F8, 0x000000C + +gUnk_08130704:: @ 08130704 + .incbin "baserom.gba", 0x130704, 0x000000C + +gUnk_08130710:: @ 08130710 + .incbin "baserom.gba", 0x130710, 0x000000C + +gUnk_0813071C:: @ 0813071C + .incbin "baserom.gba", 0x13071C, 0x000000C + +gUnk_08130728:: @ 08130728 + .incbin "baserom.gba", 0x130728, 0x000000C + +gUnk_08130734:: @ 08130734 + .incbin "baserom.gba", 0x130734, 0x000000C + +gUnk_08130740:: @ 08130740 + .incbin "baserom.gba", 0x130740, 0x000000C + +gUnk_0813074C:: @ 0813074C + .incbin "baserom.gba", 0x13074C, 0x000000C + +gUnk_08130758:: @ 08130758 + .incbin "baserom.gba", 0x130758, 0x000000C + +gUnk_08130764:: @ 08130764 + .incbin "baserom.gba", 0x130764, 0x000000C + +gUnk_08130770:: @ 08130770 + .incbin "baserom.gba", 0x130770, 0x000000C + +gUnk_0813077C:: @ 0813077C + .incbin "baserom.gba", 0x13077C, 0x000000C + +gUnk_08130788:: @ 08130788 + .incbin "baserom.gba", 0x130788, 0x0000010 + +gUnk_08130798:: @ 08130798 + .incbin "baserom.gba", 0x130798, 0x000000C + +gUnk_081307A4:: @ 081307A4 + .incbin "baserom.gba", 0x1307A4, 0x000000C + +gUnk_081307B0:: @ 081307B0 + .incbin "baserom.gba", 0x1307B0, 0x0000010 + +gUnk_081307C0:: @ 081307C0 + .incbin "baserom.gba", 0x1307C0, 0x0000010 + +gUnk_081307D0:: @ 081307D0 + .incbin "baserom.gba", 0x1307D0, 0x0000010 + +gUnk_081307E0:: @ 081307E0 + .incbin "baserom.gba", 0x1307E0, 0x000000C + +gUnk_081307EC:: @ 081307EC + .incbin "baserom.gba", 0x1307EC, 0x000000C + +gUnk_081307F8:: @ 081307F8 + .incbin "baserom.gba", 0x1307F8, 0x000000A + +gUnk_08130802:: @ 08130802 + .incbin "baserom.gba", 0x130802, 0x0000002 + +gUnk_08130804:: @ 08130804 + .incbin "baserom.gba", 0x130804, 0x0000009 + +gUnk_0813080D:: @ 0813080D + .incbin "baserom.gba", 0x13080D, 0x0000003 + +gUnk_08130810:: @ 08130810 + .incbin "baserom.gba", 0x130810, 0x000000C + +gUnk_0813081C:: @ 0813081C + .incbin "baserom.gba", 0x13081C, 0x000000C + +gUnk_08130828:: @ 08130828 + .incbin "baserom.gba", 0x130828, 0x000000C + +gUnk_08130834:: @ 08130834 + .incbin "baserom.gba", 0x130834, 0x000000C + +gUnk_08130840:: @ 08130840 + .incbin "baserom.gba", 0x130840, 0x000000C + +gUnk_0813084C:: @ 0813084C + .incbin "baserom.gba", 0x13084C, 0x000000C + +gUnk_08130858:: @ 08130858 + .incbin "baserom.gba", 0x130858, 0x000000C + +gUnk_08130864:: @ 08130864 + .incbin "baserom.gba", 0x130864, 0x000000C + +gUnk_08130870:: @ 08130870 + .incbin "baserom.gba", 0x130870, 0x000000C + +gUnk_0813087C:: @ 0813087C + .incbin "baserom.gba", 0x13087C, 0x0000010 + +gUnk_0813088C:: @ 0813088C + .incbin "baserom.gba", 0x13088C, 0x000000C + +gUnk_08130898:: @ 08130898 + .incbin "baserom.gba", 0x130898, 0x000000C + +gUnk_081308A4:: @ 081308A4 + .incbin "baserom.gba", 0x1308A4, 0x000000C + +gUnk_081308B0:: @ 081308B0 + .incbin "baserom.gba", 0x1308B0, 0x000000C + +gUnk_081308BC:: @ 081308BC + .incbin "baserom.gba", 0x1308BC, 0x000000C + +gUnk_081308C8:: @ 081308C8 + .incbin "baserom.gba", 0x1308C8, 0x000000C + +gUnk_081308D4:: @ 081308D4 + .incbin "baserom.gba", 0x1308D4, 0x000000C + +gUnk_081308E0:: @ 081308E0 + .incbin "baserom.gba", 0x1308E0, 0x000000C + +gUnk_081308EC:: @ 081308EC + .incbin "baserom.gba", 0x1308EC, 0x000000C + +gUnk_081308F8:: @ 081308F8 + .incbin "baserom.gba", 0x1308F8, 0x0000007 + +gUnk_081308FF:: @ 081308FF + .incbin "baserom.gba", 0x1308FF, 0x0000005 + +gUnk_08130904:: @ 08130904 + .incbin "baserom.gba", 0x130904, 0x000000C + +gUnk_08130910:: @ 08130910 + .incbin "baserom.gba", 0x130910, 0x000000A + +gUnk_0813091A:: @ 0813091A + .incbin "baserom.gba", 0x13091A, 0x0000002 + +gUnk_0813091C:: @ 0813091C + .incbin "baserom.gba", 0x13091C, 0x000000C + +gUnk_08130928:: @ 08130928 + .incbin "baserom.gba", 0x130928, 0x000000C + +gUnk_08130934:: @ 08130934 + .incbin "baserom.gba", 0x130934, 0x000000C + +gUnk_08130940:: @ 08130940 + .incbin "baserom.gba", 0x130940, 0x000000C + +gUnk_0813094C:: @ 0813094C + .incbin "baserom.gba", 0x13094C, 0x0000010 + +gUnk_0813095C:: @ 0813095C + .incbin "baserom.gba", 0x13095C, 0x000000C + +gUnk_08130968:: @ 08130968 + .incbin "baserom.gba", 0x130968, 0x000000C + +gUnk_08130974:: @ 08130974 + .incbin "baserom.gba", 0x130974, 0x000000C + +gUnk_08130980:: @ 08130980 + .incbin "baserom.gba", 0x130980, 0x0000010 + +gUnk_08130990:: @ 08130990 + .incbin "baserom.gba", 0x130990, 0x000000C + +gUnk_0813099C:: @ 0813099C + .incbin "baserom.gba", 0x13099C, 0x000000C + +gUnk_081309A8:: @ 081309A8 + .incbin "baserom.gba", 0x1309A8, 0x000000C + +gUnk_081309B4:: @ 081309B4 + .incbin "baserom.gba", 0x1309B4, 0x000000C + +gUnk_081309C0:: @ 081309C0 + .incbin "baserom.gba", 0x1309C0, 0x000000C + +gUnk_081309CC:: @ 081309CC + .incbin "baserom.gba", 0x1309CC, 0x000000C + +gUnk_081309D8:: @ 081309D8 + .incbin "baserom.gba", 0x1309D8, 0x000000C + +gUnk_081309E4:: @ 081309E4 + .incbin "baserom.gba", 0x1309E4, 0x000000B + +gUnk_081309EF:: @ 081309EF + .incbin "baserom.gba", 0x1309EF, 0x0000001 + +gUnk_081309F0:: @ 081309F0 + .incbin "baserom.gba", 0x1309F0, 0x0000010 + +gUnk_08130A00:: @ 08130A00 + .incbin "baserom.gba", 0x130A00, 0x0000001 + +gUnk_08130A01:: @ 08130A01 + .incbin "baserom.gba", 0x130A01, 0x000000B + +gUnk_08130A0C:: @ 08130A0C + .incbin "baserom.gba", 0x130A0C, 0x000000C + +gUnk_08130A18:: @ 08130A18 + .incbin "baserom.gba", 0x130A18, 0x000000C + +gUnk_08130A24:: @ 08130A24 + .incbin "baserom.gba", 0x130A24, 0x0000010 + +gUnk_08130A34:: @ 08130A34 + .incbin "baserom.gba", 0x130A34, 0x000000C + +gUnk_08130A40:: @ 08130A40 + .incbin "baserom.gba", 0x130A40, 0x000000C + +gUnk_08130A4C:: @ 08130A4C + .incbin "baserom.gba", 0x130A4C, 0x000000C + +gUnk_08130A58:: @ 08130A58 + .incbin "baserom.gba", 0x130A58, 0x000000C + +gUnk_08130A64:: @ 08130A64 + .incbin "baserom.gba", 0x130A64, 0x0000010 + +gUnk_08130A74:: @ 08130A74 + .incbin "baserom.gba", 0x130A74, 0x000000C + +gUnk_08130A80:: @ 08130A80 + .incbin "baserom.gba", 0x130A80, 0x0000010 + +gUnk_08130A90:: @ 08130A90 + .incbin "baserom.gba", 0x130A90, 0x000000C + +gUnk_08130A9C:: @ 08130A9C + .incbin "baserom.gba", 0x130A9C, 0x000000C + +gUnk_08130AA8:: @ 08130AA8 + .incbin "baserom.gba", 0x130AA8, 0x000000C + +gUnk_08130AB4:: @ 08130AB4 + .incbin "baserom.gba", 0x130AB4, 0x000000C + +gUnk_08130AC0:: @ 08130AC0 + .incbin "baserom.gba", 0x130AC0, 0x000000C + +gUnk_08130ACC:: @ 08130ACC + .incbin "baserom.gba", 0x130ACC, 0x000000C + +gUnk_08130AD8:: @ 08130AD8 + .incbin "baserom.gba", 0x130AD8, 0x000000C + +gUnk_08130AE4:: @ 08130AE4 + .incbin "baserom.gba", 0x130AE4, 0x0000010 + +gUnk_08130AF4:: @ 08130AF4 + .incbin "baserom.gba", 0x130AF4, 0x000000C + +gUnk_08130B00:: @ 08130B00 + .incbin "baserom.gba", 0x130B00, 0x000000C + +gUnk_08130B0C:: @ 08130B0C + .incbin "baserom.gba", 0x130B0C, 0x000000C + +gUnk_08130B18:: @ 08130B18 + .incbin "baserom.gba", 0x130B18, 0x000000C + +gUnk_08130B24:: @ 08130B24 + .incbin "baserom.gba", 0x130B24, 0x000000C + +gUnk_08130B30:: @ 08130B30 + .incbin "baserom.gba", 0x130B30, 0x000000C + +gUnk_08130B3C:: @ 08130B3C + .incbin "baserom.gba", 0x130B3C, 0x0000010 + +gUnk_08130B4C:: @ 08130B4C + .incbin "baserom.gba", 0x130B4C, 0x000000C + +gUnk_08130B58:: @ 08130B58 + .incbin "baserom.gba", 0x130B58, 0x0000014 + +gUnk_08130B6C:: @ 08130B6C + .incbin "baserom.gba", 0x130B6C, 0x0000010 + +gUnk_08130B7C:: @ 08130B7C + .incbin "baserom.gba", 0x130B7C, 0x0000014 + +gUnk_08130B90:: @ 08130B90 + .incbin "baserom.gba", 0x130B90, 0x0000010 + +gUnk_08130BA0:: @ 08130BA0 + .incbin "baserom.gba", 0x130BA0, 0x000000C + +gUnk_08130BAC:: @ 08130BAC + .incbin "baserom.gba", 0x130BAC, 0x000000C + +gUnk_08130BB8:: @ 08130BB8 + .incbin "baserom.gba", 0x130BB8, 0x000000C + +gUnk_08130BC4:: @ 08130BC4 + .incbin "baserom.gba", 0x130BC4, 0x000000C + +gUnk_08130BD0:: @ 08130BD0 + .incbin "baserom.gba", 0x130BD0, 0x000000C + +gUnk_08130BDC:: @ 08130BDC + .incbin "baserom.gba", 0x130BDC, 0x000000C + +gUnk_08130BE8:: @ 08130BE8 + .incbin "baserom.gba", 0x130BE8, 0x000000C + +gUnk_08130BF4:: @ 08130BF4 + .incbin "baserom.gba", 0x130BF4, 0x000000F + +gUnk_08130C03:: @ 08130C03 + .incbin "baserom.gba", 0x130C03, 0x0000001 + +gUnk_08130C04:: @ 08130C04 + .incbin "baserom.gba", 0x130C04, 0x0000010 + +gUnk_08130C14:: @ 08130C14 + .incbin "baserom.gba", 0x130C14, 0x000000C + +gUnk_08130C20:: @ 08130C20 + .incbin "baserom.gba", 0x130C20, 0x000000C + +gUnk_08130C2C:: @ 08130C2C + .incbin "baserom.gba", 0x130C2C, 0x000000C + +gUnk_08130C38:: @ 08130C38 + .incbin "baserom.gba", 0x130C38, 0x000000C + +gUnk_08130C44:: @ 08130C44 + .incbin "baserom.gba", 0x130C44, 0x000000C + +gUnk_08130C50:: @ 08130C50 + .incbin "baserom.gba", 0x130C50, 0x000000C + +gUnk_08130C5C:: @ 08130C5C + .incbin "baserom.gba", 0x130C5C, 0x000000C + +gUnk_08130C68:: @ 08130C68 + .incbin "baserom.gba", 0x130C68, 0x000000C + +gUnk_08130C74:: @ 08130C74 + .incbin "baserom.gba", 0x130C74, 0x000000C + +gUnk_08130C80:: @ 08130C80 + .incbin "baserom.gba", 0x130C80, 0x000000C + +gUnk_08130C8C:: @ 08130C8C + .incbin "baserom.gba", 0x130C8C, 0x000000C + +gUnk_08130C98:: @ 08130C98 + .incbin "baserom.gba", 0x130C98, 0x000000C + +gUnk_08130CA4:: @ 08130CA4 + .incbin "baserom.gba", 0x130CA4, 0x000000C + +gUnk_08130CB0:: @ 08130CB0 + .incbin "baserom.gba", 0x130CB0, 0x000000C + +gUnk_08130CBC:: @ 08130CBC + .incbin "baserom.gba", 0x130CBC, 0x000000C + +gUnk_08130CC8:: @ 08130CC8 + .incbin "baserom.gba", 0x130CC8, 0x000000C + +gUnk_08130CD4:: @ 08130CD4 + .incbin "baserom.gba", 0x130CD4, 0x000000C + +gUnk_08130CE0:: @ 08130CE0 + .incbin "baserom.gba", 0x130CE0, 0x000000C + +gUnk_08130CEC:: @ 08130CEC + .incbin "baserom.gba", 0x130CEC, 0x000000C + +gUnk_08130CF8:: @ 08130CF8 + .incbin "baserom.gba", 0x130CF8, 0x000000C + +gUnk_08130D04:: @ 08130D04 + .incbin "baserom.gba", 0x130D04, 0x0000007 + +gUnk_08130D0B:: @ 08130D0B + .incbin "baserom.gba", 0x130D0B, 0x0000004 + +gUnk_08130D0F:: @ 08130D0F + .incbin "baserom.gba", 0x130D0F, 0x0000001 + +gUnk_08130D10:: @ 08130D10 + .incbin "baserom.gba", 0x130D10, 0x000000C + +gUnk_08130D1C:: @ 08130D1C + .incbin "baserom.gba", 0x130D1C, 0x000000C + +gUnk_08130D28:: @ 08130D28 + .incbin "baserom.gba", 0x130D28, 0x000000C + +gUnk_08130D34:: @ 08130D34 + .incbin "baserom.gba", 0x130D34, 0x000000C + +gUnk_08130D40:: @ 08130D40 + .incbin "baserom.gba", 0x130D40, 0x000000C + +gUnk_08130D4C:: @ 08130D4C + .incbin "baserom.gba", 0x130D4C, 0x000000C + +gUnk_08130D58:: @ 08130D58 + .incbin "baserom.gba", 0x130D58, 0x000000C + +gUnk_08130D64:: @ 08130D64 + .incbin "baserom.gba", 0x130D64, 0x000000C + +gUnk_08130D70:: @ 08130D70 + .incbin "baserom.gba", 0x130D70, 0x000000C + +gUnk_08130D7C:: @ 08130D7C + .incbin "baserom.gba", 0x130D7C, 0x000000C + +gUnk_08130D88:: @ 08130D88 + .incbin "baserom.gba", 0x130D88, 0x000000C + +gUnk_08130D94:: @ 08130D94 + .incbin "baserom.gba", 0x130D94, 0x000000C + +gUnk_08130DA0:: @ 08130DA0 + .incbin "baserom.gba", 0x130DA0, 0x000000C + +gUnk_08130DAC:: @ 08130DAC + .incbin "baserom.gba", 0x130DAC, 0x000000C + +gUnk_08130DB8:: @ 08130DB8 + .incbin "baserom.gba", 0x130DB8, 0x000000C + +gUnk_08130DC4:: @ 08130DC4 + .incbin "baserom.gba", 0x130DC4, 0x000000C + +gUnk_08130DD0:: @ 08130DD0 + .incbin "baserom.gba", 0x130DD0, 0x000000C + +gUnk_08130DDC:: @ 08130DDC + .incbin "baserom.gba", 0x130DDC, 0x000000C + +gUnk_08130DE8:: @ 08130DE8 + .incbin "baserom.gba", 0x130DE8, 0x000000C + +gUnk_08130DF4:: @ 08130DF4 + .incbin "baserom.gba", 0x130DF4, 0x000000C + +gUnk_08130E00:: @ 08130E00 + .incbin "baserom.gba", 0x130E00, 0x00000E6 + +gUnk_08130EE6:: @ 08130EE6 + .incbin "baserom.gba", 0x130EE6, 0x0000017 + +gUnk_08130EFD:: @ 08130EFD + .incbin "baserom.gba", 0x130EFD, 0x0000008 + +gUnk_08130F05:: @ 08130F05 + .incbin "baserom.gba", 0x130F05, 0x0000005 + +gUnk_08130F0A:: @ 08130F0A + .incbin "baserom.gba", 0x130F0A, 0x0000002 + +gUnk_08130F0C:: @ 08130F0C + .incbin "baserom.gba", 0x130F0C, 0x0000004 + +gUnk_08130F10:: @ 08130F10 + .incbin "baserom.gba", 0x130F10, 0x0000001 + +gUnk_08130F11:: @ 08130F11 + .incbin "baserom.gba", 0x130F11, 0x00000F4 + +gUnk_08131005:: @ 08131005 + .incbin "baserom.gba", 0x131005, 0x0000005 + +gUnk_0813100A:: @ 0813100A + .incbin "baserom.gba", 0x13100A, 0x0000026 + +gUnk_08131030:: @ 08131030 + .incbin "baserom.gba", 0x131030, 0x000000C + +gUnk_0813103C:: @ 0813103C + .incbin "baserom.gba", 0x13103C, 0x000000C + +gUnk_08131048:: @ 08131048 + .incbin "baserom.gba", 0x131048, 0x000000C + +gUnk_08131054:: @ 08131054 + .incbin "baserom.gba", 0x131054, 0x000000C + +gUnk_08131060:: @ 08131060 + .incbin "baserom.gba", 0x131060, 0x000000C + +gUnk_0813106C:: @ 0813106C + .incbin "baserom.gba", 0x13106C, 0x000000C + +gUnk_08131078:: @ 08131078 + .incbin "baserom.gba", 0x131078, 0x000000C + +gUnk_08131084:: @ 08131084 + .incbin "baserom.gba", 0x131084, 0x000000C + +gUnk_08131090:: @ 08131090 + .incbin "baserom.gba", 0x131090, 0x0000010 + +gUnk_081310A0:: @ 081310A0 + .incbin "baserom.gba", 0x1310A0, 0x000000C + +gUnk_081310AC:: @ 081310AC + .incbin "baserom.gba", 0x1310AC, 0x0000010 + +gUnk_081310BC:: @ 081310BC + .incbin "baserom.gba", 0x1310BC, 0x0000007 + +gUnk_081310C3:: @ 081310C3 + .incbin "baserom.gba", 0x1310C3, 0x0000009 + +gUnk_081310CC:: @ 081310CC + .incbin "baserom.gba", 0x1310CC, 0x000000C + +gUnk_081310D8:: @ 081310D8 + .incbin "baserom.gba", 0x1310D8, 0x000000C + +gUnk_081310E4:: @ 081310E4 + .incbin "baserom.gba", 0x1310E4, 0x000000C + +gUnk_081310F0:: @ 081310F0 + .incbin "baserom.gba", 0x1310F0, 0x0000005 + +gUnk_081310F5:: @ 081310F5 + .incbin "baserom.gba", 0x1310F5, 0x000000B + +gUnk_08131100:: @ 08131100 + .incbin "baserom.gba", 0x131100, 0x000000C + +gUnk_0813110C:: @ 0813110C + .incbin "baserom.gba", 0x13110C, 0x0000004 + +gUnk_08131110:: @ 08131110 + .incbin "baserom.gba", 0x131110, 0x000000C + +gUnk_0813111C:: @ 0813111C + .incbin "baserom.gba", 0x13111C, 0x0000010 + +gUnk_0813112C:: @ 0813112C + .incbin "baserom.gba", 0x13112C, 0x000000C + +gUnk_08131138:: @ 08131138 + .incbin "baserom.gba", 0x131138, 0x000000C + +gUnk_08131144:: @ 08131144 + .incbin "baserom.gba", 0x131144, 0x000000C + +gUnk_08131150:: @ 08131150 + .incbin "baserom.gba", 0x131150, 0x000000C + +gUnk_0813115C:: @ 0813115C + .incbin "baserom.gba", 0x13115C, 0x000000C + +gUnk_08131168:: @ 08131168 + .incbin "baserom.gba", 0x131168, 0x000000C + +gUnk_08131174:: @ 08131174 + .incbin "baserom.gba", 0x131174, 0x000000C + +gUnk_08131180:: @ 08131180 + .incbin "baserom.gba", 0x131180, 0x000000C + +gUnk_0813118C:: @ 0813118C + .incbin "baserom.gba", 0x13118C, 0x000000C + +gUnk_08131198:: @ 08131198 + .incbin "baserom.gba", 0x131198, 0x000000C + +gUnk_081311A4:: @ 081311A4 + .incbin "baserom.gba", 0x1311A4, 0x000000C + +gUnk_081311B0:: @ 081311B0 + .incbin "baserom.gba", 0x1311B0, 0x000000C + +gUnk_081311BC:: @ 081311BC + .incbin "baserom.gba", 0x1311BC, 0x0000010 + +gUnk_081311CC:: @ 081311CC + .incbin "baserom.gba", 0x1311CC, 0x000000C + +gUnk_081311D8:: @ 081311D8 + .incbin "baserom.gba", 0x1311D8, 0x000000C + +gUnk_081311E4:: @ 081311E4 + .incbin "baserom.gba", 0x1311E4, 0x0000010 + +gUnk_081311F4:: @ 081311F4 + .incbin "baserom.gba", 0x1311F4, 0x000000C + +gUnk_08131200:: @ 08131200 + .incbin "baserom.gba", 0x131200, 0x000000C + +gUnk_0813120C:: @ 0813120C + .incbin "baserom.gba", 0x13120C, 0x0000006 + +gUnk_08131212:: @ 08131212 + .incbin "baserom.gba", 0x131212, 0x0000002 + +gUnk_08131214:: @ 08131214 + .incbin "baserom.gba", 0x131214, 0x0000001 + +gUnk_08131215:: @ 08131215 + .incbin "baserom.gba", 0x131215, 0x0000003 + +gUnk_08131218:: @ 08131218 + .incbin "baserom.gba", 0x131218, 0x000000C + +gUnk_08131224:: @ 08131224 + .incbin "baserom.gba", 0x131224, 0x000000C + +gUnk_08131230:: @ 08131230 + .incbin "baserom.gba", 0x131230, 0x000000C + +gUnk_0813123C:: @ 0813123C + .incbin "baserom.gba", 0x13123C, 0x000000C + +gUnk_08131248:: @ 08131248 + .incbin "baserom.gba", 0x131248, 0x000000C + +gUnk_08131254:: @ 08131254 + .incbin "baserom.gba", 0x131254, 0x000000C + +gUnk_08131260:: @ 08131260 + .incbin "baserom.gba", 0x131260, 0x000000C + +gUnk_0813126C:: @ 0813126C + .incbin "baserom.gba", 0x13126C, 0x000000C + +gUnk_08131278:: @ 08131278 + .incbin "baserom.gba", 0x131278, 0x000000C + +gUnk_08131284:: @ 08131284 + .incbin "baserom.gba", 0x131284, 0x000000C + +gUnk_08131290:: @ 08131290 + .incbin "baserom.gba", 0x131290, 0x000000C + +gUnk_0813129C:: @ 0813129C + .incbin "baserom.gba", 0x13129C, 0x000000C + +gUnk_081312A8:: @ 081312A8 + .incbin "baserom.gba", 0x1312A8, 0x000000C + +gUnk_081312B4:: @ 081312B4 + .incbin "baserom.gba", 0x1312B4, 0x000000C + +gUnk_081312C0:: @ 081312C0 + .incbin "baserom.gba", 0x1312C0, 0x000000C + +gUnk_081312CC:: @ 081312CC + .incbin "baserom.gba", 0x1312CC, 0x000000C + +gUnk_081312D8:: @ 081312D8 + .incbin "baserom.gba", 0x1312D8, 0x000000C + +gUnk_081312E4:: @ 081312E4 + .incbin "baserom.gba", 0x1312E4, 0x000000C + +gUnk_081312F0:: @ 081312F0 + .incbin "baserom.gba", 0x1312F0, 0x000000C + +gUnk_081312FC:: @ 081312FC + .incbin "baserom.gba", 0x1312FC, 0x000000C + +gUnk_08131308:: @ 08131308 + .incbin "baserom.gba", 0x131308, 0x000000C + +gUnk_08131314:: @ 08131314 + .incbin "baserom.gba", 0x131314, 0x0000003 + +gUnk_08131317:: @ 08131317 + .incbin "baserom.gba", 0x131317, 0x0000001 + +gUnk_08131318:: @ 08131318 + .incbin "baserom.gba", 0x131318, 0x0000008 + +gUnk_08131320:: @ 08131320 + .incbin "baserom.gba", 0x131320, 0x000000C + +gUnk_0813132C:: @ 0813132C + .incbin "baserom.gba", 0x13132C, 0x000000C + +gUnk_08131338:: @ 08131338 + .incbin "baserom.gba", 0x131338, 0x000000C + +gUnk_08131344:: @ 08131344 + .incbin "baserom.gba", 0x131344, 0x000000C + +gUnk_08131350:: @ 08131350 + .incbin "baserom.gba", 0x131350, 0x000000C + +gUnk_0813135C:: @ 0813135C + .incbin "baserom.gba", 0x13135C, 0x000000C + +gUnk_08131368:: @ 08131368 + .incbin "baserom.gba", 0x131368, 0x000000C + +gUnk_08131374:: @ 08131374 + .incbin "baserom.gba", 0x131374, 0x000000C + +gUnk_08131380:: @ 08131380 + .incbin "baserom.gba", 0x131380, 0x000000C + +gUnk_0813138C:: @ 0813138C + .incbin "baserom.gba", 0x13138C, 0x0000010 + +gUnk_0813139C:: @ 0813139C + .incbin "baserom.gba", 0x13139C, 0x000000C + +gUnk_081313A8:: @ 081313A8 + .incbin "baserom.gba", 0x1313A8, 0x000000C + +gUnk_081313B4:: @ 081313B4 + .incbin "baserom.gba", 0x1313B4, 0x000000C + +gUnk_081313C0:: @ 081313C0 + .incbin "baserom.gba", 0x1313C0, 0x000000C + +gUnk_081313CC:: @ 081313CC + .incbin "baserom.gba", 0x1313CC, 0x000000C + +gUnk_081313D8:: @ 081313D8 + .incbin "baserom.gba", 0x1313D8, 0x000000C + +gUnk_081313E4:: @ 081313E4 + .incbin "baserom.gba", 0x1313E4, 0x000000C + +gUnk_081313F0:: @ 081313F0 + .incbin "baserom.gba", 0x1313F0, 0x000000C + +gUnk_081313FC:: @ 081313FC + .incbin "baserom.gba", 0x1313FC, 0x0000001 + +gUnk_081313FD:: @ 081313FD + .incbin "baserom.gba", 0x1313FD, 0x000000B + +gUnk_08131408:: @ 08131408 + .incbin "baserom.gba", 0x131408, 0x0000004 + +gUnk_0813140C:: @ 0813140C + .incbin "baserom.gba", 0x13140C, 0x0000004 + +gUnk_08131410:: @ 08131410 + .incbin "baserom.gba", 0x131410, 0x0000004 + +gUnk_08131414:: @ 08131414 + .incbin "baserom.gba", 0x131414, 0x000000C + +gUnk_08131420:: @ 08131420 + .incbin "baserom.gba", 0x131420, 0x000000C + +gUnk_0813142C:: @ 0813142C + .incbin "baserom.gba", 0x13142C, 0x0000004 + +gUnk_08131430:: @ 08131430 + .incbin "baserom.gba", 0x131430, 0x000000C + +gUnk_0813143C:: @ 0813143C + .incbin "baserom.gba", 0x13143C, 0x000000C + +gUnk_08131448:: @ 08131448 + .incbin "baserom.gba", 0x131448, 0x000000C + +gUnk_08131454:: @ 08131454 + .incbin "baserom.gba", 0x131454, 0x000000C + +gUnk_08131460:: @ 08131460 + .incbin "baserom.gba", 0x131460, 0x000000C + +gUnk_0813146C:: @ 0813146C + .incbin "baserom.gba", 0x13146C, 0x000000C + +gUnk_08131478:: @ 08131478 + .incbin "baserom.gba", 0x131478, 0x000000C + +gUnk_08131484:: @ 08131484 + .incbin "baserom.gba", 0x131484, 0x000000C + +gUnk_08131490:: @ 08131490 + .incbin "baserom.gba", 0x131490, 0x000000C + +gUnk_0813149C:: @ 0813149C + .incbin "baserom.gba", 0x13149C, 0x000000C + +gUnk_081314A8:: @ 081314A8 + .incbin "baserom.gba", 0x1314A8, 0x000000C + +gUnk_081314B4:: @ 081314B4 + .incbin "baserom.gba", 0x1314B4, 0x000000C + +gUnk_081314C0:: @ 081314C0 + .incbin "baserom.gba", 0x1314C0, 0x000000C + +gUnk_081314CC:: @ 081314CC + .incbin "baserom.gba", 0x1314CC, 0x000000C + +gUnk_081314D8:: @ 081314D8 + .incbin "baserom.gba", 0x1314D8, 0x000000C + +gUnk_081314E4:: @ 081314E4 + .incbin "baserom.gba", 0x1314E4, 0x000000C + +gUnk_081314F0:: @ 081314F0 + .incbin "baserom.gba", 0x1314F0, 0x000000C + +gUnk_081314FC:: @ 081314FC + .incbin "baserom.gba", 0x1314FC, 0x000000C + +gUnk_08131508:: @ 08131508 + .incbin "baserom.gba", 0x131508, 0x000000C + +gUnk_08131514:: @ 08131514 + .incbin "baserom.gba", 0x131514, 0x000000C + +gUnk_08131520:: @ 08131520 + .incbin "baserom.gba", 0x131520, 0x000000C + +gUnk_0813152C:: @ 0813152C + .incbin "baserom.gba", 0x13152C, 0x000000C + +gUnk_08131538:: @ 08131538 + .incbin "baserom.gba", 0x131538, 0x000000C + +gUnk_08131544:: @ 08131544 + .incbin "baserom.gba", 0x131544, 0x000000C + +gUnk_08131550:: @ 08131550 + .incbin "baserom.gba", 0x131550, 0x000000C + +gUnk_0813155C:: @ 0813155C + .incbin "baserom.gba", 0x13155C, 0x000000C + +gUnk_08131568:: @ 08131568 + .incbin "baserom.gba", 0x131568, 0x000000C + +gUnk_08131574:: @ 08131574 + .incbin "baserom.gba", 0x131574, 0x000000C + +gUnk_08131580:: @ 08131580 + .incbin "baserom.gba", 0x131580, 0x000000C + +gUnk_0813158C:: @ 0813158C + .incbin "baserom.gba", 0x13158C, 0x000000C + +gUnk_08131598:: @ 08131598 + .incbin "baserom.gba", 0x131598, 0x000000C + +gUnk_081315A4:: @ 081315A4 + .incbin "baserom.gba", 0x1315A4, 0x000000C + +gUnk_081315B0:: @ 081315B0 + .incbin "baserom.gba", 0x1315B0, 0x000000C + +gUnk_081315BC:: @ 081315BC + .incbin "baserom.gba", 0x1315BC, 0x000000C + +gUnk_081315C8:: @ 081315C8 + .incbin "baserom.gba", 0x1315C8, 0x000000C + +gUnk_081315D4:: @ 081315D4 + .incbin "baserom.gba", 0x1315D4, 0x0000009 + +gUnk_081315DD:: @ 081315DD + .incbin "baserom.gba", 0x1315DD, 0x0000003 + +gUnk_081315E0:: @ 081315E0 + .incbin "baserom.gba", 0x1315E0, 0x000000C + +gUnk_081315EC:: @ 081315EC + .incbin "baserom.gba", 0x1315EC, 0x000000C + +gUnk_081315F8:: @ 081315F8 + .incbin "baserom.gba", 0x1315F8, 0x000000C + +gUnk_08131604:: @ 08131604 + .incbin "baserom.gba", 0x131604, 0x000000C + +gUnk_08131610:: @ 08131610 + .incbin "baserom.gba", 0x131610, 0x000000B + +gUnk_0813161B:: @ 0813161B + .incbin "baserom.gba", 0x13161B, 0x0000001 + +gUnk_0813161C:: @ 0813161C + .incbin "baserom.gba", 0x13161C, 0x000000C + +gUnk_08131628:: @ 08131628 + .incbin "baserom.gba", 0x131628, 0x000000C + +gUnk_08131634:: @ 08131634 + .incbin "baserom.gba", 0x131634, 0x000000C + +gUnk_08131640:: @ 08131640 + .incbin "baserom.gba", 0x131640, 0x000000C + +gUnk_0813164C:: @ 0813164C + .incbin "baserom.gba", 0x13164C, 0x000000C + +gUnk_08131658:: @ 08131658 + .incbin "baserom.gba", 0x131658, 0x000000C + +gUnk_08131664:: @ 08131664 + .incbin "baserom.gba", 0x131664, 0x000000C + +gUnk_08131670:: @ 08131670 + .incbin "baserom.gba", 0x131670, 0x000000C + +gUnk_0813167C:: @ 0813167C + .incbin "baserom.gba", 0x13167C, 0x000000C + +gUnk_08131688:: @ 08131688 + .incbin "baserom.gba", 0x131688, 0x000000C + +gUnk_08131694:: @ 08131694 + .incbin "baserom.gba", 0x131694, 0x000000C + +gUnk_081316A0:: @ 081316A0 + .incbin "baserom.gba", 0x1316A0, 0x000004E + +gUnk_081316EE:: @ 081316EE + .incbin "baserom.gba", 0x1316EE, 0x000001A + +gUnk_08131708:: @ 08131708 + .incbin "baserom.gba", 0x131708, 0x0000008 + +gUnk_08131710:: @ 08131710 + .incbin "baserom.gba", 0x131710, 0x0000002 + +gUnk_08131712:: @ 08131712 + .incbin "baserom.gba", 0x131712, 0x0000001 + +gUnk_08131713:: @ 08131713 + .incbin "baserom.gba", 0x131713, 0x0000003 + +gUnk_08131716:: @ 08131716 + .incbin "baserom.gba", 0x131716, 0x0000009 + +gUnk_0813171F:: @ 0813171F + .incbin "baserom.gba", 0x13171F, 0x00000C3 + +gUnk_081317E2:: @ 081317E2 + .incbin "baserom.gba", 0x1317E2, 0x0000032 + +gUnk_08131814:: @ 08131814 + .incbin "baserom.gba", 0x131814, 0x0000001 + +gUnk_08131815:: @ 08131815 + .incbin "baserom.gba", 0x131815, 0x00000F7 + +gUnk_0813190C:: @ 0813190C + .incbin "baserom.gba", 0x13190C, 0x0000001 + +gUnk_0813190D:: @ 0813190D + .incbin "baserom.gba", 0x13190D, 0x0000008 + +gUnk_08131915:: @ 08131915 + .incbin "baserom.gba", 0x131915, 0x0000002 + +gUnk_08131917:: @ 08131917 + .incbin "baserom.gba", 0x131917, 0x0000001 + +gUnk_08131918:: @ 08131918 + .incbin "baserom.gba", 0x131918, 0x0000001 + +gUnk_08131919:: @ 08131919 + .incbin "baserom.gba", 0x131919, 0x0000004 + +gUnk_0813191D:: @ 0813191D + .incbin "baserom.gba", 0x13191D, 0x0000003 + +gUnk_08131920:: @ 08131920 + .incbin "baserom.gba", 0x131920, 0x0000008 + +gUnk_08131928:: @ 08131928 + .incbin "baserom.gba", 0x131928, 0x0000010 + +gUnk_08131938:: @ 08131938 + .incbin "baserom.gba", 0x131938, 0x0000010 + +gUnk_08131948:: @ 08131948 + .incbin "baserom.gba", 0x131948, 0x000000C + +gUnk_08131954:: @ 08131954 + .incbin "baserom.gba", 0x131954, 0x000000C + +gUnk_08131960:: @ 08131960 + .incbin "baserom.gba", 0x131960, 0x000000C + +gUnk_0813196C:: @ 0813196C + .incbin "baserom.gba", 0x13196C, 0x000000C + +gUnk_08131978:: @ 08131978 + .incbin "baserom.gba", 0x131978, 0x000000C + +gUnk_08131984:: @ 08131984 + .incbin "baserom.gba", 0x131984, 0x000000C + +gUnk_08131990:: @ 08131990 + .incbin "baserom.gba", 0x131990, 0x000000C + +gUnk_0813199C:: @ 0813199C + .incbin "baserom.gba", 0x13199C, 0x000000C + +gUnk_081319A8:: @ 081319A8 + .incbin "baserom.gba", 0x1319A8, 0x000000C + +gUnk_081319B4:: @ 081319B4 + .incbin "baserom.gba", 0x1319B4, 0x000000C + +gUnk_081319C0:: @ 081319C0 + .incbin "baserom.gba", 0x1319C0, 0x000000C + +gUnk_081319CC:: @ 081319CC + .incbin "baserom.gba", 0x1319CC, 0x000000C + +gUnk_081319D8:: @ 081319D8 + .incbin "baserom.gba", 0x1319D8, 0x000000C + +gUnk_081319E4:: @ 081319E4 + .incbin "baserom.gba", 0x1319E4, 0x0000014 + +gUnk_081319F8:: @ 081319F8 + .incbin "baserom.gba", 0x1319F8, 0x0000010 + +gUnk_08131A08:: @ 08131A08 + .incbin "baserom.gba", 0x131A08, 0x0000010 + +gUnk_08131A18:: @ 08131A18 + .incbin "baserom.gba", 0x131A18, 0x0000005 + +gUnk_08131A1D:: @ 08131A1D + .incbin "baserom.gba", 0x131A1D, 0x0000001 + +gUnk_08131A1E:: @ 08131A1E + .incbin "baserom.gba", 0x131A1E, 0x0000001 + +gUnk_08131A1F:: @ 08131A1F + .incbin "baserom.gba", 0x131A1F, 0x0000009 + +gUnk_08131A28:: @ 08131A28 + .incbin "baserom.gba", 0x131A28, 0x000000C + +gUnk_08131A34:: @ 08131A34 + .incbin "baserom.gba", 0x131A34, 0x000000C + +gUnk_08131A40:: @ 08131A40 + .incbin "baserom.gba", 0x131A40, 0x0000010 + +gUnk_08131A50:: @ 08131A50 + .incbin "baserom.gba", 0x131A50, 0x0000010 + +gUnk_08131A60:: @ 08131A60 + .incbin "baserom.gba", 0x131A60, 0x0000010 + +gUnk_08131A70:: @ 08131A70 + .incbin "baserom.gba", 0x131A70, 0x0000010 + +gUnk_08131A80:: @ 08131A80 + .incbin "baserom.gba", 0x131A80, 0x0000010 + +gUnk_08131A90:: @ 08131A90 + .incbin "baserom.gba", 0x131A90, 0x0000010 + +gUnk_08131AA0:: @ 08131AA0 + .incbin "baserom.gba", 0x131AA0, 0x0000014 + +gUnk_08131AB4:: @ 08131AB4 + .incbin "baserom.gba", 0x131AB4, 0x0000010 + +gUnk_08131AC4:: @ 08131AC4 + .incbin "baserom.gba", 0x131AC4, 0x0000014 + +gUnk_08131AD8:: @ 08131AD8 + .incbin "baserom.gba", 0x131AD8, 0x0000014 + +gUnk_08131AEC:: @ 08131AEC + .incbin "baserom.gba", 0x131AEC, 0x0000014 + +gUnk_08131B00:: @ 08131B00 + .incbin "baserom.gba", 0x131B00, 0x000000F + +gUnk_08131B0F:: @ 08131B0F + .incbin "baserom.gba", 0x131B0F, 0x0000001 + +gUnk_08131B10:: @ 08131B10 + .incbin "baserom.gba", 0x131B10, 0x0000008 + +gUnk_08131B18:: @ 08131B18 + .incbin "baserom.gba", 0x131B18, 0x0000001 + +gUnk_08131B19:: @ 08131B19 + .incbin "baserom.gba", 0x131B19, 0x0000003 + +gUnk_08131B1C:: @ 08131B1C + .incbin "baserom.gba", 0x131B1C, 0x0000004 + +gUnk_08131B20:: @ 08131B20 + .incbin "baserom.gba", 0x131B20, 0x0000002 + +gUnk_08131B22:: @ 08131B22 + .incbin "baserom.gba", 0x131B22, 0x0000002 + +gUnk_08131B24:: @ 08131B24 + .incbin "baserom.gba", 0x131B24, 0x0000010 + +gUnk_08131B34:: @ 08131B34 + .incbin "baserom.gba", 0x131B34, 0x0000010 + +gUnk_08131B44:: @ 08131B44 + .incbin "baserom.gba", 0x131B44, 0x0000010 + +gUnk_08131B54:: @ 08131B54 + .incbin "baserom.gba", 0x131B54, 0x0000010 + +gUnk_08131B64:: @ 08131B64 + .incbin "baserom.gba", 0x131B64, 0x000000C + +gUnk_08131B70:: @ 08131B70 + .incbin "baserom.gba", 0x131B70, 0x000000C + +gUnk_08131B7C:: @ 08131B7C + .incbin "baserom.gba", 0x131B7C, 0x000000C + +gUnk_08131B88:: @ 08131B88 + .incbin "baserom.gba", 0x131B88, 0x000000C + +gUnk_08131B94:: @ 08131B94 + .incbin "baserom.gba", 0x131B94, 0x000000C + +gUnk_08131BA0:: @ 08131BA0 + .incbin "baserom.gba", 0x131BA0, 0x000000C + +gUnk_08131BAC:: @ 08131BAC + .incbin "baserom.gba", 0x131BAC, 0x000000C + +gUnk_08131BB8:: @ 08131BB8 + .incbin "baserom.gba", 0x131BB8, 0x000000C + +gUnk_08131BC4:: @ 08131BC4 + .incbin "baserom.gba", 0x131BC4, 0x000000C + +gUnk_08131BD0:: @ 08131BD0 + .incbin "baserom.gba", 0x131BD0, 0x000000C + +gUnk_08131BDC:: @ 08131BDC + .incbin "baserom.gba", 0x131BDC, 0x000000C + +gUnk_08131BE8:: @ 08131BE8 + .incbin "baserom.gba", 0x131BE8, 0x0000010 + +gUnk_08131BF8:: @ 08131BF8 + .incbin "baserom.gba", 0x131BF8, 0x000000C + +gUnk_08131C04:: @ 08131C04 + .incbin "baserom.gba", 0x131C04, 0x000000C + +gUnk_08131C10:: @ 08131C10 + .incbin "baserom.gba", 0x131C10, 0x000000C + +gUnk_08131C1C:: @ 08131C1C + .incbin "baserom.gba", 0x131C1C, 0x0000002 + +gUnk_08131C1E:: @ 08131C1E + .incbin "baserom.gba", 0x131C1E, 0x0000005 + +gUnk_08131C23:: @ 08131C23 + .incbin "baserom.gba", 0x131C23, 0x0000002 + +gUnk_08131C25:: @ 08131C25 + .incbin "baserom.gba", 0x131C25, 0x0000003 + +gUnk_08131C28:: @ 08131C28 + .incbin "baserom.gba", 0x131C28, 0x000000C + +gUnk_08131C34:: @ 08131C34 + .incbin "baserom.gba", 0x131C34, 0x000000C + +gUnk_08131C40:: @ 08131C40 + .incbin "baserom.gba", 0x131C40, 0x0000010 + +gUnk_08131C50:: @ 08131C50 + .incbin "baserom.gba", 0x131C50, 0x000000C + +gUnk_08131C5C:: @ 08131C5C + .incbin "baserom.gba", 0x131C5C, 0x000000C + +gUnk_08131C68:: @ 08131C68 + .incbin "baserom.gba", 0x131C68, 0x000000C + +gUnk_08131C74:: @ 08131C74 + .incbin "baserom.gba", 0x131C74, 0x000000C + +gUnk_08131C80:: @ 08131C80 + .incbin "baserom.gba", 0x131C80, 0x000000C + +gUnk_08131C8C:: @ 08131C8C + .incbin "baserom.gba", 0x131C8C, 0x000000C + +gUnk_08131C98:: @ 08131C98 + .incbin "baserom.gba", 0x131C98, 0x0000010 + +gUnk_08131CA8:: @ 08131CA8 + .incbin "baserom.gba", 0x131CA8, 0x000000C + +gUnk_08131CB4:: @ 08131CB4 + .incbin "baserom.gba", 0x131CB4, 0x000000C + +gUnk_08131CC0:: @ 08131CC0 + .incbin "baserom.gba", 0x131CC0, 0x000000C + +gUnk_08131CCC:: @ 08131CCC + .incbin "baserom.gba", 0x131CCC, 0x000000C + +gUnk_08131CD8:: @ 08131CD8 + .incbin "baserom.gba", 0x131CD8, 0x000000C + +gUnk_08131CE4:: @ 08131CE4 + .incbin "baserom.gba", 0x131CE4, 0x000000C + +gUnk_08131CF0:: @ 08131CF0 + .incbin "baserom.gba", 0x131CF0, 0x000000C + +gUnk_08131CFC:: @ 08131CFC + .incbin "baserom.gba", 0x131CFC, 0x000000C + +gUnk_08131D08:: @ 08131D08 + .incbin "baserom.gba", 0x131D08, 0x000000C + +gUnk_08131D14:: @ 08131D14 + .incbin "baserom.gba", 0x131D14, 0x0000005 + +gUnk_08131D19:: @ 08131D19 + .incbin "baserom.gba", 0x131D19, 0x0000006 + +gUnk_08131D1F:: @ 08131D1F + .incbin "baserom.gba", 0x131D1F, 0x0000001 + +gUnk_08131D20:: @ 08131D20 + .incbin "baserom.gba", 0x131D20, 0x0000002 + +gUnk_08131D22:: @ 08131D22 + .incbin "baserom.gba", 0x131D22, 0x0000002 + +gUnk_08131D24:: @ 08131D24 + .incbin "baserom.gba", 0x131D24, 0x0000001 + +gUnk_08131D25:: @ 08131D25 + .incbin "baserom.gba", 0x131D25, 0x0000001 + +gUnk_08131D26:: @ 08131D26 + .incbin "baserom.gba", 0x131D26, 0x0000004 + +gUnk_08131D2A:: @ 08131D2A + .incbin "baserom.gba", 0x131D2A, 0x0000002 + +gUnk_08131D2C:: @ 08131D2C + .incbin "baserom.gba", 0x131D2C, 0x000000C + +gUnk_08131D38:: @ 08131D38 + .incbin "baserom.gba", 0x131D38, 0x000000C + +gUnk_08131D44:: @ 08131D44 + .incbin "baserom.gba", 0x131D44, 0x000000C + +gUnk_08131D50:: @ 08131D50 + .incbin "baserom.gba", 0x131D50, 0x000000C + +gUnk_08131D5C:: @ 08131D5C + .incbin "baserom.gba", 0x131D5C, 0x000000C + +gUnk_08131D68:: @ 08131D68 + .incbin "baserom.gba", 0x131D68, 0x000000C + +gUnk_08131D74:: @ 08131D74 + .incbin "baserom.gba", 0x131D74, 0x000000C + +gUnk_08131D80:: @ 08131D80 + .incbin "baserom.gba", 0x131D80, 0x000000C + +gUnk_08131D8C:: @ 08131D8C + .incbin "baserom.gba", 0x131D8C, 0x000000C + +gUnk_08131D98:: @ 08131D98 + .incbin "baserom.gba", 0x131D98, 0x000000C + +gUnk_08131DA4:: @ 08131DA4 + .incbin "baserom.gba", 0x131DA4, 0x000000C + +gUnk_08131DB0:: @ 08131DB0 + .incbin "baserom.gba", 0x131DB0, 0x000000C + +gUnk_08131DBC:: @ 08131DBC + .incbin "baserom.gba", 0x131DBC, 0x000000C + +gUnk_08131DC8:: @ 08131DC8 + .incbin "baserom.gba", 0x131DC8, 0x000000C + +gUnk_08131DD4:: @ 08131DD4 + .incbin "baserom.gba", 0x131DD4, 0x000000C + +gUnk_08131DE0:: @ 08131DE0 + .incbin "baserom.gba", 0x131DE0, 0x000000C + +gUnk_08131DEC:: @ 08131DEC + .incbin "baserom.gba", 0x131DEC, 0x0000003 + +gUnk_08131DEF:: @ 08131DEF + .incbin "baserom.gba", 0x131DEF, 0x0000009 + +gUnk_08131DF8:: @ 08131DF8 + .incbin "baserom.gba", 0x131DF8, 0x000000C + +gUnk_08131E04:: @ 08131E04 + .incbin "baserom.gba", 0x131E04, 0x000000C + +gUnk_08131E10:: @ 08131E10 + .incbin "baserom.gba", 0x131E10, 0x000000C + +gUnk_08131E1C:: @ 08131E1C + .incbin "baserom.gba", 0x131E1C, 0x000000B + +gUnk_08131E27:: @ 08131E27 + .incbin "baserom.gba", 0x131E27, 0x0000001 + +gUnk_08131E28:: @ 08131E28 + .incbin "baserom.gba", 0x131E28, 0x0000001 + +gUnk_08131E29:: @ 08131E29 + .incbin "baserom.gba", 0x131E29, 0x000000A + +gUnk_08131E33:: @ 08131E33 + .incbin "baserom.gba", 0x131E33, 0x0000001 + +gUnk_08131E34:: @ 08131E34 + .incbin "baserom.gba", 0x131E34, 0x000000C + +gUnk_08131E40:: @ 08131E40 + .incbin "baserom.gba", 0x131E40, 0x000000C + +gUnk_08131E4C:: @ 08131E4C + .incbin "baserom.gba", 0x131E4C, 0x000000C + +gUnk_08131E58:: @ 08131E58 + .incbin "baserom.gba", 0x131E58, 0x000000C + +gUnk_08131E64:: @ 08131E64 + .incbin "baserom.gba", 0x131E64, 0x000000C + +gUnk_08131E70:: @ 08131E70 + .incbin "baserom.gba", 0x131E70, 0x000000C + +gUnk_08131E7C:: @ 08131E7C + .incbin "baserom.gba", 0x131E7C, 0x000000C + +gUnk_08131E88:: @ 08131E88 + .incbin "baserom.gba", 0x131E88, 0x000000C + +gUnk_08131E94:: @ 08131E94 + .incbin "baserom.gba", 0x131E94, 0x000000C + +gUnk_08131EA0:: @ 08131EA0 + .incbin "baserom.gba", 0x131EA0, 0x000000C + +gUnk_08131EAC:: @ 08131EAC + .incbin "baserom.gba", 0x131EAC, 0x000000C + +gUnk_08131EB8:: @ 08131EB8 + .incbin "baserom.gba", 0x131EB8, 0x000000C + +gUnk_08131EC4:: @ 08131EC4 + .incbin "baserom.gba", 0x131EC4, 0x000000C + +gUnk_08131ED0:: @ 08131ED0 + .incbin "baserom.gba", 0x131ED0, 0x000000C + +gUnk_08131EDC:: @ 08131EDC + .incbin "baserom.gba", 0x131EDC, 0x000000C + +gUnk_08131EE8:: @ 08131EE8 + .incbin "baserom.gba", 0x131EE8, 0x000000C + +gUnk_08131EF4:: @ 08131EF4 + .incbin "baserom.gba", 0x131EF4, 0x000000C + +gUnk_08131F00:: @ 08131F00 + .incbin "baserom.gba", 0x131F00, 0x000000C + +gUnk_08131F0C:: @ 08131F0C + .incbin "baserom.gba", 0x131F0C, 0x000000C + +gUnk_08131F18:: @ 08131F18 + .incbin "baserom.gba", 0x131F18, 0x000000A + +gUnk_08131F22:: @ 08131F22 + .incbin "baserom.gba", 0x131F22, 0x0000002 + +gUnk_08131F24:: @ 08131F24 + .incbin "baserom.gba", 0x131F24, 0x0000007 + +gUnk_08131F2B:: @ 08131F2B + .incbin "baserom.gba", 0x131F2B, 0x0000004 + +gUnk_08131F2F:: @ 08131F2F + .incbin "baserom.gba", 0x131F2F, 0x0000001 + +gUnk_08131F30:: @ 08131F30 + .incbin "baserom.gba", 0x131F30, 0x0000002 + +gUnk_08131F32:: @ 08131F32 + .incbin "baserom.gba", 0x131F32, 0x000000A + +gUnk_08131F3C:: @ 08131F3C + .incbin "baserom.gba", 0x131F3C, 0x000000C + +gUnk_08131F48:: @ 08131F48 + .incbin "baserom.gba", 0x131F48, 0x000000C + +gUnk_08131F54:: @ 08131F54 + .incbin "baserom.gba", 0x131F54, 0x000000C + +gUnk_08131F60:: @ 08131F60 + .incbin "baserom.gba", 0x131F60, 0x000000C + +gUnk_08131F6C:: @ 08131F6C + .incbin "baserom.gba", 0x131F6C, 0x000000C + +gUnk_08131F78:: @ 08131F78 + .incbin "baserom.gba", 0x131F78, 0x000000C + +gUnk_08131F84:: @ 08131F84 + .incbin "baserom.gba", 0x131F84, 0x000000C + +gUnk_08131F90:: @ 08131F90 + .incbin "baserom.gba", 0x131F90, 0x000000C + +gUnk_08131F9C:: @ 08131F9C + .incbin "baserom.gba", 0x131F9C, 0x000000C + +gUnk_08131FA8:: @ 08131FA8 + .incbin "baserom.gba", 0x131FA8, 0x000000C + +gUnk_08131FB4:: @ 08131FB4 + .incbin "baserom.gba", 0x131FB4, 0x000000C + +gUnk_08131FC0:: @ 08131FC0 + .incbin "baserom.gba", 0x131FC0, 0x000000C + +gUnk_08131FCC:: @ 08131FCC + .incbin "baserom.gba", 0x131FCC, 0x000000C + +gUnk_08131FD8:: @ 08131FD8 + .incbin "baserom.gba", 0x131FD8, 0x000000C + +gUnk_08131FE4:: @ 08131FE4 + .incbin "baserom.gba", 0x131FE4, 0x000000C + +gUnk_08131FF0:: @ 08131FF0 + .incbin "baserom.gba", 0x131FF0, 0x000000C + +gUnk_08131FFC:: @ 08131FFC + .incbin "baserom.gba", 0x131FFC, 0x0000003 + +gUnk_08131FFF:: @ 08131FFF + .incbin "baserom.gba", 0x131FFF, 0x0000007 + +gUnk_08132006:: @ 08132006 + .incbin "baserom.gba", 0x132006, 0x0000002 + +gUnk_08132008:: @ 08132008 + .incbin "baserom.gba", 0x132008, 0x000000C + +gUnk_08132014:: @ 08132014 + .incbin "baserom.gba", 0x132014, 0x000000C + +gUnk_08132020:: @ 08132020 + .incbin "baserom.gba", 0x132020, 0x0000009 + +gUnk_08132029:: @ 08132029 + .incbin "baserom.gba", 0x132029, 0x0000001 + +gUnk_0813202A:: @ 0813202A + .incbin "baserom.gba", 0x13202A, 0x0000002 + +gUnk_0813202C:: @ 0813202C + .incbin "baserom.gba", 0x13202C, 0x0000001 + +gUnk_0813202D:: @ 0813202D + .incbin "baserom.gba", 0x13202D, 0x0000002 + +gUnk_0813202F:: @ 0813202F + .incbin "baserom.gba", 0x13202F, 0x0000009 + +gUnk_08132038:: @ 08132038 + .incbin "baserom.gba", 0x132038, 0x000000C + +gUnk_08132044:: @ 08132044 + .incbin "baserom.gba", 0x132044, 0x000000C + +gUnk_08132050:: @ 08132050 + .incbin "baserom.gba", 0x132050, 0x000000C + +gUnk_0813205C:: @ 0813205C + .incbin "baserom.gba", 0x13205C, 0x000000C + +gUnk_08132068:: @ 08132068 + .incbin "baserom.gba", 0x132068, 0x000000C + +gUnk_08132074:: @ 08132074 + .incbin "baserom.gba", 0x132074, 0x000000C + +gUnk_08132080:: @ 08132080 + .incbin "baserom.gba", 0x132080, 0x000000C + +gUnk_0813208C:: @ 0813208C + .incbin "baserom.gba", 0x13208C, 0x000001C + +gUnk_081320A8:: @ 081320A8 + .incbin "baserom.gba", 0x1320A8, 0x0000010 + +gUnk_081320B8:: @ 081320B8 + .incbin "baserom.gba", 0x1320B8, 0x000000C + +gUnk_081320C4:: @ 081320C4 + .incbin "baserom.gba", 0x1320C4, 0x0000008 + +gUnk_081320CC:: @ 081320CC + .incbin "baserom.gba", 0x1320CC, 0x0000008 + +gUnk_081320D4:: @ 081320D4 + .incbin "baserom.gba", 0x1320D4, 0x0000010 + +gUnk_081320E4:: @ 081320E4 + .incbin "baserom.gba", 0x1320E4, 0x000000C diff --git a/linker.ld b/linker.ld index 8029ba57..0a1b0159 100644 --- a/linker.ld +++ b/linker.ld @@ -1006,6 +1006,8 @@ SECTIONS { data/data_081208A0.o(.rodata); src/object/heartContainer.o(.rodata); data/data_08121C58.o(.rodata); + src/object/objectA2.o(.rodata); + data/data_08124712.o(.rodata); src/intro.o(.rodata); data/data_081320FC.o(.rodata); data/strings.o(.rodata); diff --git a/src/object/objectA2.c b/src/object/objectA2.c index 0e0337fb..3fa6dd17 100644 --- a/src/object/objectA2.c +++ b/src/object/objectA2.c @@ -4,17 +4,33 @@ #include "structures.h" #include "functions.h" -extern void (* const gUnk_081246F4[])(Entity*); -extern const u8 gUnk_08124704[]; +void sub_0809F318(Entity*); +void sub_0809F374(Entity*); +void sub_0809F3E8(Entity*); +void sub_0809F408(Entity*); +void sub_0809F448(Entity*); + +void (* const gUnk_081246F4[])(Entity*) = { + sub_0809F318, + sub_0809F374, + sub_0809F3E8, + sub_0809F408 +}; + +const u8 gUnk_08124704[] = { + 0, 1, 2, 4 +}; typedef struct { u8 unk_0; u8 unk_1; } PACKED struct_08124708; -extern const struct_08124708 gUnk_08124708[]; +const struct_08124708 gUnk_08124708[5] = { + {0, 0x2F}, {1, 0x20}, {1, 0x16}, {2, 0x10}, {3, 0x01} +}; -void sub_0809F448(Entity*); +extern u32 sub_080045DA(s32, u32); void ObjectA2(Entity* this) { gUnk_081246F4[this->action](this); @@ -83,15 +99,12 @@ void sub_0809F408(Entity* this) { } } -extern u32 sub_080045DA(s32, u32); - void sub_0809F448(Entity* this) { s32 tmp; int rand = Random(); const struct_08124708 *tmp2 = &gUnk_08124708[this->field_0xf]; this->field_0xf++; tmp = 0x280000 - this->x.WORD; - switch (tmp2->unk_0) { case 0: tmp = rand % 0x180000; From d2d35118bca06a44f4617ececf6dd379ebf7ae53 Mon Sep 17 00:00:00 2001 From: theo3 Date: Tue, 17 Nov 2020 17:29:05 -0800 Subject: [PATCH 014/101] clang-format --- src/object/objectA2.c | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/src/object/objectA2.c b/src/object/objectA2.c index 3fa6dd17..4b163b17 100644 --- a/src/object/objectA2.c +++ b/src/object/objectA2.c @@ -10,25 +10,16 @@ void sub_0809F3E8(Entity*); void sub_0809F408(Entity*); void sub_0809F448(Entity*); -void (* const gUnk_081246F4[])(Entity*) = { - sub_0809F318, - sub_0809F374, - sub_0809F3E8, - sub_0809F408 -}; +void (*const gUnk_081246F4[])(Entity*) = { sub_0809F318, sub_0809F374, sub_0809F3E8, sub_0809F408 }; -const u8 gUnk_08124704[] = { - 0, 1, 2, 4 -}; +const u8 gUnk_08124704[] = { 0, 1, 2, 4 }; typedef struct { u8 unk_0; u8 unk_1; } PACKED struct_08124708; -const struct_08124708 gUnk_08124708[5] = { - {0, 0x2F}, {1, 0x20}, {1, 0x16}, {2, 0x10}, {3, 0x01} -}; +const struct_08124708 gUnk_08124708[5] = { { 0, 0x2F }, { 1, 0x20 }, { 1, 0x16 }, { 2, 0x10 }, { 3, 0x01 } }; extern u32 sub_080045DA(s32, u32); @@ -70,7 +61,7 @@ void sub_0809F374(Entity* this) { case 0: this->action = 2; InitializeAnimation(this, 1); - //fall through + // fall through case 1: this->actionDelay = 0; sub_0809F448(this); @@ -102,7 +93,7 @@ void sub_0809F408(Entity* this) { void sub_0809F448(Entity* this) { s32 tmp; int rand = Random(); - const struct_08124708 *tmp2 = &gUnk_08124708[this->field_0xf]; + const struct_08124708* tmp2 = &gUnk_08124708[this->field_0xf]; this->field_0xf++; tmp = 0x280000 - this->x.WORD; switch (tmp2->unk_0) { From 140a4736223937071c708e4a6e6735964cd2f3d6 Mon Sep 17 00:00:00 2001 From: Ibot02 Date: Mon, 23 Nov 2020 17:17:20 +0100 Subject: [PATCH 015/101] gyorgMale.c: ok --- asm/gyorgMale.s | 3466 ----------------------------------------- include/functions.h | 7 + include/player.h | 3 +- linker.ld | 2 +- src/enemy/gyorgMale.c | 1098 +++++++++++++ src/enemy/keese.c | 1 - src/npc/townMinish.c | 1 - src/npc/zelda.c | 1 - src/object/objectA2.c | 2 - 9 files changed, 1108 insertions(+), 3473 deletions(-) delete mode 100644 asm/gyorgMale.s create mode 100644 src/enemy/gyorgMale.c diff --git a/asm/gyorgMale.s b/asm/gyorgMale.s deleted file mode 100644 index f51bb0d8..00000000 --- a/asm/gyorgMale.s +++ /dev/null @@ -1,3466 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - - thumb_func_start GyorgMale -GyorgMale: @ 0x080467F0 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - beq _08046810 - adds r0, r4, #0 - adds r0, #0x7d - ldrb r1, [r0] - movs r0, #3 - ands r1, r0 - ldrb r2, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x18] -_08046810: - ldr r1, _0804688C @ =gUnk_080D1AFC - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - ldrb r0, [r4, #0xc] - adds r5, r4, #0 - adds r5, #0x78 - cmp r0, #7 - beq _08046836 - ldrh r3, [r5] - adds r0, r4, #0 - movs r1, #0xaa - movs r2, #0xaa - bl sub_0805EC9C -_08046836: - ldrh r0, [r5] - lsrs r0, r0, #8 - rsbs r0, r0, #0 - strb r0, [r4, #0x14] - adds r0, r4, #0 - bl sub_08048004 - ldrb r0, [r4, #0x18] - lsls r0, r0, #0x1e - lsrs r0, r0, #0x1e - adds r1, r4, #0 - adds r1, #0x7d - strb r0, [r1] - ldrb r2, [r4, #0x18] - lsls r0, r2, #0x1e - lsrs r0, r0, #0x1e - cmp r0, #1 - bne _08046878 - movs r1, #0x32 - ldrsh r0, [r4, r1] - ldr r1, _08046890 @ =gRoomControls - movs r3, #0xc - ldrsh r1, [r1, r3] - subs r0, r0, r1 - adds r0, #0x30 - movs r1, #0x80 - lsls r1, r1, #1 - cmp r0, r1 - bls _08046878 - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r2 - strb r0, [r4, #0x18] -_08046878: - ldr r2, _08046894 @ =gPlayerEntity - ldrh r1, [r2, #0x2e] - adds r0, r4, #0 - adds r0, #0x84 - strh r1, [r0] - ldrh r1, [r2, #0x32] - adds r0, #2 - strh r1, [r0] - pop {r4, r5, pc} - .align 2, 0 -_0804688C: .4byte gUnk_080D1AFC -_08046890: .4byte gRoomControls -_08046894: .4byte gPlayerEntity - - thumb_func_start sub_08046898 -sub_08046898: @ 0x08046898 - push {r4, r5, lr} - adds r5, r0, #0 - movs r0, #0x22 - bl sub_080A7EE0 - adds r1, r0, #0 - cmp r1, #0 - beq _0804690C - movs r4, #0 - movs r3, #1 - movs r0, #1 - strb r0, [r1, #0xa] - str r5, [r1, #0x50] - str r1, [r5, #0x54] - strb r0, [r5, #0xc] - strb r4, [r5, #0xd] - ldrb r1, [r5, #0x19] - movs r0, #3 - orrs r1, r0 - ldrb r2, [r5, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r3 - strb r0, [r5, #0x18] - ldrb r2, [r5, #0x1b] - movs r3, #0x3f - adds r0, r3, #0 - ands r0, r2 - movs r2, #0x80 - orrs r0, r2 - strb r0, [r5, #0x1b] - ands r1, r3 - orrs r1, r2 - strb r1, [r5, #0x19] - adds r2, r5, #0 - adds r2, #0x3c - ldrb r1, [r2] - movs r0, #0x10 - orrs r0, r1 - strb r0, [r2] - adds r1, r5, #0 - adds r1, #0x38 - movs r0, #2 - strb r0, [r1] - adds r0, r5, #0 - adds r0, #0x7c - strb r4, [r0] - subs r0, #4 - strh r4, [r0] - adds r0, #2 - strh r4, [r0] - subs r0, #8 - strh r4, [r0] - adds r0, r5, #0 - movs r1, #0 - bl InitAnimationForceUpdate -_0804690C: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08046910 -sub_08046910: @ 0x08046910 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _0804692C @ =gUnk_080D1B1C - ldrb r0, [r4, #0xd] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl UpdateAnimationSingleFrame - pop {r4, pc} - .align 2, 0 -_0804692C: .4byte gUnk_080D1B1C - - thumb_func_start sub_08046930 -sub_08046930: @ 0x08046930 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - cmp r0, #0 - beq _08046948 - movs r0, #5 - strb r0, [r4, #0xd] - movs r0, #0x20 - strb r0, [r4, #0x15] - movs r0, #0xa0 - lsls r0, r0, #2 - strh r0, [r4, #0x24] -_08046948: - adds r0, r4, #0 - bl sub_08047D88 - adds r0, r4, #0 - adds r0, #0x7c - ldrb r0, [r0] - cmp r0, #0 - beq _0804696A - movs r1, #0 - movs r0, #1 - strb r0, [r4, #0xd] - strb r0, [r4, #0xe] - strb r1, [r4, #0x14] - strb r1, [r4, #0x15] - movs r0, #0xa0 - lsls r0, r0, #2 - strh r0, [r4, #0x24] -_0804696A: - pop {r4, pc} - - thumb_func_start sub_0804696C -sub_0804696C: @ 0x0804696C - push {r4, r5, lr} - adds r4, r0, #0 - bl sub_08047E48 - ldr r5, _080469C8 @ =gRoomControls - ldrh r0, [r5, #8] - movs r1, #0x98 - lsls r1, r1, #1 - adds r0, r0, r1 - movs r2, #0x32 - ldrsh r1, [r4, r2] - cmp r0, r1 - ble _080469A6 - movs r0, #2 - strb r0, [r4, #0xd] - movs r0, #0x80 - strb r0, [r4, #0x15] - adds r0, #0x80 - strh r0, [r4, #0x24] - ldrb r0, [r4, #0x1b] - movs r1, #0xc0 - orrs r0, r1 - strb r0, [r4, #0x1b] - ldrb r0, [r4, #0x19] - orrs r0, r1 - strb r0, [r4, #0x19] - movs r0, #0x2e - bl PlaySFX -_080469A6: - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _080469C6 - ldrh r0, [r5, #8] - movs r1, #0x96 - lsls r1, r1, #2 - adds r0, r0, r1 - movs r2, #0x32 - ldrsh r1, [r4, r2] - cmp r0, r1 - ble _080469C6 - movs r0, #0 - strb r0, [r4, #0xe] - movs r0, #0xf7 - bl PlaySFX -_080469C6: - pop {r4, r5, pc} - .align 2, 0 -_080469C8: .4byte gRoomControls - - thumb_func_start sub_080469CC -sub_080469CC: @ 0x080469CC - push {r4, lr} - adds r4, r0, #0 - bl sub_08047E48 - ldr r0, _080469F0 @ =gRoomControls - ldrh r0, [r0, #8] - movs r1, #0x84 - lsls r1, r1, #2 - adds r0, r0, r1 - movs r2, #0x32 - ldrsh r1, [r4, r2] - cmp r0, r1 - bge _080469EE - movs r0, #3 - strb r0, [r4, #0xd] - movs r0, #0x90 - strb r0, [r4, #0x15] -_080469EE: - pop {r4, pc} - .align 2, 0 -_080469F0: .4byte gRoomControls - - thumb_func_start sub_080469F4 -sub_080469F4: @ 0x080469F4 - push {r4, lr} - adds r4, r0, #0 - bl sub_08047E48 - ldr r0, _08046A2C @ =gRoomControls - ldrh r0, [r0, #8] - movs r1, #0xa4 - lsls r1, r1, #2 - adds r0, r0, r1 - movs r2, #0x32 - ldrsh r1, [r4, r2] - cmp r0, r1 - bge _08046A28 - movs r0, #4 - strb r0, [r4, #0xd] - ldrb r2, [r4, #0x1b] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r2 - movs r2, #0x80 - orrs r0, r2 - strb r0, [r4, #0x1b] - ldrb r0, [r4, #0x19] - ands r1, r0 - orrs r1, r2 - strb r1, [r4, #0x19] -_08046A28: - pop {r4, pc} - .align 2, 0 -_08046A2C: .4byte gRoomControls - - thumb_func_start sub_08046A30 -sub_08046A30: @ 0x08046A30 - push {r4, lr} - adds r4, r0, #0 - bl sub_08047D88 - ldr r0, [r4, #0x64] - ldr r0, [r0] - adds r0, #0x6c - ldrh r1, [r0] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _08046A50 - movs r1, #0 - movs r0, #2 - strb r0, [r4, #0xc] - strb r1, [r4, #0xd] -_08046A50: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08046A54 -sub_08046A54: @ 0x08046A54 - push {r4, lr} - adds r4, r0, #0 - bl sub_08047E48 - ldr r0, _08046A74 @ =gRoomControls - ldrh r0, [r0, #6] - movs r1, #0xe0 - lsls r1, r1, #2 - adds r0, r0, r1 - movs r2, #0x2e - ldrsh r1, [r4, r2] - cmp r0, r1 - bge _08046A72 - movs r0, #6 - strb r0, [r4, #0xd] -_08046A72: - pop {r4, pc} - .align 2, 0 -_08046A74: .4byte gRoomControls - - thumb_func_start sub_08046A78 -sub_08046A78: @ 0x08046A78 - push {r4, lr} - adds r4, r0, #0 - bl sub_08047D88 - ldr r0, [r4, #0x64] - ldr r0, [r0] - adds r0, #0x6c - ldrh r1, [r0] - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - beq _08046A98 - movs r1, #0 - movs r0, #3 - strb r0, [r4, #0xc] - strb r1, [r4, #0xd] -_08046A98: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08046A9C -sub_08046A9C: @ 0x08046A9C - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, #1 - bne _08046ABA - adds r0, r4, #0 - adds r0, #0x5a - ldrb r0, [r0] - cmp r0, #1 - bne _08046ABA - adds r0, r4, #0 - movs r1, #0 - bl InitAnimationForceUpdate -_08046ABA: - ldr r1, _08046AE4 @ =gUnk_080D1B38 - ldrb r0, [r4, #0xd] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl UpdateAnimationSingleFrame - adds r0, r4, #0 - adds r0, #0x7c - ldrb r0, [r0] - cmp r0, #0 - beq _08046AE2 - movs r1, #0 - movs r0, #6 - strb r0, [r4, #0xc] - strb r1, [r4, #0xd] -_08046AE2: - pop {r4, pc} - .align 2, 0 -_08046AE4: .4byte gUnk_080D1B38 - - thumb_func_start sub_08046AE8 -sub_08046AE8: @ 0x08046AE8 - push {r4, lr} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xd] - movs r0, #0xc0 - lsls r0, r0, #1 - strh r0, [r4, #0x24] - ldr r0, [r4, #0x64] - ldr r0, [r0, #4] - ldrb r1, [r0, #0x14] - lsrs r1, r1, #5 - adds r0, r4, #0 - bl sub_08048178 - ldrb r0, [r4, #0x15] - lsls r0, r0, #8 - adds r1, r4, #0 - adds r1, #0x76 - strh r0, [r1] - adds r0, r4, #0 - bl sub_08047D88 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08046B18 -sub_08046B18: @ 0x08046B18 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x80 - ldrh r0, [r0] - movs r2, #0x2e - ldrsh r1, [r4, r2] - subs r0, r0, r1 - adds r1, r4, #0 - adds r1, #0x82 - ldrh r1, [r1] - movs r3, #0x32 - ldrsh r2, [r4, r3] - subs r1, r1, r2 - bl sub_080045DA - adds r1, r0, #0 - ldrb r0, [r4, #0x15] - cmp r1, r0 - beq _08046B6C - subs r0, r1, r0 - movs r1, #0xff - ands r0, r1 - cmp r0, #0x80 - bls _08046B54 - adds r1, r4, #0 - adds r1, #0x76 - ldr r2, _08046B50 @ =0xFFFFFF00 - b _08046B5C - .align 2, 0 -_08046B50: .4byte 0xFFFFFF00 -_08046B54: - adds r1, r4, #0 - adds r1, #0x76 - movs r2, #0x80 - lsls r2, r2, #1 -_08046B5C: - adds r0, r2, #0 - ldrh r3, [r1] - adds r0, r0, r3 - strh r0, [r1] - ldrh r0, [r1] - lsrs r0, r0, #8 - strb r0, [r4, #0x15] - b _08046B70 -_08046B6C: - movs r0, #2 - strb r0, [r4, #0xd] -_08046B70: - adds r0, r4, #0 - bl sub_08047D88 - ldrb r0, [r4, #0x15] - movs r1, #0x80 - lsls r1, r1, #1 - subs r1, r1, r0 - movs r0, #0xff - ands r1, r0 - lsls r1, r1, #8 - adds r0, r4, #0 - bl sub_08047EA4 - pop {r4, pc} - - thumb_func_start sub_08046B8C -sub_08046B8C: @ 0x08046B8C - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r5, r4, #0 - adds r5, #0x80 - ldrh r1, [r5] - adds r6, r4, #0 - adds r6, #0x82 - ldrh r2, [r6] - movs r3, #4 - bl sub_0806FCB8 - cmp r0, #0 - beq _08046BD8 - movs r0, #3 - strb r0, [r4, #0xd] - ldrb r0, [r4, #0x15] - lsls r0, r0, #8 - adds r1, r4, #0 - adds r1, #0x76 - strh r0, [r1] - ldr r1, _08046BD4 @ =gRoomControls - movs r2, #0x80 - lsls r2, r2, #2 - adds r0, r2, #0 - ldrh r3, [r1, #6] - adds r0, r0, r3 - strh r0, [r5] - adds r2, #0x10 - adds r0, r2, #0 - ldrh r1, [r1, #8] - adds r0, r0, r1 - strh r0, [r6] - adds r0, r4, #0 - bl sub_08047D88 - b _08046C02 - .align 2, 0 -_08046BD4: .4byte gRoomControls -_08046BD8: - ldrh r0, [r5] - movs r3, #0x2e - ldrsh r1, [r4, r3] - subs r0, r0, r1 - ldrh r1, [r6] - movs r3, #0x32 - ldrsh r2, [r4, r3] - subs r1, r1, r2 - bl sub_080045DA - strb r0, [r4, #0x15] - ldrb r0, [r4, #0x15] - movs r1, #0x80 - lsls r1, r1, #1 - subs r1, r1, r0 - movs r0, #0xff - ands r1, r0 - lsls r1, r1, #8 - adds r0, r4, #0 - bl sub_08047DF0 -_08046C02: - pop {r4, r5, r6, pc} - - thumb_func_start sub_08046C04 -sub_08046C04: @ 0x08046C04 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x80 - ldrh r0, [r0] - movs r2, #0x2e - ldrsh r1, [r4, r2] - subs r0, r0, r1 - adds r1, r4, #0 - adds r1, #0x82 - ldrh r1, [r1] - movs r3, #0x32 - ldrsh r2, [r4, r3] - subs r1, r1, r2 - bl sub_080045DA - adds r1, r0, #0 - ldrb r0, [r4, #0x15] - cmp r1, r0 - beq _08046C58 - subs r0, r1, r0 - movs r1, #0xff - ands r0, r1 - cmp r0, #0x80 - bls _08046C40 - adds r1, r4, #0 - adds r1, #0x76 - ldr r2, _08046C3C @ =0xFFFFFF00 - b _08046C48 - .align 2, 0 -_08046C3C: .4byte 0xFFFFFF00 -_08046C40: - adds r1, r4, #0 - adds r1, #0x76 - movs r2, #0x80 - lsls r2, r2, #1 -_08046C48: - adds r0, r2, #0 - ldrh r3, [r1] - adds r0, r0, r3 - strh r0, [r1] - ldrh r0, [r1] - lsrs r0, r0, #8 - strb r0, [r4, #0x15] - b _08046C6C -_08046C58: - movs r0, #4 - strb r0, [r4, #0xd] - adds r0, r1, #0 - adds r0, #0x20 - movs r1, #0xc0 - ands r0, r1 - lsrs r0, r0, #6 - adds r1, r4, #0 - adds r1, #0x70 - strh r0, [r1] -_08046C6C: - adds r0, r4, #0 - bl sub_08047D88 - ldrb r0, [r4, #0x15] - movs r1, #0x80 - lsls r1, r1, #1 - subs r1, r1, r0 - movs r0, #0xff - ands r1, r0 - lsls r1, r1, #8 - adds r0, r4, #0 - bl sub_08047EA4 - pop {r4, pc} - - thumb_func_start sub_08046C88 -sub_08046C88: @ 0x08046C88 - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r5, r4, #0 - adds r5, #0x80 - ldrh r1, [r5] - adds r6, r4, #0 - adds r6, #0x82 - ldrh r2, [r6] - movs r3, #4 - bl sub_0806FCB8 - cmp r0, #0 - beq _08046CC0 - movs r0, #1 - strb r0, [r4, #0xd] - adds r0, r4, #0 - adds r0, #0x70 - ldrh r0, [r0] - bl sub_08048158 - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_08048178 - adds r0, r4, #0 - bl sub_08047D88 - b _08046CEA -_08046CC0: - ldrh r0, [r5] - movs r2, #0x2e - ldrsh r1, [r4, r2] - subs r0, r0, r1 - ldrh r1, [r6] - movs r3, #0x32 - ldrsh r2, [r4, r3] - subs r1, r1, r2 - bl sub_080045DA - strb r0, [r4, #0x15] - ldrb r0, [r4, #0x15] - movs r1, #0x80 - lsls r1, r1, #1 - subs r1, r1, r0 - movs r0, #0xff - ands r1, r0 - lsls r1, r1, #8 - adds r0, r4, #0 - bl sub_08047DF0 -_08046CEA: - pop {r4, r5, r6, pc} - - thumb_func_start sub_08046CEC -sub_08046CEC: @ 0x08046CEC - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, #0 - bne _08046D0A - adds r0, r4, #0 - adds r0, #0x5a - ldrb r0, [r0] - cmp r0, #1 - bne _08046D0A - adds r0, r4, #0 - movs r1, #1 - bl InitAnimationForceUpdate -_08046D0A: - ldr r1, _08046D40 @ =gUnk_080D1B4C - ldrb r0, [r4, #0xd] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl UpdateAnimationSingleFrame - ldr r0, [r4, #0x64] - ldr r0, [r0] - adds r0, #0x6c - ldrh r1, [r0] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _08046D3C - movs r0, #0 - movs r1, #2 - strb r1, [r4, #0xc] - strb r0, [r4, #0xd] - ldrh r0, [r4, #0x24] - strb r0, [r4, #0x14] -_08046D3C: - pop {r4, pc} - .align 2, 0 -_08046D40: .4byte gUnk_080D1B4C - - thumb_func_start sub_08046D44 -sub_08046D44: @ 0x08046D44 - push {lr} - mov ip, r0 - movs r0, #1 - mov r1, ip - strb r0, [r1, #0xd] - movs r0, #0x80 - lsls r0, r0, #2 - strh r0, [r1, #0x24] - ldr r0, [r1, #0x64] - ldr r0, [r0, #4] - ldrb r1, [r0, #0x14] - lsrs r1, r1, #5 - lsls r1, r1, #1 - ldr r0, _08046D90 @ =gUnk_080D1B60 - adds r1, r1, r0 - ldr r3, _08046D94 @ =gRoomControls - ldrh r0, [r3, #6] - ldrh r2, [r1] - adds r0, r0, r2 - mov r2, ip - adds r2, #0x80 - strh r0, [r2] - ldrh r0, [r3, #8] - ldrh r1, [r1, #2] - adds r0, r0, r1 - mov r1, ip - adds r1, #0x82 - strh r0, [r1] - mov r1, ip - ldrb r0, [r1, #0x15] - lsls r0, r0, #8 - adds r1, #0x76 - strh r0, [r1] - mov r0, ip - bl sub_08047D88 - pop {pc} - .align 2, 0 -_08046D90: .4byte gUnk_080D1B60 -_08046D94: .4byte gRoomControls - - thumb_func_start sub_08046D98 -sub_08046D98: @ 0x08046D98 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x80 - ldrh r0, [r0] - movs r2, #0x2e - ldrsh r1, [r4, r2] - subs r0, r0, r1 - adds r1, r4, #0 - adds r1, #0x82 - ldrh r1, [r1] - movs r3, #0x32 - ldrsh r2, [r4, r3] - subs r1, r1, r2 - bl sub_080045DA - adds r1, r0, #0 - ldrb r0, [r4, #0x15] - cmp r1, r0 - beq _08046DEC - subs r0, r1, r0 - movs r1, #0xff - ands r0, r1 - cmp r0, #0x80 - bls _08046DD4 - adds r1, r4, #0 - adds r1, #0x76 - ldr r2, _08046DD0 @ =0xFFFFFF00 - b _08046DDC - .align 2, 0 -_08046DD0: .4byte 0xFFFFFF00 -_08046DD4: - adds r1, r4, #0 - adds r1, #0x76 - movs r2, #0x80 - lsls r2, r2, #1 -_08046DDC: - adds r0, r2, #0 - ldrh r3, [r1] - adds r0, r0, r3 - strh r0, [r1] - ldrh r0, [r1] - lsrs r0, r0, #8 - strb r0, [r4, #0x15] - b _08046DF0 -_08046DEC: - movs r0, #2 - strb r0, [r4, #0xd] -_08046DF0: - adds r0, r4, #0 - bl sub_08047D88 - ldrb r0, [r4, #0x15] - movs r1, #0x80 - lsls r1, r1, #1 - subs r1, r1, r0 - movs r0, #0xff - ands r1, r0 - lsls r1, r1, #8 - adds r0, r4, #0 - bl sub_08047EA4 - pop {r4, pc} - - thumb_func_start sub_08046E0C -sub_08046E0C: @ 0x08046E0C - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r5, r4, #0 - adds r5, #0x80 - ldrh r1, [r5] - adds r6, r4, #0 - adds r6, #0x82 - ldrh r2, [r6] - movs r3, #4 - bl sub_0806FCB8 - cmp r0, #0 - beq _08046E3C - movs r0, #3 - strb r0, [r4, #0xd] - ldrb r0, [r4, #0x15] - lsls r0, r0, #8 - adds r1, r4, #0 - adds r1, #0x76 - strh r0, [r1] - adds r0, r4, #0 - bl sub_08047D88 - b _08046E66 -_08046E3C: - ldrh r0, [r5] - movs r2, #0x2e - ldrsh r1, [r4, r2] - subs r0, r0, r1 - ldrh r1, [r6] - movs r3, #0x32 - ldrsh r2, [r4, r3] - subs r1, r1, r2 - bl sub_080045DA - strb r0, [r4, #0x15] - ldrb r0, [r4, #0x15] - movs r1, #0x80 - lsls r1, r1, #1 - subs r1, r1, r0 - movs r0, #0xff - ands r1, r0 - lsls r1, r1, #8 - adds r0, r4, #0 - bl sub_08047DF0 -_08046E66: - pop {r4, r5, r6, pc} - - thumb_func_start sub_08046E68 -sub_08046E68: @ 0x08046E68 - push {r4, r5, r6, lr} - adds r5, r0, #0 - ldr r0, [r5, #0x64] - ldr r0, [r0, #4] - ldrb r1, [r0, #0x14] - movs r0, #0x80 - adds r6, r0, #0 - eors r6, r1 - ldrb r0, [r5, #0x15] - cmp r6, r0 - beq _08046EC6 - subs r0, r6, r0 - movs r1, #0xff - ands r0, r1 - cmp r0, #0x80 - bls _08046E94 - adds r1, r5, #0 - adds r1, #0x76 - ldr r2, _08046E90 @ =0xFFFFFF00 - b _08046E9C - .align 2, 0 -_08046E90: .4byte 0xFFFFFF00 -_08046E94: - adds r1, r5, #0 - adds r1, #0x76 - movs r2, #0x80 - lsls r2, r2, #1 -_08046E9C: - adds r0, r2, #0 - ldrh r2, [r1] - adds r0, r0, r2 - strh r0, [r1] - ldrh r0, [r1] - lsrs r0, r0, #8 - strb r0, [r5, #0x15] - adds r0, r5, #0 - bl sub_08047D88 - ldrb r0, [r5, #0x15] - movs r1, #0x80 - lsls r1, r1, #1 - subs r1, r1, r0 - movs r0, #0xff - ands r1, r0 - lsls r1, r1, #8 - adds r0, r5, #0 - bl sub_08047EA4 - b _08046EEE -_08046EC6: - movs r0, #4 - strb r0, [r5, #0xd] - movs r0, #0x3f - strb r0, [r5, #0xe] - movs r4, #1 - strb r4, [r5, #0xf] - bl Random - ldr r1, _08046EF0 @ =gUnk_080D1B70 - ands r0, r4 - lsls r0, r0, #1 - adds r0, r0, r1 - ldrb r0, [r0] - adds r0, r0, r6 - movs r1, #0xc0 - ands r0, r1 - strb r0, [r5, #0x15] - adds r0, r5, #0 - bl sub_08047D88 -_08046EEE: - pop {r4, r5, r6, pc} - .align 2, 0 -_08046EF0: .4byte gUnk_080D1B70 - - thumb_func_start sub_08046EF4 -sub_08046EF4: @ 0x08046EF4 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - movs r3, #0xff - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08046F12 - movs r0, #0x7f - strb r0, [r4, #0xe] - ldrb r0, [r4, #0x15] - movs r1, #0x80 - eors r0, r1 - strb r0, [r4, #0x15] -_08046F12: - ldr r2, _08046F60 @ =gUnk_080D1B74 - ldrb r0, [r4, #0xe] - lsrs r0, r0, #3 - movs r1, #0xf - ands r0, r1 - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r0, [r0] - strh r0, [r4, #0x24] - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - ands r0, r3 - cmp r0, #0 - bne _08046F58 - bl Random - movs r1, #0x38 - ands r0, r1 - adds r0, #0x78 - strb r0, [r4, #0xf] - movs r0, #0x23 - bl sub_080A7EE0 - adds r2, r0, #0 - cmp r2, #0 - beq _08046F58 - adds r1, r2, #0 - adds r1, #0x38 - movs r0, #2 - strb r0, [r1] - str r4, [r2, #0x50] - adds r0, r2, #0 - bl UpdateSpriteForCollisionLayer -_08046F58: - adds r0, r4, #0 - bl sub_08047E48 - pop {r4, pc} - .align 2, 0 -_08046F60: .4byte gUnk_080D1B74 - - thumb_func_start sub_08046F64 -sub_08046F64: @ 0x08046F64 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, #0 - bne _08046F82 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r0, [r0] - cmp r0, #1 - bne _08046F82 - adds r0, r4, #0 - movs r1, #1 - bl InitAnimationForceUpdate -_08046F82: - ldr r1, _08046FE4 @ =gUnk_080D1B94 - ldrb r0, [r4, #0xd] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl UpdateAnimationSingleFrame - adds r1, r4, #0 - adds r1, #0x7e - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _08046FC8 - movs r0, #0x78 - strh r0, [r1] - movs r0, #0x23 - bl sub_080A7EE0 - adds r2, r0, #0 - cmp r2, #0 - beq _08046FC8 - adds r1, r2, #0 - adds r1, #0x38 - movs r0, #2 - strb r0, [r1] - str r4, [r2, #0x50] - adds r0, r2, #0 - bl UpdateSpriteForCollisionLayer -_08046FC8: - ldr r0, [r4, #0x64] - ldr r0, [r0] - adds r0, #0x6c - ldrh r1, [r0] - movs r0, #4 - ands r0, r1 - cmp r0, #0 - beq _08046FE0 - movs r1, #0 - movs r0, #5 - strb r0, [r4, #0xc] - strb r1, [r4, #0xd] -_08046FE0: - pop {r4, pc} - .align 2, 0 -_08046FE4: .4byte gUnk_080D1B94 - - thumb_func_start sub_08046FE8 -sub_08046FE8: @ 0x08046FE8 - push {lr} - adds r3, r0, #0 - movs r0, #1 - strb r0, [r3, #0xd] - movs r0, #0xe0 - lsls r0, r0, #1 - strh r0, [r3, #0x24] - adds r1, r3, #0 - adds r1, #0x7e - movs r0, #0x1e - strh r0, [r1] - ldr r2, _08047028 @ =gRoomControls - movs r1, #0xa4 - lsls r1, r1, #2 - adds r0, r1, #0 - ldrh r1, [r2, #6] - adds r0, r0, r1 - adds r1, r3, #0 - adds r1, #0x80 - strh r0, [r1] - movs r1, #0xc8 - lsls r1, r1, #1 - adds r0, r1, #0 - ldrh r2, [r2, #8] - adds r0, r0, r2 - adds r1, r3, #0 - adds r1, #0x82 - strh r0, [r1] - adds r0, r3, #0 - bl sub_08047D88 - pop {pc} - .align 2, 0 -_08047028: .4byte gRoomControls - - thumb_func_start sub_0804702C -sub_0804702C: @ 0x0804702C - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x80 - ldrh r0, [r0] - movs r2, #0x2e - ldrsh r1, [r4, r2] - subs r0, r0, r1 - adds r1, r4, #0 - adds r1, #0x82 - ldrh r1, [r1] - movs r3, #0x32 - ldrsh r2, [r4, r3] - subs r1, r1, r2 - bl sub_080045DA - adds r3, r0, #0 - ldrb r2, [r4, #0x15] - subs r0, r2, r3 - adds r0, #2 - movs r1, #0xff - ands r0, r1 - cmp r0, #4 - bls _0804706C - subs r0, r3, r2 - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08047068 - subs r0, r2, #1 - b _0804706A -_08047068: - adds r0, r2, #1 -_0804706A: - strb r0, [r4, #0x15] -_0804706C: - ldrb r0, [r4, #0x15] - movs r1, #0x80 - lsls r1, r1, #1 - subs r1, r1, r0 - movs r0, #0xff - ands r1, r0 - lsls r1, r1, #8 - adds r0, r4, #0 - bl sub_08047DF0 - adds r0, r4, #0 - adds r0, #0x80 - ldrh r1, [r0] - adds r0, #2 - ldrh r2, [r0] - movs r0, #0x24 - ldrsh r3, [r4, r0] - asrs r3, r3, #0x10 - adds r3, #0x10 - adds r0, r4, #0 - bl sub_0806FCB8 - cmp r0, #0 - beq _080470B0 - movs r0, #2 - strb r0, [r4, #0xd] - ldrb r0, [r4, #0x15] - lsls r0, r0, #8 - adds r1, r4, #0 - adds r1, #0x76 - strh r0, [r1] - movs r0, #0xa0 - lsls r0, r0, #2 - strh r0, [r4, #0x24] -_080470B0: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080470B4 -sub_080470B4: @ 0x080470B4 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0x40 - ldrb r0, [r4, #0x15] - cmp r1, r0 - beq _0804710A - subs r0, r1, r0 - movs r1, #0xff - ands r0, r1 - cmp r0, #0x80 - bls _080470D8 - adds r1, r4, #0 - adds r1, #0x76 - ldr r2, _080470D4 @ =0xFFFFFF00 - b _080470E0 - .align 2, 0 -_080470D4: .4byte 0xFFFFFF00 -_080470D8: - adds r1, r4, #0 - adds r1, #0x76 - movs r2, #0x80 - lsls r2, r2, #1 -_080470E0: - adds r0, r2, #0 - ldrh r2, [r1] - adds r0, r0, r2 - strh r0, [r1] - ldrh r0, [r1] - lsrs r0, r0, #8 - strb r0, [r4, #0x15] - adds r0, r4, #0 - bl sub_08047D88 - ldrb r0, [r4, #0x15] - movs r1, #0x80 - lsls r1, r1, #1 - subs r1, r1, r0 - movs r0, #0xff - ands r1, r0 - lsls r1, r1, #8 - adds r0, r4, #0 - bl sub_08047EA4 - b _0804713A -_0804710A: - movs r0, #3 - strb r0, [r4, #0xd] - movs r0, #0x80 - lsls r0, r0, #2 - strh r0, [r4, #0x24] - ldrb r0, [r4, #0x15] - lsls r0, r0, #8 - adds r1, r4, #0 - adds r1, #0x76 - strh r0, [r1] - bl Random - ldr r2, _0804713C @ =gUnk_080D1BBC - movs r1, #1 - ands r1, r0 - lsls r1, r1, #1 - adds r1, r1, r2 - ldrh r1, [r1] - adds r0, r4, #0 - adds r0, #0x74 - strh r1, [r0] - adds r0, r4, #0 - bl sub_08047D88 -_0804713A: - pop {r4, pc} - .align 2, 0 -_0804713C: .4byte gUnk_080D1BBC - - thumb_func_start sub_08047140 -sub_08047140: @ 0x08047140 - push {lr} - adds r2, r0, #0 - adds r1, r2, #0 - adds r1, #0x76 - adds r0, #0x74 - ldrh r0, [r0] - ldrh r3, [r1] - adds r0, r0, r3 - strh r0, [r1] - lsls r0, r0, #0x10 - lsrs r0, r0, #0x18 - strb r0, [r2, #0x15] - cmp r0, #0xbf - bls _08047164 - movs r0, #0xc0 - strb r0, [r2, #0x15] - movs r0, #4 - strb r0, [r2, #0xd] -_08047164: - ldrb r0, [r2, #0x15] - movs r1, #0x80 - lsls r1, r1, #1 - subs r1, r1, r0 - movs r0, #0xff - ands r1, r0 - lsls r1, r1, #8 - adds r0, r2, #0 - bl sub_08047DF0 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804717C -sub_0804717C: @ 0x0804717C - push {r4, lr} - adds r4, r0, #0 - ldrh r2, [r4, #0x24] - movs r0, #0x24 - ldrsh r1, [r4, r0] - ldr r0, _080471C0 @ =0x0000027F - cmp r1, r0 - bgt _08047192 - adds r0, r2, #0 - adds r0, #8 - strh r0, [r4, #0x24] -_08047192: - ldrb r0, [r4, #0x15] - movs r1, #0x80 - lsls r1, r1, #1 - subs r1, r1, r0 - movs r0, #0xff - ands r1, r0 - lsls r1, r1, #8 - adds r0, r4, #0 - bl sub_08047DF0 - ldr r0, _080471C4 @ =gRoomControls - ldrh r0, [r0, #6] - movs r1, #0x80 - lsls r1, r1, #2 - adds r0, r0, r1 - movs r2, #0x2e - ldrsh r1, [r4, r2] - cmp r0, r1 - ble _080471BC - movs r0, #5 - strb r0, [r4, #0xd] -_080471BC: - pop {r4, pc} - .align 2, 0 -_080471C0: .4byte 0x0000027F -_080471C4: .4byte gRoomControls - - thumb_func_start sub_080471C8 -sub_080471C8: @ 0x080471C8 - push {r4, r5, lr} - adds r4, r0, #0 - ldrh r2, [r4, #0x24] - movs r0, #0x24 - ldrsh r1, [r4, r0] - movs r0, #0xc0 - lsls r0, r0, #1 - cmp r1, r0 - ble _080471E0 - adds r0, r2, #0 - subs r0, #0x10 - strh r0, [r4, #0x24] -_080471E0: - ldrb r0, [r4, #0x15] - cmp r0, #0xdf - bhi _080471EA - adds r0, #1 - strb r0, [r4, #0x15] -_080471EA: - ldrb r1, [r4, #0x15] - movs r5, #0x80 - lsls r5, r5, #1 - subs r1, r5, r1 - movs r0, #0xff - ands r1, r0 - lsls r1, r1, #8 - adds r0, r4, #0 - bl sub_08047DF0 - ldr r0, _0804722C @ =gRoomControls - ldrh r0, [r0, #8] - movs r1, #0xc8 - lsls r1, r1, #1 - adds r0, r0, r1 - movs r2, #0x32 - ldrsh r1, [r4, r2] - cmp r0, r1 - ble _08047238 - adds r0, r4, #0 - adds r0, #0x74 - ldrh r0, [r0] - cmp r0, r5 - bls _08047234 - bl Random - adds r1, r0, #0 - movs r0, #1 - ands r1, r0 - cmp r1, #0 - beq _08047230 - movs r0, #6 - b _08047236 - .align 2, 0 -_0804722C: .4byte gRoomControls -_08047230: - strb r1, [r4, #0xd] - b _08047238 -_08047234: - movs r0, #0 -_08047236: - strb r0, [r4, #0xd] -_08047238: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0804723C -sub_0804723C: @ 0x0804723C - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0x15] - subs r0, #2 - strb r0, [r4, #0x15] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xbf - bhi _08047266 - movs r0, #7 - strb r0, [r4, #0xd] - movs r0, #0x80 - lsls r0, r0, #2 - strh r0, [r4, #0x24] - movs r0, #0xc0 - strb r0, [r4, #0x15] - adds r1, r4, #0 - adds r1, #0x76 - movs r0, #0xc0 - lsls r0, r0, #8 - strh r0, [r1] -_08047266: - adds r0, r4, #0 - bl sub_08047D88 - ldrb r0, [r4, #0x15] - movs r1, #0x80 - lsls r1, r1, #1 - subs r1, r1, r0 - movs r0, #0xff - ands r1, r0 - lsls r1, r1, #8 - adds r0, r4, #0 - bl sub_08047EA4 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08047284 -sub_08047284: @ 0x08047284 - push {lr} - adds r2, r0, #0 - adds r1, r2, #0 - adds r1, #0x76 - ldrh r0, [r1] - subs r0, #0xe0 - strh r0, [r1] - lsls r0, r0, #0x10 - lsrs r0, r0, #0x18 - strb r0, [r2, #0x15] - cmp r0, #0x3f - bhi _080472A4 - movs r0, #0x40 - strb r0, [r2, #0x15] - movs r0, #8 - strb r0, [r2, #0xd] -_080472A4: - ldrb r0, [r2, #0x15] - movs r1, #0x80 - lsls r1, r1, #1 - subs r1, r1, r0 - movs r0, #0xff - ands r1, r0 - lsls r1, r1, #8 - adds r0, r2, #0 - bl sub_08047DF0 - pop {pc} - .align 2, 0 - - thumb_func_start sub_080472BC -sub_080472BC: @ 0x080472BC - push {r4, lr} - adds r4, r0, #0 - ldrh r2, [r4, #0x24] - movs r0, #0x24 - ldrsh r1, [r4, r0] - ldr r0, _08047308 @ =0x000002FF - cmp r1, r0 - bgt _080472D2 - adds r0, r2, #0 - adds r0, #8 - strh r0, [r4, #0x24] -_080472D2: - ldrb r0, [r4, #0x15] - movs r1, #0x80 - lsls r1, r1, #1 - subs r1, r1, r0 - movs r0, #0xff - ands r1, r0 - lsls r1, r1, #8 - adds r0, r4, #0 - bl sub_08047DF0 - ldr r0, _0804730C @ =gRoomControls - ldrh r0, [r0, #6] - movs r1, #0xac - lsls r1, r1, #2 - adds r0, r0, r1 - movs r2, #0x2e - ldrsh r1, [r4, r2] - cmp r0, r1 - bge _08047306 - movs r0, #9 - strb r0, [r4, #0xd] - ldrb r0, [r4, #0x15] - lsls r0, r0, #8 - adds r1, r4, #0 - adds r1, #0x76 - strh r0, [r1] -_08047306: - pop {r4, pc} - .align 2, 0 -_08047308: .4byte 0x000002FF -_0804730C: .4byte gRoomControls - - thumb_func_start sub_08047310 -sub_08047310: @ 0x08047310 - push {lr} - adds r2, r0, #0 - ldrh r3, [r2, #0x24] - movs r0, #0x24 - ldrsh r1, [r2, r0] - ldr r0, _08047364 @ =0x0000017F - cmp r1, r0 - bgt _08047326 - adds r0, r3, #0 - subs r0, #0x10 - strh r0, [r2, #0x24] -_08047326: - adds r1, r2, #0 - adds r1, #0x76 - ldr r3, _08047368 @ =0xFFFFFE30 - adds r0, r3, #0 - ldrh r3, [r1] - adds r0, r0, r3 - strh r0, [r1] - lsls r0, r0, #0x10 - lsrs r0, r0, #0x18 - strb r0, [r2, #0x15] - adds r0, #0x7f - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x3f - bhi _0804734C - movs r0, #0xc0 - strb r0, [r2, #0x15] - movs r0, #4 - strb r0, [r2, #0xd] -_0804734C: - ldrb r0, [r2, #0x15] - movs r1, #0x80 - lsls r1, r1, #1 - subs r1, r1, r0 - movs r0, #0xff - ands r1, r0 - lsls r1, r1, #8 - adds r0, r2, #0 - bl sub_08047DF0 - pop {pc} - .align 2, 0 -_08047364: .4byte 0x0000017F -_08047368: .4byte 0xFFFFFE30 - - thumb_func_start sub_0804736C -sub_0804736C: @ 0x0804736C - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, #1 - bne _0804738A - adds r0, r4, #0 - adds r0, #0x5a - ldrb r0, [r0] - cmp r0, #1 - bne _0804738A - adds r0, r4, #0 - movs r1, #0 - bl InitAnimationForceUpdate -_0804738A: - ldr r0, _080473B4 @ =gUnk_080D1BC0 - ldrb r1, [r4, #0xd] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl UpdateAnimationSingleFrame - adds r0, r4, #0 - adds r0, #0x45 - ldrb r1, [r0] - cmp r1, #0 - bne _080473B0 - movs r0, #7 - strb r0, [r4, #0xc] - strb r1, [r4, #0xd] -_080473B0: - pop {r4, pc} - .align 2, 0 -_080473B4: .4byte gUnk_080D1BC0 - - thumb_func_start sub_080473B8 -sub_080473B8: @ 0x080473B8 - push {lr} - movs r1, #1 - strb r1, [r0, #0xd] - movs r1, #0x90 - lsls r1, r1, #1 - strh r1, [r0, #0x24] - ldr r3, _080473EC @ =gRoomControls - movs r2, #0x80 - lsls r2, r2, #2 - adds r1, r2, #0 - ldrh r2, [r3, #6] - adds r1, r1, r2 - adds r2, r0, #0 - adds r2, #0x80 - strh r1, [r2] - movs r2, #0xe8 - lsls r2, r2, #1 - adds r1, r2, #0 - ldrh r3, [r3, #8] - adds r1, r1, r3 - adds r2, r0, #0 - adds r2, #0x82 - strh r1, [r2] - bl sub_08047D88 - pop {pc} - .align 2, 0 -_080473EC: .4byte gRoomControls - - thumb_func_start sub_080473F0 -sub_080473F0: @ 0x080473F0 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x80 - ldrh r0, [r0] - movs r2, #0x2e - ldrsh r1, [r4, r2] - subs r0, r0, r1 - adds r1, r4, #0 - adds r1, #0x82 - ldrh r1, [r1] - movs r3, #0x32 - ldrsh r2, [r4, r3] - subs r1, r1, r2 - bl sub_080045DA - adds r3, r0, #0 - ldrb r2, [r4, #0x15] - subs r0, r2, r3 - adds r0, #2 - movs r1, #0xff - ands r0, r1 - cmp r0, #4 - bls _08047444 - subs r1, r3, r2 - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08047438 - movs r0, #1 - rsbs r0, r0, #0 - cmp r1, r0 - bge _08047434 - subs r0, r2, #2 - b _08047442 -_08047434: - subs r0, r2, #1 - b _08047442 -_08047438: - cmp r1, #1 - ble _08047440 - adds r0, r2, #2 - b _08047442 -_08047440: - adds r0, r2, #1 -_08047442: - strb r0, [r4, #0x15] -_08047444: - ldrb r0, [r4, #0x15] - movs r1, #0x80 - lsls r1, r1, #1 - subs r1, r1, r0 - movs r0, #0xff - ands r1, r0 - lsls r1, r1, #8 - adds r0, r4, #0 - bl sub_08047DF0 - adds r0, r4, #0 - adds r0, #0x80 - ldrh r1, [r0] - adds r0, #2 - ldrh r2, [r0] - adds r0, r4, #0 - movs r3, #8 - bl sub_0806FCB8 - cmp r0, #0 - beq _08047482 - movs r0, #2 - strb r0, [r4, #0xd] - ldrb r0, [r4, #0x15] - lsls r0, r0, #8 - adds r1, r4, #0 - adds r1, #0x76 - strh r0, [r1] - movs r0, #0xc0 - lsls r0, r0, #1 - strh r0, [r4, #0x24] -_08047482: - pop {r4, pc} - - thumb_func_start sub_08047484 -sub_08047484: @ 0x08047484 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0x40 - ldrb r0, [r4, #0x15] - cmp r1, r0 - beq _080474DA - subs r0, r1, r0 - movs r1, #0xff - ands r0, r1 - cmp r0, #0x80 - bls _080474A8 - adds r1, r4, #0 - adds r1, #0x76 - ldr r2, _080474A4 @ =0xFFFFFF00 - b _080474B0 - .align 2, 0 -_080474A4: .4byte 0xFFFFFF00 -_080474A8: - adds r1, r4, #0 - adds r1, #0x76 - movs r2, #0x80 - lsls r2, r2, #1 -_080474B0: - adds r0, r2, #0 - ldrh r2, [r1] - adds r0, r0, r2 - strh r0, [r1] - ldrh r0, [r1] - lsrs r0, r0, #8 - strb r0, [r4, #0x15] - adds r0, r4, #0 - bl sub_08047D88 - ldrb r0, [r4, #0x15] - movs r1, #0x80 - lsls r1, r1, #1 - subs r1, r1, r0 - movs r0, #0xff - ands r1, r0 - lsls r1, r1, #8 - adds r0, r4, #0 - bl sub_08047EA4 - b _08047504 -_080474DA: - movs r0, #3 - strb r0, [r4, #0xd] - movs r0, #0x80 - lsls r0, r0, #2 - strh r0, [r4, #0x24] - strb r1, [r4, #0x15] - adds r1, r4, #0 - adds r1, #0x76 - movs r0, #0x80 - lsls r0, r0, #7 - strh r0, [r1] - subs r1, #2 - movs r0, #0xc0 - lsls r0, r0, #1 - strh r0, [r1] - adds r1, #0xa - movs r0, #0xf0 - strh r0, [r1] - adds r0, r4, #0 - bl sub_08047D88 -_08047504: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08047508 -sub_08047508: @ 0x08047508 - push {r4, lr} - adds r4, r0, #0 - ldr r2, _0804754C @ =gRoomControls - ldrh r0, [r2, #6] - movs r1, #0xd0 - lsls r1, r1, #1 - adds r0, r0, r1 - movs r3, #0x2e - ldrsh r1, [r4, r3] - cmp r0, r1 - bge _0804759A - ldrb r1, [r4, #0x15] - cmp r1, #0 - bne _08047550 - ldrh r0, [r2, #8] - movs r1, #0x82 - lsls r1, r1, #2 - adds r0, r0, r1 - movs r2, #0x32 - ldrsh r1, [r4, r2] - cmp r0, r1 - blt _0804759A - adds r0, r4, #0 - adds r0, #0x74 - ldrh r1, [r0] - rsbs r1, r1, #0 - strh r1, [r0] - adds r2, r4, #0 - adds r2, #0x76 - ldrh r0, [r2] - adds r0, r0, r1 - strh r0, [r2] - lsrs r0, r0, #8 - b _08047598 - .align 2, 0 -_0804754C: .4byte gRoomControls -_08047550: - adds r0, r4, #0 - adds r0, #0x74 - movs r3, #0 - ldrsh r2, [r0, r3] - cmp r2, #0 - bge _0804757E - adds r3, r4, #0 - adds r3, #0x76 - ldrh r0, [r3] - adds r0, r0, r2 - strh r0, [r3] - lsls r0, r0, #0x10 - lsrs r0, r0, #0x18 - strb r0, [r4, #0x15] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0804759A - movs r0, #0 - strb r0, [r4, #0x15] - movs r0, #0 - strh r0, [r3] - b _0804759A -_0804757E: - cmp r1, #0x3f - bhi _0804759A - adds r1, r4, #0 - adds r1, #0x76 - ldrh r0, [r1] - adds r0, r0, r2 - strh r0, [r1] - lsls r0, r0, #0x10 - lsrs r0, r0, #0x18 - strb r0, [r4, #0x15] - cmp r0, #0x3f - bls _0804759A - movs r0, #0x40 -_08047598: - strb r0, [r4, #0x15] -_0804759A: - adds r0, r4, #0 - bl sub_08047E48 - ldr r0, _080475F0 @ =gRoomControls - ldrh r0, [r0, #6] - movs r1, #0xa0 - lsls r1, r1, #2 - adds r0, r0, r1 - movs r2, #0x2e - ldrsh r1, [r4, r2] - cmp r0, r1 - bge _080475CA - movs r0, #4 - strb r0, [r4, #0xd] - movs r0, #0x80 - lsls r0, r0, #2 - strh r0, [r4, #0x24] - ldrb r0, [r4, #0x15] - strb r0, [r4, #0x14] - ldrb r0, [r4, #0x15] - lsls r0, r0, #8 - adds r1, r4, #0 - adds r1, #0x76 - strh r0, [r1] -_080475CA: - adds r1, r4, #0 - adds r1, #0x7e - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _080475EE - bl Random - movs r1, #3 - ands r1, r0 - movs r0, #0x62 - bl CreateEnemy - cmp r0, #0 - beq _080475EE - str r4, [r0, #0x50] -_080475EE: - pop {r4, pc} - .align 2, 0 -_080475F0: .4byte gRoomControls - - thumb_func_start sub_080475F4 -sub_080475F4: @ 0x080475F4 - push {lr} - adds r2, r0, #0 - adds r1, r2, #0 - adds r1, #0x76 - movs r3, #0xc0 - lsls r3, r3, #1 - adds r0, r3, #0 - ldrh r3, [r1] - adds r0, r0, r3 - strh r0, [r1] - lsls r0, r0, #0x10 - lsrs r0, r0, #0x18 - strb r0, [r2, #0x15] - cmp r0, #0xbf - bls _08047626 - movs r0, #0xc0 - strb r0, [r2, #0x15] - movs r0, #5 - strb r0, [r2, #0xd] - movs r0, #0x80 - lsls r0, r0, #2 - strh r0, [r2, #0x24] - adds r1, #8 - movs r0, #0x3c - strh r0, [r1] -_08047626: - ldrb r0, [r2, #0x15] - movs r1, #0x80 - lsls r1, r1, #1 - subs r1, r1, r0 - movs r0, #0xff - ands r1, r0 - lsls r1, r1, #8 - adds r0, r2, #0 - bl sub_08047DF0 - pop {pc} - - thumb_func_start sub_0804763C -sub_0804763C: @ 0x0804763C - push {r4, lr} - adds r4, r0, #0 - ldr r2, _08047680 @ =gRoomControls - ldrh r0, [r2, #6] - movs r1, #0xf8 - lsls r1, r1, #1 - adds r0, r0, r1 - movs r3, #0x2e - ldrsh r1, [r4, r3] - cmp r0, r1 - ble _080476D0 - ldrb r1, [r4, #0x15] - cmp r1, #0 - bne _08047684 - ldrh r0, [r2, #8] - movs r1, #0x82 - lsls r1, r1, #2 - adds r0, r0, r1 - movs r2, #0x32 - ldrsh r1, [r4, r2] - cmp r0, r1 - blt _080476D0 - adds r0, r4, #0 - adds r0, #0x74 - ldrh r1, [r0] - rsbs r1, r1, #0 - strh r1, [r0] - adds r2, r4, #0 - adds r2, #0x76 - ldrh r0, [r2] - adds r0, r0, r1 - strh r0, [r2] - lsrs r0, r0, #8 - b _080476CE - .align 2, 0 -_08047680: .4byte gRoomControls -_08047684: - adds r0, r4, #0 - adds r0, #0x74 - movs r3, #0 - ldrsh r2, [r0, r3] - cmp r2, #0 - ble _080476B4 - adds r3, r4, #0 - adds r3, #0x76 - ldrh r0, [r3] - adds r0, r0, r2 - strh r0, [r3] - lsls r0, r0, #0x10 - lsrs r0, r0, #0x18 - strb r0, [r4, #0x15] - movs r1, #0x80 - ands r0, r1 - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #0 - bne _080476D0 - movs r0, #0 - strb r0, [r4, #0x15] - strh r1, [r3] - b _080476D0 -_080476B4: - cmp r1, #0xc0 - bls _080476D0 - adds r1, r4, #0 - adds r1, #0x76 - ldrh r0, [r1] - adds r0, r0, r2 - strh r0, [r1] - lsls r0, r0, #0x10 - lsrs r0, r0, #0x18 - strb r0, [r4, #0x15] - cmp r0, #0xc0 - bhi _080476D0 - movs r0, #0xc0 -_080476CE: - strb r0, [r4, #0x15] -_080476D0: - adds r0, r4, #0 - bl sub_08047E48 - ldr r0, _08047728 @ =gRoomControls - ldrh r0, [r0, #6] - movs r1, #0xc0 - lsls r1, r1, #1 - adds r0, r0, r1 - movs r2, #0x2e - ldrsh r1, [r4, r2] - cmp r0, r1 - ble _08047700 - movs r0, #6 - strb r0, [r4, #0xd] - movs r0, #0x80 - lsls r0, r0, #2 - strh r0, [r4, #0x24] - ldrb r0, [r4, #0x15] - strb r0, [r4, #0x14] - ldrb r0, [r4, #0x15] - lsls r0, r0, #8 - adds r1, r4, #0 - adds r1, #0x76 - strh r0, [r1] -_08047700: - adds r1, r4, #0 - adds r1, #0x7e - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _08047724 - bl Random - movs r1, #3 - ands r1, r0 - movs r0, #0x62 - bl CreateEnemy - cmp r0, #0 - beq _08047724 - str r4, [r0, #0x50] -_08047724: - pop {r4, pc} - .align 2, 0 -_08047728: .4byte gRoomControls - - thumb_func_start sub_0804772C -sub_0804772C: @ 0x0804772C - push {lr} - adds r2, r0, #0 - adds r1, r2, #0 - adds r1, #0x76 - ldr r3, _08047774 @ =0xFFFFFE80 - adds r0, r3, #0 - ldrh r3, [r1] - adds r0, r0, r3 - strh r0, [r1] - lsls r0, r0, #0x10 - lsrs r0, r0, #0x18 - strb r0, [r2, #0x15] - cmp r0, #0x40 - bhi _0804775C - movs r0, #0x40 - strb r0, [r2, #0x15] - movs r0, #3 - strb r0, [r2, #0xd] - movs r0, #0x80 - lsls r0, r0, #2 - strh r0, [r2, #0x24] - adds r1, #8 - movs r0, #0x1e - strh r0, [r1] -_0804775C: - ldrb r0, [r2, #0x15] - movs r1, #0x80 - lsls r1, r1, #1 - subs r1, r1, r0 - movs r0, #0xff - ands r1, r0 - lsls r1, r1, #8 - adds r0, r2, #0 - bl sub_08047DF0 - pop {pc} - .align 2, 0 -_08047774: .4byte 0xFFFFFE80 - - thumb_func_start sub_08047778 -sub_08047778: @ 0x08047778 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _08047794 @ =gUnk_080D1BDC - ldrb r0, [r4, #0xd] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl UpdateAnimationSingleFrame - pop {r4, pc} - .align 2, 0 -_08047794: .4byte gUnk_080D1BDC - - thumb_func_start sub_08047798 -sub_08047798: @ 0x08047798 - push {r4, lr} - adds r3, r0, #0 - movs r0, #1 - strb r0, [r3, #0xd] - movs r0, #0x80 - strh r0, [r3, #0x24] - movs r0, #0x2e - ldrsh r1, [r3, r0] - ldr r2, _080477BC @ =gRoomControls - ldrh r0, [r2, #6] - subs r1, r1, r0 - ldr r0, _080477C0 @ =0x000001F7 - cmp r1, r0 - bgt _080477C4 - adds r1, r3, #0 - adds r1, #0x80 - movs r0, #0xa8 - b _080477CC - .align 2, 0 -_080477BC: .4byte gRoomControls -_080477C0: .4byte 0x000001F7 -_080477C4: - adds r1, r3, #0 - adds r1, #0x80 - movs r0, #0xd2 - lsls r0, r0, #2 -_080477CC: - strh r0, [r1] - ldrh r0, [r2, #6] - ldrh r4, [r1] - adds r0, r0, r4 - strh r0, [r1] - movs r1, #0xd2 - lsls r1, r1, #2 - adds r0, r1, #0 - ldrh r2, [r2, #8] - adds r0, r0, r2 - adds r1, r3, #0 - adds r1, #0x82 - strh r0, [r1] - adds r0, r3, #0 - bl sub_08047D88 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080477F0 -sub_080477F0: @ 0x080477F0 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r4, r0, #0 - ldrh r2, [r4, #0x24] - movs r0, #0x24 - ldrsh r1, [r4, r0] - ldr r0, _08047868 @ =0x000002FF - cmp r1, r0 - bgt _0804780A - adds r0, r2, #0 - adds r0, #8 - strh r0, [r4, #0x24] -_0804780A: - adds r7, r4, #0 - adds r7, #0x80 - ldrh r0, [r7] - movs r2, #0x2e - ldrsh r1, [r4, r2] - subs r0, r0, r1 - adds r6, r4, #0 - adds r6, #0x82 - ldrh r1, [r6] - movs r3, #0x32 - ldrsh r2, [r4, r3] - subs r1, r1, r2 - bl sub_080045DA - strb r0, [r4, #0x15] - adds r0, r4, #0 - bl sub_08047E48 - ldr r0, _0804786C @ =gPlayerEntity - movs r2, #0x2e - ldrsh r1, [r0, r2] - movs r3, #0x32 - ldrsh r2, [r0, r3] - adds r0, r4, #0 - movs r3, #0x80 - bl sub_0806FCB8 - adds r1, r0, #0 - cmp r1, #0 - bne _08047870 - movs r0, #2 - strb r0, [r4, #0xc] - strb r1, [r4, #0xd] - ldrb r2, [r4, #0x1b] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r2 - movs r2, #0x80 - orrs r0, r2 - strb r0, [r4, #0x1b] - ldrb r0, [r4, #0x19] - ands r1, r0 - orrs r1, r2 - strb r1, [r4, #0x19] - ldrb r0, [r4, #0x14] - strb r0, [r4, #0x15] - b _0804790C - .align 2, 0 -_08047868: .4byte 0x000002FF -_0804786C: .4byte gPlayerEntity -_08047870: - ldr r5, _080478FC @ =gRoomControls - ldrh r1, [r5, #6] - movs r0, #0x80 - lsls r0, r0, #2 - mov r8, r0 - add r1, r8 - ldrh r2, [r5, #8] - movs r3, #0x84 - lsls r3, r3, #2 - adds r2, r2, r3 - movs r3, #0x80 - lsls r3, r3, #1 - adds r0, r4, #0 - bl sub_0806FCB8 - cmp r0, #0 - bne _080478A0 - ldrb r0, [r4, #0x1b] - movs r1, #0xc0 - orrs r0, r1 - strb r0, [r4, #0x1b] - ldrb r0, [r4, #0x19] - orrs r0, r1 - strb r0, [r4, #0x19] -_080478A0: - ldrh r1, [r7] - ldrh r2, [r6] - adds r0, r4, #0 - movs r3, #4 - bl sub_0806FCB8 - cmp r0, #0 - beq _0804790C - movs r0, #2 - strb r0, [r4, #0xd] - ldrb r0, [r4, #0x14] - lsls r0, r0, #8 - adds r1, r4, #0 - adds r1, #0x76 - strh r0, [r1] - bl Random - ldr r2, _08047900 @ =gUnk_080D1BF0 - movs r1, #1 - ands r0, r1 - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r2, [r0] - adds r0, r4, #0 - adds r0, #0x74 - strh r2, [r0] - ldr r2, [r4, #0x64] - ldr r0, [r2] - adds r0, #0x6c - ldrh r0, [r0] - ands r1, r0 - cmp r1, #0 - beq _08047904 - ldr r3, [r2, #4] - ldrh r0, [r5, #6] - add r0, r8 - movs r2, #0x2e - ldrsh r1, [r4, r2] - movs r2, #0x83 - cmp r0, r1 - ble _080478F4 - movs r2, #0x81 -_080478F4: - adds r0, r3, #0 - adds r0, #0x79 - strb r2, [r0] - b _0804790C - .align 2, 0 -_080478FC: .4byte gRoomControls -_08047900: .4byte gUnk_080D1BF0 -_08047904: - ldr r0, [r2, #4] - adds r0, #0x79 - movs r1, #0x80 - strb r1, [r0] -_0804790C: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_08047914 -sub_08047914: @ 0x08047914 - push {r4, lr} - adds r4, r0, #0 - bl sub_08047D88 - ldrb r1, [r4, #0x14] - movs r0, #0x1f - ands r0, r1 - cmp r0, #0 - beq _08047950 - adds r1, r4, #0 - adds r1, #0x76 - adds r0, r4, #0 - adds r0, #0x74 - ldrh r0, [r0] - ldrh r2, [r1] - adds r0, r0, r2 - strh r0, [r1] - lsrs r0, r0, #8 - strb r0, [r4, #0x14] - ldrb r0, [r4, #0x14] - movs r1, #0x80 - lsls r1, r1, #1 - subs r1, r1, r0 - movs r0, #0xff - ands r1, r0 - lsls r1, r1, #8 - adds r0, r4, #0 - bl sub_08047EA4 - b _08047976 -_08047950: - movs r0, #3 - strb r0, [r4, #0xd] - adds r1, r4, #0 - adds r1, #0x70 - movs r0, #0x3c - strh r0, [r1] - ldrb r1, [r4, #0xa] - lsls r0, r1, #4 - subs r0, r0, r1 - lsls r0, r0, #2 - adds r0, #0x78 - adds r1, r4, #0 - adds r1, #0x7e - strh r0, [r1] - ldr r0, [r4, #0x64] - ldr r0, [r0] - ldrb r1, [r4, #0x14] - bl sub_080A1D70 -_08047976: - pop {r4, pc} - - thumb_func_start sub_08047978 -sub_08047978: @ 0x08047978 - push {r4, lr} - adds r4, r0, #0 - bl sub_08047D88 - adds r0, r4, #0 - adds r0, #0x45 - ldrb r1, [r0] - cmp r1, #0 - beq _080479C6 - adds r2, r4, #0 - adds r2, #0x70 - ldrh r0, [r2] - subs r1, r0, #1 - strh r1, [r2] - lsls r0, r1, #0x10 - cmp r0, #0 - bne _080479B6 - adds r1, r4, #0 - adds r1, #0x72 - movs r0, #1 - strh r0, [r1] - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _080479AE - movs r0, #0xb4 - strh r0, [r2] - b _080479CC -_080479AE: - movs r0, #0xb4 - lsls r0, r0, #1 - strh r0, [r2] - b _080479CC -_080479B6: - lsls r0, r1, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #0xf0 - bne _080479CC - adds r0, r4, #0 - bl sub_0804813C - b _080479CC -_080479C6: - adds r0, r4, #0 - adds r0, #0x72 - strh r1, [r0] -_080479CC: - adds r1, r4, #0 - adds r1, #0x7e - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _080479F4 - movs r0, #0xf0 - strh r0, [r1] - bl Random - movs r1, #3 - ands r1, r0 - movs r0, #0x62 - bl CreateEnemy - cmp r0, #0 - beq _080479F4 - str r4, [r0, #0x50] -_080479F4: - ldr r0, _08047A78 @ =gPlayerEntity - movs r2, #0x2e - ldrsh r1, [r0, r2] - movs r3, #0x32 - ldrsh r2, [r0, r3] - adds r0, r4, #0 - movs r3, #0x80 - bl sub_0806FCB8 - adds r1, r0, #0 - cmp r1, #0 - bne _08047A2C - movs r0, #2 - strb r0, [r4, #0xc] - strb r1, [r4, #0xd] - ldrb r2, [r4, #0x1b] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r2 - movs r2, #0x80 - orrs r0, r2 - strb r0, [r4, #0x1b] - ldrb r0, [r4, #0x19] - ands r1, r0 - orrs r1, r2 - strb r1, [r4, #0x19] - ldrb r0, [r4, #0x14] - strb r0, [r4, #0x15] -_08047A2C: - adds r0, r4, #0 - adds r0, #0x45 - ldrb r0, [r0] - cmp r0, #0 - bne _08047B06 - ldr r0, [r4, #0x54] - ldrb r0, [r0, #0xc] - cmp r0, #1 - bne _08047B06 - movs r0, #4 - strb r0, [r4, #0xd] - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _08047AA4 - ldr r0, [r4, #0x64] - ldr r0, [r0, #4] - ldrb r0, [r0, #0x14] - lsrs r0, r0, #6 - cmp r0, #1 - bne _08047A80 - ldr r2, _08047A7C @ =gRoomControls - movs r1, #0xe0 - lsls r1, r1, #1 - adds r0, r1, #0 - ldrh r3, [r2, #6] - adds r0, r0, r3 - adds r1, r4, #0 - adds r1, #0x80 - strh r0, [r1] - movs r1, #0x94 - lsls r1, r1, #2 - adds r0, r1, #0 - ldrh r2, [r2, #8] - adds r0, r0, r2 - adds r1, r4, #0 - adds r1, #0x82 - b _08047B04 - .align 2, 0 -_08047A78: .4byte gPlayerEntity -_08047A7C: .4byte gRoomControls -_08047A80: - ldr r2, _08047AA0 @ =gRoomControls - movs r3, #0x90 - lsls r3, r3, #2 - adds r0, r3, #0 - ldrh r1, [r2, #6] - adds r0, r0, r1 - adds r1, r4, #0 - adds r1, #0x80 - strh r0, [r1] - adds r3, #0x10 - adds r0, r3, #0 - ldrh r2, [r2, #8] - adds r0, r0, r2 - adds r1, #2 - b _08047B04 - .align 2, 0 -_08047AA0: .4byte gRoomControls -_08047AA4: - ldr r0, _08047AC4 @ =gRoomControls - ldrh r1, [r0, #6] - movs r2, #0x80 - lsls r2, r2, #2 - adds r1, r1, r2 - movs r3, #0x2e - ldrsh r2, [r4, r3] - adds r3, r0, #0 - cmp r1, r2 - bge _08047AC8 - adds r1, r4, #0 - adds r1, #0x80 - movs r0, #0xc8 - lsls r0, r0, #1 - b _08047AD0 - .align 2, 0 -_08047AC4: .4byte gRoomControls -_08047AC8: - adds r1, r4, #0 - adds r1, #0x80 - movs r0, #0x9c - lsls r0, r0, #2 -_08047AD0: - strh r0, [r1] - ldrh r0, [r3, #6] - ldrh r2, [r1] - adds r0, r0, r2 - strh r0, [r1] - ldrh r0, [r3, #8] - movs r1, #0x84 - lsls r1, r1, #2 - adds r0, r0, r1 - movs r2, #0x32 - ldrsh r1, [r4, r2] - cmp r0, r1 - bge _08047AF4 - adds r1, r4, #0 - adds r1, #0x82 - movs r0, #0xd0 - lsls r0, r0, #1 - b _08047AFC -_08047AF4: - adds r1, r4, #0 - adds r1, #0x82 - movs r0, #0xa0 - lsls r0, r0, #2 -_08047AFC: - strh r0, [r1] - ldrh r0, [r3, #8] - ldrh r3, [r1] - adds r0, r0, r3 -_08047B04: - strh r0, [r1] -_08047B06: - pop {r4, pc} - - thumb_func_start sub_08047B08 -sub_08047B08: @ 0x08047B08 - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - bl sub_08047D88 - adds r4, r5, #0 - adds r4, #0x80 - ldrh r0, [r4] - movs r2, #0x2e - ldrsh r1, [r5, r2] - subs r0, r0, r1 - adds r6, r5, #0 - adds r6, #0x82 - ldrh r1, [r6] - movs r3, #0x32 - ldrsh r2, [r5, r3] - subs r1, r1, r2 - bl sub_080045DA - strb r0, [r5, #0x15] - movs r7, #0 - movs r0, #0x80 - lsls r0, r0, #2 - strh r0, [r5, #0x24] - adds r0, r5, #0 - bl sub_08047E58 - ldrh r1, [r4] - ldrh r2, [r6] - adds r0, r5, #0 - movs r3, #4 - bl sub_0806FCB8 - cmp r0, #0 - beq _08047B80 - ldrb r0, [r5, #0xa] - cmp r0, #0 - bne _08047B60 - movs r0, #7 - strb r0, [r5, #0xc] - strb r7, [r5, #0xd] - ldrb r0, [r5, #0x15] - movs r1, #0x80 - eors r0, r1 - b _08047B7E -_08047B60: - movs r0, #4 - strb r0, [r5, #0xc] - strb r7, [r5, #0xd] - ldrb r2, [r5, #0x1b] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r2 - movs r2, #0x80 - orrs r0, r2 - strb r0, [r5, #0x1b] - ldrb r0, [r5, #0x19] - ands r1, r0 - orrs r1, r2 - strb r1, [r5, #0x19] - ldrb r0, [r5, #0x14] -_08047B7E: - strb r0, [r5, #0x15] -_08047B80: - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_08047B84 -sub_08047B84: @ 0x08047B84 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _08047BA0 @ =gUnk_080D1BF4 - ldrb r0, [r4, #0xd] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl UpdateAnimationSingleFrame - pop {r4, pc} - .align 2, 0 -_08047BA0: .4byte gUnk_080D1BF4 - - thumb_func_start sub_08047BA4 -sub_08047BA4: @ 0x08047BA4 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0 - movs r0, #1 - strb r0, [r4, #0xd] - movs r2, #0x78 - strb r2, [r4, #0xe] - strb r1, [r4, #0xf] - ldr r0, _08047BD0 @ =gRoomControls - ldrh r0, [r0, #6] - movs r1, #0x80 - lsls r1, r1, #2 - adds r0, r0, r1 - movs r3, #0x2e - ldrsh r1, [r4, r3] - cmp r0, r1 - bge _08047BD4 - adds r0, r4, #0 - adds r0, #0x76 - strh r2, [r0] - b _08047BDC - .align 2, 0 -_08047BD0: .4byte gRoomControls -_08047BD4: - adds r1, r4, #0 - adds r1, #0x76 - movs r0, #0x88 - strh r0, [r1] -_08047BDC: - ldr r0, _08047BEC @ =0x000001B5 - bl PlaySFX - adds r0, r4, #0 - bl sub_08047BF0 - pop {r4, pc} - .align 2, 0 -_08047BEC: .4byte 0x000001B5 - - thumb_func_start sub_08047BF0 -sub_08047BF0: @ 0x08047BF0 - push {r4, r5, r6, lr} - adds r5, r0, #0 - ldr r2, _08047CB8 @ =gUnk_080D1C00 - ldrb r1, [r5, #0xe] - movs r0, #3 - ands r0, r1 - adds r0, r0, r2 - ldrb r0, [r0] - strb r0, [r5, #0x15] - movs r0, #0x80 - lsls r0, r0, #1 - strh r0, [r5, #0x24] - adds r0, r5, #0 - bl sub_08047E48 - ldrb r0, [r5, #0xe] - cmp r0, #0 - bne _08047CC4 - ldrb r1, [r5, #0xf] - adds r0, r1, #1 - strb r0, [r5, #0xf] - movs r0, #0xf - ands r0, r1 - cmp r0, #0 - bne _08047C74 - adds r0, r5, #0 - movs r1, #0x51 - movs r2, #0 - bl CreateFx - adds r4, r0, #0 - cmp r4, #0 - beq _08047C74 - bl Random - movs r3, #0x1e - adds r1, r0, #0 - ands r1, r3 - ldr r6, _08047CBC @ =0x0000FFF1 - adds r2, r6, #0 - adds r1, r2, r1 - ldrh r6, [r4, #0x2e] - adds r1, r1, r6 - strh r1, [r4, #0x2e] - lsrs r0, r0, #8 - ands r0, r3 - adds r2, r2, r0 - ldrh r0, [r4, #0x32] - adds r2, r2, r0 - strh r2, [r4, #0x32] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #3 - orrs r0, r1 - strb r0, [r2] - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #1 - strb r0, [r1] - adds r0, r4, #0 - bl UpdateSpriteForCollisionLayer -_08047C74: - adds r0, r5, #0 - adds r0, #0x76 - ldrh r0, [r0] - strb r0, [r5, #0x15] - movs r0, #0xa0 - lsls r0, r0, #1 - strh r0, [r5, #0x24] - adds r0, r5, #0 - bl sub_08047E48 - movs r2, #0x32 - ldrsh r1, [r5, r2] - ldr r0, _08047CC0 @ =gRoomControls - ldrh r0, [r0, #8] - movs r6, #0x9c - lsls r6, r6, #2 - adds r0, r0, r6 - cmp r1, r0 - ble _08047D10 - movs r0, #2 - strb r0, [r5, #0xd] - adds r1, r5, #0 - adds r1, #0x7e - movs r0, #0xaa - strh r0, [r1] - adds r0, #0x83 - bl PlaySFX - adds r0, r5, #0 - movs r1, #1 - bl InitAnimationForceUpdate - b _08047D10 - .align 2, 0 -_08047CB8: .4byte gUnk_080D1C00 -_08047CBC: .4byte 0x0000FFF1 -_08047CC0: .4byte gRoomControls -_08047CC4: - subs r0, #1 - strb r0, [r5, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x5a - bne _08047CD4 - ldr r4, [r5, #0x54] - b _08047CDC -_08047CD4: - cmp r0, #0x3c - bne _08047CF2 - ldr r0, [r5, #0x54] - ldr r4, [r0, #0x54] -_08047CDC: - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #0x51 - movs r2, #0 - bl CreateFx - b _08047D10 -_08047CF2: - cmp r0, #0x1e - bne _08047D10 - ldr r0, [r5, #0x54] - ldr r0, [r0, #0x54] - ldr r4, [r0, #0x54] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - adds r0, r4, #0 - movs r1, #0x51 - movs r2, #0 - bl CreateFx -_08047D10: - adds r0, r5, #0 - adds r0, #0x78 - ldrh r3, [r0] - adds r0, r5, #0 - movs r1, #0xaa - movs r2, #0xaa - bl sub_0805EC9C - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_08047D24 -sub_08047D24: @ 0x08047D24 - push {r4, lr} - adds r4, r0, #0 - adds r1, r4, #0 - adds r1, #0x7e - ldrh r0, [r1] - adds r0, #8 - movs r2, #0 - strh r0, [r1] - lsls r0, r0, #0x10 - lsrs r1, r0, #0x10 - movs r0, #0x80 - lsls r0, r0, #4 - cmp r1, r0 - bls _08047D5A - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _08047D4C - ldr r0, [r4, #0x64] - str r2, [r0, #8] - b _08047D50 -_08047D4C: - ldr r0, [r4, #0x64] - str r2, [r0, #0xc] -_08047D50: - movs r0, #0 - str r0, [r4, #0x64] - bl DeleteThisEntity - b _08047D84 -_08047D5A: - ldr r0, _08047D68 @ =0x000001FF - cmp r1, r0 - bhi _08047D6C - adds r0, r4, #0 - bl sub_08047E48 - b _08047D72 - .align 2, 0 -_08047D68: .4byte 0x000001FF -_08047D6C: - adds r0, r4, #0 - bl sub_08047E58 -_08047D72: - adds r0, r4, #0 - adds r0, #0x7e - ldrh r2, [r0] - subs r0, #6 - ldrh r3, [r0] - adds r0, r4, #0 - adds r1, r2, #0 - bl sub_0805EC9C -_08047D84: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08047D88 -sub_08047D88: @ 0x08047D88 - push {r4, r5, lr} - adds r3, r0, #0 - adds r5, r3, #0 - adds r5, #0x7c - ldrb r2, [r5] - lsls r1, r2, #1 - movs r0, #0x7f - ands r1, r0 - movs r0, #0x80 - ands r0, r2 - orrs r1, r0 - strb r1, [r5] - ldrb r0, [r3, #0x19] - lsrs r0, r0, #6 - cmp r0, #3 - bne _08047DB0 - ldr r0, _08047DE8 @ =gPlayerState - ldrb r0, [r0, #0x14] - cmp r0, #0 - bne _08047DE6 -_08047DB0: - adds r0, r3, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, #1 - beq _08047DE6 - ldr r4, _08047DEC @ =gPlayerEntity - movs r0, #0x2e - ldrsh r1, [r4, r0] - movs r0, #0x32 - ldrsh r2, [r4, r0] - adds r0, r3, #0 - movs r3, #0x20 - bl sub_0806FCB8 - cmp r0, #0 - beq _08047DE6 - ldr r0, _08047DE8 @ =gPlayerState - movs r1, #1 - strb r1, [r0, #0x14] - movs r1, #0x36 - ldrsh r0, [r4, r1] - cmp r0, #0 - bne _08047DE6 - ldrb r0, [r5] - movs r1, #1 - orrs r0, r1 - strb r0, [r5] -_08047DE6: - pop {r4, r5, pc} - .align 2, 0 -_08047DE8: .4byte gPlayerState -_08047DEC: .4byte gPlayerEntity - - thumb_func_start sub_08047DF0 -sub_08047DF0: @ 0x08047DF0 - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r4, r1, #0 - bl sub_08047D88 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_08047EA4 - movs r0, #0x2e - ldrsh r4, [r5, r0] - movs r2, #0x32 - ldrsh r6, [r5, r2] - movs r0, #0x24 - ldrsh r1, [r5, r0] - ldrb r2, [r5, #0x15] - adds r0, r5, #0 - bl sub_0806F62C - adds r0, r5, #0 - adds r0, #0x7c - ldrb r1, [r0] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _08047E42 - bl sub_08079F8C - cmp r0, #0 - beq _08047E42 - ldr r0, _08047E44 @ =gPlayerEntity - ldrh r1, [r5, #0x2e] - subs r1, r1, r4 - ldrh r2, [r0, #0x2e] - adds r1, r1, r2 - strh r1, [r0, #0x2e] - ldrh r1, [r5, #0x32] - subs r1, r1, r6 - ldrh r2, [r0, #0x32] - adds r1, r1, r2 - strh r1, [r0, #0x32] -_08047E42: - pop {r4, r5, r6, pc} - .align 2, 0 -_08047E44: .4byte gPlayerEntity - - thumb_func_start sub_08047E48 -sub_08047E48: @ 0x08047E48 - push {r4, lr} - adds r4, r0, #0 - bl sub_08047D88 - adds r0, r4, #0 - bl sub_08047E58 - pop {r4, pc} - - thumb_func_start sub_08047E58 -sub_08047E58: @ 0x08047E58 - push {r4, r5, r6, lr} - adds r4, r0, #0 - movs r0, #0x2e - ldrsh r5, [r4, r0] - movs r2, #0x32 - ldrsh r6, [r4, r2] - movs r0, #0x24 - ldrsh r1, [r4, r0] - ldrb r2, [r4, #0x15] - adds r0, r4, #0 - bl sub_0806F62C - adds r0, r4, #0 - adds r0, #0x7c - ldrb r1, [r0] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _08047E9C - bl sub_08079F8C - cmp r0, #0 - beq _08047E9C - ldr r0, _08047EA0 @ =gPlayerEntity - ldrh r1, [r4, #0x2e] - subs r1, r1, r5 - ldrh r2, [r0, #0x2e] - adds r1, r1, r2 - strh r1, [r0, #0x2e] - ldrh r1, [r4, #0x32] - subs r1, r1, r6 - ldrh r2, [r0, #0x32] - adds r1, r1, r2 - strh r1, [r0, #0x32] -_08047E9C: - pop {r4, r5, r6, pc} - .align 2, 0 -_08047EA0: .4byte gPlayerEntity - - thumb_func_start sub_08047EA4 -sub_08047EA4: @ 0x08047EA4 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r5, r0, #0 - adds r0, #0x78 - strh r1, [r0] - ldrh r1, [r0] - adds r0, #2 - ldrh r0, [r0] - subs r4, r1, r0 - movs r0, #0x80 - lsls r0, r0, #1 - adds r1, r4, r0 - adds r0, #0xff - cmp r1, r0 - bls _08047F58 - adds r0, r5, #0 - adds r0, #0x7c - ldrb r1, [r0] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _08047F4E - adds r0, r5, #0 - bl sub_08047F68 - lsls r0, r0, #8 - mov r8, r0 - ldr r6, _08047F60 @ =gPlayerEntity - movs r1, #0x2e - ldrsh r0, [r6, r1] - movs r2, #0x2e - ldrsh r1, [r5, r2] - subs r0, r0, r1 - movs r3, #0x32 - ldrsh r1, [r6, r3] - movs r7, #0x32 - ldrsh r2, [r5, r7] - subs r1, r1, r2 - bl sub_080045DA - adds r3, r0, #0 - adds r0, r4, #0 - cmp r4, #0 - bge _08047F00 - adds r0, #0xff -_08047F00: - asrs r0, r0, #8 - subs r4, r3, r0 - movs r0, #0xff - ands r4, r0 - ldr r2, _08047F64 @ =gSineTable - lsls r0, r4, #1 - adds r0, r0, r2 - movs r7, #0 - ldrsh r1, [r0, r7] - lsls r0, r3, #1 - adds r0, r0, r2 - movs r7, #0 - ldrsh r0, [r0, r7] - subs r1, r1, r0 - mov r0, r8 - muls r0, r1, r0 - adds r1, r0, #0 - ldr r0, [r6, #0x2c] - adds r0, r0, r1 - str r0, [r6, #0x2c] - adds r0, r4, #0 - adds r0, #0x40 - lsls r0, r0, #1 - adds r0, r0, r2 - movs r4, #0 - ldrsh r1, [r0, r4] - adds r0, r3, #0 - adds r0, #0x40 - lsls r0, r0, #1 - adds r0, r0, r2 - movs r7, #0 - ldrsh r0, [r0, r7] - subs r1, r1, r0 - mov r0, r8 - muls r0, r1, r0 - adds r1, r0, #0 - ldr r0, [r6, #0x30] - subs r0, r0, r1 - str r0, [r6, #0x30] -_08047F4E: - adds r0, r5, #0 - adds r0, #0x78 - ldrh r1, [r0] - adds r0, #2 - strh r1, [r0] -_08047F58: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08047F60: .4byte gPlayerEntity -_08047F64: .4byte gSineTable - - thumb_func_start sub_08047F68 -sub_08047F68: @ 0x08047F68 - push {r4, r5, lr} - ldr r3, _08047F98 @ =gPlayerEntity - movs r1, #0x2e - ldrsh r2, [r3, r1] - movs r4, #0x2e - ldrsh r1, [r0, r4] - subs r2, r2, r1 - movs r4, #0x32 - ldrsh r1, [r3, r4] - movs r3, #0x32 - ldrsh r0, [r0, r3] - subs r1, r1, r0 - adds r4, r2, #0 - muls r4, r2, r4 - adds r2, r4, #0 - adds r0, r1, #0 - muls r0, r1, r0 - adds r4, r2, r0 - movs r0, #0x80 - lsls r0, r0, #3 - cmp r4, r0 - bne _08047F9C - movs r0, #0x20 - b _08048002 - .align 2, 0 -_08047F98: .4byte gPlayerEntity -_08047F9C: - ldr r0, _08047FB8 @ =gUnk_080D1C04 - movs r3, #0x18 - adds r2, r0, #0 - ldrh r0, [r2, #0x20] - cmp r4, r0 - bge _08047FAA - movs r3, #8 -_08047FAA: - lsls r0, r3, #1 - adds r0, r0, r2 - ldrh r0, [r0] - cmp r4, r0 - bge _08047FBC - subs r3, #4 - b _08047FBE - .align 2, 0 -_08047FB8: .4byte gUnk_080D1C04 -_08047FBC: - adds r3, #4 -_08047FBE: - lsls r0, r3, #1 - adds r0, r0, r2 - ldrh r0, [r0] - cmp r4, r0 - bge _08047FCC - subs r3, #2 - b _08047FCE -_08047FCC: - adds r3, #2 -_08047FCE: - lsls r0, r3, #1 - adds r0, r0, r2 - ldrh r0, [r0] - cmp r4, r0 - bge _08047FDC - subs r3, #1 - b _08047FDE -_08047FDC: - adds r3, #1 -_08047FDE: - lsls r0, r3, #1 - adds r0, r0, r2 - ldrh r1, [r0] - cmp r4, r1 - bge _08048000 - subs r5, r3, #1 - lsls r0, r5, #1 - adds r0, r0, r2 - ldrh r2, [r0] - subs r0, r1, r2 - lsrs r1, r0, #0x1f - adds r0, r0, r1 - asrs r0, r0, #1 - adds r2, r2, r0 - cmp r4, r2 - bgt _08048000 - adds r3, r5, #0 -_08048000: - adds r0, r3, #0 -_08048002: - pop {r4, r5, pc} - - thumb_func_start sub_08048004 -sub_08048004: @ 0x08048004 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _08048010 - b _08048138 -_08048010: - adds r0, r4, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, #0 - beq _0804801C - b _08048130 -_0804801C: - ldrb r0, [r4, #0x10] - movs r1, #0x7f - ands r1, r0 - strb r1, [r4, #0x10] - ldr r6, _080480A4 @ =gPlayerEntity - movs r1, #0x36 - ldrsh r0, [r6, r1] - cmp r0, #0 - beq _08048030 - b _08048138 -_08048030: - bl sub_08079F8C - cmp r0, #0 - bne _0804803A - b _08048138 -_0804803A: - adds r1, r4, #0 - adds r1, #0x7c - ldrb r3, [r1] - movs r0, #1 - ands r0, r3 - adds r5, r1, #0 - cmp r0, #0 - beq _080480BA - ldrb r0, [r4, #0x19] - lsrs r0, r0, #6 - cmp r0, #3 - bne _080480B0 - movs r7, #0x2e - ldrsh r2, [r6, r7] - ldr r1, _080480A8 @ =gRoomControls - ldrh r0, [r1, #6] - subs r2, r2, r0 - asrs r2, r2, #3 - movs r7, #0x32 - ldrsh r0, [r6, r7] - ldrh r1, [r1, #8] - subs r0, r0, r1 - asrs r0, r0, #3 - ldr r1, _080480AC @ =gUnk_02019EE0 - lsls r0, r0, #7 - adds r0, r0, r2 - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r0, [r0] - cmp r0, #0 - beq _080480B0 - movs r0, #2 - ands r0, r3 - cmp r0, #0 - bne _08048086 - movs r0, #0x80 - orrs r0, r3 - strb r0, [r5] -_08048086: - ldrb r1, [r5] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _08048138 - adds r0, r4, #0 - adds r0, #0x84 - ldrh r0, [r0] - strh r0, [r6, #0x2e] - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - strh r0, [r6, #0x32] - b _08048138 - .align 2, 0 -_080480A4: .4byte gPlayerEntity -_080480A8: .4byte gRoomControls -_080480AC: .4byte gUnk_02019EE0 -_080480B0: - ldrb r1, [r5] - movs r0, #0x7f - ands r0, r1 - strb r0, [r5] - b _08048138 -_080480BA: - ldrb r0, [r4, #0x19] - lsrs r0, r0, #6 - cmp r0, #3 - beq _08048124 - movs r0, #0x2e - ldrsh r1, [r4, r0] - movs r3, #0x32 - ldrsh r2, [r4, r3] - adds r0, r6, #0 - movs r3, #0x24 - bl sub_0806FCB8 - cmp r0, #0 - beq _08048124 - ldrb r1, [r5] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - bne _08048124 - movs r7, #0x2e - ldrsh r0, [r6, r7] - movs r2, #0x2e - ldrsh r1, [r4, r2] - subs r0, r0, r1 - movs r3, #0x32 - ldrsh r1, [r6, r3] - movs r7, #0x32 - ldrsh r2, [r4, r7] - subs r1, r1, r2 - bl sub_080045DA - ldr r3, _0804812C @ =gSineTable - lsls r1, r0, #1 - adds r1, r1, r3 - movs r2, #0 - ldrsh r1, [r1, r2] - lsls r2, r1, #3 - adds r2, r2, r1 - lsls r2, r2, #0xa - ldr r1, [r4, #0x2c] - adds r1, r1, r2 - str r1, [r6, #0x2c] - adds r0, #0x40 - lsls r0, r0, #1 - adds r0, r0, r3 - movs r3, #0 - ldrsh r0, [r0, r3] - lsls r1, r0, #3 - adds r1, r1, r0 - lsls r1, r1, #0xa - ldr r0, [r4, #0x30] - subs r0, r0, r1 - str r0, [r6, #0x30] -_08048124: - movs r0, #0 - strb r0, [r5] - b _08048138 - .align 2, 0 -_0804812C: .4byte gSineTable -_08048130: - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] -_08048138: - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_0804813C -sub_0804813C: @ 0x0804813C - push {lr} - bl Random - adds r2, r0, #0 - movs r0, #7 - ands r0, r2 - lsrs r2, r2, #8 - movs r1, #3 - ands r2, r1 - movs r1, #1 - bl sub_080A1ED0 - pop {pc} - .align 2, 0 - - thumb_func_start sub_08048158 -sub_08048158: @ 0x08048158 - push {r4, r5, r6, lr} - adds r5, r0, #0 - ldr r6, _08048174 @ =gUnk_080D1C44 - bl Random - lsls r4, r5, #1 - adds r4, r4, r5 - movs r1, #3 - bl __modsi3 - adds r4, r4, r0 - adds r4, r4, r6 - ldrb r0, [r4] - pop {r4, r5, r6, pc} - .align 2, 0 -_08048174: .4byte gUnk_080D1C44 - - thumb_func_start sub_08048178 -sub_08048178: @ 0x08048178 - push {r4, lr} - adds r4, r0, #0 - adds r2, r1, #0 - ldr r0, [r4, #0x64] - ldr r0, [r0, #4] - ldrb r0, [r0, #0x14] - lsrs r0, r0, #6 - movs r1, #1 - ands r0, r1 - cmp r0, #0 - beq _08048198 - lsls r1, r2, #1 - ldr r0, _08048194 @ =gUnk_080D1C60 - b _0804819C - .align 2, 0 -_08048194: .4byte gUnk_080D1C60 -_08048198: - lsls r1, r2, #1 - ldr r0, _080481B8 @ =gUnk_080D1C50 -_0804819C: - adds r3, r1, r0 - ldr r2, _080481BC @ =gRoomControls - ldrh r0, [r2, #6] - ldrh r1, [r3] - adds r0, r0, r1 - adds r1, r4, #0 - adds r1, #0x80 - strh r0, [r1] - ldrh r0, [r2, #8] - ldrh r3, [r3, #2] - adds r0, r0, r3 - adds r1, #2 - strh r0, [r1] - pop {r4, pc} - .align 2, 0 -_080481B8: .4byte gUnk_080D1C50 -_080481BC: .4byte gRoomControls diff --git a/include/functions.h b/include/functions.h index 1a7a87d7..f2cad58e 100644 --- a/include/functions.h +++ b/include/functions.h @@ -270,4 +270,11 @@ extern u32 sub_0800442E(Entity*); extern void sub_08081404(Entity*, u32); extern void sub_0807B7D8(u32, u32, u32); extern void sub_08052D74(void*, void*, void*); +extern u32 sub_080045DA(s32, s32); +u32 sub_0806FCB8(Entity*, u32, u32, u32); +extern Entity* sub_080A7EE0(u32); +extern void sub_080A1D70(Entity*, u32); +extern void sub_0806F62C(Entity*, u32, u32); +extern u32 sub_08079F8C(void); +extern void sub_080A1ED0(u32, u32, u32); #endif diff --git a/include/player.h b/include/player.h index 0d604dbd..5432a5e1 100644 --- a/include/player.h +++ b/include/player.h @@ -47,7 +47,8 @@ typedef struct { /* */ u32 filler11b : 16; /* */ } PACKED b; /* */ } flags; - /*0x34*/ u8 field_0x34[4]; + /*0x34*/ u8 field_0x34[2]; + /*0x36*/ s16 field_0x36; /*0x38*/ u8 field_0x38; /*0x39*/ u8 field_0x39; /*0x3a*/ u16 field_0x3a; diff --git a/linker.ld b/linker.ld index 0a1b0159..df9b5aad 100644 --- a/linker.ld +++ b/linker.ld @@ -424,7 +424,7 @@ SECTIONS { asm/enemy5A.o(.text); asm/businessScrubPrologue.o(.text); asm/gyorgFemale.o(.text); - asm/gyorgMale.o(.text); + src/enemy/gyorgMale.o(.text); asm/curtain.o(.text); asm/enemy5F.o(.text); asm/gyorgChild.o(.text); diff --git a/src/enemy/gyorgMale.c b/src/enemy/gyorgMale.c new file mode 100644 index 00000000..238b6b34 --- /dev/null +++ b/src/enemy/gyorgMale.c @@ -0,0 +1,1098 @@ +#include "global.h" +#include "enemy.h" +#include "player.h" +#include "room.h" +#include "trig.h" +#include "structures.h" +#include "functions.h" + +extern void (* const gUnk_080D1AFC[8])(Entity*); +extern void (* const gUnk_080D1B1C[7])(Entity*); +extern void (* const gUnk_080D1B38[5])(Entity*); +extern void (* const gUnk_080D1B4C[5])(Entity*); +extern const u16 gUnk_080D1B60[8]; +extern const u8 gUnk_080D1B70[4];//or 3? +extern const u16 gUnk_080D1B74[0x10]; +extern void (* const gUnk_080D1B94[0xA])(Entity*); +extern const u16 gUnk_080D1BBC[2]; +extern void (* const gUnk_080D1BC0[7])(Entity*); +extern void (* const gUnk_080D1BDC[5])(Entity*); +extern const u16 gUnk_080D1BF0[2]; +extern void (* const gUnk_080D1BF4[3])(Entity*); +extern const u8 gUnk_080D1C00[4]; +extern const u16 gUnk_080D1C04[0x20]; +extern const u8 gUnk_080D1C44[0xC]; +extern const u16 gUnk_080D1C50[8]; +extern const u16 gUnk_080D1C60[8]; + +void sub_08046898(Entity*); +void sub_08046910(Entity*); +void sub_08046930(Entity*); +void sub_0804696C(Entity*); +void sub_080469CC(Entity*); +void sub_080469F4(Entity*); +void sub_08046A30(Entity*); +void sub_08046A54(Entity*); +void sub_08046A78(Entity*); +void sub_08046A9C(Entity*); +void sub_08046AE8(Entity*); +void sub_08046B18(Entity*); +void sub_08046B8C(Entity*); +void sub_08046C04(Entity*); +void sub_08046C88(Entity*); +void sub_08046CEC(Entity*); +void sub_08046D44(Entity*); +void sub_08046D98(Entity*); +void sub_08046E0C(Entity*); +void sub_08046E68(Entity*); +void sub_08046EF4(Entity*); +void sub_08046F64(Entity*); +void sub_08046FE8(Entity*); +void sub_0804702C(Entity*); +void sub_080470B4(Entity*); +void sub_08047140(Entity*); +void sub_0804717C(Entity*); +void sub_080471C8(Entity*); +void sub_0804723C(Entity*); +void sub_08047284(Entity*); +void sub_080472BC(Entity*); +void sub_08047310(Entity*); +void sub_0804736C(Entity*); +void sub_080473B8(Entity*); +void sub_080473F0(Entity*); +void sub_08047484(Entity*); +void sub_08047508(Entity*); +void sub_080475F4(Entity*); +void sub_0804763C(Entity*); +void sub_0804772C(Entity*); +void sub_08047778(Entity*); +void sub_08047798(Entity*); +void sub_080477F0(Entity*); +void sub_08047914(Entity*); +void sub_08047978(Entity*); +void sub_08047B08(Entity*); +void sub_08047B84(Entity*); +void sub_08047BA4(Entity*); +void sub_08047BF0(Entity*);// +void sub_08047D24(Entity*); +void sub_08047D88(Entity*);// +void sub_08047DF0(Entity*, u32); +void sub_08047E48(Entity*);// +void sub_08047E58(Entity*);// +void sub_08047EA4(Entity*, u32); +u32 sub_08047F68(Entity*);//distance this to player? +void sub_08048004(Entity*);// +void sub_0804813C(Entity*);// +u32 sub_08048158(u32); +void sub_08048178(Entity*, u32); + +void GyorgMale(Entity* this) { + if (this->action) { + this->spriteSettings.b.draw = this->field_0x7c.BYTES.byte1; + } + gUnk_080D1AFC[this->action](this); + if (this->action != 7) { + sub_0805EC9C(this, 0xaa, 0xaa, this->field_0x78.HWORD); + } + this->animationState = -(this->field_0x78.HWORD >> 8); + sub_08048004(this); + this->field_0x7c.BYTES.byte1 = this->spriteSettings.b.draw; + if (this->spriteSettings.b.draw == 1 && (this->y.HALF.HI - gRoomControls.roomScrollY + 0x30) > 0x100u) { + this->spriteSettings.b.draw = 0; + } + this->cutsceneBeh.HWORD = gPlayerEntity.x.HALF.HI; + this->field_0x86.HWORD = gPlayerEntity.y.HALF.HI; +} + +void sub_08046898(Entity* this) { + Entity* tmp = sub_080A7EE0(0x22); + u32 tmp2; + if (!tmp) return; + tmp->entityType.form = 1; + tmp->parent = this; + this->attachedEntity = tmp; + this->action = 1; + this->previousActionFlag = 0; + this->spriteRendering.b0 = 3; + this->spriteSettings.b.draw = 1; + this->spriteOrientation.flipY = 2; + this->spriteRendering.b3 = 2; + this->field_0x3c |= 0x10; + this->collisionLayer = 2; + this->field_0x7c.BYTES.byte0 = 0; + this->field_0x78.HWORD = 0; + this->field_0x7a.HWORD = 0; + this->field_0x70.HALF.HI = 0; + InitAnimationForceUpdate(this, 0); +} + +void sub_08046910(Entity* this) { + gUnk_080D1B1C[this->previousActionFlag](this); + UpdateAnimationSingleFrame(this); +} + +void sub_08046930(Entity* this) { + if (this->entityType.form) { + this->previousActionFlag = 5; + this->direction = 0x20; + this->nonPlanarMovement = 0x280; + } + sub_08047D88(this); + if (this->field_0x7c.BYTES.byte0 == 0) return; + this->previousActionFlag = 1; + this->actionDelay = 1; + this->animationState = 0; + this->direction = 0; + this->nonPlanarMovement = 0x280; +} + +void sub_0804696C(Entity* this) { + sub_08047E48(this); + if (gRoomControls.roomOriginY + 0x130 > this->y.HALF.HI) { + this->previousActionFlag = 2; + this->direction = 0x80; + this->nonPlanarMovement = 0x100; + this->spriteOrientation.flipY = 3; + this->spriteRendering.b3 = 3; + PlaySFX(0x2e); + } + if (this->actionDelay) { + if (gRoomControls.roomOriginY + 0x258 > this->y.HALF.HI) { + this->actionDelay = 0; + PlaySFX(0xf7); + } + } +} + +void sub_080469CC(Entity* this) { + sub_08047E48(this); + if (gRoomControls.roomOriginY + 0x210 < this->y.HALF.HI) { + this->previousActionFlag = 3; + this->direction = 0x90; + } +} + +void sub_080469F4(Entity* this) { + sub_08047E48(this); + if (gRoomControls.roomOriginY + 0x290 < this->y.HALF.HI) { + this->previousActionFlag = 4; + this->spriteOrientation.flipY = 2; + this->spriteRendering.b3 = 2; + } +} + +void sub_08046A30(Entity* this) { + sub_08047D88(this); + if (((Entity*) this->otherEntity)->prev->field_0x6c.HWORD & 1) { + this->action = 2; + this->previousActionFlag = 0; + } +} + +void sub_08046A54(Entity* this) { + sub_08047E48(this); + if (gRoomControls.roomOriginX + 0x380 < this->x.HALF.HI) { + this->previousActionFlag = 6; + } +} + +void sub_08046A78(Entity* this) { + sub_08047D88(this); + if (((Entity*) this->otherEntity)->prev->field_0x6c.HWORD & 0x10) { + this->action = 3; + this->previousActionFlag = 0; + } +} + +void sub_08046A9C(Entity* this) { + if (this->animIndex == 1) { + if (this->frames.all == 1) { + InitAnimationForceUpdate(this, 0); + } + } + gUnk_080D1B38[this->previousActionFlag](this); + UpdateAnimationSingleFrame(this); + if (this->field_0x7c.BYTES.byte0) { + this->action = 6; + this->previousActionFlag = 0; + } +} + +void sub_08046AE8(Entity* this) { + this->previousActionFlag = 1; + this->nonPlanarMovement = 0x180; + sub_08048178(this, ((Entity*) this->otherEntity)->next->animationState >> 5); + this->field_0x76.HWORD = this->direction << 8; + sub_08047D88(this); +} + +void sub_08046B18(Entity* this) { + u32 tmp = sub_080045DA(this->field_0x80.HWORD - this->x.HALF.HI, this->field_0x82.HWORD - this->y.HALF.HI); + if (tmp != this->direction) { + if (((tmp - this->direction) & 0xFF) > 0x80) { + this->field_0x76.HWORD -= 0x100; + } else { + this->field_0x76.HWORD += 0x100; + } + this->direction = this->field_0x76.HWORD >> 8; + } else { + this->previousActionFlag = 2; + } + sub_08047D88(this); + sub_08047EA4(this, ((0x100 - this->direction) & 0xFF) << 8); +} + +void sub_08046B8C(Entity* this) { + if (sub_0806FCB8(this, this->field_0x80.HWORD, this->field_0x82.HWORD, 4)) { + this->previousActionFlag = 3; + this->field_0x76.HWORD = this->direction << 8; + this->field_0x80.HWORD = gRoomControls.roomOriginX + 0x200; + this->field_0x82.HWORD = gRoomControls.roomOriginY + 0x210; + sub_08047D88(this); + } else { + this->direction = sub_080045DA(this->field_0x80.HWORD - this->x.HALF.HI, this->field_0x82.HWORD - this->y.HALF.HI); + sub_08047DF0(this, ((0x100 - this->direction) & 0xFF) << 8); + } +} + +void sub_08046C04(Entity* this) { + u32 tmp = sub_080045DA(this->field_0x80.HWORD - this->x.HALF.HI, this->field_0x82.HWORD - this->y.HALF.HI); + if (tmp != this->direction) { + if (((tmp - this->direction) & 0xFF) > 0x80) { + this->field_0x76.HWORD -= 0x100; + } else { + this->field_0x76.HWORD += 0x100; + } + this->direction = this->field_0x76.HWORD >> 8; + } else { + this->previousActionFlag = 4; + this->field_0x70.HALF.LO = ((tmp + 0x20) & 0xC0) >> 6; + } + sub_08047D88(this); + sub_08047EA4(this, ((0x100 - this->direction) & 0xFF) << 8); +} + +void sub_08046C88(Entity* this) { + if (sub_0806FCB8(this, this->field_0x80.HWORD, this->field_0x82.HWORD, 4)) { + this->previousActionFlag = 1; + sub_08048178(this, sub_08048158(this->field_0x70.HALF_U.LO)); + sub_08047D88(this); + } else { + this->direction = sub_080045DA(this->field_0x80.HWORD - this->x.HALF.HI, this->field_0x82.HWORD - this->y.HALF.HI); + sub_08047DF0(this, ((0x100 - this->direction) & 0xFF) << 8); + } +} + +void sub_08046CEC(Entity* this) { + if (this->animIndex == 0) { + if (this->frames.all == 1) { + InitAnimationForceUpdate(this, 1); + } + } + gUnk_080D1B4C[this->previousActionFlag](this); + UpdateAnimationSingleFrame(this); + if (((Entity*) this->otherEntity)->prev->field_0x6c.HWORD & 2) { + this->action = 2; + this->previousActionFlag = 0; + this->animationState = this->nonPlanarMovement; + } +} + +void sub_08046D44(Entity* this) { + const u16 * tmp; + this->previousActionFlag = 1; + this->nonPlanarMovement = 0x200; + tmp = gUnk_080D1B60 + (((Entity*) this->otherEntity)->next->animationState >> 5); + this->field_0x80.HWORD = tmp[0] + gRoomControls.roomOriginX; + this->field_0x82.HWORD = tmp[1] + gRoomControls.roomOriginY; + this->field_0x76.HWORD = this->direction << 8; + sub_08047D88(this); +} + +void sub_08046D98(Entity* this) { + u32 tmp = sub_080045DA(this->field_0x80.HWORD - this->x.HALF.HI, this->field_0x82.HWORD - this->y.HALF.HI); + if (tmp != this->direction) { + if (((tmp - this->direction) & 0xFF) > 0x80) { + this->field_0x76.HWORD -= 0x100; + } else { + this->field_0x76.HWORD += 0x100; + } + this->direction = this->field_0x76.HWORD >> 8; + } else { + this->previousActionFlag = 2; + } + sub_08047D88(this); + sub_08047EA4(this, ((0x100 - this->direction) & 0xFF) << 8); +} + +void sub_08046E0C(Entity* this) { + if (sub_0806FCB8(this, this->field_0x80.HWORD, this->field_0x82.HWORD, 4)) { + this->previousActionFlag = 3; + this->field_0x76.HWORD = this->direction << 8; + sub_08047D88(this); + } else { + this->direction = sub_080045DA(this->field_0x80.HWORD - this->x.HALF.HI, this->field_0x82.HWORD - this->y.HALF.HI); + sub_08047DF0(this, ((0x100 - this->direction) & 0xFF) << 8); + } +} + +void sub_08046E68(Entity* this) { + u32 tmp = ((Entity*) this->otherEntity)->next->animationState ^ 0x80; + if (tmp != this->direction) { + if (((tmp - this->direction) & 0xFF) > 0x80) { + this->field_0x76.HWORD -= 0x100; + } else { + this->field_0x76.HWORD += 0x100; + } + this->direction = this->field_0x76.HWORD >> 8; + sub_08047D88(this); + sub_08047EA4(this, ((0x100 - this->direction) & 0xFF) << 8); + } else { + this->previousActionFlag = 4; + this->actionDelay = 0x3F; + this->field_0xf = 1; + this->direction = (gUnk_080D1B70[(Random() & 1) << 1] + tmp) & 0xC0; + sub_08047D88(this); + } +} + +void sub_08046EF4(Entity* this) { + if (--this->actionDelay == 0) { + this->actionDelay = 0x7F; + this->direction ^= 0x80; + } + this->nonPlanarMovement = gUnk_080D1B74[(this->actionDelay >> 3) & 0xF]; + if ((--this->field_0xf & 0xFF) == 0) { + Entity* tmp; + this->field_0xf = (Random() & 0x38) + 0x78; + tmp = sub_080A7EE0(0x23); + if (tmp) { + tmp->collisionLayer = 2; + tmp->parent = this; + UpdateSpriteForCollisionLayer(tmp); + } + } + sub_08047E48(this); +} + +void sub_08046F64(Entity* this) { + if (this->animIndex == 0) { + if (this->frames.all == 1) { + InitAnimationForceUpdate(this, 1); + } + } + gUnk_080D1B94[this->previousActionFlag](this); + UpdateAnimationSingleFrame(this); + if (--this->field_0x7c.HALF.HI == 0) { + Entity* tmp; + this->field_0x7c.HALF.HI = 0x78; + tmp = sub_080A7EE0(0x23); + if (tmp) { + tmp->collisionLayer = 2; + tmp->parent = this; + UpdateSpriteForCollisionLayer(tmp); + } + } + if (((Entity*) this->otherEntity)->prev->field_0x6c.HWORD & 4) { + this->action = 5; + this->previousActionFlag = 0; + } +} + +void sub_08046FE8(Entity* this) { + this->previousActionFlag = 1; + this->nonPlanarMovement = 0x1c0; + this->field_0x7c.HALF.HI = 0x1e; + this->field_0x80.HWORD = gRoomControls.roomOriginX + 0x290; + this->field_0x82.HWORD = gRoomControls.roomOriginY + 0x190; + sub_08047D88(this); +} + +void sub_0804702C(Entity* this) { + u32 tmp = sub_080045DA(this->field_0x80.HWORD - this->x.HALF.HI, this->field_0x82.HWORD - this->y.HALF.HI); + if (((this->direction - tmp + 2) & 0xFF) > 4) { + if ((tmp - this->direction) & 0x80) { + this->direction--; + } else { + this->direction++; + } + } + sub_08047DF0(this, ((0x100 - this->direction) & 0xFF) << 8); + if (sub_0806FCB8(this, this->field_0x80.HWORD, this->field_0x82.HWORD, (this->nonPlanarMovement >> 0x10) + 0x10)) { + this->previousActionFlag = 2; + this->field_0x76.HWORD = this->direction << 8; + this->nonPlanarMovement = 0x280; + } +} + +void sub_080470B4(Entity* this) { + u32 tmp = 0x40; + if (tmp != this->direction) { + if (((tmp - this->direction) & 0xFF) > 0x80) { + this->field_0x76.HWORD -= 0x100; + } else { + this->field_0x76.HWORD += 0x100; + } + this->direction = this->field_0x76.HWORD >> 8; + sub_08047D88(this); + sub_08047EA4(this, ((0x100 - this->direction) & 0xFF) << 8); + } else { + this->previousActionFlag = 3; + this->nonPlanarMovement = 0x200; + this->field_0x76.HWORD = this->direction << 8; + this->field_0x74.HWORD = gUnk_080D1BBC[Random() & 1]; + sub_08047D88(this); + } +} + +void sub_08047140(Entity* this) { + this->field_0x76.HWORD += this->field_0x74.HWORD; + this->direction = this->field_0x76.HWORD >> 8; + if (this->direction > 0xbf) { + this->direction = 0xC0; + this->previousActionFlag = 4; + } + sub_08047DF0(this, ((0x100 - this->direction) & 0xFF) << 8); +} + +void sub_0804717C(Entity* this) { + if (this->nonPlanarMovement < 0x280) { + this->nonPlanarMovement += 8; + } + sub_08047DF0(this, ((0x100 - this->direction) & 0xFF) << 8); + if (gRoomControls.roomOriginX + 0x200 > this->x.HALF.HI) { + this->previousActionFlag = 5; + } +} + +void sub_080471C8(Entity* this) { + if (this->nonPlanarMovement > 0x180) { + this->nonPlanarMovement -= 0x10; + } + if (this->direction < 0xe0) { + this->direction++; + } + sub_08047DF0(this, ((0x100 - this->direction) & 0xFF) << 8); + if (gRoomControls.roomOriginY + 0x190 <= this->y.HALF.HI) return; + if (this->field_0x74.HWORD > 0x100) { + if (Random() & 1) { + this->previousActionFlag = 6; + } else { + this->previousActionFlag = 0; + } + } else { + this->previousActionFlag = 0; + } +} + +void sub_0804723C(Entity* this) { + this->direction -= 2; + if (this->direction < 0xc0) { + this->previousActionFlag = 7; + this->nonPlanarMovement = 0x200; + this->direction = 0xc0; + this->field_0x76.HWORD = 0xc000; + } + sub_08047D88(this); + sub_08047EA4(this, ((0x100 - this->direction) & 0xFF) << 8); +} + +void sub_08047284(Entity* this) { + this->field_0x76.HWORD -= 0xe0; + this->direction = this->field_0x76.HWORD >> 8; + if (this->direction < 0x40) { + this->direction = 0x40; + this->previousActionFlag = 8; + } + sub_08047DF0(this, ((0x100 - this->direction) & 0xFF) << 8); +} + +void sub_080472BC(Entity* this) { + if (this->nonPlanarMovement < 0x300) { + this->nonPlanarMovement += 8; + } + sub_08047DF0(this, ((0x100 - this->direction) & 0xFF) << 8); + if (gRoomControls.roomOriginX + 0x2B0 >= this->x.HALF.HI) return; + this->previousActionFlag = 9; + this->field_0x76.HWORD = this->direction << 8; +} + +void sub_08047310(Entity* this) { + if (this->nonPlanarMovement < 0x180) { + this->nonPlanarMovement -= 0x10; + } + this->field_0x76.HWORD -= 0x1D0; + this->direction = this->field_0x76.HWORD >> 8; + if ((u8) (this->direction + 0x7F) < 0x40) { + this->direction = 0xC0; + this->previousActionFlag = 4; + } + sub_08047DF0(this, ((0x100 - this->direction) & 0xFF) << 8); +} + +void sub_0804736C(Entity* this) { + if (this->animIndex == 1) { + if (this->frames.all == 1) { + InitAnimationForceUpdate(this, 0); + } + } + gUnk_080D1BC0[this->previousActionFlag](this); + UpdateAnimationSingleFrame(this); + if (this->currentHealth == 0) { + this->action = 7; + this->previousActionFlag = 0; + } +} + +void sub_080473B8(Entity* this) { + this->previousActionFlag = 1; + this->nonPlanarMovement = 0x120; + this->field_0x80.HWORD = gRoomControls.roomOriginX + 0x200; + this->field_0x82.HWORD = gRoomControls.roomOriginY + 0x1D0; + sub_08047D88(this); +} + +void sub_080473F0(Entity* this) { + u32 tmp = sub_080045DA(this->field_0x80.HWORD - this->x.HALF.HI, this->field_0x82.HWORD - this->y.HALF.HI); + if (((this->direction - tmp + 2) & 0xFF) > 4) { + s32 tmp2 = tmp - this->direction; + if (tmp2 & 0x80) { + if (tmp2 < -1) { + this->direction -= 2; + } else { + this->direction -= 1; + } + } else { + if (tmp2 > 1) { + this->direction += 2; + } else { + this->direction += 1; + } + } + } + sub_08047DF0(this, ((0x100 - this->direction) & 0xFF) << 8); + if (sub_0806FCB8(this, this->field_0x80.HWORD, this->field_0x82.HWORD, 8)) { + this->previousActionFlag = 2; + this->field_0x76.HWORD = this->direction << 8; + this->nonPlanarMovement = 0x180; + } +} + +void sub_08047484(Entity* this) { + u32 tmp = 0x40; + if (tmp != this->direction) { + if (((tmp - this->direction) & 0xFF) > 0x80) { + this->field_0x76.HWORD -= 0x100; + } else { + this->field_0x76.HWORD += 0x100; + } + this->direction = this->field_0x76.HWORD >> 8; + sub_08047D88(this); + sub_08047EA4(this, ((0x100 - this->direction) & 0xFF) << 8); + } else { + this->previousActionFlag = 3; + this->nonPlanarMovement = 0x200; + this->direction = 0x40; + this->field_0x76.HWORD = 0x4000; + this->field_0x74.HWORD = 0x180; + this->field_0x7c.HALF.HI = 0xF0; + sub_08047D88(this); + } +} + +void sub_08047508(Entity* this) { + if (gRoomControls.roomOriginX + 0x1A0 < this->x.HALF.HI) { + if (this->direction == 0) { + if (gRoomControls.roomOriginY + 0x208 >= this->y.HALF.HI) { + this->field_0x74.HWORD = -this->field_0x74.HWORD; + this->field_0x76.HWORD += this->field_0x74.HWORD; + this->direction = this->field_0x76.HWORD >> 8; + } + } else { + s32 tmp = (s16)this->field_0x74.HWORD; + if (tmp < 0) { + this->field_0x76.HWORD += tmp; + this->direction = this->field_0x76.HWORD >> 8; + if (this->direction & 0x80) { + this->direction = 0; + this->field_0x76.HWORD = 0; + } + } else { + if (this->direction < 0x40) { + this->field_0x76.HWORD += tmp; + this->direction = this->field_0x76.HWORD >> 8; + if (this->direction >= 0x40) { + this->direction = 0x40; + } + } + } + } + } + sub_08047E48(this); + if (gRoomControls.roomOriginX + 0x280 < this->x.HALF.HI) { + this->previousActionFlag = 4; + this->nonPlanarMovement = 0x200; + this->animationState = this->direction; + this->field_0x76.HWORD = this->direction << 8; + } + if (--this->field_0x7c.HALF.HI == 0) { + Entity* tmp = CreateEnemy(0x62, Random() & 3); + if (tmp) { + tmp->parent = this; + } + } +} + +void sub_080475F4(Entity* this) { + this->field_0x76.HWORD += 0x180; + this->direction = this->field_0x76.HWORD >> 8; + if (this->direction >= 0xc0) { + this->direction = 0xc0; + this->previousActionFlag = 5; + this->nonPlanarMovement = 0x200; + this->field_0x7c.HALF.HI = 0x3c; + } + sub_08047DF0(this, ((0x100 - this->direction) & 0xFF) << 8); +} + +void sub_0804763C(Entity* this) { + if (gRoomControls.roomOriginX + 0x1F0 > this->x.HALF.HI) { + if (this->direction == 0) { + if (gRoomControls.roomOriginY + 0x208 >= this->y.HALF.HI) { + this->field_0x74.HWORD = -this->field_0x74.HWORD; + this->field_0x76.HWORD += this->field_0x74.HWORD; + this->direction = this->field_0x76.HWORD >> 8; + } + } else { + s32 tmp = (s16) this->field_0x74.HWORD; + if (tmp > 0) { + this->field_0x76.HWORD += tmp; + this->direction = this->field_0x76.HWORD >> 8; + if ((this->direction & 0x80) == 0) { + this->direction = 0; + this->field_0x76.HWORD = 0; + } + } else { + if (this->direction > 0xC0) { + this->field_0x76.HWORD += tmp; + this->direction = this->field_0x76.HWORD >> 8; + if (this->direction <= 0xC0) { + this->direction = 0xC0; + } + } + } + } + } + sub_08047E48(this); + if (gRoomControls.roomOriginX + 0x180 > this->x.HALF.HI) { + this->previousActionFlag = 6; + this->nonPlanarMovement = 0x200; + this->animationState = this->direction; + this->field_0x76.HWORD = this->direction << 8; + } + if (--this->field_0x7c.HALF.HI == 0) { + Entity* tmp = CreateEnemy(0x62, Random() & 3); + if (tmp) { + tmp->parent = this; + } + } +} + +void sub_0804772C(Entity* this) { + this->field_0x76.HWORD -= 0x180; + this->direction = this->field_0x76.HWORD >> 8; + if (this->direction <= 0x40) { + this->direction = 0x40; + this->previousActionFlag = 3; + this->nonPlanarMovement = 0x200; + this->field_0x7c.HALF.HI = 0x1e; + } + sub_08047DF0(this, ((0x100 - this->direction) & 0xFF) << 8); +} + +void sub_08047778(Entity* this) { + gUnk_080D1BDC[this->previousActionFlag](this); + UpdateAnimationSingleFrame(this); +} + +void sub_08047798(Entity* this) { + this->previousActionFlag = 1; + this->nonPlanarMovement = 0x80; + if (this->x.HALF.HI - gRoomControls.roomOriginX < 0x1F8) { + this->field_0x80.HWORD = 0xa8; + } else { + this->field_0x80.HWORD = 0x348; + } + this->field_0x80.HWORD += gRoomControls.roomOriginX; + this->field_0x82.HWORD = gRoomControls.roomOriginY + 0x348; + sub_08047D88(this); +} + +void sub_080477F0(Entity* this) { + if (this->nonPlanarMovement < 0x300) { + this->nonPlanarMovement += 8; + } + this->direction = sub_080045DA(this->field_0x80.HWORD - this->x.HALF.HI, this->field_0x82.HWORD - this->y.HALF.HI); + sub_08047E48(this); + if (!sub_0806FCB8(this, gPlayerEntity.x.HALF.HI, gPlayerEntity.y.HALF.HI, 0x80)) { + this->action = 2; + this->previousActionFlag = 0; + this->spriteOrientation.flipY = 2; + this->spriteRendering.b3 = 2; + this->direction = this->animationState; + return; + } + if (!sub_0806FCB8(this, gRoomControls.roomOriginX + 0x200, gRoomControls.roomOriginY + 0x210, 0x100)) { + this->spriteOrientation.flipY = 3; + this->spriteRendering.b3 = 3; + } + if (sub_0806FCB8(this, this->field_0x80.HWORD, this->field_0x82.HWORD, 4)) { + this->previousActionFlag = 2; + this->field_0x76.HWORD = this->animationState << 8; + this->field_0x74.HWORD = gUnk_080D1BF0[Random() & 1]; + if (((Entity*) this->otherEntity)->prev->field_0x6c.HWORD & 1) { + ((Entity*) this->otherEntity)->next->field_0x78.HALF.HI = gRoomControls.roomOriginX + 0x200 > this->x.HALF.HI ? 0x81 : 0x83; + } else { + ((Entity*) this->otherEntity)->next->field_0x78.HALF.HI = 0x80; + } + } +} + +void sub_08047914(Entity* this) { + sub_08047D88(this); + if (this->animationState & 0x1F) { + this->field_0x76.HWORD += this->field_0x74.HWORD; + this->animationState = this->field_0x76.HWORD >> 8; + sub_08047EA4(this, ((0x100 - this->animationState) & 0xFF) << 8); + } else { + this->previousActionFlag = 3; + this->field_0x70.HALF.LO = 0x3C; + this->field_0x7c.HALF.HI = ((this->entityType.form * 0xF) << 2) + 0x78; + sub_080A1D70(((Entity*) this->otherEntity)->prev, this->animationState); + } +} + +void sub_08047978(Entity* this) { + sub_08047D88(this); + if (this->currentHealth != 0) { + if (--this->field_0x70.HALF_U.LO == 0) { + this->field_0x70.HALF.HI = 1; + if (this->entityType.form == 0) { + this->field_0x70.HALF.LO = 0xB4; + } else { + this->field_0x70.HALF.LO = 0x168; + } + } else { + if (this->field_0x70.HALF_U.LO == 0xF0) { + sub_0804813C(this); + } + } + } else { + this->field_0x70.HALF.HI = 0; + } + if (--this->field_0x7c.HALF.HI == 0) { + Entity* tmp; + this->field_0x7c.HALF.HI = 0xF0; + tmp = CreateEnemy(0x62, Random() & 3); + if (tmp) { + tmp->parent = this; + } + } + if (!sub_0806FCB8(this, gPlayerEntity.x.HALF.HI, gPlayerEntity.y.HALF.HI, 0x80)) { + this->action = 2; + this->previousActionFlag = 0; + this->spriteOrientation.flipY = 2; + this->spriteRendering.b3 = 2; + this->direction = this->animationState; + } + if (this->currentHealth != 0) return; + if (this->attachedEntity->action != 1) return; + this->previousActionFlag = 4; + if (this->entityType.form == 0) { + if ((((Entity*) this->otherEntity)->next->animationState >> 6) == 1) { + this->field_0x80.HWORD = gRoomControls.roomOriginX + 0x1C0; + this->field_0x82.HWORD = gRoomControls.roomOriginY + 0x250; + } else { + this->field_0x80.HWORD = gRoomControls.roomOriginX + 0x240; + this->field_0x82.HWORD = gRoomControls.roomOriginY + 0x250; + } + } else { + if (gRoomControls.roomOriginX + 0x200 < this->x.HALF.HI) { + this->field_0x80.HWORD = 0x190; + } else { + this->field_0x80.HWORD = 0x270; + } + this->field_0x80.HWORD += gRoomControls.roomOriginX; + if (gRoomControls.roomOriginY + 0x210 < this->y.HALF.HI) { + this->field_0x82.HWORD = 0x1A0; + } else { + this->field_0x82.HWORD = 0x280; + } + this->field_0x82.HWORD += gRoomControls.roomOriginY; + } + +} + +void sub_08047B08(Entity* this) { + sub_08047D88(this); + this->direction = sub_080045DA(this->field_0x80.HWORD - this->x.HALF.HI, this->field_0x82.HWORD - this->y.HALF.HI); + this->nonPlanarMovement = 0x200; + sub_08047E58(this); + if (!sub_0806FCB8(this, this->field_0x80.HWORD, this->field_0x82.HWORD, 4)) return; + if (this->entityType.form == 0) { + this->action = 7; + this->previousActionFlag = 0; + this->direction ^= 0x80; + } else { + this->action = 4; + this->previousActionFlag = 0; + this->spriteOrientation.flipY = 2; + this->spriteRendering.b3 = 2; + this->direction = this->animationState; + } +} + +void sub_08047B84(Entity* this) { + gUnk_080D1BF4[this->previousActionFlag](this); + UpdateAnimationSingleFrame(this); +} + +void sub_08047BA4(Entity* this) { + this->previousActionFlag = 1; + this->actionDelay = 0x78; + this->field_0xf = 0; + if (gRoomControls.roomOriginX + 0x200 < this->x.HALF.HI) { + this->field_0x76.HWORD = 0x78; + } else { + this->field_0x76.HWORD = 0x88; + } + PlaySFX(0x1B5); + sub_08047BF0(this); +} + +void sub_08047BF0(Entity* this) { + Entity* tmp; + this->direction = gUnk_080D1C00[this->actionDelay & 3]; + this->nonPlanarMovement = 0x100; + sub_08047E48(this); + if (this->actionDelay == 0) { + if ((this->field_0xf++ & 0xF) == 0) { + tmp = CreateFx(this, 0x51, 0); + if (tmp) { + u32 rand = Random(); + tmp->x.HALF.HI += (rand & 0x1E) + 0xFFF1; + rand >>= 8; + tmp->y.HALF.HI += (rand & 0x1E) + 0xFFF1; + tmp->spritePriority.b0 = 3; + tmp->collisionLayer = 1; + UpdateSpriteForCollisionLayer(tmp); + } + } + this->direction = this->field_0x76.HWORD; + this->nonPlanarMovement = 0x140; + sub_08047E48(this); + if (this->y.HALF.HI > gRoomControls.roomOriginY + 0x270) { + this->previousActionFlag = 2; + this->field_0x7c.HALF.HI = 0xAA; + PlaySFX(0x12D); + InitAnimationForceUpdate(this, 1); + } + } else { + this->actionDelay--; + if (this->actionDelay == 0x5A) { + tmp = this->attachedEntity; + tmp->spriteSettings.b.draw = 0; + CreateFx(tmp, 0x51, 0); + } else { + if (this->actionDelay == 0x3C) { + tmp = this->attachedEntity->attachedEntity; + tmp->spriteSettings.b.draw = 0; + CreateFx(tmp, 0x51, 0); + } else { + if (this->actionDelay == 0x1E) { + tmp = this->attachedEntity->attachedEntity->attachedEntity; + tmp->spriteSettings.b.draw = 0; + CreateFx(tmp, 0x51, 0); + } + } + } + } + sub_0805EC9C(this, 0xAA, 0xAA, this->field_0x78.HWORD); +} + +void sub_08047D24(Entity* this) { + this->field_0x7c.HALF_U.HI += 8; + if (this->field_0x7c.HALF_U.HI > 0x800) { + if (this->entityType.form == 0) { + ((u32*) this->otherEntity)[2] = 0; + } else { + ((u32*) this->otherEntity)[3] = 0; + } + this->otherEntity = 0; + DeleteThisEntity(); + } else { + if (this->field_0x7c.HALF_U.HI < 0x200) { + sub_08047E48(this); + } else { + sub_08047E58(this); + } + sub_0805EC9C(this, this->field_0x7c.HALF_U.HI, this->field_0x7c.HALF_U.HI, this->field_0x78.HWORD); + } +} + +void sub_08047D88(Entity* this) { + u32 tmp2; + u32 tmp = this->field_0x7c.BYTES.byte0; + tmp = ((tmp << 1) & 0x7F) | (tmp & 0x80); + this->field_0x7c.BYTES.byte0 = tmp; + tmp2 = this->spriteRendering.b3; + if (tmp2 == 3 && gPlayerState.field_0x14 != 0) return; + if (this->animIndex == 1) return; + if (!sub_0806FCB8(this, gPlayerEntity.x.HALF.HI, gPlayerEntity.y.HALF.HI, 0x20)) return; + gPlayerState.field_0x14 = 1; + if (gPlayerEntity.height.HALF.HI != 0) return; + this->field_0x7c.BYTES.byte0 |= 1; +} + +void sub_08047DF0(Entity* this, u32 unk1) { + u32 oldX, oldY; + sub_08047D88(this); + sub_08047EA4(this, unk1); + oldX = this->x.HALF.HI; + oldY = this->y.HALF.HI; + sub_0806F62C(this, this->nonPlanarMovement, this->direction); + if (this->field_0x7c.BYTES.byte0 & 1) { + if (sub_08079F8C()) { + gPlayerEntity.x.HALF.HI += this->x.HALF.HI - oldX; + gPlayerEntity.y.HALF.HI += this->y.HALF.HI - oldY; + } + } +} + +void sub_08047E48(Entity* this) { + sub_08047D88(this); + sub_08047E58(this); +} + +void sub_08047E58(Entity* this) { + u32 oldX, oldY; + oldX = this->x.HALF.HI; + oldY = this->y.HALF.HI; + sub_0806F62C(this, this->nonPlanarMovement, this->direction); + if (this->field_0x7c.BYTES.byte0 & 1) { + if (sub_08079F8C()) { + gPlayerEntity.x.HALF.HI += this->x.HALF.HI - oldX; + gPlayerEntity.y.HALF.HI += this->y.HALF.HI - oldY; + } + } +} + +void sub_08047EA4(Entity* this, u32 unk1) { + s32 tmp; + u32 tmp2, dir; + this->field_0x78.HWORD = unk1; + tmp = this->field_0x78.HWORD - this->field_0x7a.HWORD; + if (tmp + 0x100 < 0x200u) return; + if (this->field_0x7c.BYTES.byte0 & 1) { + tmp2 = sub_08047F68(this) << 8; + dir = sub_080045DA(gPlayerEntity.x.HALF.HI - this->x.HALF.HI, gPlayerEntity.y.HALF.HI - this->y.HALF.HI); + tmp = dir - (tmp / 256); + tmp &= 0xFF; + gPlayerEntity.x.WORD += (gSineTable[tmp] - gSineTable[dir]) * tmp2; + gPlayerEntity.y.WORD -= (gSineTable[tmp + 0x40] - gSineTable[dir + 0x40]) * tmp2; + } + this->field_0x7a.HWORD = this->field_0x78.HWORD; +} + +u32 sub_08047F68(Entity* this) { + s32 diffX, diffY; + s32 distSquared, approx; + diffX = gPlayerEntity.x.HALF.HI - this->x.HALF.HI; + diffY = gPlayerEntity.y.HALF.HI - this->y.HALF.HI; + distSquared = (diffX * diffX) + (diffY * diffY); + if (distSquared == 0x400) return 0x20; + if (distSquared < gUnk_080D1C04[0x10]) { + approx = 0x8; + } else { + approx = 0x18; + } + if (distSquared < gUnk_080D1C04[approx]) { + approx -= 4; + } else { + approx += 4; + } + if (distSquared < gUnk_080D1C04[approx]) { + approx -= 2; + } else { + approx += 2; + } + if (distSquared < gUnk_080D1C04[approx]) { + approx -= 1; + } else { + approx += 1; + } + if (distSquared < gUnk_080D1C04[approx]) { + s32 tmp = gUnk_080D1C04[approx-1]; + tmp += (gUnk_080D1C04[approx] - tmp) / 2; + if (distSquared <= tmp) { + approx = approx - 1; + } + } + return approx; +} + +void sub_08048004(Entity* this) { + if (this->action == 0) return; + if (this->animIndex == 0) { + this->flags &= ~0x80; + if (gPlayerEntity.height.HALF.HI != 0) return; + if (!sub_08079F8C()) return; + if (this->field_0x7c.BYTES.byte0 & 1) { + u32 b = this->spriteRendering.b3; + if (b == 3) { + s32 posX = ((gPlayerEntity.x.HALF.HI - gRoomControls.roomOriginX) >> 3); + s32 posY = ((gPlayerEntity.y.HALF.HI - gRoomControls.roomOriginY) >> 3); + u16 * tmp = (u16*)&gUnk_02019EE0; + if (tmp[(posY << 7) + posX]) { + if (!(this->field_0x7c.BYTES.byte0 & 2)) { + this->field_0x7c.BYTES.byte0 |= 0x80; + } + if ((this->field_0x7c.BYTES.byte0 & 0x80)) return; + gPlayerEntity.x.HALF.HI = this->cutsceneBeh.HWORD; + gPlayerEntity.y.HALF.HI = this->field_0x86.HWORD; + return; + } + } + this->field_0x7c.BYTES.byte0 &= ~0x80; + } else { + u32 b = this->spriteRendering.b3; + if (b != 3) { + if (sub_0806FCB8(&gPlayerEntity, this->x.HALF.HI, this->y.HALF.HI, 0x24)) { + if (!(this->field_0x7c.BYTES.byte0 & 2)) { + u32 tmp = sub_080045DA(gPlayerEntity.x.HALF.HI - this->x.HALF.HI, gPlayerEntity.y.HALF.HI - this->y.HALF.HI); + gPlayerEntity.x.WORD = this->x.WORD + (gSineTable[tmp] * 9216); + gPlayerEntity.y.WORD = this->y.WORD - (gSineTable[tmp + 0x40] * 9216); + } + } + } + this->field_0x7c.BYTES.byte0 = 0; + } + } else { + this->flags |= 0x80; + } +} + +void sub_0804813C(Entity* this) { + u32 rand = Random(); + sub_080A1ED0(rand & 7, 1, (rand >> 8) & 3); +} + +u32 sub_08048158(u32 unk1) { + return gUnk_080D1C44[(unk1 * 3) + ((signed)Random() % 3)]; +} + +void sub_08048178(Entity* this, u32 unk1) { + const u16* tmp = ((((Entity*) this->otherEntity)->next->animationState >> 6 & 1) ? gUnk_080D1C60 + unk1: gUnk_080D1C50 + unk1); + this->field_0x80.HWORD = *tmp + gRoomControls.roomOriginX; + this->field_0x82.HWORD = *(tmp + 1) + gRoomControls.roomOriginY; +} diff --git a/src/enemy/keese.c b/src/enemy/keese.c index d73475f3..0b9890c0 100644 --- a/src/enemy/keese.c +++ b/src/enemy/keese.c @@ -13,7 +13,6 @@ extern void sub_0804A720(Entity*); extern void Keese_StartFly(Entity*); extern void sub_080AEFB4(Entity*); extern void sub_08021F24(Entity*); -extern u32 sub_0806FCB8(Entity*, s32, s32, u32); extern u32 sub_08049FA0(Entity*); extern u32 sub_08049EE4(Entity*); diff --git a/src/npc/townMinish.c b/src/npc/townMinish.c index 0ef4098e..0f454fc6 100644 --- a/src/npc/townMinish.c +++ b/src/npc/townMinish.c @@ -15,7 +15,6 @@ extern void sub_0806AEE4(Entity*); extern void sub_0806AFE8(Entity*, s32*); extern s32 sub_0806EDD8(Entity*, u32, u32); extern u32 sub_0806F5B0(u32); -extern void sub_0806F62C(Entity*, s32, s32); extern void sub_08078784(Entity*, u32); extern void sub_08078850(Entity*, u32, u32, u32*); diff --git a/src/npc/zelda.c b/src/npc/zelda.c index f708c6b8..9ef2018e 100644 --- a/src/npc/zelda.c +++ b/src/npc/zelda.c @@ -15,7 +15,6 @@ u32 GetAnimationState(Entity* ent); void DeleteThisEntity(void); extern Entity* GetEntityByType(u32, u32); extern void sub_080686C4(Entity*, Entity*); -extern void sub_0806F62C(Entity*, u32, u32); extern void PlaySFX(u32); extern void SetTileType(u32, u32, u32); diff --git a/src/object/objectA2.c b/src/object/objectA2.c index 4b163b17..5f4d2e55 100644 --- a/src/object/objectA2.c +++ b/src/object/objectA2.c @@ -21,8 +21,6 @@ typedef struct { const struct_08124708 gUnk_08124708[5] = { { 0, 0x2F }, { 1, 0x20 }, { 1, 0x16 }, { 2, 0x10 }, { 3, 0x01 } }; -extern u32 sub_080045DA(s32, u32); - void ObjectA2(Entity* this) { gUnk_081246F4[this->action](this); GetNextFrame(this); From 275041cd5a5f8427e0ac62e5c9f153ddd034cc97 Mon Sep 17 00:00:00 2001 From: Ibot02 Date: Mon, 23 Nov 2020 17:19:26 +0100 Subject: [PATCH 016/101] Update Progress Bar --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 78672c1b..61c60717 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # The Legend of Zelda: The Minish Cap -**Progress:** [⬛⬛⬛⬛⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜] 20% +**Progress:** [⬛⬛⬛⬛⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜] 22% ```diff - WARNING! - From 7c1391f5c06d9b0c1ef772fb70afdc7748c7ade7 Mon Sep 17 00:00:00 2001 From: Ibot02 Date: Mon, 23 Nov 2020 18:19:40 +0100 Subject: [PATCH 017/101] gyorgMale.c: split out rodata --- data/data_080D0448.s | 729 ------------------------------------------ data/data_080D1C70.s | 672 ++++++++++++++++++++++++++++++++++++++ linker.ld | 2 + src/enemy/gyorgMale.c | 305 ++++++++++++++---- 4 files changed, 910 insertions(+), 798 deletions(-) create mode 100644 data/data_080D1C70.s diff --git a/data/data_080D0448.s b/data/data_080D0448.s index 86577c9a..37adec31 100644 --- a/data/data_080D0448.s +++ b/data/data_080D0448.s @@ -1362,732 +1362,3 @@ gUnk_080D1AF4:: @ 080D1AF4 gUnk_080D1AF8:: @ 080D1AF8 .incbin "baserom.gba", 0x0D1AF8, 0x0000004 - -gUnk_080D1AFC:: @ 080D1AFC - .incbin "baserom.gba", 0x0D1AFC, 0x0000020 - -gUnk_080D1B1C:: @ 080D1B1C - .incbin "baserom.gba", 0x0D1B1C, 0x0000003 - -gUnk_080D1B1F:: @ 080D1B1F - .incbin "baserom.gba", 0x0D1B1F, 0x0000019 - -gUnk_080D1B38:: @ 080D1B38 - .incbin "baserom.gba", 0x0D1B38, 0x0000014 - -gUnk_080D1B4C:: @ 080D1B4C - .incbin "baserom.gba", 0x0D1B4C, 0x0000014 - -gUnk_080D1B60:: @ 080D1B60 - .incbin "baserom.gba", 0x0D1B60, 0x0000010 - -gUnk_080D1B70:: @ 080D1B70 - .incbin "baserom.gba", 0x0D1B70, 0x0000004 - -gUnk_080D1B74:: @ 080D1B74 - .incbin "baserom.gba", 0x0D1B74, 0x0000020 - -gUnk_080D1B94:: @ 080D1B94 - .incbin "baserom.gba", 0x0D1B94, 0x0000028 - -gUnk_080D1BBC:: @ 080D1BBC - .incbin "baserom.gba", 0x0D1BBC, 0x0000004 - -gUnk_080D1BC0:: @ 080D1BC0 - .incbin "baserom.gba", 0x0D1BC0, 0x000001C - -gUnk_080D1BDC:: @ 080D1BDC - .incbin "baserom.gba", 0x0D1BDC, 0x0000014 - -gUnk_080D1BF0:: @ 080D1BF0 - .incbin "baserom.gba", 0x0D1BF0, 0x0000004 - -gUnk_080D1BF4:: @ 080D1BF4 - .incbin "baserom.gba", 0x0D1BF4, 0x000000C - -gUnk_080D1C00:: @ 080D1C00 - .incbin "baserom.gba", 0x0D1C00, 0x0000004 - -gUnk_080D1C04:: @ 080D1C04 - .incbin "baserom.gba", 0x0D1C04, 0x0000017 - -gUnk_080D1C1B:: @ 080D1C1B - .incbin "baserom.gba", 0x0D1C1B, 0x0000013 - -gUnk_080D1C2E:: @ 080D1C2E - .incbin "baserom.gba", 0x0D1C2E, 0x0000016 - -gUnk_080D1C44:: @ 080D1C44 - .incbin "baserom.gba", 0x0D1C44, 0x000000C - -gUnk_080D1C50:: @ 080D1C50 - .incbin "baserom.gba", 0x0D1C50, 0x0000010 - -gUnk_080D1C60:: @ 080D1C60 - .incbin "baserom.gba", 0x0D1C60, 0x0000010 - -gUnk_080D1C70:: @ 080D1C70 - .incbin "baserom.gba", 0x0D1C70, 0x0000021 - -gUnk_080D1C91:: @ 080D1C91 - .incbin "baserom.gba", 0x0D1C91, 0x000002B - -gUnk_080D1CBC:: @ 080D1CBC - .incbin "baserom.gba", 0x0D1CBC, 0x000000C - -gUnk_080D1CC8:: @ 080D1CC8 - .incbin "baserom.gba", 0x0D1CC8, 0x0000018 - -gUnk_080D1CE0:: @ 080D1CE0 - .incbin "baserom.gba", 0x0D1CE0, 0x0000010 - -gUnk_080D1CF0:: @ 080D1CF0 - .incbin "baserom.gba", 0x0D1CF0, 0x0000009 - -gUnk_080D1CF9:: @ 080D1CF9 - .incbin "baserom.gba", 0x0D1CF9, 0x0000009 - -gUnk_080D1D02:: @ 080D1D02 - .incbin "baserom.gba", 0x0D1D02, 0x0000020 - -gUnk_080D1D22:: @ 080D1D22 - .incbin "baserom.gba", 0x0D1D22, 0x0000001 - -gUnk_080D1D23:: @ 080D1D23 - .incbin "baserom.gba", 0x0D1D23, 0x0000003 - -gUnk_080D1D26:: @ 080D1D26 - .incbin "baserom.gba", 0x0D1D26, 0x0000001 - -gUnk_080D1D27:: @ 080D1D27 - .incbin "baserom.gba", 0x0D1D27, 0x0000005 - -gUnk_080D1D2C:: @ 080D1D2C - .incbin "baserom.gba", 0x0D1D2C, 0x0000008 - -gUnk_080D1D34:: @ 080D1D34 - .incbin "baserom.gba", 0x0D1D34, 0x0000014 - -gUnk_080D1D48:: @ 080D1D48 - .incbin "baserom.gba", 0x0D1D48, 0x0000028 - -gUnk_080D1D70:: @ 080D1D70 - .incbin "baserom.gba", 0x0D1D70, 0x0000008 - -gUnk_080D1D78:: @ 080D1D78 - .incbin "baserom.gba", 0x0D1D78, 0x0000020 - -gUnk_080D1D98:: @ 080D1D98 - .incbin "baserom.gba", 0x0D1D98, 0x0000008 - -gUnk_080D1DA0:: @ 080D1DA0 - .incbin "baserom.gba", 0x0D1DA0, 0x0000028 - -gUnk_080D1DC8:: @ 080D1DC8 - .incbin "baserom.gba", 0x0D1DC8, 0x0000004 - -gUnk_080D1DCC:: @ 080D1DCC - .incbin "baserom.gba", 0x0D1DCC, 0x0000004 - -gUnk_080D1DD0:: @ 080D1DD0 - .incbin "baserom.gba", 0x0D1DD0, 0x000000C - -gUnk_080D1DDC:: @ 080D1DDC - .incbin "baserom.gba", 0x0D1DDC, 0x000000C - -gUnk_080D1DE8:: @ 080D1DE8 - .incbin "baserom.gba", 0x0D1DE8, 0x000001D - -gUnk_080D1E05:: @ 080D1E05 - .incbin "baserom.gba", 0x0D1E05, 0x0000016 - -gUnk_080D1E1B:: @ 080D1E1B - .incbin "baserom.gba", 0x0D1E1B, 0x0000006 - -gUnk_080D1E21:: @ 080D1E21 - .incbin "baserom.gba", 0x0D1E21, 0x0000005 - -gUnk_080D1E26:: @ 080D1E26 - .incbin "baserom.gba", 0x0D1E26, 0x000000C - -gUnk_080D1E32:: @ 080D1E32 - .incbin "baserom.gba", 0x0D1E32, 0x0000012 - -gUnk_080D1E44:: @ 080D1E44 - .incbin "baserom.gba", 0x0D1E44, 0x0000028 - -gUnk_080D1E6C:: @ 080D1E6C - .incbin "baserom.gba", 0x0D1E6C, 0x0000018 - -gUnk_080D1E84:: @ 080D1E84 - .incbin "baserom.gba", 0x0D1E84, 0x0000010 - -gUnk_080D1E94:: @ 080D1E94 - .incbin "baserom.gba", 0x0D1E94, 0x000000C - -gUnk_080D1EA0:: @ 080D1EA0 - .incbin "baserom.gba", 0x0D1EA0, 0x0000016 - -gUnk_080D1EB6:: @ 080D1EB6 - .incbin "baserom.gba", 0x0D1EB6, 0x0000009 - -gUnk_080D1EBF:: @ 080D1EBF - .incbin "baserom.gba", 0x0D1EBF, 0x0000009 - -gUnk_080D1EC8:: @ 080D1EC8 - .incbin "baserom.gba", 0x0D1EC8, 0x0000009 - -gUnk_080D1ED1:: @ 080D1ED1 - .incbin "baserom.gba", 0x0D1ED1, 0x0000009 - -gUnk_080D1EDA:: @ 080D1EDA - .incbin "baserom.gba", 0x0D1EDA, 0x0000009 - -gUnk_080D1EE3:: @ 080D1EE3 - .incbin "baserom.gba", 0x0D1EE3, 0x0000009 - -gUnk_080D1EEC:: @ 080D1EEC - .incbin "baserom.gba", 0x0D1EEC, 0x0000009 - -gUnk_080D1EF5:: @ 080D1EF5 - .incbin "baserom.gba", 0x0D1EF5, 0x0000009 - -gUnk_080D1EFE:: @ 080D1EFE - .incbin "baserom.gba", 0x0D1EFE, 0x0000004 - -gUnk_080D1F02:: @ 080D1F02 - .incbin "baserom.gba", 0x0D1F02, 0x0000004 - -gUnk_080D1F06:: @ 080D1F06 - .incbin "baserom.gba", 0x0D1F06, 0x0000004 - -gUnk_080D1F0A:: @ 080D1F0A - .incbin "baserom.gba", 0x0D1F0A, 0x0000004 - -gUnk_080D1F0E:: @ 080D1F0E - .incbin "baserom.gba", 0x0D1F0E, 0x0000004 - -gUnk_080D1F12:: @ 080D1F12 - .incbin "baserom.gba", 0x0D1F12, 0x0000004 - -gUnk_080D1F16:: @ 080D1F16 - .incbin "baserom.gba", 0x0D1F16, 0x0000004 - -gUnk_080D1F1A:: @ 080D1F1A - .incbin "baserom.gba", 0x0D1F1A, 0x0000006 - -gUnk_080D1F20:: @ 080D1F20 - .incbin "baserom.gba", 0x0D1F20, 0x0000014 - -gUnk_080D1F34:: @ 080D1F34 - .incbin "baserom.gba", 0x0D1F34, 0x0000030 - -gUnk_080D1F64:: @ 080D1F64 - .incbin "baserom.gba", 0x0D1F64, 0x0000018 - -gUnk_080D1F7C:: @ 080D1F7C - .incbin "baserom.gba", 0x0D1F7C, 0x0000014 - -gUnk_080D1F90:: @ 080D1F90 - .incbin "baserom.gba", 0x0D1F90, 0x0000080 - -gUnk_080D2010:: @ 080D2010 - .incbin "baserom.gba", 0x0D2010, 0x0000020 - -gUnk_080D2030:: @ 080D2030 - .incbin "baserom.gba", 0x0D2030, 0x0000020 - -gUnk_080D2050:: @ 080D2050 - .incbin "baserom.gba", 0x0D2050, 0x0000014 - -gUnk_080D2064:: @ 080D2064 - .incbin "baserom.gba", 0x0D2064, 0x0000014 - -gUnk_080D2078:: @ 080D2078 - .incbin "baserom.gba", 0x0D2078, 0x0000014 - -gUnk_080D208C:: @ 080D208C - .incbin "baserom.gba", 0x0D208C, 0x0000014 - -gUnk_080D20A0:: @ 080D20A0 - .incbin "baserom.gba", 0x0D20A0, 0x0000014 - -gUnk_080D20B4:: @ 080D20B4 - .incbin "baserom.gba", 0x0D20B4, 0x0000014 - -gUnk_080D20C8:: @ 080D20C8 - .incbin "baserom.gba", 0x0D20C8, 0x0000014 - -gUnk_080D20DC:: @ 080D20DC - .incbin "baserom.gba", 0x0D20DC, 0x0000014 - -gUnk_080D20F0:: @ 080D20F0 - .incbin "baserom.gba", 0x0D20F0, 0x0000014 - -gUnk_080D2104:: @ 080D2104 - .incbin "baserom.gba", 0x0D2104, 0x0000014 - -gUnk_080D2118:: @ 080D2118 - .incbin "baserom.gba", 0x0D2118, 0x0000014 - -gUnk_080D212C:: @ 080D212C - .incbin "baserom.gba", 0x0D212C, 0x0000014 - -gUnk_080D2140:: @ 080D2140 - .incbin "baserom.gba", 0x0D2140, 0x0000014 - -gUnk_080D2154:: @ 080D2154 - .incbin "baserom.gba", 0x0D2154, 0x0000014 - -gUnk_080D2168:: @ 080D2168 - .incbin "baserom.gba", 0x0D2168, 0x0000014 - -gUnk_080D217C:: @ 080D217C - .incbin "baserom.gba", 0x0D217C, 0x0000014 - -gUnk_080D2190:: @ 080D2190 - .incbin "baserom.gba", 0x0D2190, 0x0000029 - -gUnk_080D21B9:: @ 080D21B9 - .incbin "baserom.gba", 0x0D21B9, 0x0000029 - -gUnk_080D21E2:: @ 080D21E2 - .incbin "baserom.gba", 0x0D21E2, 0x0000029 - -gUnk_080D220B:: @ 080D220B - .incbin "baserom.gba", 0x0D220B, 0x0000029 - -gUnk_080D2234:: @ 080D2234 - .incbin "baserom.gba", 0x0D2234, 0x0000010 - -gUnk_080D2244:: @ 080D2244 - .incbin "baserom.gba", 0x0D2244, 0x0000010 - -gUnk_080D2254:: @ 080D2254 - .incbin "baserom.gba", 0x0D2254, 0x0000010 - -gUnk_080D2264:: @ 080D2264 - .incbin "baserom.gba", 0x0D2264, 0x0000010 - -gUnk_080D2274:: @ 080D2274 - .incbin "baserom.gba", 0x0D2274, 0x0000064 - -gUnk_080D22D8:: @ 080D22D8 - .incbin "baserom.gba", 0x0D22D8, 0x0000018 - -gUnk_080D22F0:: @ 080D22F0 - .incbin "baserom.gba", 0x0D22F0, 0x0000010 - -gUnk_080D2300:: @ 080D2300 - .incbin "baserom.gba", 0x0D2300, 0x0000048 - -gUnk_080D2348:: @ 080D2348 - .incbin "baserom.gba", 0x0D2348, 0x0000020 - -gUnk_080D2368:: @ 080D2368 - .incbin "baserom.gba", 0x0D2368, 0x0000011 - -gUnk_080D2379:: @ 080D2379 - .incbin "baserom.gba", 0x0D2379, 0x0000011 - -gUnk_080D238A:: @ 080D238A - .incbin "baserom.gba", 0x0D238A, 0x0000011 - -gUnk_080D239B:: @ 080D239B - .incbin "baserom.gba", 0x0D239B, 0x0000011 - -gUnk_080D23AC:: @ 080D23AC - .incbin "baserom.gba", 0x0D23AC, 0x0000011 - -gUnk_080D23BD:: @ 080D23BD - .incbin "baserom.gba", 0x0D23BD, 0x0000011 - -gUnk_080D23CE:: @ 080D23CE - .incbin "baserom.gba", 0x0D23CE, 0x0000011 - -gUnk_080D23DF:: @ 080D23DF - .incbin "baserom.gba", 0x0D23DF, 0x0000011 - -gUnk_080D23F0:: @ 080D23F0 - .incbin "baserom.gba", 0x0D23F0, 0x0000011 - -gUnk_080D2401:: @ 080D2401 - .incbin "baserom.gba", 0x0D2401, 0x0000011 - -gUnk_080D2412:: @ 080D2412 - .incbin "baserom.gba", 0x0D2412, 0x0000011 - -gUnk_080D2423:: @ 080D2423 - .incbin "baserom.gba", 0x0D2423, 0x0000011 - -gUnk_080D2434:: @ 080D2434 - .incbin "baserom.gba", 0x0D2434, 0x0000011 - -gUnk_080D2445:: @ 080D2445 - .incbin "baserom.gba", 0x0D2445, 0x0000011 - -gUnk_080D2456:: @ 080D2456 - .incbin "baserom.gba", 0x0D2456, 0x0000011 - -gUnk_080D2467:: @ 080D2467 - .incbin "baserom.gba", 0x0D2467, 0x0000011 - -gUnk_080D2478:: @ 080D2478 - .incbin "baserom.gba", 0x0D2478, 0x0000011 - -gUnk_080D2489:: @ 080D2489 - .incbin "baserom.gba", 0x0D2489, 0x0000011 - -gUnk_080D249A:: @ 080D249A - .incbin "baserom.gba", 0x0D249A, 0x0000011 - -gUnk_080D24AB:: @ 080D24AB - .incbin "baserom.gba", 0x0D24AB, 0x0000011 - -gUnk_080D24BC:: @ 080D24BC - .incbin "baserom.gba", 0x0D24BC, 0x0000011 - -gUnk_080D24CD:: @ 080D24CD - .incbin "baserom.gba", 0x0D24CD, 0x0000011 - -gUnk_080D24DE:: @ 080D24DE - .incbin "baserom.gba", 0x0D24DE, 0x0000011 - -gUnk_080D24EF:: @ 080D24EF - .incbin "baserom.gba", 0x0D24EF, 0x0000011 - -gUnk_080D2500:: @ 080D2500 - .incbin "baserom.gba", 0x0D2500, 0x0000011 - -gUnk_080D2511:: @ 080D2511 - .incbin "baserom.gba", 0x0D2511, 0x0000011 - -gUnk_080D2522:: @ 080D2522 - .incbin "baserom.gba", 0x0D2522, 0x0000011 - -gUnk_080D2533:: @ 080D2533 - .incbin "baserom.gba", 0x0D2533, 0x0000011 - -gUnk_080D2544:: @ 080D2544 - .incbin "baserom.gba", 0x0D2544, 0x0000011 - -gUnk_080D2555:: @ 080D2555 - .incbin "baserom.gba", 0x0D2555, 0x0000011 - -gUnk_080D2566:: @ 080D2566 - .incbin "baserom.gba", 0x0D2566, 0x0000011 - -gUnk_080D2577:: @ 080D2577 - .incbin "baserom.gba", 0x0D2577, 0x0000011 - -gUnk_080D2588:: @ 080D2588 - .incbin "baserom.gba", 0x0D2588, 0x0000011 - -gUnk_080D2599:: @ 080D2599 - .incbin "baserom.gba", 0x0D2599, 0x0000011 - -gUnk_080D25AA:: @ 080D25AA - .incbin "baserom.gba", 0x0D25AA, 0x0000011 - -gUnk_080D25BB:: @ 080D25BB - .incbin "baserom.gba", 0x0D25BB, 0x0000011 - -gUnk_080D25CC:: @ 080D25CC - .incbin "baserom.gba", 0x0D25CC, 0x0000011 - -gUnk_080D25DD:: @ 080D25DD - .incbin "baserom.gba", 0x0D25DD, 0x0000011 - -gUnk_080D25EE:: @ 080D25EE - .incbin "baserom.gba", 0x0D25EE, 0x0000011 - -gUnk_080D25FF:: @ 080D25FF - .incbin "baserom.gba", 0x0D25FF, 0x0000011 - -gUnk_080D2610:: @ 080D2610 - .incbin "baserom.gba", 0x0D2610, 0x0000011 - -gUnk_080D2621:: @ 080D2621 - .incbin "baserom.gba", 0x0D2621, 0x0000011 - -gUnk_080D2632:: @ 080D2632 - .incbin "baserom.gba", 0x0D2632, 0x0000011 - -gUnk_080D2643:: @ 080D2643 - .incbin "baserom.gba", 0x0D2643, 0x0000011 - -gUnk_080D2654:: @ 080D2654 - .incbin "baserom.gba", 0x0D2654, 0x0000011 - -gUnk_080D2665:: @ 080D2665 - .incbin "baserom.gba", 0x0D2665, 0x0000011 - -gUnk_080D2676:: @ 080D2676 - .incbin "baserom.gba", 0x0D2676, 0x0000011 - -gUnk_080D2687:: @ 080D2687 - .incbin "baserom.gba", 0x0D2687, 0x0000011 - -gUnk_080D2698:: @ 080D2698 - .incbin "baserom.gba", 0x0D2698, 0x0000011 - -gUnk_080D26A9:: @ 080D26A9 - .incbin "baserom.gba", 0x0D26A9, 0x0000011 - -gUnk_080D26BA:: @ 080D26BA - .incbin "baserom.gba", 0x0D26BA, 0x0000011 - -gUnk_080D26CB:: @ 080D26CB - .incbin "baserom.gba", 0x0D26CB, 0x0000011 - -gUnk_080D26DC:: @ 080D26DC - .incbin "baserom.gba", 0x0D26DC, 0x0000011 - -gUnk_080D26ED:: @ 080D26ED - .incbin "baserom.gba", 0x0D26ED, 0x0000011 - -gUnk_080D26FE:: @ 080D26FE - .incbin "baserom.gba", 0x0D26FE, 0x0000011 - -gUnk_080D270F:: @ 080D270F - .incbin "baserom.gba", 0x0D270F, 0x0000011 - -gUnk_080D2720:: @ 080D2720 - .incbin "baserom.gba", 0x0D2720, 0x0000011 - -gUnk_080D2731:: @ 080D2731 - .incbin "baserom.gba", 0x0D2731, 0x0000011 - -gUnk_080D2742:: @ 080D2742 - .incbin "baserom.gba", 0x0D2742, 0x0000011 - -gUnk_080D2753:: @ 080D2753 - .incbin "baserom.gba", 0x0D2753, 0x0000011 - -gUnk_080D2764:: @ 080D2764 - .incbin "baserom.gba", 0x0D2764, 0x0000011 - -gUnk_080D2775:: @ 080D2775 - .incbin "baserom.gba", 0x0D2775, 0x0000011 - -gUnk_080D2786:: @ 080D2786 - .incbin "baserom.gba", 0x0D2786, 0x0000011 - -gUnk_080D2797:: @ 080D2797 - .incbin "baserom.gba", 0x0D2797, 0x0000011 - -gUnk_080D27A8:: @ 080D27A8 - .incbin "baserom.gba", 0x0D27A8, 0x0000104 - -gUnk_080D28AC:: @ 080D28AC - .incbin "baserom.gba", 0x0D28AC, 0x0000020 - -gUnk_080D28CC:: @ 080D28CC - .incbin "baserom.gba", 0x0D28CC, 0x0000010 - -gUnk_080D28DC:: @ 080D28DC - .incbin "baserom.gba", 0x0D28DC, 0x0000008 - -gUnk_080D28E4:: @ 080D28E4 - .incbin "baserom.gba", 0x0D28E4, 0x0000008 - -gUnk_080D28EC:: @ 080D28EC - .incbin "baserom.gba", 0x0D28EC, 0x0000008 - -gUnk_080D28F4:: @ 080D28F4 - .incbin "baserom.gba", 0x0D28F4, 0x0000008 - -gUnk_080D28FC:: @ 080D28FC - .incbin "baserom.gba", 0x0D28FC, 0x0000008 - -gUnk_080D2904:: @ 080D2904 - .incbin "baserom.gba", 0x0D2904, 0x0000008 - -gUnk_080D290C:: @ 080D290C - .incbin "baserom.gba", 0x0D290C, 0x0000008 - -gUnk_080D2914:: @ 080D2914 - .incbin "baserom.gba", 0x0D2914, 0x0000008 - -gUnk_080D291C:: @ 080D291C - .incbin "baserom.gba", 0x0D291C, 0x0000011 - -gUnk_080D292D:: @ 080D292D - .incbin "baserom.gba", 0x0D292D, 0x0000011 - -gUnk_080D293E:: @ 080D293E - .incbin "baserom.gba", 0x0D293E, 0x000000C - -gUnk_080D294A:: @ 080D294A - .incbin "baserom.gba", 0x0D294A, 0x0000005 - -gUnk_080D294F:: @ 080D294F - .incbin "baserom.gba", 0x0D294F, 0x0000011 - -gUnk_080D2960:: @ 080D2960 - .incbin "baserom.gba", 0x0D2960, 0x0000014 - -gUnk_080D2974:: @ 080D2974 - .incbin "baserom.gba", 0x0D2974, 0x0000014 - -gUnk_080D2988:: @ 080D2988 - .incbin "baserom.gba", 0x0D2988, 0x0000008 - -gUnk_080D2990:: @ 080D2990 - .incbin "baserom.gba", 0x0D2990, 0x0000018 - -gUnk_080D29A8:: @ 080D29A8 - .incbin "baserom.gba", 0x0D29A8, 0x0000010 - -gUnk_080D29B8:: @ 080D29B8 - .incbin "baserom.gba", 0x0D29B8, 0x0000008 - -gUnk_080D29C0:: @ 080D29C0 - .incbin "baserom.gba", 0x0D29C0, 0x0000020 - -gUnk_080D29E0:: @ 080D29E0 - .byte 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF - .byte 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF - .byte 0x00, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF - .byte 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF - .byte 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF - .byte 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF - .byte 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF - .byte 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF - -gUnk_080D2AB0:: @ 080D2AB0 - .byte 0x6E, 0x6F, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x00, 0x00, 0x00, 0x00 - -gUnk_080D2ABC:: @ 080D2ABC - .incbin "baserom.gba", 0x0D2ABC, 0x000019C - -gUnk_080D2C58:: @ 080D2C58 - .incbin "baserom.gba", 0x0D2C58, 0x00001CE - -gUnk_080D2E26:: @ 080D2E26 - .incbin "baserom.gba", 0x0D2E26, 0x0000492 - -gUnk_080D32B8:: @ 080D32B8 - .incbin "baserom.gba", 0x0D32B8, 0x0000030 - -gUnk_080D32E8:: @ 080D32E8 - .incbin "baserom.gba", 0x0D32E8, 0x0000020 - -gUnk_080D3308:: @ 080D3308 - .incbin "baserom.gba", 0x0D3308, 0x0000080 - -gUnk_080D3388:: @ 080D3388 - .incbin "baserom.gba", 0x0D3388, 0x0000040 - -gUnk_080D33C8:: @ 080D33C8 - .incbin "baserom.gba", 0x0D33C8, 0x0000090 - -gUnk_080D3458:: @ 080D3458 - .incbin "baserom.gba", 0x0D3458, 0x0000030 - -gUnk_080D3488:: @ 080D3488 - .incbin "baserom.gba", 0x0D3488, 0x0000030 - -gUnk_080D34B8:: @ 080D34B8 - .incbin "baserom.gba", 0x0D34B8, 0x0000020 - -gUnk_080D34D8:: @ 080D34D8 - .incbin "baserom.gba", 0x0D34D8, 0x0000030 - -gUnk_080D3508:: @ 080D3508 - .incbin "baserom.gba", 0x0D3508, 0x0000090 - -gUnk_080D3598:: @ 080D3598 - .incbin "baserom.gba", 0x0D3598, 0x0000040 - -gUnk_080D35D8:: @ 080D35D8 - .incbin "baserom.gba", 0x0D35D8, 0x0000070 - -gUnk_080D3648:: @ 080D3648 - .incbin "baserom.gba", 0x0D3648, 0x0000080 - -gUnk_080D36C8:: @ 080D36C8 - .incbin "baserom.gba", 0x0D36C8, 0x0000020 - -gUnk_080D36E8:: @ 080D36E8 - .incbin "baserom.gba", 0x0D36E8, 0x0000030 - -gUnk_080D3718:: @ 080D3718 - .incbin "baserom.gba", 0x0D3718, 0x0000030 - -gUnk_080D3748:: @ 080D3748 - .incbin "baserom.gba", 0x0D3748, 0x0000020 - -gUnk_080D3768:: @ 080D3768 - .incbin "baserom.gba", 0x0D3768, 0x0000020 - -gUnk_080D3788:: @ 080D3788 - .incbin "baserom.gba", 0x0D3788, 0x0000050 - -gUnk_080D37D8:: @ 080D37D8 - .incbin "baserom.gba", 0x0D37D8, 0x0000020 - -gUnk_080D37F8:: @ 080D37F8 - .incbin "baserom.gba", 0x0D37F8, 0x0000030 - -gUnk_080D3828:: @ 080D3828 - .incbin "baserom.gba", 0x0D3828, 0x0000080 - -gUnk_080D38A8:: @ 080D38A8 - .incbin "baserom.gba", 0x0D38A8, 0x0000030 - -gUnk_080D38D8:: @ 080D38D8 - .incbin "baserom.gba", 0x0D38D8, 0x0000040 - -gUnk_080D3918:: @ 080D3918 - .incbin "baserom.gba", 0x0D3918, 0x0000020 - -gUnk_080D3938:: @ 080D3938 - .incbin "baserom.gba", 0x0D3938, 0x0000017 - -gUnk_080D394F:: @ 080D394F - .incbin "baserom.gba", 0x0D394F, 0x0000029 - -gUnk_080D3978:: @ 080D3978 - .incbin "baserom.gba", 0x0D3978, 0x0000060 - -gUnk_080D39D8:: @ 080D39D8 - .incbin "baserom.gba", 0x0D39D8, 0x0000040 - -gUnk_080D3A18:: @ 080D3A18 - .incbin "baserom.gba", 0x0D3A18, 0x0000050 - -gUnk_080D3A68:: @ 080D3A68 - .incbin "baserom.gba", 0x0D3A68, 0x0000030 - -gUnk_080D3A98:: @ 080D3A98 - .incbin "baserom.gba", 0x0D3A98, 0x0000030 - -gUnk_080D3AC8:: @ 080D3AC8 - .incbin "baserom.gba", 0x0D3AC8, 0x0000020 - -gUnk_080D3AE8:: @ 080D3AE8 - .incbin "baserom.gba", 0x0D3AE8, 0x0000040 - -gUnk_080D3B28:: @ 080D3B28 - .incbin "baserom.gba", 0x0D3B28, 0x0000020 - -gUnk_080D3B48:: @ 080D3B48 - .incbin "baserom.gba", 0x0D3B48, 0x0000040 - -gUnk_080D3B88:: @ 080D3B88 - .incbin "baserom.gba", 0x0D3B88, 0x0000020 - -gUnk_080D3BA8:: @ 080D3BA8 - .incbin "baserom.gba", 0x0D3BA8, 0x0000020 - -gUnk_080D3BC8:: @ 080D3BC8 - .incbin "baserom.gba", 0x0D3BC8, 0x0000020 - -gUnk_080D3BE8:: @ 080D3BE8 - .incbin "baserom.gba", 0x0D3BE8, 0x0000010 diff --git a/data/data_080D1C70.s b/data/data_080D1C70.s new file mode 100644 index 00000000..0f32e4cf --- /dev/null +++ b/data/data_080D1C70.s @@ -0,0 +1,672 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + .align 2 + + +gUnk_080D1C70:: @ 080D1C70 + .incbin "baserom.gba", 0x0D1C70, 0x0000021 + +gUnk_080D1C91:: @ 080D1C91 + .incbin "baserom.gba", 0x0D1C91, 0x000002B + +gUnk_080D1CBC:: @ 080D1CBC + .incbin "baserom.gba", 0x0D1CBC, 0x000000C + +gUnk_080D1CC8:: @ 080D1CC8 + .incbin "baserom.gba", 0x0D1CC8, 0x0000018 + +gUnk_080D1CE0:: @ 080D1CE0 + .incbin "baserom.gba", 0x0D1CE0, 0x0000010 + +gUnk_080D1CF0:: @ 080D1CF0 + .incbin "baserom.gba", 0x0D1CF0, 0x0000009 + +gUnk_080D1CF9:: @ 080D1CF9 + .incbin "baserom.gba", 0x0D1CF9, 0x0000009 + +gUnk_080D1D02:: @ 080D1D02 + .incbin "baserom.gba", 0x0D1D02, 0x0000020 + +gUnk_080D1D22:: @ 080D1D22 + .incbin "baserom.gba", 0x0D1D22, 0x0000001 + +gUnk_080D1D23:: @ 080D1D23 + .incbin "baserom.gba", 0x0D1D23, 0x0000003 + +gUnk_080D1D26:: @ 080D1D26 + .incbin "baserom.gba", 0x0D1D26, 0x0000001 + +gUnk_080D1D27:: @ 080D1D27 + .incbin "baserom.gba", 0x0D1D27, 0x0000005 + +gUnk_080D1D2C:: @ 080D1D2C + .incbin "baserom.gba", 0x0D1D2C, 0x0000008 + +gUnk_080D1D34:: @ 080D1D34 + .incbin "baserom.gba", 0x0D1D34, 0x0000014 + +gUnk_080D1D48:: @ 080D1D48 + .incbin "baserom.gba", 0x0D1D48, 0x0000028 + +gUnk_080D1D70:: @ 080D1D70 + .incbin "baserom.gba", 0x0D1D70, 0x0000008 + +gUnk_080D1D78:: @ 080D1D78 + .incbin "baserom.gba", 0x0D1D78, 0x0000020 + +gUnk_080D1D98:: @ 080D1D98 + .incbin "baserom.gba", 0x0D1D98, 0x0000008 + +gUnk_080D1DA0:: @ 080D1DA0 + .incbin "baserom.gba", 0x0D1DA0, 0x0000028 + +gUnk_080D1DC8:: @ 080D1DC8 + .incbin "baserom.gba", 0x0D1DC8, 0x0000004 + +gUnk_080D1DCC:: @ 080D1DCC + .incbin "baserom.gba", 0x0D1DCC, 0x0000004 + +gUnk_080D1DD0:: @ 080D1DD0 + .incbin "baserom.gba", 0x0D1DD0, 0x000000C + +gUnk_080D1DDC:: @ 080D1DDC + .incbin "baserom.gba", 0x0D1DDC, 0x000000C + +gUnk_080D1DE8:: @ 080D1DE8 + .incbin "baserom.gba", 0x0D1DE8, 0x000001D + +gUnk_080D1E05:: @ 080D1E05 + .incbin "baserom.gba", 0x0D1E05, 0x0000016 + +gUnk_080D1E1B:: @ 080D1E1B + .incbin "baserom.gba", 0x0D1E1B, 0x0000006 + +gUnk_080D1E21:: @ 080D1E21 + .incbin "baserom.gba", 0x0D1E21, 0x0000005 + +gUnk_080D1E26:: @ 080D1E26 + .incbin "baserom.gba", 0x0D1E26, 0x000000C + +gUnk_080D1E32:: @ 080D1E32 + .incbin "baserom.gba", 0x0D1E32, 0x0000012 + +gUnk_080D1E44:: @ 080D1E44 + .incbin "baserom.gba", 0x0D1E44, 0x0000028 + +gUnk_080D1E6C:: @ 080D1E6C + .incbin "baserom.gba", 0x0D1E6C, 0x0000018 + +gUnk_080D1E84:: @ 080D1E84 + .incbin "baserom.gba", 0x0D1E84, 0x0000010 + +gUnk_080D1E94:: @ 080D1E94 + .incbin "baserom.gba", 0x0D1E94, 0x000000C + +gUnk_080D1EA0:: @ 080D1EA0 + .incbin "baserom.gba", 0x0D1EA0, 0x0000016 + +gUnk_080D1EB6:: @ 080D1EB6 + .incbin "baserom.gba", 0x0D1EB6, 0x0000009 + +gUnk_080D1EBF:: @ 080D1EBF + .incbin "baserom.gba", 0x0D1EBF, 0x0000009 + +gUnk_080D1EC8:: @ 080D1EC8 + .incbin "baserom.gba", 0x0D1EC8, 0x0000009 + +gUnk_080D1ED1:: @ 080D1ED1 + .incbin "baserom.gba", 0x0D1ED1, 0x0000009 + +gUnk_080D1EDA:: @ 080D1EDA + .incbin "baserom.gba", 0x0D1EDA, 0x0000009 + +gUnk_080D1EE3:: @ 080D1EE3 + .incbin "baserom.gba", 0x0D1EE3, 0x0000009 + +gUnk_080D1EEC:: @ 080D1EEC + .incbin "baserom.gba", 0x0D1EEC, 0x0000009 + +gUnk_080D1EF5:: @ 080D1EF5 + .incbin "baserom.gba", 0x0D1EF5, 0x0000009 + +gUnk_080D1EFE:: @ 080D1EFE + .incbin "baserom.gba", 0x0D1EFE, 0x0000004 + +gUnk_080D1F02:: @ 080D1F02 + .incbin "baserom.gba", 0x0D1F02, 0x0000004 + +gUnk_080D1F06:: @ 080D1F06 + .incbin "baserom.gba", 0x0D1F06, 0x0000004 + +gUnk_080D1F0A:: @ 080D1F0A + .incbin "baserom.gba", 0x0D1F0A, 0x0000004 + +gUnk_080D1F0E:: @ 080D1F0E + .incbin "baserom.gba", 0x0D1F0E, 0x0000004 + +gUnk_080D1F12:: @ 080D1F12 + .incbin "baserom.gba", 0x0D1F12, 0x0000004 + +gUnk_080D1F16:: @ 080D1F16 + .incbin "baserom.gba", 0x0D1F16, 0x0000004 + +gUnk_080D1F1A:: @ 080D1F1A + .incbin "baserom.gba", 0x0D1F1A, 0x0000006 + +gUnk_080D1F20:: @ 080D1F20 + .incbin "baserom.gba", 0x0D1F20, 0x0000014 + +gUnk_080D1F34:: @ 080D1F34 + .incbin "baserom.gba", 0x0D1F34, 0x0000030 + +gUnk_080D1F64:: @ 080D1F64 + .incbin "baserom.gba", 0x0D1F64, 0x0000018 + +gUnk_080D1F7C:: @ 080D1F7C + .incbin "baserom.gba", 0x0D1F7C, 0x0000014 + +gUnk_080D1F90:: @ 080D1F90 + .incbin "baserom.gba", 0x0D1F90, 0x0000080 + +gUnk_080D2010:: @ 080D2010 + .incbin "baserom.gba", 0x0D2010, 0x0000020 + +gUnk_080D2030:: @ 080D2030 + .incbin "baserom.gba", 0x0D2030, 0x0000020 + +gUnk_080D2050:: @ 080D2050 + .incbin "baserom.gba", 0x0D2050, 0x0000014 + +gUnk_080D2064:: @ 080D2064 + .incbin "baserom.gba", 0x0D2064, 0x0000014 + +gUnk_080D2078:: @ 080D2078 + .incbin "baserom.gba", 0x0D2078, 0x0000014 + +gUnk_080D208C:: @ 080D208C + .incbin "baserom.gba", 0x0D208C, 0x0000014 + +gUnk_080D20A0:: @ 080D20A0 + .incbin "baserom.gba", 0x0D20A0, 0x0000014 + +gUnk_080D20B4:: @ 080D20B4 + .incbin "baserom.gba", 0x0D20B4, 0x0000014 + +gUnk_080D20C8:: @ 080D20C8 + .incbin "baserom.gba", 0x0D20C8, 0x0000014 + +gUnk_080D20DC:: @ 080D20DC + .incbin "baserom.gba", 0x0D20DC, 0x0000014 + +gUnk_080D20F0:: @ 080D20F0 + .incbin "baserom.gba", 0x0D20F0, 0x0000014 + +gUnk_080D2104:: @ 080D2104 + .incbin "baserom.gba", 0x0D2104, 0x0000014 + +gUnk_080D2118:: @ 080D2118 + .incbin "baserom.gba", 0x0D2118, 0x0000014 + +gUnk_080D212C:: @ 080D212C + .incbin "baserom.gba", 0x0D212C, 0x0000014 + +gUnk_080D2140:: @ 080D2140 + .incbin "baserom.gba", 0x0D2140, 0x0000014 + +gUnk_080D2154:: @ 080D2154 + .incbin "baserom.gba", 0x0D2154, 0x0000014 + +gUnk_080D2168:: @ 080D2168 + .incbin "baserom.gba", 0x0D2168, 0x0000014 + +gUnk_080D217C:: @ 080D217C + .incbin "baserom.gba", 0x0D217C, 0x0000014 + +gUnk_080D2190:: @ 080D2190 + .incbin "baserom.gba", 0x0D2190, 0x0000029 + +gUnk_080D21B9:: @ 080D21B9 + .incbin "baserom.gba", 0x0D21B9, 0x0000029 + +gUnk_080D21E2:: @ 080D21E2 + .incbin "baserom.gba", 0x0D21E2, 0x0000029 + +gUnk_080D220B:: @ 080D220B + .incbin "baserom.gba", 0x0D220B, 0x0000029 + +gUnk_080D2234:: @ 080D2234 + .incbin "baserom.gba", 0x0D2234, 0x0000010 + +gUnk_080D2244:: @ 080D2244 + .incbin "baserom.gba", 0x0D2244, 0x0000010 + +gUnk_080D2254:: @ 080D2254 + .incbin "baserom.gba", 0x0D2254, 0x0000010 + +gUnk_080D2264:: @ 080D2264 + .incbin "baserom.gba", 0x0D2264, 0x0000010 + +gUnk_080D2274:: @ 080D2274 + .incbin "baserom.gba", 0x0D2274, 0x0000064 + +gUnk_080D22D8:: @ 080D22D8 + .incbin "baserom.gba", 0x0D22D8, 0x0000018 + +gUnk_080D22F0:: @ 080D22F0 + .incbin "baserom.gba", 0x0D22F0, 0x0000010 + +gUnk_080D2300:: @ 080D2300 + .incbin "baserom.gba", 0x0D2300, 0x0000048 + +gUnk_080D2348:: @ 080D2348 + .incbin "baserom.gba", 0x0D2348, 0x0000020 + +gUnk_080D2368:: @ 080D2368 + .incbin "baserom.gba", 0x0D2368, 0x0000011 + +gUnk_080D2379:: @ 080D2379 + .incbin "baserom.gba", 0x0D2379, 0x0000011 + +gUnk_080D238A:: @ 080D238A + .incbin "baserom.gba", 0x0D238A, 0x0000011 + +gUnk_080D239B:: @ 080D239B + .incbin "baserom.gba", 0x0D239B, 0x0000011 + +gUnk_080D23AC:: @ 080D23AC + .incbin "baserom.gba", 0x0D23AC, 0x0000011 + +gUnk_080D23BD:: @ 080D23BD + .incbin "baserom.gba", 0x0D23BD, 0x0000011 + +gUnk_080D23CE:: @ 080D23CE + .incbin "baserom.gba", 0x0D23CE, 0x0000011 + +gUnk_080D23DF:: @ 080D23DF + .incbin "baserom.gba", 0x0D23DF, 0x0000011 + +gUnk_080D23F0:: @ 080D23F0 + .incbin "baserom.gba", 0x0D23F0, 0x0000011 + +gUnk_080D2401:: @ 080D2401 + .incbin "baserom.gba", 0x0D2401, 0x0000011 + +gUnk_080D2412:: @ 080D2412 + .incbin "baserom.gba", 0x0D2412, 0x0000011 + +gUnk_080D2423:: @ 080D2423 + .incbin "baserom.gba", 0x0D2423, 0x0000011 + +gUnk_080D2434:: @ 080D2434 + .incbin "baserom.gba", 0x0D2434, 0x0000011 + +gUnk_080D2445:: @ 080D2445 + .incbin "baserom.gba", 0x0D2445, 0x0000011 + +gUnk_080D2456:: @ 080D2456 + .incbin "baserom.gba", 0x0D2456, 0x0000011 + +gUnk_080D2467:: @ 080D2467 + .incbin "baserom.gba", 0x0D2467, 0x0000011 + +gUnk_080D2478:: @ 080D2478 + .incbin "baserom.gba", 0x0D2478, 0x0000011 + +gUnk_080D2489:: @ 080D2489 + .incbin "baserom.gba", 0x0D2489, 0x0000011 + +gUnk_080D249A:: @ 080D249A + .incbin "baserom.gba", 0x0D249A, 0x0000011 + +gUnk_080D24AB:: @ 080D24AB + .incbin "baserom.gba", 0x0D24AB, 0x0000011 + +gUnk_080D24BC:: @ 080D24BC + .incbin "baserom.gba", 0x0D24BC, 0x0000011 + +gUnk_080D24CD:: @ 080D24CD + .incbin "baserom.gba", 0x0D24CD, 0x0000011 + +gUnk_080D24DE:: @ 080D24DE + .incbin "baserom.gba", 0x0D24DE, 0x0000011 + +gUnk_080D24EF:: @ 080D24EF + .incbin "baserom.gba", 0x0D24EF, 0x0000011 + +gUnk_080D2500:: @ 080D2500 + .incbin "baserom.gba", 0x0D2500, 0x0000011 + +gUnk_080D2511:: @ 080D2511 + .incbin "baserom.gba", 0x0D2511, 0x0000011 + +gUnk_080D2522:: @ 080D2522 + .incbin "baserom.gba", 0x0D2522, 0x0000011 + +gUnk_080D2533:: @ 080D2533 + .incbin "baserom.gba", 0x0D2533, 0x0000011 + +gUnk_080D2544:: @ 080D2544 + .incbin "baserom.gba", 0x0D2544, 0x0000011 + +gUnk_080D2555:: @ 080D2555 + .incbin "baserom.gba", 0x0D2555, 0x0000011 + +gUnk_080D2566:: @ 080D2566 + .incbin "baserom.gba", 0x0D2566, 0x0000011 + +gUnk_080D2577:: @ 080D2577 + .incbin "baserom.gba", 0x0D2577, 0x0000011 + +gUnk_080D2588:: @ 080D2588 + .incbin "baserom.gba", 0x0D2588, 0x0000011 + +gUnk_080D2599:: @ 080D2599 + .incbin "baserom.gba", 0x0D2599, 0x0000011 + +gUnk_080D25AA:: @ 080D25AA + .incbin "baserom.gba", 0x0D25AA, 0x0000011 + +gUnk_080D25BB:: @ 080D25BB + .incbin "baserom.gba", 0x0D25BB, 0x0000011 + +gUnk_080D25CC:: @ 080D25CC + .incbin "baserom.gba", 0x0D25CC, 0x0000011 + +gUnk_080D25DD:: @ 080D25DD + .incbin "baserom.gba", 0x0D25DD, 0x0000011 + +gUnk_080D25EE:: @ 080D25EE + .incbin "baserom.gba", 0x0D25EE, 0x0000011 + +gUnk_080D25FF:: @ 080D25FF + .incbin "baserom.gba", 0x0D25FF, 0x0000011 + +gUnk_080D2610:: @ 080D2610 + .incbin "baserom.gba", 0x0D2610, 0x0000011 + +gUnk_080D2621:: @ 080D2621 + .incbin "baserom.gba", 0x0D2621, 0x0000011 + +gUnk_080D2632:: @ 080D2632 + .incbin "baserom.gba", 0x0D2632, 0x0000011 + +gUnk_080D2643:: @ 080D2643 + .incbin "baserom.gba", 0x0D2643, 0x0000011 + +gUnk_080D2654:: @ 080D2654 + .incbin "baserom.gba", 0x0D2654, 0x0000011 + +gUnk_080D2665:: @ 080D2665 + .incbin "baserom.gba", 0x0D2665, 0x0000011 + +gUnk_080D2676:: @ 080D2676 + .incbin "baserom.gba", 0x0D2676, 0x0000011 + +gUnk_080D2687:: @ 080D2687 + .incbin "baserom.gba", 0x0D2687, 0x0000011 + +gUnk_080D2698:: @ 080D2698 + .incbin "baserom.gba", 0x0D2698, 0x0000011 + +gUnk_080D26A9:: @ 080D26A9 + .incbin "baserom.gba", 0x0D26A9, 0x0000011 + +gUnk_080D26BA:: @ 080D26BA + .incbin "baserom.gba", 0x0D26BA, 0x0000011 + +gUnk_080D26CB:: @ 080D26CB + .incbin "baserom.gba", 0x0D26CB, 0x0000011 + +gUnk_080D26DC:: @ 080D26DC + .incbin "baserom.gba", 0x0D26DC, 0x0000011 + +gUnk_080D26ED:: @ 080D26ED + .incbin "baserom.gba", 0x0D26ED, 0x0000011 + +gUnk_080D26FE:: @ 080D26FE + .incbin "baserom.gba", 0x0D26FE, 0x0000011 + +gUnk_080D270F:: @ 080D270F + .incbin "baserom.gba", 0x0D270F, 0x0000011 + +gUnk_080D2720:: @ 080D2720 + .incbin "baserom.gba", 0x0D2720, 0x0000011 + +gUnk_080D2731:: @ 080D2731 + .incbin "baserom.gba", 0x0D2731, 0x0000011 + +gUnk_080D2742:: @ 080D2742 + .incbin "baserom.gba", 0x0D2742, 0x0000011 + +gUnk_080D2753:: @ 080D2753 + .incbin "baserom.gba", 0x0D2753, 0x0000011 + +gUnk_080D2764:: @ 080D2764 + .incbin "baserom.gba", 0x0D2764, 0x0000011 + +gUnk_080D2775:: @ 080D2775 + .incbin "baserom.gba", 0x0D2775, 0x0000011 + +gUnk_080D2786:: @ 080D2786 + .incbin "baserom.gba", 0x0D2786, 0x0000011 + +gUnk_080D2797:: @ 080D2797 + .incbin "baserom.gba", 0x0D2797, 0x0000011 + +gUnk_080D27A8:: @ 080D27A8 + .incbin "baserom.gba", 0x0D27A8, 0x0000104 + +gUnk_080D28AC:: @ 080D28AC + .incbin "baserom.gba", 0x0D28AC, 0x0000020 + +gUnk_080D28CC:: @ 080D28CC + .incbin "baserom.gba", 0x0D28CC, 0x0000010 + +gUnk_080D28DC:: @ 080D28DC + .incbin "baserom.gba", 0x0D28DC, 0x0000008 + +gUnk_080D28E4:: @ 080D28E4 + .incbin "baserom.gba", 0x0D28E4, 0x0000008 + +gUnk_080D28EC:: @ 080D28EC + .incbin "baserom.gba", 0x0D28EC, 0x0000008 + +gUnk_080D28F4:: @ 080D28F4 + .incbin "baserom.gba", 0x0D28F4, 0x0000008 + +gUnk_080D28FC:: @ 080D28FC + .incbin "baserom.gba", 0x0D28FC, 0x0000008 + +gUnk_080D2904:: @ 080D2904 + .incbin "baserom.gba", 0x0D2904, 0x0000008 + +gUnk_080D290C:: @ 080D290C + .incbin "baserom.gba", 0x0D290C, 0x0000008 + +gUnk_080D2914:: @ 080D2914 + .incbin "baserom.gba", 0x0D2914, 0x0000008 + +gUnk_080D291C:: @ 080D291C + .incbin "baserom.gba", 0x0D291C, 0x0000011 + +gUnk_080D292D:: @ 080D292D + .incbin "baserom.gba", 0x0D292D, 0x0000011 + +gUnk_080D293E:: @ 080D293E + .incbin "baserom.gba", 0x0D293E, 0x000000C + +gUnk_080D294A:: @ 080D294A + .incbin "baserom.gba", 0x0D294A, 0x0000005 + +gUnk_080D294F:: @ 080D294F + .incbin "baserom.gba", 0x0D294F, 0x0000011 + +gUnk_080D2960:: @ 080D2960 + .incbin "baserom.gba", 0x0D2960, 0x0000014 + +gUnk_080D2974:: @ 080D2974 + .incbin "baserom.gba", 0x0D2974, 0x0000014 + +gUnk_080D2988:: @ 080D2988 + .incbin "baserom.gba", 0x0D2988, 0x0000008 + +gUnk_080D2990:: @ 080D2990 + .incbin "baserom.gba", 0x0D2990, 0x0000018 + +gUnk_080D29A8:: @ 080D29A8 + .incbin "baserom.gba", 0x0D29A8, 0x0000010 + +gUnk_080D29B8:: @ 080D29B8 + .incbin "baserom.gba", 0x0D29B8, 0x0000008 + +gUnk_080D29C0:: @ 080D29C0 + .incbin "baserom.gba", 0x0D29C0, 0x0000020 + +gUnk_080D29E0:: @ 080D29E0 + .byte 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF + .byte 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF + .byte 0x00, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF + .byte 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF + .byte 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF + .byte 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF + .byte 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF + .byte 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF + +gUnk_080D2AB0:: @ 080D2AB0 + .byte 0x6E, 0x6F, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x00, 0x00, 0x00, 0x00 + +gUnk_080D2ABC:: @ 080D2ABC + .incbin "baserom.gba", 0x0D2ABC, 0x000019C + +gUnk_080D2C58:: @ 080D2C58 + .incbin "baserom.gba", 0x0D2C58, 0x00001CE + +gUnk_080D2E26:: @ 080D2E26 + .incbin "baserom.gba", 0x0D2E26, 0x0000492 + +gUnk_080D32B8:: @ 080D32B8 + .incbin "baserom.gba", 0x0D32B8, 0x0000030 + +gUnk_080D32E8:: @ 080D32E8 + .incbin "baserom.gba", 0x0D32E8, 0x0000020 + +gUnk_080D3308:: @ 080D3308 + .incbin "baserom.gba", 0x0D3308, 0x0000080 + +gUnk_080D3388:: @ 080D3388 + .incbin "baserom.gba", 0x0D3388, 0x0000040 + +gUnk_080D33C8:: @ 080D33C8 + .incbin "baserom.gba", 0x0D33C8, 0x0000090 + +gUnk_080D3458:: @ 080D3458 + .incbin "baserom.gba", 0x0D3458, 0x0000030 + +gUnk_080D3488:: @ 080D3488 + .incbin "baserom.gba", 0x0D3488, 0x0000030 + +gUnk_080D34B8:: @ 080D34B8 + .incbin "baserom.gba", 0x0D34B8, 0x0000020 + +gUnk_080D34D8:: @ 080D34D8 + .incbin "baserom.gba", 0x0D34D8, 0x0000030 + +gUnk_080D3508:: @ 080D3508 + .incbin "baserom.gba", 0x0D3508, 0x0000090 + +gUnk_080D3598:: @ 080D3598 + .incbin "baserom.gba", 0x0D3598, 0x0000040 + +gUnk_080D35D8:: @ 080D35D8 + .incbin "baserom.gba", 0x0D35D8, 0x0000070 + +gUnk_080D3648:: @ 080D3648 + .incbin "baserom.gba", 0x0D3648, 0x0000080 + +gUnk_080D36C8:: @ 080D36C8 + .incbin "baserom.gba", 0x0D36C8, 0x0000020 + +gUnk_080D36E8:: @ 080D36E8 + .incbin "baserom.gba", 0x0D36E8, 0x0000030 + +gUnk_080D3718:: @ 080D3718 + .incbin "baserom.gba", 0x0D3718, 0x0000030 + +gUnk_080D3748:: @ 080D3748 + .incbin "baserom.gba", 0x0D3748, 0x0000020 + +gUnk_080D3768:: @ 080D3768 + .incbin "baserom.gba", 0x0D3768, 0x0000020 + +gUnk_080D3788:: @ 080D3788 + .incbin "baserom.gba", 0x0D3788, 0x0000050 + +gUnk_080D37D8:: @ 080D37D8 + .incbin "baserom.gba", 0x0D37D8, 0x0000020 + +gUnk_080D37F8:: @ 080D37F8 + .incbin "baserom.gba", 0x0D37F8, 0x0000030 + +gUnk_080D3828:: @ 080D3828 + .incbin "baserom.gba", 0x0D3828, 0x0000080 + +gUnk_080D38A8:: @ 080D38A8 + .incbin "baserom.gba", 0x0D38A8, 0x0000030 + +gUnk_080D38D8:: @ 080D38D8 + .incbin "baserom.gba", 0x0D38D8, 0x0000040 + +gUnk_080D3918:: @ 080D3918 + .incbin "baserom.gba", 0x0D3918, 0x0000020 + +gUnk_080D3938:: @ 080D3938 + .incbin "baserom.gba", 0x0D3938, 0x0000017 + +gUnk_080D394F:: @ 080D394F + .incbin "baserom.gba", 0x0D394F, 0x0000029 + +gUnk_080D3978:: @ 080D3978 + .incbin "baserom.gba", 0x0D3978, 0x0000060 + +gUnk_080D39D8:: @ 080D39D8 + .incbin "baserom.gba", 0x0D39D8, 0x0000040 + +gUnk_080D3A18:: @ 080D3A18 + .incbin "baserom.gba", 0x0D3A18, 0x0000050 + +gUnk_080D3A68:: @ 080D3A68 + .incbin "baserom.gba", 0x0D3A68, 0x0000030 + +gUnk_080D3A98:: @ 080D3A98 + .incbin "baserom.gba", 0x0D3A98, 0x0000030 + +gUnk_080D3AC8:: @ 080D3AC8 + .incbin "baserom.gba", 0x0D3AC8, 0x0000020 + +gUnk_080D3AE8:: @ 080D3AE8 + .incbin "baserom.gba", 0x0D3AE8, 0x0000040 + +gUnk_080D3B28:: @ 080D3B28 + .incbin "baserom.gba", 0x0D3B28, 0x0000020 + +gUnk_080D3B48:: @ 080D3B48 + .incbin "baserom.gba", 0x0D3B48, 0x0000040 + +gUnk_080D3B88:: @ 080D3B88 + .incbin "baserom.gba", 0x0D3B88, 0x0000020 + +gUnk_080D3BA8:: @ 080D3BA8 + .incbin "baserom.gba", 0x0D3BA8, 0x0000020 + +gUnk_080D3BC8:: @ 080D3BC8 + .incbin "baserom.gba", 0x0D3BC8, 0x0000020 + +gUnk_080D3BE8:: @ 080D3BE8 + .incbin "baserom.gba", 0x0D3BE8, 0x0000010 diff --git a/linker.ld b/linker.ld index df9b5aad..209d2dad 100644 --- a/linker.ld +++ b/linker.ld @@ -980,6 +980,8 @@ SECTIONS { data/data_080D015C.o(.rodata); src/enemy/lakituCloud.o(.rodata); data/data_080D0448.o(.rodata); + src/enemy/gyorgMale.o(.rodata); + data/data_080D1C70.o(.rodata); src/enemy.o(.rodata); data/data_080D3D94.o(.rodata); data/entity_headers.o(.rodata); diff --git a/src/enemy/gyorgMale.c b/src/enemy/gyorgMale.c index 238b6b34..96b79038 100644 --- a/src/enemy/gyorgMale.c +++ b/src/enemy/gyorgMale.c @@ -6,75 +6,76 @@ #include "structures.h" #include "functions.h" -extern void (* const gUnk_080D1AFC[8])(Entity*); -extern void (* const gUnk_080D1B1C[7])(Entity*); -extern void (* const gUnk_080D1B38[5])(Entity*); -extern void (* const gUnk_080D1B4C[5])(Entity*); -extern const u16 gUnk_080D1B60[8]; -extern const u8 gUnk_080D1B70[4];//or 3? -extern const u16 gUnk_080D1B74[0x10]; -extern void (* const gUnk_080D1B94[0xA])(Entity*); -extern const u16 gUnk_080D1BBC[2]; -extern void (* const gUnk_080D1BC0[7])(Entity*); -extern void (* const gUnk_080D1BDC[5])(Entity*); -extern const u16 gUnk_080D1BF0[2]; -extern void (* const gUnk_080D1BF4[3])(Entity*); -extern const u8 gUnk_080D1C00[4]; -extern const u16 gUnk_080D1C04[0x20]; -extern const u8 gUnk_080D1C44[0xC]; -extern const u16 gUnk_080D1C50[8]; -extern const u16 gUnk_080D1C60[8]; +void (* const gUnk_080D1AFC[8])(Entity*); +void (* const gUnk_080D1B1C[7])(Entity*); +void (* const gUnk_080D1B38[5])(Entity*); +void (* const gUnk_080D1B4C[5])(Entity*); +const u16 gUnk_080D1B60[8]; +const s16 gUnk_080D1B70[2];//or 3? +const u16 gUnk_080D1B74[0x10]; +void (* const gUnk_080D1B94[0xA])(Entity*); +const u16 gUnk_080D1BBC[2]; +void (* const gUnk_080D1BC0[7])(Entity*); +void (* const gUnk_080D1BDC[5])(Entity*); +const s16 gUnk_080D1BF0[2]; +void (* const gUnk_080D1BF4[3])(Entity*); +const s8 gUnk_080D1C00[4]; +const u16 gUnk_080D1C04[0x20]; +const u8 gUnk_080D1C44[0xC]; +const u16 gUnk_080D1C50[8]; +const u16 gUnk_080D1C60[8]; -void sub_08046898(Entity*); -void sub_08046910(Entity*); -void sub_08046930(Entity*); -void sub_0804696C(Entity*); -void sub_080469CC(Entity*); -void sub_080469F4(Entity*); -void sub_08046A30(Entity*); -void sub_08046A54(Entity*); -void sub_08046A78(Entity*); -void sub_08046A9C(Entity*); -void sub_08046AE8(Entity*); -void sub_08046B18(Entity*); -void sub_08046B8C(Entity*); -void sub_08046C04(Entity*); -void sub_08046C88(Entity*); -void sub_08046CEC(Entity*); -void sub_08046D44(Entity*); -void sub_08046D98(Entity*); -void sub_08046E0C(Entity*); -void sub_08046E68(Entity*); -void sub_08046EF4(Entity*); -void sub_08046F64(Entity*); -void sub_08046FE8(Entity*); -void sub_0804702C(Entity*); -void sub_080470B4(Entity*); -void sub_08047140(Entity*); -void sub_0804717C(Entity*); -void sub_080471C8(Entity*); -void sub_0804723C(Entity*); -void sub_08047284(Entity*); -void sub_080472BC(Entity*); -void sub_08047310(Entity*); -void sub_0804736C(Entity*); -void sub_080473B8(Entity*); -void sub_080473F0(Entity*); -void sub_08047484(Entity*); -void sub_08047508(Entity*); -void sub_080475F4(Entity*); -void sub_0804763C(Entity*); -void sub_0804772C(Entity*); -void sub_08047778(Entity*); -void sub_08047798(Entity*); -void sub_080477F0(Entity*); -void sub_08047914(Entity*); -void sub_08047978(Entity*); -void sub_08047B08(Entity*); -void sub_08047B84(Entity*); -void sub_08047BA4(Entity*); -void sub_08047BF0(Entity*);// -void sub_08047D24(Entity*); +void GyorgMale(Entity*); +void sub_08046898(Entity*);//action 0 +void sub_08046910(Entity*);//action 1 +void sub_08046930(Entity*);//action 1 previousActionFlag 0 +void sub_0804696C(Entity*);//action 1 previousActionFlag 1 +void sub_080469CC(Entity*);//action 1 previousActionFlag 2 +void sub_080469F4(Entity*);//action 1 previousActionFlag 3 +void sub_08046A30(Entity*);//action 1 previousActionFlag 4 +void sub_08046A54(Entity*);//action 1 previousActionFlag 5 +void sub_08046A78(Entity*);//action 1 previousActionFlag 6 +void sub_08046A9C(Entity*);//action 2 +void sub_08046AE8(Entity*);//action 2 previousActionFlag 0 +void sub_08046B18(Entity*);//action 2 previousActionFlag 1 +void sub_08046B8C(Entity*);//action 2 previousActionFlag 2 +void sub_08046C04(Entity*);//action 2 previousActionFlag 3 +void sub_08046C88(Entity*);//action 2 previousActionFlag 4 +void sub_08046CEC(Entity*);//action 3 +void sub_08046D44(Entity*);//action 3 previousActionFlag 0 +void sub_08046D98(Entity*);//action 3 previousActionFlag 1 +void sub_08046E0C(Entity*);//action 3 previousActionFlag 2 +void sub_08046E68(Entity*);//action 3 previousActionFlag 3 +void sub_08046EF4(Entity*);//action 3 previousActionFlag 4 +void sub_08046F64(Entity*);//action 4 +void sub_08046FE8(Entity*);//action 4 previousActionFlag 0 +void sub_0804702C(Entity*);//action 4 previousActionFlag 1 +void sub_080470B4(Entity*);//action 4 previousActionFlag 2 +void sub_08047140(Entity*);//action 4 previousActionFlag 3 +void sub_0804717C(Entity*);//action 4 previousActionFlag 4 +void sub_080471C8(Entity*);//action 4 previousActionFlag 5 +void sub_0804723C(Entity*);//action 4 previousActionFlag 6 +void sub_08047284(Entity*);//action 4 previousActionFlag 7 +void sub_080472BC(Entity*);//action 4 previousActionFlag 8 +void sub_08047310(Entity*);//action 4 previousActionFlag 9 +void sub_0804736C(Entity*);//action 5 +void sub_080473B8(Entity*);//action 5 previousActionFlag 0 +void sub_080473F0(Entity*);//action 5 previousActionFlag 1 +void sub_08047484(Entity*);//action 5 previousActionFlag 2 +void sub_08047508(Entity*);//action 5 previousActionFlag 3 +void sub_080475F4(Entity*);//action 5 previousActionFlag 4 +void sub_0804763C(Entity*);//action 5 previousActionFlag 5 +void sub_0804772C(Entity*);//action 5 previousActionFlag 6 +void sub_08047778(Entity*);//action 6 +void sub_08047798(Entity*);//action 6 previousActionFlag 0 +void sub_080477F0(Entity*);//action 6 previousActionFlag 1 +void sub_08047914(Entity*);//action 6 previousActionFlag 2 +void sub_08047978(Entity*);//action 6 previousActionFlag 3 +void sub_08047B08(Entity*);//action 6 previousActionFlag 4 +void sub_08047B84(Entity*);//action 7 +void sub_08047BA4(Entity*);//action 7 previousActionFlag 0 +void sub_08047BF0(Entity*);//action 7 previousActionFlag 1, also called elsewhere +void sub_08047D24(Entity*);//action 7 previousActionFlag 2 void sub_08047D88(Entity*);// void sub_08047DF0(Entity*, u32); void sub_08047E48(Entity*);// @@ -86,6 +87,17 @@ void sub_0804813C(Entity*);// u32 sub_08048158(u32); void sub_08048178(Entity*, u32); +void (* const gUnk_080D1AFC[8])(Entity*) = { + sub_08046898, + sub_08046910, + sub_08046A9C, + sub_08046CEC, + sub_08046F64, + sub_0804736C, + sub_08047778, + sub_08047B84 +}; + void GyorgMale(Entity* this) { if (this->action) { this->spriteSettings.b.draw = this->field_0x7c.BYTES.byte1; @@ -126,6 +138,16 @@ void sub_08046898(Entity* this) { InitAnimationForceUpdate(this, 0); } +void (* const gUnk_080D1B1C[7])(Entity*) = { + sub_08046930, + sub_0804696C, + sub_080469CC, + sub_080469F4, + sub_08046A30, + sub_08046A54, + sub_08046A78 +}; + void sub_08046910(Entity* this) { gUnk_080D1B1C[this->previousActionFlag](this); UpdateAnimationSingleFrame(this); @@ -204,6 +226,14 @@ void sub_08046A78(Entity* this) { } } +void (* const gUnk_080D1B38[5])(Entity*) = { + sub_08046AE8, + sub_08046B18, + sub_08046B8C, + sub_08046C04, + sub_08046C88 +}; + void sub_08046A9C(Entity* this) { if (this->animIndex == 1) { if (this->frames.all == 1) { @@ -283,6 +313,14 @@ void sub_08046C88(Entity* this) { } } +void (* const gUnk_080D1B4C[5])(Entity*) = { + sub_08046D44, + sub_08046D98, + sub_08046E0C, + sub_08046E68, + sub_08046EF4 +}; + void sub_08046CEC(Entity* this) { if (this->animIndex == 0) { if (this->frames.all == 1) { @@ -298,6 +336,17 @@ void sub_08046CEC(Entity* this) { } } +const u16 gUnk_080D1B60[8] = { + 0x200, + 0x184, + 0x28C, + 0x210, + 0x200, + 0x29C, + 0x174, + 0x210 +}; + void sub_08046D44(Entity* this) { const u16 * tmp; this->previousActionFlag = 1; @@ -336,6 +385,11 @@ void sub_08046E0C(Entity* this) { } } +const s16 gUnk_080D1B70[2] = { + 0x40, + -0x40 +}; + void sub_08046E68(Entity* this) { u32 tmp = ((Entity*) this->otherEntity)->next->animationState ^ 0x80; if (tmp != this->direction) { @@ -351,11 +405,30 @@ void sub_08046E68(Entity* this) { this->previousActionFlag = 4; this->actionDelay = 0x3F; this->field_0xf = 1; - this->direction = (gUnk_080D1B70[(Random() & 1) << 1] + tmp) & 0xC0; + this->direction = (gUnk_080D1B70[Random() & 1] + tmp) & 0xC0; sub_08047D88(this); } } +const u16 gUnk_080D1B74[0x10] = { + 0x20, + 0x40, + 0x60, + 0x80, + 0xA0, + 0xC0, + 0xE0, + 0x100, + 0x100, + 0xE0, + 0xC0, + 0xA0, + 0x80, + 0x60, + 0x40, + 0x20 +}; + void sub_08046EF4(Entity* this) { if (--this->actionDelay == 0) { this->actionDelay = 0x7F; @@ -375,6 +448,19 @@ void sub_08046EF4(Entity* this) { sub_08047E48(this); } +void (* const gUnk_080D1B94[0xA])(Entity*) = { + sub_08046FE8, + sub_0804702C, + sub_080470B4, + sub_08047140, + sub_0804717C, + sub_080471C8, + sub_0804723C, + sub_08047284, + sub_080472BC, + sub_08047310 +}; + void sub_08046F64(Entity* this) { if (this->animIndex == 0) { if (this->frames.all == 1) { @@ -425,6 +511,11 @@ void sub_0804702C(Entity* this) { } } +const u16 gUnk_080D1BBC[2] = { + 0x1A0, + 0xE0 +}; + void sub_080470B4(Entity* this) { u32 tmp = 0x40; if (tmp != this->direction) { @@ -530,6 +621,16 @@ void sub_08047310(Entity* this) { sub_08047DF0(this, ((0x100 - this->direction) & 0xFF) << 8); } +void (* const gUnk_080D1BC0[7])(Entity*) = { + sub_080473B8, + sub_080473F0, + sub_08047484, + sub_08047508, + sub_080475F4, + sub_0804763C, + sub_0804772C +}; + void sub_0804736C(Entity* this) { if (this->animIndex == 1) { if (this->frames.all == 1) { @@ -710,6 +811,14 @@ void sub_0804772C(Entity* this) { sub_08047DF0(this, ((0x100 - this->direction) & 0xFF) << 8); } +void (* const gUnk_080D1BDC[5])(Entity*) = { + sub_08047798, + sub_080477F0, + sub_08047914, + sub_08047978, + sub_08047B08 +}; + void sub_08047778(Entity* this) { gUnk_080D1BDC[this->previousActionFlag](this); UpdateAnimationSingleFrame(this); @@ -728,6 +837,11 @@ void sub_08047798(Entity* this) { sub_08047D88(this); } +const s16 gUnk_080D1BF0[2] = { + 0x80, + -0x80 +}; + void sub_080477F0(Entity* this) { if (this->nonPlanarMovement < 0x300) { this->nonPlanarMovement += 8; @@ -852,6 +966,12 @@ void sub_08047B08(Entity* this) { } } +void (* const gUnk_080D1BF4[3])(Entity*) = { + sub_08047BA4, + sub_08047BF0, + sub_08047D24 +}; + void sub_08047B84(Entity* this) { gUnk_080D1BF4[this->previousActionFlag](this); UpdateAnimationSingleFrame(this); @@ -870,6 +990,13 @@ void sub_08047BA4(Entity* this) { sub_08047BF0(this); } +const s8 gUnk_080D1C00[4] = { + 0x40, + -0x40, + -0x40, + 0x40 +}; + void sub_08047BF0(Entity* this) { Entity* tmp; this->direction = gUnk_080D1C00[this->actionDelay & 3]; @@ -1004,6 +1131,17 @@ void sub_08047EA4(Entity* this, u32 unk1) { this->field_0x7a.HWORD = this->field_0x78.HWORD; } +const u16 gUnk_080D1C04[0x20] = { + 0, 1, 4, 9, + 16, 25, 36, 49, + 64, 81, 100, 121, + 144, 169, 196, 225, + 256, 289, 324, 361, + 400, 441, 484, 529, + 576, 625, 676, 729, + 784, 841, 900, 961 +}; + u32 sub_08047F68(Entity* this) { s32 diffX, diffY; s32 distSquared, approx; @@ -1087,10 +1225,39 @@ void sub_0804813C(Entity* this) { sub_080A1ED0(rand & 7, 1, (rand >> 8) & 3); } + +const u8 gUnk_080D1C44[0xC] = { + 0, 2, 6, 0, + 2, 4, 2, 4, + 6, 0, 4, 6 +}; + u32 sub_08048158(u32 unk1) { return gUnk_080D1C44[(unk1 * 3) + ((signed)Random() % 3)]; } +const u16 gUnk_080D1C50[8] = { + 0x200, + 0x180, + 0x2C0, + 0x210, + 0x200, + 0x2A0, + 0x140, + 0x210 +}; + +const u16 gUnk_080D1C60[8] = { + 0x200, + 0x150, + 0x290, + 0x210, + 0x200, + 0x2D0, + 0x170, + 0x210 +}; + void sub_08048178(Entity* this, u32 unk1) { const u16* tmp = ((((Entity*) this->otherEntity)->next->animationState >> 6 & 1) ? gUnk_080D1C60 + unk1: gUnk_080D1C50 + unk1); this->field_0x80.HWORD = *tmp + gRoomControls.roomOriginX; From 0b52f80e4d01ce7c9104eeb9b474bc1cf77b94ed Mon Sep 17 00:00:00 2001 From: theo3 Date: Mon, 23 Nov 2020 22:18:05 -0800 Subject: [PATCH 018/101] code_0805F9A0 --- asm/code_08003FC4.s | 108 +++++++++++----- asm/code_080041E8.s | 295 -------------------------------------------- asm/code_0805EC04.s | 54 +------- linker.ld | 5 +- src/code_0805EC04.c | 18 +++ 5 files changed, 99 insertions(+), 381 deletions(-) delete mode 100644 asm/code_080041E8.s create mode 100644 src/code_0805EC04.c diff --git a/asm/code_08003FC4.s b/asm/code_08003FC4.s index 0fa902ed..025f50bd 100644 --- a/asm/code_08003FC4.s +++ b/asm/code_08003FC4.s @@ -414,18 +414,22 @@ _0800425C: pop {r4} bx lr - thumb_func_start InitializeAnimation + thumb_func_start InitializeAnimation @ r0 = Entity*, r1 = Frame* InitializeAnimation: @ 0x08004260 - movs r2, #0x58 + movs r2, #0x58 @ anim idx strb r1, [r0, r2] - ldrh r3, [r0, #0x12] - lsls r3, r3, #4 - ldr r2, _0800439C @ =gUnk_080029B4 - ldr r2, [r2, r3] - lsls r1, r1, #2 - ldr r1, [r2, r1] + + ldrh r3, [r0, #0x12] @ Sprite idx + lsls r3, r3, #4 @ *= 16 + + ldr r2, _0800439C @ =gSpritePtrs + + ldr r2, [r2, r3] @ Load AnimData + lsls r1, r1, #2 @ *= 4 + + ldr r1, [r2, r1] @ AnimData->??? str r1, [r0, #0x5c] - b _0800432A + b FrameZero thumb_func_start GetNextFrame GetNextFrame: @ 0x08004274 @@ -434,31 +438,43 @@ GetNextFrame: @ 0x08004274 non_word_aligned_thumb_func_start UpdateAnimationVariableFrames UpdateAnimationVariableFrames: @ 0x08004276 movs r3, #0x59 - ldrb r2, [r0, r3] + ldrb r2, [r0, r3] @ Decrease frame timer subs r2, r2, r1 - beq _0800432A - ble _08004284 + + beq FrameZero @ Frame timer is 0 + ble FrameNeg @ Frame timer is below 0 + strb r2, [r0, r3] + bx lr -_08004284: - ldr r1, [r0, #0x5c] + +FrameNeg: + ldr r1, [r0, #0x5c] @ Load frame data + _08004286: ldrb r3, [r1, #1] adds r2, r2, r3 - bgt _0800429C + + bgt _0800429C @ Frame idx greater (?) + ldrb r3, [r1, #3] adds r1, #4 - lsrs r3, r3, #8 + lsrs r3, r3, #8 @ Branch if != 0xFF + blo _08004286 + ldrb r3, [r1] lsls r3, r3, #2 subs r1, r1, r3 b _08004286 + _0800429C: str r1, [r0, #0x5c] + push {r2, lr} - bl _0800432A + bl FrameZero pop {r2, r3} + movs r1, #0x59 strb r2, [r0, r1] bx r3 @@ -479,27 +495,34 @@ UpdateAnimationSingleFrame: @ 0x080042B8 sub_080042BA: @ 0x080042BA push {lr} bl UpdateAnimationVariableFrames + _080042C0: pop {r1} mov lr, r1 + ldrb r1, [r0, #0x1e] ldrb r3, [r0, #0x1f] strb r1, [r0, #0x1f] + cmp r1, r3 beq _08004328 + ldrh r2, [r0, #0x12] thumb_func_start sub_080042D0 sub_080042D0: @ 0x080042D0 cmp r1, #0xff beq _08004328 + lsls r2, r2, #4 lsls r3, r1, #2 - ldr r1, _080043A0 @ =gUnk_080029B4 + ldr r1, _080043A0 @ =gSpritePtrs adds r1, r1, r2 ldr r2, [r1, #4] + cmp r2, #0 beq _08004328 + ldr r1, [r1, #8] adds r2, r2, r3 ldrb r3, [r2] @@ -538,31 +561,41 @@ _08004326: pop {r4, r5} _08004328: bx lr -_0800432A: - ldrb r3, [r0, #0x1e] - strb r3, [r0, #0x1f] + +FrameZero: @ r0 = Entity* + ldrb r3, [r0, #0x1e] @ Get frame idx + strb r3, [r0, #0x1f] @ Set it to last frame idx + ldr r1, [r0, #0x5c] - ldrb r3, [r1] + ldrb r3, [r1] @ Store new frame idx strb r3, [r0, #0x1e] + ldrb r3, [r1, #1] movs r2, #0x59 strb r3, [r0, r2] + ldrb r3, [r1, #2] movs r2, #0x5b strb r3, [r0, r2] + ldrb r3, [r1, #3] movs r2, #0x5a strb r3, [r0, r2] + adds r1, #4 lsrs r3, r3, #8 + blo _08004352 + ldrb r3, [r1] lsls r3, r3, #2 subs r1, r1, r3 + _08004352: str r1, [r0, #0x5c] bx lr .align 2, 0 + _08004358: .4byte gUnk_081326EC _0800435C: .4byte gUnk_02024048 _08004360: .4byte gUnk_02021F20 @@ -580,8 +613,8 @@ _0800438C: .4byte 0x0000EE00 _08004390: .4byte 0x00001FFF _08004394: .4byte gUnk_08000228 _08004398: .4byte 0x00004000 -_0800439C: .4byte gUnk_080029B4 -_080043A0: .4byte gUnk_080029B4 +_0800439C: .4byte gSpritePtrs +_080043A0: .4byte gSpritePtrs _080043A4: .4byte gUnk_02024494 thumb_func_start sub_080043A8 @@ -589,8 +622,8 @@ sub_080043A8: @ 0x080043A8 movs r1, #0xb b _080043B6 - thumb_func_start sub_080043AC -sub_080043AC: @ 0x080043AC + thumb_func_start CreateChestSpawner +CreateChestSpawner: @ 0x080043AC movs r1, #0xc b _080043B6 @@ -599,31 +632,42 @@ sub_080043B0: @ 0x080043AC movs r1, #0x52 b _080043B6 - thumb_func_start sub_080043B4 -sub_080043B4: @ 0x080043B4 + thumb_func_start CreateItemOnGround +CreateItemOnGround: @ 0x080043B4 movs r1, #0 + _080043B6: push {r4, lr} adds r4, r0, #0 movs r0, #0xf movs r2, #0 bl CreateObject + cmp r0, #0 - beq _080043E0 + beq _080043E0 @ Branch if entity could not be created + movs r1, #0x48 - ldr r1, [r4, r1] + ldr r1, [r4, r1] @ Unused? + ldrh r3, [r4, #0x2e] strh r3, [r0, #0x2e] + ldrh r3, [r4, #0x32] strh r3, [r0, #0x32] + ldrh r3, [r4, #0x36] strh r3, [r0, #0x36] + ldrb r3, [r4, #8] - cmp r3, #3 + + cmp r3, #3 @ Is the spawner an enemy? bne _080043E0 + movs r1, #1 - strb r1, [r0, #0xb] + strb r1, [r0, #0xb] @ Set base parameter + _080043E0: adds r0, r4, #0 bl DeleteEntity + pop {r4, pc} diff --git a/asm/code_080041E8.s b/asm/code_080041E8.s deleted file mode 100644 index c0d7605e..00000000 --- a/asm/code_080041E8.s +++ /dev/null @@ -1,295 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_080041E8 -sub_080041E8: @ 0x080041E8 - subs r0, r0, r2 - subs r1, r1, r3 - - thumb_func_start sub_080041EC -sub_080041EC: @ 0x080041EC - adds r2, r0, #0 - muls r0, r2, r0 - adds r3, r1, #0 - muls r1, r3, r1 - push {lr} - adds r0, r0, r1 - lsls r0, r0, #8 - bl Sqrt - pop {r3} - bx r3 - - non_word_aligned_thumb_func_start sub_08004202 -sub_08004202: @ 0x08004202 - push {r1, lr} - ldrb r1, [r0, #0x14] - bl sub_08004212 - pop {r0} - str r1, [r0] - adds r0, r2, #0 - pop {pc} - - non_word_aligned_thumb_func_start sub_08004212 -sub_08004212: @ 0x08004212 - push {r4} - adds r4, r1, #0 - movs r3, #3 - tst r4, r3 - beq _08004226 - movs r3, #2 - lsrs r4, r4, #3 - blo _08004224 - rsbs r3, r3, #0 -_08004224: - adds r2, r2, r3 -_08004226: - adds r4, r1, #0 - movs r3, #3 - ands r4, r3 - cmp r4, #2 - beq _0800423C - movs r3, #0x80 - adds r1, #1 - lsrs r1, r1, #3 - bhs _0800423A - rsbs r3, r3, #0 -_0800423A: - adds r2, r2, r3 -_0800423C: - ldr r3, _08004390 @ =0x00001FFF - ands r2, r3 - movs r4, #0x38 - ldrb r4, [r0, r4] - lsls r4, r4, #3 - ldr r3, _08004394 @ =gUnk_08000228 - adds r3, r3, r4 - ldr r4, [r3] - ldrh r1, [r4, r2] - ldr r4, _08004398 @ =0x00004000 - tst r1, r4 - bne _0800425C - lsls r1, r1, #0x11 - lsrs r1, r1, #0x10 - ldr r4, [r3, #4] - ldrh r1, [r4, r1] -_0800425C: - pop {r4} - bx lr - - thumb_func_start InitializeAnimation -InitializeAnimation: @ 0x08004260 - movs r2, #0x58 - strb r1, [r0, r2] - ldrh r3, [r0, #0x12] - lsls r3, r3, #4 - ldr r2, _0800439C @ =gUnk_080029B4 - ldr r2, [r2, r3] - lsls r1, r1, #2 - ldr r1, [r2, r1] - str r1, [r0, #0x5c] - b _0800432A - - thumb_func_start GetNextFrame -GetNextFrame: @ 0x08004274 - movs r1, #1 - - non_word_aligned_thumb_func_start UpdateAnimationVariableFrames -UpdateAnimationVariableFrames: @ 0x08004276 - movs r3, #0x59 - ldrb r2, [r0, r3] - subs r2, r2, r1 - beq _0800432A - ble _08004284 - strb r2, [r0, r3] - bx lr -_08004284: - ldr r1, [r0, #0x5c] -_08004286: - ldrb r3, [r1, #1] - adds r2, r2, r3 - bgt _0800429C - ldrb r3, [r1, #3] - adds r1, #4 - lsrs r3, r3, #8 - blo _08004286 - ldrb r3, [r1] - lsls r3, r3, #2 - subs r1, r1, r3 - b _08004286 -_0800429C: - str r1, [r0, #0x5c] - push {r2, lr} - bl _0800432A - pop {r2, r3} - movs r1, #0x59 - strb r2, [r0, r1] - bx r3 - - thumb_func_start InitAnimationForceUpdate -InitAnimationForceUpdate: @ 0x080042AC - push {lr} - bl InitializeAnimation - movs r2, #0xff - strb r2, [r0, #0x1f] - b _080042C0 - - thumb_func_start UpdateAnimationSingleFrame -UpdateAnimationSingleFrame: @ 0x080042B8 - movs r1, #1 - - non_word_aligned_thumb_func_start sub_080042BA -sub_080042BA: @ 0x080042BA - push {lr} - bl UpdateAnimationVariableFrames -_080042C0: - pop {r1} - mov lr, r1 - ldrb r1, [r0, #0x1e] - ldrb r3, [r0, #0x1f] - strb r1, [r0, #0x1f] - cmp r1, r3 - beq _08004328 - ldrh r2, [r0, #0x12] - - thumb_func_start sub_080042D0 -sub_080042D0: @ 0x080042D0 - cmp r1, #0xff - beq _08004328 - lsls r2, r2, #4 - lsls r3, r1, #2 - ldr r1, _080043A0 @ =gUnk_080029B4 - adds r1, r1, r2 - ldr r2, [r1, #4] - cmp r2, #0 - beq _08004328 - ldr r1, [r1, #8] - adds r2, r2, r3 - ldrb r3, [r2] - cmp r3, #0 - beq _08004328 - push {r4, r5} - movs r3, #0x26 - ldrb r3, [r0, r3] - movs r4, #0xc - muls r3, r4, r3 - ldr r4, _080043A4 @ =gUnk_02024494 - adds r4, r4, r3 - ldrb r3, [r4] - movs r5, #0xf - ands r3, r5 - cmp r3, #5 - blo _08004326 - ldrb r5, [r4, #6] - ldrb r3, [r2] - strb r3, [r4, #6] - subs r5, r5, r3 - ldrh r3, [r2, #2] - lsls r3, r3, #5 - adds r1, r1, r3 - ldr r2, [r4, #8] - str r1, [r4, #8] - subs r2, r2, r1 - orrs r5, r2 - beq _08004326 - movs r2, #0xf0 - ldrb r1, [r4] - bics r1, r2 - adds r1, #0x30 - strb r1, [r4] -_08004326: - pop {r4, r5} -_08004328: - bx lr -_0800432A: - ldrb r3, [r0, #0x1e] - strb r3, [r0, #0x1f] - ldr r1, [r0, #0x5c] - ldrb r3, [r1] - strb r3, [r0, #0x1e] - ldrb r3, [r1, #1] - movs r2, #0x59 - strb r3, [r0, r2] - ldrb r3, [r1, #2] - movs r2, #0x5b - strb r3, [r0, r2] - ldrb r3, [r1, #3] - movs r2, #0x5a - strb r3, [r0, r2] - adds r1, #4 - lsrs r3, r3, #8 - blo _08004352 - ldrb r3, [r1] - lsls r3, r3, #2 - subs r1, r1, r3 -_08004352: - str r1, [r0, #0x5c] - bx lr - .align 2, 0 -_08004358: .4byte gUnk_081326EC -_0800435C: .4byte gUnk_02024048 -_08004360: .4byte gUnk_02021F20 -_08004364: .4byte gUnk_02024048 -_08004368: .4byte gRoomControls -_0800436C: .4byte 0x0000016E -_08004370: .4byte 0x0000011E -_08004374: .4byte gUnk_03000BF6 -_08004378: .4byte gUnk_03000BF8 -_0800437C: .4byte 0x000003F0 -_08004380: .4byte gUnk_08000248 -_08004384: .4byte 0x000FFFFF -_08004388: .4byte 0x00080000 -_0800438C: .4byte 0x0000EE00 -_08004390: .4byte 0x00001FFF -_08004394: .4byte gUnk_08000228 -_08004398: .4byte 0x00004000 -_0800439C: .4byte gUnk_080029B4 -_080043A0: .4byte gUnk_080029B4 -_080043A4: .4byte gUnk_02024494 - - thumb_func_start sub_080043A8 -sub_080043A8: @ 0x080043A8 - movs r1, #0xb - b _080043B6 - - thumb_func_start sub_080043AC -sub_080043AC: @ 0x080043AC - movs r1, #0xc - b _080043B6 - - thumb_func_start sub_080043B0 -sub_080043B0: @ 0x080043AC - movs r1, #0x52 - b _080043B6 - - thumb_func_start sub_080043B4 -sub_080043B4: @ 0x080043B4 - movs r1, #0 -_080043B6: - push {r4, lr} - adds r4, r0, #0 - movs r0, #0xf - movs r2, #0 - bl CreateObject - cmp r0, #0 - beq _080043E0 - movs r1, #0x48 - ldr r1, [r4, r1] - ldrh r3, [r4, #0x2e] - strh r3, [r0, #0x2e] - ldrh r3, [r4, #0x32] - strh r3, [r0, #0x32] - ldrh r3, [r4, #0x36] - strh r3, [r0, #0x36] - ldrb r3, [r4, #8] - cmp r3, #3 - bne _080043E0 - movs r1, #1 - strb r1, [r0, #0xb] -_080043E0: - adds r0, r4, #0 - bl DeleteEntity - pop {r4, pc} diff --git a/asm/code_0805EC04.s b/asm/code_0805EC04.s index 56ae8e50..86ab0bed 100644 --- a/asm/code_0805EC04.s +++ b/asm/code_0805EC04.s @@ -4,56 +4,6 @@ .syntax unified .text - - thumb_func_start sub_0805EC04 -sub_0805EC04: @ 0x0805EC04 - push {r4, r5, r6, r7, lr} - adds r3, r0, #0 - movs r2, #1 - ldr r0, _0805EC4C @ =gUnk_03000000 - movs r5, #1 - movs r6, #0x3f - rsbs r6, r6, #0 - movs r7, #4 - rsbs r7, r7, #0 - adds r4, r0, #0 - adds r4, #8 -_0805EC1A: - ldr r0, _0805EC50 @ =0x00000426 - adds r1, r4, r0 - ldrb r0, [r1] - cmp r0, #0 - bne _0805EC54 - strb r5, [r1] - movs r0, #0x1f - ands r2, r0 - lsls r2, r2, #1 - ldrb r1, [r3, #0x1b] - adds r0, r6, #0 - ands r0, r1 - orrs r0, r2 - strb r0, [r3, #0x1b] - ldrb r2, [r3, #0x19] - lsls r1, r2, #0x1e - lsrs r1, r1, #0x1e - orrs r1, r5 - adds r0, r7, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, #0x19] - movs r0, #1 - b _0805EC5E - .align 2, 0 -_0805EC4C: .4byte gUnk_03000000 -_0805EC50: .4byte 0x00000426 -_0805EC54: - adds r4, #8 - adds r2, #1 - cmp r2, #0x1f - bls _0805EC1A - movs r0, #0 -_0805EC5E: - pop {r4, r5, r6, r7, pc} thumb_func_start sub_0805EC60 sub_0805EC60: @ 0x0805EC60 @@ -1877,7 +1827,7 @@ sub_0805FA04: @ 0x0805FA04 push {r4, r5, lr} movs r0, #1 bl sub_0801DA90 - ldr r0, _0805FA78 @ =gUnk_02034CB0 + ldr r0, _0805FA78 @ =gBG0Buffer movs r1, #0x80 lsls r1, r1, #4 bl _DmaZero @@ -1922,7 +1872,7 @@ sub_0805FA04: @ 0x0805FA04 bl sub_08050008 pop {r4, r5, pc} .align 2, 0 -_0805FA78: .4byte gUnk_02034CB0 +_0805FA78: .4byte gBG0Buffer _0805FA7C: .4byte gUnk_02001A40 _0805FA80: .4byte gScreen _0805FA84: .4byte 0x00001E0F diff --git a/linker.ld b/linker.ld index 0a1b0159..70dca2da 100644 --- a/linker.ld +++ b/linker.ld @@ -79,7 +79,7 @@ SECTIONS { . = 0x00021EE0; gUnk_02021EE0 = .; . = 0x00021F00; gUnk_02021F00 = .; . = 0x00021F20; gUnk_02021F20 = .; - . = 0x00021F30; gUnk_02021F30 = .; + . = 0x00021F30; gBG1Buffer = .; . = 0x00021F70; gUnk_02021F70 = .; . = 0x00022030; gUnk_02022030 = .; . = 0x00022130; gUnk_02022130 = .; @@ -126,7 +126,7 @@ SECTIONS { . = 0x000344A0; gUnk_020344A0 = .; . = 0x000344B0; gUnk_020344B0 = .; . = 0x000344F0; gUnk_020344F0 = .; - . = 0x00034CB0; gUnk_02034CB0 = .; + . = 0x00034CB0; gBG0Buffer = .; . = 0x00034CB2; gUnk_02034CB2 = .; . = 0x00034CF0; gUnk_02034CF0 = .; . = 0x00034D30; gUnk_02034D30 = .; @@ -534,6 +534,7 @@ SECTIONS { asm/code_0805E3B0.o(.text); asm/getEmptyEntity.o(.text); src/entity.o(.text); + src/code_0805EC04.o(.text); asm/code_0805EC04.o(.text); /* npcs */ src/npc/gentari.o(.text); diff --git a/src/code_0805EC04.c b/src/code_0805EC04.c new file mode 100644 index 00000000..c722c57f --- /dev/null +++ b/src/code_0805EC04.c @@ -0,0 +1,18 @@ +#include "entity.h" + +extern u8 gUnk_03000000; + +bool32 sub_0805EC04(Entity* this) { + u32 i = 1; + u8* l = &gUnk_03000000; + u32 j = 1; + for (; i < 0x20; i++) { + if (l[(i * 8) + 0x426] == 0) { + l[(i * 8) + 0x426] = j; + this->spriteSet.b1 = i; + this->spriteSet.b0 |= j; + return TRUE; + } + } + return FALSE; +} From edbf03101a64b05e9d20cdf53ec2ca4888a2effa Mon Sep 17 00:00:00 2001 From: theo3 Date: Mon, 23 Nov 2020 22:18:34 -0800 Subject: [PATCH 019/101] done --- asm/chooseFile.s | 8 +- asm/code_080011C4.s | 6 +- asm/code_080043E8.s | 4 +- asm/code_08016DF8.s | 4 +- asm/code_0801C370.s | 4 +- asm/code_0801C85C.s | 4 +- asm/code_0801D79C.s | 16 +- asm/code_080526F8.s | 16 +- asm/code_08056418.s | 12 +- asm/code_0805EC04.s | 785 -------------------- asm/code_0806FA6C.s | 4 +- asm/code_08078778.s | 4 +- asm/code_080A3480.s | 12 +- asm/code_080A3BD0.s | 24 +- asm/code_080A5574.s | 8 +- asm/manager1.s | 4 +- asm/manager10.s | 4 +- asm/non_matching/manager15/sub_0805A9CC.inc | 4 +- asm/sub_08052418.s | 4 +- data/data_080029B4.s | 2 +- data/playerItemFunctions.s | 4 +- include/entity.h | 14 +- include/functions.h | 11 + include/global.h | 4 + include/main.h | 1 + include/menu.h | 6 +- include/player.h | 5 +- include/structures.h | 17 + linker.ld | 5 +- src/chooseFile.c | 18 +- src/code_0805EC04.c | 101 ++- src/code_0805F9A0.c | 169 +++++ src/enemy/waterDrop.c | 6 +- src/item14.c | 58 ++ src/manager/manager15.c | 6 +- src/manager/manager8.c | 18 +- src/manager/manager9.c | 8 +- src/object/object48.c | 12 +- src/screenDebug.c | 103 +++ 39 files changed, 581 insertions(+), 914 deletions(-) create mode 100644 src/code_0805F9A0.c create mode 100644 src/item14.c create mode 100644 src/screenDebug.c diff --git a/asm/chooseFile.s b/asm/chooseFile.s index 9705194d..0ea31128 100755 --- a/asm/chooseFile.s +++ b/asm/chooseFile.s @@ -980,7 +980,7 @@ _080512B8: bl sub_08051480 b _08051322 _080512C0: - ldr r2, _080512E4 @ =gUnk_02001A40 + ldr r2, _080512E4 @ =gBG3Buffer ldr r0, _080512E8 @ =gMenu ldrb r1, [r0, #0x10] lsls r1, r1, #1 @@ -997,7 +997,7 @@ _080512C0: bl sub_08051480 b _08051322 .align 2, 0 -_080512E4: .4byte gUnk_02001A40 +_080512E4: .4byte gBG3Buffer _080512E8: .4byte gMenu _080512EC: movs r3, #5 @@ -2576,7 +2576,7 @@ sub_08052010: @ 0x08052010 bl sub_08056418 movs r0, #1 bl sub_0801DA90 - ldr r0, _0805207C @ =gUnk_02021F30 + ldr r0, _0805207C @ =gBG1Buffer movs r4, #0x80 lsls r4, r4, #4 adds r1, r4, #0 @@ -2615,7 +2615,7 @@ sub_08052010: @ 0x08052010 strh r0, [r1, #0x26] pop {r4, pc} .align 2, 0 -_0805207C: .4byte gUnk_02021F30 +_0805207C: .4byte gBG1Buffer _08052080: .4byte gUnk_020344B0 _08052084: .4byte gMenu _08052088: .4byte gScreen diff --git a/asm/code_080011C4.s b/asm/code_080011C4.s index 5a8f8ec1..fa7ab489 100644 --- a/asm/code_080011C4.s +++ b/asm/code_080011C4.s @@ -71,7 +71,7 @@ _08001230: ldr r3, _0800135C @ =UpdateAnimationVariableFrames bx r3 _0800123E: - ldr r3, _08001360 @ =sub_080043B4 + ldr r3, _08001360 @ =CreateItemOnGround bx r3 non_word_aligned_thumb_func_start sub_08001242 @@ -154,7 +154,7 @@ gUnk_080012C8:: .4byte 0x00000000 _080012CC: .4byte sub_08001214 _080012D0: .4byte sub_080043A8 -_080012D4: .4byte sub_080043AC +_080012D4: .4byte CreateChestSpawner _080012D8: .4byte sub_080043B0 thumb_func_start sub_080012DC @@ -239,7 +239,7 @@ _08001352: .align 2, 0 _08001358: .4byte gEnemyFunctions _0800135C: .4byte UpdateAnimationVariableFrames -_08001360: .4byte sub_080043B4 +_08001360: .4byte CreateItemOnGround _08001364: .4byte 0x00001800 _08001368: .4byte gUnk_080012C8 _0800136C: .4byte gUnk_080012C8 diff --git a/asm/code_080043E8.s b/asm/code_080043E8.s index 586f2547..cab44841 100644 --- a/asm/code_080043E8.s +++ b/asm/code_080043E8.s @@ -52,9 +52,9 @@ sub_0800442E: @ 0x0800442E _08004448: movs r0, #0 pop {r1, pc} -_0800444C: .4byte sub_080043B4 +_0800444C: .4byte CreateItemOnGround _08004450: .4byte sub_080043A8 -_08004454: .4byte sub_080043AC +_08004454: .4byte CreateChestSpawner _08004458: .4byte sub_080043B0 thumb_func_start sub_0800445C diff --git a/asm/code_08016DF8.s b/asm/code_08016DF8.s index 6c090292..1ce2fbce 100644 --- a/asm/code_08016DF8.s +++ b/asm/code_08016DF8.s @@ -108,7 +108,7 @@ _08016E94: cmp r1, #0 beq _08016ED6 ldr r2, _08016F14 @ =0x040000D4 - ldr r0, _08016F18 @ =gUnk_02021F30 + ldr r0, _08016F18 @ =gBG1Buffer str r0, [r2] ldrh r1, [r1] movs r0, #0xf8 @@ -152,7 +152,7 @@ _08016F08: .4byte gUnk_03001000 _08016F0C: .4byte gUnk_02000070 _08016F10: .4byte gUnk_02025EB0 _08016F14: .4byte 0x040000D4 -_08016F18: .4byte gUnk_02021F30 +_08016F18: .4byte gBG1Buffer _08016F1C: .4byte 0x84000170 _08016F20: .4byte gUnk_0200B650 _08016F24: .4byte gUnk_020344B0 diff --git a/asm/code_0801C370.s b/asm/code_0801C370.s index 3493cced..cb6c515f 100644 --- a/asm/code_0801C370.s +++ b/asm/code_0801C370.s @@ -44,7 +44,7 @@ _0801C398: bl LoadPaletteGroup movs r0, #0x10 bl LoadGfxGroup - ldr r4, _0801C478 @ =gUnk_02034CB0 + ldr r4, _0801C478 @ =gBG0Buffer movs r1, #0x80 lsls r1, r1, #4 adds r0, r4, #0 @@ -122,7 +122,7 @@ _0801C398: .align 2, 0 _0801C470: .4byte gUnk_0200AF00 _0801C474: .4byte gUnk_02002A40 -_0801C478: .4byte gUnk_02034CB0 +_0801C478: .4byte gBG0Buffer _0801C47C: .4byte gScreen _0801C480: .4byte 0x00001F0C _0801C484: .4byte gUnk_03000000 diff --git a/asm/code_0801C85C.s b/asm/code_0801C85C.s index b86532bf..06013f44 100644 --- a/asm/code_0801C85C.s +++ b/asm/code_0801C85C.s @@ -375,7 +375,7 @@ sub_0801CB20: @ 0x0801CB20 bne _0801CB76 ldrh r1, [r1, #6] lsls r1, r1, #4 - ldr r0, _0801CB54 @ =gUnk_080029B4 + ldr r0, _0801CB54 @ =gSpritePtrs adds r1, r1, r0 ldrb r0, [r3, #0x10] lsls r0, r0, #2 @@ -395,7 +395,7 @@ sub_0801CB20: @ 0x0801CB20 strb r0, [r3] b _0801CB74 .align 2, 0 -_0801CB54: .4byte gUnk_080029B4 +_0801CB54: .4byte gSpritePtrs _0801CB58: ldrb r0, [r3, #0x19] cmp r0, r2 diff --git a/asm/code_0801D79C.s b/asm/code_0801D79C.s index 346a65e9..7847ec07 100644 --- a/asm/code_0801D79C.s +++ b/asm/code_0801D79C.s @@ -324,7 +324,7 @@ sub_0801DA90: @ 0x0801DA90 ldr r0, _0801DB08 @ =0x0600C000 movs r1, #0x20 bl _DmaZero - ldr r0, _0801DB0C @ =gUnk_02034CB0 + ldr r0, _0801DB0C @ =gBG0Buffer movs r1, #0x80 lsls r1, r1, #4 bl _DmaZero @@ -339,7 +339,7 @@ _0801DAFC: .4byte 0x040000B0 _0801DB00: .4byte 0x0000C5FF _0801DB04: .4byte 0x00007FFF _0801DB08: .4byte 0x0600C000 -_0801DB0C: .4byte gUnk_02034CB0 +_0801DB0C: .4byte gBG0Buffer thumb_func_start sub_0801DB10 sub_0801DB10: @ 0x0801DB10 @@ -370,11 +370,11 @@ sub_0801DB34: @ 0x0801DB34 adds r0, r4, #0 movs r1, #0x7c bl _DmaZero - ldr r0, _0801DB70 @ =gUnk_02034CB0 + ldr r0, _0801DB70 @ =gBG0Buffer str r0, [r4, #0x10] ldr r0, _0801DB74 @ =0x00001F0C strh r0, [r4, #8] - ldr r0, _0801DB78 @ =gUnk_02021F30 + ldr r0, _0801DB78 @ =gBG1Buffer str r0, [r4, #0x1c] ldr r0, _0801DB7C @ =0x00001C01 strh r0, [r4, #0x14] @@ -382,7 +382,7 @@ sub_0801DB34: @ 0x0801DB34 str r0, [r4, #0x28] ldr r0, _0801DB84 @ =0x00001D02 strh r0, [r4, #0x20] - ldr r0, _0801DB88 @ =gUnk_02001A40 + ldr r0, _0801DB88 @ =gBG3Buffer str r0, [r4, #0x34] ldr r0, _0801DB8C @ =0x00001E03 strh r0, [r4, #0x2c] @@ -394,13 +394,13 @@ sub_0801DB34: @ 0x0801DB34 pop {r4, pc} .align 2, 0 _0801DB6C: .4byte gScreen -_0801DB70: .4byte gUnk_02034CB0 +_0801DB70: .4byte gBG0Buffer _0801DB74: .4byte 0x00001F0C -_0801DB78: .4byte gUnk_02021F30 +_0801DB78: .4byte gBG1Buffer _0801DB7C: .4byte 0x00001C01 _0801DB80: .4byte gUnk_020344B0 _0801DB84: .4byte 0x00001D02 -_0801DB88: .4byte gUnk_02001A40 +_0801DB88: .4byte gBG3Buffer _0801DB8C: .4byte 0x00001E03 _0801DB90: .4byte 0x0000FFFF diff --git a/asm/code_080526F8.s b/asm/code_080526F8.s index bdb2dc97..bfb2dd80 100644 --- a/asm/code_080526F8.s +++ b/asm/code_080526F8.s @@ -1566,18 +1566,18 @@ _0805331C: .4byte gScreenTransition thumb_func_start sub_08053320 sub_08053320: @ 0x08053320 push {r4, lr} - ldr r0, _0805337C @ =gUnk_02034CB0 + ldr r0, _0805337C @ =gBG0Buffer movs r4, #0x80 lsls r4, r4, #4 adds r1, r4, #0 bl _DmaZero - ldr r0, _08053380 @ =gUnk_02021F30 + ldr r0, _08053380 @ =gBG1Buffer adds r1, r4, #0 bl _DmaZero ldr r0, _08053384 @ =gUnk_020344B0 adds r1, r4, #0 bl _DmaZero - ldr r0, _08053388 @ =gUnk_02001A40 + ldr r0, _08053388 @ =gBG3Buffer movs r1, #0x80 lsls r1, r1, #5 bl _DmaZero @@ -1602,10 +1602,10 @@ _08053362: bl sub_0801D79C pop {r4, pc} .align 2, 0 -_0805337C: .4byte gUnk_02034CB0 -_08053380: .4byte gUnk_02021F30 +_0805337C: .4byte gBG0Buffer +_08053380: .4byte gBG1Buffer _08053384: .4byte gUnk_020344B0 -_08053388: .4byte gUnk_02001A40 +_08053388: .4byte gBG3Buffer _0805338C: .4byte gRoomControls thumb_func_start sub_08053390 @@ -2219,7 +2219,7 @@ sub_08053800: @ 0x08053800 adds r0, r5, #0 adds r0, #0x3a bl LoadGfxGroup - ldr r0, _08053888 @ =gUnk_02021F30 + ldr r0, _08053888 @ =gBG1Buffer movs r1, #0x80 lsls r1, r1, #4 bl _DmaZero @@ -2251,7 +2251,7 @@ _0805387A: _0805387C: .4byte gFadeControl _08053880: .4byte gMenu _08053884: .4byte gUnk_080FCCB4 -_08053888: .4byte gUnk_02021F30 +_08053888: .4byte gBG1Buffer _0805388C: .4byte 0x00000F01 _08053890: .4byte gScreen diff --git a/asm/code_08056418.s b/asm/code_08056418.s index e2519ccd..45b6209b 100644 --- a/asm/code_08056418.s +++ b/asm/code_08056418.s @@ -1071,7 +1071,7 @@ sub_08056C68: @ 0x08056C68 ldrb r1, [r5, #4] adds r0, r0, r1 lsls r0, r0, #1 - ldr r1, _08056CBC @ =gUnk_02034CB0 + ldr r1, _08056CBC @ =gBG0Buffer adds r1, r0, r1 ldrb r0, [r5, #7] adds r0, #2 @@ -1101,7 +1101,7 @@ _08056CB4: pop {r4, r5, r6, pc} .align 2, 0 _08056CB8: .4byte gUnk_02036A38 -_08056CBC: .4byte gUnk_02034CB0 +_08056CBC: .4byte gBG0Buffer thumb_func_start sub_08056CC0 sub_08056CC0: @ 0x08056CC0 @@ -1215,7 +1215,7 @@ sub_08056D70: @ 0x08056D70 ldrb r1, [r4, #4] adds r0, r0, r1 lsls r0, r0, #1 - ldr r1, _08056DBC @ =gUnk_02034CB0 + ldr r1, _08056DBC @ =gBG0Buffer adds r0, r0, r1 ldr r3, _08056DC0 @ =0x0000F07B ldrb r1, [r4, #6] @@ -1234,7 +1234,7 @@ _08056DB0: .align 2, 0 _08056DB4: .4byte gUnk_02022780 _08056DB8: .4byte gUnk_02036A40 -_08056DBC: .4byte gUnk_02034CB0 +_08056DBC: .4byte gBG0Buffer _08056DC0: .4byte 0x0000F07B _08056DC4: .4byte gUnk_02036A38 @@ -1438,7 +1438,7 @@ sub_08056F1C: @ 0x08056F1C ldrb r0, [r2, #4] adds r1, r1, r0 lsls r1, r1, #1 - ldr r0, _08056F68 @ =gUnk_02034CB0 + ldr r0, _08056F68 @ =gBG0Buffer adds r1, r1, r0 ldrb r0, [r2, #7] adds r0, #1 @@ -1458,7 +1458,7 @@ _08056F58: .4byte gUnk_02022780 _08056F5C: .4byte 0x0010FF00 _08056F60: .4byte 0x00100200 _08056F64: .4byte gUnk_02036A40 -_08056F68: .4byte gUnk_02034CB0 +_08056F68: .4byte gBG0Buffer _08056F6C: .4byte 0x0000F080 thumb_func_start sub_08056F70 diff --git a/asm/code_0805EC04.s b/asm/code_0805EC04.s index 86ab0bed..134743db 100644 --- a/asm/code_0805EC04.s +++ b/asm/code_0805EC04.s @@ -5,117 +5,6 @@ .text - thumb_func_start sub_0805EC60 -sub_0805EC60: @ 0x0805EC60 - push {lr} - adds r3, r0, #0 - ldrb r1, [r3, #0x19] - lsls r0, r1, #0x1e - cmp r0, #0 - beq _0805EC90 - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r3, #0x19] - ldrb r2, [r3, #0x1b] - lsls r1, r2, #0x1a - lsrs r1, r1, #0x1b - movs r0, #0x3f - rsbs r0, r0, #0 - ands r0, r2 - strb r0, [r3, #0x1b] - ldr r0, _0805EC94 @ =gUnk_03000000 - lsls r1, r1, #3 - adds r1, r1, r0 - ldr r0, _0805EC98 @ =0x00000426 - adds r1, r1, r0 - movs r0, #0 - strb r0, [r1] -_0805EC90: - pop {pc} - .align 2, 0 -_0805EC94: .4byte gUnk_03000000 -_0805EC98: .4byte 0x00000426 - - thumb_func_start sub_0805EC9C -sub_0805EC9C: @ 0x0805EC9C - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - adds r5, r1, #0 - adds r6, r2, #0 - adds r7, r3, #0 - ldrb r0, [r4, #0x1b] - lsls r0, r0, #0x1a - lsrs r0, r0, #0x1b - cmp r0, #0 - bne _0805ECBE - adds r0, r4, #0 - bl sub_0805EC04 - cmp r0, #0 - bne _0805ECBE - movs r0, #0 - b _0805ECE0 -_0805ECBE: - ldr r1, _0805ECE4 @ =gUnk_03000000 - ldr r0, _0805ECE8 @ =0x00000427 - adds r2, r1, r0 - movs r0, #1 - strb r0, [r2] - ldrb r0, [r4, #0x1b] - lsls r0, r0, #0x1a - lsrs r0, r0, #0x1b - lsls r0, r0, #3 - movs r2, #0x84 - lsls r2, r2, #3 - adds r1, r1, r2 - adds r0, r0, r1 - strh r5, [r0] - strh r6, [r0, #2] - strh r7, [r0, #4] - movs r0, #1 -_0805ECE0: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0805ECE4: .4byte gUnk_03000000 -_0805ECE8: .4byte 0x00000427 - - thumb_func_start sub_0805ECEC -sub_0805ECEC: @ 0x0805ECEC - push {r4, r5, r6, lr} - ldr r5, _0805ED0C @ =gUnk_03000000 - ldr r4, _0805ED10 @ =0x00000427 - adds r6, r5, r4 - movs r4, #1 - strb r4, [r6] - lsls r0, r0, #3 - movs r4, #0x84 - lsls r4, r4, #3 - adds r5, r5, r4 - adds r0, r0, r5 - strh r1, [r0] - strh r2, [r0, #2] - strh r3, [r0, #4] - pop {r4, r5, r6, pc} - .align 2, 0 -_0805ED0C: .4byte gUnk_03000000 -_0805ED10: .4byte 0x00000427 - - thumb_func_start sub_0805ED14 -sub_0805ED14: @ 0x0805ED14 - ldr r2, _0805ED2C @ =gPlayerState - adds r1, r2, #0 - adds r1, #0x9c - str r0, [r1] - adds r0, r2, #0 - adds r0, #0x98 - movs r1, #0 - strh r1, [r0] - adds r0, #2 - strh r1, [r0] - bx lr - .align 2, 0 -_0805ED2C: .4byte gPlayerState - thumb_func_start sub_0805ED30 sub_0805ED30: @ 0x0805ED30 push {r4, lr} @@ -1529,677 +1418,3 @@ _0805F7D2: pop {r4, pc} .align 2, 0 - thumb_func_start sub_0805F7DC -sub_0805F7DC: @ 0x0805F7DC - push {r4, r5, r6, r7, lr} - adds r6, r0, #0 - adds r4, r1, #0 - ldrh r0, [r4, #4] - ldrh r1, [r4, #6] - cmp r0, r1 - bhi _0805F7EE - movs r0, #0 - b _0805F81E -_0805F7EE: - adds r0, r6, #0 - bl sub_0805F25C - adds r5, r0, #0 - ldrh r7, [r4, #6] - lsrs r0, r6, #8 - cmp r0, #4 - bls _0805F808 - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_0805F820 - adds r5, #0x40 -_0805F808: - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_0805F820 - ldrh r1, [r4, #4] - ldrh r0, [r4, #6] - cmp r0, r1 - bls _0805F81A - strh r1, [r4, #6] -_0805F81A: - ldrh r0, [r4, #6] - subs r0, r0, r7 -_0805F81E: - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_0805F820 -sub_0805F820: @ 0x0805F820 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - adds r7, r0, #0 - adds r4, r1, #0 - ldrh r0, [r7, #4] - ldrh r1, [r7, #6] - subs r0, r0, r1 - cmp r0, #0 - ble _0805F8DC - ldr r1, _0805F854 @ =gUnk_02036A58 - adds r0, r4, #0 - bl sub_08002724 - ldrb r0, [r7, #1] - cmp r0, #0 - bne _0805F858 - ldr r0, [r4] - bl sub_0805F7A0 - movs r1, #0xf - ands r1, r0 - lsrs r4, r0, #8 - b _0805F85C - .align 2, 0 -_0805F854: .4byte gUnk_02036A58 -_0805F858: - movs r1, #0 - movs r4, #8 -_0805F85C: - ldrh r0, [r7, #4] - ldrh r3, [r7, #6] - subs r0, r0, r3 - cmp r0, #8 - ble _0805F868 - movs r0, #8 -_0805F868: - cmp r0, r4 - bge _0805F86E - adds r4, r0, #0 -_0805F86E: - ldr r0, _0805F8BC @ =gUnk_02036A58 - adds r6, r1, r0 - ldr r0, [r7, #8] - mov sb, r0 - ldrb r0, [r7, #3] - lsls r2, r0, #1 - adds r2, r2, r0 - lsls r2, r2, #6 - ldrb r0, [r7, #2] - lsls r0, r0, #5 - ldr r1, _0805F8C0 @ =gUnk_0810942E - adds r0, r0, r1 - adds r2, r2, r0 - mov r8, r2 - adds r5, r3, #0 - adds r0, r5, r4 - strh r0, [r7, #6] - ldrb r0, [r7] - lsrs r0, r0, #4 - cmp r0, #1 - beq _0805F8D4 - adds r0, r4, #0 - subs r4, #1 - cmp r0, #0 - ble _0805F8DC -_0805F8A0: - adds r0, r6, #0 - mov r1, sb - mov r2, r8 - adds r3, r5, #0 - bl sub_080026C4 - adds r6, #1 - adds r5, #1 - adds r0, r4, #0 - subs r4, #1 - cmp r0, #0 - bgt _0805F8A0 - b _0805F8DC - .align 2, 0 -_0805F8BC: .4byte gUnk_02036A58 -_0805F8C0: .4byte gUnk_0810942E -_0805F8C4: - adds r0, r6, #0 - mov r1, sb - mov r2, r8 - adds r3, r5, #0 - bl sub_080026F2 - adds r6, #1 - adds r5, #1 -_0805F8D4: - adds r0, r4, #0 - subs r4, #1 - cmp r0, #0 - bgt _0805F8C4 -_0805F8DC: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_0805F8E4 -sub_0805F8E4: @ 0x0805F8E4 - push {r4, r5, lr} - adds r4, r1, #0 - ldrb r5, [r4, #1] - movs r1, #1 - strb r1, [r4, #1] - adds r1, r4, #0 - bl sub_0805F7DC - strb r5, [r4, #1] - pop {r4, r5, pc} - - thumb_func_start sub_0805F8F8 -sub_0805F8F8: @ 0x0805F8F8 - lsls r1, r0, #1 - adds r1, r1, r0 - lsls r1, r1, #6 - ldr r0, _0805F910 @ =gUnk_081094CE - adds r1, r1, r0 - ldr r2, _0805F914 @ =gUnk_0810926C - ldrb r0, [r1, #0xa] - lsls r0, r0, #2 - adds r0, r0, r2 - ldr r0, [r0] - bx lr - .align 2, 0 -_0805F910: .4byte gUnk_081094CE -_0805F914: .4byte gUnk_0810926C - - thumb_func_start sub_0805F918 -sub_0805F918: @ 0x0805F918 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - adds r4, r0, #0 - adds r5, r1, #0 - mov sl, r2 - adds r0, r5, #0 - bl sub_0805F8F8 - ldr r1, _0805F990 @ =gUnk_02036AD8 - movs r2, #0xe0 - bl _DmaFill32 - ldr r0, _0805F994 @ =gUnk_081092AC - lsls r4, r4, #2 - adds r4, r4, r0 - ldr r4, [r4] - mov r8, r4 - lsls r0, r5, #1 - adds r0, r0, r5 - lsls r0, r0, #6 - ldr r1, _0805F998 @ =gUnk_081094CE - adds r0, r0, r1 - mov sb, r0 - movs r7, #0 - movs r6, #0 -_0805F950: - ldr r4, _0805F99C @ =gUnk_02036A58 - mov r0, r8 - adds r1, r4, #0 - bl sub_08002724 - movs r0, #0x40 - add r8, r0 - movs r5, #0 - adds r6, #1 -_0805F962: - adds r0, r4, #0 - ldr r1, _0805F990 @ =gUnk_02036AD8 - mov r2, sb - adds r3, r7, #0 - bl sub_080026C4 - adds r4, #1 - adds r7, #1 - adds r5, #1 - cmp r5, #7 - bls _0805F962 - cmp r6, #2 - bls _0805F950 - ldr r0, _0805F990 @ =gUnk_02036AD8 - mov r1, sl - movs r2, #0xe0 - bl LoadAssetAsync - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0805F990: .4byte gUnk_02036AD8 -_0805F994: .4byte gUnk_081092AC -_0805F998: .4byte gUnk_081094CE -_0805F99C: .4byte gUnk_02036A58 - - thumb_func_start sub_0805F9A0 -sub_0805F9A0: @ 0x0805F9A0 - push {lr} - adds r2, r0, #0 - movs r0, #0x80 - lsls r0, r0, #0x12 - ldrb r0, [r0, #7] - cmp r0, #0 - bne _0805F9D0 - ldr r1, _0805F9C4 @ =gUnk_081092D4 - movs r3, #0 -_0805F9B2: - ldrh r0, [r1] - cmp r0, r2 - beq _0805F9C8 - adds r3, #1 - adds r1, #2 - ldrh r0, [r1] - cmp r0, #0 - bne _0805F9B2 - b _0805F9D8 - .align 2, 0 -_0805F9C4: .4byte gUnk_081092D4 -_0805F9C8: - movs r1, #0x80 - lsls r1, r1, #4 - adds r0, r3, r1 - b _0805F9E2 -_0805F9D0: - ldr r0, _0805F9E4 @ =0x0000031A - cmp r2, r0 - bne _0805F9D8 - movs r2, #1 -_0805F9D8: - movs r0, #0xff - ands r0, r2 - movs r1, #0x80 - lsls r1, r1, #4 - adds r0, r0, r1 -_0805F9E2: - pop {pc} - .align 2, 0 -_0805F9E4: .4byte 0x0000031A - - thumb_func_start HandleDebugTextScreen -HandleDebugTextScreen: @ 0x0805F9E8 - push {lr} - ldr r1, _0805F9FC @ =gUnk_08109A30 - ldr r0, _0805FA00 @ =gUnk_03001000 - ldrb r0, [r0, #3] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_0805F9FC: .4byte gUnk_08109A30 -_0805FA00: .4byte gUnk_03001000 - - thumb_func_start sub_0805FA04 -sub_0805FA04: @ 0x0805FA04 - push {r4, r5, lr} - movs r0, #1 - bl sub_0801DA90 - ldr r0, _0805FA78 @ =gBG0Buffer - movs r1, #0x80 - lsls r1, r1, #4 - bl _DmaZero - ldr r0, _0805FA7C @ =gUnk_02001A40 - movs r1, #0x80 - lsls r1, r1, #5 - bl _DmaZero - ldr r0, _0805FA80 @ =gScreen - movs r2, #0 - movs r1, #0x94 - lsls r1, r1, #4 - strh r1, [r0] - strh r2, [r0, #0xa] - strh r2, [r0, #0xc] - strh r2, [r0, #0x2e] - strh r2, [r0, #0x30] - ldr r1, _0805FA84 @ =0x00001E0F - strh r1, [r0, #0x2c] - movs r5, #1 - movs r1, #1 - strh r1, [r0, #0x32] - bl sub_08056418 - ldr r0, _0805FA88 @ =gUnk_02032EC0 - movs r1, #0xed - lsls r1, r1, #2 - bl _DmaZero - ldr r4, _0805FA8C @ =gMenu - adds r0, r4, #0 - movs r1, #0x30 - bl _DmaZero - movs r0, #0x80 - lsls r0, r0, #0x12 - ldrb r0, [r0, #7] - strb r0, [r4, #0x16] - bl sub_08053320 - ldr r1, _0805FA90 @ =0x00001144 - movs r0, #0 - bl sub_0801D79C - ldr r0, _0805FA94 @ =gUnk_03001000 - strb r5, [r0, #3] - bl sub_080A3210 - bl sub_08050008 - pop {r4, r5, pc} - .align 2, 0 -_0805FA78: .4byte gBG0Buffer -_0805FA7C: .4byte gUnk_02001A40 -_0805FA80: .4byte gScreen -_0805FA84: .4byte 0x00001E0F -_0805FA88: .4byte gUnk_02032EC0 -_0805FA8C: .4byte gMenu -_0805FA90: .4byte 0x00001144 -_0805FA94: .4byte gUnk_03001000 - - thumb_func_start sub_0805FA98 -sub_0805FA98: @ 0x0805FA98 - push {r4, lr} - ldr r0, _0805FAB4 @ =gUnk_03000FF0 - ldrh r1, [r0, #2] - adds r2, r0, #0 - cmp r1, #0x80 - beq _0805FAD8 - cmp r1, #0x80 - bgt _0805FAB8 - cmp r1, #2 - beq _0805FB44 - cmp r1, #0x40 - beq _0805FACA - b _0805FB4A - .align 2, 0 -_0805FAB4: .4byte gUnk_03000FF0 -_0805FAB8: - movs r0, #0x80 - lsls r0, r0, #1 - cmp r1, r0 - beq _0805FB28 - movs r0, #0x80 - lsls r0, r0, #2 - cmp r1, r0 - beq _0805FAE8 - b _0805FB4A -_0805FACA: - ldr r1, _0805FAD4 @ =gMenu - ldrb r0, [r1, #0x11] - subs r0, #1 - strb r0, [r1, #0x11] - b _0805FBA4 - .align 2, 0 -_0805FAD4: .4byte gMenu -_0805FAD8: - ldr r1, _0805FAE4 @ =gMenu - ldrb r0, [r1, #0x11] - adds r0, #1 - strb r0, [r1, #0x11] - b _0805FBA4 - .align 2, 0 -_0805FAE4: .4byte gMenu -_0805FAE8: - ldr r0, _0805FB04 @ =gMenu - ldrb r1, [r0, #0x10] - movs r2, #1 - eors r1, r2 - strb r1, [r0, #0x10] - cmp r1, #0 - bne _0805FB10 - ldr r0, _0805FB08 @ =gScreen - ldr r1, _0805FB0C @ =0x00001F0C - strh r1, [r0, #8] - subs r1, #0xfd - strh r1, [r0, #0x2c] - b _0805FBA4 - .align 2, 0 -_0805FB04: .4byte gMenu -_0805FB08: .4byte gScreen -_0805FB0C: .4byte 0x00001F0C -_0805FB10: - ldr r0, _0805FB1C @ =gScreen - ldr r1, _0805FB20 @ =0x00001F0F - strh r1, [r0, #8] - ldr r1, _0805FB24 @ =0x00001E0C - strh r1, [r0, #0x2c] - b _0805FBA4 - .align 2, 0 -_0805FB1C: .4byte gScreen -_0805FB20: .4byte 0x00001F0F -_0805FB24: .4byte 0x00001E0C -_0805FB28: - movs r2, #0x80 - lsls r2, r2, #0x12 - ldr r1, _0805FB40 @ =gMenu - ldrb r0, [r1, #0x16] - strb r0, [r2, #7] - ldrb r0, [r1, #0x14] - lsls r0, r0, #8 - ldrb r1, [r1, #0x15] - adds r0, r0, r1 - bl TextboxNoOverlapFollow - b _0805FBA4 - .align 2, 0 -_0805FB40: .4byte gMenu -_0805FB44: - bl sub_08056418 - b _0805FBA4 -_0805FB4A: - ldrh r0, [r2, #4] - cmp r0, #0x10 - beq _0805FB5A - cmp r0, #0x20 - bne _0805FB5E - movs r1, #1 - rsbs r1, r1, #0 - b _0805FB60 -_0805FB5A: - movs r1, #1 - b _0805FB60 -_0805FB5E: - movs r1, #0 -_0805FB60: - ldr r4, _0805FB74 @ =gMenu - ldrb r0, [r4, #0x11] - cmp r0, #1 - beq _0805FB8E - cmp r0, #1 - bgt _0805FB78 - cmp r0, #0 - beq _0805FB7E - b _0805FBA4 - .align 2, 0 -_0805FB74: .4byte gMenu -_0805FB78: - cmp r0, #2 - beq _0805FB96 - b _0805FBA4 -_0805FB7E: - ldrb r0, [r4, #0x14] - adds r0, r0, r1 - adds r0, #0x50 - movs r1, #0x50 - bl __modsi3 - strb r0, [r4, #0x14] - b _0805FBA4 -_0805FB8E: - ldrb r0, [r4, #0x15] - adds r0, r0, r1 - strb r0, [r4, #0x15] - b _0805FBA4 -_0805FB96: - ldrb r0, [r4, #0x16] - adds r0, r0, r1 - adds r0, #7 - movs r1, #7 - bl __modsi3 - strb r0, [r4, #0x16] -_0805FBA4: - ldr r4, _0805FBBC @ =gMenu - ldrb r0, [r4, #0x11] - adds r0, #3 - movs r1, #3 - bl __modsi3 - strb r0, [r4, #0x11] - ldr r1, _0805FBC0 @ =gScreen - movs r0, #1 - strh r0, [r1, #0x32] - pop {r4, pc} - .align 2, 0 -_0805FBBC: .4byte gMenu -_0805FBC0: .4byte gScreen - - thumb_func_start sub_0805FBC4 -sub_0805FBC4: @ 0x0805FBC4 - push {lr} - movs r0, #0 - bl InitScreen - pop {pc} - .align 2, 0 - - thumb_func_start sub_0805FBD0 -sub_0805FBD0: @ 0x0805FBD0 - push {lr} - ldr r2, _0805FBE4 @ =gUnk_08109AC8 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0805FBE4: .4byte gUnk_08109AC8 - - thumb_func_start sub_0805FBE8 -sub_0805FBE8: @ 0x0805FBE8 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, _0805FC68 @ =gPlayerEntity - adds r0, r4, #0 - adds r1, r5, #0 - bl CopyPosition - ldrb r0, [r5, #0xc] - adds r0, #1 - strb r0, [r5, #0xc] - ldrb r1, [r5, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r5, #0x18] - adds r4, #0x3c - ldrb r0, [r4] - adds r0, #1 - adds r1, r5, #0 - adds r1, #0x3c - strb r0, [r1] - ldr r0, _0805FC6C @ =gUnk_08109AD0 - str r0, [r5, #0x48] - movs r0, #0xe0 - lsls r0, r0, #2 - strh r0, [r5, #0x24] - ldrb r1, [r5, #0x14] - movs r0, #0x7f - ands r0, r1 - strb r0, [r5, #0x14] - adds r0, r5, #0 - adds r0, #0x38 - ldrb r0, [r0] - cmp r0, #2 - bne _0805FC36 - movs r0, #1 - strb r0, [r5, #0xb] -_0805FC36: - ldrb r1, [r5, #0x14] - lsls r0, r1, #2 - strb r0, [r5, #0x15] - movs r0, #0x3c - str r0, [r5, #0x6c] - lsls r1, r1, #0x18 - lsrs r1, r1, #0x19 - adds r1, #0xc - adds r0, r5, #0 - bl InitializeAnimation - adds r0, r5, #0 - bl sub_0801766C - adds r0, r5, #0 - bl sub_0806F69C - adds r0, r5, #0 - bl sub_0805FC74 - ldr r0, _0805FC70 @ =0x0000013F - bl PlaySFX - pop {r4, r5, pc} - .align 2, 0 -_0805FC68: .4byte gPlayerEntity -_0805FC6C: .4byte gUnk_08109AD0 -_0805FC70: .4byte 0x0000013F - - thumb_func_start sub_0805FC74 -sub_0805FC74: @ 0x0805FC74 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x6c] - subs r0, #1 - str r0, [r4, #0x6c] - movs r1, #1 - rsbs r1, r1, #0 - cmp r0, r1 - beq _0805FD1C - adds r0, r4, #0 - bl GetNextFrame - adds r0, r4, #0 - bl sub_0806F69C - ldrb r0, [r4, #0xe] - adds r0, #1 - strb r0, [r4, #0xe] - ldrb r0, [r4, #0xb] - cmp r0, #0 - bne _0805FCA4 - adds r0, r4, #0 - bl sub_0800451C -_0805FCA4: - movs r1, #0x2e - ldrsh r0, [r4, r1] - ldr r2, _0805FD10 @ =gRoomControls - ldrh r1, [r2, #6] - subs r0, r0, r1 - asrs r0, r0, #4 - movs r3, #0x3f - ands r0, r3 - movs r5, #0x32 - ldrsh r1, [r4, r5] - ldrh r2, [r2, #8] - subs r1, r1, r2 - asrs r1, r1, #4 - ands r1, r3 - lsls r1, r1, #6 - orrs r0, r1 - ldr r1, _0805FD14 @ =gPlayerEntity - adds r1, #0x38 - ldrb r1, [r1] - movs r2, #0x80 - bl sub_080002F0 - cmp r0, #0 - bne _0805FCF6 - ldr r1, _0805FD18 @ =gUnk_08003E44 - movs r0, #0x2e - ldrsh r2, [r4, r0] - movs r5, #0x32 - ldrsh r3, [r4, r5] - adds r0, r4, #0 - bl sub_080040D8 - cmp r0, #0 - beq _0805FCF6 - adds r0, r4, #0 - movs r1, #0x19 - movs r2, #0 - bl CreateFx - bl DeleteThisEntity -_0805FCF6: - adds r0, r4, #0 - adds r0, #0x41 - ldrb r0, [r0] - cmp r0, #0 - beq _0805FD20 - adds r0, r4, #0 - movs r1, #0x19 - movs r2, #0 - bl CreateFx - bl DeleteThisEntity - b _0805FD20 - .align 2, 0 -_0805FD10: .4byte gRoomControls -_0805FD14: .4byte gPlayerEntity -_0805FD18: .4byte gUnk_08003E44 -_0805FD1C: - bl DeleteThisEntity -_0805FD20: - pop {r4, r5, pc} - .align 2, 0 diff --git a/asm/code_0806FA6C.s b/asm/code_0806FA6C.s index 44762471..b9b439c0 100644 --- a/asm/code_0806FA6C.s +++ b/asm/code_0806FA6C.s @@ -802,7 +802,7 @@ sub_0807007C: @ 0x0807007C beq _080700C4 ldrh r0, [r2, #2] lsls r0, r0, #4 - ldr r1, _080700C0 @ =gUnk_080029B4 + ldr r1, _080700C0 @ =gSpritePtrs adds r3, r0, r1 ldr r1, [r3, #4] cmp r1, #0 @@ -820,7 +820,7 @@ sub_0807007C: @ 0x0807007C movs r0, #1 b _080700C6 .align 2, 0 -_080700C0: .4byte gUnk_080029B4 +_080700C0: .4byte gSpritePtrs _080700C4: movs r0, #0 _080700C6: diff --git a/asm/code_08078778.s b/asm/code_08078778.s index 54e812c4..afea07e6 100644 --- a/asm/code_08078778.s +++ b/asm/code_08078778.s @@ -813,7 +813,7 @@ sub_08078E84: @ 0x08078E84 adds r1, #1 strb r0, [r1] _08078EAC: - ldr r0, _08078ED4 @ =gUnk_080029B4 + ldr r0, _08078ED4 @ =gSpritePtrs ldrh r2, [r4, #0x12] lsls r2, r2, #4 adds r0, #4 @@ -832,7 +832,7 @@ _08078EAC: b _08078EE2 .align 2, 0 _08078ED0: .4byte gPlayerEntity -_08078ED4: .4byte gUnk_080029B4 +_08078ED4: .4byte gSpritePtrs _08078ED8: adds r0, r4, #0 movs r1, #3 diff --git a/asm/code_080A3480.s b/asm/code_080A3480.s index 010a22cc..825a6551 100644 --- a/asm/code_080A3480.s +++ b/asm/code_080A3480.s @@ -351,7 +351,7 @@ sub_080A36F8: @ 0x080A36F8 bl LoadPaletteGroup ldrb r0, [r4, #1] bl LoadGfxGroup - ldr r0, _080A3760 @ =gUnk_02021F30 + ldr r0, _080A3760 @ =gBG1Buffer movs r1, #0x80 lsls r1, r1, #4 bl _DmaZero @@ -383,7 +383,7 @@ _080A3752: _080A3754: .4byte gFadeControl _080A3758: .4byte gMenu _080A375C: .4byte gUnk_08127CEC -_080A3760: .4byte gUnk_02021F30 +_080A3760: .4byte gBG1Buffer _080A3764: .4byte gScreen thumb_func_start sub_080A3768 @@ -407,7 +407,7 @@ _080A3780: beq _080A3812 b _080A384C _080A378A: - ldr r0, _080A37B8 @ =gUnk_02021F30 + ldr r0, _080A37B8 @ =gBG1Buffer movs r1, #0x80 lsls r1, r1, #4 bl _DmaZero @@ -429,7 +429,7 @@ _080A378A: strb r2, [r4, #0x18] b _080A385E .align 2, 0 -_080A37B8: .4byte gUnk_02021F30 +_080A37B8: .4byte gBG1Buffer _080A37BC: .4byte gUnk_081272E0 _080A37C0: .4byte gScreen _080A37C4: @@ -576,7 +576,7 @@ sub_080A38D0: @ 0x080A38D0 ldrb r0, [r0] cmp r0, #0 bne _080A3914 - ldr r0, _080A3920 @ =gUnk_02021F30 + ldr r0, _080A3920 @ =gBG1Buffer movs r6, #0x80 lsls r6, r6, #4 adds r1, r6, #0 @@ -606,7 +606,7 @@ _080A3914: pop {r4, r5, r6, pc} .align 2, 0 _080A391C: .4byte gFadeControl -_080A3920: .4byte gUnk_02021F30 +_080A3920: .4byte gBG1Buffer _080A3924: .4byte gScreen _080A3928: .4byte gUnk_020344B0 _080A392C: .4byte gMenu diff --git a/asm/code_080A3BD0.s b/asm/code_080A3BD0.s index 0c8593af..10cb10be 100644 --- a/asm/code_080A3BD0.s +++ b/asm/code_080A3BD0.s @@ -1266,11 +1266,11 @@ sub_080A4608: @ 0x080A4608 adds r1, r4, r2 ldrh r1, [r1] bl sub_0801D79C - ldr r0, _080A46A4 @ =gUnk_02034CB0 + ldr r0, _080A46A4 @ =gBG0Buffer movs r1, #0x80 lsls r1, r1, #4 bl _DmaZero - ldr r0, _080A46A8 @ =gUnk_02001A40 + ldr r0, _080A46A8 @ =gBG3Buffer movs r1, #0x80 lsls r1, r1, #5 bl _DmaZero @@ -1321,8 +1321,8 @@ _080A4694: pop {r4, pc} .align 2, 0 _080A46A0: .4byte gPaletteBuffer -_080A46A4: .4byte gUnk_02034CB0 -_080A46A8: .4byte gUnk_02001A40 +_080A46A4: .4byte gBG0Buffer +_080A46A8: .4byte gBG3Buffer _080A46AC: .4byte gScreen _080A46B0: .4byte 0x00007898 _080A46B4: .4byte gMenu @@ -2118,7 +2118,7 @@ sub_080A4CBC: @ 0x080A4CBC cmp r0, r6 beq _080A4CFE strb r6, [r1, #0x1a] - ldr r4, _080A4D10 @ =gUnk_02021F30 + ldr r4, _080A4D10 @ =gBG1Buffer movs r5, #0x80 lsls r5, r5, #4 adds r0, r4, #0 @@ -2151,7 +2151,7 @@ _080A4CFE: b _080A4D28 .align 2, 0 _080A4D0C: .4byte gMenu -_080A4D10: .4byte gUnk_02021F30 +_080A4D10: .4byte gBG1Buffer _080A4D14: .4byte 0x0600E000 _080A4D18: .4byte gUnk_08128190 _080A4D1C: .4byte gScreen @@ -2241,12 +2241,12 @@ sub_080A4DB8: @ 0x080A4DB8 push {r4, r5, lr} adds r5, r0, #0 bl sub_08056250 - ldr r0, _080A4E58 @ =gUnk_02034CB0 + ldr r0, _080A4E58 @ =gBG0Buffer movs r4, #0x80 lsls r4, r4, #4 adds r1, r4, #0 bl _DmaZero - ldr r0, _080A4E5C @ =gUnk_02021F30 + ldr r0, _080A4E5C @ =gBG1Buffer adds r1, r4, #0 bl _DmaZero ldr r0, _080A4E60 @ =gUnk_020344B0 @@ -2312,8 +2312,8 @@ _080A4E4A: _080A4E54: pop {r4, r5, pc} .align 2, 0 -_080A4E58: .4byte gUnk_02034CB0 -_080A4E5C: .4byte gUnk_02021F30 +_080A4E58: .4byte gBG0Buffer +_080A4E5C: .4byte gBG1Buffer _080A4E60: .4byte gUnk_020344B0 _080A4E64: .4byte gUnk_0200AF34 _080A4E68: .4byte gMenu @@ -2577,7 +2577,7 @@ _080A507C: .4byte gUnk_02034490 _080A5080: movs r0, #3 bl sub_080A4E90 - ldr r0, _080A5098 @ =gUnk_02034CB0 + ldr r0, _080A5098 @ =gBG0Buffer movs r1, #0x80 lsls r1, r1, #4 bl _DmaZero @@ -2587,7 +2587,7 @@ _080A5080: _080A5096: pop {r4, r5, pc} .align 2, 0 -_080A5098: .4byte gUnk_02034CB0 +_080A5098: .4byte gBG0Buffer _080A509C: .4byte gScreen thumb_func_start sub_080A50A0 diff --git a/asm/code_080A5574.s b/asm/code_080A5574.s index 63bf2f0a..d527c237 100644 --- a/asm/code_080A5574.s +++ b/asm/code_080A5574.s @@ -2787,7 +2787,7 @@ sub_080A6B04: @ 0x080A6B04 adds r1, r4, #0 bl sub_0801D79C ldr r0, _080A6C04 @ =0x00005001 - ldr r1, _080A6C08 @ =gUnk_02001A40 + ldr r1, _080A6C08 @ =gBG3Buffer movs r2, #0x80 lsls r2, r2, #5 bl _DmaFill16 @@ -2857,7 +2857,7 @@ _080A6BF8: .4byte gUnk_080FE320 _080A6BFC: .4byte gMenu _080A6C00: .4byte 0x0000475F _080A6C04: .4byte 0x00005001 -_080A6C08: .4byte gUnk_02001A40 +_080A6C08: .4byte gBG3Buffer _080A6C0C: .4byte gPlayerState _080A6C10: .4byte gScreenTransition _080A6C14: .4byte 0x000001FB @@ -12666,7 +12666,7 @@ _080AB60A: b _080AB62E _080AB610: adds r0, r4, #0 - bl sub_080043B4 + bl CreateItemOnGround movs r0, #1 b _080AB630 _080AB61A: @@ -12676,7 +12676,7 @@ _080AB61A: b _080AB630 _080AB624: adds r0, r4, #0 - bl sub_080043AC + bl CreateChestSpawner movs r0, #1 b _080AB630 _080AB62E: diff --git a/asm/manager1.s b/asm/manager1.s index 74bf3c4e..a6bc4f1f 100644 --- a/asm/manager1.s +++ b/asm/manager1.s @@ -404,7 +404,7 @@ sub_08057450: @ 0x08057450 _08057474: asrs r0, r1, #6 lsls r0, r0, #9 - ldr r1, _0805750C @ =gUnk_02001A40 + ldr r1, _0805750C @ =gBG3Buffer adds r1, r0, r1 str r1, [r4, #0x34] ldr r0, [r3, #0x34] @@ -479,7 +479,7 @@ _08057502: .align 2, 0 _08057504: .4byte gScreen _08057508: .4byte gRoomControls -_0805750C: .4byte gUnk_02001A40 +_0805750C: .4byte gBG3Buffer _08057510: .4byte gScreenTransition _08057514: .4byte gUnk_08107C30 _08057518: .4byte gUnk_085B4180 diff --git a/asm/manager10.s b/asm/manager10.s index addec2c9..eadc82ba 100644 --- a/asm/manager10.s +++ b/asm/manager10.s @@ -333,7 +333,7 @@ _080597F4: bl LoadGfxGroup b _08059838 _08059800: - ldr r4, _0805981C @ =gUnk_02001A40 + ldr r4, _0805981C @ =gBG3Buffer movs r5, #0x80 lsls r5, r5, #4 adds r0, r4, #0 @@ -345,7 +345,7 @@ _08059800: bl LoadAssetAsync b _08059838 .align 2, 0 -_0805981C: .4byte gUnk_02001A40 +_0805981C: .4byte gBG3Buffer _08059820: .4byte 0x0600E800 _08059824: ldr r0, _0805983C @ =gUnk_0200B650 diff --git a/asm/non_matching/manager15/sub_0805A9CC.inc b/asm/non_matching/manager15/sub_0805A9CC.inc index a5953bf2..f1ce8e4d 100644 --- a/asm/non_matching/manager15/sub_0805A9CC.inc +++ b/asm/non_matching/manager15/sub_0805A9CC.inc @@ -54,7 +54,7 @@ _0805AA04: _0805AA2C: asr r0, r0, #6 lsl r0, r0, #9 - ldr r1, _0805AA54 @ =gUnk_02001A40 + ldr r1, _0805AA54 @ =gBG3Buffer add r1, r0, r1 str r1, [r3, #0x34] add r2, r3, #0 @@ -72,4 +72,4 @@ _0805AA4A: .align 2, 0 _0805AA4C: .4byte gScreen _0805AA50: .4byte gRoomControls -_0805AA54: .4byte gUnk_02001A40 +_0805AA54: .4byte gBG3Buffer diff --git a/asm/sub_08052418.s b/asm/sub_08052418.s index 01374de8..3de7ca93 100644 --- a/asm/sub_08052418.s +++ b/asm/sub_08052418.s @@ -11,7 +11,7 @@ sub_08052418: @ 0x08052418 sub sp, #0x18 adds r6, r0, #0 adds r4, r1, #0 - ldr r0, _08052494 @ =gUnk_02021F30 + ldr r0, _08052494 @ =gBG1Buffer movs r1, #0x80 lsls r1, r1, #4 bl _DmaZero @@ -66,7 +66,7 @@ sub_08052418: @ 0x08052418 add sp, #0x18 pop {r4, r5, r6, pc} .align 2, 0 -_08052494: .4byte gUnk_02021F30 +_08052494: .4byte gBG1Buffer _08052498: .4byte gUnk_020227E8 _0805249C: .4byte gUnk_080FCA8C _080524A0: .4byte gUnk_080FCAA4 diff --git a/data/data_080029B4.s b/data/data_080029B4.s index 08809ee3..d071f13a 100644 --- a/data/data_080029B4.s +++ b/data/data_080029B4.s @@ -4,7 +4,7 @@ .section .rodata .align 2 -gUnk_080029B4:: @ 080029B4 +gSpritePtrs:: @ 080029B4 .incbin "baserom.gba", 0x0029B4, 0x000004C gUnk_08002A00:: @ 08002A00 diff --git a/data/playerItemFunctions.s b/data/playerItemFunctions.s index 6d135e35..5626573b 100644 --- a/data/playerItemFunctions.s +++ b/data/playerItemFunctions.s @@ -26,7 +26,7 @@ /*0x11*/ .4byte Item11 /*0x12*/ .4byte sub_080700E8 /*0x13*/ .4byte sub_080ACF14 -/*0x14*/ .4byte sub_0805FBD0 +/*0x14*/ .4byte Item14 /*0x15*/ .4byte sub_080A306C /*0x16*/ .4byte SwordBeam /*0x17*/ .4byte NulledItem @@ -53,7 +53,7 @@ .4byte Item11 .4byte sub_080700E8 .4byte sub_080ACF14 -.4byte sub_0805FBD0 +.4byte Item14 .4byte sub_080A306C .4byte SwordBeam .4byte NulledItem diff --git a/include/entity.h b/include/entity.h index a90ca7c9..7972bd96 100644 --- a/include/entity.h +++ b/include/entity.h @@ -50,10 +50,10 @@ typedef struct Entity { /* */ } PACKED b; /* */ } PACKED spriteSettings; /*0x19*/ struct { - /* */ u8 b0 : 2; // 1-2 - /* */ u8 alphaBlend : 2; // 4-8 - /* */ u8 b2 : 2; //0x10 - /* */ u8 b3 : 2; //0x40 + /* */ u32 b0 : 2; // 1-2 + /* */ u32 alphaBlend : 2; // 4-8 + /* */ u32 b2 : 2; //0x10 + /* */ u32 b3 : 2; //0x40 /* */ } PACKED spriteRendering; /*0x1a*/ union { /* */ u8 raw; @@ -63,9 +63,9 @@ typedef struct Entity { /* */ } PACKED b; /* */} PACKED palette; /*0x1b*/ struct { - /* */ u8 b0 : 4; - /* */ u8 flipX : 2; //0x10 - /* */ u8 flipY : 2; //0x40 + /* */ u32 b0 : 1; + /* */ u32 b1 : 5; //0x10 + /* */ u32 flipY : 2; //0x40 /* */ } PACKED spriteOrientation; /*0x1c*/ u8 field_0x1c; /*0x1d*/ u8 field_0x1d; diff --git a/include/functions.h b/include/functions.h index 1a7a87d7..9f2a2584 100644 --- a/include/functions.h +++ b/include/functions.h @@ -270,4 +270,15 @@ extern u32 sub_0800442E(Entity*); extern void sub_08081404(Entity*, u32); extern void sub_0807B7D8(u32, u32, u32); extern void sub_08052D74(void*, void*, void*); +extern void sub_0800451C(Entity*); +extern u32 sub_080002F0(u32, u32, u32); +extern u32 sub_080040D8(Entity*, u8*, s32, s32); +extern void sub_08053320(); +extern void sub_0801D79C(u32, u32); +extern u32 sub_0805F8F8(u32); +extern void sub_08002724(void*, u8*); +extern void sub_080026C4(u8*, u8*, u8*, u32); +extern void sub_080026F2(u8*, void*, u8*, u32); +extern u32 sub_0805F7A0(u32); +extern u32* sub_0805F25C(u32); #endif diff --git a/include/global.h b/include/global.h index ad4b9daa..3b2e0446 100644 --- a/include/global.h +++ b/include/global.h @@ -47,6 +47,8 @@ #define min(a, b) ((a) < (b) ? (a) : (b)) #define max(a, b) ((a) >= (b) ? (a) : (b)) +#define static_assert(cond) extern char assertion[(cond) ? 1 : -1] + typedef union { s32 WORD; struct { @@ -74,4 +76,6 @@ union SplitHWord { } PACKED HALF; } PACKED; + + #endif // GUARD_GLOBAL_H diff --git a/include/main.h b/include/main.h index be532570..7fa87211 100644 --- a/include/main.h +++ b/include/main.h @@ -50,6 +50,7 @@ typedef struct { /*0x0A*/ u16 fadeInTime; /*0x0C*/ u8 fillerC[0x3A8]; } UI; +static_assert(sizeof(UI) == 0x3b4); extern Main gUnk_03001000; extern UI gUnk_02032EC0; diff --git a/include/menu.h b/include/menu.h index 765c0b8b..1203978e 100644 --- a/include/menu.h +++ b/include/menu.h @@ -29,15 +29,17 @@ typedef struct { u16 transitionTimer; u16 field_0xa; u8* field_0xc; - u8 unk10[2]; + u8 focusCoords[2]; u8 field_0x12; u8 unk13; - u8 filler14[0x2]; + u8 unk14; + u8 unk15; u8 unk16; u8 filler17[0x13]; u8 unk2a; int field_0x2c; } Menu; +static_assert(sizeof(Menu) == 0x30); extern Menu gMenu; diff --git a/include/player.h b/include/player.h index 0d604dbd..898f23cb 100644 --- a/include/player.h +++ b/include/player.h @@ -62,7 +62,10 @@ typedef struct { /*0x8b*/ u8 field_0x8b; /*0x8c*/ u32 field_0x8c; /*0x90*/ union SplitWord field_0x90; - /*0x94*/ u32 field_0x94[5]; + /*0x94*/ u32 field_0x94; + /*0x98*/ u16 field_0x98; + /*0x9a*/ u16 field_0x9a; + /*0x9c*/ u32 field_0x9c[3]; /*0xa8*/ u8 field_0xa8; /*0xa9*/ u8 field_0xa9; /*0xaa*/ u8 field_0xaa; diff --git a/include/structures.h b/include/structures.h index b6d348a9..bced40db 100644 --- a/include/structures.h +++ b/include/structures.h @@ -174,4 +174,21 @@ typedef struct { } data; } Dialog; +typedef struct { + u8 filler0[0x29C]; + u16 unk29C; + u8 filler29E[0x562]; +} BGBuffer; +extern BGBuffer gBG0Buffer; +extern BGBuffer gBG1Buffer; +static_assert(sizeof(BGBuffer) == 0x800); + +/* +typedef struct { + u16 filler0[0x800]; +} BG3Buffer; +extern BG3Buffer gBG3Buffer; +static_assert(sizeof(BG3Buffer) == 0x1000); +*/ + #endif diff --git a/linker.ld b/linker.ld index 70dca2da..2aba9e0b 100644 --- a/linker.ld +++ b/linker.ld @@ -26,7 +26,7 @@ SECTIONS { . = 0x00000D00; gUnk_02000D00 = .; . = 0x00001A00; gUnk_02001A00 = .; . = 0x00001A3C; gUnk_02001A3C = .; - . = 0x00001A40; gUnk_02001A40 = .; + . = 0x00001A40; gBG3Buffer = .; . = 0x00001B40; gUnk_02001B40 = .; . = 0x00002A40; gUnk_02002A40 = .; . = 0x00002AA0; gUnk_02002AA0 = .; @@ -536,6 +536,9 @@ SECTIONS { src/entity.o(.text); src/code_0805EC04.o(.text); asm/code_0805EC04.o(.text); + src/code_0805F9A0.o(.text); + src/screenDebug.o(.text); + src/item14.o(.text); /* npcs */ src/npc/gentari.o(.text); src/npc/festari.o(.text); diff --git a/src/chooseFile.c b/src/chooseFile.c index 5a36de17..682606af 100644 --- a/src/chooseFile.c +++ b/src/chooseFile.c @@ -38,14 +38,6 @@ typedef struct { extern struct_020227E8 gUnk_020227E8; -typedef struct { - u8 filler0[0x29C]; - u16 unk29C; - u8 filler29E[0x562]; -} struct_02034CB0; - -extern struct_02034CB0 gUnk_02034CB0; -extern struct_02034CB0 gUnk_02021F30; extern SaveFile gSaveFiles[]; extern u32 gUsedPalettes; extern u8 gUnk_02000D00[]; @@ -96,7 +88,7 @@ void sub_08050318(u32 arg0, u32 arg1) { void sub_08050384(void) { sub_0801C4A0(0, 0); - _DmaZero(&gUnk_02034CB0, sizeof(gUnk_02034CB0)); + _DmaZero(&gBG0Buffer, sizeof(gBG0Buffer)); gScreen.bg.bg3Control = 1; } @@ -108,8 +100,8 @@ void sub_080503A8(u32 gfxGroup) { void sub_080503BC(u8 state) { gUnk_02032EC0.state = state; - _DmaZero(&gUnk_02034CB0, sizeof(gUnk_02034CB0)); - _DmaZero(&gUnk_02021F30, sizeof(gUnk_02021F30)); + _DmaZero(&gBG0Buffer, sizeof(gBG0Buffer)); + _DmaZero(&gBG1Buffer, sizeof(gBG1Buffer)); } void sub_080503E4(u32 saveFileId) { @@ -483,9 +475,9 @@ void sub_08050B3C(u16*); void sub_08050AFC(u32 saveFileId) { sub_0805041C(saveFileId); - _DmaZero(&gUnk_02021F30, sizeof(gUnk_02021F30)); + _DmaZero(&gBG1Buffer, sizeof(gBG1Buffer)); if (gUnk_02019EE0.unk8[saveFileId] == 1) { - sub_08050B3C(&gUnk_02021F30.unk29C); + sub_08050B3C(&gBG1Buffer.unk29C); } gScreen.bg.bg2yOffset = 1; } diff --git a/src/code_0805EC04.c b/src/code_0805EC04.c index c722c57f..3033de51 100644 --- a/src/code_0805EC04.c +++ b/src/code_0805EC04.c @@ -1,18 +1,107 @@ #include "entity.h" +#include "player.h" -extern u8 gUnk_03000000; +typedef struct { + u16 unk0; + u16 unk2; + u16 unk4; + u8 unk6; + u8 unk7; +} VStruct; + +typedef struct { + u8 filler[0x420]; + VStruct unk[0x100]; +} UStruct; + +extern UStruct gUnk_03000000; bool32 sub_0805EC04(Entity* this) { u32 i = 1; - u8* l = &gUnk_03000000; + UStruct* temp = &gUnk_03000000; u32 j = 1; for (; i < 0x20; i++) { - if (l[(i * 8) + 0x426] == 0) { - l[(i * 8) + 0x426] = j; - this->spriteSet.b1 = i; - this->spriteSet.b0 |= j; + if (temp->unk[i].unk6 == 0) { + temp->unk[i].unk6 = j; + this->spriteOrientation.b1 = i; + this->spriteRendering.b0 |= j; return TRUE; } } return FALSE; } + +void sub_0805EC60(Entity* this) { + u8 temp; + UStruct* temp2; + + if (this->spriteRendering.b0 != 0) { + this->spriteRendering.b0 = 0; + temp = this->spriteOrientation.b1; + this->spriteOrientation.b1 = 0; + temp2 = &gUnk_03000000; + temp2->unk[temp].unk6 = 0; + } +} + +NAKED +bool32 sub_0805EC9C(Entity* ent, u32 param_2, u32 param_3, u32 param_4) { + asm_unified("\ + push {r4, r5, r6, r7, lr} \n\ + adds r4, r0, #0 \n\ + adds r5, r1, #0 \n\ + adds r6, r2, #0 \n\ + adds r7, r3, #0 \n\ + ldrb r0, [r4, #0x1b] \n\ + lsls r0, r0, #0x1a \n\ + lsrs r0, r0, #0x1b \n\ + cmp r0, #0 \n\ + bne _0805ECBE \n\ + adds r0, r4, #0 \n\ + bl sub_0805EC04 \n\ + cmp r0, #0 \n\ + bne _0805ECBE \n\ + movs r0, #0 \n\ + b _0805ECE0 \n\ +_0805ECBE: \n\ + ldr r1, _0805ECE4 @ =gUnk_03000000 \n\ + ldr r0, _0805ECE8 @ =0x00000427 \n\ + adds r2, r1, r0 \n\ + movs r0, #1 \n\ + strb r0, [r2] \n\ + ldrb r0, [r4, #0x1b] \n\ + lsls r0, r0, #0x1a \n\ + lsrs r0, r0, #0x1b \n\ + lsls r0, r0, #3 \n\ + movs r2, #0x84 \n\ + lsls r2, r2, #3 \n\ + adds r1, r1, r2 \n\ + adds r0, r0, r1 \n\ + strh r5, [r0] \n\ + strh r6, [r0, #2] \n\ + strh r7, [r0, #4] \n\ + movs r0, #1 \n\ +_0805ECE0: \n\ + pop {r4, r5, r6, r7, pc} \n\ + .align 2, 0 \n\ +_0805ECE4: .4byte gUnk_03000000 \n\ +_0805ECE8: .4byte 0x00000427 \n\ + "); +} + +void sub_0805ECEC(int param_1, u32 param_2, u32 param_3, u32 param_4) { + u16* temp; + + gUnk_03000000.unk[0].unk7 = 1; + + temp = &gUnk_03000000.unk[param_1].unk0; + temp[0] = param_2; + temp[1] = param_3; + temp[2] = param_4; +} + +void sub_0805ED14(u32 param_1) { + gPlayerState.field_0x9c[0] = param_1; + gPlayerState.field_0x98 = 0; + gPlayerState.field_0x9a = 0; +} \ No newline at end of file diff --git a/src/code_0805F9A0.c b/src/code_0805F9A0.c new file mode 100644 index 00000000..1514df6a --- /dev/null +++ b/src/code_0805F9A0.c @@ -0,0 +1,169 @@ +#include "global.h" +#include "functions.h" +#include "structures.h" + +extern u16 gUnk_081092D4; +extern u8 gUnk_02036AD8; +extern u8 gUnk_081094CE; +extern u8 gUnk_02036A58; +extern void* gUnk_081092AC[]; + +typedef struct { + u8 filler0[12][16]; +} VStruct; + +extern VStruct gUnk_0810942E[]; +extern u32 gUnk_0810926C[]; + +typedef struct { + u8 unk0; + u8 unk1; +} UStruct; + +typedef struct { + u8 unk0; + u8 unk1; + u8 unk2; + u8 unk3; + u16 unk4; + u16 unk6; + void* unk8; +} WStruct; + +void sub_0805F820(WStruct* r0, u32* r1); + +u32 sub_0805F7DC(u32 r0, WStruct* r1) { + u32 temp; + u32 temp2; + u32* offset; + + if (r1->unk4 <= r1->unk6) + return 0; + + offset = sub_0805F25C(r0); + temp = r1->unk6; + if ((r0 >> 8) > 4) { + sub_0805F820(r1, offset); + offset += 0x10; + } + + sub_0805F820(r1, offset); + if (r1->unk6 > r1->unk4) { + r1->unk6 = r1->unk4; + } + return r1->unk6 - temp; +} + +void sub_0805F820(WStruct* r0, u32* r1) { + u32 bVar1; + u32 bVar2; + s32 uVar3; + s32 uVar4; + void* uVar5; + u32 uVar6; + u32 uVar7; + u8* puVar8; + u8* temp; + void* temp2; + VStruct* temp3; + + if (r0->unk4 - r0->unk6 > 0) { + sub_08002724(r1, &gUnk_02036A58); + if (r0->unk1 == 0) { + u32 tmp = sub_0805F7A0(*r1); + uVar6 = tmp & 0xf; + uVar3 = tmp >> 8; + } else { + uVar6 = 0; + uVar3 = 8; + } + + uVar4 = r0->unk4 - r0->unk6; + if (uVar4 > 8) { + uVar4 = 8; + } + if (uVar4 < uVar3) { + uVar3 = uVar4; + } + + puVar8 = &gUnk_02036A58 + uVar6; + temp2 = r0->unk8; + temp = gUnk_0810942E[r0->unk3].filler0[r0->unk2 * 2]; + uVar7 = r0->unk6; + r0->unk6 += uVar3; + + if (r0->unk0 / 16 != 1) { + while (uVar3-- > 0) { + sub_080026C4(puVar8, temp2, temp, uVar7); + puVar8++; + uVar7++; + } + } else { + while (uVar3-- > 0) { + sub_080026F2(puVar8, temp2, temp, uVar7); + puVar8++; + uVar7++; + } + } + } +} + +void sub_0805F8E4(u32 r0, WStruct* r1) { + u32 old = r1->unk1; + r1->unk1 = 1; + sub_0805F7DC(r0, r1); + r1->unk1 = old; +} + +u32 sub_0805F8F8(u32 idx) { + u8* temp = &gUnk_0810942E[idx].filler0[10][10]; + return gUnk_0810926C[*temp]; +} + +void sub_0805F918(u32 idx, u32 idx2, void* dest) { + u32 i; + void* puVar1; + u8* puVar2; + u32 j; + u32 idx3; + u8* temp; + u8* temp2; + + _DmaFill32(sub_0805F8F8(idx2), &gUnk_02036AD8, 0xe0); + puVar1 = gUnk_081092AC[idx]; + + temp = &gUnk_081094CE + idx2 * 0xc0; + idx3 = 0; + for (i = 0; i < 3; i++) { + puVar2 = &gUnk_02036A58; + sub_08002724(puVar1, &gUnk_02036A58); + puVar1 += 0x40; + + for (j = 0; j < 8; j++) { + sub_080026C4(puVar2, &gUnk_02036AD8, temp, idx3); + puVar2++; + idx3++; + } + } + LoadAssetAsync((const void*)&gUnk_02036AD8, (u32)dest, 0xe0); +} + +u32 sub_0805F9A0(u32 r0) { + + if (gUnk_02000000->gameLanguage == 0) { + u16* val = &gUnk_081092D4; + u32 i = 0; + + do { + if (*val == r0) { + return i + 0x800; + } + i++; + val++; + } while (*val != 0); + } else if (r0 == 0x31a) { + r0 = 1; + r0 &= 0xff; + } + return (r0 & 0xff) + 0x800; +} diff --git a/src/enemy/waterDrop.c b/src/enemy/waterDrop.c index b95535df..3a1e347b 100644 --- a/src/enemy/waterDrop.c +++ b/src/enemy/waterDrop.c @@ -6,7 +6,7 @@ void sub_0802A39C(Entity*); void sub_0802A334(Entity*); -extern u16 gUnk_02001A40[]; +extern u16 gBG3Buffer[]; extern void (*const gUnk_080CD030[])(Entity*); extern const u8 gUnk_080CD03C[]; @@ -63,7 +63,7 @@ void sub_0802A2FC(Entity* this) { void sub_0802A334(Entity* this) { u32 x = (this->x.HALF.HI - gRoomControls.roomScrollX + gScreen.bg.bg1yOffset) >> 3; u32 y = (this->y.HALF.HI - gRoomControls.roomScrollY + gScreen.bg.bg2xOffset) >> 3; - if (gUnk_02001A40[(x & 0x1fU) + (y & 0x1fU) * 0x20 + 0x400]) { + if (gBG3Buffer[(x & 0x1fU) + (y & 0x1fU) * 0x20 + 0x400]) { this->collisionLayer = 2; } else { this->collisionLayer = 1; @@ -74,7 +74,7 @@ void sub_0802A334(Entity* this) { void sub_0802A39C(Entity* this) { u32 x = (gPlayerEntity.x.HALF.HI - gRoomControls.roomScrollX + gScreen.bg.bg1yOffset) >> 3; u32 y = (gPlayerEntity.y.HALF.HI - gRoomControls.roomScrollY + gScreen.bg.bg2xOffset - 10) >> 3; - if (gUnk_02001A40[(x & 0x1fU) + (y & 0x1fU) * 0x20 + 0x400]) { + if (gBG3Buffer[(x & 0x1fU) + (y & 0x1fU) * 0x20 + 0x400]) { this->flags &= ~0x80; } else { this->flags |= 0x80; diff --git a/src/item14.c b/src/item14.c new file mode 100644 index 00000000..d1e6086d --- /dev/null +++ b/src/item14.c @@ -0,0 +1,58 @@ +#include "entity.h" +#include "functions.h" +#include "player.h" +#include "room.h" + +extern void (*const gUnk_08109AC8[])(Entity*); +extern BoundingBox gUnk_08109AD0; +extern u8 gUnk_08003E44; + +void sub_0805FC74(Entity*); + +void Item14(Entity *this) { + gUnk_08109AC8[this->action](this); +} + +void sub_0805FBE8(Entity* this) { + CopyPosition(&gPlayerEntity,this); + this->action++; + this->spriteSettings.b.draw = TRUE; + this->field_0x3c = gPlayerEntity.field_0x3c + 1; + this->boundingBox = &gUnk_08109AD0; + this->nonPlanarMovement = 0x380; + this->animationState = this->animationState & 0x7f; + if (this->collisionLayer == 2) { + this->entityType.parameter = 1; + } + this->direction = this->animationState << 2; + *(u32 *)&this->field_0x6c = 0x3c; + InitializeAnimation(this, (this->animationState >> 1) + 0xc); + sub_0801766C(this); + sub_0806F69C(this); + sub_0805FC74(this); + PlaySFX(0x13f); +} + +void sub_0805FC74(Entity* this) { + int iVar1; + + if (--*(int *)&this->field_0x6c != -1) { + GetNextFrame(this); + sub_0806F69C(this); + ++this->actionDelay; + if (this->entityType.parameter == 0) { + sub_0800451C(this); + } + if (!sub_080002F0(COORD_TO_TILE(this),gPlayerEntity.collisionLayer,0x80) && + sub_080040D8(this,&gUnk_08003E44, this->x.HALF.HI, this->y.HALF.HI)) { + CreateFx(this, 0x19, 0); + DeleteThisEntity(); + } + if (this->bitfield != 0) { + CreateFx(this, 0x19, 0); + DeleteThisEntity(); + } + } else { + DeleteThisEntity(); + } +} diff --git a/src/manager/manager15.c b/src/manager/manager15.c index 51a675f4..23abd03e 100644 --- a/src/manager/manager15.c +++ b/src/manager/manager15.c @@ -427,7 +427,7 @@ void sub_0805A94C(Manager15* this) { gScreen.controls.window1VerticalDimensions = (tmp1 << 8 | tmp2); } -extern u8 gUnk_02001A40[]; +extern u8 gBG3Buffer[]; #ifdef NON_MATCHING void sub_0805A9CC(Manager15* this) { @@ -449,7 +449,7 @@ void sub_0805A9CC(Manager15* this) { gScreen.affine.bg3yOffset = tmp1 & 0x3F; if (tmp1 < 0) tmp1 += 0x3F; - tmp3 = (&gUnk_02001A40[(tmp1 >> 6 << 9)]); + tmp3 = (&gBG3Buffer[(tmp1 >> 6 << 9)]); gScreen.affine.unk5 = (u32)tmp3; gScreen.controls.window1VerticalDimensions = 0xa0; if (this->unk_28 == tmp3) @@ -499,7 +499,7 @@ void sub_0805AAF0(u32 unk0) { gScreen.controls.layerFXControl = 0x3E48; gScreen.controls.alphaBlend = 0x1008; gScreen.affine.bg3Control = 0x1E04; - gScreen.affine.unk5 = &gUnk_02001A40; + gScreen.affine.unk5 = &gBG3Buffer; gScreen.affine.bg3xOffset = 0; gScreen.affine.bg3yOffset = 0; gScreen.affine.unk4 = 1; diff --git a/src/manager/manager8.c b/src/manager/manager8.c index 8fd1d83b..fe0d4335 100644 --- a/src/manager/manager8.c +++ b/src/manager/manager8.c @@ -41,7 +41,7 @@ void sub_08057EFC(Manager8* this) { void sub_08058004(u32, void*, void*); -extern u8 gUnk_02001A40[]; +extern u8 gBG3Buffer[]; extern u8 gUnk_02006F00[]; void sub_08057F20(Manager8* this) { @@ -50,8 +50,8 @@ void sub_08057F20(Manager8* this) { tmp = tmp + (tmp >> 3) + ((0x400 - gRoomControls.width) / 2); gScreen.affine.bg3xOffset = tmp & 0xF; gScreen.affine.bg3yOffset = 0x30 - ((0x30 - (gRoomControls.roomScrollY - gRoomControls.roomOriginY)) >> 2); - gScreen.affine.unk5 = gUnk_02001A40; - sub_08058004(tmp, gUnk_02006F00, gUnk_02001A40); + gScreen.affine.unk5 = gBG3Buffer; + sub_08058004(tmp, gUnk_02006F00, gBG3Buffer); tmp = ((tmp >> 4) << 1); if (this->unk_38 != tmp) { this->unk_38 = tmp; @@ -61,8 +61,8 @@ void sub_08057F20(Manager8* this) { tmp = tmp + (tmp >> 2) + ((0x400 - gRoomControls.width) / 2); gScreen.bg.bg1yOffset = tmp & 0xF; gScreen.bg.bg2xOffset = 0x30 - ((0x30 - (gRoomControls.roomScrollY - gRoomControls.roomOriginY)) >> 1); - gScreen.bg.unk_14 = gUnk_02001A40 + 0x800; - sub_08058004(tmp, gUnk_02006F00 + 0x2000, gUnk_02001A40 + 0x800); + gScreen.bg.unk_14 = gBG3Buffer + 0x800; + sub_08058004(tmp, gUnk_02006F00 + 0x2000, gBG3Buffer + 0x800); tmp = ((tmp >> 4) << 1); if (this->unk_3c != tmp) { this->unk_3c = tmp; @@ -117,19 +117,19 @@ void sub_080580B0(u32 unk1) { sub_08058034(); tmp = gRoomControls.roomScrollX - gRoomControls.roomOriginX; // r7 tmp = tmp + (tmp >> 3) + (0x400 - gRoomControls.width) / 2; - sub_08058004(tmp, gUnk_02006F00, gUnk_02001A40); + sub_08058004(tmp, gUnk_02006F00, gBG3Buffer); gScreen.affine.bg3xOffset = tmp & 0xF; gScreen.affine.bg3yOffset = 0x30 - ((0x30 - (gRoomControls.roomScrollY - gRoomControls.roomOriginY)) >> 1); //? gScreen.affine.bg3Control = 0x1D09; - gScreen.affine.unk5 = gUnk_02001A40; + gScreen.affine.unk5 = gBG3Buffer; gScreen.affine.unk4 = 1; tmp = gRoomControls.roomScrollX - gRoomControls.roomOriginX; // r7 tmp = tmp + (tmp >> 2) + (0x400 - gRoomControls.width) / 2; - sub_08058004(tmp, gUnk_02006F00 + 0x2000, gUnk_02001A40 + 0x800); + sub_08058004(tmp, gUnk_02006F00 + 0x2000, gBG3Buffer + 0x800); gScreen.bg.bg1yOffset = tmp & 0xF; gScreen.bg.bg2xOffset = 0x30 - ((0x30 - (gRoomControls.roomScrollY - gRoomControls.roomOriginY)) >> 1); //? gScreen.bg.bg1xOffset = 0x1E09; - gScreen.bg.unk_14 = gUnk_02001A40 + 0x800; + gScreen.bg.unk_14 = gBG3Buffer + 0x800; gScreen.bg.bg2yOffset = 1; gScreen.controls.layerFXControl = 0x3C48; gScreen.controls.alphaBlend = 0x609; diff --git a/src/manager/manager9.c b/src/manager/manager9.c index d57942c7..c8fc2813 100644 --- a/src/manager/manager9.c +++ b/src/manager/manager9.c @@ -18,7 +18,7 @@ void sub_080582F8(u8*, u8*); void sub_08058324(); extern u32 gUnk_02006F00[]; -extern u8 gUnk_02001A40[]; +extern u8 gBG3Buffer[]; const u16 gUnk_081081EC[] = { 0x30, 0x30, 0x30, 0x38 }; @@ -40,7 +40,7 @@ void sub_08058210(Manager9* this) { if (this->unk_3c == tmp) return; this->unk_3c = tmp; - sub_080582A0(tmp, gUnk_02006F00, gUnk_02001A40); + sub_080582A0(tmp, gUnk_02006F00, gBG3Buffer); gScreen.bg.bg2yOffset = 1; } @@ -91,9 +91,9 @@ void sub_08058324(u32 unk) { LoadPaletteGroup(unk + 0x86); LoadGfxGroup(unk + 0x36); sub_080582D0(); - sub_080582A0(sub_08058244(unk), gUnk_02006F00, gUnk_02001A40); + sub_080582A0(sub_08058244(unk), gUnk_02006F00, gBG3Buffer); gScreen.bg.bg1xOffset = 0x1D47; - gScreen.bg.unk_14 = gUnk_02001A40; + gScreen.bg.unk_14 = gBG3Buffer; gScreen.bg.bg2yOffset = 1; gScreen.lcd.displayControl |= 0x200; } diff --git a/src/object/object48.c b/src/object/object48.c index 5db2b96a..f340da1c 100644 --- a/src/object/object48.c +++ b/src/object/object48.c @@ -223,7 +223,7 @@ void sub_0808EABC(Entity* this) { } break; case 5: - switch (gMenu.unk10[this->entityType.form]) { + switch (gMenu.focusCoords[this->entityType.form]) { case 0: var0 = 42; var1 = 40; @@ -232,7 +232,7 @@ void sub_0808EABC(Entity* this) { case 2: var0 = 20; var1 = 144; - var1 -= (gMenu.unk16 - gMenu.unk10[this->entityType.form]) * 32; + var1 -= (gMenu.unk16 - gMenu.focusCoords[this->entityType.form]) * 32; break; } break; @@ -376,9 +376,9 @@ void sub_0808ECBC(Entity* this) { void sub_0808ED64(Entity* this) { int y = 255; - if (gUnk_02032EC0.transitionType == 1 && gMenu.unk10[1] != 5) { - this->x.HALF.HI = gMenu.unk10[0] * 16 + 28; - y = gMenu.unk10[1] * 16 + 58; + if (gUnk_02032EC0.transitionType == 1 && gMenu.focusCoords[1] != 5) { + this->x.HALF.HI = gMenu.focusCoords[0] * 16 + 28; + y = gMenu.focusCoords[1] * 16 + 58; } this->y.HALF.HI = y; } @@ -421,7 +421,7 @@ void sub_0808EE00(Entity* this) { } this->field_0x6a.HWORD = var2; - this->palette.b.b0 = gMenu.unk10[1] == 5 && var1 == gMenu.field_0x12 ? 11 : 9; + this->palette.b.b0 = gMenu.focusCoords[1] == 5 && var1 == gMenu.field_0x12 ? 11 : 9; gUnk_02019EE0.unk0 |= sub_0808EF6C(this); } diff --git a/src/screenDebug.c b/src/screenDebug.c new file mode 100644 index 00000000..e8c3a506 --- /dev/null +++ b/src/screenDebug.c @@ -0,0 +1,103 @@ +#include "global.h" +#include "functions.h" +#include "main.h" +#include "menu.h" +#include "screen.h" +#include "structures.h" +#include "textbox.h" + +typedef struct { + u16 unk0; + u16 unk2; + u16 unk4; +} VStruct; + +extern VStruct gUnk_03000FF0; +extern u8 gBG3Buffer[]; + +extern void (*const gUnk_08109A30[])(); + +void HandleDebugTextScreen() { + gUnk_08109A30[gUnk_03001000.funcIndex](); +} + +void sub_0805FA04(void) { + sub_0801DA90(1); + _DmaZero((void*)&gBG0Buffer, sizeof(BGBuffer)); + _DmaZero((void*)&gBG3Buffer, 0x1000); + gScreen.lcd.displayControl = 0x940; + gScreen.bg.bg1Control = 0; + gScreen.bg.bg2Control = 0; + gScreen.affine.bg3xOffset = 0; + gScreen.affine.bg3yOffset = 0; + gScreen.affine.bg3Control = 0x1e0f; + gScreen.affine.unk4 = 1; + sub_08056418(); + _DmaZero((void*)&gUnk_02032EC0, sizeof(UI)); + _DmaZero((void*)&gMenu, sizeof(Menu)); + gMenu.unk16 = gUnk_02000000->gameLanguage; + sub_08053320(); + sub_0801D79C(0, 0x1144); + gUnk_03001000.funcIndex = 1; + sub_080A3210(); + sub_08050008(); +} + +void sub_0805FA98(void) { + int iVar1; + + switch (gUnk_03000FF0.unk2) { + case 0x40: + gMenu.focusCoords[1] -= 1; + break; + case 0x80: + gMenu.focusCoords[1] += 1; + break; + case 0x200: + gMenu.focusCoords[0] ^= 1; + if (gMenu.focusCoords[0] == 0) { + gScreen.bg.bg0Control = 0x1f0c; + gScreen.affine.bg3Control = 0x1e0f; + } else { + gScreen.bg.bg0Control = 0x1f0f; + gScreen.affine.bg3Control = 0x1e0c; + } + break; + case 0x100: + gUnk_02000000->gameLanguage = gMenu.unk16; + TextboxNoOverlapFollow(gMenu.unk14 * 0x100 + gMenu.unk15); + break; + case 0x2: + sub_08056418(); + break; + default: + switch (gUnk_03000FF0.unk4) { + case 0x20: + iVar1 = -1; + break; + case 0x10: + iVar1 = 1; + break; + default: + iVar1 = 0; + break; + } + switch (gMenu.focusCoords[1]) { + case 0: + gMenu.unk14 = (gMenu.unk14 + iVar1 + 0x50) % 0x50; + break; + case 1: + gMenu.unk15 += iVar1; + break; + case 2: + gMenu.unk16 = (gMenu.unk16 + iVar1 + 7) % 7; + break; + } + } + gMenu.focusCoords[1] = (gMenu.focusCoords[1] + 3) % 3; + gScreen.affine.unk4 = 1; +} + +void sub_0805FBC4() { + InitScreen(0); +} From a5d611f768cdc2217202c9b2e8e6d980554c3023 Mon Sep 17 00:00:00 2001 From: theo3 Date: Tue, 17 Nov 2020 17:26:46 -0800 Subject: [PATCH 020/101] jenkins support --- Jenkinsfile | 37 +++++++++++++++++++++++++++++++++++ progress.py | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 93 insertions(+) create mode 100644 Jenkinsfile create mode 100644 progress.py diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 00000000..d55b94e4 --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,37 @@ +pipeline { + agent any + + stages { + stage('Setup') { + steps { + echo 'Setting up...' + sh 'cp /usr/local/etc/roms/baserom_tmc.gba baserom.gba' + sh 'make -j setup' + } + } + stage('Build') { + when { + not { + branch 'master' + } + } + steps { + sh 'make -j' + } + } + stage('Report Progress') { + when { + branch 'master' + } + steps { + sh 'python3 progress.py -c >> /var/www/html/reports/progress.csv' + sh 'python3 progress.py -mc >> /var/www/html/reports/progress_matching.csv' + } + } + } + post { + always { + cleanWs() + } + } +} \ No newline at end of file diff --git a/progress.py b/progress.py new file mode 100644 index 00000000..e7a9956b --- /dev/null +++ b/progress.py @@ -0,0 +1,56 @@ + +import csv, git, re + +map = open("tmc.map", "r") + +src = 0 +asm = 0 +srcData = 0 +data = 0 + +for line in map: + reg = re.compile(r"^ \.(\w+)\s+0x[0-9a-f]+\s+(0x[0-9a-f]+) (\w+)\/(.+)\.o") + matches = reg.split(line) + + if (len(matches) < 5): + continue + + section = matches[1] + size = int(matches[2], 16) + direc = matches[3] + basename = matches[4] + + # From original script, not sure what this is doing... + if (size & 3): + size += 4 - (size % 3) + + if (section == "text"): + if (direc == "src"): + src += size + elif (direc == "asm"): + asm += size + elif (section == "rodata"): + if (direc == "src"): + srcData += size + elif (direc == "data"): + data += size + +total = src + asm +dataTotal = srcData + data + +srcPct = "%.4f" % (100 * src / total) +asmPct = "%.4f" % (100 * asm / total) + +srcDataPct = "%.4f" % (100 * srcData / dataTotal) +dataPct = "%.4f" % (100 * data / dataTotal) + +version = 1 +git_object = git.Repo().head.object +timestamp = str(git_object.committed_date) +git_hash = git_object.hexsha + +#################################################### + +csv_list = [str(version), timestamp, git_hash, str(srcPct), str(asmPct), str(srcDataPct), str(dataPct)] + +print(",".join(csv_list)) \ No newline at end of file From 0f562885f9d297d6216454c62c63163db918ddcc Mon Sep 17 00:00:00 2001 From: Ibot02 Date: Fri, 13 Nov 2020 03:16:49 +0100 Subject: [PATCH 021/101] managerC.c: ok one minor non_matching --- asm/managerC.s | 712 --------------------- asm/non_matching/managerC/sub_08058D34.inc | 66 ++ linker.ld | 2 +- src/manager/managerC.c | 280 ++++++++ 4 files changed, 347 insertions(+), 713 deletions(-) delete mode 100644 asm/managerC.s create mode 100644 asm/non_matching/managerC/sub_08058D34.inc create mode 100644 src/manager/managerC.c diff --git a/asm/managerC.s b/asm/managerC.s deleted file mode 100644 index ef613cdd..00000000 --- a/asm/managerC.s +++ /dev/null @@ -1,712 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_0805884C -sub_0805884C: @ 0x0805884C - push {r4, lr} - adds r4, r0, #0 - ldr r1, _08058880 @ =gUnk_0810821C - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - bl sub_08058BC8 - ldr r0, _08058884 @ =gUnk_03003DE4 - ldrb r1, [r0] - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #9 - ldr r1, _08058888 @ =gUnk_02017AA0 - adds r0, r0, r1 - ldr r1, _0805888C @ =0x04000020 - ldr r2, _08058890 @ =0xA2600008 - bl sub_0805622C - pop {r4, pc} - .align 2, 0 -_08058880: .4byte gUnk_0810821C -_08058884: .4byte gUnk_03003DE4 -_08058888: .4byte gUnk_02017AA0 -_0805888C: .4byte 0x04000020 -_08058890: .4byte 0xA2600008 - - thumb_func_start sub_08058894 -sub_08058894: @ 0x08058894 - push {r4, lr} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xc] - ldr r0, _080588C4 @ =0x00001234 - str r0, [r4, #0x28] - movs r0, #0x15 - movs r1, #2 - bl CheckLocalFlags - rsbs r1, r0, #0 - orrs r1, r0 - lsrs r1, r1, #0x1f - strb r1, [r4, #0xe] - adds r0, r4, #0 - bl sub_08058CB0 - ldr r1, _080588C8 @ =sub_08058D34 - adds r0, r4, #0 - movs r2, #0 - bl sub_08052D74 - pop {r4, pc} - .align 2, 0 -_080588C4: .4byte 0x00001234 -_080588C8: .4byte sub_08058D34 - - thumb_func_start sub_080588CC -sub_080588CC: @ 0x080588CC - push {r4, lr} - adds r4, r0, #0 - bl sub_08058CFC - adds r0, r4, #0 - bl sub_08058A04 - ldr r0, _080588E8 @ =gScreenTransition - ldrb r0, [r0, #8] - cmp r0, #0 - beq _080588EC - movs r0, #2 - strb r0, [r4, #0xc] - b _080588F2 - .align 2, 0 -_080588E8: .4byte gScreenTransition -_080588EC: - adds r0, r4, #0 - bl sub_080588F8 -_080588F2: - pop {r4, pc} - - thumb_func_start nullsub_108 -nullsub_108: @ 0x080588F4 - bx lr - .align 2, 0 - - thumb_func_start sub_080588F8 -sub_080588F8: @ 0x080588F8 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xf] - cmp r0, #0 - bne _08058952 - movs r0, #0x26 - ldrsh r2, [r4, r0] - ldr r0, [r4, #0x28] - subs r1, r0, r2 - cmp r1, #0 - blt _08058914 - cmp r1, #8 - bhi _0805891A - b _08058968 -_08058914: - subs r0, r2, r0 - cmp r0, #8 - bls _08058968 -_0805891A: - ldr r0, _08058934 @ =0x00001234 - str r0, [r4, #0x28] - movs r2, #0x26 - ldrsh r1, [r4, r2] - ldr r0, _08058938 @ =0x0000FFFE - ands r1, r0 - cmp r1, #0xa0 - beq _08058940 - cmp r1, #0xa0 - bgt _0805893C - cmp r1, #0x48 - beq _08058940 - b _08058968 - .align 2, 0 -_08058934: .4byte 0x00001234 -_08058938: .4byte 0x0000FFFE -_0805893C: - cmp r1, #0xf0 - bne _08058968 -_08058940: - movs r3, #0x26 - ldrsh r0, [r4, r3] - str r0, [r4, #0x28] - movs r0, #0x2d - strb r0, [r4, #0xf] - movs r0, #0x8c - bl PlaySFX - b _08058968 -_08058952: - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x29 - bls _08058964 - ldr r0, [r4, #0x28] - subs r0, #2 - b _08058966 -_08058964: - ldr r0, [r4, #0x28] -_08058966: - strh r0, [r4, #0x26] -_08058968: - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _080589DE - ldr r0, _080589A4 @ =gPlayerEntity - movs r2, #0x32 - ldrsh r1, [r0, r2] - ldr r0, _080589A8 @ =gRoomControls - ldrh r0, [r0, #8] - subs r2, r1, r0 - adds r1, r2, #0 - subs r1, #0x50 - cmp r1, #0 - bge _08058986 - movs r1, #0x50 - subs r1, r1, r2 -_08058986: - lsrs r1, r1, #3 - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #0xc - movs r3, #0x80 - lsls r3, r3, #7 - adds r1, r0, r3 - ldrb r0, [r4, #0xf] - cmp r0, #0 - bne _080589DE - cmp r2, #0x48 - bgt _080589AC - ldr r0, [r4, #0x24] - subs r0, r0, r1 - b _080589B4 - .align 2, 0 -_080589A4: .4byte gPlayerEntity -_080589A8: .4byte gRoomControls -_080589AC: - cmp r2, #0x57 - ble _080589B6 - ldr r0, [r4, #0x24] - adds r0, r0, r1 -_080589B4: - str r0, [r4, #0x24] -_080589B6: - ldr r2, [r4, #0x2c] - ldr r0, [r4, #0x24] - subs r1, r2, r0 - adds r3, r0, #0 - cmp r1, #0 - blt _080589CC - movs r0, #0x80 - lsls r0, r0, #0xd - cmp r1, r0 - bhi _080589D6 - b _080589DE -_080589CC: - subs r1, r3, r2 - movs r0, #0x80 - lsls r0, r0, #0xd - cmp r1, r0 - bls _080589DE -_080589D6: - str r3, [r4, #0x2c] - movs r0, #0x8b - bl PlaySFX -_080589DE: - movs r0, #0x26 - ldrsh r1, [r4, r0] - str r1, [r4, #0x20] - cmp r1, #0 - bge _080589F0 - ldr r0, _080589EC @ =0x000001FF - b _080589F8 - .align 2, 0 -_080589EC: .4byte 0x000001FF -_080589F0: - ldr r0, _08058A00 @ =0x000001FF - cmp r1, r0 - ble _080589FC - movs r0, #0 -_080589F8: - str r0, [r4, #0x20] - strh r0, [r4, #0x26] -_080589FC: - pop {r4, pc} - .align 2, 0 -_08058A00: .4byte 0x000001FF - - thumb_func_start sub_08058A04 -sub_08058A04: @ 0x08058A04 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r4, r0, #0 - ldr r6, _08058A68 @ =gPlayerEntity - movs r0, #0x2e - ldrsh r1, [r6, r0] - ldr r7, _08058A6C @ =gRoomControls - ldrh r0, [r7, #6] - subs r1, r1, r0 - mov r8, r1 - movs r0, #0x32 - ldrsh r1, [r6, r0] - ldrh r0, [r7, #8] - subs r5, r1, r0 - ldr r0, [r4, #0x20] - ldr r1, _08058A70 @ =0xFFFFFEE8 - adds r0, r0, r1 - cmp r0, #0xc - bhi _08058A78 - movs r0, #0x17 - bl CheckGlobalFlag - cmp r0, #0 - beq _08058A78 - mov r0, r8 - subs r0, #0x6d - cmp r0, #0x16 - bhi _08058A78 - adds r0, r5, #0 - subs r0, #0x45 - cmp r0, #0x16 - bhi _08058A78 - movs r0, #0x36 - ldrsh r2, [r6, r0] - cmp r2, #0 - bne _08058A78 - ldr r0, _08058A74 @ =gPlayerState - movs r1, #3 - strb r1, [r0, #0xc] - adds r0, #0x38 - strb r2, [r0] - ldrh r0, [r7, #6] - adds r0, #0x78 - strh r0, [r6, #0x2e] - ldrh r0, [r7, #8] - adds r0, #0x50 - strh r0, [r6, #0x32] - b _08058AFC - .align 2, 0 -_08058A68: .4byte gPlayerEntity -_08058A6C: .4byte gRoomControls -_08058A70: .4byte 0xFFFFFEE8 -_08058A74: .4byte gPlayerState -_08058A78: - mov r1, r8 - cmp r1, #0x77 - bgt _08058AC0 - cmp r5, #0x4f - bgt _08058AA0 - ldr r3, _08058A9C @ =gUnk_08108228 - adds r0, r4, #0 - movs r1, #0x88 - movs r2, #0xb0 - bl sub_08058B08 - cmp r0, #0 - beq _08058AFC - adds r0, r4, #0 - movs r1, #0 - bl sub_08058B5C - b _08058AFC - .align 2, 0 -_08058A9C: .4byte gUnk_08108228 -_08058AA0: - ldr r3, _08058ABC @ =gUnk_08108258 - adds r0, r4, #0 - movs r1, #0x38 - movs r2, #0x60 - bl sub_08058B08 - cmp r0, #0 - beq _08058AFC - adds r0, r4, #0 - movs r1, #1 - bl sub_08058B5C - b _08058AFC - .align 2, 0 -_08058ABC: .4byte gUnk_08108258 -_08058AC0: - cmp r5, #0x4f - bgt _08058AE4 - movs r2, #0x84 - lsls r2, r2, #1 - ldr r3, _08058AE0 @ =gUnk_08108288 - adds r0, r4, #0 - movs r1, #0xe0 - bl sub_08058B08 - cmp r0, #0 - beq _08058AFC - adds r0, r4, #0 - movs r1, #2 - bl sub_08058B5C - b _08058AFC - .align 2, 0 -_08058AE0: .4byte gUnk_08108288 -_08058AE4: - ldr r3, _08058B04 @ =gUnk_081082B8 - adds r0, r4, #0 - movs r1, #0x90 - movs r2, #0xb8 - bl sub_08058B08 - cmp r0, #0 - beq _08058AFC - adds r0, r4, #0 - movs r1, #3 - bl sub_08058B5C -_08058AFC: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08058B04: .4byte gUnk_081082B8 - - thumb_func_start sub_08058B08 -sub_08058B08: @ 0x08058B08 - push {r4, r5, lr} - adds r4, r3, #0 - ldr r0, [r0, #0x20] - cmp r0, r1 - blo _08058B16 - cmp r0, r2 - bls _08058B1A -_08058B16: - movs r0, #0 - b _08058B50 -_08058B1A: - subs r0, r0, r1 - lsrs r0, r0, #3 - lsls r0, r0, #3 - adds r4, r4, r0 - ldr r3, _08058B54 @ =gPlayerEntity - movs r0, #0x2e - ldrsh r2, [r3, r0] - ldr r1, _08058B58 @ =gRoomControls - ldrh r0, [r1, #6] - subs r2, r2, r0 - ldrh r0, [r4] - subs r2, r2, r0 - movs r5, #0x32 - ldrsh r0, [r3, r5] - ldrh r1, [r1, #8] - subs r0, r0, r1 - ldrh r1, [r4, #2] - subs r0, r0, r1 - movs r1, #0 - ldrh r3, [r4, #4] - cmp r2, r3 - bhs _08058B4E - ldrh r4, [r4, #6] - cmp r0, r4 - bhs _08058B4E - movs r1, #1 -_08058B4E: - adds r0, r1, #0 -_08058B50: - pop {r4, r5, pc} - .align 2, 0 -_08058B54: .4byte gPlayerEntity -_08058B58: .4byte gRoomControls - - thumb_func_start sub_08058B5C -sub_08058B5C: @ 0x08058B5C - push {r4, r5, lr} - ldr r3, _08058BB4 @ =gScreenTransition - movs r0, #0 - movs r4, #1 - strb r4, [r3, #8] - strb r0, [r3, #9] - movs r5, #4 - movs r0, #4 - strb r0, [r3, #0xf] - ldr r0, _08058BB8 @ =gRoomControls - ldrb r0, [r0, #4] - strb r0, [r3, #0xc] - movs r0, #6 - strb r0, [r3, #0xd] - adds r2, r1, #0 - ands r2, r4 - rsbs r0, r2, #0 - orrs r0, r2 - asrs r0, r0, #0x1f - ands r0, r5 - strb r0, [r3, #0xe] - ldr r4, _08058BBC @ =gUnk_081082E8 - lsls r2, r1, #1 - adds r2, r2, r1 - lsls r0, r2, #1 - adds r0, r0, r4 - ldrh r0, [r0] - strh r0, [r3, #0x10] - adds r0, r2, #1 - lsls r0, r0, #1 - adds r0, r0, r4 - ldrh r0, [r0] - strh r0, [r3, #0x12] - ldr r1, _08058BC0 @ =gUnk_02002A40 - adds r2, #2 - lsls r2, r2, #1 - adds r2, r2, r4 - ldrh r0, [r2] - strb r0, [r1, #7] - ldr r0, _08058BC4 @ =0x00000121 - bl PlaySFX - pop {r4, r5, pc} - .align 2, 0 -_08058BB4: .4byte gScreenTransition -_08058BB8: .4byte gRoomControls -_08058BBC: .4byte gUnk_081082E8 -_08058BC0: .4byte gUnk_02002A40 -_08058BC4: .4byte 0x00000121 - - thumb_func_start sub_08058BC8 -sub_08058BC8: @ 0x08058BC8 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - sub sp, #0x14 - mov sb, r0 - ldr r0, _08058C9C @ =gUnk_03003DE4 - ldrb r1, [r0] - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #9 - ldr r1, _08058CA0 @ =gUnk_02017AA0 - adds r4, r0, r1 - movs r0, #0x80 - lsls r0, r0, #9 - str r0, [sp] - mov r1, sp - movs r2, #0 - movs r0, #0x78 - strh r0, [r1, #8] - movs r0, #0x80 - strh r0, [r1, #0xa] - mov r0, sp - strh r2, [r0, #0x10] - movs r1, #0x80 - lsls r1, r1, #1 - strh r1, [r0, #0xe] - strh r1, [r0, #0xc] - movs r5, #0 - mov r6, sp - ldr r0, _08058CA4 @ =gSineTable - mov r8, r0 - adds r7, r1, #0 -_08058C0A: - lsls r0, r5, #7 - movs r1, #0xa0 - bl __divsi3 - movs r1, #0xff - ands r0, r1 - lsls r1, r0, #1 - add r1, r8 - movs r3, #0 - ldrsh r2, [r1, r3] - lsls r1, r2, #1 - adds r1, r1, r2 - asrs r1, r1, #2 - adds r1, r1, r7 - strh r1, [r6, #0xc] - lsls r0, r0, #2 - add r0, r8 - movs r1, #0 - ldrsh r0, [r0, r1] - asrs r0, r0, #4 - subs r0, r7, r0 - strh r0, [r6, #0xe] - mov r3, sb - ldr r0, [r3, #0x20] - adds r0, r0, r5 - lsls r0, r0, #8 - str r0, [sp, #4] - mov r0, sp - adds r1, r4, #0 - movs r2, #1 - bl BgAffineSet - adds r4, #0x10 - adds r5, #1 - cmp r5, #0x9f - bls _08058C0A - ldr r0, _08058C9C @ =gUnk_03003DE4 - ldrb r1, [r0] - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #9 - ldr r1, _08058CA8 @ =gUnk_02017BA0 - adds r4, r0, r1 - ldr r2, _08058CAC @ =gScreen - ldrh r0, [r4] - strh r0, [r2, #0x38] - ldrh r0, [r4, #2] - strh r0, [r2, #0x3a] - ldrh r0, [r4, #4] - strh r0, [r2, #0x3c] - ldrh r0, [r4, #6] - strh r0, [r2, #0x3e] - ldrh r1, [r4, #8] - adds r0, r2, #0 - adds r0, #0x40 - strh r1, [r0] - ldrh r0, [r4, #0xa] - adds r1, r2, #0 - adds r1, #0x42 - strh r0, [r1] - ldrh r1, [r4, #0xc] - adds r0, r2, #0 - adds r0, #0x44 - strh r1, [r0] - ldrh r1, [r4, #0xe] - adds r0, #2 - strh r1, [r0] - add sp, #0x14 - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08058C9C: .4byte gUnk_03003DE4 -_08058CA0: .4byte gUnk_02017AA0 -_08058CA4: .4byte gSineTable -_08058CA8: .4byte gUnk_02017BA0 -_08058CAC: .4byte gScreen - - thumb_func_start sub_08058CB0 -sub_08058CB0: @ 0x08058CB0 - push {r4, lr} - adds r4, r0, #0 - ldr r2, _08058CD8 @ =gPlayerEntity - movs r0, #0x2e - ldrsh r1, [r2, r0] - ldr r3, _08058CDC @ =gRoomControls - ldrh r0, [r3, #6] - subs r1, r1, r0 - movs r0, #0x32 - ldrsh r2, [r2, r0] - ldrh r0, [r3, #8] - subs r2, r2, r0 - cmp r1, #0x77 - bhi _08058CE0 - movs r1, #1 - cmp r2, #0x4f - bhi _08058CE8 - movs r1, #0 - b _08058CE8 - .align 2, 0 -_08058CD8: .4byte gPlayerEntity -_08058CDC: .4byte gRoomControls -_08058CE0: - movs r1, #3 - cmp r2, #0x4f - bhi _08058CE8 - movs r1, #2 -_08058CE8: - ldr r0, _08058CF8 @ =gUnk_08108300 - lsls r1, r1, #1 - adds r1, r1, r0 - ldrh r0, [r1] - str r0, [r4, #0x20] - strh r0, [r4, #0x26] - pop {r4, pc} - .align 2, 0 -_08058CF8: .4byte gUnk_08108300 - - thumb_func_start sub_08058CFC -sub_08058CFC: @ 0x08058CFC - push {r4, r5, lr} - ldr r5, _08058D2C @ =gPlayerEntity - movs r1, #0x32 - ldrsh r0, [r5, r1] - ldr r1, _08058D30 @ =gRoomControls - movs r2, #0xc - ldrsh r1, [r1, r2] - subs r4, r0, r1 - cmp r4, #0x4b - bhi _08058D1A - adds r0, r5, #0 - movs r1, #0xc0 - movs r2, #0x10 - bl sub_080044AE -_08058D1A: - cmp r4, #0x54 - bls _08058D28 - adds r0, r5, #0 - movs r1, #0xc0 - movs r2, #0 - bl sub_080044AE -_08058D28: - pop {r4, r5, pc} - .align 2, 0 -_08058D2C: .4byte gPlayerEntity -_08058D30: .4byte gRoomControls - - thumb_func_start sub_08058D34 -sub_08058D34: @ 0x08058D34 - push {r4, lr} - movs r0, #0x28 - bl LoadPaletteGroup - ldr r0, _08058DAC @ =gUnk_02017700 - movs r2, #0x90 - lsls r2, r2, #2 - adds r1, r0, r2 - movs r2, #0x20 - bl _DmaCopy - ldr r2, _08058DB0 @ =gUsedPalettes - ldr r0, [r2] - movs r1, #0x80 - lsls r1, r1, #0xe - orrs r0, r1 - str r0, [r2] - movs r0, #0x16 - bl LoadGfxGroup - ldr r1, _08058DB4 @ =gScreen - ldrh r0, [r1] - movs r3, #0 - movs r2, #1 - movs r4, #0 - orrs r0, r2 - strh r0, [r1] - ldr r0, _08058DB8 @ =0x0000BC82 - strh r0, [r1, #0x20] - ldr r0, _08058DBC @ =0x00005E86 - strh r0, [r1, #0x14] - strh r3, [r1, #0x16] - strh r3, [r1, #0x18] - adds r2, r1, #0 - adds r2, #0x66 - ldr r0, _08058DC0 @ =0x00003456 - strh r0, [r2] - adds r1, #0x68 - ldr r0, _08058DC4 @ =0x00000909 - strh r0, [r1] - ldr r0, _08058DC8 @ =gArea - movs r2, #0x86 - lsls r2, r2, #4 - adds r1, r0, r2 - adds r2, #4 - adds r0, r0, r2 - ldr r0, [r0] - str r0, [r1] - ldr r0, _08058DCC @ =gUnk_02000070 - strb r4, [r0] - movs r0, #0x17 - bl CheckGlobalFlag - cmp r0, #0 - beq _08058DA8 - movs r0, #0x4a - bl LoadGfxGroup -_08058DA8: - pop {r4, pc} - .align 2, 0 -_08058DAC: .4byte gUnk_02017700 -_08058DB0: .4byte gUsedPalettes -_08058DB4: .4byte gScreen -_08058DB8: .4byte 0x0000BC82 -_08058DBC: .4byte 0x00005E86 -_08058DC0: .4byte 0x00003456 -_08058DC4: .4byte 0x00000909 -_08058DC8: .4byte gArea -_08058DCC: .4byte gUnk_02000070 diff --git a/asm/non_matching/managerC/sub_08058D34.inc b/asm/non_matching/managerC/sub_08058D34.inc new file mode 100644 index 00000000..9749bb14 --- /dev/null +++ b/asm/non_matching/managerC/sub_08058D34.inc @@ -0,0 +1,66 @@ +sub_08058D34: @ 0x08058D34 + push {r4, lr} + mov r0, #0x28 + bl LoadPaletteGroup + ldr r0, _08058DAC @ =gUnk_02017700 + mov r2, #0x90 + lsl r2, r2, #0x2 + add r1, r0, r2 + mov r2, #0x20 + bl _DmaCopy + ldr r2, _08058DB0 @ =gUsedPalettes + ldr r0, [r2] + mov r1, #0x80 + lsl r1, r1, #0xe + orr r0, r0, r1 + str r0, [r2] + mov r0, #0x16 + bl LoadGfxGroup + ldr r1, _08058DB4 @ =gScreen + ldrh r0, [r1] + mov r3, #0 + mov r2, #0x1 + mov r4, #0 + orr r0, r0, r2 + strh r0, [r1] + ldr r0, _08058DB8 @ =0x0000BC82 + strh r0, [r1, #0x20] + ldr r0, _08058DBC @ =0x00005E86 + strh r0, [r1, #0x14] + strh r3, [r1, #0x16] + strh r3, [r1, #0x18] + add r2, r1, #0 + add r2, r2, #0x66 + ldr r0, _08058DC0 @ =0x00003456 + strh r0, [r2] + add r1, r1, #0x68 + ldr r0, _08058DC4 @ =0x00000909 + strh r0, [r1] + ldr r0, _08058DC8 @ =gArea + mov r2, #0x86 + lsl r2, r2, #0x4 + add r1, r0, r2 + add r2, r2, #0x4 + add r0, r0, r2 + ldr r0, [r0] + str r0, [r1] + ldr r0, _08058DCC @ =gUnk_02000070 + strb r4, [r0] + mov r0, #0x17 + bl CheckGlobalFlag + cmp r0, #0 + beq _08058DA8 + mov r0, #0x4a + bl LoadGfxGroup +_08058DA8: + pop {r4, pc} +.align 2,0 +_08058DAC: .4byte gUnk_02017700 +_08058DB0: .4byte gUsedPalettes +_08058DB4: .4byte gScreen +_08058DB8: .4byte 0x0000BC82 +_08058DBC: .4byte 0x00005E86 +_08058DC0: .4byte 0x00003456 +_08058DC4: .4byte 0x00000909 +_08058DC8: .4byte gArea +_08058DCC: .4byte gUnk_02000070 diff --git a/linker.ld b/linker.ld index 096fd008..0d74b4e1 100644 --- a/linker.ld +++ b/linker.ld @@ -482,7 +482,7 @@ SECTIONS { src/manager/manager9.o(.text); src/manager/managerA.o(.text); src/manager/managerB.o(.text); - asm/managerC.o(.text); + src/manager/managerC.o(.text); asm/managerD.o(.text); src/manager/managerE.o(.text); asm/managerF.o(.text); diff --git a/src/manager/managerC.c b/src/manager/managerC.c new file mode 100644 index 00000000..b2f4ae72 --- /dev/null +++ b/src/manager/managerC.c @@ -0,0 +1,280 @@ +#include "global.h" +#include "manager.h" +#include "flags.h" +#include "structures.h" +#include "room.h" +#include "area.h" +#include "screen.h" +#include "trig.h" +#include "functions.h" + + +typedef struct { + Manager manager; + s32 unk_20; + union SplitWord unk_24; + u32 unk_28; + u32 unk_2c; + u8 unk_30[0x10]; +} ManagerC; + +typedef struct { + u16 unk_0; + u16 unk_2; + u16 unk_4; + u16 unk_6; +} struct_08108228; + +extern void (* const gUnk_0810821C[])(ManagerC*); +extern const struct_08108228 gUnk_08108228[]; +extern const struct_08108228 gUnk_08108258[]; +extern const struct_08108228 gUnk_08108288[]; +extern const struct_08108228 gUnk_081082B8[]; +extern const u16 gUnk_081082E8[]; +extern const u16 gUnk_08108300[]; + +void sub_08058BC8(ManagerC*); +void sub_08058CB0(ManagerC*); +void sub_08058CFC(void); +void sub_08058A04(ManagerC*); +void sub_080588F8(ManagerC*); +u32 sub_08058B08(ManagerC*, u32, u32, const struct_08108228*); +void sub_08058B5C(ManagerC*, u32); + +void sub_08058D34(void); + +extern void sub_0805622C(struct BgAffineDstData*, u32, u32); +extern void sub_08052D74(void*, void*, void*); +extern void sub_080044AE(Entity*, u32, u32); +extern void _DmaCopy(const void* src, void* dest, u32 size); + +extern u8 gUnk_03003DE4[0xC]; + +extern struct BgAffineDstData gUnk_02017AA0[]; +extern struct BgAffineDstData gUnk_02017BA0[]; +extern u8 gUnk_02017700[]; +extern u8 gUnk_02000070; +extern u32 gUsedPalettes; + +void sub_0805884C(ManagerC* this) { + u32 tmp; + gUnk_0810821C[this->manager.action](this); + sub_08058BC8(this); + sub_0805622C(&gUnk_02017AA0[gUnk_03003DE4[0] * 0xA0], 0x04000020, 0xA2600008); +} +void sub_08058894(ManagerC* this) { + this->manager.action = 1; + this->unk_28 = 0x1234; + this->manager.unk_0e = CheckLocalFlags(0x15, 0x2) != 0; + sub_08058CB0(this); + sub_08052D74(this, sub_08058D34, 0); +} + +void sub_080588CC(ManagerC* this) { + sub_08058CFC(); + sub_08058A04(this); + if (gScreenTransition.transitioningOut) { + this->manager.action = 2; + } else { + sub_080588F8(this); + } +} + +void nullsub_108(ManagerC* this) {} + +#define ABS_DIFF_GT(a, b, c) (signed) a - b >= 0 ? a - b > c : b - a > c + +void sub_080588F8(ManagerC* this) { + if (this->manager.unk_0f == 0) { + if (ABS_DIFF_GT(this->unk_28, this->unk_24.HALF.HI, 8)) { + this->unk_28 = 0x1234; + switch (this->unk_24.HALF.HI & 0xFFFE) { + case 0x48: + case 0xa0: + case 0xf0: + this->unk_28 = this->unk_24.HALF.HI; + this->manager.unk_0f = 0x2D; + PlaySFX(0x8c); + } + } + } else { + this->manager.unk_0f--; + if (this->manager.unk_0f > 0x29) { + this->unk_24.HALF.HI = this->unk_28 - 2; + } else { + this->unk_24.HALF.HI = this->unk_28; + } + } + if (this->manager.unk_0e) { + s32 tmp = gPlayerEntity.y.HALF.HI - gRoomControls.roomOriginY; + u32 tmp2; + tmp2 = (((unsigned)(tmp - 0x50 < 0 ? 0x50 - tmp : tmp - 0x50) >> 3) * 0x3000) + 0x4000; + if (this->manager.unk_0f == 0) { + if (tmp < 0x49) { + this->unk_24.WORD -= tmp2; + } else if (tmp > 0x57) { + this->unk_24.WORD += tmp2; + } + if (ABS_DIFF_GT(this->unk_2c, this->unk_24.WORD, 0x100000)) { + this->unk_2c = this->unk_24.WORD; + PlaySFX(0x8b); + } + } + } + if ((this->unk_20 = this->unk_24.HALF.HI) < 0) { + this->unk_20 = 0x1FF; + this->unk_24.HALF.HI = 0x1FF; + } else if (this->unk_20 > 0x1FF) { + this->unk_20 = 0; + this->unk_24.HALF.HI = 0; + } +} + +void sub_08058A04(ManagerC* this) { + s32 tmp = gPlayerEntity.x.HALF.HI - gRoomControls.roomOriginX; + s32 tmp2 = gPlayerEntity.y.HALF.HI - gRoomControls.roomOriginY; + if ((this->unk_20 - 0x118 < 0xDu) && + CheckGlobalFlag(LV1TARU_OPEN) && + (tmp - 0x6d < 0x17u) && + (tmp2 - 0x45 < 0x17u) && + (gPlayerEntity.height.HALF.HI == 0)) { + gPlayerState.playerAction = 3; + gPlayerState.field_0x38 = 0; + gPlayerEntity.x.HALF.HI = gRoomControls.roomOriginX + 0x78; + gPlayerEntity.y.HALF.HI = gRoomControls.roomOriginY + 0x50; + return; + } + if (tmp < 0x78) { + if (tmp2 < 0x50) { + if (sub_08058B08(this, 0x88, 0xB0, gUnk_08108228)) { + sub_08058B5C(this, 0); + } + } else { + if (sub_08058B08(this, 0x38, 0x60, gUnk_08108258)) { + sub_08058B5C(this, 1); + } + } + } else { + if (tmp2 < 0x50) { + if (sub_08058B08(this, 0xE0, 0x108, gUnk_08108288)) { + sub_08058B5C(this, 2); + } + } else { + if (sub_08058B08(this, 0x90, 0xB8, gUnk_081082B8)) { + sub_08058B5C(this, 3); + } + } + } +} + +u32 sub_08058B08(ManagerC* this, u32 unk1, u32 unk2, const struct_08108228* unk3) { + u32 tmp = this->unk_20; + if (tmp < unk1 || tmp > unk2) { + return 0; + } else { + u32 tmp2, tmp3; + tmp -= unk1; + tmp >>= 3; + unk3 += tmp; + tmp2 = (gPlayerEntity.x.HALF.HI - gRoomControls.roomOriginX - unk3->unk_0); + tmp3 = (gPlayerEntity.y.HALF.HI - gRoomControls.roomOriginY - unk3->unk_2); + return ((tmp2 < unk3->unk_4) && (tmp3 < unk3->unk_6)); + } +} + +void sub_08058B5C(ManagerC* this, u32 unk1) { + gScreenTransition.transitioningOut = 1; + gScreenTransition.transitionType = 0; + gScreenTransition.field_0xf = 4; + gScreenTransition.areaID = gRoomControls.areaID; + gScreenTransition.roomID = 6; + gScreenTransition.playerState = unk1 & 1 ? 4 : 0; + gScreenTransition.playerStartPos.HALF.x = gUnk_081082E8[unk1*3]; + gScreenTransition.playerStartPos.HALF.y = gUnk_081082E8[unk1*3+1]; + gUnk_02002A40.unk7 = gUnk_081082E8[unk1*3+2]; + PlaySFX(0x121); +} + +void sub_08058BC8(ManagerC* this) { + struct BgAffineDstData * tmp = &gUnk_02017AA0[gUnk_03003DE4[0]*0xA0]; + struct BgAffineSrcData tmp2; + s32 tmp3; + tmp2.texX = 0x10000; + tmp2.scrX = 0x78; + tmp2.scrY = 0x80; + tmp2.alpha = 0; + tmp2.sy = 0x100; + tmp2.sx = 0x100; + tmp3 = 0; + do { + u32 indx = ((tmp3 << 7) / 0xA0) & 0xFF; + tmp2.sx = 0x100 + ((gSineTable[indx] * 3) >> 2); + tmp2.sy = 0x100 - ((gSineTable[indx * 2] * 2) >> 5);//yes, it makes no sense to multiply first and then shift right, but it's matching this way + tmp2.texY = (this->unk_20 + tmp3) << 8; + BgAffineSet(&tmp2, tmp, 1); + tmp++; + } while (++tmp3<0xA0u); + tmp = &gUnk_02017BA0[gUnk_03003DE4[0]*0xA0]; + gScreen.controls.bg2dx = tmp->pa; + gScreen.controls.bg2dmx = tmp->pb; + gScreen.controls.bg2dy = tmp->pc; + gScreen.controls.bg2dmy = tmp->pd; + gScreen.controls.bg2xPointLeastSig = ((union SplitWord *) &tmp->dx)->HALF.LO; + gScreen.controls.bg2xPointMostSig = ((union SplitWord *) &tmp->dx)->HALF.HI; + gScreen.controls.bg2yPointLeastSig = ((union SplitWord *) &tmp->dy)->HALF.LO; + gScreen.controls.bg2yPointMostSig = ((union SplitWord *) &tmp->dy)->HALF.HI; +} + +void sub_08058CB0(ManagerC* this) { + u32 tmp = gPlayerEntity.x.HALF.HI - gRoomControls.roomOriginX; + u32 tmp2 = gPlayerEntity.y.HALF.HI - gRoomControls.roomOriginY; + u32 tmp3; + if (tmp < 0x78) { + tmp3 = 1; + if (tmp2 < 0x50) { + tmp3 = 0; + } + } else { + tmp3 = 3; + if (tmp2 < 0x50) { + tmp3 = 2; + } + } + this->unk_24.HALF.HI = this->unk_20 = gUnk_08108300[tmp3]; +} + +void sub_08058CFC() { + u32 tmp = gPlayerEntity.y.HALF.HI - gRoomControls.roomScrollY; + if (tmp < 0x4C) { + sub_080044AE(&gPlayerEntity, 0xC0, 0x10); + } + if (tmp > 0x54) { + sub_080044AE(&gPlayerEntity, 0xC0, 0); + } +} + +#ifdef NON_MATCHING +void sub_08058D34() { + LoadPaletteGroup(0x28); + _DmaCopy(gUnk_02017700, gUnk_02017700 + 0x240, 0x20); + gUsedPalettes |= 0x200000; + LoadGfxGroup(0x16); + gScreen.lcd.displayControl |= 1; + gScreen.affine.bg2Control = 0xBC82; + gScreen.bg.bg1xOffset = 0x5E86; + gScreen.bg.bg1yOffset = 0; + gScreen.bg.bg2xOffset = 0; + gScreen.controls.layerFXControl = 0x3456; + gScreen.controls.alphaBlend = 0x909; + gArea.musicIndex = gArea.pMusicIndex; + gUnk_02000070 = 0; + if (CheckGlobalFlag(LV1TARU_OPEN)) { + LoadGfxGroup(0x4A); + } +} +#else +NAKED +void sub_08058D34() { + asm(".include \"asm/non_matching/managerC/sub_08058D34.inc\""); +} +#endif From e7a185298c8833d9124b8d02719cb76b134e81f5 Mon Sep 17 00:00:00 2001 From: Ibot02 Date: Fri, 4 Dec 2020 16:34:12 +0100 Subject: [PATCH 022/101] managerC.c: split out rodata --- data/{data_0810821C.s => data_08108308.s} | 21 ------- linker.ld | 3 +- src/manager/managerC.c | 72 ++++++++++++++++++++--- 3 files changed, 66 insertions(+), 30 deletions(-) rename data/{data_0810821C.s => data_08108308.s} (99%) diff --git a/data/data_0810821C.s b/data/data_08108308.s similarity index 99% rename from data/data_0810821C.s rename to data/data_08108308.s index c0cae962..2b089c8a 100644 --- a/data/data_0810821C.s +++ b/data/data_08108308.s @@ -4,27 +4,6 @@ .section .rodata .align 2 -gUnk_0810821C:: @ 0810821C - .incbin "baserom.gba", 0x10821C, 0x000000C - -gUnk_08108228:: @ 08108228 - .incbin "baserom.gba", 0x108228, 0x0000030 - -gUnk_08108258:: @ 08108258 - .incbin "baserom.gba", 0x108258, 0x0000030 - -gUnk_08108288:: @ 08108288 - .incbin "baserom.gba", 0x108288, 0x0000030 - -gUnk_081082B8:: @ 081082B8 - .incbin "baserom.gba", 0x1082B8, 0x0000030 - -gUnk_081082E8:: @ 081082E8 - .incbin "baserom.gba", 0x1082E8, 0x0000018 - -gUnk_08108300:: @ 08108300 - .incbin "baserom.gba", 0x108300, 0x0000008 - gUnk_08108308:: @ 08108308 .incbin "baserom.gba", 0x108308, 0x000000C diff --git a/linker.ld b/linker.ld index 0d74b4e1..c4f356a6 100644 --- a/linker.ld +++ b/linker.ld @@ -1002,7 +1002,8 @@ SECTIONS { src/manager/manager9.o(.rodata); src/manager/managerA.o(.rodata); src/manager/managerB.o(.rodata); - data/data_0810821C.o(.rodata); + src/manager/managerC.o(.rodata); + data/data_08108308.o(.rodata); src/item.o(.rodata); data/data_0811BD44.o(.rodata); data/room_headers.o(.rodata); diff --git a/src/manager/managerC.c b/src/manager/managerC.c index b2f4ae72..b2571591 100644 --- a/src/manager/managerC.c +++ b/src/manager/managerC.c @@ -25,13 +25,13 @@ typedef struct { u16 unk_6; } struct_08108228; -extern void (* const gUnk_0810821C[])(ManagerC*); -extern const struct_08108228 gUnk_08108228[]; -extern const struct_08108228 gUnk_08108258[]; -extern const struct_08108228 gUnk_08108288[]; -extern const struct_08108228 gUnk_081082B8[]; -extern const u16 gUnk_081082E8[]; -extern const u16 gUnk_08108300[]; +void (* const gUnk_0810821C[])(ManagerC*); +const struct_08108228 gUnk_08108228[6]; +const struct_08108228 gUnk_08108258[6]; +const struct_08108228 gUnk_08108288[6]; +const struct_08108228 gUnk_081082B8[6]; +const u16 gUnk_081082E8[0xC]; +const u16 gUnk_08108300[4]; void sub_08058BC8(ManagerC*); void sub_08058CB0(ManagerC*); @@ -40,7 +40,6 @@ void sub_08058A04(ManagerC*); void sub_080588F8(ManagerC*); u32 sub_08058B08(ManagerC*, u32, u32, const struct_08108228*); void sub_08058B5C(ManagerC*, u32); - void sub_08058D34(void); extern void sub_0805622C(struct BgAffineDstData*, u32, u32); @@ -56,6 +55,16 @@ extern u8 gUnk_02017700[]; extern u8 gUnk_02000070; extern u32 gUsedPalettes; +void sub_08058894(ManagerC*); +void sub_080588CC(ManagerC*); +void nullsub_108(ManagerC*); + +void (* const gUnk_0810821C[])(ManagerC*) = { + sub_08058894, + sub_080588CC, + nullsub_108 +}; + void sub_0805884C(ManagerC* this) { u32 tmp; gUnk_0810821C[this->manager.action](this); @@ -130,6 +139,42 @@ void sub_080588F8(ManagerC* this) { } } +const struct_08108228 gUnk_08108228[6] = { + {0x40, 0x2A, 0x1C, 0x10}, + {0x3C, 0x24, 0x1C, 0x12}, + {0x3C, 0x1C, 0x1A, 0x18}, + {0x38, 0x16, 0x1C, 0x16}, + {0x34, 0x16, 0x1E, 0x0E}, + {0x30, 0x16, 0x20, 0x0A} +}; + +const struct_08108228 gUnk_08108258[6] = { + {0x30, 0x88, 0x20, 0x0A}, + {0x34, 0x7E, 0x1E, 0x12}, + {0x38, 0x78, 0x1A, 0x16}, + {0x3A, 0x70, 0x1A, 0x18}, + {0x3C, 0x64, 0x1E, 0x1E}, + {0x3E, 0x6A, 0x1C, 0x10} +}; + +const struct_08108228 gUnk_08108288[6] = { + {0x98, 0x2A, 0x1C, 0x10}, + {0x98, 0x24, 0x1C, 0x12}, + {0x9C, 0x1C, 0x1A, 0x18}, + {0x9C, 0x16, 0x1C, 0x16}, + {0xA0, 0x16, 0x1E, 0x0E}, + {0xA0, 0x16, 0x20, 0x0A} +}; + +const struct_08108228 gUnk_081082B8[6] = { + {0xA0, 0x88, 0x20, 0x0A}, + {0x9E, 0x7E, 0x1E, 0x12}, + {0x9C, 0x78, 0x1A, 0x16}, + {0x9A, 0x70, 0x1A, 0x18}, + {0x98, 0x64, 0x1E, 0x1E}, + {0x98, 0x6A, 0x1C, 0x10} +}; + void sub_08058A04(ManagerC* this) { s32 tmp = gPlayerEntity.x.HALF.HI - gRoomControls.roomOriginX; s32 tmp2 = gPlayerEntity.y.HALF.HI - gRoomControls.roomOriginY; @@ -182,6 +227,13 @@ u32 sub_08058B08(ManagerC* this, u32 unk1, u32 unk2, const struct_08108228* unk3 } } +const u16 gUnk_081082E8[0xC] = { + 0xB8, 0x80, 0x0, + 0xB8, 0x110, 0x2, + 0x118, 0x80, 0x2, + 0x118, 0x110, 0x0 +}; + void sub_08058B5C(ManagerC* this, u32 unk1) { gScreenTransition.transitioningOut = 1; gScreenTransition.transitionType = 0; @@ -225,6 +277,10 @@ void sub_08058BC8(ManagerC* this) { gScreen.controls.bg2yPointMostSig = ((union SplitWord *) &tmp->dy)->HALF.HI; } +const u16 gUnk_08108300[4] = { + 0xA4, 0x4C, 0xF4, 0x9C +}; + void sub_08058CB0(ManagerC* this) { u32 tmp = gPlayerEntity.x.HALF.HI - gRoomControls.roomOriginX; u32 tmp2 = gPlayerEntity.y.HALF.HI - gRoomControls.roomOriginY; From a4aa5428ca5b2f4fc0b30e08c8a6dac6f0b1841d Mon Sep 17 00:00:00 2001 From: Ibot02 Date: Sat, 12 Dec 2020 01:46:22 +0100 Subject: [PATCH 023/101] manager1E.c: ok Also split out rodata Based on #105 rather than master as they touch the same rodata file --- asm/manager1E.s | 81 - data/data_08108308.s | 5592 -------------------------------------- data/data_08108C94.s | 5594 +++++++++++++++++++++++++++++++++++++++ include/functions.h | 2 + linker.ld | 4 +- src/manager/manager1E.c | 61 + 6 files changed, 5660 insertions(+), 5674 deletions(-) delete mode 100644 asm/manager1E.s create mode 100644 data/data_08108C94.s create mode 100644 src/manager/manager1E.c diff --git a/asm/manager1E.s b/asm/manager1E.s deleted file mode 100644 index 36bd3e55..00000000 --- a/asm/manager1E.s +++ /dev/null @@ -1,81 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_0805B668 -sub_0805B668: @ 0x0805B668 - push {lr} - ldr r2, _0805B67C @ =gUnk_08108C8C - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0805B67C: .4byte gUnk_08108C8C - - thumb_func_start sub_0805B680 -sub_0805B680: @ 0x0805B680 - push {r4, lr} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xc] - ldrh r1, [r4, #0x34] - lsrs r1, r1, #1 - strh r1, [r4, #0x34] - ldrh r0, [r4, #0x38] - adds r0, r0, r1 - strh r0, [r4, #0x38] - ldrh r1, [r4, #0x36] - lsrs r1, r1, #1 - strh r1, [r4, #0x36] - ldrh r0, [r4, #0x3a] - adds r0, r0, r1 - strh r0, [r4, #0x3a] - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _0805B6B8 - ldrh r0, [r4, #0x3e] - bl CheckFlags - cmp r0, #0 - beq _0805B6B8 - adds r0, r4, #0 - bl DeleteManager - b _0805B6BE -_0805B6B8: - adds r0, r4, #0 - bl sub_0805B6C0 -_0805B6BE: - pop {r4, pc} - - thumb_func_start sub_0805B6C0 -sub_0805B6C0: @ 0x0805B6C0 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0x38 - ldrsh r0, [r4, r1] - movs r2, #0x3a - ldrsh r1, [r4, r2] - ldrh r2, [r4, #0x34] - ldrh r3, [r4, #0x36] - bl CheckPlayerInRegion - cmp r0, #0 - beq _0805B6EC - ldrh r0, [r4, #0x3e] - bl SetFlag - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _0805B6F2 - adds r0, r4, #0 - bl DeleteManager - b _0805B6F2 -_0805B6EC: - ldrh r0, [r4, #0x3e] - bl ClearFlag -_0805B6F2: - pop {r4, pc} diff --git a/data/data_08108308.s b/data/data_08108308.s index 2b089c8a..766c4202 100644 --- a/data/data_08108308.s +++ b/data/data_08108308.s @@ -237,5595 +237,3 @@ gUnk_08108C80:: @ 08108C80 gUnk_08108C88:: @ 08108C88 .incbin "baserom.gba", 0x108C88, 0x0000004 - -gUnk_08108C8C:: @ 08108C8C - .incbin "baserom.gba", 0x108C8C, 0x0000008 - -gUnk_08108C94:: @ 08108C94 - .incbin "baserom.gba", 0x108C94, 0x0000008 - -gUnk_08108C9C:: @ 08108C9C - .incbin "baserom.gba", 0x108C9C, 0x000000C - -gUnk_08108CA8:: @ 08108CA8 - .incbin "baserom.gba", 0x108CA8, 0x0000024 - -gUnk_08108CCC:: @ 08108CCC - .incbin "baserom.gba", 0x108CCC, 0x0000010 - -gUnk_08108CDC:: @ 08108CDC - .incbin "baserom.gba", 0x108CDC, 0x000000C - -gUnk_08108CE8:: @ 08108CE8 - .incbin "baserom.gba", 0x108CE8, 0x0000014 - -gUnk_08108CFC:: @ 08108CFC - .incbin "baserom.gba", 0x108CFC, 0x0000008 - -gUnk_08108D04:: @ 08108D04 - .incbin "baserom.gba", 0x108D04, 0x000000C - -gUnk_08108D10:: @ 08108D10 - .incbin "baserom.gba", 0x108D10, 0x000000C - -gUnk_08108D1C:: @ 08108D1C - .incbin "baserom.gba", 0x108D1C, 0x0000004 - -gUnk_08108D20:: @ 08108D20 - .incbin "baserom.gba", 0x108D20, 0x0000008 - -gUnk_08108D28:: @ 08108D28 - .incbin "baserom.gba", 0x108D28, 0x0000008 - -gUnk_08108D30:: @ 08108D30 - .incbin "baserom.gba", 0x108D30, 0x000000C - -gUnk_08108D3C:: @ 08108D3C - .incbin "baserom.gba", 0x108D3C, 0x0000008 - -gUnk_08108D44:: @ 08108D44 - .incbin "baserom.gba", 0x108D44, 0x000000C - -gUnk_08108D50:: @ 08108D50 - .incbin "baserom.gba", 0x108D50, 0x000000C - -gUnk_08108D5C:: @ 08108D5C - .incbin "baserom.gba", 0x108D5C, 0x0000018 - -gUnk_08108D74:: @ 08108D74 - .incbin "baserom.gba", 0x108D74, 0x0000008 - -gUnk_08108D7C:: @ 08108D7C - .incbin "baserom.gba", 0x108D7C, 0x0000010 - -gUnk_08108D8C:: @ 08108D8C - .incbin "baserom.gba", 0x108D8C, 0x000000B - -gUnk_08108D97:: @ 08108D97 - .incbin "baserom.gba", 0x108D97, 0x0000001 - -gUnk_08108D98:: @ 08108D98 - .incbin "baserom.gba", 0x108D98, 0x0000010 - -gUnk_08108DA8:: @ 08108DA8 - .incbin "baserom.gba", 0x108DA8, 0x0000014 - -gUnk_08108DBC:: @ 08108DBC - .incbin "baserom.gba", 0x108DBC, 0x0000008 - -gUnk_08108DC4:: @ 08108DC4 - .incbin "baserom.gba", 0x108DC4, 0x0000014 - -gUnk_08108DD8:: @ 08108DD8 - .incbin "baserom.gba", 0x108DD8, 0x0000008 - -gUnk_08108DE0:: @ 08108DE0 - .incbin "baserom.gba", 0x108DE0, 0x0000008 - -gUnk_08108DE8:: @ 08108DE8 - .incbin "baserom.gba", 0x108DE8, 0x0000040 - -gUnk_08108E28:: @ 08108E28 - .incbin "baserom.gba", 0x108E28, 0x0000008 - -gUnk_08108E30:: @ 08108E30 - .incbin "baserom.gba", 0x108E30, 0x0000018 - -gUnk_08108E48:: @ 08108E48 - .incbin "baserom.gba", 0x108E48, 0x0000002 - -gUnk_08108E4A:: @ 08108E4A - .incbin "baserom.gba", 0x108E4A, 0x0000016 - -gUnk_08108E60:: @ 08108E60 - .incbin "baserom.gba", 0x108E60, 0x000000C - -gUnk_08108E6C:: @ 08108E6C - .incbin "baserom.gba", 0x108E6C, 0x000000C - -gUnk_08108E78:: @ 08108E78 - .incbin "baserom.gba", 0x108E78, 0x0000018 - -gUnk_08108E90:: @ 08108E90 - .incbin "baserom.gba", 0x108E90, 0x0000008 - -gUnk_08108E98:: @ 08108E98 - .incbin "baserom.gba", 0x108E98, 0x000000C - -gUnk_08108EA4:: @ 08108EA4 - .incbin "baserom.gba", 0x108EA4, 0x0000018 - -gUnk_08108EBC:: @ 08108EBC - .incbin "baserom.gba", 0x108EBC, 0x0000008 - -gUnk_08108EC4:: @ 08108EC4 - .incbin "baserom.gba", 0x108EC4, 0x000000C - -gUnk_08108ED0:: @ 08108ED0 - .incbin "baserom.gba", 0x108ED0, 0x0000018 - -gUnk_08108EE8:: @ 08108EE8 - .incbin "baserom.gba", 0x108EE8, 0x0000008 - -gUnk_08108EF0:: @ 08108EF0 - .incbin "baserom.gba", 0x108EF0, 0x000000C - -gUnk_08108EFC:: @ 08108EFC - .incbin "baserom.gba", 0x108EFC, 0x0000018 - -gUnk_08108F14:: @ 08108F14 - .incbin "baserom.gba", 0x108F14, 0x0000008 - -gUnk_08108F1C:: @ 08108F1C - .incbin "baserom.gba", 0x108F1C, 0x000000C - -gUnk_08108F28:: @ 08108F28 - .incbin "baserom.gba", 0x108F28, 0x0000018 - -gUnk_08108F40:: @ 08108F40 - .incbin "baserom.gba", 0x108F40, 0x0000008 - -gUnk_08108F48:: @ 08108F48 - .incbin "baserom.gba", 0x108F48, 0x0000004 - -gUnk_08108F4C:: @ 08108F4C - .incbin "baserom.gba", 0x108F4C, 0x0000008 - -gUnk_08108F54:: @ 08108F54 - .incbin "baserom.gba", 0x108F54, 0x0000018 - -gUnk_08108F6C:: @ 08108F6C - .incbin "baserom.gba", 0x108F6C, 0x0000008 - -gUnk_08108F74:: @ 08108F74 - .incbin "baserom.gba", 0x108F74, 0x000000C - -gUnk_08108F80:: @ 08108F80 - .incbin "baserom.gba", 0x108F80, 0x0000018 - -gUnk_08108F98:: @ 08108F98 - .incbin "baserom.gba", 0x108F98, 0x0000008 - -gUnk_08108FA0:: @ 08108FA0 - .incbin "baserom.gba", 0x108FA0, 0x000000C - -gUnk_08108FAC:: @ 08108FAC - .incbin "baserom.gba", 0x108FAC, 0x0000018 - -gUnk_08108FC4:: @ 08108FC4 - .incbin "baserom.gba", 0x108FC4, 0x0000008 - -gUnk_08108FCC:: @ 08108FCC - .incbin "baserom.gba", 0x108FCC, 0x000000C - -gUnk_08108FD8:: @ 08108FD8 - .incbin "baserom.gba", 0x108FD8, 0x0000018 - -gUnk_08108FF0:: @ 08108FF0 - .incbin "baserom.gba", 0x108FF0, 0x0000008 - -gUnk_08108FF8:: @ 08108FF8 - .incbin "baserom.gba", 0x108FF8, 0x000000C - -gUnk_08109004:: @ 08109004 - .incbin "baserom.gba", 0x109004, 0x0000001 - -gUnk_08109005:: @ 08109005 - .incbin "baserom.gba", 0x109005, 0x0000014 - -gUnk_08109019:: @ 08109019 - .incbin "baserom.gba", 0x109019, 0x0000003 - -gUnk_0810901C:: @ 0810901C - .incbin "baserom.gba", 0x10901C, 0x0000008 - -gUnk_08109024:: @ 08109024 - .incbin "baserom.gba", 0x109024, 0x000000C - -gUnk_08109030:: @ 08109030 - .incbin "baserom.gba", 0x109030, 0x0000003 - -gUnk_08109033:: @ 08109033 - .incbin "baserom.gba", 0x109033, 0x0000015 - -gUnk_08109048:: @ 08109048 - .incbin "baserom.gba", 0x109048, 0x0000008 - -gUnk_08109050:: @ 08109050 - .incbin "baserom.gba", 0x109050, 0x000000C - -gUnk_0810905C:: @ 0810905C - .incbin "baserom.gba", 0x10905C, 0x0000018 - -gUnk_08109074:: @ 08109074 - .incbin "baserom.gba", 0x109074, 0x0000008 - -gUnk_0810907C:: @ 0810907C - .incbin "baserom.gba", 0x10907C, 0x000000C - -gUnk_08109088:: @ 08109088 - .incbin "baserom.gba", 0x109088, 0x0000018 - -gUnk_081090A0:: @ 081090A0 - .incbin "baserom.gba", 0x1090A0, 0x0000008 - -gUnk_081090A8:: @ 081090A8 - .incbin "baserom.gba", 0x1090A8, 0x000000C - -gUnk_081090B4:: @ 081090B4 - .incbin "baserom.gba", 0x1090B4, 0x0000018 - -gUnk_081090CC:: @ 081090CC - .incbin "baserom.gba", 0x1090CC, 0x0000008 - -gUnk_081090D4:: @ 081090D4 - .incbin "baserom.gba", 0x1090D4, 0x000000C - -gUnk_081090E0:: @ 081090E0 - .incbin "baserom.gba", 0x1090E0, 0x0000018 - -gUnk_081090F8:: @ 081090F8 - .incbin "baserom.gba", 0x1090F8, 0x0000008 - -gUnk_08109100:: @ 08109100 - .incbin "baserom.gba", 0x109100, 0x000000C - -gUnk_0810910C:: @ 0810910C - .incbin "baserom.gba", 0x10910C, 0x0000018 - -gUnk_08109124:: @ 08109124 - .incbin "baserom.gba", 0x109124, 0x0000008 - -gUnk_0810912C:: @ 0810912C - .incbin "baserom.gba", 0x10912C, 0x000000C - -gUnk_08109138:: @ 08109138 - .incbin "baserom.gba", 0x109138, 0x0000008 - -gUnk_08109140:: @ 08109140 - .incbin "baserom.gba", 0x109140, 0x0000018 - -gUnk_08109158:: @ 08109158 - .incbin "baserom.gba", 0x109158, 0x0000008 - -gUnk_08109160:: @ 08109160 - .incbin "baserom.gba", 0x109160, 0x0000018 - -gUnk_08109178:: @ 08109178 - .incbin "baserom.gba", 0x109178, 0x0000008 - -gUnk_08109180:: @ 08109180 - .incbin "baserom.gba", 0x109180, 0x000000C - -gUnk_0810918C:: @ 0810918C - .incbin "baserom.gba", 0x10918C, 0x0000008 - -gUnk_08109194:: @ 08109194 - .incbin "baserom.gba", 0x109194, 0x0000009 - -gUnk_0810919D:: @ 0810919D - .incbin "baserom.gba", 0x10919D, 0x0000047 - -gUnk_081091E4:: @ 081091E4 - .incbin "baserom.gba", 0x1091E4, 0x000000A - -gUnk_081091EE:: @ 081091EE - .incbin "baserom.gba", 0x1091EE, 0x000000A - -gUnk_081091F8:: @ 081091F8 - .incbin "baserom.gba", 0x1091F8, 0x000000A - -gUnk_08109202:: @ 08109202 - .incbin "baserom.gba", 0x109202, 0x0000012 - -gUnk_08109214:: @ 08109214 - .incbin "baserom.gba", 0x109214, 0x000001C - -gUnk_08109230:: @ 08109230 - .incbin "baserom.gba", 0x109230, 0x0000014 - -gUnk_08109244:: @ 08109244 - .incbin "baserom.gba", 0x109244, 0x0000004 - -gUnk_08109248:: @ 08109248 - .incbin "baserom.gba", 0x109248, 0x0000024 - -gUnk_0810926C:: @ 0810926C - .incbin "baserom.gba", 0x10926C, 0x0000040 - -gUnk_081092AC:: @ 081092AC - .incbin "baserom.gba", 0x1092AC, 0x0000028 - -gUnk_081092D4:: @ 081092D4 - .incbin "baserom.gba", 0x1092D4, 0x000002F - -gUnk_08109303:: @ 08109303 - .incbin "baserom.gba", 0x109303, 0x000005E - -gUnk_08109361:: @ 08109361 - .incbin "baserom.gba", 0x109361, 0x00000A5 - -gUnk_08109406:: @ 08109406 - .incbin "baserom.gba", 0x109406, 0x0000028 - -gUnk_0810942E:: @ 0810942E - .incbin "baserom.gba", 0x10942E, 0x00000A0 - -gUnk_081094CE:: @ 081094CE - .incbin "baserom.gba", 0x1094CE, 0x00000FB - -gUnk_081095C9:: @ 081095C9 - .incbin "baserom.gba", 0x1095C9, 0x000014C - -gUnk_08109715:: @ 08109715 - .incbin "baserom.gba", 0x109715, 0x0000063 - -gUnk_08109778:: @ 08109778 - .incbin "baserom.gba", 0x109778, 0x0000005 - -gUnk_0810977D:: @ 0810977D - .incbin "baserom.gba", 0x10977D, 0x0000017 - -gUnk_08109794:: @ 08109794 - .incbin "baserom.gba", 0x109794, 0x0000104 - -gUnk_08109898:: @ 08109898 - .incbin "baserom.gba", 0x109898, 0x000000F - -gUnk_081098A7:: @ 081098A7 - .incbin "baserom.gba", 0x1098A7, 0x000005F - -gUnk_08109906:: @ 08109906 - .incbin "baserom.gba", 0x109906, 0x000012A - -gUnk_08109A30:: @ 08109A30 - .incbin "baserom.gba", 0x109A30, 0x0000028 - -gUnk_08109A58:: @ 08109A58 - .incbin "baserom.gba", 0x109A58, 0x0000010 - -gUnk_08109A68:: @ 08109A68 - .incbin "baserom.gba", 0x109A68, 0x0000010 - -gUnk_08109A78:: @ 08109A78 - .incbin "baserom.gba", 0x109A78, 0x0000010 - -gUnk_08109A88:: @ 08109A88 - .incbin "baserom.gba", 0x109A88, 0x0000010 - -gUnk_08109A98:: @ 08109A98 - .incbin "baserom.gba", 0x109A98, 0x0000006 - -gUnk_08109A9E:: @ 08109A9E - .incbin "baserom.gba", 0x109A9E, 0x000000A - -gUnk_08109AA8:: @ 08109AA8 - .incbin "baserom.gba", 0x109AA8, 0x0000010 - -gUnk_08109AB8:: @ 08109AB8 - .incbin "baserom.gba", 0x109AB8, 0x0000010 - -gUnk_08109AC8:: @ 08109AC8 - .incbin "baserom.gba", 0x109AC8, 0x0000008 - -gUnk_08109AD0:: @ 08109AD0 - .incbin "baserom.gba", 0x109AD0, 0x0000008 - -gUnk_08109AD8:: @ 08109AD8 - .incbin "baserom.gba", 0x109AD8, 0x0000005 - -gUnk_08109ADD:: @ 08109ADD - .incbin "baserom.gba", 0x109ADD, 0x0000005 - -gUnk_08109AE2:: @ 08109AE2 - .incbin "baserom.gba", 0x109AE2, 0x0000005 - -gUnk_08109AE7:: @ 08109AE7 - .incbin "baserom.gba", 0x109AE7, 0x0000005 - -gUnk_08109AEC:: @ 08109AEC - .incbin "baserom.gba", 0x109AEC, 0x0000011 - -gUnk_08109AFD:: @ 08109AFD - .incbin "baserom.gba", 0x109AFD, 0x000000B - -gUnk_08109B08:: @ 08109B08 - .incbin "baserom.gba", 0x109B08, 0x0000006 - -gUnk_08109B0E:: @ 08109B0E - .incbin "baserom.gba", 0x109B0E, 0x000002D - -gUnk_08109B3B:: @ 08109B3B - .incbin "baserom.gba", 0x109B3B, 0x0000025 - -gUnk_08109B60:: @ 08109B60 - .incbin "baserom.gba", 0x109B60, 0x0000020 - -gUnk_08109B80:: @ 08109B80 - .incbin "baserom.gba", 0x109B80, 0x000003C - -gUnk_08109BBC:: @ 08109BBC - .incbin "baserom.gba", 0x109BBC, 0x000000C - -gUnk_08109BC8:: @ 08109BC8 - .incbin "baserom.gba", 0x109BC8, 0x0000005 - -gUnk_08109BCD:: @ 08109BCD - .incbin "baserom.gba", 0x109BCD, 0x0000005 - -gUnk_08109BD2:: @ 08109BD2 - .incbin "baserom.gba", 0x109BD2, 0x0000005 - -gUnk_08109BD7:: @ 08109BD7 - .incbin "baserom.gba", 0x109BD7, 0x0000011 - -gUnk_08109BE8:: @ 08109BE8 - .incbin "baserom.gba", 0x109BE8, 0x0000011 - -gUnk_08109BF9:: @ 08109BF9 - .incbin "baserom.gba", 0x109BF9, 0x0000035 - -gUnk_08109C2E:: @ 08109C2E - .incbin "baserom.gba", 0x109C2E, 0x000001D - -gUnk_08109C4B:: @ 08109C4B - .incbin "baserom.gba", 0x109C4B, 0x0000009 - -gUnk_08109C54:: @ 08109C54 - .incbin "baserom.gba", 0x109C54, 0x0000005 - -gUnk_08109C59:: @ 08109C59 - .incbin "baserom.gba", 0x109C59, 0x0000007 - -gUnk_08109C60:: @ 08109C60 - .incbin "baserom.gba", 0x109C60, 0x0000038 - -gUnk_08109C98:: @ 08109C98 - .incbin "baserom.gba", 0x109C98, 0x0000080 - -gUnk_08109D18:: @ 08109D18 - .incbin "baserom.gba", 0x109D18, 0x0000063 - -gUnk_08109D7B:: @ 08109D7B - .incbin "baserom.gba", 0x109D7B, 0x000002E - -gUnk_08109DA9:: @ 08109DA9 - .incbin "baserom.gba", 0x109DA9, 0x000001F - -gUnk_08109DC8:: @ 08109DC8 - .incbin "baserom.gba", 0x109DC8, 0x000003F - -gUnk_08109E07:: @ 08109E07 - .incbin "baserom.gba", 0x109E07, 0x000010E - -gUnk_08109F15:: @ 08109F15 - .incbin "baserom.gba", 0x109F15, 0x0000052 - -gUnk_08109F67:: @ 08109F67 - .incbin "baserom.gba", 0x109F67, 0x0000005 - -gUnk_08109F6C:: @ 08109F6C - .incbin "baserom.gba", 0x109F6C, 0x000002B - -gUnk_08109F97:: @ 08109F97 - .incbin "baserom.gba", 0x109F97, 0x00000B1 - -gUnk_0810A048:: @ 0810A048 - .incbin "baserom.gba", 0x10A048, 0x0000111 - -gUnk_0810A159:: @ 0810A159 - .incbin "baserom.gba", 0x10A159, 0x0000048 - -gUnk_0810A1A1:: @ 0810A1A1 - .incbin "baserom.gba", 0x10A1A1, 0x00001A7 - -gUnk_0810A348:: @ 0810A348 - .incbin "baserom.gba", 0x10A348, 0x000000C - -gUnk_0810A354:: @ 0810A354 - .incbin "baserom.gba", 0x10A354, 0x0000006 - -gUnk_0810A35A:: @ 0810A35A - .incbin "baserom.gba", 0x10A35A, 0x0000008 - -gUnk_0810A362:: @ 0810A362 - .incbin "baserom.gba", 0x10A362, 0x0000008 - -gUnk_0810A36A:: @ 0810A36A - .incbin "baserom.gba", 0x10A36A, 0x0000005 - -gUnk_0810A36F:: @ 0810A36F - .incbin "baserom.gba", 0x10A36F, 0x0000005 - -gUnk_0810A374:: @ 0810A374 - .incbin "baserom.gba", 0x10A374, 0x0000005 - -gUnk_0810A379:: @ 0810A379 - .incbin "baserom.gba", 0x10A379, 0x0000001 - -gUnk_0810A37A:: @ 0810A37A - .incbin "baserom.gba", 0x10A37A, 0x0000004 - -gUnk_0810A37E:: @ 0810A37E - .incbin "baserom.gba", 0x10A37E, 0x0000021 - -gUnk_0810A39F:: @ 0810A39F - .incbin "baserom.gba", 0x10A39F, 0x0000021 - -gUnk_0810A3C0:: @ 0810A3C0 - .incbin "baserom.gba", 0x10A3C0, 0x0000021 - -gUnk_0810A3E1:: @ 0810A3E1 - .incbin "baserom.gba", 0x10A3E1, 0x000001F - -gUnk_0810A400:: @ 0810A400 - .incbin "baserom.gba", 0x10A400, 0x0000002 - -gUnk_0810A402:: @ 0810A402 - .incbin "baserom.gba", 0x10A402, 0x0000005 - -gUnk_0810A407:: @ 0810A407 - .incbin "baserom.gba", 0x10A407, 0x0000001 - -gUnk_0810A408:: @ 0810A408 - .incbin "baserom.gba", 0x10A408, 0x0000004 - -gUnk_0810A40C:: @ 0810A40C - .incbin "baserom.gba", 0x10A40C, 0x0000005 - -gUnk_0810A411:: @ 0810A411 - .incbin "baserom.gba", 0x10A411, 0x0000005 - -gUnk_0810A416:: @ 0810A416 - .incbin "baserom.gba", 0x10A416, 0x000000D - -gUnk_0810A423:: @ 0810A423 - .incbin "baserom.gba", 0x10A423, 0x000000D - -gUnk_0810A430:: @ 0810A430 - .incbin "baserom.gba", 0x10A430, 0x000000D - -gUnk_0810A43D:: @ 0810A43D - .incbin "baserom.gba", 0x10A43D, 0x000000D - -gUnk_0810A44A:: @ 0810A44A - .incbin "baserom.gba", 0x10A44A, 0x000000D - -gUnk_0810A457:: @ 0810A457 - .incbin "baserom.gba", 0x10A457, 0x000000D - -gUnk_0810A464:: @ 0810A464 - .incbin "baserom.gba", 0x10A464, 0x000000D - -gUnk_0810A471:: @ 0810A471 - .incbin "baserom.gba", 0x10A471, 0x000000D - -gUnk_0810A47E:: @ 0810A47E - .incbin "baserom.gba", 0x10A47E, 0x000000D - -gUnk_0810A48B:: @ 0810A48B - .incbin "baserom.gba", 0x10A48B, 0x000000D - -gUnk_0810A498:: @ 0810A498 - .incbin "baserom.gba", 0x10A498, 0x000000D - -gUnk_0810A4A5:: @ 0810A4A5 - .incbin "baserom.gba", 0x10A4A5, 0x000000D - -gUnk_0810A4B2:: @ 0810A4B2 - .incbin "baserom.gba", 0x10A4B2, 0x000000D - -gUnk_0810A4BF:: @ 0810A4BF - .incbin "baserom.gba", 0x10A4BF, 0x000000D - -gUnk_0810A4CC:: @ 0810A4CC - .incbin "baserom.gba", 0x10A4CC, 0x000000D - -gUnk_0810A4D9:: @ 0810A4D9 - .incbin "baserom.gba", 0x10A4D9, 0x000000D - -gUnk_0810A4E6:: @ 0810A4E6 - .incbin "baserom.gba", 0x10A4E6, 0x000000D - -gUnk_0810A4F3:: @ 0810A4F3 - .incbin "baserom.gba", 0x10A4F3, 0x000000D - -gUnk_0810A500:: @ 0810A500 - .incbin "baserom.gba", 0x10A500, 0x000000D - -gUnk_0810A50D:: @ 0810A50D - .incbin "baserom.gba", 0x10A50D, 0x000000D - -gUnk_0810A51A:: @ 0810A51A - .incbin "baserom.gba", 0x10A51A, 0x000000D - -gUnk_0810A527:: @ 0810A527 - .incbin "baserom.gba", 0x10A527, 0x000000D - -gUnk_0810A534:: @ 0810A534 - .incbin "baserom.gba", 0x10A534, 0x000000D - -gUnk_0810A541:: @ 0810A541 - .incbin "baserom.gba", 0x10A541, 0x000000D - -gUnk_0810A54E:: @ 0810A54E - .incbin "baserom.gba", 0x10A54E, 0x000000D - -gUnk_0810A55B:: @ 0810A55B - .incbin "baserom.gba", 0x10A55B, 0x000000D - -gUnk_0810A568:: @ 0810A568 - .incbin "baserom.gba", 0x10A568, 0x000000D - -gUnk_0810A575:: @ 0810A575 - .incbin "baserom.gba", 0x10A575, 0x000000D - -gUnk_0810A582:: @ 0810A582 - .incbin "baserom.gba", 0x10A582, 0x000000D - -gUnk_0810A58F:: @ 0810A58F - .incbin "baserom.gba", 0x10A58F, 0x000000D - -gUnk_0810A59C:: @ 0810A59C - .incbin "baserom.gba", 0x10A59C, 0x000000D - -gUnk_0810A5A9:: @ 0810A5A9 - .incbin "baserom.gba", 0x10A5A9, 0x000000F - -gUnk_0810A5B8:: @ 0810A5B8 - .incbin "baserom.gba", 0x10A5B8, 0x00000B4 - -gUnk_0810A66C:: @ 0810A66C - .incbin "baserom.gba", 0x10A66C, 0x00000BC - -gUnk_0810A728:: @ 0810A728 - .incbin "baserom.gba", 0x10A728, 0x0000040 - -gUnk_0810A768:: @ 0810A768 - .incbin "baserom.gba", 0x10A768, 0x0000005 - -gUnk_0810A76D:: @ 0810A76D - .incbin "baserom.gba", 0x10A76D, 0x0000005 - -gUnk_0810A772:: @ 0810A772 - .incbin "baserom.gba", 0x10A772, 0x0000005 - -gUnk_0810A777:: @ 0810A777 - .incbin "baserom.gba", 0x10A777, 0x0000006 - -gUnk_0810A77D:: @ 0810A77D - .incbin "baserom.gba", 0x10A77D, 0x0000006 - -gUnk_0810A783:: @ 0810A783 - .incbin "baserom.gba", 0x10A783, 0x0000006 - -gUnk_0810A789:: @ 0810A789 - .incbin "baserom.gba", 0x10A789, 0x0000005 - -gUnk_0810A78E:: @ 0810A78E - .incbin "baserom.gba", 0x10A78E, 0x0000006 - -gUnk_0810A794:: @ 0810A794 - .incbin "baserom.gba", 0x10A794, 0x0000006 - -gUnk_0810A79A:: @ 0810A79A - .incbin "baserom.gba", 0x10A79A, 0x0000006 - -gUnk_0810A7A0:: @ 0810A7A0 - .incbin "baserom.gba", 0x10A7A0, 0x0000006 - -gUnk_0810A7A6:: @ 0810A7A6 - .incbin "baserom.gba", 0x10A7A6, 0x0000006 - -gUnk_0810A7AC:: @ 0810A7AC - .incbin "baserom.gba", 0x10A7AC, 0x0000007 - -gUnk_0810A7B3:: @ 0810A7B3 - .incbin "baserom.gba", 0x10A7B3, 0x0000006 - -gUnk_0810A7B9:: @ 0810A7B9 - .incbin "baserom.gba", 0x10A7B9, 0x0000006 - -gUnk_0810A7BF:: @ 0810A7BF - .incbin "baserom.gba", 0x10A7BF, 0x0000006 - -gUnk_0810A7C5:: @ 0810A7C5 - .incbin "baserom.gba", 0x10A7C5, 0x0000005 - -gUnk_0810A7CA:: @ 0810A7CA - .incbin "baserom.gba", 0x10A7CA, 0x0000006 - -gUnk_0810A7D0:: @ 0810A7D0 - .incbin "baserom.gba", 0x10A7D0, 0x0000006 - -gUnk_0810A7D6:: @ 0810A7D6 - .incbin "baserom.gba", 0x10A7D6, 0x0000005 - -gUnk_0810A7DB:: @ 0810A7DB - .incbin "baserom.gba", 0x10A7DB, 0x0000005 - -gUnk_0810A7E0:: @ 0810A7E0 - .incbin "baserom.gba", 0x10A7E0, 0x0000005 - -gUnk_0810A7E5:: @ 0810A7E5 - .incbin "baserom.gba", 0x10A7E5, 0x0000010 - -gUnk_0810A7F5:: @ 0810A7F5 - .incbin "baserom.gba", 0x10A7F5, 0x0000010 - -gUnk_0810A805:: @ 0810A805 - .incbin "baserom.gba", 0x10A805, 0x0000008 - -gUnk_0810A80D:: @ 0810A80D - .incbin "baserom.gba", 0x10A80D, 0x0000008 - -gUnk_0810A815:: @ 0810A815 - .incbin "baserom.gba", 0x10A815, 0x0000005 - -gUnk_0810A81A:: @ 0810A81A - .incbin "baserom.gba", 0x10A81A, 0x0000005 - -gUnk_0810A81F:: @ 0810A81F - .incbin "baserom.gba", 0x10A81F, 0x0000006 - -gUnk_0810A825:: @ 0810A825 - .incbin "baserom.gba", 0x10A825, 0x0000005 - -gUnk_0810A82A:: @ 0810A82A - .incbin "baserom.gba", 0x10A82A, 0x0000005 - -gUnk_0810A82F:: @ 0810A82F - .incbin "baserom.gba", 0x10A82F, 0x0000006 - -gUnk_0810A835:: @ 0810A835 - .incbin "baserom.gba", 0x10A835, 0x0000006 - -gUnk_0810A83B:: @ 0810A83B - .incbin "baserom.gba", 0x10A83B, 0x0000006 - -gUnk_0810A841:: @ 0810A841 - .incbin "baserom.gba", 0x10A841, 0x0000007 - -gUnk_0810A848:: @ 0810A848 - .incbin "baserom.gba", 0x10A848, 0x0000007 - -gUnk_0810A84F:: @ 0810A84F - .incbin "baserom.gba", 0x10A84F, 0x000000F - -gUnk_0810A85E:: @ 0810A85E - .incbin "baserom.gba", 0x10A85E, 0x000000F - -gUnk_0810A86D:: @ 0810A86D - .incbin "baserom.gba", 0x10A86D, 0x0000005 - -gUnk_0810A872:: @ 0810A872 - .incbin "baserom.gba", 0x10A872, 0x0000005 - -gUnk_0810A877:: @ 0810A877 - .incbin "baserom.gba", 0x10A877, 0x0000005 - -gUnk_0810A87C:: @ 0810A87C - .incbin "baserom.gba", 0x10A87C, 0x0000005 - -gUnk_0810A881:: @ 0810A881 - .incbin "baserom.gba", 0x10A881, 0x0000005 - -gUnk_0810A886:: @ 0810A886 - .incbin "baserom.gba", 0x10A886, 0x0000005 - -gUnk_0810A88B:: @ 0810A88B - .incbin "baserom.gba", 0x10A88B, 0x0000006 - -gUnk_0810A891:: @ 0810A891 - .incbin "baserom.gba", 0x10A891, 0x0000006 - -gUnk_0810A897:: @ 0810A897 - .incbin "baserom.gba", 0x10A897, 0x0000005 - -gUnk_0810A89C:: @ 0810A89C - .incbin "baserom.gba", 0x10A89C, 0x0000006 - -gUnk_0810A8A2:: @ 0810A8A2 - .incbin "baserom.gba", 0x10A8A2, 0x0000005 - -gUnk_0810A8A7:: @ 0810A8A7 - .incbin "baserom.gba", 0x10A8A7, 0x0000005 - -gUnk_0810A8AC:: @ 0810A8AC - .incbin "baserom.gba", 0x10A8AC, 0x0000005 - -gUnk_0810A8B1:: @ 0810A8B1 - .incbin "baserom.gba", 0x10A8B1, 0x0000005 - -gUnk_0810A8B6:: @ 0810A8B6 - .incbin "baserom.gba", 0x10A8B6, 0x0000005 - -gUnk_0810A8BB:: @ 0810A8BB - .incbin "baserom.gba", 0x10A8BB, 0x0000005 - -gUnk_0810A8C0:: @ 0810A8C0 - .incbin "baserom.gba", 0x10A8C0, 0x000000B - -gUnk_0810A8CB:: @ 0810A8CB - .incbin "baserom.gba", 0x10A8CB, 0x000000B - -gUnk_0810A8D6:: @ 0810A8D6 - .incbin "baserom.gba", 0x10A8D6, 0x0000005 - -gUnk_0810A8DB:: @ 0810A8DB - .incbin "baserom.gba", 0x10A8DB, 0x0000005 - -gUnk_0810A8E0:: @ 0810A8E0 - .incbin "baserom.gba", 0x10A8E0, 0x0000009 - -gUnk_0810A8E9:: @ 0810A8E9 - .incbin "baserom.gba", 0x10A8E9, 0x0000009 - -gUnk_0810A8F2:: @ 0810A8F2 - .incbin "baserom.gba", 0x10A8F2, 0x0000007 - -gUnk_0810A8F9:: @ 0810A8F9 - .incbin "baserom.gba", 0x10A8F9, 0x0000007 - -gUnk_0810A900:: @ 0810A900 - .incbin "baserom.gba", 0x10A900, 0x0000005 - -gUnk_0810A905:: @ 0810A905 - .incbin "baserom.gba", 0x10A905, 0x0000006 - -gUnk_0810A90B:: @ 0810A90B - .incbin "baserom.gba", 0x10A90B, 0x0000006 - -gUnk_0810A911:: @ 0810A911 - .incbin "baserom.gba", 0x10A911, 0x0000007 - -gUnk_0810A918:: @ 0810A918 - .incbin "baserom.gba", 0x10A918, 0x000010C - -gUnk_0810AA24:: @ 0810AA24 - .incbin "baserom.gba", 0x10AA24, 0x000000C - -gUnk_0810AA30:: @ 0810AA30 - .incbin "baserom.gba", 0x10AA30, 0x0000040 - -gUnk_0810AA70:: @ 0810AA70 - .incbin "baserom.gba", 0x10AA70, 0x0000020 - -gUnk_0810AA90:: @ 0810AA90 - .incbin "baserom.gba", 0x10AA90, 0x0000029 - -gUnk_0810AAB9:: @ 0810AAB9 - .incbin "baserom.gba", 0x10AAB9, 0x0000029 - -gUnk_0810AAE2:: @ 0810AAE2 - .incbin "baserom.gba", 0x10AAE2, 0x0000029 - -gUnk_0810AB0B:: @ 0810AB0B - .incbin "baserom.gba", 0x10AB0B, 0x0000029 - -gUnk_0810AB34:: @ 0810AB34 - .incbin "baserom.gba", 0x10AB34, 0x0000031 - -gUnk_0810AB65:: @ 0810AB65 - .incbin "baserom.gba", 0x10AB65, 0x0000031 - -gUnk_0810AB96:: @ 0810AB96 - .incbin "baserom.gba", 0x10AB96, 0x0000031 - -gUnk_0810ABC7:: @ 0810ABC7 - .incbin "baserom.gba", 0x10ABC7, 0x0000031 - -gUnk_0810ABF8:: @ 0810ABF8 - .incbin "baserom.gba", 0x10ABF8, 0x0000024 - -gUnk_0810AC1C:: @ 0810AC1C - .incbin "baserom.gba", 0x10AC1C, 0x0000010 - -gUnk_0810AC2C:: @ 0810AC2C - .incbin "baserom.gba", 0x10AC2C, 0x0000020 - -gUnk_0810AC4C:: @ 0810AC4C - .incbin "baserom.gba", 0x10AC4C, 0x0000008 - -gUnk_0810AC54:: @ 0810AC54 - .incbin "baserom.gba", 0x10AC54, 0x0000009 - -gUnk_0810AC5D:: @ 0810AC5D - .incbin "baserom.gba", 0x10AC5D, 0x0000013 - -gUnk_0810AC70:: @ 0810AC70 - .incbin "baserom.gba", 0x10AC70, 0x0000008 - -gUnk_0810AC78:: @ 0810AC78 - .incbin "baserom.gba", 0x10AC78, 0x0000009 - -gUnk_0810AC81:: @ 0810AC81 - .incbin "baserom.gba", 0x10AC81, 0x0000019 - -gUnk_0810AC9A:: @ 0810AC9A - .incbin "baserom.gba", 0x10AC9A, 0x0000019 - -gUnk_0810ACB3:: @ 0810ACB3 - .incbin "baserom.gba", 0x10ACB3, 0x0000019 - -gUnk_0810ACCC:: @ 0810ACCC - .incbin "baserom.gba", 0x10ACCC, 0x0000021 - -gUnk_0810ACED:: @ 0810ACED - .incbin "baserom.gba", 0x10ACED, 0x0000021 - -gUnk_0810AD0E:: @ 0810AD0E - .incbin "baserom.gba", 0x10AD0E, 0x0000021 - -gUnk_0810AD2F:: @ 0810AD2F - .incbin "baserom.gba", 0x10AD2F, 0x0000021 - -gUnk_0810AD50:: @ 0810AD50 - .incbin "baserom.gba", 0x10AD50, 0x0000021 - -gUnk_0810AD71:: @ 0810AD71 - .incbin "baserom.gba", 0x10AD71, 0x0000021 - -gUnk_0810AD92:: @ 0810AD92 - .incbin "baserom.gba", 0x10AD92, 0x000001B - -gUnk_0810ADAD:: @ 0810ADAD - .incbin "baserom.gba", 0x10ADAD, 0x0000006 - -gUnk_0810ADB3:: @ 0810ADB3 - .incbin "baserom.gba", 0x10ADB3, 0x0000021 - -gUnk_0810ADD4:: @ 0810ADD4 - .incbin "baserom.gba", 0x10ADD4, 0x0000021 - -gUnk_0810ADF5:: @ 0810ADF5 - .incbin "baserom.gba", 0x10ADF5, 0x0000021 - -gUnk_0810AE16:: @ 0810AE16 - .incbin "baserom.gba", 0x10AE16, 0x0000021 - -gUnk_0810AE37:: @ 0810AE37 - .incbin "baserom.gba", 0x10AE37, 0x0000021 - -gUnk_0810AE58:: @ 0810AE58 - .incbin "baserom.gba", 0x10AE58, 0x0000024 - -gUnk_0810AE7C:: @ 0810AE7C - .incbin "baserom.gba", 0x10AE7C, 0x0000021 - -gUnk_0810AE9D:: @ 0810AE9D - .incbin "baserom.gba", 0x10AE9D, 0x0000003 - -gUnk_0810AEA0:: @ 0810AEA0 - .incbin "baserom.gba", 0x10AEA0, 0x0000024 - -gUnk_0810AEC4:: @ 0810AEC4 - .incbin "baserom.gba", 0x10AEC4, 0x0000024 - -gUnk_0810AEE8:: @ 0810AEE8 - .incbin "baserom.gba", 0x10AEE8, 0x000001F - -gUnk_0810AF07:: @ 0810AF07 - .incbin "baserom.gba", 0x10AF07, 0x0000012 - -gUnk_0810AF19:: @ 0810AF19 - .incbin "baserom.gba", 0x10AF19, 0x000002B - -gUnk_0810AF44:: @ 0810AF44 - .incbin "baserom.gba", 0x10AF44, 0x0000006 - -gUnk_0810AF4A:: @ 0810AF4A - .incbin "baserom.gba", 0x10AF4A, 0x0000031 - -gUnk_0810AF7B:: @ 0810AF7B - .incbin "baserom.gba", 0x10AF7B, 0x0000031 - -gUnk_0810AFAC:: @ 0810AFAC - .incbin "baserom.gba", 0x10AFAC, 0x0000021 - -gUnk_0810AFCD:: @ 0810AFCD - .incbin "baserom.gba", 0x10AFCD, 0x0000021 - -gUnk_0810AFEE:: @ 0810AFEE - .incbin "baserom.gba", 0x10AFEE, 0x000001A - -gUnk_0810B008:: @ 0810B008 - .incbin "baserom.gba", 0x10B008, 0x0000007 - -gUnk_0810B00F:: @ 0810B00F - .incbin "baserom.gba", 0x10B00F, 0x0000021 - -gUnk_0810B030:: @ 0810B030 - .incbin "baserom.gba", 0x10B030, 0x000000C - -gUnk_0810B03C:: @ 0810B03C - .incbin "baserom.gba", 0x10B03C, 0x000000C - -gUnk_0810B048:: @ 0810B048 - .incbin "baserom.gba", 0x10B048, 0x000000C - -gUnk_0810B054:: @ 0810B054 - .incbin "baserom.gba", 0x10B054, 0x000000C - -gUnk_0810B060:: @ 0810B060 - .incbin "baserom.gba", 0x10B060, 0x0000011 - -gUnk_0810B071:: @ 0810B071 - .incbin "baserom.gba", 0x10B071, 0x0000011 - -gUnk_0810B082:: @ 0810B082 - .incbin "baserom.gba", 0x10B082, 0x0000011 - -gUnk_0810B093:: @ 0810B093 - .incbin "baserom.gba", 0x10B093, 0x0000011 - -gUnk_0810B0A4:: @ 0810B0A4 - .incbin "baserom.gba", 0x10B0A4, 0x0000011 - -gUnk_0810B0B5:: @ 0810B0B5 - .incbin "baserom.gba", 0x10B0B5, 0x0000011 - -gUnk_0810B0C6:: @ 0810B0C6 - .incbin "baserom.gba", 0x10B0C6, 0x0000011 - -gUnk_0810B0D7:: @ 0810B0D7 - .incbin "baserom.gba", 0x10B0D7, 0x0000011 - -gUnk_0810B0E8:: @ 0810B0E8 - .incbin "baserom.gba", 0x10B0E8, 0x0000011 - -gUnk_0810B0F9:: @ 0810B0F9 - .incbin "baserom.gba", 0x10B0F9, 0x0000011 - -gUnk_0810B10A:: @ 0810B10A - .incbin "baserom.gba", 0x10B10A, 0x0000011 - -gUnk_0810B11B:: @ 0810B11B - .incbin "baserom.gba", 0x10B11B, 0x0000011 - -gUnk_0810B12C:: @ 0810B12C - .incbin "baserom.gba", 0x10B12C, 0x0000011 - -gUnk_0810B13D:: @ 0810B13D - .incbin "baserom.gba", 0x10B13D, 0x0000011 - -gUnk_0810B14E:: @ 0810B14E - .incbin "baserom.gba", 0x10B14E, 0x0000011 - -gUnk_0810B15F:: @ 0810B15F - .incbin "baserom.gba", 0x10B15F, 0x0000011 - -gUnk_0810B170:: @ 0810B170 - .incbin "baserom.gba", 0x10B170, 0x000001C - -gUnk_0810B18C:: @ 0810B18C - .incbin "baserom.gba", 0x10B18C, 0x000001C - -gUnk_0810B1A8:: @ 0810B1A8 - .incbin "baserom.gba", 0x10B1A8, 0x0000009 - -gUnk_0810B1B1:: @ 0810B1B1 - .incbin "baserom.gba", 0x10B1B1, 0x0000013 - -gUnk_0810B1C4:: @ 0810B1C4 - .incbin "baserom.gba", 0x10B1C4, 0x000001C - -gUnk_0810B1E0:: @ 0810B1E0 - .incbin "baserom.gba", 0x10B1E0, 0x000001C - -gUnk_0810B1FC:: @ 0810B1FC - .incbin "baserom.gba", 0x10B1FC, 0x000001C - -gUnk_0810B218:: @ 0810B218 - .incbin "baserom.gba", 0x10B218, 0x000001C - -gUnk_0810B234:: @ 0810B234 - .incbin "baserom.gba", 0x10B234, 0x000001C - -gUnk_0810B250:: @ 0810B250 - .incbin "baserom.gba", 0x10B250, 0x0000030 - -gUnk_0810B280:: @ 0810B280 - .incbin "baserom.gba", 0x10B280, 0x0000030 - -gUnk_0810B2B0:: @ 0810B2B0 - .incbin "baserom.gba", 0x10B2B0, 0x0000030 - -gUnk_0810B2E0:: @ 0810B2E0 - .incbin "baserom.gba", 0x10B2E0, 0x0000030 - -gUnk_0810B310:: @ 0810B310 - .incbin "baserom.gba", 0x10B310, 0x0000030 - -gUnk_0810B340:: @ 0810B340 - .incbin "baserom.gba", 0x10B340, 0x0000030 - -gUnk_0810B370:: @ 0810B370 - .incbin "baserom.gba", 0x10B370, 0x0000030 - -gUnk_0810B3A0:: @ 0810B3A0 - .incbin "baserom.gba", 0x10B3A0, 0x0000022 - -gUnk_0810B3C2:: @ 0810B3C2 - .incbin "baserom.gba", 0x10B3C2, 0x000000E - -gUnk_0810B3D0:: @ 0810B3D0 - .incbin "baserom.gba", 0x10B3D0, 0x0000028 - -gUnk_0810B3F8:: @ 0810B3F8 - .incbin "baserom.gba", 0x10B3F8, 0x000000F - -gUnk_0810B407:: @ 0810B407 - .incbin "baserom.gba", 0x10B407, 0x0000019 - -gUnk_0810B420:: @ 0810B420 - .incbin "baserom.gba", 0x10B420, 0x0000028 - -gUnk_0810B448:: @ 0810B448 - .incbin "baserom.gba", 0x10B448, 0x0000028 - -gUnk_0810B470:: @ 0810B470 - .incbin "baserom.gba", 0x10B470, 0x0000019 - -gUnk_0810B489:: @ 0810B489 - .incbin "baserom.gba", 0x10B489, 0x0000005 - -gUnk_0810B48E:: @ 0810B48E - .incbin "baserom.gba", 0x10B48E, 0x0000019 - -gUnk_0810B4A7:: @ 0810B4A7 - .incbin "baserom.gba", 0x10B4A7, 0x0000035 - -gUnk_0810B4DC:: @ 0810B4DC - .incbin "baserom.gba", 0x10B4DC, 0x0000010 - -gUnk_0810B4EC:: @ 0810B4EC - .incbin "baserom.gba", 0x10B4EC, 0x0000164 - -gUnk_0810B650:: @ 0810B650 - .incbin "baserom.gba", 0x10B650, 0x0000002 - -gUnk_0810B652:: @ 0810B652 - .incbin "baserom.gba", 0x10B652, 0x0000002 - -gUnk_0810B654:: @ 0810B654 - .incbin "baserom.gba", 0x10B654, 0x0000002 - -gUnk_0810B656:: @ 0810B656 - .incbin "baserom.gba", 0x10B656, 0x0000002 - -gUnk_0810B658:: @ 0810B658 - .incbin "baserom.gba", 0x10B658, 0x0000002 - -gUnk_0810B65A:: @ 0810B65A - .incbin "baserom.gba", 0x10B65A, 0x0000002 - -gUnk_0810B65C:: @ 0810B65C - .incbin "baserom.gba", 0x10B65C, 0x0000002 - -gUnk_0810B65E:: @ 0810B65E - .incbin "baserom.gba", 0x10B65E, 0x0000002 - -gUnk_0810B660:: @ 0810B660 - .incbin "baserom.gba", 0x10B660, 0x0000020 - -gUnk_0810B680:: @ 0810B680 - .incbin "baserom.gba", 0x10B680, 0x000002A - -gUnk_0810B6AA:: @ 0810B6AA - .incbin "baserom.gba", 0x10B6AA, 0x0000009 - -gUnk_0810B6B3:: @ 0810B6B3 - .incbin "baserom.gba", 0x10B6B3, 0x0000021 - -gUnk_0810B6D4:: @ 0810B6D4 - .incbin "baserom.gba", 0x10B6D4, 0x000000C - -gUnk_0810B6E0:: @ 0810B6E0 - .incbin "baserom.gba", 0x10B6E0, 0x000000C - -gUnk_0810B6EC:: @ 0810B6EC - .incbin "baserom.gba", 0x10B6EC, 0x0000054 - -gUnk_0810B740:: @ 0810B740 - .incbin "baserom.gba", 0x10B740, 0x0000008 - -gUnk_0810B748:: @ 0810B748 - .incbin "baserom.gba", 0x10B748, 0x0000002 - -gUnk_0810B74A:: @ 0810B74A - .incbin "baserom.gba", 0x10B74A, 0x0000018 - -gUnk_0810B762:: @ 0810B762 - .incbin "baserom.gba", 0x10B762, 0x0000012 - -gUnk_0810B774:: @ 0810B774 - .incbin "baserom.gba", 0x10B774, 0x0000008 - -gUnk_0810B77C:: @ 0810B77C - .incbin "baserom.gba", 0x10B77C, 0x0000010 - -gUnk_0810B78C:: @ 0810B78C - .incbin "baserom.gba", 0x10B78C, 0x0000004 - -gUnk_0810B790:: @ 0810B790 - .incbin "baserom.gba", 0x10B790, 0x000001C - -gUnk_0810B7AC:: @ 0810B7AC - .incbin "baserom.gba", 0x10B7AC, 0x000000E - -gUnk_0810B7BA:: @ 0810B7BA - .incbin "baserom.gba", 0x10B7BA, 0x0000006 - -gUnk_0810B7C0:: @ 0810B7C0 - .incbin "baserom.gba", 0x10B7C0, 0x000012B - -gUnk_0810B8EB:: @ 0810B8EB - .incbin "baserom.gba", 0x10B8EB, 0x0000037 - -gUnk_0810B922:: @ 0810B922 - .incbin "baserom.gba", 0x10B922, 0x0000049 - -gUnk_0810B96B:: @ 0810B96B - .incbin "baserom.gba", 0x10B96B, 0x0000065 - -gUnk_0810B9D0:: @ 0810B9D0 - .incbin "baserom.gba", 0x10B9D0, 0x0000031 - -gUnk_0810BA01:: @ 0810BA01 - .incbin "baserom.gba", 0x10BA01, 0x0000117 - -gUnk_0810BB18:: @ 0810BB18 - .incbin "baserom.gba", 0x10BB18, 0x0000059 - -gUnk_0810BB71:: @ 0810BB71 - .incbin "baserom.gba", 0x10BB71, 0x000005B - -gUnk_0810BBCC:: @ 0810BBCC - .incbin "baserom.gba", 0x10BBCC, 0x000009C - -gUnk_0810BC68:: @ 0810BC68 - .incbin "baserom.gba", 0x10BC68, 0x0000098 - -gUnk_0810BD00:: @ 0810BD00 - .incbin "baserom.gba", 0x10BD00, 0x0000005 - -gUnk_0810BD05:: @ 0810BD05 - .incbin "baserom.gba", 0x10BD05, 0x0000005 - -gUnk_0810BD0A:: @ 0810BD0A - .incbin "baserom.gba", 0x10BD0A, 0x0000005 - -gUnk_0810BD0F:: @ 0810BD0F - .incbin "baserom.gba", 0x10BD0F, 0x0000005 - -gUnk_0810BD14:: @ 0810BD14 - .incbin "baserom.gba", 0x10BD14, 0x0000011 - -gUnk_0810BD25:: @ 0810BD25 - .incbin "baserom.gba", 0x10BD25, 0x0000011 - -gUnk_0810BD36:: @ 0810BD36 - .incbin "baserom.gba", 0x10BD36, 0x0000011 - -gUnk_0810BD47:: @ 0810BD47 - .incbin "baserom.gba", 0x10BD47, 0x0000011 - -gUnk_0810BD58:: @ 0810BD58 - .incbin "baserom.gba", 0x10BD58, 0x0000016 - -gUnk_0810BD6E:: @ 0810BD6E - .incbin "baserom.gba", 0x10BD6E, 0x000000E - -gUnk_0810BD7C:: @ 0810BD7C - .incbin "baserom.gba", 0x10BD7C, 0x0000010 - -gUnk_0810BD8C:: @ 0810BD8C - .incbin "baserom.gba", 0x10BD8C, 0x0000010 - -gUnk_0810BD9C:: @ 0810BD9C - .incbin "baserom.gba", 0x10BD9C, 0x0000010 - -gUnk_0810BDAC:: @ 0810BDAC - .incbin "baserom.gba", 0x10BDAC, 0x000000C - -gUnk_0810BDB8:: @ 0810BDB8 - .incbin "baserom.gba", 0x10BDB8, 0x000000C - -gUnk_0810BDC4:: @ 0810BDC4 - .incbin "baserom.gba", 0x10BDC4, 0x0000024 - -gUnk_0810BDE8:: @ 0810BDE8 - .incbin "baserom.gba", 0x10BDE8, 0x0000024 - -gUnk_0810BE0C:: @ 0810BE0C - .incbin "baserom.gba", 0x10BE0C, 0x0000003 - -gUnk_0810BE0F:: @ 0810BE0F - .incbin "baserom.gba", 0x10BE0F, 0x0000001 - -gUnk_0810BE10:: @ 0810BE10 - .incbin "baserom.gba", 0x10BE10, 0x0000031 - -gUnk_0810BE41:: @ 0810BE41 - .incbin "baserom.gba", 0x10BE41, 0x00000C2 - -gUnk_0810BF03:: @ 0810BF03 - .incbin "baserom.gba", 0x10BF03, 0x0000104 - -gUnk_0810C007:: @ 0810C007 - .incbin "baserom.gba", 0x10C007, 0x0000008 - -gUnk_0810C00F:: @ 0810C00F - .incbin "baserom.gba", 0x10C00F, 0x0000091 - -gUnk_0810C0A0:: @ 0810C0A0 - .incbin "baserom.gba", 0x10C0A0, 0x0000024 - -gUnk_0810C0C4:: @ 0810C0C4 - .incbin "baserom.gba", 0x10C0C4, 0x0000005 - -gUnk_0810C0C9:: @ 0810C0C9 - .incbin "baserom.gba", 0x10C0C9, 0x0000005 - -gUnk_0810C0CE:: @ 0810C0CE - .incbin "baserom.gba", 0x10C0CE, 0x0000005 - -gUnk_0810C0D3:: @ 0810C0D3 - .incbin "baserom.gba", 0x10C0D3, 0x0000005 - -gUnk_0810C0D8:: @ 0810C0D8 - .incbin "baserom.gba", 0x10C0D8, 0x0000011 - -gUnk_0810C0E9:: @ 0810C0E9 - .incbin "baserom.gba", 0x10C0E9, 0x0000011 - -gUnk_0810C0FA:: @ 0810C0FA - .incbin "baserom.gba", 0x10C0FA, 0x0000011 - -gUnk_0810C10B:: @ 0810C10B - .incbin "baserom.gba", 0x10C10B, 0x0000011 - -gUnk_0810C11C:: @ 0810C11C - .incbin "baserom.gba", 0x10C11C, 0x0000019 - -gUnk_0810C135:: @ 0810C135 - .incbin "baserom.gba", 0x10C135, 0x0000019 - -gUnk_0810C14E:: @ 0810C14E - .incbin "baserom.gba", 0x10C14E, 0x0000019 - -gUnk_0810C167:: @ 0810C167 - .incbin "baserom.gba", 0x10C167, 0x0000019 - -gUnk_0810C180:: @ 0810C180 - .incbin "baserom.gba", 0x10C180, 0x0000019 - -gUnk_0810C199:: @ 0810C199 - .incbin "baserom.gba", 0x10C199, 0x000000D - -gUnk_0810C1A6:: @ 0810C1A6 - .incbin "baserom.gba", 0x10C1A6, 0x0000018 - -gUnk_0810C1BE:: @ 0810C1BE - .incbin "baserom.gba", 0x10C1BE, 0x000000F - -gUnk_0810C1CD:: @ 0810C1CD - .incbin "baserom.gba", 0x10C1CD, 0x000000A - -gUnk_0810C1D7:: @ 0810C1D7 - .incbin "baserom.gba", 0x10C1D7, 0x0000005 - -gUnk_0810C1DC:: @ 0810C1DC - .incbin "baserom.gba", 0x10C1DC, 0x0000008 - -gUnk_0810C1E4:: @ 0810C1E4 - .incbin "baserom.gba", 0x10C1E4, 0x0000021 - -gUnk_0810C205:: @ 0810C205 - .incbin "baserom.gba", 0x10C205, 0x0000001 - -gUnk_0810C206:: @ 0810C206 - .incbin "baserom.gba", 0x10C206, 0x0000062 - -gUnk_0810C268:: @ 0810C268 - .incbin "baserom.gba", 0x10C268, 0x0000008 - -gUnk_0810C270:: @ 0810C270 - .incbin "baserom.gba", 0x10C270, 0x0000005 - -gUnk_0810C275:: @ 0810C275 - .incbin "baserom.gba", 0x10C275, 0x0000005 - -gUnk_0810C27A:: @ 0810C27A - .incbin "baserom.gba", 0x10C27A, 0x0000016 - -gUnk_0810C290:: @ 0810C290 - .incbin "baserom.gba", 0x10C290, 0x0000010 - -gUnk_0810C2A0:: @ 0810C2A0 - .incbin "baserom.gba", 0x10C2A0, 0x0000005 - -gUnk_0810C2A5:: @ 0810C2A5 - .incbin "baserom.gba", 0x10C2A5, 0x000000D - -gUnk_0810C2B2:: @ 0810C2B2 - .incbin "baserom.gba", 0x10C2B2, 0x000001A - -gStampBehaviors1:: @ 0810C2CC - .incbin "baserom.gba", 0x10C2CC, 0x0000010 - -gStampBehaviors2:: @ 0810C2DC - .incbin "baserom.gba", 0x10C2DC, 0x0000008 - -gUnk_0810C2E4:: @ 0810C2E4 - .incbin "baserom.gba", 0x10C2E4, 0x0000010 - -gUnk_0810C2F4:: @ 0810C2F4 - .incbin "baserom.gba", 0x10C2F4, 0x0000031 - -gUnk_0810C325:: @ 0810C325 - .incbin "baserom.gba", 0x10C325, 0x0000007 - -gUnk_0810C32C:: @ 0810C32C - .incbin "baserom.gba", 0x10C32C, 0x0000020 - -gUnk_0810C34C:: @ 0810C34C - .incbin "baserom.gba", 0x10C34C, 0x0000014 - -gUnk_0810C360:: @ 0810C360 - .incbin "baserom.gba", 0x10C360, 0x0000005 - -gUnk_0810C365:: @ 0810C365 - .incbin "baserom.gba", 0x10C365, 0x000001D - -gUnk_0810C382:: @ 0810C382 - .incbin "baserom.gba", 0x10C382, 0x000000E - -gUnk_0810C390:: @ 0810C390 - .incbin "baserom.gba", 0x10C390, 0x000000A - -gUnk_0810C39A:: @ 0810C39A - .incbin "baserom.gba", 0x10C39A, 0x0000026 - -gUnk_0810C3C0:: @ 0810C3C0 - .incbin "baserom.gba", 0x10C3C0, 0x0000008 - -gUnk_0810C3C8:: @ 0810C3C8 - .incbin "baserom.gba", 0x10C3C8, 0x0000019 - -gUnk_0810C3E1:: @ 0810C3E1 - .incbin "baserom.gba", 0x10C3E1, 0x0000011 - -gUnk_0810C3F2:: @ 0810C3F2 - .incbin "baserom.gba", 0x10C3F2, 0x0000011 - -gUnk_0810C403:: @ 0810C403 - .incbin "baserom.gba", 0x10C403, 0x0000011 - -gUnk_0810C414:: @ 0810C414 - .incbin "baserom.gba", 0x10C414, 0x0000001 - -gUnk_0810C415:: @ 0810C415 - .incbin "baserom.gba", 0x10C415, 0x0000013 - -gUnk_0810C428:: @ 0810C428 - .incbin "baserom.gba", 0x10C428, 0x0000008 - -gUnk_0810C430:: @ 0810C430 - .incbin "baserom.gba", 0x10C430, 0x0000005 - -gUnk_0810C435:: @ 0810C435 - .incbin "baserom.gba", 0x10C435, 0x0000008 - -gUnk_0810C43D:: @ 0810C43D - .incbin "baserom.gba", 0x10C43D, 0x0000008 - -gUnk_0810C445:: @ 0810C445 - .incbin "baserom.gba", 0x10C445, 0x0000005 - -gUnk_0810C44A:: @ 0810C44A - .incbin "baserom.gba", 0x10C44A, 0x000001E - -gUnk_0810C468:: @ 0810C468 - .incbin "baserom.gba", 0x10C468, 0x0000024 - -gUnk_0810C48C:: @ 0810C48C - .incbin "baserom.gba", 0x10C48C, 0x000000C - -gUnk_0810C498:: @ 0810C498 - .incbin "baserom.gba", 0x10C498, 0x0000008 - -gUnk_0810C4A0:: @ 0810C4A0 - .incbin "baserom.gba", 0x10C4A0, 0x0000005 - -gUnk_0810C4A5:: @ 0810C4A5 - .incbin "baserom.gba", 0x10C4A5, 0x0000005 - -gUnk_0810C4AA:: @ 0810C4AA - .incbin "baserom.gba", 0x10C4AA, 0x0000005 - -gUnk_0810C4AF:: @ 0810C4AF - .incbin "baserom.gba", 0x10C4AF, 0x0000005 - -gUnk_0810C4B4:: @ 0810C4B4 - .incbin "baserom.gba", 0x10C4B4, 0x0000015 - -gUnk_0810C4C9:: @ 0810C4C9 - .incbin "baserom.gba", 0x10C4C9, 0x0000015 - -gUnk_0810C4DE:: @ 0810C4DE - .incbin "baserom.gba", 0x10C4DE, 0x00000D1 - -gUnk_0810C5AF:: @ 0810C5AF - .incbin "baserom.gba", 0x10C5AF, 0x000000C - -gUnk_0810C5BB:: @ 0810C5BB - .incbin "baserom.gba", 0x10C5BB, 0x0000008 - -gUnk_0810C5C3:: @ 0810C5C3 - .incbin "baserom.gba", 0x10C5C3, 0x00000AB - -gUnk_0810C66E:: @ 0810C66E - .incbin "baserom.gba", 0x10C66E, 0x000001E - -gUnk_0810C68C:: @ 0810C68C - .incbin "baserom.gba", 0x10C68C, 0x000000C - -gUnk_0810C698:: @ 0810C698 - .incbin "baserom.gba", 0x10C698, 0x000004D - -gUnk_0810C6E5:: @ 0810C6E5 - .incbin "baserom.gba", 0x10C6E5, 0x000008D - -gUnk_0810C772:: @ 0810C772 - .incbin "baserom.gba", 0x10C772, 0x0000003 - -gUnk_0810C775:: @ 0810C775 - .incbin "baserom.gba", 0x10C775, 0x000000A - -gUnk_0810C77F:: @ 0810C77F - .incbin "baserom.gba", 0x10C77F, 0x000002D - -gUnk_0810C7AC:: @ 0810C7AC - .incbin "baserom.gba", 0x10C7AC, 0x0000008 - -gUnk_0810C7B4:: @ 0810C7B4 - .incbin "baserom.gba", 0x10C7B4, 0x000000A - -gUnk_0810C7BE:: @ 0810C7BE - .incbin "baserom.gba", 0x10C7BE, 0x000000B - -gUnk_0810C7C9:: @ 0810C7C9 - .incbin "baserom.gba", 0x10C7C9, 0x000000B - -gUnk_0810C7D4:: @ 0810C7D4 - .incbin "baserom.gba", 0x10C7D4, 0x0000030 - -gMailboxBehaviors:: @ 0810C804 - .incbin "baserom.gba", 0x10C804, 0x0000010 - -gUnk_0810C814:: @ 0810C814 - .incbin "baserom.gba", 0x10C814, 0x0000005 - -gUnk_0810C819:: @ 0810C819 - .incbin "baserom.gba", 0x10C819, 0x0000029 - -gUnk_0810C842:: @ 0810C842 - .incbin "baserom.gba", 0x10C842, 0x0000008 - -gUnk_0810C84A:: @ 0810C84A - .incbin "baserom.gba", 0x10C84A, 0x000001E - -gUnk_0810C868:: @ 0810C868 - .incbin "baserom.gba", 0x10C868, 0x0000024 - -gUnk_0810C88C:: @ 0810C88C - .incbin "baserom.gba", 0x10C88C, 0x0000008 - -gUnk_0810C894:: @ 0810C894 - .incbin "baserom.gba", 0x10C894, 0x0000008 - -gUnk_0810C89C:: @ 0810C89C - .incbin "baserom.gba", 0x10C89C, 0x0000011 - -gUnk_0810C8AD:: @ 0810C8AD - .incbin "baserom.gba", 0x10C8AD, 0x0000027 - -gUnk_0810C8D4:: @ 0810C8D4 - .incbin "baserom.gba", 0x10C8D4, 0x000000C - -gUnk_0810C8E0:: @ 0810C8E0 - .incbin "baserom.gba", 0x10C8E0, 0x0000010 - -gUnk_0810C8F0:: @ 0810C8F0 - .incbin "baserom.gba", 0x10C8F0, 0x0000078 - -gUnk_0810C968:: @ 0810C968 - .incbin "baserom.gba", 0x10C968, 0x000003D - -gUnk_0810C9A5:: @ 0810C9A5 - .incbin "baserom.gba", 0x10C9A5, 0x0000005 - -gUnk_0810C9AA:: @ 0810C9AA - .incbin "baserom.gba", 0x10C9AA, 0x0000005 - -gUnk_0810C9AF:: @ 0810C9AF - .incbin "baserom.gba", 0x10C9AF, 0x0000005 - -gUnk_0810C9B4:: @ 0810C9B4 - .incbin "baserom.gba", 0x10C9B4, 0x000003D - -gUnk_0810C9F1:: @ 0810C9F1 - .incbin "baserom.gba", 0x10C9F1, 0x000003D - -gUnk_0810CA2E:: @ 0810CA2E - .incbin "baserom.gba", 0x10CA2E, 0x000003E - -gUnk_0810CA6C:: @ 0810CA6C - .incbin "baserom.gba", 0x10CA6C, 0x0000034 - -gUnk_0810CAA0:: @ 0810CAA0 - .incbin "baserom.gba", 0x10CAA0, 0x000000C - -gUnk_0810CAAC:: @ 0810CAAC - .incbin "baserom.gba", 0x10CAAC, 0x0000050 - -gUnk_0810CAFC:: @ 0810CAFC - .incbin "baserom.gba", 0x10CAFC, 0x0000049 - -gUnk_0810CB45:: @ 0810CB45 - .incbin "baserom.gba", 0x10CB45, 0x0000005 - -gUnk_0810CB4A:: @ 0810CB4A - .incbin "baserom.gba", 0x10CB4A, 0x0000005 - -gUnk_0810CB4F:: @ 0810CB4F - .incbin "baserom.gba", 0x10CB4F, 0x0000005 - -gUnk_0810CB54:: @ 0810CB54 - .incbin "baserom.gba", 0x10CB54, 0x0000018 - -gUnk_0810CB6C:: @ 0810CB6C - .incbin "baserom.gba", 0x10CB6C, 0x000000C - -gUnk_0810CB78:: @ 0810CB78 - .incbin "baserom.gba", 0x10CB78, 0x0000048 - -gUnk_0810CBC0:: @ 0810CBC0 - .incbin "baserom.gba", 0x10CBC0, 0x000000D - -gUnk_0810CBCD:: @ 0810CBCD - .incbin "baserom.gba", 0x10CBCD, 0x000000B - -gUnk_0810CBD8:: @ 0810CBD8 - .incbin "baserom.gba", 0x10CBD8, 0x000000C - -gUnk_0810CBE4:: @ 0810CBE4 - .incbin "baserom.gba", 0x10CBE4, 0x0000020 - -gUnk_0810CC04:: @ 0810CC04 - .incbin "baserom.gba", 0x10CC04, 0x0000004 - -gUnk_0810CC08:: @ 0810CC08 - .incbin "baserom.gba", 0x10CC08, 0x0000180 - -gUnk_0810CD88:: @ 0810CD88 - .incbin "baserom.gba", 0x10CD88, 0x0000018 - -gUnk_0810CDA0:: @ 0810CDA0 - .incbin "baserom.gba", 0x10CDA0, 0x0000011 - -gUnk_0810CDB1:: @ 0810CDB1 - .incbin "baserom.gba", 0x10CDB1, 0x0000011 - -gUnk_0810CDC2:: @ 0810CDC2 - .incbin "baserom.gba", 0x10CDC2, 0x0000012 - -gUnk_0810CDD4:: @ 0810CDD4 - .incbin "baserom.gba", 0x10CDD4, 0x0000024 - -gUnk_0810CDF8:: @ 0810CDF8 - .incbin "baserom.gba", 0x10CDF8, 0x000000C - -gUnk_0810CE04:: @ 0810CE04 - .incbin "baserom.gba", 0x10CE04, 0x0000050 - -gUnk_0810CE54:: @ 0810CE54 - .incbin "baserom.gba", 0x10CE54, 0x0000013 - -gUnk_0810CE67:: @ 0810CE67 - .incbin "baserom.gba", 0x10CE67, 0x000003A - -gUnk_0810CEA1:: @ 0810CEA1 - .incbin "baserom.gba", 0x10CEA1, 0x000004D - -gUnk_0810CEEE:: @ 0810CEEE - .incbin "baserom.gba", 0x10CEEE, 0x0000021 - -gUnk_0810CF0F:: @ 0810CF0F - .incbin "baserom.gba", 0x10CF0F, 0x0000005 - -gUnk_0810CF14:: @ 0810CF14 - .incbin "baserom.gba", 0x10CF14, 0x0000005 - -gUnk_0810CF19:: @ 0810CF19 - .incbin "baserom.gba", 0x10CF19, 0x0000007 - -gUnk_0810CF20:: @ 0810CF20 - .incbin "baserom.gba", 0x10CF20, 0x000002A - -gUnk_0810CF4A:: @ 0810CF4A - .incbin "baserom.gba", 0x10CF4A, 0x0000002 - -gUnk_0810CF4C:: @ 0810CF4C - .incbin "baserom.gba", 0x10CF4C, 0x000002B - -gUnk_0810CF77:: @ 0810CF77 - .incbin "baserom.gba", 0x10CF77, 0x0000010 - -gUnk_0810CF87:: @ 0810CF87 - .incbin "baserom.gba", 0x10CF87, 0x0000057 - -gUnk_0810CFDE:: @ 0810CFDE - .incbin "baserom.gba", 0x10CFDE, 0x0000039 - -gUnk_0810D017:: @ 0810D017 - .incbin "baserom.gba", 0x10D017, 0x000008D - -gUnk_0810D0A4:: @ 0810D0A4 - .incbin "baserom.gba", 0x10D0A4, 0x0000008 - -gUnk_0810D0AC:: @ 0810D0AC - .incbin "baserom.gba", 0x10D0AC, 0x000001E - -gUnk_0810D0CA:: @ 0810D0CA - .incbin "baserom.gba", 0x10D0CA, 0x0000009 - -gUnk_0810D0D3:: @ 0810D0D3 - .incbin "baserom.gba", 0x10D0D3, 0x0000079 - -gUnk_0810D14C:: @ 0810D14C - .incbin "baserom.gba", 0x10D14C, 0x0000227 - -gUnk_0810D373:: @ 0810D373 - .incbin "baserom.gba", 0x10D373, 0x0000003 - -gUnk_0810D376:: @ 0810D376 - .incbin "baserom.gba", 0x10D376, 0x0000013 - -gUnk_0810D389:: @ 0810D389 - .incbin "baserom.gba", 0x10D389, 0x000003E - -gUnk_0810D3C7:: @ 0810D3C7 - .incbin "baserom.gba", 0x10D3C7, 0x0000040 - -gUnk_0810D407:: @ 0810D407 - .incbin "baserom.gba", 0x10D407, 0x00000C7 - -gUnk_0810D4CE:: @ 0810D4CE - .incbin "baserom.gba", 0x10D4CE, 0x0000007 - -gUnk_0810D4D5:: @ 0810D4D5 - .incbin "baserom.gba", 0x10D4D5, 0x000003C - -gUnk_0810D511:: @ 0810D511 - .incbin "baserom.gba", 0x10D511, 0x0000006 - -gUnk_0810D517:: @ 0810D517 - .incbin "baserom.gba", 0x10D517, 0x0000039 - -gUnk_0810D550:: @ 0810D550 - .incbin "baserom.gba", 0x10D550, 0x0000024 - -gUnk_0810D574:: @ 0810D574 - .incbin "baserom.gba", 0x10D574, 0x000005F - -gUnk_0810D5D3:: @ 0810D5D3 - .incbin "baserom.gba", 0x10D5D3, 0x00000DE - -gUnk_0810D6B1:: @ 0810D6B1 - .incbin "baserom.gba", 0x10D6B1, 0x0000056 - -gUnk_0810D707:: @ 0810D707 - .incbin "baserom.gba", 0x10D707, 0x00000D2 - -gUnk_0810D7D9:: @ 0810D7D9 - .incbin "baserom.gba", 0x10D7D9, 0x000002E - -gUnk_0810D807:: @ 0810D807 - .incbin "baserom.gba", 0x10D807, 0x0000021 - -gUnk_0810D828:: @ 0810D828 - .incbin "baserom.gba", 0x10D828, 0x00000DF - -gUnk_0810D907:: @ 0810D907 - .incbin "baserom.gba", 0x10D907, 0x0000100 - -gUnk_0810DA07:: @ 0810DA07 - .incbin "baserom.gba", 0x10DA07, 0x0000007 - -gUnk_0810DA0E:: @ 0810DA0E - .incbin "baserom.gba", 0x10DA0E, 0x00000B2 - -gUnk_0810DAC0:: @ 0810DAC0 - .incbin "baserom.gba", 0x10DAC0, 0x0000041 - -gUnk_0810DB01:: @ 0810DB01 - .incbin "baserom.gba", 0x10DB01, 0x0000003 - -gUnk_0810DB04:: @ 0810DB04 - .incbin "baserom.gba", 0x10DB04, 0x0000005 - -gUnk_0810DB09:: @ 0810DB09 - .incbin "baserom.gba", 0x10DB09, 0x00000FB - -gUnk_0810DC04:: @ 0810DC04 - .incbin "baserom.gba", 0x10DC04, 0x0000017 - -gUnk_0810DC1B:: @ 0810DC1B - .incbin "baserom.gba", 0x10DC1B, 0x00000C0 - -gUnk_0810DCDB:: @ 0810DCDB - .incbin "baserom.gba", 0x10DCDB, 0x0000001 - -gUnk_0810DCDC:: @ 0810DCDC - .incbin "baserom.gba", 0x10DCDC, 0x000012B - -gUnk_0810DE07:: @ 0810DE07 - .incbin "baserom.gba", 0x10DE07, 0x0000046 - -gUnk_0810DE4D:: @ 0810DE4D - .incbin "baserom.gba", 0x10DE4D, 0x0000293 - -gUnk_0810E0E0:: @ 0810E0E0 - .incbin "baserom.gba", 0x10E0E0, 0x0000011 - -gUnk_0810E0F1:: @ 0810E0F1 - .incbin "baserom.gba", 0x10E0F1, 0x000000C - -gUnk_0810E0FD:: @ 0810E0FD - .incbin "baserom.gba", 0x10E0FD, 0x00000C6 - -gUnk_0810E1C3:: @ 0810E1C3 - .incbin "baserom.gba", 0x10E1C3, 0x000002D - -gUnk_0810E1F0:: @ 0810E1F0 - .incbin "baserom.gba", 0x10E1F0, 0x00000FD - -gUnk_0810E2ED:: @ 0810E2ED - .incbin "baserom.gba", 0x10E2ED, 0x0000116 - -gUnk_0810E403:: @ 0810E403 - .incbin "baserom.gba", 0x10E403, 0x000000A - -gUnk_0810E40D:: @ 0810E40D - .incbin "baserom.gba", 0x10E40D, 0x0000009 - -gUnk_0810E416:: @ 0810E416 - .incbin "baserom.gba", 0x10E416, 0x0000072 - -gUnk_0810E488:: @ 0810E488 - .incbin "baserom.gba", 0x10E488, 0x000008E - -gUnk_0810E516:: @ 0810E516 - .incbin "baserom.gba", 0x10E516, 0x000007B - -gUnk_0810E591:: @ 0810E591 - .incbin "baserom.gba", 0x10E591, 0x000005A - -gUnk_0810E5EB:: @ 0810E5EB - .incbin "baserom.gba", 0x10E5EB, 0x000001C - -gUnk_0810E607:: @ 0810E607 - .incbin "baserom.gba", 0x10E607, 0x00000E1 - -gUnk_0810E6E8:: @ 0810E6E8 - .incbin "baserom.gba", 0x10E6E8, 0x0000021 - -gUnk_0810E709:: @ 0810E709 - .incbin "baserom.gba", 0x10E709, 0x00000DB - -gUnk_0810E7E4:: @ 0810E7E4 - .incbin "baserom.gba", 0x10E7E4, 0x000000B - -gUnk_0810E7EF:: @ 0810E7EF - .incbin "baserom.gba", 0x10E7EF, 0x0000009 - -gUnk_0810E7F8:: @ 0810E7F8 - .incbin "baserom.gba", 0x10E7F8, 0x000000F - -gUnk_0810E807:: @ 0810E807 - .incbin "baserom.gba", 0x10E807, 0x0000001 - -gUnk_0810E808:: @ 0810E808 - .incbin "baserom.gba", 0x10E808, 0x00000F0 - -gUnk_0810E8F8:: @ 0810E8F8 - .incbin "baserom.gba", 0x10E8F8, 0x00000F8 - -gUnk_0810E9F0:: @ 0810E9F0 - .incbin "baserom.gba", 0x10E9F0, 0x0000100 - -gUnk_0810EAF0:: @ 0810EAF0 - .incbin "baserom.gba", 0x10EAF0, 0x000000E - -gUnk_0810EAFE:: @ 0810EAFE - .incbin "baserom.gba", 0x10EAFE, 0x000003E - -gUnk_0810EB3C:: @ 0810EB3C - .incbin "baserom.gba", 0x10EB3C, 0x000001F - -gUnk_0810EB5B:: @ 0810EB5B - .incbin "baserom.gba", 0x10EB5B, 0x0000064 - -gUnk_0810EBBF:: @ 0810EBBF - .incbin "baserom.gba", 0x10EBBF, 0x0000010 - -gUnk_0810EBCF:: @ 0810EBCF - .incbin "baserom.gba", 0x10EBCF, 0x0000010 - -gUnk_0810EBDF:: @ 0810EBDF - .incbin "baserom.gba", 0x10EBDF, 0x0000029 - -gUnk_0810EC08:: @ 0810EC08 - .incbin "baserom.gba", 0x10EC08, 0x00000FC - -gUnk_0810ED04:: @ 0810ED04 - .incbin "baserom.gba", 0x10ED04, 0x0000005 - -gUnk_0810ED09:: @ 0810ED09 - .incbin "baserom.gba", 0x10ED09, 0x00000E0 - -gUnk_0810EDE9:: @ 0810EDE9 - .incbin "baserom.gba", 0x10EDE9, 0x0000008 - -gUnk_0810EDF1:: @ 0810EDF1 - .incbin "baserom.gba", 0x10EDF1, 0x0000036 - -gUnk_0810EE27:: @ 0810EE27 - .incbin "baserom.gba", 0x10EE27, 0x0000056 - -gUnk_0810EE7D:: @ 0810EE7D - .incbin "baserom.gba", 0x10EE7D, 0x0000080 - -gUnk_0810EEFD:: @ 0810EEFD - .incbin "baserom.gba", 0x10EEFD, 0x0000148 - -gUnk_0810F045:: @ 0810F045 - .incbin "baserom.gba", 0x10F045, 0x00000AA - -gUnk_0810F0EF:: @ 0810F0EF - .incbin "baserom.gba", 0x10F0EF, 0x0000001 - -gUnk_0810F0F0:: @ 0810F0F0 - .incbin "baserom.gba", 0x10F0F0, 0x0000208 - -gUnk_0810F2F8:: @ 0810F2F8 - .incbin "baserom.gba", 0x10F2F8, 0x0000006 - -gUnk_0810F2FE:: @ 0810F2FE - .incbin "baserom.gba", 0x10F2FE, 0x0000100 - -gUnk_0810F3FE:: @ 0810F3FE - .incbin "baserom.gba", 0x10F3FE, 0x0000002 - -gUnk_0810F400:: @ 0810F400 - .incbin "baserom.gba", 0x10F400, 0x00000E6 - -gUnk_0810F4E6:: @ 0810F4E6 - .incbin "baserom.gba", 0x10F4E6, 0x000000B - -gUnk_0810F4F1:: @ 0810F4F1 - .incbin "baserom.gba", 0x10F4F1, 0x0000007 - -gUnk_0810F4F8:: @ 0810F4F8 - .incbin "baserom.gba", 0x10F4F8, 0x000002C - -gUnk_0810F524:: @ 0810F524 - .incbin "baserom.gba", 0x10F524, 0x0000020 - -gUnk_0810F544:: @ 0810F544 - .incbin "baserom.gba", 0x10F544, 0x000000C - -gUnk_0810F550:: @ 0810F550 - .incbin "baserom.gba", 0x10F550, 0x0000010 - -gUnk_0810F560:: @ 0810F560 - .incbin "baserom.gba", 0x10F560, 0x000003A - -gUnk_0810F59A:: @ 0810F59A - .incbin "baserom.gba", 0x10F59A, 0x000003A - -gUnk_0810F5D4:: @ 0810F5D4 - .incbin "baserom.gba", 0x10F5D4, 0x000001F - -gUnk_0810F5F3:: @ 0810F5F3 - .incbin "baserom.gba", 0x10F5F3, 0x0000005 - -gUnk_0810F5F8:: @ 0810F5F8 - .incbin "baserom.gba", 0x10F5F8, 0x0000016 - -gUnk_0810F60E:: @ 0810F60E - .incbin "baserom.gba", 0x10F60E, 0x0000005 - -gUnk_0810F613:: @ 0810F613 - .incbin "baserom.gba", 0x10F613, 0x0000007 - -gUnk_0810F61A:: @ 0810F61A - .incbin "baserom.gba", 0x10F61A, 0x000002E - -gUnk_0810F648:: @ 0810F648 - .incbin "baserom.gba", 0x10F648, 0x000003A - -gUnk_0810F682:: @ 0810F682 - .incbin "baserom.gba", 0x10F682, 0x000003A - -gUnk_0810F6BC:: @ 0810F6BC - .incbin "baserom.gba", 0x10F6BC, 0x0000018 - -gUnk_0810F6D4:: @ 0810F6D4 - .incbin "baserom.gba", 0x10F6D4, 0x0000010 - -gUnk_0810F6E4:: @ 0810F6E4 - .incbin "baserom.gba", 0x10F6E4, 0x0000002 - -gUnk_0810F6E6:: @ 0810F6E6 - .incbin "baserom.gba", 0x10F6E6, 0x0000003 - -gUnk_0810F6E9:: @ 0810F6E9 - .incbin "baserom.gba", 0x10F6E9, 0x0000005 - -gUnk_0810F6EE:: @ 0810F6EE - .incbin "baserom.gba", 0x10F6EE, 0x0000001 - -gUnk_0810F6EF:: @ 0810F6EF - .incbin "baserom.gba", 0x10F6EF, 0x0000004 - -gUnk_0810F6F3:: @ 0810F6F3 - .incbin "baserom.gba", 0x10F6F3, 0x0000005 - -gUnk_0810F6F8:: @ 0810F6F8 - .incbin "baserom.gba", 0x10F6F8, 0x0000005 - -gUnk_0810F6FD:: @ 0810F6FD - .incbin "baserom.gba", 0x10F6FD, 0x0000003 - -gUnk_0810F700:: @ 0810F700 - .incbin "baserom.gba", 0x10F700, 0x0000002 - -gUnk_0810F702:: @ 0810F702 - .incbin "baserom.gba", 0x10F702, 0x0000005 - -gUnk_0810F707:: @ 0810F707 - .incbin "baserom.gba", 0x10F707, 0x0000005 - -gUnk_0810F70C:: @ 0810F70C - .incbin "baserom.gba", 0x10F70C, 0x0000011 - -gUnk_0810F71D:: @ 0810F71D - .incbin "baserom.gba", 0x10F71D, 0x0000011 - -gUnk_0810F72E:: @ 0810F72E - .incbin "baserom.gba", 0x10F72E, 0x0000011 - -gUnk_0810F73F:: @ 0810F73F - .incbin "baserom.gba", 0x10F73F, 0x0000011 - -gUnk_0810F750:: @ 0810F750 - .incbin "baserom.gba", 0x10F750, 0x0000011 - -gUnk_0810F761:: @ 0810F761 - .incbin "baserom.gba", 0x10F761, 0x0000011 - -gUnk_0810F772:: @ 0810F772 - .incbin "baserom.gba", 0x10F772, 0x0000011 - -gUnk_0810F783:: @ 0810F783 - .incbin "baserom.gba", 0x10F783, 0x0000011 - -gUnk_0810F794:: @ 0810F794 - .incbin "baserom.gba", 0x10F794, 0x0000005 - -gUnk_0810F799:: @ 0810F799 - .incbin "baserom.gba", 0x10F799, 0x0000025 - -gUnk_0810F7BE:: @ 0810F7BE - .incbin "baserom.gba", 0x10F7BE, 0x0000005 - -gUnk_0810F7C3:: @ 0810F7C3 - .incbin "baserom.gba", 0x10F7C3, 0x0000005 - -gUnk_0810F7C8:: @ 0810F7C8 - .incbin "baserom.gba", 0x10F7C8, 0x0000020 - -gUnk_0810F7E8:: @ 0810F7E8 - .incbin "baserom.gba", 0x10F7E8, 0x0000003 - -gUnk_0810F7EB:: @ 0810F7EB - .incbin "baserom.gba", 0x10F7EB, 0x0000003 - -gUnk_0810F7EE:: @ 0810F7EE - .incbin "baserom.gba", 0x10F7EE, 0x000000A - -gUnk_0810F7F8:: @ 0810F7F8 - .incbin "baserom.gba", 0x10F7F8, 0x0000005 - -gUnk_0810F7FD:: @ 0810F7FD - .incbin "baserom.gba", 0x10F7FD, 0x0000003 - -gUnk_0810F800:: @ 0810F800 - .incbin "baserom.gba", 0x10F800, 0x0000002 - -gUnk_0810F802:: @ 0810F802 - .incbin "baserom.gba", 0x10F802, 0x0000006 - -gUnk_0810F808:: @ 0810F808 - .incbin "baserom.gba", 0x10F808, 0x000000C - -gUnk_0810F814:: @ 0810F814 - .incbin "baserom.gba", 0x10F814, 0x0000060 - -gUnk_0810F874:: @ 0810F874 - .incbin "baserom.gba", 0x10F874, 0x0000018 - -gUnk_0810F88C:: @ 0810F88C - .incbin "baserom.gba", 0x10F88C, 0x0000008 - -gUnk_0810F894:: @ 0810F894 - .incbin "baserom.gba", 0x10F894, 0x0000024 - -gUnk_0810F8B8:: @ 0810F8B8 - .incbin "baserom.gba", 0x10F8B8, 0x0000018 - -gUnk_0810F8D0:: @ 0810F8D0 - .incbin "baserom.gba", 0x10F8D0, 0x0000014 - -gUnk_0810F8E4:: @ 0810F8E4 - .incbin "baserom.gba", 0x10F8E4, 0x0000005 - -gUnk_0810F8E9:: @ 0810F8E9 - .incbin "baserom.gba", 0x10F8E9, 0x0000005 - -gUnk_0810F8EE:: @ 0810F8EE - .incbin "baserom.gba", 0x10F8EE, 0x0000001 - -gUnk_0810F8EF:: @ 0810F8EF - .incbin "baserom.gba", 0x10F8EF, 0x0000004 - -gUnk_0810F8F3:: @ 0810F8F3 - .incbin "baserom.gba", 0x10F8F3, 0x0000001 - -gUnk_0810F8F4:: @ 0810F8F4 - .incbin "baserom.gba", 0x10F8F4, 0x0000004 - -gUnk_0810F8F8:: @ 0810F8F8 - .incbin "baserom.gba", 0x10F8F8, 0x0000001 - -gUnk_0810F8F9:: @ 0810F8F9 - .incbin "baserom.gba", 0x10F8F9, 0x0000010 - -gUnk_0810F909:: @ 0810F909 - .incbin "baserom.gba", 0x10F909, 0x0000011 - -gUnk_0810F91A:: @ 0810F91A - .incbin "baserom.gba", 0x10F91A, 0x0000011 - -gUnk_0810F92B:: @ 0810F92B - .incbin "baserom.gba", 0x10F92B, 0x0000011 - -gUnk_0810F93C:: @ 0810F93C - .incbin "baserom.gba", 0x10F93C, 0x0000008 - -gUnk_0810F944:: @ 0810F944 - .incbin "baserom.gba", 0x10F944, 0x0000028 - -gUnk_0810F96C:: @ 0810F96C - .incbin "baserom.gba", 0x10F96C, 0x0000005 - -gUnk_0810F971:: @ 0810F971 - .incbin "baserom.gba", 0x10F971, 0x0000005 - -gUnk_0810F976:: @ 0810F976 - .incbin "baserom.gba", 0x10F976, 0x0000005 - -gUnk_0810F97B:: @ 0810F97B - .incbin "baserom.gba", 0x10F97B, 0x0000011 - -gUnk_0810F98C:: @ 0810F98C - .incbin "baserom.gba", 0x10F98C, 0x0000024 - -gUnk_0810F9B0:: @ 0810F9B0 - .incbin "baserom.gba", 0x10F9B0, 0x0000005 - -gUnk_0810F9B5:: @ 0810F9B5 - .incbin "baserom.gba", 0x10F9B5, 0x0000005 - -gUnk_0810F9BA:: @ 0810F9BA - .incbin "baserom.gba", 0x10F9BA, 0x0000005 - -gUnk_0810F9BF:: @ 0810F9BF - .incbin "baserom.gba", 0x10F9BF, 0x0000011 - -gUnk_0810F9D0:: @ 0810F9D0 - .incbin "baserom.gba", 0x10F9D0, 0x0000020 - -gUnk_0810F9F0:: @ 0810F9F0 - .incbin "baserom.gba", 0x10F9F0, 0x0000004 - -gUnk_0810F9F4:: @ 0810F9F4 - .incbin "baserom.gba", 0x10F9F4, 0x0000004 - -gUnk_0810F9F8:: @ 0810F9F8 - .incbin "baserom.gba", 0x10F9F8, 0x0000001 - -gUnk_0810F9F9:: @ 0810F9F9 - .incbin "baserom.gba", 0x10F9F9, 0x0000005 - -gUnk_0810F9FE:: @ 0810F9FE - .incbin "baserom.gba", 0x10F9FE, 0x0000002 - -gUnk_0810FA00:: @ 0810FA00 - .incbin "baserom.gba", 0x10FA00, 0x0000003 - -gUnk_0810FA03:: @ 0810FA03 - .incbin "baserom.gba", 0x10FA03, 0x0000011 - -gUnk_0810FA14:: @ 0810FA14 - .incbin "baserom.gba", 0x10FA14, 0x0000018 - -gUnk_0810FA2C:: @ 0810FA2C - .incbin "baserom.gba", 0x10FA2C, 0x000000C - -gUnk_0810FA38:: @ 0810FA38 - .incbin "baserom.gba", 0x10FA38, 0x000000C - -gUnk_0810FA44:: @ 0810FA44 - .incbin "baserom.gba", 0x10FA44, 0x0000010 - -gUnk_0810FA54:: @ 0810FA54 - .incbin "baserom.gba", 0x10FA54, 0x0000006 - -gUnk_0810FA5A:: @ 0810FA5A - .incbin "baserom.gba", 0x10FA5A, 0x0000097 - -gUnk_0810FAF1:: @ 0810FAF1 - .incbin "baserom.gba", 0x10FAF1, 0x0000002 - -gUnk_0810FAF3:: @ 0810FAF3 - .incbin "baserom.gba", 0x10FAF3, 0x0000004 - -gUnk_0810FAF7:: @ 0810FAF7 - .incbin "baserom.gba", 0x10FAF7, 0x000002D - -gUnk_0810FB24:: @ 0810FB24 - .incbin "baserom.gba", 0x10FB24, 0x0000015 - -gUnk_0810FB39:: @ 0810FB39 - .incbin "baserom.gba", 0x10FB39, 0x0000015 - -gUnk_0810FB4E:: @ 0810FB4E - .incbin "baserom.gba", 0x10FB4E, 0x0000015 - -gUnk_0810FB63:: @ 0810FB63 - .incbin "baserom.gba", 0x10FB63, 0x0000015 - -gUnk_0810FB78:: @ 0810FB78 - .incbin "baserom.gba", 0x10FB78, 0x0000005 - -gUnk_0810FB7D:: @ 0810FB7D - .incbin "baserom.gba", 0x10FB7D, 0x0000005 - -gUnk_0810FB82:: @ 0810FB82 - .incbin "baserom.gba", 0x10FB82, 0x0000005 - -gUnk_0810FB87:: @ 0810FB87 - .incbin "baserom.gba", 0x10FB87, 0x0000005 - -gUnk_0810FB8C:: @ 0810FB8C - .incbin "baserom.gba", 0x10FB8C, 0x0000021 - -gUnk_0810FBAD:: @ 0810FBAD - .incbin "baserom.gba", 0x10FBAD, 0x0000023 - -gUnk_0810FBD0:: @ 0810FBD0 - .incbin "baserom.gba", 0x10FBD0, 0x000001B - -gUnk_0810FBEB:: @ 0810FBEB - .incbin "baserom.gba", 0x10FBEB, 0x000000E - -gUnk_0810FBF9:: @ 0810FBF9 - .incbin "baserom.gba", 0x10FBF9, 0x0000003 - -gUnk_0810FBFC:: @ 0810FBFC - .incbin "baserom.gba", 0x10FBFC, 0x000000C - -gUnk_0810FC08:: @ 0810FC08 - .incbin "baserom.gba", 0x10FC08, 0x0000048 - -gUnk_0810FC50:: @ 0810FC50 - .incbin "baserom.gba", 0x10FC50, 0x0000004 - -gUnk_0810FC54:: @ 0810FC54 - .incbin "baserom.gba", 0x10FC54, 0x000000A - -gUnk_0810FC5E:: @ 0810FC5E - .incbin "baserom.gba", 0x10FC5E, 0x000000A - -gUnk_0810FC68:: @ 0810FC68 - .incbin "baserom.gba", 0x10FC68, 0x0000045 - -gUnk_0810FCAD:: @ 0810FCAD - .incbin "baserom.gba", 0x10FCAD, 0x0000021 - -gUnk_0810FCCE:: @ 0810FCCE - .incbin "baserom.gba", 0x10FCCE, 0x0000026 - -gUnk_0810FCF4:: @ 0810FCF4 - .incbin "baserom.gba", 0x10FCF4, 0x0000022 - -gUnk_0810FD16:: @ 0810FD16 - .incbin "baserom.gba", 0x10FD16, 0x0000056 - -gUnk_0810FD6C:: @ 0810FD6C - .incbin "baserom.gba", 0x10FD6C, 0x0000034 - -gUnk_0810FDA0:: @ 0810FDA0 - .incbin "baserom.gba", 0x10FDA0, 0x0000004 - -gUnk_0810FDA4:: @ 0810FDA4 - .incbin "baserom.gba", 0x10FDA4, 0x0000014 - -gUnk_0810FDB8:: @ 0810FDB8 - .incbin "baserom.gba", 0x10FDB8, 0x0000010 - -gUnk_0810FDC8:: @ 0810FDC8 - .incbin "baserom.gba", 0x10FDC8, 0x0000020 - -gUnk_0810FDE8:: @ 0810FDE8 - .incbin "baserom.gba", 0x10FDE8, 0x0000005 - -gUnk_0810FDED:: @ 0810FDED - .incbin "baserom.gba", 0x10FDED, 0x0000005 - -gUnk_0810FDF2:: @ 0810FDF2 - .incbin "baserom.gba", 0x10FDF2, 0x0000005 - -gUnk_0810FDF7:: @ 0810FDF7 - .incbin "baserom.gba", 0x10FDF7, 0x000000C - -gUnk_0810FE03:: @ 0810FE03 - .incbin "baserom.gba", 0x10FE03, 0x0000005 - -gUnk_0810FE08:: @ 0810FE08 - .incbin "baserom.gba", 0x10FE08, 0x0000017 - -gUnk_0810FE1F:: @ 0810FE1F - .incbin "baserom.gba", 0x10FE1F, 0x0000049 - -gUnk_0810FE68:: @ 0810FE68 - .incbin "baserom.gba", 0x10FE68, 0x0000028 - -gUnk_0810FE90:: @ 0810FE90 - .incbin "baserom.gba", 0x10FE90, 0x0000020 - -gUnk_0810FEB0:: @ 0810FEB0 - .incbin "baserom.gba", 0x10FEB0, 0x000000C - -gUnk_0810FEBC:: @ 0810FEBC - .incbin "baserom.gba", 0x10FEBC, 0x0000008 - -gUnk_0810FEC4:: @ 0810FEC4 - .incbin "baserom.gba", 0x10FEC4, 0x0000014 - -gUnk_0810FED8:: @ 0810FED8 - .incbin "baserom.gba", 0x10FED8, 0x0000008 - -gUnk_0810FEE0:: @ 0810FEE0 - .incbin "baserom.gba", 0x10FEE0, 0x0000005 - -gUnk_0810FEE5:: @ 0810FEE5 - .incbin "baserom.gba", 0x10FEE5, 0x0000005 - -gUnk_0810FEEA:: @ 0810FEEA - .incbin "baserom.gba", 0x10FEEA, 0x0000005 - -gUnk_0810FEEF:: @ 0810FEEF - .incbin "baserom.gba", 0x10FEEF, 0x0000002 - -gUnk_0810FEF1:: @ 0810FEF1 - .incbin "baserom.gba", 0x10FEF1, 0x0000003 - -gUnk_0810FEF4:: @ 0810FEF4 - .incbin "baserom.gba", 0x10FEF4, 0x0000001 - -gUnk_0810FEF5:: @ 0810FEF5 - .incbin "baserom.gba", 0x10FEF5, 0x0000003 - -gUnk_0810FEF8:: @ 0810FEF8 - .incbin "baserom.gba", 0x10FEF8, 0x000000B - -gUnk_0810FF03:: @ 0810FF03 - .incbin "baserom.gba", 0x10FF03, 0x0000002 - -gUnk_0810FF05:: @ 0810FF05 - .incbin "baserom.gba", 0x10FF05, 0x000000A - -gUnk_0810FF0F:: @ 0810FF0F - .incbin "baserom.gba", 0x10FF0F, 0x0000001 - -gUnk_0810FF10:: @ 0810FF10 - .incbin "baserom.gba", 0x10FF10, 0x0000006 - -gUnk_0810FF16:: @ 0810FF16 - .incbin "baserom.gba", 0x10FF16, 0x0000011 - -gUnk_0810FF27:: @ 0810FF27 - .incbin "baserom.gba", 0x10FF27, 0x0000001 - -gUnk_0810FF28:: @ 0810FF28 - .incbin "baserom.gba", 0x10FF28, 0x0000010 - -gUnk_0810FF38:: @ 0810FF38 - .incbin "baserom.gba", 0x10FF38, 0x0000003 - -gUnk_0810FF3B:: @ 0810FF3B - .incbin "baserom.gba", 0x10FF3B, 0x0000021 - -gUnk_0810FF5C:: @ 0810FF5C - .incbin "baserom.gba", 0x10FF5C, 0x0000008 - -gUnk_0810FF64:: @ 0810FF64 - .incbin "baserom.gba", 0x10FF64, 0x000000C - -gUnk_0810FF70:: @ 0810FF70 - .incbin "baserom.gba", 0x10FF70, 0x0000005 - -gUnk_0810FF75:: @ 0810FF75 - .incbin "baserom.gba", 0x10FF75, 0x0000005 - -gUnk_0810FF7A:: @ 0810FF7A - .incbin "baserom.gba", 0x10FF7A, 0x0000004 - -gUnk_0810FF7E:: @ 0810FF7E - .incbin "baserom.gba", 0x10FF7E, 0x0000001 - -gUnk_0810FF7F:: @ 0810FF7F - .incbin "baserom.gba", 0x10FF7F, 0x0000005 - -gUnk_0810FF84:: @ 0810FF84 - .incbin "baserom.gba", 0x10FF84, 0x0000021 - -gUnk_0810FFA5:: @ 0810FFA5 - .incbin "baserom.gba", 0x10FFA5, 0x0000011 - -gUnk_0810FFB6:: @ 0810FFB6 - .incbin "baserom.gba", 0x10FFB6, 0x000000B - -gUnk_0810FFC1:: @ 0810FFC1 - .incbin "baserom.gba", 0x10FFC1, 0x0000016 - -gUnk_0810FFD7:: @ 0810FFD7 - .incbin "baserom.gba", 0x10FFD7, 0x000001F - -gUnk_0810FFF6:: @ 0810FFF6 - .incbin "baserom.gba", 0x10FFF6, 0x0000008 - -gUnk_0810FFFE:: @ 0810FFFE - .incbin "baserom.gba", 0x10FFFE, 0x0000002 - -gUnk_08110000:: @ 08110000 - .incbin "baserom.gba", 0x110000, 0x0000007 - -gUnk_08110007:: @ 08110007 - .incbin "baserom.gba", 0x110007, 0x000000D - -gUnk_08110014:: @ 08110014 - .incbin "baserom.gba", 0x110014, 0x0000013 - -gUnk_08110027:: @ 08110027 - .incbin "baserom.gba", 0x110027, 0x0000001 - -gUnk_08110028:: @ 08110028 - .incbin "baserom.gba", 0x110028, 0x0000044 - -gUnk_0811006C:: @ 0811006C - .incbin "baserom.gba", 0x11006C, 0x0000014 - -gUnk_08110080:: @ 08110080 - .incbin "baserom.gba", 0x110080, 0x0000008 - -gUnk_08110088:: @ 08110088 - .incbin "baserom.gba", 0x110088, 0x0000005 - -gUnk_0811008D:: @ 0811008D - .incbin "baserom.gba", 0x11008D, 0x0000005 - -gUnk_08110092:: @ 08110092 - .incbin "baserom.gba", 0x110092, 0x0000005 - -gUnk_08110097:: @ 08110097 - .incbin "baserom.gba", 0x110097, 0x0000021 - -gUnk_081100B8:: @ 081100B8 - .incbin "baserom.gba", 0x1100B8, 0x000002C - -gUnk_081100E4:: @ 081100E4 - .incbin "baserom.gba", 0x1100E4, 0x000002C - -gUnk_08110110:: @ 08110110 - .incbin "baserom.gba", 0x110110, 0x0000008 - -gMilkCartBehaviors:: @ 08110118 - .incbin "baserom.gba", 0x110118, 0x0000008 - -gUnk_08110120:: @ 08110120 - .incbin "baserom.gba", 0x110120, 0x0000005 - -gUnk_08110125:: @ 08110125 - .incbin "baserom.gba", 0x110125, 0x0000013 - -gUnk_08110138:: @ 08110138 - .incbin "baserom.gba", 0x110138, 0x0000009 - -gUnk_08110141:: @ 08110141 - .incbin "baserom.gba", 0x110141, 0x000001B - -gUnk_0811015C:: @ 0811015C - .incbin "baserom.gba", 0x11015C, 0x0000008 - -gUnk_08110164:: @ 08110164 - .incbin "baserom.gba", 0x110164, 0x0000018 - -gUnk_0811017C:: @ 0811017C - .incbin "baserom.gba", 0x11017C, 0x000000C - -gUnk_08110188:: @ 08110188 - .incbin "baserom.gba", 0x110188, 0x0000055 - -gUnk_081101DD:: @ 081101DD - .incbin "baserom.gba", 0x1101DD, 0x000001A - -gUnk_081101F7:: @ 081101F7 - .incbin "baserom.gba", 0x1101F7, 0x0000037 - -gUnk_0811022E:: @ 0811022E - .incbin "baserom.gba", 0x11022E, 0x0000046 - -gUnk_08110274:: @ 08110274 - .incbin "baserom.gba", 0x110274, 0x000000C - -gUnk_08110280:: @ 08110280 - .incbin "baserom.gba", 0x110280, 0x0000080 - -gUnk_08110300:: @ 08110300 - .incbin "baserom.gba", 0x110300, 0x0000011 - -gUnk_08110311:: @ 08110311 - .incbin "baserom.gba", 0x110311, 0x0000011 - -gUnk_08110322:: @ 08110322 - .incbin "baserom.gba", 0x110322, 0x0000011 - -gUnk_08110333:: @ 08110333 - .incbin "baserom.gba", 0x110333, 0x0000009 - -gUnk_0811033C:: @ 0811033C - .incbin "baserom.gba", 0x11033C, 0x0000018 - -gUnk_08110354:: @ 08110354 - .incbin "baserom.gba", 0x110354, 0x000000C - -gUnk_08110360:: @ 08110360 - .incbin "baserom.gba", 0x110360, 0x000000C - -gUnk_0811036C:: @ 0811036C - .incbin "baserom.gba", 0x11036C, 0x0000014 - -gUnk_08110380:: @ 08110380 - .incbin "baserom.gba", 0x110380, 0x0000010 - -gUnk_08110390:: @ 08110390 - .incbin "baserom.gba", 0x110390, 0x0000040 - -gUnk_081103D0:: @ 081103D0 - .incbin "baserom.gba", 0x1103D0, 0x000000B - -gUnk_081103DB:: @ 081103DB - .incbin "baserom.gba", 0x1103DB, 0x0000005 - -gUnk_081103E0:: @ 081103E0 - .incbin "baserom.gba", 0x1103E0, 0x0000004 - -gUnk_081103E4:: @ 081103E4 - .incbin "baserom.gba", 0x1103E4, 0x0000005 - -gUnk_081103E9:: @ 081103E9 - .incbin "baserom.gba", 0x1103E9, 0x0000005 - -gUnk_081103EE:: @ 081103EE - .incbin "baserom.gba", 0x1103EE, 0x0000005 - -gUnk_081103F3:: @ 081103F3 - .incbin "baserom.gba", 0x1103F3, 0x0000005 - -gUnk_081103F8:: @ 081103F8 - .incbin "baserom.gba", 0x1103F8, 0x0000006 - -gUnk_081103FE:: @ 081103FE - .incbin "baserom.gba", 0x1103FE, 0x0000002 - -gUnk_08110400:: @ 08110400 - .incbin "baserom.gba", 0x110400, 0x0000009 - -gUnk_08110409:: @ 08110409 - .incbin "baserom.gba", 0x110409, 0x0000011 - -gUnk_0811041A:: @ 0811041A - .incbin "baserom.gba", 0x11041A, 0x0000011 - -gUnk_0811042B:: @ 0811042B - .incbin "baserom.gba", 0x11042B, 0x0000011 - -gUnk_0811043C:: @ 0811043C - .incbin "baserom.gba", 0x11043C, 0x0000005 - -gUnk_08110441:: @ 08110441 - .incbin "baserom.gba", 0x110441, 0x0000005 - -gUnk_08110446:: @ 08110446 - .incbin "baserom.gba", 0x110446, 0x0000005 - -gUnk_0811044B:: @ 0811044B - .incbin "baserom.gba", 0x11044B, 0x0000029 - -gUnk_08110474:: @ 08110474 - .incbin "baserom.gba", 0x110474, 0x0000005 - -gUnk_08110479:: @ 08110479 - .incbin "baserom.gba", 0x110479, 0x0000005 - -gUnk_0811047E:: @ 0811047E - .incbin "baserom.gba", 0x11047E, 0x0000006 - -gUnk_08110484:: @ 08110484 - .incbin "baserom.gba", 0x110484, 0x0000044 - -gUnk_081104C8:: @ 081104C8 - .incbin "baserom.gba", 0x1104C8, 0x0000018 - -gUnk_081104E0:: @ 081104E0 - .incbin "baserom.gba", 0x1104E0, 0x000000C - -gUnk_081104EC:: @ 081104EC - .incbin "baserom.gba", 0x1104EC, 0x000000C - -gUnk_081104F8:: @ 081104F8 - .incbin "baserom.gba", 0x1104F8, 0x0000008 - -gUnk_08110500:: @ 08110500 - .incbin "baserom.gba", 0x110500, 0x0000005 - -gUnk_08110505:: @ 08110505 - .incbin "baserom.gba", 0x110505, 0x0000005 - -gUnk_0811050A:: @ 0811050A - .incbin "baserom.gba", 0x11050A, 0x0000004 - -gUnk_0811050E:: @ 0811050E - .incbin "baserom.gba", 0x11050E, 0x0000001 - -gUnk_0811050F:: @ 0811050F - .incbin "baserom.gba", 0x11050F, 0x0000005 - -gUnk_08110514:: @ 08110514 - .incbin "baserom.gba", 0x110514, 0x0000021 - -gUnk_08110535:: @ 08110535 - .incbin "baserom.gba", 0x110535, 0x0000021 - -gUnk_08110556:: @ 08110556 - .incbin "baserom.gba", 0x110556, 0x0000021 - -gUnk_08110577:: @ 08110577 - .incbin "baserom.gba", 0x110577, 0x0000009 - -gUnk_08110580:: @ 08110580 - .incbin "baserom.gba", 0x110580, 0x0000018 - -gUnk_08110598:: @ 08110598 - .incbin "baserom.gba", 0x110598, 0x0000011 - -gUnk_081105A9:: @ 081105A9 - .incbin "baserom.gba", 0x1105A9, 0x0000011 - -gUnk_081105BA:: @ 081105BA - .incbin "baserom.gba", 0x1105BA, 0x0000011 - -gUnk_081105CB:: @ 081105CB - .incbin "baserom.gba", 0x1105CB, 0x0000011 - -gUnk_081105DC:: @ 081105DC - .incbin "baserom.gba", 0x1105DC, 0x0000005 - -gUnk_081105E1:: @ 081105E1 - .incbin "baserom.gba", 0x1105E1, 0x0000010 - -gUnk_081105F1:: @ 081105F1 - .incbin "baserom.gba", 0x1105F1, 0x0000017 - -gUnk_08110608:: @ 08110608 - .incbin "baserom.gba", 0x110608, 0x0000004 - -gUnk_0811060C:: @ 0811060C - .incbin "baserom.gba", 0x11060C, 0x0000038 - -gUnk_08110644:: @ 08110644 - .incbin "baserom.gba", 0x110644, 0x000000C - -gUnk_08110650:: @ 08110650 - .incbin "baserom.gba", 0x110650, 0x0000008 - -gUnk_08110658:: @ 08110658 - .incbin "baserom.gba", 0x110658, 0x0000005 - -gUnk_0811065D:: @ 0811065D - .incbin "baserom.gba", 0x11065D, 0x0000005 - -gUnk_08110662:: @ 08110662 - .incbin "baserom.gba", 0x110662, 0x0000005 - -gUnk_08110667:: @ 08110667 - .incbin "baserom.gba", 0x110667, 0x0000005 - -gUnk_0811066C:: @ 0811066C - .incbin "baserom.gba", 0x11066C, 0x0000011 - -gUnk_0811067D:: @ 0811067D - .incbin "baserom.gba", 0x11067D, 0x0000005 - -gUnk_08110682:: @ 08110682 - .incbin "baserom.gba", 0x110682, 0x0000026 - -gUnk_081106A8:: @ 081106A8 - .incbin "baserom.gba", 0x1106A8, 0x000002C - -gUnk_081106D4:: @ 081106D4 - .incbin "baserom.gba", 0x1106D4, 0x000000C - -gUnk_081106E0:: @ 081106E0 - .incbin "baserom.gba", 0x1106E0, 0x0000008 - -gUnk_081106E8:: @ 081106E8 - .incbin "baserom.gba", 0x1106E8, 0x0000005 - -gUnk_081106ED:: @ 081106ED - .incbin "baserom.gba", 0x1106ED, 0x0000011 - -gUnk_081106FE:: @ 081106FE - .incbin "baserom.gba", 0x1106FE, 0x0000012 - -gUnk_08110710:: @ 08110710 - .incbin "baserom.gba", 0x110710, 0x0000024 - -gUnk_08110734:: @ 08110734 - .incbin "baserom.gba", 0x110734, 0x0000008 - -gUnk_0811073C:: @ 0811073C - .incbin "baserom.gba", 0x11073C, 0x0000005 - -gUnk_08110741:: @ 08110741 - .incbin "baserom.gba", 0x110741, 0x0000005 - -gUnk_08110746:: @ 08110746 - .incbin "baserom.gba", 0x110746, 0x0000005 - -gUnk_0811074B:: @ 0811074B - .incbin "baserom.gba", 0x11074B, 0x0000005 - -gUnk_08110750:: @ 08110750 - .incbin "baserom.gba", 0x110750, 0x0000011 - -gUnk_08110761:: @ 08110761 - .incbin "baserom.gba", 0x110761, 0x0000011 - -gUnk_08110772:: @ 08110772 - .incbin "baserom.gba", 0x110772, 0x0000011 - -gUnk_08110783:: @ 08110783 - .incbin "baserom.gba", 0x110783, 0x0000011 - -gUnk_08110794:: @ 08110794 - .incbin "baserom.gba", 0x110794, 0x0000005 - -gUnk_08110799:: @ 08110799 - .incbin "baserom.gba", 0x110799, 0x0000011 - -gUnk_081107AA:: @ 081107AA - .incbin "baserom.gba", 0x1107AA, 0x0000009 - -gUnk_081107B3:: @ 081107B3 - .incbin "baserom.gba", 0x1107B3, 0x0000009 - -gUnk_081107BC:: @ 081107BC - .incbin "baserom.gba", 0x1107BC, 0x0000010 - -gUnk_081107CC:: @ 081107CC - .incbin "baserom.gba", 0x1107CC, 0x000003C - -gUnk_08110808:: @ 08110808 - .incbin "baserom.gba", 0x110808, 0x0000038 - -gUnk_08110840:: @ 08110840 - .incbin "baserom.gba", 0x110840, 0x0000019 - -gUnk_08110859:: @ 08110859 - .incbin "baserom.gba", 0x110859, 0x0000005 - -gUnk_0811085E:: @ 0811085E - .incbin "baserom.gba", 0x11085E, 0x0000019 - -gUnk_08110877:: @ 08110877 - .incbin "baserom.gba", 0x110877, 0x0000005 - -gUnk_0811087C:: @ 0811087C - .incbin "baserom.gba", 0x11087C, 0x000001E - -gUnk_0811089A:: @ 0811089A - .incbin "baserom.gba", 0x11089A, 0x0000019 - -gUnk_081108B3:: @ 081108B3 - .incbin "baserom.gba", 0x1108B3, 0x0000019 - -gUnk_081108CC:: @ 081108CC - .incbin "baserom.gba", 0x1108CC, 0x0000019 - -gUnk_081108E5:: @ 081108E5 - .incbin "baserom.gba", 0x1108E5, 0x000000D - -gUnk_081108F2:: @ 081108F2 - .incbin "baserom.gba", 0x1108F2, 0x000000D - -gUnk_081108FF:: @ 081108FF - .incbin "baserom.gba", 0x1108FF, 0x000000D - -gUnk_0811090C:: @ 0811090C - .incbin "baserom.gba", 0x11090C, 0x000000C - -gUnk_08110918:: @ 08110918 - .incbin "baserom.gba", 0x110918, 0x0000005 - -gUnk_0811091D:: @ 0811091D - .incbin "baserom.gba", 0x11091D, 0x0000005 - -gUnk_08110922:: @ 08110922 - .incbin "baserom.gba", 0x110922, 0x0000005 - -gUnk_08110927:: @ 08110927 - .incbin "baserom.gba", 0x110927, 0x0000005 - -gUnk_0811092C:: @ 0811092C - .incbin "baserom.gba", 0x11092C, 0x0000005 - -gUnk_08110931:: @ 08110931 - .incbin "baserom.gba", 0x110931, 0x00000C1 - -gUnk_081109F2:: @ 081109F2 - .incbin "baserom.gba", 0x1109F2, 0x0000006 - -gUnk_081109F8:: @ 081109F8 - .incbin "baserom.gba", 0x1109F8, 0x00000DF - -gUnk_08110AD7:: @ 08110AD7 - .incbin "baserom.gba", 0x110AD7, 0x0000015 - -gUnk_08110AEC:: @ 08110AEC - .incbin "baserom.gba", 0x110AEC, 0x0000010 - -gUnk_08110AFC:: @ 08110AFC - .incbin "baserom.gba", 0x110AFC, 0x0000008 - -gUnk_08110B04:: @ 08110B04 - .incbin "baserom.gba", 0x110B04, 0x0000001 - -gUnk_08110B05:: @ 08110B05 - .incbin "baserom.gba", 0x110B05, 0x000004B - -gUnk_08110B50:: @ 08110B50 - .incbin "baserom.gba", 0x110B50, 0x0000088 - -gUnk_08110BD8:: @ 08110BD8 - .incbin "baserom.gba", 0x110BD8, 0x0000008 - -gUnk_08110BE0:: @ 08110BE0 - .incbin "baserom.gba", 0x110BE0, 0x000001F - -gUnk_08110BFF:: @ 08110BFF - .incbin "baserom.gba", 0x110BFF, 0x0000001 - -gUnk_08110C00:: @ 08110C00 - .incbin "baserom.gba", 0x110C00, 0x0000003 - -gUnk_08110C03:: @ 08110C03 - .incbin "baserom.gba", 0x110C03, 0x0000009 - -gUnk_08110C0C:: @ 08110C0C - .incbin "baserom.gba", 0x110C0C, 0x0000004 - -gUnk_08110C10:: @ 08110C10 - .incbin "baserom.gba", 0x110C10, 0x0000050 - -gUnk_08110C60:: @ 08110C60 - .incbin "baserom.gba", 0x110C60, 0x0000015 - -gUnk_08110C75:: @ 08110C75 - .incbin "baserom.gba", 0x110C75, 0x0000005 - -gUnk_08110C7A:: @ 08110C7A - .incbin "baserom.gba", 0x110C7A, 0x0000005 - -gUnk_08110C7F:: @ 08110C7F - .incbin "baserom.gba", 0x110C7F, 0x0000005 - -gUnk_08110C84:: @ 08110C84 - .incbin "baserom.gba", 0x110C84, 0x0000024 - -gUnk_08110CA8:: @ 08110CA8 - .incbin "baserom.gba", 0x110CA8, 0x0000040 - -gUnk_08110CE8:: @ 08110CE8 - .incbin "baserom.gba", 0x110CE8, 0x000000A - -gUnk_08110CF2:: @ 08110CF2 - .incbin "baserom.gba", 0x110CF2, 0x000000C - -gUnk_08110CFE:: @ 08110CFE - .incbin "baserom.gba", 0x110CFE, 0x0000002 - -gUnk_08110D00:: @ 08110D00 - .incbin "baserom.gba", 0x110D00, 0x0000002 - -gUnk_08110D02:: @ 08110D02 - .incbin "baserom.gba", 0x110D02, 0x0000006 - -gUnk_08110D08:: @ 08110D08 - .incbin "baserom.gba", 0x110D08, 0x0000025 - -gUnk_08110D2D:: @ 08110D2D - .incbin "baserom.gba", 0x110D2D, 0x0000005 - -gUnk_08110D32:: @ 08110D32 - .incbin "baserom.gba", 0x110D32, 0x0000005 - -gUnk_08110D37:: @ 08110D37 - .incbin "baserom.gba", 0x110D37, 0x0000005 - -gUnk_08110D3C:: @ 08110D3C - .incbin "baserom.gba", 0x110D3C, 0x0000025 - -gUnk_08110D61:: @ 08110D61 - .incbin "baserom.gba", 0x110D61, 0x0000005 - -gUnk_08110D66:: @ 08110D66 - .incbin "baserom.gba", 0x110D66, 0x0000005 - -gUnk_08110D6B:: @ 08110D6B - .incbin "baserom.gba", 0x110D6B, 0x0000005 - -gUnk_08110D70:: @ 08110D70 - .incbin "baserom.gba", 0x110D70, 0x000001D - -gUnk_08110D8D:: @ 08110D8D - .incbin "baserom.gba", 0x110D8D, 0x0000005 - -gUnk_08110D92:: @ 08110D92 - .incbin "baserom.gba", 0x110D92, 0x0000005 - -gUnk_08110D97:: @ 08110D97 - .incbin "baserom.gba", 0x110D97, 0x0000005 - -gUnk_08110D9C:: @ 08110D9C - .incbin "baserom.gba", 0x110D9C, 0x000001D - -gUnk_08110DB9:: @ 08110DB9 - .incbin "baserom.gba", 0x110DB9, 0x0000005 - -gUnk_08110DBE:: @ 08110DBE - .incbin "baserom.gba", 0x110DBE, 0x0000005 - -gUnk_08110DC3:: @ 08110DC3 - .incbin "baserom.gba", 0x110DC3, 0x0000005 - -gUnk_08110DC8:: @ 08110DC8 - .incbin "baserom.gba", 0x110DC8, 0x0000038 - -gUnk_08110E00:: @ 08110E00 - .incbin "baserom.gba", 0x110E00, 0x0000006 - -gUnk_08110E06:: @ 08110E06 - .incbin "baserom.gba", 0x110E06, 0x0000003 - -gUnk_08110E09:: @ 08110E09 - .incbin "baserom.gba", 0x110E09, 0x0000005 - -gUnk_08110E0E:: @ 08110E0E - .incbin "baserom.gba", 0x110E0E, 0x0000002 - -gUnk_08110E10:: @ 08110E10 - .incbin "baserom.gba", 0x110E10, 0x000003C - -gUnk_08110E4C:: @ 08110E4C - .incbin "baserom.gba", 0x110E4C, 0x0000010 - -gUnk_08110E5C:: @ 08110E5C - .incbin "baserom.gba", 0x110E5C, 0x0000008 - -gUnk_08110E64:: @ 08110E64 - .incbin "baserom.gba", 0x110E64, 0x0000004 - -gUnk_08110E68:: @ 08110E68 - .incbin "baserom.gba", 0x110E68, 0x0000010 - -gUnk_08110E78:: @ 08110E78 - .incbin "baserom.gba", 0x110E78, 0x0000012 - -gUnk_08110E8A:: @ 08110E8A - .incbin "baserom.gba", 0x110E8A, 0x000000A - -gUnk_08110E94:: @ 08110E94 - .incbin "baserom.gba", 0x110E94, 0x0000008 - -gUnk_08110E9C:: @ 08110E9C - .incbin "baserom.gba", 0x110E9C, 0x0000005 - -gUnk_08110EA1:: @ 08110EA1 - .incbin "baserom.gba", 0x110EA1, 0x0000005 - -gUnk_08110EA6:: @ 08110EA6 - .incbin "baserom.gba", 0x110EA6, 0x0000006 - -gUnk_08110EAC:: @ 08110EAC - .incbin "baserom.gba", 0x110EAC, 0x0000044 - -gUnk_08110EF0:: @ 08110EF0 - .incbin "baserom.gba", 0x110EF0, 0x0000008 - -gUnk_08110EF8:: @ 08110EF8 - .incbin "baserom.gba", 0x110EF8, 0x0000002 - -gUnk_08110EFA:: @ 08110EFA - .incbin "baserom.gba", 0x110EFA, 0x000000F - -gUnk_08110F09:: @ 08110F09 - .incbin "baserom.gba", 0x110F09, 0x0000001 - -gUnk_08110F0A:: @ 08110F0A - .incbin "baserom.gba", 0x110F0A, 0x0000002 - -gUnk_08110F0C:: @ 08110F0C - .incbin "baserom.gba", 0x110F0C, 0x000000A - -gUnk_08110F16:: @ 08110F16 - .incbin "baserom.gba", 0x110F16, 0x00000EA - -gUnk_08111000:: @ 08111000 - .incbin "baserom.gba", 0x111000, 0x0000003 - -gUnk_08111003:: @ 08111003 - .incbin "baserom.gba", 0x111003, 0x000000A - -gUnk_0811100D:: @ 0811100D - .incbin "baserom.gba", 0x11100D, 0x00000CB - -gCat:: @ 081110D8 - .incbin "baserom.gba", 0x1110D8, 0x0000024 - -gUnk_081110FC:: @ 081110FC - .incbin "baserom.gba", 0x1110FC, 0x0000008 - -gUnk_08111104:: @ 08111104 - .incbin "baserom.gba", 0x111104, 0x0000008 - -gUnk_0811110C:: @ 0811110C - .incbin "baserom.gba", 0x11110C, 0x0000001 - -gUnk_0811110D:: @ 0811110D - .incbin "baserom.gba", 0x11110D, 0x0000001 - -gUnk_0811110E:: @ 0811110E - .incbin "baserom.gba", 0x11110E, 0x0000001 - -gUnk_0811110F:: @ 0811110F - .incbin "baserom.gba", 0x11110F, 0x0000002 - -gUnk_08111111:: @ 08111111 - .incbin "baserom.gba", 0x111111, 0x0000002 - -gUnk_08111113:: @ 08111113 - .incbin "baserom.gba", 0x111113, 0x0000001 - -gUnk_08111114:: @ 08111114 - .incbin "baserom.gba", 0x111114, 0x0000008 - -gUnk_0811111C:: @ 0811111C - .incbin "baserom.gba", 0x11111C, 0x0000008 - -gUnk_08111124:: @ 08111124 - .incbin "baserom.gba", 0x111124, 0x0000008 - -gUnk_0811112C:: @ 0811112C - .incbin "baserom.gba", 0x11112C, 0x0000008 - -gUnk_08111134:: @ 08111134 - .incbin "baserom.gba", 0x111134, 0x0000008 - -gUnk_0811113C:: @ 0811113C - .incbin "baserom.gba", 0x11113C, 0x0000008 - -gUnk_08111144:: @ 08111144 - .incbin "baserom.gba", 0x111144, 0x0000008 - -gUnk_0811114C:: @ 0811114C - .incbin "baserom.gba", 0x11114C, 0x0000008 - -gUnk_08111154:: @ 08111154 - .incbin "baserom.gba", 0x111154, 0x0000017 - -gUnk_0811116B:: @ 0811116B - .incbin "baserom.gba", 0x11116B, 0x0000009 - -gUnk_08111174:: @ 08111174 - .incbin "baserom.gba", 0x111174, 0x000003C - -gUnk_081111B0:: @ 081111B0 - .incbin "baserom.gba", 0x1111B0, 0x0000009 - -gUnk_081111B9:: @ 081111B9 - .incbin "baserom.gba", 0x1111B9, 0x0000003 - -gUnk_081111BC:: @ 081111BC - .incbin "baserom.gba", 0x1111BC, 0x0000006 - -gUnk_081111C2:: @ 081111C2 - .incbin "baserom.gba", 0x1111C2, 0x0000011 - -gUnk_081111D3:: @ 081111D3 - .incbin "baserom.gba", 0x1111D3, 0x0000018 - -gUnk_081111EB:: @ 081111EB - .incbin "baserom.gba", 0x1111EB, 0x0000010 - -gUnk_081111FB:: @ 081111FB - .incbin "baserom.gba", 0x1111FB, 0x0000009 - -gUnk_08111204:: @ 08111204 - .incbin "baserom.gba", 0x111204, 0x000000D - -gUnk_08111211:: @ 08111211 - .incbin "baserom.gba", 0x111211, 0x000000D - -gUnk_0811121E:: @ 0811121E - .incbin "baserom.gba", 0x11121E, 0x000000E - -gUnk_0811122C:: @ 0811122C - .incbin "baserom.gba", 0x11122C, 0x000000C - -gUnk_08111238:: @ 08111238 - .incbin "baserom.gba", 0x111238, 0x0000024 - -gUnk_0811125C:: @ 0811125C - .incbin "baserom.gba", 0x11125C, 0x0000028 - -gUnk_08111284:: @ 08111284 - .incbin "baserom.gba", 0x111284, 0x0000080 - -gUnk_08111304:: @ 08111304 - .incbin "baserom.gba", 0x111304, 0x0000009 - -gUnk_0811130D:: @ 0811130D - .incbin "baserom.gba", 0x11130D, 0x0000001 - -gUnk_0811130E:: @ 0811130E - .incbin "baserom.gba", 0x11130E, 0x0000001 - -gUnk_0811130F:: @ 0811130F - .incbin "baserom.gba", 0x11130F, 0x0000009 - -gUnk_08111318:: @ 08111318 - .incbin "baserom.gba", 0x111318, 0x0000006 - -gUnk_0811131E:: @ 0811131E - .incbin "baserom.gba", 0x11131E, 0x0000025 - -gUnk_08111343:: @ 08111343 - .incbin "baserom.gba", 0x111343, 0x0000015 - -gUnk_08111358:: @ 08111358 - .incbin "baserom.gba", 0x111358, 0x0000010 - -gUnk_08111368:: @ 08111368 - .incbin "baserom.gba", 0x111368, 0x000000C - -gUnk_08111374:: @ 08111374 - .incbin "baserom.gba", 0x111374, 0x0000006 - -gUnk_0811137A:: @ 0811137A - .incbin "baserom.gba", 0x11137A, 0x0000006 - -gUnk_08111380:: @ 08111380 - .incbin "baserom.gba", 0x111380, 0x0000005 - -gUnk_08111385:: @ 08111385 - .incbin "baserom.gba", 0x111385, 0x0000005 - -gUnk_0811138A:: @ 0811138A - .incbin "baserom.gba", 0x11138A, 0x0000005 - -gUnk_0811138F:: @ 0811138F - .incbin "baserom.gba", 0x11138F, 0x0000005 - -gUnk_08111394:: @ 08111394 - .incbin "baserom.gba", 0x111394, 0x0000025 - -gUnk_081113B9:: @ 081113B9 - .incbin "baserom.gba", 0x1113B9, 0x0000025 - -gUnk_081113DE:: @ 081113DE - .incbin "baserom.gba", 0x1113DE, 0x0000021 - -gUnk_081113FF:: @ 081113FF - .incbin "baserom.gba", 0x1113FF, 0x0000008 - -gUnk_08111407:: @ 08111407 - .incbin "baserom.gba", 0x111407, 0x0000005 - -gUnk_0811140C:: @ 0811140C - .incbin "baserom.gba", 0x11140C, 0x0000002 - -gUnk_0811140E:: @ 0811140E - .incbin "baserom.gba", 0x11140E, 0x0000005 - -gUnk_08111413:: @ 08111413 - .incbin "baserom.gba", 0x111413, 0x0000009 - -gUnk_0811141C:: @ 0811141C - .incbin "baserom.gba", 0x11141C, 0x0000008 - -gUnk_08111424:: @ 08111424 - .incbin "baserom.gba", 0x111424, 0x0000025 - -gUnk_08111449:: @ 08111449 - .incbin "baserom.gba", 0x111449, 0x0000071 - -gUnk_081114BA:: @ 081114BA - .incbin "baserom.gba", 0x1114BA, 0x0000029 - -gUnk_081114E3:: @ 081114E3 - .incbin "baserom.gba", 0x1114E3, 0x0000005 - -gUnk_081114E8:: @ 081114E8 - .incbin "baserom.gba", 0x1114E8, 0x0000013 - -gUnk_081114FB:: @ 081114FB - .incbin "baserom.gba", 0x1114FB, 0x0000016 - -gUnk_08111511:: @ 08111511 - .incbin "baserom.gba", 0x111511, 0x0000002 - -gUnk_08111513:: @ 08111513 - .incbin "baserom.gba", 0x111513, 0x0000001 - -gUnk_08111514:: @ 08111514 - .incbin "baserom.gba", 0x111514, 0x0000003 - -gUnk_08111517:: @ 08111517 - .incbin "baserom.gba", 0x111517, 0x0000003 - -gUnk_0811151A:: @ 0811151A - .incbin "baserom.gba", 0x11151A, 0x0000001 - -gUnk_0811151B:: @ 0811151B - .incbin "baserom.gba", 0x11151B, 0x0000001 - -gUnk_0811151C:: @ 0811151C - .incbin "baserom.gba", 0x11151C, 0x0000004 - -gUnk_08111520:: @ 08111520 - .incbin "baserom.gba", 0x111520, 0x0000007 - -gUnk_08111527:: @ 08111527 - .incbin "baserom.gba", 0x111527, 0x0000002 - -gUnk_08111529:: @ 08111529 - .incbin "baserom.gba", 0x111529, 0x0000007 - -gUnk_08111530:: @ 08111530 - .incbin "baserom.gba", 0x111530, 0x0000008 - -gUnk_08111538:: @ 08111538 - .incbin "baserom.gba", 0x111538, 0x0000006 - -gUnk_0811153E:: @ 0811153E - .incbin "baserom.gba", 0x11153E, 0x0000006 - -gUnk_08111544:: @ 08111544 - .incbin "baserom.gba", 0x111544, 0x0000005 - -gUnk_08111549:: @ 08111549 - .incbin "baserom.gba", 0x111549, 0x0000005 - -gUnk_0811154E:: @ 0811154E - .incbin "baserom.gba", 0x11154E, 0x0000005 - -gUnk_08111553:: @ 08111553 - .incbin "baserom.gba", 0x111553, 0x0000039 - -gUnk_0811158C:: @ 0811158C - .incbin "baserom.gba", 0x11158C, 0x0000008 - -gUnk_08111594:: @ 08111594 - .incbin "baserom.gba", 0x111594, 0x000002C - -gUnk_081115C0:: @ 081115C0 - .incbin "baserom.gba", 0x1115C0, 0x0000010 - -gUnk_081115D0:: @ 081115D0 - .incbin "baserom.gba", 0x1115D0, 0x000000C - -gUnk_081115DC:: @ 081115DC - .incbin "baserom.gba", 0x1115DC, 0x0000010 - -gUnk_081115EC:: @ 081115EC - .incbin "baserom.gba", 0x1115EC, 0x0000024 - -gUnk_08111610:: @ 08111610 - .incbin "baserom.gba", 0x111610, 0x0000008 - -gUnk_08111618:: @ 08111618 - .incbin "baserom.gba", 0x111618, 0x0000003 - -gUnk_0811161B:: @ 0811161B - .incbin "baserom.gba", 0x11161B, 0x0000005 - -gUnk_08111620:: @ 08111620 - .incbin "baserom.gba", 0x111620, 0x0000003 - -gUnk_08111623:: @ 08111623 - .incbin "baserom.gba", 0x111623, 0x0000008 - -gUnk_0811162B:: @ 0811162B - .incbin "baserom.gba", 0x11162B, 0x000000D - -gUnk_08111638:: @ 08111638 - .incbin "baserom.gba", 0x111638, 0x000002C - -gUnk_08111664:: @ 08111664 - .incbin "baserom.gba", 0x111664, 0x0000016 - -gUnk_0811167A:: @ 0811167A - .incbin "baserom.gba", 0x11167A, 0x0000016 - -gUnk_08111690:: @ 08111690 - .incbin "baserom.gba", 0x111690, 0x0000016 - -gUnk_081116A6:: @ 081116A6 - .incbin "baserom.gba", 0x1116A6, 0x0000016 - -gUnk_081116BC:: @ 081116BC - .incbin "baserom.gba", 0x1116BC, 0x0000016 - -gUnk_081116D2:: @ 081116D2 - .incbin "baserom.gba", 0x1116D2, 0x0000016 - -gUnk_081116E8:: @ 081116E8 - .incbin "baserom.gba", 0x1116E8, 0x0000016 - -gUnk_081116FE:: @ 081116FE - .incbin "baserom.gba", 0x1116FE, 0x0000016 - -gUnk_08111714:: @ 08111714 - .incbin "baserom.gba", 0x111714, 0x0000003 - -gUnk_08111717:: @ 08111717 - .incbin "baserom.gba", 0x111717, 0x0000001 - -gUnk_08111718:: @ 08111718 - .incbin "baserom.gba", 0x111718, 0x0000001 - -gUnk_08111719:: @ 08111719 - .incbin "baserom.gba", 0x111719, 0x0000001 - -gUnk_0811171A:: @ 0811171A - .incbin "baserom.gba", 0x11171A, 0x0000010 - -gUnk_0811172A:: @ 0811172A - .incbin "baserom.gba", 0x11172A, 0x0000016 - -gUnk_08111740:: @ 08111740 - .incbin "baserom.gba", 0x111740, 0x000002C - -gUnk_0811176C:: @ 0811176C - .incbin "baserom.gba", 0x11176C, 0x0000005 - -gUnk_08111771:: @ 08111771 - .incbin "baserom.gba", 0x111771, 0x0000005 - -gUnk_08111776:: @ 08111776 - .incbin "baserom.gba", 0x111776, 0x0000005 - -gUnk_0811177B:: @ 0811177B - .incbin "baserom.gba", 0x11177B, 0x000004D - -gUnk_081117C8:: @ 081117C8 - .incbin "baserom.gba", 0x1117C8, 0x0000031 - -gUnk_081117F9:: @ 081117F9 - .incbin "baserom.gba", 0x1117F9, 0x000001E - -gUnk_08111817:: @ 08111817 - .incbin "baserom.gba", 0x111817, 0x0000002 - -gUnk_08111819:: @ 08111819 - .incbin "baserom.gba", 0x111819, 0x0000002 - -gUnk_0811181B:: @ 0811181B - .incbin "baserom.gba", 0x11181B, 0x0000001 - -gUnk_0811181C:: @ 0811181C - .incbin "baserom.gba", 0x11181C, 0x0000001 - -gUnk_0811181D:: @ 0811181D - .incbin "baserom.gba", 0x11181D, 0x0000001 - -gUnk_0811181E:: @ 0811181E - .incbin "baserom.gba", 0x11181E, 0x0000004 - -gUnk_08111822:: @ 08111822 - .incbin "baserom.gba", 0x111822, 0x0000008 - -gUnk_0811182A:: @ 0811182A - .incbin "baserom.gba", 0x11182A, 0x0000031 - -gUnk_0811185B:: @ 0811185B - .incbin "baserom.gba", 0x11185B, 0x0000071 - -gUnk_081118CC:: @ 081118CC - .incbin "baserom.gba", 0x1118CC, 0x0000024 - -gUnk_081118F0:: @ 081118F0 - .incbin "baserom.gba", 0x1118F0, 0x0000024 - -gUnk_08111914:: @ 08111914 - .incbin "baserom.gba", 0x111914, 0x0000004 - -gUnk_08111918:: @ 08111918 - .incbin "baserom.gba", 0x111918, 0x0000001 - -gUnk_08111919:: @ 08111919 - .incbin "baserom.gba", 0x111919, 0x0000001 - -gUnk_0811191A:: @ 0811191A - .incbin "baserom.gba", 0x11191A, 0x0000001 - -gUnk_0811191B:: @ 0811191B - .incbin "baserom.gba", 0x11191B, 0x0000002 - -gUnk_0811191D:: @ 0811191D - .incbin "baserom.gba", 0x11191D, 0x0000001 - -gUnk_0811191E:: @ 0811191E - .incbin "baserom.gba", 0x11191E, 0x0000002 - -gUnk_08111920:: @ 08111920 - .incbin "baserom.gba", 0x111920, 0x0000002 - -gUnk_08111922:: @ 08111922 - .incbin "baserom.gba", 0x111922, 0x0000006 - -gUnk_08111928:: @ 08111928 - .incbin "baserom.gba", 0x111928, 0x0000010 - -gUnk_08111938:: @ 08111938 - .incbin "baserom.gba", 0x111938, 0x0000028 - -gUnk_08111960:: @ 08111960 - .incbin "baserom.gba", 0x111960, 0x0000005 - -gUnk_08111965:: @ 08111965 - .incbin "baserom.gba", 0x111965, 0x0000005 - -gUnk_0811196A:: @ 0811196A - .incbin "baserom.gba", 0x11196A, 0x0000005 - -gUnk_0811196F:: @ 0811196F - .incbin "baserom.gba", 0x11196F, 0x0000005 - -gUnk_08111974:: @ 08111974 - .incbin "baserom.gba", 0x111974, 0x0000011 - -gUnk_08111985:: @ 08111985 - .incbin "baserom.gba", 0x111985, 0x0000011 - -gUnk_08111996:: @ 08111996 - .incbin "baserom.gba", 0x111996, 0x0000011 - -gUnk_081119A7:: @ 081119A7 - .incbin "baserom.gba", 0x1119A7, 0x0000011 - -gUnk_081119B8:: @ 081119B8 - .incbin "baserom.gba", 0x1119B8, 0x000000C - -gUnk_081119C4:: @ 081119C4 - .incbin "baserom.gba", 0x1119C4, 0x000000C - -gUnk_081119D0:: @ 081119D0 - .incbin "baserom.gba", 0x1119D0, 0x000000C - -gUnk_081119DC:: @ 081119DC - .incbin "baserom.gba", 0x1119DC, 0x000000C - -gUnk_081119E8:: @ 081119E8 - .incbin "baserom.gba", 0x1119E8, 0x0000009 - -gUnk_081119F1:: @ 081119F1 - .incbin "baserom.gba", 0x1119F1, 0x0000005 - -gUnk_081119F6:: @ 081119F6 - .incbin "baserom.gba", 0x1119F6, 0x0000004 - -gUnk_081119FA:: @ 081119FA - .incbin "baserom.gba", 0x1119FA, 0x0000009 - -gUnk_08111A03:: @ 08111A03 - .incbin "baserom.gba", 0x111A03, 0x0000009 - -gUnk_08111A0C:: @ 08111A0C - .incbin "baserom.gba", 0x111A0C, 0x0000008 - -gUnk_08111A14:: @ 08111A14 - .incbin "baserom.gba", 0x111A14, 0x0000002 - -gUnk_08111A16:: @ 08111A16 - .incbin "baserom.gba", 0x111A16, 0x0000002 - -gUnk_08111A18:: @ 08111A18 - .incbin "baserom.gba", 0x111A18, 0x0000001 - -gUnk_08111A19:: @ 08111A19 - .incbin "baserom.gba", 0x111A19, 0x0000003 - -gUnk_08111A1C:: @ 08111A1C - .incbin "baserom.gba", 0x111A1C, 0x0000003 - -gUnk_08111A1F:: @ 08111A1F - .incbin "baserom.gba", 0x111A1F, 0x0000002 - -gUnk_08111A21:: @ 08111A21 - .incbin "baserom.gba", 0x111A21, 0x0000001 - -gUnk_08111A22:: @ 08111A22 - .incbin "baserom.gba", 0x111A22, 0x0000002 - -gUnk_08111A24:: @ 08111A24 - .incbin "baserom.gba", 0x111A24, 0x0000008 - -gUnk_08111A2C:: @ 08111A2C - .incbin "baserom.gba", 0x111A2C, 0x0000054 - -gUnk_08111A80:: @ 08111A80 - .incbin "baserom.gba", 0x111A80, 0x000000C - -gUnk_08111A8C:: @ 08111A8C - .incbin "baserom.gba", 0x111A8C, 0x0000008 - -gUnk_08111A94:: @ 08111A94 - .incbin "baserom.gba", 0x111A94, 0x0000030 - -gUnk_08111AC4:: @ 08111AC4 - .incbin "baserom.gba", 0x111AC4, 0x0000005 - -gUnk_08111AC9:: @ 08111AC9 - .incbin "baserom.gba", 0x111AC9, 0x0000005 - -gUnk_08111ACE:: @ 08111ACE - .incbin "baserom.gba", 0x111ACE, 0x0000005 - -gUnk_08111AD3:: @ 08111AD3 - .incbin "baserom.gba", 0x111AD3, 0x0000005 - -gUnk_08111AD8:: @ 08111AD8 - .incbin "baserom.gba", 0x111AD8, 0x0000021 - -gUnk_08111AF9:: @ 08111AF9 - .incbin "baserom.gba", 0x111AF9, 0x0000021 - -gUnk_08111B1A:: @ 08111B1A - .incbin "baserom.gba", 0x111B1A, 0x0000005 - -gUnk_08111B1F:: @ 08111B1F - .incbin "baserom.gba", 0x111B1F, 0x0000007 - -gUnk_08111B26:: @ 08111B26 - .incbin "baserom.gba", 0x111B26, 0x0000015 - -gUnk_08111B3B:: @ 08111B3B - .incbin "baserom.gba", 0x111B3B, 0x000000B - -gUnk_08111B46:: @ 08111B46 - .incbin "baserom.gba", 0x111B46, 0x000001A - -gUnk_08111B60:: @ 08111B60 - .incbin "baserom.gba", 0x111B60, 0x0000023 - -gUnk_08111B83:: @ 08111B83 - .incbin "baserom.gba", 0x111B83, 0x0000005 - -gUnk_08111B88:: @ 08111B88 - .incbin "baserom.gba", 0x111B88, 0x0000010 - -gUnk_08111B98:: @ 08111B98 - .incbin "baserom.gba", 0x111B98, 0x0000008 - -gUnk_08111BA0:: @ 08111BA0 - .incbin "baserom.gba", 0x111BA0, 0x000001E - -gUnk_08111BBE:: @ 08111BBE - .incbin "baserom.gba", 0x111BBE, 0x0000005 - -gUnk_08111BC3:: @ 08111BC3 - .incbin "baserom.gba", 0x111BC3, 0x0000005 - -gUnk_08111BC8:: @ 08111BC8 - .incbin "baserom.gba", 0x111BC8, 0x0000005 - -gUnk_08111BCD:: @ 08111BCD - .incbin "baserom.gba", 0x111BCD, 0x0000025 - -gUnk_08111BF2:: @ 08111BF2 - .incbin "baserom.gba", 0x111BF2, 0x0000026 - -gUnk_08111C18:: @ 08111C18 - .incbin "baserom.gba", 0x111C18, 0x0000002 - -gUnk_08111C1A:: @ 08111C1A - .incbin "baserom.gba", 0x111C1A, 0x0000002 - -gUnk_08111C1C:: @ 08111C1C - .incbin "baserom.gba", 0x111C1C, 0x0000004 - -gUnk_08111C20:: @ 08111C20 - .incbin "baserom.gba", 0x111C20, 0x0000001 - -gUnk_08111C21:: @ 08111C21 - .incbin "baserom.gba", 0x111C21, 0x0000002 - -gUnk_08111C23:: @ 08111C23 - .incbin "baserom.gba", 0x111C23, 0x0000019 - -gUnk_08111C3C:: @ 08111C3C - .incbin "baserom.gba", 0x111C3C, 0x000000C - -gUnk_08111C48:: @ 08111C48 - .incbin "baserom.gba", 0x111C48, 0x0000008 - -gUnk_08111C50:: @ 08111C50 - .incbin "baserom.gba", 0x111C50, 0x000000C - -gUnk_08111C5C:: @ 08111C5C - .incbin "baserom.gba", 0x111C5C, 0x0000018 - -gUnk_08111C74:: @ 08111C74 - .incbin "baserom.gba", 0x111C74, 0x0000010 - -gUnk_08111C84:: @ 08111C84 - .incbin "baserom.gba", 0x111C84, 0x0000008 - -gUnk_08111C8C:: @ 08111C8C - .incbin "baserom.gba", 0x111C8C, 0x0000010 - -gUnk_08111C9C:: @ 08111C9C - .incbin "baserom.gba", 0x111C9C, 0x000000C - -gUnk_08111CA8:: @ 08111CA8 - .incbin "baserom.gba", 0x111CA8, 0x000000C - -gUnk_08111CB4:: @ 08111CB4 - .incbin "baserom.gba", 0x111CB4, 0x0000004 - -gUnk_08111CB8:: @ 08111CB8 - .incbin "baserom.gba", 0x111CB8, 0x0000004 - -gUnk_08111CBC:: @ 08111CBC - .incbin "baserom.gba", 0x111CBC, 0x0000005 - -gUnk_08111CC1:: @ 08111CC1 - .incbin "baserom.gba", 0x111CC1, 0x0000005 - -gUnk_08111CC6:: @ 08111CC6 - .incbin "baserom.gba", 0x111CC6, 0x0000005 - -gUnk_08111CCB:: @ 08111CCB - .incbin "baserom.gba", 0x111CCB, 0x0000005 - -gUnk_08111CD0:: @ 08111CD0 - .incbin "baserom.gba", 0x111CD0, 0x0000019 - -gUnk_08111CE9:: @ 08111CE9 - .incbin "baserom.gba", 0x111CE9, 0x0000019 - -gUnk_08111D02:: @ 08111D02 - .incbin "baserom.gba", 0x111D02, 0x0000015 - -gUnk_08111D17:: @ 08111D17 - .incbin "baserom.gba", 0x111D17, 0x0000004 - -gUnk_08111D1B:: @ 08111D1B - .incbin "baserom.gba", 0x111D1B, 0x000000F - -gUnk_08111D2A:: @ 08111D2A - .incbin "baserom.gba", 0x111D2A, 0x0000001 - -gUnk_08111D2B:: @ 08111D2B - .incbin "baserom.gba", 0x111D2B, 0x0000009 - -gUnk_08111D34:: @ 08111D34 - .incbin "baserom.gba", 0x111D34, 0x0000024 - -gUnk_08111D58:: @ 08111D58 - .incbin "baserom.gba", 0x111D58, 0x0000030 - -gUnk_08111D88:: @ 08111D88 - .incbin "baserom.gba", 0x111D88, 0x0000020 - -gUnk_08111DA8:: @ 08111DA8 - .incbin "baserom.gba", 0x111DA8, 0x0000008 - -gUnk_08111DB0:: @ 08111DB0 - .incbin "baserom.gba", 0x111DB0, 0x0000066 - -gUnk_08111E16:: @ 08111E16 - .incbin "baserom.gba", 0x111E16, 0x000001A - -gUnk_08111E30:: @ 08111E30 - .incbin "baserom.gba", 0x111E30, 0x0000004 - -gUnk_08111E34:: @ 08111E34 - .incbin "baserom.gba", 0x111E34, 0x00000AD - -gUnk_08111EE1:: @ 08111EE1 - .incbin "baserom.gba", 0x111EE1, 0x0000047 - -gUnk_08111F28:: @ 08111F28 - .incbin "baserom.gba", 0x111F28, 0x0000008 - -gUnk_08111F30:: @ 08111F30 - .incbin "baserom.gba", 0x111F30, 0x0000044 - -gUnk_08111F74:: @ 08111F74 - .incbin "baserom.gba", 0x111F74, 0x0000064 - -gUnk_08111FD8:: @ 08111FD8 - .incbin "baserom.gba", 0x111FD8, 0x000000A - -gUnk_08111FE2:: @ 08111FE2 - .incbin "baserom.gba", 0x111FE2, 0x0000005 - -gUnk_08111FE7:: @ 08111FE7 - .incbin "baserom.gba", 0x111FE7, 0x0000005 - -gUnk_08111FEC:: @ 08111FEC - .incbin "baserom.gba", 0x111FEC, 0x0000005 - -gUnk_08111FF1:: @ 08111FF1 - .incbin "baserom.gba", 0x111FF1, 0x0000005 - -gUnk_08111FF6:: @ 08111FF6 - .incbin "baserom.gba", 0x111FF6, 0x0000011 - -gUnk_08112007:: @ 08112007 - .incbin "baserom.gba", 0x112007, 0x0000007 - -gUnk_0811200E:: @ 0811200E - .incbin "baserom.gba", 0x11200E, 0x000000A - -gUnk_08112018:: @ 08112018 - .incbin "baserom.gba", 0x112018, 0x0000005 - -gUnk_0811201D:: @ 0811201D - .incbin "baserom.gba", 0x11201D, 0x0000005 - -gUnk_08112022:: @ 08112022 - .incbin "baserom.gba", 0x112022, 0x0000005 - -gUnk_08112027:: @ 08112027 - .incbin "baserom.gba", 0x112027, 0x0000005 - -gUnk_0811202C:: @ 0811202C - .incbin "baserom.gba", 0x11202C, 0x0000005 - -gUnk_08112031:: @ 08112031 - .incbin "baserom.gba", 0x112031, 0x0000005 - -gUnk_08112036:: @ 08112036 - .incbin "baserom.gba", 0x112036, 0x0000005 - -gUnk_0811203B:: @ 0811203B - .incbin "baserom.gba", 0x11203B, 0x0000005 - -gUnk_08112040:: @ 08112040 - .incbin "baserom.gba", 0x112040, 0x0000005 - -gUnk_08112045:: @ 08112045 - .incbin "baserom.gba", 0x112045, 0x0000005 - -gUnk_0811204A:: @ 0811204A - .incbin "baserom.gba", 0x11204A, 0x0000005 - -gUnk_0811204F:: @ 0811204F - .incbin "baserom.gba", 0x11204F, 0x0000005 - -gUnk_08112054:: @ 08112054 - .incbin "baserom.gba", 0x112054, 0x0000005 - -gUnk_08112059:: @ 08112059 - .incbin "baserom.gba", 0x112059, 0x0000005 - -gUnk_0811205E:: @ 0811205E - .incbin "baserom.gba", 0x11205E, 0x0000005 - -gUnk_08112063:: @ 08112063 - .incbin "baserom.gba", 0x112063, 0x0000005 - -gUnk_08112068:: @ 08112068 - .incbin "baserom.gba", 0x112068, 0x000000D - -gUnk_08112075:: @ 08112075 - .incbin "baserom.gba", 0x112075, 0x000000D - -gUnk_08112082:: @ 08112082 - .incbin "baserom.gba", 0x112082, 0x000000D - -gUnk_0811208F:: @ 0811208F - .incbin "baserom.gba", 0x11208F, 0x000000D - -gUnk_0811209C:: @ 0811209C - .incbin "baserom.gba", 0x11209C, 0x0000011 - -gUnk_081120AD:: @ 081120AD - .incbin "baserom.gba", 0x1120AD, 0x0000011 - -gUnk_081120BE:: @ 081120BE - .incbin "baserom.gba", 0x1120BE, 0x0000011 - -gUnk_081120CF:: @ 081120CF - .incbin "baserom.gba", 0x1120CF, 0x0000011 - -gUnk_081120E0:: @ 081120E0 - .incbin "baserom.gba", 0x1120E0, 0x0000020 - -gUnk_08112100:: @ 08112100 - .incbin "baserom.gba", 0x112100, 0x0000021 - -gUnk_08112121:: @ 08112121 - .incbin "baserom.gba", 0x112121, 0x000000A - -gUnk_0811212B:: @ 0811212B - .incbin "baserom.gba", 0x11212B, 0x0000089 - -gUnk_081121B4:: @ 081121B4 - .incbin "baserom.gba", 0x1121B4, 0x0000010 - -gUnk_081121C4:: @ 081121C4 - .incbin "baserom.gba", 0x1121C4, 0x0000010 - -gUnk_081121D4:: @ 081121D4 - .incbin "baserom.gba", 0x1121D4, 0x0000008 - -gUnk_081121DC:: @ 081121DC - .incbin "baserom.gba", 0x1121DC, 0x0000008 - -gUnk_081121E4:: @ 081121E4 - .incbin "baserom.gba", 0x1121E4, 0x0000020 - -gUnk_08112204:: @ 08112204 - .incbin "baserom.gba", 0x112204, 0x0000004 - -gUnk_08112208:: @ 08112208 - .incbin "baserom.gba", 0x112208, 0x0000024 - -gUnk_0811222C:: @ 0811222C - .incbin "baserom.gba", 0x11222C, 0x000000C - -gUnk_08112238:: @ 08112238 - .incbin "baserom.gba", 0x112238, 0x000000B - -gUnk_08112243:: @ 08112243 - .incbin "baserom.gba", 0x112243, 0x000001D - -gUnk_08112260:: @ 08112260 - .incbin "baserom.gba", 0x112260, 0x0000018 - -gUnk_08112278:: @ 08112278 - .incbin "baserom.gba", 0x112278, 0x000001C - -gUnk_08112294:: @ 08112294 - .incbin "baserom.gba", 0x112294, 0x0000008 - -gUnk_0811229C:: @ 0811229C - .incbin "baserom.gba", 0x11229C, 0x0000004 - -gUnk_081122A0:: @ 081122A0 - .incbin "baserom.gba", 0x1122A0, 0x0000008 - -gUnk_081122A8:: @ 081122A8 - .incbin "baserom.gba", 0x1122A8, 0x0000008 - -gUnk_081122B0:: @ 081122B0 - .incbin "baserom.gba", 0x1122B0, 0x0000008 - -gUnk_081122B8:: @ 081122B8 - .incbin "baserom.gba", 0x1122B8, 0x0000008 - -gUnk_081122C0:: @ 081122C0 - .incbin "baserom.gba", 0x1122C0, 0x0000009 - -gUnk_081122C9:: @ 081122C9 - .incbin "baserom.gba", 0x1122C9, 0x0000009 - -gUnk_081122D2:: @ 081122D2 - .incbin "baserom.gba", 0x1122D2, 0x0000009 - -gUnk_081122DB:: @ 081122DB - .incbin "baserom.gba", 0x1122DB, 0x0000025 - -gUnk_08112300:: @ 08112300 - .incbin "baserom.gba", 0x112300, 0x0000025 - -gUnk_08112325:: @ 08112325 - .incbin "baserom.gba", 0x112325, 0x0000025 - -gUnk_0811234A:: @ 0811234A - .incbin "baserom.gba", 0x11234A, 0x000003D - -gUnk_08112387:: @ 08112387 - .incbin "baserom.gba", 0x112387, 0x0000019 - -gUnk_081123A0:: @ 081123A0 - .incbin "baserom.gba", 0x1123A0, 0x0000029 - -gUnk_081123C9:: @ 081123C9 - .incbin "baserom.gba", 0x1123C9, 0x0000025 - -gUnk_081123EE:: @ 081123EE - .incbin "baserom.gba", 0x1123EE, 0x0000079 - -gUnk_08112467:: @ 08112467 - .incbin "baserom.gba", 0x112467, 0x0000032 - -gUnk_08112499:: @ 08112499 - .incbin "baserom.gba", 0x112499, 0x0000013 - -gUnk_081124AC:: @ 081124AC - .incbin "baserom.gba", 0x1124AC, 0x0000009 - -gUnk_081124B5:: @ 081124B5 - .incbin "baserom.gba", 0x1124B5, 0x000001D - -gUnk_081124D2:: @ 081124D2 - .incbin "baserom.gba", 0x1124D2, 0x0000019 - -gUnk_081124EB:: @ 081124EB - .incbin "baserom.gba", 0x1124EB, 0x0000014 - -gUnk_081124FF:: @ 081124FF - .incbin "baserom.gba", 0x1124FF, 0x0000025 - -gUnk_08112524:: @ 08112524 - .incbin "baserom.gba", 0x112524, 0x0000019 - -gUnk_0811253D:: @ 0811253D - .incbin "baserom.gba", 0x11253D, 0x0000045 - -gUnk_08112582:: @ 08112582 - .incbin "baserom.gba", 0x112582, 0x0000016 - -gUnk_08112598:: @ 08112598 - .incbin "baserom.gba", 0x112598, 0x000005C - -gUnk_081125F4:: @ 081125F4 - .incbin "baserom.gba", 0x1125F4, 0x000000C - -gUnk_08112600:: @ 08112600 - .incbin "baserom.gba", 0x112600, 0x0000074 - -gUnk_08112674:: @ 08112674 - .incbin "baserom.gba", 0x112674, 0x0000060 - -gUnk_081126D4:: @ 081126D4 - .incbin "baserom.gba", 0x1126D4, 0x0000010 - -gUnk_081126E4:: @ 081126E4 - .incbin "baserom.gba", 0x1126E4, 0x0000004 - -gUnk_081126E8:: @ 081126E8 - .incbin "baserom.gba", 0x1126E8, 0x0000008 - -gUnk_081126F0:: @ 081126F0 - .incbin "baserom.gba", 0x1126F0, 0x000024C - -gUnk_0811293C:: @ 0811293C - .incbin "baserom.gba", 0x11293C, 0x0000001 - -gUnk_0811293D:: @ 0811293D - .incbin "baserom.gba", 0x11293D, 0x00002B3 - -gUnk_08112BF0:: @ 08112BF0 - .incbin "baserom.gba", 0x112BF0, 0x0000050 - -gUnk_08112C40:: @ 08112C40 - .incbin "baserom.gba", 0x112C40, 0x000000A - -gUnk_08112C4A:: @ 08112C4A - .incbin "baserom.gba", 0x112C4A, 0x0000006 - -gUnk_08112C50:: @ 08112C50 - .incbin "baserom.gba", 0x112C50, 0x000000C - -gUnk_08112C5C:: @ 08112C5C - .incbin "baserom.gba", 0x112C5C, 0x0000004 - -gUnk_08112C60:: @ 08112C60 - .incbin "baserom.gba", 0x112C60, 0x0000008 - -gUnk_08112C68:: @ 08112C68 - .incbin "baserom.gba", 0x112C68, 0x0000005 - -gUnk_08112C6D:: @ 08112C6D - .incbin "baserom.gba", 0x112C6D, 0x0000005 - -gUnk_08112C72:: @ 08112C72 - .incbin "baserom.gba", 0x112C72, 0x0000005 - -gUnk_08112C77:: @ 08112C77 - .incbin "baserom.gba", 0x112C77, 0x0000005 - -gUnk_08112C7C:: @ 08112C7C - .incbin "baserom.gba", 0x112C7C, 0x0000021 - -gUnk_08112C9D:: @ 08112C9D - .incbin "baserom.gba", 0x112C9D, 0x0000021 - -gUnk_08112CBE:: @ 08112CBE - .incbin "baserom.gba", 0x112CBE, 0x0000021 - -gUnk_08112CDF:: @ 08112CDF - .incbin "baserom.gba", 0x112CDF, 0x0000021 - -gUnk_08112D00:: @ 08112D00 - .incbin "baserom.gba", 0x112D00, 0x0000005 - -gUnk_08112D05:: @ 08112D05 - .incbin "baserom.gba", 0x112D05, 0x0000005 - -gUnk_08112D0A:: @ 08112D0A - .incbin "baserom.gba", 0x112D0A, 0x0000005 - -gUnk_08112D0F:: @ 08112D0F - .incbin "baserom.gba", 0x112D0F, 0x0000005 - -gUnk_08112D14:: @ 08112D14 - .incbin "baserom.gba", 0x112D14, 0x0000034 - -gUnk_08112D48:: @ 08112D48 - .incbin "baserom.gba", 0x112D48, 0x0000008 - -gUnk_08112D50:: @ 08112D50 - .incbin "baserom.gba", 0x112D50, 0x000000A - -gUnk_08112D5A:: @ 08112D5A - .incbin "baserom.gba", 0x112D5A, 0x0000015 - -gUnk_08112D6F:: @ 08112D6F - .incbin "baserom.gba", 0x112D6F, 0x0000009 - -gUnk_08112D78:: @ 08112D78 - .incbin "baserom.gba", 0x112D78, 0x0000011 - -gUnk_08112D89:: @ 08112D89 - .incbin "baserom.gba", 0x112D89, 0x0000011 - -gUnk_08112D9A:: @ 08112D9A - .incbin "baserom.gba", 0x112D9A, 0x000004D - -gUnk_08112DE7:: @ 08112DE7 - .incbin "baserom.gba", 0x112DE7, 0x0000005 - -gUnk_08112DEC:: @ 08112DEC - .incbin "baserom.gba", 0x112DEC, 0x0000030 - -gUnk_08112E1C:: @ 08112E1C - .incbin "baserom.gba", 0x112E1C, 0x0000010 - -gUnk_08112E2C:: @ 08112E2C - .incbin "baserom.gba", 0x112E2C, 0x0000028 - -gUnk_08112E54:: @ 08112E54 - .incbin "baserom.gba", 0x112E54, 0x0000008 - -gUnk_08112E5C:: @ 08112E5C - .incbin "baserom.gba", 0x112E5C, 0x0000049 - -gUnk_08112EA5:: @ 08112EA5 - .incbin "baserom.gba", 0x112EA5, 0x0000005 - -gUnk_08112EAA:: @ 08112EAA - .incbin "baserom.gba", 0x112EAA, 0x0000005 - -gUnk_08112EAF:: @ 08112EAF - .incbin "baserom.gba", 0x112EAF, 0x0000005 - -gUnk_08112EB4:: @ 08112EB4 - .incbin "baserom.gba", 0x112EB4, 0x0000071 - -gUnk_08112F25:: @ 08112F25 - .incbin "baserom.gba", 0x112F25, 0x0000005 - -gUnk_08112F2A:: @ 08112F2A - .incbin "baserom.gba", 0x112F2A, 0x0000005 - -gUnk_08112F2F:: @ 08112F2F - .incbin "baserom.gba", 0x112F2F, 0x0000005 - -gUnk_08112F34:: @ 08112F34 - .incbin "baserom.gba", 0x112F34, 0x0000044 - -gUnk_08112F78:: @ 08112F78 - .incbin "baserom.gba", 0x112F78, 0x0000008 - -gUnk_08112F80:: @ 08112F80 - .incbin "baserom.gba", 0x112F80, 0x0000008 - -gUnk_08112F88:: @ 08112F88 - .incbin "baserom.gba", 0x112F88, 0x000003C - -gUnk_08112FC4:: @ 08112FC4 - .incbin "baserom.gba", 0x112FC4, 0x0000011 - -gUnk_08112FD5:: @ 08112FD5 - .incbin "baserom.gba", 0x112FD5, 0x000001F - -gUnk_08112FF4:: @ 08112FF4 - .incbin "baserom.gba", 0x112FF4, 0x0000010 - -gUnk_08113004:: @ 08113004 - .incbin "baserom.gba", 0x113004, 0x0000020 - -gUnk_08113024:: @ 08113024 - .incbin "baserom.gba", 0x113024, 0x0000008 - -gUnk_0811302C:: @ 0811302C - .incbin "baserom.gba", 0x11302C, 0x0000044 - -gUnk_08113070:: @ 08113070 - .incbin "baserom.gba", 0x113070, 0x0000008 - -gUnk_08113078:: @ 08113078 - .incbin "baserom.gba", 0x113078, 0x0000006 - -gUnk_0811307E:: @ 0811307E - .incbin "baserom.gba", 0x11307E, 0x0000005 - -gUnk_08113083:: @ 08113083 - .incbin "baserom.gba", 0x113083, 0x000000D - -gUnk_08113090:: @ 08113090 - .incbin "baserom.gba", 0x113090, 0x0000010 - -gUnk_081130A0:: @ 081130A0 - .incbin "baserom.gba", 0x1130A0, 0x0000038 - -gUnk_081130D8:: @ 081130D8 - .incbin "baserom.gba", 0x1130D8, 0x0000005 - -gUnk_081130DD:: @ 081130DD - .incbin "baserom.gba", 0x1130DD, 0x000000D - -gUnk_081130EA:: @ 081130EA - .incbin "baserom.gba", 0x1130EA, 0x000000D - -gUnk_081130F7:: @ 081130F7 - .incbin "baserom.gba", 0x1130F7, 0x000000B - -gUnk_08113102:: @ 08113102 - .incbin "baserom.gba", 0x113102, 0x0000006 - -gUnk_08113108:: @ 08113108 - .incbin "baserom.gba", 0x113108, 0x0000038 - -gUnk_08113140:: @ 08113140 - .incbin "baserom.gba", 0x113140, 0x0000018 - -gUnk_08113158:: @ 08113158 - .incbin "baserom.gba", 0x113158, 0x0000010 - -gUnk_08113168:: @ 08113168 - .incbin "baserom.gba", 0x113168, 0x0000025 - -gUnk_0811318D:: @ 0811318D - .incbin "baserom.gba", 0x11318D, 0x0000005 - -gUnk_08113192:: @ 08113192 - .incbin "baserom.gba", 0x113192, 0x0000005 - -gUnk_08113197:: @ 08113197 - .incbin "baserom.gba", 0x113197, 0x0000005 - -gUnk_0811319C:: @ 0811319C - .incbin "baserom.gba", 0x11319C, 0x0000044 - -gUnk_081131E0:: @ 081131E0 - .incbin "baserom.gba", 0x1131E0, 0x0000025 - -gUnk_08113205:: @ 08113205 - .incbin "baserom.gba", 0x113205, 0x0000005 - -gUnk_0811320A:: @ 0811320A - .incbin "baserom.gba", 0x11320A, 0x0000005 - -gUnk_0811320F:: @ 0811320F - .incbin "baserom.gba", 0x11320F, 0x0000005 - -gUnk_08113214:: @ 08113214 - .incbin "baserom.gba", 0x113214, 0x0000044 - -gUnk_08113258:: @ 08113258 - .incbin "baserom.gba", 0x113258, 0x0000005 - -gUnk_0811325D:: @ 0811325D - .incbin "baserom.gba", 0x11325D, 0x0000011 - -gUnk_0811326E:: @ 0811326E - .incbin "baserom.gba", 0x11326E, 0x0000031 - -gUnk_0811329F:: @ 0811329F - .incbin "baserom.gba", 0x11329F, 0x0000045 - -gUnk_081132E4:: @ 081132E4 - .incbin "baserom.gba", 0x1132E4, 0x0000030 - -gUnk_08113314:: @ 08113314 - .incbin "baserom.gba", 0x113314, 0x0000030 - -gUnk_08113344:: @ 08113344 - .incbin "baserom.gba", 0x113344, 0x0000006 - -gUnk_0811334A:: @ 0811334A - .incbin "baserom.gba", 0x11334A, 0x0000006 - -gUnk_08113350:: @ 08113350 - .incbin "baserom.gba", 0x113350, 0x0000019 - -gUnk_08113369:: @ 08113369 - .incbin "baserom.gba", 0x113369, 0x0000005 - -gUnk_0811336E:: @ 0811336E - .incbin "baserom.gba", 0x11336E, 0x0000009 - -gUnk_08113377:: @ 08113377 - .incbin "baserom.gba", 0x113377, 0x0000009 - -gUnk_08113380:: @ 08113380 - .incbin "baserom.gba", 0x113380, 0x0000024 - -gUnk_081133A4:: @ 081133A4 - .incbin "baserom.gba", 0x1133A4, 0x0000010 - -gUnk_081133B4:: @ 081133B4 - .incbin "baserom.gba", 0x1133B4, 0x0000004 - -gUnk_081133B8:: @ 081133B8 - .incbin "baserom.gba", 0x1133B8, 0x0000031 - -gUnk_081133E9:: @ 081133E9 - .incbin "baserom.gba", 0x1133E9, 0x0000011 - -gUnk_081133FA:: @ 081133FA - .incbin "baserom.gba", 0x1133FA, 0x0000019 - -gUnk_08113413:: @ 08113413 - .incbin "baserom.gba", 0x113413, 0x0000021 - -gUnk_08113434:: @ 08113434 - .incbin "baserom.gba", 0x113434, 0x0000009 - -gUnk_0811343D:: @ 0811343D - .incbin "baserom.gba", 0x11343D, 0x0000002 - -gUnk_0811343F:: @ 0811343F - .incbin "baserom.gba", 0x11343F, 0x0000007 - -gUnk_08113446:: @ 08113446 - .incbin "baserom.gba", 0x113446, 0x0000009 - -gUnk_0811344F:: @ 0811344F - .incbin "baserom.gba", 0x11344F, 0x0000041 - -gUnk_08113490:: @ 08113490 - .incbin "baserom.gba", 0x113490, 0x0000044 - -gUnk_081134D4:: @ 081134D4 - .incbin "baserom.gba", 0x1134D4, 0x0000034 - -gUnk_08113508:: @ 08113508 - .incbin "baserom.gba", 0x113508, 0x0000024 - -gUnk_0811352C:: @ 0811352C - .incbin "baserom.gba", 0x11352C, 0x0000021 - -gUnk_0811354D:: @ 0811354D - .incbin "baserom.gba", 0x11354D, 0x0000019 - -gUnk_08113566:: @ 08113566 - .incbin "baserom.gba", 0x113566, 0x0000008 - -gUnk_0811356E:: @ 0811356E - .incbin "baserom.gba", 0x11356E, 0x0000021 - -gUnk_0811358F:: @ 0811358F - .incbin "baserom.gba", 0x11358F, 0x0000021 - -gUnk_081135B0:: @ 081135B0 - .incbin "baserom.gba", 0x1135B0, 0x000002D - -gUnk_081135DD:: @ 081135DD - .incbin "baserom.gba", 0x1135DD, 0x0000005 - -gUnk_081135E2:: @ 081135E2 - .incbin "baserom.gba", 0x1135E2, 0x0000006 - -gUnk_081135E8:: @ 081135E8 - .incbin "baserom.gba", 0x1135E8, 0x0000044 - -gUnk_0811362C:: @ 0811362C - .incbin "baserom.gba", 0x11362C, 0x0000005 - -gUnk_08113631:: @ 08113631 - .incbin "baserom.gba", 0x113631, 0x0000005 - -gUnk_08113636:: @ 08113636 - .incbin "baserom.gba", 0x113636, 0x0000005 - -gUnk_0811363B:: @ 0811363B - .incbin "baserom.gba", 0x11363B, 0x0000005 - -gUnk_08113640:: @ 08113640 - .incbin "baserom.gba", 0x113640, 0x0000005 - -gUnk_08113645:: @ 08113645 - .incbin "baserom.gba", 0x113645, 0x0000005 - -gUnk_0811364A:: @ 0811364A - .incbin "baserom.gba", 0x11364A, 0x0000066 - -gUnk_081136B0:: @ 081136B0 - .incbin "baserom.gba", 0x1136B0, 0x0000028 - -gUnk_081136D8:: @ 081136D8 - .incbin "baserom.gba", 0x1136D8, 0x0000011 - -gUnk_081136E9:: @ 081136E9 - .incbin "baserom.gba", 0x1136E9, 0x0000011 - -gUnk_081136FA:: @ 081136FA - .incbin "baserom.gba", 0x1136FA, 0x0000011 - -gUnk_0811370B:: @ 0811370B - .incbin "baserom.gba", 0x11370B, 0x0000011 - -gUnk_0811371C:: @ 0811371C - .incbin "baserom.gba", 0x11371C, 0x0000005 - -gUnk_08113721:: @ 08113721 - .incbin "baserom.gba", 0x113721, 0x0000005 - -gUnk_08113726:: @ 08113726 - .incbin "baserom.gba", 0x113726, 0x0000005 - -gUnk_0811372B:: @ 0811372B - .incbin "baserom.gba", 0x11372B, 0x0000005 - -gUnk_08113730:: @ 08113730 - .incbin "baserom.gba", 0x113730, 0x0000024 - -gUnk_08113754:: @ 08113754 - .incbin "baserom.gba", 0x113754, 0x000000C - -gUnk_08113760:: @ 08113760 - .incbin "baserom.gba", 0x113760, 0x0000050 - -gUnk_081137B0:: @ 081137B0 - .incbin "baserom.gba", 0x1137B0, 0x0000039 - -gUnk_081137E9:: @ 081137E9 - .incbin "baserom.gba", 0x1137E9, 0x0000088 - -gUnk_08113871:: @ 08113871 - .incbin "baserom.gba", 0x113871, 0x0000021 - -gUnk_08113892:: @ 08113892 - .incbin "baserom.gba", 0x113892, 0x0000005 - -gUnk_08113897:: @ 08113897 - .incbin "baserom.gba", 0x113897, 0x0000019 - -gUnk_081138B0:: @ 081138B0 - .incbin "baserom.gba", 0x1138B0, 0x0000008 - -gUnk_081138B8:: @ 081138B8 - .incbin "baserom.gba", 0x1138B8, 0x0000024 - -gUnk_081138DC:: @ 081138DC - .incbin "baserom.gba", 0x1138DC, 0x0000005 - -gUnk_081138E1:: @ 081138E1 - .incbin "baserom.gba", 0x1138E1, 0x000001B - -gUnk_081138FC:: @ 081138FC - .incbin "baserom.gba", 0x1138FC, 0x0000014 - -gUnk_08113910:: @ 08113910 - .incbin "baserom.gba", 0x113910, 0x0000020 - -gUnk_08113930:: @ 08113930 - .incbin "baserom.gba", 0x113930, 0x0000080 - -gUnk_081139B0:: @ 081139B0 - .incbin "baserom.gba", 0x1139B0, 0x000001D - -gUnk_081139CD:: @ 081139CD - .incbin "baserom.gba", 0x1139CD, 0x000001D - -gUnk_081139EA:: @ 081139EA - .incbin "baserom.gba", 0x1139EA, 0x000001E - -gUnk_08113A08:: @ 08113A08 - .incbin "baserom.gba", 0x113A08, 0x0000014 - -gUnk_08113A1C:: @ 08113A1C - .incbin "baserom.gba", 0x113A1C, 0x0000060 - -gUnk_08113A7C:: @ 08113A7C - .incbin "baserom.gba", 0x113A7C, 0x0000010 - -gUnk_08113A8C:: @ 08113A8C - .incbin "baserom.gba", 0x113A8C, 0x0000030 - -gUnk_08113ABC:: @ 08113ABC - .incbin "baserom.gba", 0x113ABC, 0x0000050 - -gUnk_08113B0C:: @ 08113B0C - .incbin "baserom.gba", 0x113B0C, 0x0000006 - -gUnk_08113B12:: @ 08113B12 - .incbin "baserom.gba", 0x113B12, 0x0000004 - -gUnk_08113B16:: @ 08113B16 - .incbin "baserom.gba", 0x113B16, 0x0000008 - -gUnk_08113B1E:: @ 08113B1E - .incbin "baserom.gba", 0x113B1E, 0x0000004 - -gUnk_08113B22:: @ 08113B22 - .incbin "baserom.gba", 0x113B22, 0x0000006 - -gUnk_08113B28:: @ 08113B28 - .incbin "baserom.gba", 0x113B28, 0x0000008 - -gUnk_08113B30:: @ 08113B30 - .incbin "baserom.gba", 0x113B30, 0x0000008 - -gUnk_08113B38:: @ 08113B38 - .incbin "baserom.gba", 0x113B38, 0x0000007 - -gUnk_08113B3F:: @ 08113B3F - .incbin "baserom.gba", 0x113B3F, 0x0000005 - -gUnk_08113B44:: @ 08113B44 - .incbin "baserom.gba", 0x113B44, 0x0000005 - -gUnk_08113B49:: @ 08113B49 - .incbin "baserom.gba", 0x113B49, 0x0000005 - -gUnk_08113B4E:: @ 08113B4E - .incbin "baserom.gba", 0x113B4E, 0x0000005 - -gUnk_08113B53:: @ 08113B53 - .incbin "baserom.gba", 0x113B53, 0x0000011 - -gUnk_08113B64:: @ 08113B64 - .incbin "baserom.gba", 0x113B64, 0x0000011 - -gUnk_08113B75:: @ 08113B75 - .incbin "baserom.gba", 0x113B75, 0x0000011 - -gUnk_08113B86:: @ 08113B86 - .incbin "baserom.gba", 0x113B86, 0x0000012 - -gUnk_08113B98:: @ 08113B98 - .incbin "baserom.gba", 0x113B98, 0x0000024 - -gUnk_08113BBC:: @ 08113BBC - .incbin "baserom.gba", 0x113BBC, 0x0000005 - -gUnk_08113BC1:: @ 08113BC1 - .incbin "baserom.gba", 0x113BC1, 0x0000005 - -gUnk_08113BC6:: @ 08113BC6 - .incbin "baserom.gba", 0x113BC6, 0x0000005 - -gUnk_08113BCB:: @ 08113BCB - .incbin "baserom.gba", 0x113BCB, 0x0000005 - -gUnk_08113BD0:: @ 08113BD0 - .incbin "baserom.gba", 0x113BD0, 0x0000011 - -gUnk_08113BE1:: @ 08113BE1 - .incbin "baserom.gba", 0x113BE1, 0x0000011 - -gUnk_08113BF2:: @ 08113BF2 - .incbin "baserom.gba", 0x113BF2, 0x0000011 - -gUnk_08113C03:: @ 08113C03 - .incbin "baserom.gba", 0x113C03, 0x0000011 - -gUnk_08113C14:: @ 08113C14 - .incbin "baserom.gba", 0x113C14, 0x0000024 - -gUnk_08113C38:: @ 08113C38 - .incbin "baserom.gba", 0x113C38, 0x0000005 - -gUnk_08113C3D:: @ 08113C3D - .incbin "baserom.gba", 0x113C3D, 0x0000005 - -gUnk_08113C42:: @ 08113C42 - .incbin "baserom.gba", 0x113C42, 0x0000005 - -gUnk_08113C47:: @ 08113C47 - .incbin "baserom.gba", 0x113C47, 0x0000011 - -gUnk_08113C58:: @ 08113C58 - .incbin "baserom.gba", 0x113C58, 0x0000024 - -gUnk_08113C7C:: @ 08113C7C - .incbin "baserom.gba", 0x113C7C, 0x0000005 - -gUnk_08113C81:: @ 08113C81 - .incbin "baserom.gba", 0x113C81, 0x0000005 - -gUnk_08113C86:: @ 08113C86 - .incbin "baserom.gba", 0x113C86, 0x0000005 - -gUnk_08113C8B:: @ 08113C8B - .incbin "baserom.gba", 0x113C8B, 0x0000005 - -gUnk_08113C90:: @ 08113C90 - .incbin "baserom.gba", 0x113C90, 0x0000011 - -gUnk_08113CA1:: @ 08113CA1 - .incbin "baserom.gba", 0x113CA1, 0x0000011 - -gUnk_08113CB2:: @ 08113CB2 - .incbin "baserom.gba", 0x113CB2, 0x0000011 - -gUnk_08113CC3:: @ 08113CC3 - .incbin "baserom.gba", 0x113CC3, 0x0000011 - -gUnk_08113CD4:: @ 08113CD4 - .incbin "baserom.gba", 0x113CD4, 0x0000024 - -gUnk_08113CF8:: @ 08113CF8 - .incbin "baserom.gba", 0x113CF8, 0x0000005 - -gUnk_08113CFD:: @ 08113CFD - .incbin "baserom.gba", 0x113CFD, 0x0000005 - -gUnk_08113D02:: @ 08113D02 - .incbin "baserom.gba", 0x113D02, 0x0000005 - -gUnk_08113D07:: @ 08113D07 - .incbin "baserom.gba", 0x113D07, 0x0000015 - -gUnk_08113D1C:: @ 08113D1C - .incbin "baserom.gba", 0x113D1C, 0x0000024 - -gUnk_08113D40:: @ 08113D40 - .incbin "baserom.gba", 0x113D40, 0x0000005 - -gUnk_08113D45:: @ 08113D45 - .incbin "baserom.gba", 0x113D45, 0x0000005 - -gUnk_08113D4A:: @ 08113D4A - .incbin "baserom.gba", 0x113D4A, 0x0000005 - -gUnk_08113D4F:: @ 08113D4F - .incbin "baserom.gba", 0x113D4F, 0x0000011 - -gUnk_08113D60:: @ 08113D60 - .incbin "baserom.gba", 0x113D60, 0x0000024 - -gUnk_08113D84:: @ 08113D84 - .incbin "baserom.gba", 0x113D84, 0x0000008 - -gUnk_08113D8C:: @ 08113D8C - .incbin "baserom.gba", 0x113D8C, 0x0000010 - -gUnk_08113D9C:: @ 08113D9C - .incbin "baserom.gba", 0x113D9C, 0x0000011 - -gUnk_08113DAD:: @ 08113DAD - .incbin "baserom.gba", 0x113DAD, 0x0000005 - -gUnk_08113DB2:: @ 08113DB2 - .incbin "baserom.gba", 0x113DB2, 0x0000029 - -gUnk_08113DDB:: @ 08113DDB - .incbin "baserom.gba", 0x113DDB, 0x00000D9 - -gUnk_08113EB4:: @ 08113EB4 - .incbin "baserom.gba", 0x113EB4, 0x0000011 - -gUnk_08113EC5:: @ 08113EC5 - .incbin "baserom.gba", 0x113EC5, 0x0000011 - -gUnk_08113ED6:: @ 08113ED6 - .incbin "baserom.gba", 0x113ED6, 0x0000011 - -gUnk_08113EE7:: @ 08113EE7 - .incbin "baserom.gba", 0x113EE7, 0x0000005 - -gUnk_08113EEC:: @ 08113EEC - .incbin "baserom.gba", 0x113EEC, 0x0000005 - -gUnk_08113EF1:: @ 08113EF1 - .incbin "baserom.gba", 0x113EF1, 0x0000007 - -gUnk_08113EF8:: @ 08113EF8 - .incbin "baserom.gba", 0x113EF8, 0x000004C - -gUnk_08113F44:: @ 08113F44 - .incbin "baserom.gba", 0x113F44, 0x0000004 - -gUnk_08113F48:: @ 08113F48 - .incbin "baserom.gba", 0x113F48, 0x0000078 - -gUnk_08113FC0:: @ 08113FC0 - .incbin "baserom.gba", 0x113FC0, 0x0000005 - -gUnk_08113FC5:: @ 08113FC5 - .incbin "baserom.gba", 0x113FC5, 0x0000005 - -gUnk_08113FCA:: @ 08113FCA - .incbin "baserom.gba", 0x113FCA, 0x0000005 - -gUnk_08113FCF:: @ 08113FCF - .incbin "baserom.gba", 0x113FCF, 0x0000005 - -gUnk_08113FD4:: @ 08113FD4 - .incbin "baserom.gba", 0x113FD4, 0x0000011 - -gUnk_08113FE5:: @ 08113FE5 - .incbin "baserom.gba", 0x113FE5, 0x000004D - -gUnk_08114032:: @ 08114032 - .incbin "baserom.gba", 0x114032, 0x000000D - -gUnk_0811403F:: @ 0811403F - .incbin "baserom.gba", 0x11403F, 0x0000011 - -gUnk_08114050:: @ 08114050 - .incbin "baserom.gba", 0x114050, 0x0000011 - -gUnk_08114061:: @ 08114061 - .incbin "baserom.gba", 0x114061, 0x0000029 - -gUnk_0811408A:: @ 0811408A - .incbin "baserom.gba", 0x11408A, 0x000000E - -gUnk_08114098:: @ 08114098 - .incbin "baserom.gba", 0x114098, 0x0000034 - -gUnk_081140CC:: @ 081140CC - .incbin "baserom.gba", 0x1140CC, 0x0000008 - -gUnk_081140D4:: @ 081140D4 - .incbin "baserom.gba", 0x1140D4, 0x000002C - -gUnk_08114100:: @ 08114100 - .incbin "baserom.gba", 0x114100, 0x0000004 - -gUnk_08114104:: @ 08114104 - .incbin "baserom.gba", 0x114104, 0x0000030 - -gUnk_08114134:: @ 08114134 - .incbin "baserom.gba", 0x114134, 0x0000010 - -gUnk_08114144:: @ 08114144 - .incbin "baserom.gba", 0x114144, 0x0000010 - -gUnk_08114154:: @ 08114154 - .incbin "baserom.gba", 0x114154, 0x0000008 - -gUnk_0811415C:: @ 0811415C - .incbin "baserom.gba", 0x11415C, 0x0000048 - -gUnk_081141A4:: @ 081141A4 - .incbin "baserom.gba", 0x1141A4, 0x0000040 - -gUnk_081141E4:: @ 081141E4 - .incbin "baserom.gba", 0x1141E4, 0x0000010 - -gUnk_081141F4:: @ 081141F4 - .incbin "baserom.gba", 0x1141F4, 0x0000014 - -gUnk_08114208:: @ 08114208 - .incbin "baserom.gba", 0x114208, 0x0000005 - -gUnk_0811420D:: @ 0811420D - .incbin "baserom.gba", 0x11420D, 0x0000004 - -gUnk_08114211:: @ 08114211 - .incbin "baserom.gba", 0x114211, 0x0000005 - -gUnk_08114216:: @ 08114216 - .incbin "baserom.gba", 0x114216, 0x0000009 - -gUnk_0811421F:: @ 0811421F - .incbin "baserom.gba", 0x11421F, 0x0000009 - -gUnk_08114228:: @ 08114228 - .incbin "baserom.gba", 0x114228, 0x0000014 - -gUnk_0811423C:: @ 0811423C - .incbin "baserom.gba", 0x11423C, 0x0000008 - -gUnk_08114244:: @ 08114244 - .incbin "baserom.gba", 0x114244, 0x0000019 - -gUnk_0811425D:: @ 0811425D - .incbin "baserom.gba", 0x11425D, 0x0000019 - -gUnk_08114276:: @ 08114276 - .incbin "baserom.gba", 0x114276, 0x0000019 - -gUnk_0811428F:: @ 0811428F - .incbin "baserom.gba", 0x11428F, 0x0000019 - -gUnk_081142A8:: @ 081142A8 - .incbin "baserom.gba", 0x1142A8, 0x0000014 - -gUnk_081142BC:: @ 081142BC - .incbin "baserom.gba", 0x1142BC, 0x0000010 - -gUnk_081142CC:: @ 081142CC - .incbin "baserom.gba", 0x1142CC, 0x0000010 - -gUnk_081142DC:: @ 081142DC - .incbin "baserom.gba", 0x1142DC, 0x0000020 - -gUnk_081142FC:: @ 081142FC - .incbin "baserom.gba", 0x1142FC, 0x0000008 - -gUnk_08114304:: @ 08114304 - .incbin "baserom.gba", 0x114304, 0x0000004 - -gUnk_08114308:: @ 08114308 - .incbin "baserom.gba", 0x114308, 0x0000128 - -gUnk_08114430:: @ 08114430 - .incbin "baserom.gba", 0x114430, 0x0000002 - -gUnk_08114432:: @ 08114432 - .incbin "baserom.gba", 0x114432, 0x0000012 - -gUnk_08114444:: @ 08114444 - .incbin "baserom.gba", 0x114444, 0x0000084 - -gUnk_081144C8:: @ 081144C8 - .incbin "baserom.gba", 0x1144C8, 0x0000005 - -gUnk_081144CD:: @ 081144CD - .incbin "baserom.gba", 0x1144CD, 0x0000005 - -gUnk_081144D2:: @ 081144D2 - .incbin "baserom.gba", 0x1144D2, 0x0000005 - -gUnk_081144D7:: @ 081144D7 - .incbin "baserom.gba", 0x1144D7, 0x0000005 - -gUnk_081144DC:: @ 081144DC - .incbin "baserom.gba", 0x1144DC, 0x0000014 - -gUnk_081144F0:: @ 081144F0 - .incbin "baserom.gba", 0x1144F0, 0x000000C - -gUnk_081144FC:: @ 081144FC - .incbin "baserom.gba", 0x1144FC, 0x0000035 - -gUnk_08114531:: @ 08114531 - .incbin "baserom.gba", 0x114531, 0x000000B - -gUnk_0811453C:: @ 0811453C - .incbin "baserom.gba", 0x11453C, 0x0000011 - -gUnk_0811454D:: @ 0811454D - .incbin "baserom.gba", 0x11454D, 0x0000011 - -gUnk_0811455E:: @ 0811455E - .incbin "baserom.gba", 0x11455E, 0x0000011 - -gUnk_0811456F:: @ 0811456F - .incbin "baserom.gba", 0x11456F, 0x0000005 - -gUnk_08114574:: @ 08114574 - .incbin "baserom.gba", 0x114574, 0x0000005 - -gUnk_08114579:: @ 08114579 - .incbin "baserom.gba", 0x114579, 0x0000007 - -gUnk_08114580:: @ 08114580 - .incbin "baserom.gba", 0x114580, 0x0000034 - -gUnk_081145B4:: @ 081145B4 - .incbin "baserom.gba", 0x1145B4, 0x0000014 - -gUnk_081145C8:: @ 081145C8 - .incbin "baserom.gba", 0x1145C8, 0x0000008 - -gUnk_081145D0:: @ 081145D0 - .incbin "baserom.gba", 0x1145D0, 0x0000004 - -gUnk_081145D4:: @ 081145D4 - .incbin "baserom.gba", 0x1145D4, 0x0000010 - -gUnk_081145E4:: @ 081145E4 - .incbin "baserom.gba", 0x1145E4, 0x00000D4 - -gUnk_081146B8:: @ 081146B8 - .incbin "baserom.gba", 0x1146B8, 0x0000018 - -gUnk_081146D0:: @ 081146D0 - .incbin "baserom.gba", 0x1146D0, 0x0000014 - -gUnk_081146E4:: @ 081146E4 - .incbin "baserom.gba", 0x1146E4, 0x0000010 - -gUnk_081146F4:: @ 081146F4 - .incbin "baserom.gba", 0x1146F4, 0x00000A8 - -gUnk_0811479C:: @ 0811479C - .incbin "baserom.gba", 0x11479C, 0x0000048 - -gUnk_081147E4:: @ 081147E4 - .incbin "baserom.gba", 0x1147E4, 0x0000020 - -gUnk_08114804:: @ 08114804 - .incbin "baserom.gba", 0x114804, 0x0000010 - -gUnk_08114814:: @ 08114814 - .incbin "baserom.gba", 0x114814, 0x0000010 - -gUnk_08114824:: @ 08114824 - .incbin "baserom.gba", 0x114824, 0x0000040 - -gUnk_08114864:: @ 08114864 - .incbin "baserom.gba", 0x114864, 0x0000010 - -gUnk_08114874:: @ 08114874 - .incbin "baserom.gba", 0x114874, 0x0000030 - -gUnk_081148A4:: @ 081148A4 - .incbin "baserom.gba", 0x1148A4, 0x0000020 - -gUnk_081148C4:: @ 081148C4 - .incbin "baserom.gba", 0x1148C4, 0x0000020 - -gUnk_081148E4:: @ 081148E4 - .incbin "baserom.gba", 0x1148E4, 0x0000030 - -gUnk_08114914:: @ 08114914 - .incbin "baserom.gba", 0x114914, 0x0000030 - -gUnk_08114944:: @ 08114944 - .incbin "baserom.gba", 0x114944, 0x0000030 - -gUnk_08114974:: @ 08114974 - .incbin "baserom.gba", 0x114974, 0x0000010 - -gUnk_08114984:: @ 08114984 - .incbin "baserom.gba", 0x114984, 0x0000010 - -gUnk_08114994:: @ 08114994 - .incbin "baserom.gba", 0x114994, 0x0000010 - -gUnk_081149A4:: @ 081149A4 - .incbin "baserom.gba", 0x1149A4, 0x0000010 - -gUnk_081149B4:: @ 081149B4 - .incbin "baserom.gba", 0x1149B4, 0x0000010 - -gUnk_081149C4:: @ 081149C4 - .incbin "baserom.gba", 0x1149C4, 0x0000030 - -gUnk_081149F4:: @ 081149F4 - .incbin "baserom.gba", 0x1149F4, 0x0000020 - -gUnk_08114A14:: @ 08114A14 - .incbin "baserom.gba", 0x114A14, 0x0000058 - -gUnk_08114A6C:: @ 08114A6C - .incbin "baserom.gba", 0x114A6C, 0x0000020 - -gUnk_08114A8C:: @ 08114A8C - .incbin "baserom.gba", 0x114A8C, 0x0000030 - -gUnk_08114ABC:: @ 08114ABC - .incbin "baserom.gba", 0x114ABC, 0x0000028 - -gUnk_08114AE4:: @ 08114AE4 - .incbin "baserom.gba", 0x114AE4, 0x0000400 - -gUnk_08114EE4:: @ 08114EE4 - .incbin "baserom.gba", 0x114EE4, 0x0000018 - -gUnk_08114EFC:: @ 08114EFC - .incbin "baserom.gba", 0x114EFC, 0x0000010 - -gUnk_08114F0C:: @ 08114F0C - .incbin "baserom.gba", 0x114F0C, 0x0000024 - -gUnk_08114F30:: @ 08114F30 - .incbin "baserom.gba", 0x114F30, 0x0000004 - -gUnk_08114F34:: @ 08114F34 - .incbin "baserom.gba", 0x114F34, 0x0000004 - -gUnk_08114F38:: @ 08114F38 - .incbin "baserom.gba", 0x114F38, 0x0000020 - -gUnk_08114F58:: @ 08114F58 - .incbin "baserom.gba", 0x114F58, 0x0000020 - -gUnk_08114F78:: @ 08114F78 - .incbin "baserom.gba", 0x114F78, 0x0000008 - -gUnk_08114F80:: @ 08114F80 - .incbin "baserom.gba", 0x114F80, 0x0000008 - -gUnk_08114F88:: @ 08114F88 - .incbin "baserom.gba", 0x114F88, 0x0000010 - -gUnk_08114F98:: @ 08114F98 - .incbin "baserom.gba", 0x114F98, 0x00003F4 - -gUnk_0811538C:: @ 0811538C - .incbin "baserom.gba", 0x11538C, 0x0000153 - -gUnk_081154DF:: @ 081154DF - .incbin "baserom.gba", 0x1154DF, 0x0000042 - -gUnk_08115521:: @ 08115521 - .incbin "baserom.gba", 0x115521, 0x0000002 - -gUnk_08115523:: @ 08115523 - .incbin "baserom.gba", 0x115523, 0x0000003 - -gUnk_08115526:: @ 08115526 - .incbin "baserom.gba", 0x115526, 0x00001FE - -gUnk_08115724:: @ 08115724 - .incbin "baserom.gba", 0x115724, 0x00003D4 - -gUnk_08115AF8:: @ 08115AF8 - .incbin "baserom.gba", 0x115AF8, 0x00003A4 - -gUnk_08115E9C:: @ 08115E9C - .incbin "baserom.gba", 0x115E9C, 0x0000176 - -gUnk_08116012:: @ 08116012 - .incbin "baserom.gba", 0x116012, 0x000026E - -gUnk_08116280:: @ 08116280 - .incbin "baserom.gba", 0x116280, 0x00002B0 - -gUnk_08116530:: @ 08116530 - .incbin "baserom.gba", 0x116530, 0x00001D3 - -gUnk_08116703:: @ 08116703 - .incbin "baserom.gba", 0x116703, 0x0000085 - -gUnk_08116788:: @ 08116788 - .incbin "baserom.gba", 0x116788, 0x0000100 - -gUnk_08116888:: @ 08116888 - .incbin "baserom.gba", 0x116888, 0x0000017 - -gUnk_0811689F:: @ 0811689F - .incbin "baserom.gba", 0x11689F, 0x00001FD - -gUnk_08116A9C:: @ 08116A9C - .incbin "baserom.gba", 0x116A9C, 0x0000270 - -gUnk_08116D0C:: @ 08116D0C - .incbin "baserom.gba", 0x116D0C, 0x00000C8 - -gUnk_08116DD4:: @ 08116DD4 - .incbin "baserom.gba", 0x116DD4, 0x0000071 - -gUnk_08116E45:: @ 08116E45 - .incbin "baserom.gba", 0x116E45, 0x000011F - -gUnk_08116F64:: @ 08116F64 - .incbin "baserom.gba", 0x116F64, 0x00002A4 - -gUnk_08117208:: @ 08117208 - .incbin "baserom.gba", 0x117208, 0x0000038 - -gUnk_08117240:: @ 08117240 - .incbin "baserom.gba", 0x117240, 0x000039C - -gUnk_081175DC:: @ 081175DC - .incbin "baserom.gba", 0x1175DC, 0x00002D4 - -gUnk_081178B0:: @ 081178B0 - .incbin "baserom.gba", 0x1178B0, 0x00002D4 - -gUnk_08117B84:: @ 08117B84 - .incbin "baserom.gba", 0x117B84, 0x00001E0 - -gUnk_08117D64:: @ 08117D64 - .incbin "baserom.gba", 0x117D64, 0x00000DC - -gUnk_08117E40:: @ 08117E40 - .incbin "baserom.gba", 0x117E40, 0x0000128 - -gUnk_08117F68:: @ 08117F68 - .incbin "baserom.gba", 0x117F68, 0x000006C - -gUnk_08117FD4:: @ 08117FD4 - .incbin "baserom.gba", 0x117FD4, 0x00001AD - -gUnk_08118181:: @ 08118181 - .incbin "baserom.gba", 0x118181, 0x0000033 - -gUnk_081181B4:: @ 081181B4 - .incbin "baserom.gba", 0x1181B4, 0x0000030 - -gUnk_081181E4:: @ 081181E4 - .incbin "baserom.gba", 0x1181E4, 0x0000054 - -gUnk_08118238:: @ 08118238 - .incbin "baserom.gba", 0x118238, 0x000002C - -gUnk_08118264:: @ 08118264 - .incbin "baserom.gba", 0x118264, 0x0000034 - -gUnk_08118298:: @ 08118298 - .incbin "baserom.gba", 0x118298, 0x0000100 - -gUnk_08118398:: @ 08118398 - .incbin "baserom.gba", 0x118398, 0x0000024 - -gUnk_081183BC:: @ 081183BC - .incbin "baserom.gba", 0x1183BC, 0x00000B0 - -gUnk_0811846C:: @ 0811846C - .incbin "baserom.gba", 0x11846C, 0x000003C - -gUnk_081184A8:: @ 081184A8 - .incbin "baserom.gba", 0x1184A8, 0x00000B0 - -gUnk_08118558:: @ 08118558 - .incbin "baserom.gba", 0x118558, 0x00001C8 - -gUnk_08118720:: @ 08118720 - .incbin "baserom.gba", 0x118720, 0x0000048 - -gUnk_08118768:: @ 08118768 - .incbin "baserom.gba", 0x118768, 0x0000018 - -gUnk_08118780:: @ 08118780 - .incbin "baserom.gba", 0x118780, 0x0000008 - -gUnk_08118788:: @ 08118788 - .incbin "baserom.gba", 0x118788, 0x000000C - -gUnk_08118794:: @ 08118794 - .incbin "baserom.gba", 0x118794, 0x000012C - -gUnk_081188C0:: @ 081188C0 - .incbin "baserom.gba", 0x1188C0, 0x0000088 - -gUnk_08118948:: @ 08118948 - .incbin "baserom.gba", 0x118948, 0x0000018 - -gUnk_08118960:: @ 08118960 - .incbin "baserom.gba", 0x118960, 0x0000014 - -gUnk_08118974:: @ 08118974 - .incbin "baserom.gba", 0x118974, 0x0000014 - -gUnk_08118988:: @ 08118988 - .incbin "baserom.gba", 0x118988, 0x0000278 - -gUnk_08118C00:: @ 08118C00 - .incbin "baserom.gba", 0x118C00, 0x0000138 - -gUnk_08118D38:: @ 08118D38 - .incbin "baserom.gba", 0x118D38, 0x000006C - -gUnk_08118DA4:: @ 08118DA4 - .incbin "baserom.gba", 0x118DA4, 0x000002C - -gUnk_08118DD0:: @ 08118DD0 - .incbin "baserom.gba", 0x118DD0, 0x000000C - -gUnk_08118DDC:: @ 08118DDC - .incbin "baserom.gba", 0x118DDC, 0x0000080 - -gUnk_08118E5C:: @ 08118E5C - .incbin "baserom.gba", 0x118E5C, 0x00000A8 - -gUnk_08118F04:: @ 08118F04 - .incbin "baserom.gba", 0x118F04, 0x0000038 - -gUnk_08118F3C:: @ 08118F3C - .incbin "baserom.gba", 0x118F3C, 0x0000028 - -gUnk_08118F64:: @ 08118F64 - .incbin "baserom.gba", 0x118F64, 0x0000034 - -gUnk_08118F98:: @ 08118F98 - .incbin "baserom.gba", 0x118F98, 0x0000108 - -gUnk_081190A0:: @ 081190A0 - .incbin "baserom.gba", 0x1190A0, 0x0000044 - -gUnk_081190E4:: @ 081190E4 - .incbin "baserom.gba", 0x1190E4, 0x0000038 - -gUnk_0811911C:: @ 0811911C - .incbin "baserom.gba", 0x11911C, 0x0000010 - -gUnk_0811912C:: @ 0811912C - .incbin "baserom.gba", 0x11912C, 0x000005C - -gUnk_08119188:: @ 08119188 - .incbin "baserom.gba", 0x119188, 0x0000120 - -gUnk_081192A8:: @ 081192A8 - .incbin "baserom.gba", 0x1192A8, 0x00002A0 - -gUnk_08119548:: @ 08119548 - .incbin "baserom.gba", 0x119548, 0x000027C - -gUnk_081197C4:: @ 081197C4 - .incbin "baserom.gba", 0x1197C4, 0x0000030 - -gUnk_081197F4:: @ 081197F4 - .incbin "baserom.gba", 0x1197F4, 0x00000D0 - -gUnk_081198C4:: @ 081198C4 - .incbin "baserom.gba", 0x1198C4, 0x0000028 - -gUnk_081198EC:: @ 081198EC - .incbin "baserom.gba", 0x1198EC, 0x00000B8 - -gUnk_081199A4:: @ 081199A4 - .incbin "baserom.gba", 0x1199A4, 0x0000054 - -gUnk_081199F8:: @ 081199F8 - .incbin "baserom.gba", 0x1199F8, 0x000007C - -gUnk_08119A74:: @ 08119A74 - .incbin "baserom.gba", 0x119A74, 0x000007C - -gUnk_08119AF0:: @ 08119AF0 - .incbin "baserom.gba", 0x119AF0, 0x000008C - -gUnk_08119B7C:: @ 08119B7C - .incbin "baserom.gba", 0x119B7C, 0x0000074 - -gUnk_08119BF0:: @ 08119BF0 - .incbin "baserom.gba", 0x119BF0, 0x0000074 - -gUnk_08119C64:: @ 08119C64 - .incbin "baserom.gba", 0x119C64, 0x0000090 - -gUnk_08119CF4:: @ 08119CF4 - .incbin "baserom.gba", 0x119CF4, 0x0000060 - -gUnk_08119D54:: @ 08119D54 - .incbin "baserom.gba", 0x119D54, 0x0000054 - -gUnk_08119DA8:: @ 08119DA8 - .incbin "baserom.gba", 0x119DA8, 0x0000054 - -gUnk_08119DFC:: @ 08119DFC - .incbin "baserom.gba", 0x119DFC, 0x000001C - -gUnk_08119E18:: @ 08119E18 - .incbin "baserom.gba", 0x119E18, 0x000002C - -gUnk_08119E44:: @ 08119E44 - .incbin "baserom.gba", 0x119E44, 0x000006C - -gUnk_08119EB0:: @ 08119EB0 - .incbin "baserom.gba", 0x119EB0, 0x0000028 - -gUnk_08119ED8:: @ 08119ED8 - .incbin "baserom.gba", 0x119ED8, 0x00000A8 - -gUnk_08119F80:: @ 08119F80 - .incbin "baserom.gba", 0x119F80, 0x0000024 - -gUnk_08119FA4:: @ 08119FA4 - .incbin "baserom.gba", 0x119FA4, 0x0000024 - -gUnk_08119FC8:: @ 08119FC8 - .incbin "baserom.gba", 0x119FC8, 0x000000C - -gUnk_08119FD4:: @ 08119FD4 - .incbin "baserom.gba", 0x119FD4, 0x0000048 - -gUnk_0811A01C:: @ 0811A01C - .incbin "baserom.gba", 0x11A01C, 0x0000030 - -gUnk_0811A04C:: @ 0811A04C - .incbin "baserom.gba", 0x11A04C, 0x000001C - -gUnk_0811A068:: @ 0811A068 - .incbin "baserom.gba", 0x11A068, 0x000003C - -gUnk_0811A0A4:: @ 0811A0A4 - .incbin "baserom.gba", 0x11A0A4, 0x0000028 - -gUnk_0811A0CC:: @ 0811A0CC - .incbin "baserom.gba", 0x11A0CC, 0x0000018 - -gUnk_0811A0E4:: @ 0811A0E4 - .incbin "baserom.gba", 0x11A0E4, 0x0000040 - -gUnk_0811A124:: @ 0811A124 - .incbin "baserom.gba", 0x11A124, 0x0000020 - -gUnk_0811A144:: @ 0811A144 - .incbin "baserom.gba", 0x11A144, 0x0000038 - -gUnk_0811A17C:: @ 0811A17C - .incbin "baserom.gba", 0x11A17C, 0x000004C - -gUnk_0811A1C8:: @ 0811A1C8 - .incbin "baserom.gba", 0x11A1C8, 0x0000030 - -gUnk_0811A1F8:: @ 0811A1F8 - .incbin "baserom.gba", 0x11A1F8, 0x0000030 - -gUnk_0811A228:: @ 0811A228 - .incbin "baserom.gba", 0x11A228, 0x0000058 - -gUnk_0811A280:: @ 0811A280 - .incbin "baserom.gba", 0x11A280, 0x000000C - -gUnk_0811A28C:: @ 0811A28C - .incbin "baserom.gba", 0x11A28C, 0x000001C - -gUnk_0811A2A8:: @ 0811A2A8 - .incbin "baserom.gba", 0x11A2A8, 0x0000028 - -gUnk_0811A2D0:: @ 0811A2D0 - .incbin "baserom.gba", 0x11A2D0, 0x000002C - -gUnk_0811A2FC:: @ 0811A2FC - .incbin "baserom.gba", 0x11A2FC, 0x0000214 - -gUnk_0811A510:: @ 0811A510 - .incbin "baserom.gba", 0x11A510, 0x000024C - -gUnk_0811A75C:: @ 0811A75C - .incbin "baserom.gba", 0x11A75C, 0x000004C - -gUnk_0811A7A8:: @ 0811A7A8 - .incbin "baserom.gba", 0x11A7A8, 0x00000C4 - -gUnk_0811A86C:: @ 0811A86C - .incbin "baserom.gba", 0x11A86C, 0x0000060 - -gUnk_0811A8CC:: @ 0811A8CC - .incbin "baserom.gba", 0x11A8CC, 0x00000E8 - -gUnk_0811A9B4:: @ 0811A9B4 - .incbin "baserom.gba", 0x11A9B4, 0x0000078 - -gUnk_0811AA2C:: @ 0811AA2C - .incbin "baserom.gba", 0x11AA2C, 0x0000050 - -gUnk_0811AA7C:: @ 0811AA7C - .incbin "baserom.gba", 0x11AA7C, 0x000009C - -gUnk_0811AB18:: @ 0811AB18 - .incbin "baserom.gba", 0x11AB18, 0x00000E0 - -gUnk_0811ABF8:: @ 0811ABF8 - .incbin "baserom.gba", 0x11ABF8, 0x0000019 - -gUnk_0811AC11:: @ 0811AC11 - .incbin "baserom.gba", 0x11AC11, 0x0000113 - -gUnk_0811AD24:: @ 0811AD24 - .incbin "baserom.gba", 0x11AD24, 0x00000A8 - -gUnk_0811ADCC:: @ 0811ADCC - .incbin "baserom.gba", 0x11ADCC, 0x00000E4 - -gUnk_0811AEB0:: @ 0811AEB0 - .incbin "baserom.gba", 0x11AEB0, 0x0000028 - -gUnk_0811AED8:: @ 0811AED8 - .incbin "baserom.gba", 0x11AED8, 0x000004C - -gUnk_0811AF24:: @ 0811AF24 - .incbin "baserom.gba", 0x11AF24, 0x0000010 - -gUnk_0811AF34:: @ 0811AF34 - .incbin "baserom.gba", 0x11AF34, 0x0000030 - -gUnk_0811AF64:: @ 0811AF64 - .incbin "baserom.gba", 0x11AF64, 0x0000028 - -gUnk_0811AF8C:: @ 0811AF8C - .incbin "baserom.gba", 0x11AF8C, 0x0000030 - -gUnk_0811AFBC:: @ 0811AFBC - .incbin "baserom.gba", 0x11AFBC, 0x0000014 - -gUnk_0811AFD0:: @ 0811AFD0 - .incbin "baserom.gba", 0x11AFD0, 0x0000030 - -gUnk_0811B000:: @ 0811B000 - .incbin "baserom.gba", 0x11B000, 0x000001C - -gUnk_0811B01C:: @ 0811B01C - .incbin "baserom.gba", 0x11B01C, 0x0000010 - -gUnk_0811B02C:: @ 0811B02C - .incbin "baserom.gba", 0x11B02C, 0x0000084 - -gUnk_0811B0B0:: @ 0811B0B0 - .incbin "baserom.gba", 0x11B0B0, 0x0000080 - -gUnk_0811B130:: @ 0811B130 - .incbin "baserom.gba", 0x11B130, 0x0000048 - -gUnk_0811B178:: @ 0811B178 - .incbin "baserom.gba", 0x11B178, 0x0000018 - -gUnk_0811B190:: @ 0811B190 - .incbin "baserom.gba", 0x11B190, 0x0000084 - -gUnk_0811B214:: @ 0811B214 - .incbin "baserom.gba", 0x11B214, 0x0000044 - -gUnk_0811B258:: @ 0811B258 - .incbin "baserom.gba", 0x11B258, 0x000003C - -gUnk_0811B294:: @ 0811B294 - .incbin "baserom.gba", 0x11B294, 0x0000068 - -gUnk_0811B2FC:: @ 0811B2FC - .incbin "baserom.gba", 0x11B2FC, 0x0000050 - -gUnk_0811B34C:: @ 0811B34C - .incbin "baserom.gba", 0x11B34C, 0x0000048 - -gUnk_0811B394:: @ 0811B394 - .incbin "baserom.gba", 0x11B394, 0x0000010 - -gUnk_0811B3A4:: @ 0811B3A4 - .incbin "baserom.gba", 0x11B3A4, 0x0000010 - -gUnk_0811B3B4:: @ 0811B3B4 - .incbin "baserom.gba", 0x11B3B4, 0x0000014 - -gUnk_0811B3C8:: @ 0811B3C8 - .incbin "baserom.gba", 0x11B3C8, 0x0000040 - -gUnk_0811B408:: @ 0811B408 - .incbin "baserom.gba", 0x11B408, 0x0000138 - -gUnk_0811B540:: @ 0811B540 - .incbin "baserom.gba", 0x11B540, 0x0000024 - -gUnk_0811B564:: @ 0811B564 - .incbin "baserom.gba", 0x11B564, 0x0000014 - -gUnk_0811B578:: @ 0811B578 - .incbin "baserom.gba", 0x11B578, 0x00003C8 - -gUnk_0811B940:: @ 0811B940 - .incbin "baserom.gba", 0x11B940, 0x000004C - -gUnk_0811B98C:: @ 0811B98C - .incbin "baserom.gba", 0x11B98C, 0x0000014 - -gUnk_0811B9A0:: @ 0811B9A0 - .incbin "baserom.gba", 0x11B9A0, 0x0000008 - -gUnk_0811B9A8:: @ 0811B9A8 - .incbin "baserom.gba", 0x11B9A8, 0x0000020 - -gUnk_0811B9C8:: @ 0811B9C8 - .incbin "baserom.gba", 0x11B9C8, 0x0000008 - -gUnk_0811B9D0:: @ 0811B9D0 - .incbin "baserom.gba", 0x11B9D0, 0x0000008 - -gUnk_0811B9D8:: @ 0811B9D8 - .incbin "baserom.gba", 0x11B9D8, 0x0000008 - -gUnk_0811B9E0:: @ 0811B9E0 - .incbin "baserom.gba", 0x11B9E0, 0x0000080 - -gUnk_0811BA60:: @ 0811BA60 - .incbin "baserom.gba", 0x11BA60, 0x0000008 - -gUnk_0811BA68:: @ 0811BA68 - .incbin "baserom.gba", 0x11BA68, 0x000000C - -gUnk_0811BA74:: @ 0811BA74 - .incbin "baserom.gba", 0x11BA74, 0x0000008 - -gUnk_0811BA7C:: @ 0811BA7C - .incbin "baserom.gba", 0x11BA7C, 0x000000C - -gUnk_0811BA88:: @ 0811BA88 - .incbin "baserom.gba", 0x11BA88, 0x000000C - -gUnk_0811BA94:: @ 0811BA94 - .incbin "baserom.gba", 0x11BA94, 0x0000008 - -gUnk_0811BA9C:: @ 0811BA9C - .incbin "baserom.gba", 0x11BA9C, 0x0000020 - -gUnk_0811BABC:: @ 0811BABC - .incbin "baserom.gba", 0x11BABC, 0x0000008 - -gUnk_0811BAC4:: @ 0811BAC4 - .incbin "baserom.gba", 0x11BAC4, 0x0000010 - -gUnk_0811BAD4:: @ 0811BAD4 - .incbin "baserom.gba", 0x11BAD4, 0x0000010 - -gUnk_0811BAE4:: @ 0811BAE4 - .incbin "baserom.gba", 0x11BAE4, 0x000000C - -gUnk_0811BAF0:: @ 0811BAF0 - .incbin "baserom.gba", 0x11BAF0, 0x000003C - -gUnk_0811BB2C:: @ 0811BB2C - .incbin "baserom.gba", 0x11BB2C, 0x000000C - -gUnk_0811BB38:: @ 0811BB38 - .incbin "baserom.gba", 0x11BB38, 0x0000004 - -gUnk_0811BB3C:: @ 0811BB3C - .incbin "baserom.gba", 0x11BB3C, 0x000000C - -gUnk_0811BB48:: @ 0811BB48 - .incbin "baserom.gba", 0x11BB48, 0x0000008 - -gUnk_0811BB50:: @ 0811BB50 - .incbin "baserom.gba", 0x11BB50, 0x0000008 - -gUnk_0811BB58:: @ 0811BB58 - .incbin "baserom.gba", 0x11BB58, 0x0000008 - -gUnk_0811BB60:: @ 0811BB60 - .incbin "baserom.gba", 0x11BB60, 0x0000008 - -gUnk_0811BB68:: @ 0811BB68 - .incbin "baserom.gba", 0x11BB68, 0x0000008 - -gUnk_0811BB70:: @ 0811BB70 - .incbin "baserom.gba", 0x11BB70, 0x0000010 - -gUnk_0811BB80:: @ 0811BB80 - .incbin "baserom.gba", 0x11BB80, 0x0000008 - -gUnk_0811BB88:: @ 0811BB88 - .incbin "baserom.gba", 0x11BB88, 0x0000008 - -gUnk_0811BB90:: @ 0811BB90 - .incbin "baserom.gba", 0x11BB90, 0x0000008 - -gUnk_0811BB98:: @ 0811BB98 - .incbin "baserom.gba", 0x11BB98, 0x0000014 - -gUnk_0811BBAC:: @ 0811BBAC - .incbin "baserom.gba", 0x11BBAC, 0x0000010 - -gUnk_0811BBBC:: @ 0811BBBC - .incbin "baserom.gba", 0x11BBBC, 0x0000006 - -gUnk_0811BBC2:: @ 0811BBC2 - .incbin "baserom.gba", 0x11BBC2, 0x0000006 - -gUnk_0811BBC8:: @ 0811BBC8 - .incbin "baserom.gba", 0x11BBC8, 0x0000006 - -gUnk_0811BBCE:: @ 0811BBCE - .incbin "baserom.gba", 0x11BBCE, 0x0000006 - -gUnk_0811BBD4:: @ 0811BBD4 - .incbin "baserom.gba", 0x11BBD4, 0x0000010 - -gUnk_0811BBE4:: @ 0811BBE4 - .incbin "baserom.gba", 0x11BBE4, 0x0000008 - -gUnk_0811BBEC:: @ 0811BBEC - .incbin "baserom.gba", 0x11BBEC, 0x000000C - -gUnk_0811BBF8:: @ 0811BBF8 - .incbin "baserom.gba", 0x11BBF8, 0x0000010 - -gUnk_0811BC08:: @ 0811BC08 - .incbin "baserom.gba", 0x11BC08, 0x0000020 - -gUnk_0811BC28:: @ 0811BC28 - .incbin "baserom.gba", 0x11BC28, 0x0000008 - -gUnk_0811BC30:: @ 0811BC30 - .incbin "baserom.gba", 0x11BC30, 0x0000008 - -gUnk_0811BC38:: @ 0811BC38 - .incbin "baserom.gba", 0x11BC38, 0x0000008 - -gUnk_0811BC40:: @ 0811BC40 - .incbin "baserom.gba", 0x11BC40, 0x0000008 - -gUnk_0811BC48:: @ 0811BC48 - .incbin "baserom.gba", 0x11BC48, 0x0000018 - -gUnk_0811BC60:: @ 0811BC60 - .incbin "baserom.gba", 0x11BC60, 0x0000020 - -gUnk_0811BC80:: @ 0811BC80 - .incbin "baserom.gba", 0x11BC80, 0x0000008 - -gUnk_0811BC88:: @ 0811BC88 - .incbin "baserom.gba", 0x11BC88, 0x0000010 - -gUnk_0811BC98:: @ 0811BC98 - .incbin "baserom.gba", 0x11BC98, 0x000001C - -gUnk_0811BCB4:: @ 0811BCB4 - .incbin "baserom.gba", 0x11BCB4, 0x0000010 diff --git a/data/data_08108C94.s b/data/data_08108C94.s new file mode 100644 index 00000000..b9baf53f --- /dev/null +++ b/data/data_08108C94.s @@ -0,0 +1,5594 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + .align 2 + +gUnk_08108C94:: @ 08108C94 + .incbin "baserom.gba", 0x108C94, 0x0000008 + +gUnk_08108C9C:: @ 08108C9C + .incbin "baserom.gba", 0x108C9C, 0x000000C + +gUnk_08108CA8:: @ 08108CA8 + .incbin "baserom.gba", 0x108CA8, 0x0000024 + +gUnk_08108CCC:: @ 08108CCC + .incbin "baserom.gba", 0x108CCC, 0x0000010 + +gUnk_08108CDC:: @ 08108CDC + .incbin "baserom.gba", 0x108CDC, 0x000000C + +gUnk_08108CE8:: @ 08108CE8 + .incbin "baserom.gba", 0x108CE8, 0x0000014 + +gUnk_08108CFC:: @ 08108CFC + .incbin "baserom.gba", 0x108CFC, 0x0000008 + +gUnk_08108D04:: @ 08108D04 + .incbin "baserom.gba", 0x108D04, 0x000000C + +gUnk_08108D10:: @ 08108D10 + .incbin "baserom.gba", 0x108D10, 0x000000C + +gUnk_08108D1C:: @ 08108D1C + .incbin "baserom.gba", 0x108D1C, 0x0000004 + +gUnk_08108D20:: @ 08108D20 + .incbin "baserom.gba", 0x108D20, 0x0000008 + +gUnk_08108D28:: @ 08108D28 + .incbin "baserom.gba", 0x108D28, 0x0000008 + +gUnk_08108D30:: @ 08108D30 + .incbin "baserom.gba", 0x108D30, 0x000000C + +gUnk_08108D3C:: @ 08108D3C + .incbin "baserom.gba", 0x108D3C, 0x0000008 + +gUnk_08108D44:: @ 08108D44 + .incbin "baserom.gba", 0x108D44, 0x000000C + +gUnk_08108D50:: @ 08108D50 + .incbin "baserom.gba", 0x108D50, 0x000000C + +gUnk_08108D5C:: @ 08108D5C + .incbin "baserom.gba", 0x108D5C, 0x0000018 + +gUnk_08108D74:: @ 08108D74 + .incbin "baserom.gba", 0x108D74, 0x0000008 + +gUnk_08108D7C:: @ 08108D7C + .incbin "baserom.gba", 0x108D7C, 0x0000010 + +gUnk_08108D8C:: @ 08108D8C + .incbin "baserom.gba", 0x108D8C, 0x000000B + +gUnk_08108D97:: @ 08108D97 + .incbin "baserom.gba", 0x108D97, 0x0000001 + +gUnk_08108D98:: @ 08108D98 + .incbin "baserom.gba", 0x108D98, 0x0000010 + +gUnk_08108DA8:: @ 08108DA8 + .incbin "baserom.gba", 0x108DA8, 0x0000014 + +gUnk_08108DBC:: @ 08108DBC + .incbin "baserom.gba", 0x108DBC, 0x0000008 + +gUnk_08108DC4:: @ 08108DC4 + .incbin "baserom.gba", 0x108DC4, 0x0000014 + +gUnk_08108DD8:: @ 08108DD8 + .incbin "baserom.gba", 0x108DD8, 0x0000008 + +gUnk_08108DE0:: @ 08108DE0 + .incbin "baserom.gba", 0x108DE0, 0x0000008 + +gUnk_08108DE8:: @ 08108DE8 + .incbin "baserom.gba", 0x108DE8, 0x0000040 + +gUnk_08108E28:: @ 08108E28 + .incbin "baserom.gba", 0x108E28, 0x0000008 + +gUnk_08108E30:: @ 08108E30 + .incbin "baserom.gba", 0x108E30, 0x0000018 + +gUnk_08108E48:: @ 08108E48 + .incbin "baserom.gba", 0x108E48, 0x0000002 + +gUnk_08108E4A:: @ 08108E4A + .incbin "baserom.gba", 0x108E4A, 0x0000016 + +gUnk_08108E60:: @ 08108E60 + .incbin "baserom.gba", 0x108E60, 0x000000C + +gUnk_08108E6C:: @ 08108E6C + .incbin "baserom.gba", 0x108E6C, 0x000000C + +gUnk_08108E78:: @ 08108E78 + .incbin "baserom.gba", 0x108E78, 0x0000018 + +gUnk_08108E90:: @ 08108E90 + .incbin "baserom.gba", 0x108E90, 0x0000008 + +gUnk_08108E98:: @ 08108E98 + .incbin "baserom.gba", 0x108E98, 0x000000C + +gUnk_08108EA4:: @ 08108EA4 + .incbin "baserom.gba", 0x108EA4, 0x0000018 + +gUnk_08108EBC:: @ 08108EBC + .incbin "baserom.gba", 0x108EBC, 0x0000008 + +gUnk_08108EC4:: @ 08108EC4 + .incbin "baserom.gba", 0x108EC4, 0x000000C + +gUnk_08108ED0:: @ 08108ED0 + .incbin "baserom.gba", 0x108ED0, 0x0000018 + +gUnk_08108EE8:: @ 08108EE8 + .incbin "baserom.gba", 0x108EE8, 0x0000008 + +gUnk_08108EF0:: @ 08108EF0 + .incbin "baserom.gba", 0x108EF0, 0x000000C + +gUnk_08108EFC:: @ 08108EFC + .incbin "baserom.gba", 0x108EFC, 0x0000018 + +gUnk_08108F14:: @ 08108F14 + .incbin "baserom.gba", 0x108F14, 0x0000008 + +gUnk_08108F1C:: @ 08108F1C + .incbin "baserom.gba", 0x108F1C, 0x000000C + +gUnk_08108F28:: @ 08108F28 + .incbin "baserom.gba", 0x108F28, 0x0000018 + +gUnk_08108F40:: @ 08108F40 + .incbin "baserom.gba", 0x108F40, 0x0000008 + +gUnk_08108F48:: @ 08108F48 + .incbin "baserom.gba", 0x108F48, 0x0000004 + +gUnk_08108F4C:: @ 08108F4C + .incbin "baserom.gba", 0x108F4C, 0x0000008 + +gUnk_08108F54:: @ 08108F54 + .incbin "baserom.gba", 0x108F54, 0x0000018 + +gUnk_08108F6C:: @ 08108F6C + .incbin "baserom.gba", 0x108F6C, 0x0000008 + +gUnk_08108F74:: @ 08108F74 + .incbin "baserom.gba", 0x108F74, 0x000000C + +gUnk_08108F80:: @ 08108F80 + .incbin "baserom.gba", 0x108F80, 0x0000018 + +gUnk_08108F98:: @ 08108F98 + .incbin "baserom.gba", 0x108F98, 0x0000008 + +gUnk_08108FA0:: @ 08108FA0 + .incbin "baserom.gba", 0x108FA0, 0x000000C + +gUnk_08108FAC:: @ 08108FAC + .incbin "baserom.gba", 0x108FAC, 0x0000018 + +gUnk_08108FC4:: @ 08108FC4 + .incbin "baserom.gba", 0x108FC4, 0x0000008 + +gUnk_08108FCC:: @ 08108FCC + .incbin "baserom.gba", 0x108FCC, 0x000000C + +gUnk_08108FD8:: @ 08108FD8 + .incbin "baserom.gba", 0x108FD8, 0x0000018 + +gUnk_08108FF0:: @ 08108FF0 + .incbin "baserom.gba", 0x108FF0, 0x0000008 + +gUnk_08108FF8:: @ 08108FF8 + .incbin "baserom.gba", 0x108FF8, 0x000000C + +gUnk_08109004:: @ 08109004 + .incbin "baserom.gba", 0x109004, 0x0000001 + +gUnk_08109005:: @ 08109005 + .incbin "baserom.gba", 0x109005, 0x0000014 + +gUnk_08109019:: @ 08109019 + .incbin "baserom.gba", 0x109019, 0x0000003 + +gUnk_0810901C:: @ 0810901C + .incbin "baserom.gba", 0x10901C, 0x0000008 + +gUnk_08109024:: @ 08109024 + .incbin "baserom.gba", 0x109024, 0x000000C + +gUnk_08109030:: @ 08109030 + .incbin "baserom.gba", 0x109030, 0x0000003 + +gUnk_08109033:: @ 08109033 + .incbin "baserom.gba", 0x109033, 0x0000015 + +gUnk_08109048:: @ 08109048 + .incbin "baserom.gba", 0x109048, 0x0000008 + +gUnk_08109050:: @ 08109050 + .incbin "baserom.gba", 0x109050, 0x000000C + +gUnk_0810905C:: @ 0810905C + .incbin "baserom.gba", 0x10905C, 0x0000018 + +gUnk_08109074:: @ 08109074 + .incbin "baserom.gba", 0x109074, 0x0000008 + +gUnk_0810907C:: @ 0810907C + .incbin "baserom.gba", 0x10907C, 0x000000C + +gUnk_08109088:: @ 08109088 + .incbin "baserom.gba", 0x109088, 0x0000018 + +gUnk_081090A0:: @ 081090A0 + .incbin "baserom.gba", 0x1090A0, 0x0000008 + +gUnk_081090A8:: @ 081090A8 + .incbin "baserom.gba", 0x1090A8, 0x000000C + +gUnk_081090B4:: @ 081090B4 + .incbin "baserom.gba", 0x1090B4, 0x0000018 + +gUnk_081090CC:: @ 081090CC + .incbin "baserom.gba", 0x1090CC, 0x0000008 + +gUnk_081090D4:: @ 081090D4 + .incbin "baserom.gba", 0x1090D4, 0x000000C + +gUnk_081090E0:: @ 081090E0 + .incbin "baserom.gba", 0x1090E0, 0x0000018 + +gUnk_081090F8:: @ 081090F8 + .incbin "baserom.gba", 0x1090F8, 0x0000008 + +gUnk_08109100:: @ 08109100 + .incbin "baserom.gba", 0x109100, 0x000000C + +gUnk_0810910C:: @ 0810910C + .incbin "baserom.gba", 0x10910C, 0x0000018 + +gUnk_08109124:: @ 08109124 + .incbin "baserom.gba", 0x109124, 0x0000008 + +gUnk_0810912C:: @ 0810912C + .incbin "baserom.gba", 0x10912C, 0x000000C + +gUnk_08109138:: @ 08109138 + .incbin "baserom.gba", 0x109138, 0x0000008 + +gUnk_08109140:: @ 08109140 + .incbin "baserom.gba", 0x109140, 0x0000018 + +gUnk_08109158:: @ 08109158 + .incbin "baserom.gba", 0x109158, 0x0000008 + +gUnk_08109160:: @ 08109160 + .incbin "baserom.gba", 0x109160, 0x0000018 + +gUnk_08109178:: @ 08109178 + .incbin "baserom.gba", 0x109178, 0x0000008 + +gUnk_08109180:: @ 08109180 + .incbin "baserom.gba", 0x109180, 0x000000C + +gUnk_0810918C:: @ 0810918C + .incbin "baserom.gba", 0x10918C, 0x0000008 + +gUnk_08109194:: @ 08109194 + .incbin "baserom.gba", 0x109194, 0x0000009 + +gUnk_0810919D:: @ 0810919D + .incbin "baserom.gba", 0x10919D, 0x0000047 + +gUnk_081091E4:: @ 081091E4 + .incbin "baserom.gba", 0x1091E4, 0x000000A + +gUnk_081091EE:: @ 081091EE + .incbin "baserom.gba", 0x1091EE, 0x000000A + +gUnk_081091F8:: @ 081091F8 + .incbin "baserom.gba", 0x1091F8, 0x000000A + +gUnk_08109202:: @ 08109202 + .incbin "baserom.gba", 0x109202, 0x0000012 + +gUnk_08109214:: @ 08109214 + .incbin "baserom.gba", 0x109214, 0x000001C + +gUnk_08109230:: @ 08109230 + .incbin "baserom.gba", 0x109230, 0x0000014 + +gUnk_08109244:: @ 08109244 + .incbin "baserom.gba", 0x109244, 0x0000004 + +gUnk_08109248:: @ 08109248 + .incbin "baserom.gba", 0x109248, 0x0000024 + +gUnk_0810926C:: @ 0810926C + .incbin "baserom.gba", 0x10926C, 0x0000040 + +gUnk_081092AC:: @ 081092AC + .incbin "baserom.gba", 0x1092AC, 0x0000028 + +gUnk_081092D4:: @ 081092D4 + .incbin "baserom.gba", 0x1092D4, 0x000002F + +gUnk_08109303:: @ 08109303 + .incbin "baserom.gba", 0x109303, 0x000005E + +gUnk_08109361:: @ 08109361 + .incbin "baserom.gba", 0x109361, 0x00000A5 + +gUnk_08109406:: @ 08109406 + .incbin "baserom.gba", 0x109406, 0x0000028 + +gUnk_0810942E:: @ 0810942E + .incbin "baserom.gba", 0x10942E, 0x00000A0 + +gUnk_081094CE:: @ 081094CE + .incbin "baserom.gba", 0x1094CE, 0x00000FB + +gUnk_081095C9:: @ 081095C9 + .incbin "baserom.gba", 0x1095C9, 0x000014C + +gUnk_08109715:: @ 08109715 + .incbin "baserom.gba", 0x109715, 0x0000063 + +gUnk_08109778:: @ 08109778 + .incbin "baserom.gba", 0x109778, 0x0000005 + +gUnk_0810977D:: @ 0810977D + .incbin "baserom.gba", 0x10977D, 0x0000017 + +gUnk_08109794:: @ 08109794 + .incbin "baserom.gba", 0x109794, 0x0000104 + +gUnk_08109898:: @ 08109898 + .incbin "baserom.gba", 0x109898, 0x000000F + +gUnk_081098A7:: @ 081098A7 + .incbin "baserom.gba", 0x1098A7, 0x000005F + +gUnk_08109906:: @ 08109906 + .incbin "baserom.gba", 0x109906, 0x000012A + +gUnk_08109A30:: @ 08109A30 + .incbin "baserom.gba", 0x109A30, 0x0000028 + +gUnk_08109A58:: @ 08109A58 + .incbin "baserom.gba", 0x109A58, 0x0000010 + +gUnk_08109A68:: @ 08109A68 + .incbin "baserom.gba", 0x109A68, 0x0000010 + +gUnk_08109A78:: @ 08109A78 + .incbin "baserom.gba", 0x109A78, 0x0000010 + +gUnk_08109A88:: @ 08109A88 + .incbin "baserom.gba", 0x109A88, 0x0000010 + +gUnk_08109A98:: @ 08109A98 + .incbin "baserom.gba", 0x109A98, 0x0000006 + +gUnk_08109A9E:: @ 08109A9E + .incbin "baserom.gba", 0x109A9E, 0x000000A + +gUnk_08109AA8:: @ 08109AA8 + .incbin "baserom.gba", 0x109AA8, 0x0000010 + +gUnk_08109AB8:: @ 08109AB8 + .incbin "baserom.gba", 0x109AB8, 0x0000010 + +gUnk_08109AC8:: @ 08109AC8 + .incbin "baserom.gba", 0x109AC8, 0x0000008 + +gUnk_08109AD0:: @ 08109AD0 + .incbin "baserom.gba", 0x109AD0, 0x0000008 + +gUnk_08109AD8:: @ 08109AD8 + .incbin "baserom.gba", 0x109AD8, 0x0000005 + +gUnk_08109ADD:: @ 08109ADD + .incbin "baserom.gba", 0x109ADD, 0x0000005 + +gUnk_08109AE2:: @ 08109AE2 + .incbin "baserom.gba", 0x109AE2, 0x0000005 + +gUnk_08109AE7:: @ 08109AE7 + .incbin "baserom.gba", 0x109AE7, 0x0000005 + +gUnk_08109AEC:: @ 08109AEC + .incbin "baserom.gba", 0x109AEC, 0x0000011 + +gUnk_08109AFD:: @ 08109AFD + .incbin "baserom.gba", 0x109AFD, 0x000000B + +gUnk_08109B08:: @ 08109B08 + .incbin "baserom.gba", 0x109B08, 0x0000006 + +gUnk_08109B0E:: @ 08109B0E + .incbin "baserom.gba", 0x109B0E, 0x000002D + +gUnk_08109B3B:: @ 08109B3B + .incbin "baserom.gba", 0x109B3B, 0x0000025 + +gUnk_08109B60:: @ 08109B60 + .incbin "baserom.gba", 0x109B60, 0x0000020 + +gUnk_08109B80:: @ 08109B80 + .incbin "baserom.gba", 0x109B80, 0x000003C + +gUnk_08109BBC:: @ 08109BBC + .incbin "baserom.gba", 0x109BBC, 0x000000C + +gUnk_08109BC8:: @ 08109BC8 + .incbin "baserom.gba", 0x109BC8, 0x0000005 + +gUnk_08109BCD:: @ 08109BCD + .incbin "baserom.gba", 0x109BCD, 0x0000005 + +gUnk_08109BD2:: @ 08109BD2 + .incbin "baserom.gba", 0x109BD2, 0x0000005 + +gUnk_08109BD7:: @ 08109BD7 + .incbin "baserom.gba", 0x109BD7, 0x0000011 + +gUnk_08109BE8:: @ 08109BE8 + .incbin "baserom.gba", 0x109BE8, 0x0000011 + +gUnk_08109BF9:: @ 08109BF9 + .incbin "baserom.gba", 0x109BF9, 0x0000035 + +gUnk_08109C2E:: @ 08109C2E + .incbin "baserom.gba", 0x109C2E, 0x000001D + +gUnk_08109C4B:: @ 08109C4B + .incbin "baserom.gba", 0x109C4B, 0x0000009 + +gUnk_08109C54:: @ 08109C54 + .incbin "baserom.gba", 0x109C54, 0x0000005 + +gUnk_08109C59:: @ 08109C59 + .incbin "baserom.gba", 0x109C59, 0x0000007 + +gUnk_08109C60:: @ 08109C60 + .incbin "baserom.gba", 0x109C60, 0x0000038 + +gUnk_08109C98:: @ 08109C98 + .incbin "baserom.gba", 0x109C98, 0x0000080 + +gUnk_08109D18:: @ 08109D18 + .incbin "baserom.gba", 0x109D18, 0x0000063 + +gUnk_08109D7B:: @ 08109D7B + .incbin "baserom.gba", 0x109D7B, 0x000002E + +gUnk_08109DA9:: @ 08109DA9 + .incbin "baserom.gba", 0x109DA9, 0x000001F + +gUnk_08109DC8:: @ 08109DC8 + .incbin "baserom.gba", 0x109DC8, 0x000003F + +gUnk_08109E07:: @ 08109E07 + .incbin "baserom.gba", 0x109E07, 0x000010E + +gUnk_08109F15:: @ 08109F15 + .incbin "baserom.gba", 0x109F15, 0x0000052 + +gUnk_08109F67:: @ 08109F67 + .incbin "baserom.gba", 0x109F67, 0x0000005 + +gUnk_08109F6C:: @ 08109F6C + .incbin "baserom.gba", 0x109F6C, 0x000002B + +gUnk_08109F97:: @ 08109F97 + .incbin "baserom.gba", 0x109F97, 0x00000B1 + +gUnk_0810A048:: @ 0810A048 + .incbin "baserom.gba", 0x10A048, 0x0000111 + +gUnk_0810A159:: @ 0810A159 + .incbin "baserom.gba", 0x10A159, 0x0000048 + +gUnk_0810A1A1:: @ 0810A1A1 + .incbin "baserom.gba", 0x10A1A1, 0x00001A7 + +gUnk_0810A348:: @ 0810A348 + .incbin "baserom.gba", 0x10A348, 0x000000C + +gUnk_0810A354:: @ 0810A354 + .incbin "baserom.gba", 0x10A354, 0x0000006 + +gUnk_0810A35A:: @ 0810A35A + .incbin "baserom.gba", 0x10A35A, 0x0000008 + +gUnk_0810A362:: @ 0810A362 + .incbin "baserom.gba", 0x10A362, 0x0000008 + +gUnk_0810A36A:: @ 0810A36A + .incbin "baserom.gba", 0x10A36A, 0x0000005 + +gUnk_0810A36F:: @ 0810A36F + .incbin "baserom.gba", 0x10A36F, 0x0000005 + +gUnk_0810A374:: @ 0810A374 + .incbin "baserom.gba", 0x10A374, 0x0000005 + +gUnk_0810A379:: @ 0810A379 + .incbin "baserom.gba", 0x10A379, 0x0000001 + +gUnk_0810A37A:: @ 0810A37A + .incbin "baserom.gba", 0x10A37A, 0x0000004 + +gUnk_0810A37E:: @ 0810A37E + .incbin "baserom.gba", 0x10A37E, 0x0000021 + +gUnk_0810A39F:: @ 0810A39F + .incbin "baserom.gba", 0x10A39F, 0x0000021 + +gUnk_0810A3C0:: @ 0810A3C0 + .incbin "baserom.gba", 0x10A3C0, 0x0000021 + +gUnk_0810A3E1:: @ 0810A3E1 + .incbin "baserom.gba", 0x10A3E1, 0x000001F + +gUnk_0810A400:: @ 0810A400 + .incbin "baserom.gba", 0x10A400, 0x0000002 + +gUnk_0810A402:: @ 0810A402 + .incbin "baserom.gba", 0x10A402, 0x0000005 + +gUnk_0810A407:: @ 0810A407 + .incbin "baserom.gba", 0x10A407, 0x0000001 + +gUnk_0810A408:: @ 0810A408 + .incbin "baserom.gba", 0x10A408, 0x0000004 + +gUnk_0810A40C:: @ 0810A40C + .incbin "baserom.gba", 0x10A40C, 0x0000005 + +gUnk_0810A411:: @ 0810A411 + .incbin "baserom.gba", 0x10A411, 0x0000005 + +gUnk_0810A416:: @ 0810A416 + .incbin "baserom.gba", 0x10A416, 0x000000D + +gUnk_0810A423:: @ 0810A423 + .incbin "baserom.gba", 0x10A423, 0x000000D + +gUnk_0810A430:: @ 0810A430 + .incbin "baserom.gba", 0x10A430, 0x000000D + +gUnk_0810A43D:: @ 0810A43D + .incbin "baserom.gba", 0x10A43D, 0x000000D + +gUnk_0810A44A:: @ 0810A44A + .incbin "baserom.gba", 0x10A44A, 0x000000D + +gUnk_0810A457:: @ 0810A457 + .incbin "baserom.gba", 0x10A457, 0x000000D + +gUnk_0810A464:: @ 0810A464 + .incbin "baserom.gba", 0x10A464, 0x000000D + +gUnk_0810A471:: @ 0810A471 + .incbin "baserom.gba", 0x10A471, 0x000000D + +gUnk_0810A47E:: @ 0810A47E + .incbin "baserom.gba", 0x10A47E, 0x000000D + +gUnk_0810A48B:: @ 0810A48B + .incbin "baserom.gba", 0x10A48B, 0x000000D + +gUnk_0810A498:: @ 0810A498 + .incbin "baserom.gba", 0x10A498, 0x000000D + +gUnk_0810A4A5:: @ 0810A4A5 + .incbin "baserom.gba", 0x10A4A5, 0x000000D + +gUnk_0810A4B2:: @ 0810A4B2 + .incbin "baserom.gba", 0x10A4B2, 0x000000D + +gUnk_0810A4BF:: @ 0810A4BF + .incbin "baserom.gba", 0x10A4BF, 0x000000D + +gUnk_0810A4CC:: @ 0810A4CC + .incbin "baserom.gba", 0x10A4CC, 0x000000D + +gUnk_0810A4D9:: @ 0810A4D9 + .incbin "baserom.gba", 0x10A4D9, 0x000000D + +gUnk_0810A4E6:: @ 0810A4E6 + .incbin "baserom.gba", 0x10A4E6, 0x000000D + +gUnk_0810A4F3:: @ 0810A4F3 + .incbin "baserom.gba", 0x10A4F3, 0x000000D + +gUnk_0810A500:: @ 0810A500 + .incbin "baserom.gba", 0x10A500, 0x000000D + +gUnk_0810A50D:: @ 0810A50D + .incbin "baserom.gba", 0x10A50D, 0x000000D + +gUnk_0810A51A:: @ 0810A51A + .incbin "baserom.gba", 0x10A51A, 0x000000D + +gUnk_0810A527:: @ 0810A527 + .incbin "baserom.gba", 0x10A527, 0x000000D + +gUnk_0810A534:: @ 0810A534 + .incbin "baserom.gba", 0x10A534, 0x000000D + +gUnk_0810A541:: @ 0810A541 + .incbin "baserom.gba", 0x10A541, 0x000000D + +gUnk_0810A54E:: @ 0810A54E + .incbin "baserom.gba", 0x10A54E, 0x000000D + +gUnk_0810A55B:: @ 0810A55B + .incbin "baserom.gba", 0x10A55B, 0x000000D + +gUnk_0810A568:: @ 0810A568 + .incbin "baserom.gba", 0x10A568, 0x000000D + +gUnk_0810A575:: @ 0810A575 + .incbin "baserom.gba", 0x10A575, 0x000000D + +gUnk_0810A582:: @ 0810A582 + .incbin "baserom.gba", 0x10A582, 0x000000D + +gUnk_0810A58F:: @ 0810A58F + .incbin "baserom.gba", 0x10A58F, 0x000000D + +gUnk_0810A59C:: @ 0810A59C + .incbin "baserom.gba", 0x10A59C, 0x000000D + +gUnk_0810A5A9:: @ 0810A5A9 + .incbin "baserom.gba", 0x10A5A9, 0x000000F + +gUnk_0810A5B8:: @ 0810A5B8 + .incbin "baserom.gba", 0x10A5B8, 0x00000B4 + +gUnk_0810A66C:: @ 0810A66C + .incbin "baserom.gba", 0x10A66C, 0x00000BC + +gUnk_0810A728:: @ 0810A728 + .incbin "baserom.gba", 0x10A728, 0x0000040 + +gUnk_0810A768:: @ 0810A768 + .incbin "baserom.gba", 0x10A768, 0x0000005 + +gUnk_0810A76D:: @ 0810A76D + .incbin "baserom.gba", 0x10A76D, 0x0000005 + +gUnk_0810A772:: @ 0810A772 + .incbin "baserom.gba", 0x10A772, 0x0000005 + +gUnk_0810A777:: @ 0810A777 + .incbin "baserom.gba", 0x10A777, 0x0000006 + +gUnk_0810A77D:: @ 0810A77D + .incbin "baserom.gba", 0x10A77D, 0x0000006 + +gUnk_0810A783:: @ 0810A783 + .incbin "baserom.gba", 0x10A783, 0x0000006 + +gUnk_0810A789:: @ 0810A789 + .incbin "baserom.gba", 0x10A789, 0x0000005 + +gUnk_0810A78E:: @ 0810A78E + .incbin "baserom.gba", 0x10A78E, 0x0000006 + +gUnk_0810A794:: @ 0810A794 + .incbin "baserom.gba", 0x10A794, 0x0000006 + +gUnk_0810A79A:: @ 0810A79A + .incbin "baserom.gba", 0x10A79A, 0x0000006 + +gUnk_0810A7A0:: @ 0810A7A0 + .incbin "baserom.gba", 0x10A7A0, 0x0000006 + +gUnk_0810A7A6:: @ 0810A7A6 + .incbin "baserom.gba", 0x10A7A6, 0x0000006 + +gUnk_0810A7AC:: @ 0810A7AC + .incbin "baserom.gba", 0x10A7AC, 0x0000007 + +gUnk_0810A7B3:: @ 0810A7B3 + .incbin "baserom.gba", 0x10A7B3, 0x0000006 + +gUnk_0810A7B9:: @ 0810A7B9 + .incbin "baserom.gba", 0x10A7B9, 0x0000006 + +gUnk_0810A7BF:: @ 0810A7BF + .incbin "baserom.gba", 0x10A7BF, 0x0000006 + +gUnk_0810A7C5:: @ 0810A7C5 + .incbin "baserom.gba", 0x10A7C5, 0x0000005 + +gUnk_0810A7CA:: @ 0810A7CA + .incbin "baserom.gba", 0x10A7CA, 0x0000006 + +gUnk_0810A7D0:: @ 0810A7D0 + .incbin "baserom.gba", 0x10A7D0, 0x0000006 + +gUnk_0810A7D6:: @ 0810A7D6 + .incbin "baserom.gba", 0x10A7D6, 0x0000005 + +gUnk_0810A7DB:: @ 0810A7DB + .incbin "baserom.gba", 0x10A7DB, 0x0000005 + +gUnk_0810A7E0:: @ 0810A7E0 + .incbin "baserom.gba", 0x10A7E0, 0x0000005 + +gUnk_0810A7E5:: @ 0810A7E5 + .incbin "baserom.gba", 0x10A7E5, 0x0000010 + +gUnk_0810A7F5:: @ 0810A7F5 + .incbin "baserom.gba", 0x10A7F5, 0x0000010 + +gUnk_0810A805:: @ 0810A805 + .incbin "baserom.gba", 0x10A805, 0x0000008 + +gUnk_0810A80D:: @ 0810A80D + .incbin "baserom.gba", 0x10A80D, 0x0000008 + +gUnk_0810A815:: @ 0810A815 + .incbin "baserom.gba", 0x10A815, 0x0000005 + +gUnk_0810A81A:: @ 0810A81A + .incbin "baserom.gba", 0x10A81A, 0x0000005 + +gUnk_0810A81F:: @ 0810A81F + .incbin "baserom.gba", 0x10A81F, 0x0000006 + +gUnk_0810A825:: @ 0810A825 + .incbin "baserom.gba", 0x10A825, 0x0000005 + +gUnk_0810A82A:: @ 0810A82A + .incbin "baserom.gba", 0x10A82A, 0x0000005 + +gUnk_0810A82F:: @ 0810A82F + .incbin "baserom.gba", 0x10A82F, 0x0000006 + +gUnk_0810A835:: @ 0810A835 + .incbin "baserom.gba", 0x10A835, 0x0000006 + +gUnk_0810A83B:: @ 0810A83B + .incbin "baserom.gba", 0x10A83B, 0x0000006 + +gUnk_0810A841:: @ 0810A841 + .incbin "baserom.gba", 0x10A841, 0x0000007 + +gUnk_0810A848:: @ 0810A848 + .incbin "baserom.gba", 0x10A848, 0x0000007 + +gUnk_0810A84F:: @ 0810A84F + .incbin "baserom.gba", 0x10A84F, 0x000000F + +gUnk_0810A85E:: @ 0810A85E + .incbin "baserom.gba", 0x10A85E, 0x000000F + +gUnk_0810A86D:: @ 0810A86D + .incbin "baserom.gba", 0x10A86D, 0x0000005 + +gUnk_0810A872:: @ 0810A872 + .incbin "baserom.gba", 0x10A872, 0x0000005 + +gUnk_0810A877:: @ 0810A877 + .incbin "baserom.gba", 0x10A877, 0x0000005 + +gUnk_0810A87C:: @ 0810A87C + .incbin "baserom.gba", 0x10A87C, 0x0000005 + +gUnk_0810A881:: @ 0810A881 + .incbin "baserom.gba", 0x10A881, 0x0000005 + +gUnk_0810A886:: @ 0810A886 + .incbin "baserom.gba", 0x10A886, 0x0000005 + +gUnk_0810A88B:: @ 0810A88B + .incbin "baserom.gba", 0x10A88B, 0x0000006 + +gUnk_0810A891:: @ 0810A891 + .incbin "baserom.gba", 0x10A891, 0x0000006 + +gUnk_0810A897:: @ 0810A897 + .incbin "baserom.gba", 0x10A897, 0x0000005 + +gUnk_0810A89C:: @ 0810A89C + .incbin "baserom.gba", 0x10A89C, 0x0000006 + +gUnk_0810A8A2:: @ 0810A8A2 + .incbin "baserom.gba", 0x10A8A2, 0x0000005 + +gUnk_0810A8A7:: @ 0810A8A7 + .incbin "baserom.gba", 0x10A8A7, 0x0000005 + +gUnk_0810A8AC:: @ 0810A8AC + .incbin "baserom.gba", 0x10A8AC, 0x0000005 + +gUnk_0810A8B1:: @ 0810A8B1 + .incbin "baserom.gba", 0x10A8B1, 0x0000005 + +gUnk_0810A8B6:: @ 0810A8B6 + .incbin "baserom.gba", 0x10A8B6, 0x0000005 + +gUnk_0810A8BB:: @ 0810A8BB + .incbin "baserom.gba", 0x10A8BB, 0x0000005 + +gUnk_0810A8C0:: @ 0810A8C0 + .incbin "baserom.gba", 0x10A8C0, 0x000000B + +gUnk_0810A8CB:: @ 0810A8CB + .incbin "baserom.gba", 0x10A8CB, 0x000000B + +gUnk_0810A8D6:: @ 0810A8D6 + .incbin "baserom.gba", 0x10A8D6, 0x0000005 + +gUnk_0810A8DB:: @ 0810A8DB + .incbin "baserom.gba", 0x10A8DB, 0x0000005 + +gUnk_0810A8E0:: @ 0810A8E0 + .incbin "baserom.gba", 0x10A8E0, 0x0000009 + +gUnk_0810A8E9:: @ 0810A8E9 + .incbin "baserom.gba", 0x10A8E9, 0x0000009 + +gUnk_0810A8F2:: @ 0810A8F2 + .incbin "baserom.gba", 0x10A8F2, 0x0000007 + +gUnk_0810A8F9:: @ 0810A8F9 + .incbin "baserom.gba", 0x10A8F9, 0x0000007 + +gUnk_0810A900:: @ 0810A900 + .incbin "baserom.gba", 0x10A900, 0x0000005 + +gUnk_0810A905:: @ 0810A905 + .incbin "baserom.gba", 0x10A905, 0x0000006 + +gUnk_0810A90B:: @ 0810A90B + .incbin "baserom.gba", 0x10A90B, 0x0000006 + +gUnk_0810A911:: @ 0810A911 + .incbin "baserom.gba", 0x10A911, 0x0000007 + +gUnk_0810A918:: @ 0810A918 + .incbin "baserom.gba", 0x10A918, 0x000010C + +gUnk_0810AA24:: @ 0810AA24 + .incbin "baserom.gba", 0x10AA24, 0x000000C + +gUnk_0810AA30:: @ 0810AA30 + .incbin "baserom.gba", 0x10AA30, 0x0000040 + +gUnk_0810AA70:: @ 0810AA70 + .incbin "baserom.gba", 0x10AA70, 0x0000020 + +gUnk_0810AA90:: @ 0810AA90 + .incbin "baserom.gba", 0x10AA90, 0x0000029 + +gUnk_0810AAB9:: @ 0810AAB9 + .incbin "baserom.gba", 0x10AAB9, 0x0000029 + +gUnk_0810AAE2:: @ 0810AAE2 + .incbin "baserom.gba", 0x10AAE2, 0x0000029 + +gUnk_0810AB0B:: @ 0810AB0B + .incbin "baserom.gba", 0x10AB0B, 0x0000029 + +gUnk_0810AB34:: @ 0810AB34 + .incbin "baserom.gba", 0x10AB34, 0x0000031 + +gUnk_0810AB65:: @ 0810AB65 + .incbin "baserom.gba", 0x10AB65, 0x0000031 + +gUnk_0810AB96:: @ 0810AB96 + .incbin "baserom.gba", 0x10AB96, 0x0000031 + +gUnk_0810ABC7:: @ 0810ABC7 + .incbin "baserom.gba", 0x10ABC7, 0x0000031 + +gUnk_0810ABF8:: @ 0810ABF8 + .incbin "baserom.gba", 0x10ABF8, 0x0000024 + +gUnk_0810AC1C:: @ 0810AC1C + .incbin "baserom.gba", 0x10AC1C, 0x0000010 + +gUnk_0810AC2C:: @ 0810AC2C + .incbin "baserom.gba", 0x10AC2C, 0x0000020 + +gUnk_0810AC4C:: @ 0810AC4C + .incbin "baserom.gba", 0x10AC4C, 0x0000008 + +gUnk_0810AC54:: @ 0810AC54 + .incbin "baserom.gba", 0x10AC54, 0x0000009 + +gUnk_0810AC5D:: @ 0810AC5D + .incbin "baserom.gba", 0x10AC5D, 0x0000013 + +gUnk_0810AC70:: @ 0810AC70 + .incbin "baserom.gba", 0x10AC70, 0x0000008 + +gUnk_0810AC78:: @ 0810AC78 + .incbin "baserom.gba", 0x10AC78, 0x0000009 + +gUnk_0810AC81:: @ 0810AC81 + .incbin "baserom.gba", 0x10AC81, 0x0000019 + +gUnk_0810AC9A:: @ 0810AC9A + .incbin "baserom.gba", 0x10AC9A, 0x0000019 + +gUnk_0810ACB3:: @ 0810ACB3 + .incbin "baserom.gba", 0x10ACB3, 0x0000019 + +gUnk_0810ACCC:: @ 0810ACCC + .incbin "baserom.gba", 0x10ACCC, 0x0000021 + +gUnk_0810ACED:: @ 0810ACED + .incbin "baserom.gba", 0x10ACED, 0x0000021 + +gUnk_0810AD0E:: @ 0810AD0E + .incbin "baserom.gba", 0x10AD0E, 0x0000021 + +gUnk_0810AD2F:: @ 0810AD2F + .incbin "baserom.gba", 0x10AD2F, 0x0000021 + +gUnk_0810AD50:: @ 0810AD50 + .incbin "baserom.gba", 0x10AD50, 0x0000021 + +gUnk_0810AD71:: @ 0810AD71 + .incbin "baserom.gba", 0x10AD71, 0x0000021 + +gUnk_0810AD92:: @ 0810AD92 + .incbin "baserom.gba", 0x10AD92, 0x000001B + +gUnk_0810ADAD:: @ 0810ADAD + .incbin "baserom.gba", 0x10ADAD, 0x0000006 + +gUnk_0810ADB3:: @ 0810ADB3 + .incbin "baserom.gba", 0x10ADB3, 0x0000021 + +gUnk_0810ADD4:: @ 0810ADD4 + .incbin "baserom.gba", 0x10ADD4, 0x0000021 + +gUnk_0810ADF5:: @ 0810ADF5 + .incbin "baserom.gba", 0x10ADF5, 0x0000021 + +gUnk_0810AE16:: @ 0810AE16 + .incbin "baserom.gba", 0x10AE16, 0x0000021 + +gUnk_0810AE37:: @ 0810AE37 + .incbin "baserom.gba", 0x10AE37, 0x0000021 + +gUnk_0810AE58:: @ 0810AE58 + .incbin "baserom.gba", 0x10AE58, 0x0000024 + +gUnk_0810AE7C:: @ 0810AE7C + .incbin "baserom.gba", 0x10AE7C, 0x0000021 + +gUnk_0810AE9D:: @ 0810AE9D + .incbin "baserom.gba", 0x10AE9D, 0x0000003 + +gUnk_0810AEA0:: @ 0810AEA0 + .incbin "baserom.gba", 0x10AEA0, 0x0000024 + +gUnk_0810AEC4:: @ 0810AEC4 + .incbin "baserom.gba", 0x10AEC4, 0x0000024 + +gUnk_0810AEE8:: @ 0810AEE8 + .incbin "baserom.gba", 0x10AEE8, 0x000001F + +gUnk_0810AF07:: @ 0810AF07 + .incbin "baserom.gba", 0x10AF07, 0x0000012 + +gUnk_0810AF19:: @ 0810AF19 + .incbin "baserom.gba", 0x10AF19, 0x000002B + +gUnk_0810AF44:: @ 0810AF44 + .incbin "baserom.gba", 0x10AF44, 0x0000006 + +gUnk_0810AF4A:: @ 0810AF4A + .incbin "baserom.gba", 0x10AF4A, 0x0000031 + +gUnk_0810AF7B:: @ 0810AF7B + .incbin "baserom.gba", 0x10AF7B, 0x0000031 + +gUnk_0810AFAC:: @ 0810AFAC + .incbin "baserom.gba", 0x10AFAC, 0x0000021 + +gUnk_0810AFCD:: @ 0810AFCD + .incbin "baserom.gba", 0x10AFCD, 0x0000021 + +gUnk_0810AFEE:: @ 0810AFEE + .incbin "baserom.gba", 0x10AFEE, 0x000001A + +gUnk_0810B008:: @ 0810B008 + .incbin "baserom.gba", 0x10B008, 0x0000007 + +gUnk_0810B00F:: @ 0810B00F + .incbin "baserom.gba", 0x10B00F, 0x0000021 + +gUnk_0810B030:: @ 0810B030 + .incbin "baserom.gba", 0x10B030, 0x000000C + +gUnk_0810B03C:: @ 0810B03C + .incbin "baserom.gba", 0x10B03C, 0x000000C + +gUnk_0810B048:: @ 0810B048 + .incbin "baserom.gba", 0x10B048, 0x000000C + +gUnk_0810B054:: @ 0810B054 + .incbin "baserom.gba", 0x10B054, 0x000000C + +gUnk_0810B060:: @ 0810B060 + .incbin "baserom.gba", 0x10B060, 0x0000011 + +gUnk_0810B071:: @ 0810B071 + .incbin "baserom.gba", 0x10B071, 0x0000011 + +gUnk_0810B082:: @ 0810B082 + .incbin "baserom.gba", 0x10B082, 0x0000011 + +gUnk_0810B093:: @ 0810B093 + .incbin "baserom.gba", 0x10B093, 0x0000011 + +gUnk_0810B0A4:: @ 0810B0A4 + .incbin "baserom.gba", 0x10B0A4, 0x0000011 + +gUnk_0810B0B5:: @ 0810B0B5 + .incbin "baserom.gba", 0x10B0B5, 0x0000011 + +gUnk_0810B0C6:: @ 0810B0C6 + .incbin "baserom.gba", 0x10B0C6, 0x0000011 + +gUnk_0810B0D7:: @ 0810B0D7 + .incbin "baserom.gba", 0x10B0D7, 0x0000011 + +gUnk_0810B0E8:: @ 0810B0E8 + .incbin "baserom.gba", 0x10B0E8, 0x0000011 + +gUnk_0810B0F9:: @ 0810B0F9 + .incbin "baserom.gba", 0x10B0F9, 0x0000011 + +gUnk_0810B10A:: @ 0810B10A + .incbin "baserom.gba", 0x10B10A, 0x0000011 + +gUnk_0810B11B:: @ 0810B11B + .incbin "baserom.gba", 0x10B11B, 0x0000011 + +gUnk_0810B12C:: @ 0810B12C + .incbin "baserom.gba", 0x10B12C, 0x0000011 + +gUnk_0810B13D:: @ 0810B13D + .incbin "baserom.gba", 0x10B13D, 0x0000011 + +gUnk_0810B14E:: @ 0810B14E + .incbin "baserom.gba", 0x10B14E, 0x0000011 + +gUnk_0810B15F:: @ 0810B15F + .incbin "baserom.gba", 0x10B15F, 0x0000011 + +gUnk_0810B170:: @ 0810B170 + .incbin "baserom.gba", 0x10B170, 0x000001C + +gUnk_0810B18C:: @ 0810B18C + .incbin "baserom.gba", 0x10B18C, 0x000001C + +gUnk_0810B1A8:: @ 0810B1A8 + .incbin "baserom.gba", 0x10B1A8, 0x0000009 + +gUnk_0810B1B1:: @ 0810B1B1 + .incbin "baserom.gba", 0x10B1B1, 0x0000013 + +gUnk_0810B1C4:: @ 0810B1C4 + .incbin "baserom.gba", 0x10B1C4, 0x000001C + +gUnk_0810B1E0:: @ 0810B1E0 + .incbin "baserom.gba", 0x10B1E0, 0x000001C + +gUnk_0810B1FC:: @ 0810B1FC + .incbin "baserom.gba", 0x10B1FC, 0x000001C + +gUnk_0810B218:: @ 0810B218 + .incbin "baserom.gba", 0x10B218, 0x000001C + +gUnk_0810B234:: @ 0810B234 + .incbin "baserom.gba", 0x10B234, 0x000001C + +gUnk_0810B250:: @ 0810B250 + .incbin "baserom.gba", 0x10B250, 0x0000030 + +gUnk_0810B280:: @ 0810B280 + .incbin "baserom.gba", 0x10B280, 0x0000030 + +gUnk_0810B2B0:: @ 0810B2B0 + .incbin "baserom.gba", 0x10B2B0, 0x0000030 + +gUnk_0810B2E0:: @ 0810B2E0 + .incbin "baserom.gba", 0x10B2E0, 0x0000030 + +gUnk_0810B310:: @ 0810B310 + .incbin "baserom.gba", 0x10B310, 0x0000030 + +gUnk_0810B340:: @ 0810B340 + .incbin "baserom.gba", 0x10B340, 0x0000030 + +gUnk_0810B370:: @ 0810B370 + .incbin "baserom.gba", 0x10B370, 0x0000030 + +gUnk_0810B3A0:: @ 0810B3A0 + .incbin "baserom.gba", 0x10B3A0, 0x0000022 + +gUnk_0810B3C2:: @ 0810B3C2 + .incbin "baserom.gba", 0x10B3C2, 0x000000E + +gUnk_0810B3D0:: @ 0810B3D0 + .incbin "baserom.gba", 0x10B3D0, 0x0000028 + +gUnk_0810B3F8:: @ 0810B3F8 + .incbin "baserom.gba", 0x10B3F8, 0x000000F + +gUnk_0810B407:: @ 0810B407 + .incbin "baserom.gba", 0x10B407, 0x0000019 + +gUnk_0810B420:: @ 0810B420 + .incbin "baserom.gba", 0x10B420, 0x0000028 + +gUnk_0810B448:: @ 0810B448 + .incbin "baserom.gba", 0x10B448, 0x0000028 + +gUnk_0810B470:: @ 0810B470 + .incbin "baserom.gba", 0x10B470, 0x0000019 + +gUnk_0810B489:: @ 0810B489 + .incbin "baserom.gba", 0x10B489, 0x0000005 + +gUnk_0810B48E:: @ 0810B48E + .incbin "baserom.gba", 0x10B48E, 0x0000019 + +gUnk_0810B4A7:: @ 0810B4A7 + .incbin "baserom.gba", 0x10B4A7, 0x0000035 + +gUnk_0810B4DC:: @ 0810B4DC + .incbin "baserom.gba", 0x10B4DC, 0x0000010 + +gUnk_0810B4EC:: @ 0810B4EC + .incbin "baserom.gba", 0x10B4EC, 0x0000164 + +gUnk_0810B650:: @ 0810B650 + .incbin "baserom.gba", 0x10B650, 0x0000002 + +gUnk_0810B652:: @ 0810B652 + .incbin "baserom.gba", 0x10B652, 0x0000002 + +gUnk_0810B654:: @ 0810B654 + .incbin "baserom.gba", 0x10B654, 0x0000002 + +gUnk_0810B656:: @ 0810B656 + .incbin "baserom.gba", 0x10B656, 0x0000002 + +gUnk_0810B658:: @ 0810B658 + .incbin "baserom.gba", 0x10B658, 0x0000002 + +gUnk_0810B65A:: @ 0810B65A + .incbin "baserom.gba", 0x10B65A, 0x0000002 + +gUnk_0810B65C:: @ 0810B65C + .incbin "baserom.gba", 0x10B65C, 0x0000002 + +gUnk_0810B65E:: @ 0810B65E + .incbin "baserom.gba", 0x10B65E, 0x0000002 + +gUnk_0810B660:: @ 0810B660 + .incbin "baserom.gba", 0x10B660, 0x0000020 + +gUnk_0810B680:: @ 0810B680 + .incbin "baserom.gba", 0x10B680, 0x000002A + +gUnk_0810B6AA:: @ 0810B6AA + .incbin "baserom.gba", 0x10B6AA, 0x0000009 + +gUnk_0810B6B3:: @ 0810B6B3 + .incbin "baserom.gba", 0x10B6B3, 0x0000021 + +gUnk_0810B6D4:: @ 0810B6D4 + .incbin "baserom.gba", 0x10B6D4, 0x000000C + +gUnk_0810B6E0:: @ 0810B6E0 + .incbin "baserom.gba", 0x10B6E0, 0x000000C + +gUnk_0810B6EC:: @ 0810B6EC + .incbin "baserom.gba", 0x10B6EC, 0x0000054 + +gUnk_0810B740:: @ 0810B740 + .incbin "baserom.gba", 0x10B740, 0x0000008 + +gUnk_0810B748:: @ 0810B748 + .incbin "baserom.gba", 0x10B748, 0x0000002 + +gUnk_0810B74A:: @ 0810B74A + .incbin "baserom.gba", 0x10B74A, 0x0000018 + +gUnk_0810B762:: @ 0810B762 + .incbin "baserom.gba", 0x10B762, 0x0000012 + +gUnk_0810B774:: @ 0810B774 + .incbin "baserom.gba", 0x10B774, 0x0000008 + +gUnk_0810B77C:: @ 0810B77C + .incbin "baserom.gba", 0x10B77C, 0x0000010 + +gUnk_0810B78C:: @ 0810B78C + .incbin "baserom.gba", 0x10B78C, 0x0000004 + +gUnk_0810B790:: @ 0810B790 + .incbin "baserom.gba", 0x10B790, 0x000001C + +gUnk_0810B7AC:: @ 0810B7AC + .incbin "baserom.gba", 0x10B7AC, 0x000000E + +gUnk_0810B7BA:: @ 0810B7BA + .incbin "baserom.gba", 0x10B7BA, 0x0000006 + +gUnk_0810B7C0:: @ 0810B7C0 + .incbin "baserom.gba", 0x10B7C0, 0x000012B + +gUnk_0810B8EB:: @ 0810B8EB + .incbin "baserom.gba", 0x10B8EB, 0x0000037 + +gUnk_0810B922:: @ 0810B922 + .incbin "baserom.gba", 0x10B922, 0x0000049 + +gUnk_0810B96B:: @ 0810B96B + .incbin "baserom.gba", 0x10B96B, 0x0000065 + +gUnk_0810B9D0:: @ 0810B9D0 + .incbin "baserom.gba", 0x10B9D0, 0x0000031 + +gUnk_0810BA01:: @ 0810BA01 + .incbin "baserom.gba", 0x10BA01, 0x0000117 + +gUnk_0810BB18:: @ 0810BB18 + .incbin "baserom.gba", 0x10BB18, 0x0000059 + +gUnk_0810BB71:: @ 0810BB71 + .incbin "baserom.gba", 0x10BB71, 0x000005B + +gUnk_0810BBCC:: @ 0810BBCC + .incbin "baserom.gba", 0x10BBCC, 0x000009C + +gUnk_0810BC68:: @ 0810BC68 + .incbin "baserom.gba", 0x10BC68, 0x0000098 + +gUnk_0810BD00:: @ 0810BD00 + .incbin "baserom.gba", 0x10BD00, 0x0000005 + +gUnk_0810BD05:: @ 0810BD05 + .incbin "baserom.gba", 0x10BD05, 0x0000005 + +gUnk_0810BD0A:: @ 0810BD0A + .incbin "baserom.gba", 0x10BD0A, 0x0000005 + +gUnk_0810BD0F:: @ 0810BD0F + .incbin "baserom.gba", 0x10BD0F, 0x0000005 + +gUnk_0810BD14:: @ 0810BD14 + .incbin "baserom.gba", 0x10BD14, 0x0000011 + +gUnk_0810BD25:: @ 0810BD25 + .incbin "baserom.gba", 0x10BD25, 0x0000011 + +gUnk_0810BD36:: @ 0810BD36 + .incbin "baserom.gba", 0x10BD36, 0x0000011 + +gUnk_0810BD47:: @ 0810BD47 + .incbin "baserom.gba", 0x10BD47, 0x0000011 + +gUnk_0810BD58:: @ 0810BD58 + .incbin "baserom.gba", 0x10BD58, 0x0000016 + +gUnk_0810BD6E:: @ 0810BD6E + .incbin "baserom.gba", 0x10BD6E, 0x000000E + +gUnk_0810BD7C:: @ 0810BD7C + .incbin "baserom.gba", 0x10BD7C, 0x0000010 + +gUnk_0810BD8C:: @ 0810BD8C + .incbin "baserom.gba", 0x10BD8C, 0x0000010 + +gUnk_0810BD9C:: @ 0810BD9C + .incbin "baserom.gba", 0x10BD9C, 0x0000010 + +gUnk_0810BDAC:: @ 0810BDAC + .incbin "baserom.gba", 0x10BDAC, 0x000000C + +gUnk_0810BDB8:: @ 0810BDB8 + .incbin "baserom.gba", 0x10BDB8, 0x000000C + +gUnk_0810BDC4:: @ 0810BDC4 + .incbin "baserom.gba", 0x10BDC4, 0x0000024 + +gUnk_0810BDE8:: @ 0810BDE8 + .incbin "baserom.gba", 0x10BDE8, 0x0000024 + +gUnk_0810BE0C:: @ 0810BE0C + .incbin "baserom.gba", 0x10BE0C, 0x0000003 + +gUnk_0810BE0F:: @ 0810BE0F + .incbin "baserom.gba", 0x10BE0F, 0x0000001 + +gUnk_0810BE10:: @ 0810BE10 + .incbin "baserom.gba", 0x10BE10, 0x0000031 + +gUnk_0810BE41:: @ 0810BE41 + .incbin "baserom.gba", 0x10BE41, 0x00000C2 + +gUnk_0810BF03:: @ 0810BF03 + .incbin "baserom.gba", 0x10BF03, 0x0000104 + +gUnk_0810C007:: @ 0810C007 + .incbin "baserom.gba", 0x10C007, 0x0000008 + +gUnk_0810C00F:: @ 0810C00F + .incbin "baserom.gba", 0x10C00F, 0x0000091 + +gUnk_0810C0A0:: @ 0810C0A0 + .incbin "baserom.gba", 0x10C0A0, 0x0000024 + +gUnk_0810C0C4:: @ 0810C0C4 + .incbin "baserom.gba", 0x10C0C4, 0x0000005 + +gUnk_0810C0C9:: @ 0810C0C9 + .incbin "baserom.gba", 0x10C0C9, 0x0000005 + +gUnk_0810C0CE:: @ 0810C0CE + .incbin "baserom.gba", 0x10C0CE, 0x0000005 + +gUnk_0810C0D3:: @ 0810C0D3 + .incbin "baserom.gba", 0x10C0D3, 0x0000005 + +gUnk_0810C0D8:: @ 0810C0D8 + .incbin "baserom.gba", 0x10C0D8, 0x0000011 + +gUnk_0810C0E9:: @ 0810C0E9 + .incbin "baserom.gba", 0x10C0E9, 0x0000011 + +gUnk_0810C0FA:: @ 0810C0FA + .incbin "baserom.gba", 0x10C0FA, 0x0000011 + +gUnk_0810C10B:: @ 0810C10B + .incbin "baserom.gba", 0x10C10B, 0x0000011 + +gUnk_0810C11C:: @ 0810C11C + .incbin "baserom.gba", 0x10C11C, 0x0000019 + +gUnk_0810C135:: @ 0810C135 + .incbin "baserom.gba", 0x10C135, 0x0000019 + +gUnk_0810C14E:: @ 0810C14E + .incbin "baserom.gba", 0x10C14E, 0x0000019 + +gUnk_0810C167:: @ 0810C167 + .incbin "baserom.gba", 0x10C167, 0x0000019 + +gUnk_0810C180:: @ 0810C180 + .incbin "baserom.gba", 0x10C180, 0x0000019 + +gUnk_0810C199:: @ 0810C199 + .incbin "baserom.gba", 0x10C199, 0x000000D + +gUnk_0810C1A6:: @ 0810C1A6 + .incbin "baserom.gba", 0x10C1A6, 0x0000018 + +gUnk_0810C1BE:: @ 0810C1BE + .incbin "baserom.gba", 0x10C1BE, 0x000000F + +gUnk_0810C1CD:: @ 0810C1CD + .incbin "baserom.gba", 0x10C1CD, 0x000000A + +gUnk_0810C1D7:: @ 0810C1D7 + .incbin "baserom.gba", 0x10C1D7, 0x0000005 + +gUnk_0810C1DC:: @ 0810C1DC + .incbin "baserom.gba", 0x10C1DC, 0x0000008 + +gUnk_0810C1E4:: @ 0810C1E4 + .incbin "baserom.gba", 0x10C1E4, 0x0000021 + +gUnk_0810C205:: @ 0810C205 + .incbin "baserom.gba", 0x10C205, 0x0000001 + +gUnk_0810C206:: @ 0810C206 + .incbin "baserom.gba", 0x10C206, 0x0000062 + +gUnk_0810C268:: @ 0810C268 + .incbin "baserom.gba", 0x10C268, 0x0000008 + +gUnk_0810C270:: @ 0810C270 + .incbin "baserom.gba", 0x10C270, 0x0000005 + +gUnk_0810C275:: @ 0810C275 + .incbin "baserom.gba", 0x10C275, 0x0000005 + +gUnk_0810C27A:: @ 0810C27A + .incbin "baserom.gba", 0x10C27A, 0x0000016 + +gUnk_0810C290:: @ 0810C290 + .incbin "baserom.gba", 0x10C290, 0x0000010 + +gUnk_0810C2A0:: @ 0810C2A0 + .incbin "baserom.gba", 0x10C2A0, 0x0000005 + +gUnk_0810C2A5:: @ 0810C2A5 + .incbin "baserom.gba", 0x10C2A5, 0x000000D + +gUnk_0810C2B2:: @ 0810C2B2 + .incbin "baserom.gba", 0x10C2B2, 0x000001A + +gStampBehaviors1:: @ 0810C2CC + .incbin "baserom.gba", 0x10C2CC, 0x0000010 + +gStampBehaviors2:: @ 0810C2DC + .incbin "baserom.gba", 0x10C2DC, 0x0000008 + +gUnk_0810C2E4:: @ 0810C2E4 + .incbin "baserom.gba", 0x10C2E4, 0x0000010 + +gUnk_0810C2F4:: @ 0810C2F4 + .incbin "baserom.gba", 0x10C2F4, 0x0000031 + +gUnk_0810C325:: @ 0810C325 + .incbin "baserom.gba", 0x10C325, 0x0000007 + +gUnk_0810C32C:: @ 0810C32C + .incbin "baserom.gba", 0x10C32C, 0x0000020 + +gUnk_0810C34C:: @ 0810C34C + .incbin "baserom.gba", 0x10C34C, 0x0000014 + +gUnk_0810C360:: @ 0810C360 + .incbin "baserom.gba", 0x10C360, 0x0000005 + +gUnk_0810C365:: @ 0810C365 + .incbin "baserom.gba", 0x10C365, 0x000001D + +gUnk_0810C382:: @ 0810C382 + .incbin "baserom.gba", 0x10C382, 0x000000E + +gUnk_0810C390:: @ 0810C390 + .incbin "baserom.gba", 0x10C390, 0x000000A + +gUnk_0810C39A:: @ 0810C39A + .incbin "baserom.gba", 0x10C39A, 0x0000026 + +gUnk_0810C3C0:: @ 0810C3C0 + .incbin "baserom.gba", 0x10C3C0, 0x0000008 + +gUnk_0810C3C8:: @ 0810C3C8 + .incbin "baserom.gba", 0x10C3C8, 0x0000019 + +gUnk_0810C3E1:: @ 0810C3E1 + .incbin "baserom.gba", 0x10C3E1, 0x0000011 + +gUnk_0810C3F2:: @ 0810C3F2 + .incbin "baserom.gba", 0x10C3F2, 0x0000011 + +gUnk_0810C403:: @ 0810C403 + .incbin "baserom.gba", 0x10C403, 0x0000011 + +gUnk_0810C414:: @ 0810C414 + .incbin "baserom.gba", 0x10C414, 0x0000001 + +gUnk_0810C415:: @ 0810C415 + .incbin "baserom.gba", 0x10C415, 0x0000013 + +gUnk_0810C428:: @ 0810C428 + .incbin "baserom.gba", 0x10C428, 0x0000008 + +gUnk_0810C430:: @ 0810C430 + .incbin "baserom.gba", 0x10C430, 0x0000005 + +gUnk_0810C435:: @ 0810C435 + .incbin "baserom.gba", 0x10C435, 0x0000008 + +gUnk_0810C43D:: @ 0810C43D + .incbin "baserom.gba", 0x10C43D, 0x0000008 + +gUnk_0810C445:: @ 0810C445 + .incbin "baserom.gba", 0x10C445, 0x0000005 + +gUnk_0810C44A:: @ 0810C44A + .incbin "baserom.gba", 0x10C44A, 0x000001E + +gUnk_0810C468:: @ 0810C468 + .incbin "baserom.gba", 0x10C468, 0x0000024 + +gUnk_0810C48C:: @ 0810C48C + .incbin "baserom.gba", 0x10C48C, 0x000000C + +gUnk_0810C498:: @ 0810C498 + .incbin "baserom.gba", 0x10C498, 0x0000008 + +gUnk_0810C4A0:: @ 0810C4A0 + .incbin "baserom.gba", 0x10C4A0, 0x0000005 + +gUnk_0810C4A5:: @ 0810C4A5 + .incbin "baserom.gba", 0x10C4A5, 0x0000005 + +gUnk_0810C4AA:: @ 0810C4AA + .incbin "baserom.gba", 0x10C4AA, 0x0000005 + +gUnk_0810C4AF:: @ 0810C4AF + .incbin "baserom.gba", 0x10C4AF, 0x0000005 + +gUnk_0810C4B4:: @ 0810C4B4 + .incbin "baserom.gba", 0x10C4B4, 0x0000015 + +gUnk_0810C4C9:: @ 0810C4C9 + .incbin "baserom.gba", 0x10C4C9, 0x0000015 + +gUnk_0810C4DE:: @ 0810C4DE + .incbin "baserom.gba", 0x10C4DE, 0x00000D1 + +gUnk_0810C5AF:: @ 0810C5AF + .incbin "baserom.gba", 0x10C5AF, 0x000000C + +gUnk_0810C5BB:: @ 0810C5BB + .incbin "baserom.gba", 0x10C5BB, 0x0000008 + +gUnk_0810C5C3:: @ 0810C5C3 + .incbin "baserom.gba", 0x10C5C3, 0x00000AB + +gUnk_0810C66E:: @ 0810C66E + .incbin "baserom.gba", 0x10C66E, 0x000001E + +gUnk_0810C68C:: @ 0810C68C + .incbin "baserom.gba", 0x10C68C, 0x000000C + +gUnk_0810C698:: @ 0810C698 + .incbin "baserom.gba", 0x10C698, 0x000004D + +gUnk_0810C6E5:: @ 0810C6E5 + .incbin "baserom.gba", 0x10C6E5, 0x000008D + +gUnk_0810C772:: @ 0810C772 + .incbin "baserom.gba", 0x10C772, 0x0000003 + +gUnk_0810C775:: @ 0810C775 + .incbin "baserom.gba", 0x10C775, 0x000000A + +gUnk_0810C77F:: @ 0810C77F + .incbin "baserom.gba", 0x10C77F, 0x000002D + +gUnk_0810C7AC:: @ 0810C7AC + .incbin "baserom.gba", 0x10C7AC, 0x0000008 + +gUnk_0810C7B4:: @ 0810C7B4 + .incbin "baserom.gba", 0x10C7B4, 0x000000A + +gUnk_0810C7BE:: @ 0810C7BE + .incbin "baserom.gba", 0x10C7BE, 0x000000B + +gUnk_0810C7C9:: @ 0810C7C9 + .incbin "baserom.gba", 0x10C7C9, 0x000000B + +gUnk_0810C7D4:: @ 0810C7D4 + .incbin "baserom.gba", 0x10C7D4, 0x0000030 + +gMailboxBehaviors:: @ 0810C804 + .incbin "baserom.gba", 0x10C804, 0x0000010 + +gUnk_0810C814:: @ 0810C814 + .incbin "baserom.gba", 0x10C814, 0x0000005 + +gUnk_0810C819:: @ 0810C819 + .incbin "baserom.gba", 0x10C819, 0x0000029 + +gUnk_0810C842:: @ 0810C842 + .incbin "baserom.gba", 0x10C842, 0x0000008 + +gUnk_0810C84A:: @ 0810C84A + .incbin "baserom.gba", 0x10C84A, 0x000001E + +gUnk_0810C868:: @ 0810C868 + .incbin "baserom.gba", 0x10C868, 0x0000024 + +gUnk_0810C88C:: @ 0810C88C + .incbin "baserom.gba", 0x10C88C, 0x0000008 + +gUnk_0810C894:: @ 0810C894 + .incbin "baserom.gba", 0x10C894, 0x0000008 + +gUnk_0810C89C:: @ 0810C89C + .incbin "baserom.gba", 0x10C89C, 0x0000011 + +gUnk_0810C8AD:: @ 0810C8AD + .incbin "baserom.gba", 0x10C8AD, 0x0000027 + +gUnk_0810C8D4:: @ 0810C8D4 + .incbin "baserom.gba", 0x10C8D4, 0x000000C + +gUnk_0810C8E0:: @ 0810C8E0 + .incbin "baserom.gba", 0x10C8E0, 0x0000010 + +gUnk_0810C8F0:: @ 0810C8F0 + .incbin "baserom.gba", 0x10C8F0, 0x0000078 + +gUnk_0810C968:: @ 0810C968 + .incbin "baserom.gba", 0x10C968, 0x000003D + +gUnk_0810C9A5:: @ 0810C9A5 + .incbin "baserom.gba", 0x10C9A5, 0x0000005 + +gUnk_0810C9AA:: @ 0810C9AA + .incbin "baserom.gba", 0x10C9AA, 0x0000005 + +gUnk_0810C9AF:: @ 0810C9AF + .incbin "baserom.gba", 0x10C9AF, 0x0000005 + +gUnk_0810C9B4:: @ 0810C9B4 + .incbin "baserom.gba", 0x10C9B4, 0x000003D + +gUnk_0810C9F1:: @ 0810C9F1 + .incbin "baserom.gba", 0x10C9F1, 0x000003D + +gUnk_0810CA2E:: @ 0810CA2E + .incbin "baserom.gba", 0x10CA2E, 0x000003E + +gUnk_0810CA6C:: @ 0810CA6C + .incbin "baserom.gba", 0x10CA6C, 0x0000034 + +gUnk_0810CAA0:: @ 0810CAA0 + .incbin "baserom.gba", 0x10CAA0, 0x000000C + +gUnk_0810CAAC:: @ 0810CAAC + .incbin "baserom.gba", 0x10CAAC, 0x0000050 + +gUnk_0810CAFC:: @ 0810CAFC + .incbin "baserom.gba", 0x10CAFC, 0x0000049 + +gUnk_0810CB45:: @ 0810CB45 + .incbin "baserom.gba", 0x10CB45, 0x0000005 + +gUnk_0810CB4A:: @ 0810CB4A + .incbin "baserom.gba", 0x10CB4A, 0x0000005 + +gUnk_0810CB4F:: @ 0810CB4F + .incbin "baserom.gba", 0x10CB4F, 0x0000005 + +gUnk_0810CB54:: @ 0810CB54 + .incbin "baserom.gba", 0x10CB54, 0x0000018 + +gUnk_0810CB6C:: @ 0810CB6C + .incbin "baserom.gba", 0x10CB6C, 0x000000C + +gUnk_0810CB78:: @ 0810CB78 + .incbin "baserom.gba", 0x10CB78, 0x0000048 + +gUnk_0810CBC0:: @ 0810CBC0 + .incbin "baserom.gba", 0x10CBC0, 0x000000D + +gUnk_0810CBCD:: @ 0810CBCD + .incbin "baserom.gba", 0x10CBCD, 0x000000B + +gUnk_0810CBD8:: @ 0810CBD8 + .incbin "baserom.gba", 0x10CBD8, 0x000000C + +gUnk_0810CBE4:: @ 0810CBE4 + .incbin "baserom.gba", 0x10CBE4, 0x0000020 + +gUnk_0810CC04:: @ 0810CC04 + .incbin "baserom.gba", 0x10CC04, 0x0000004 + +gUnk_0810CC08:: @ 0810CC08 + .incbin "baserom.gba", 0x10CC08, 0x0000180 + +gUnk_0810CD88:: @ 0810CD88 + .incbin "baserom.gba", 0x10CD88, 0x0000018 + +gUnk_0810CDA0:: @ 0810CDA0 + .incbin "baserom.gba", 0x10CDA0, 0x0000011 + +gUnk_0810CDB1:: @ 0810CDB1 + .incbin "baserom.gba", 0x10CDB1, 0x0000011 + +gUnk_0810CDC2:: @ 0810CDC2 + .incbin "baserom.gba", 0x10CDC2, 0x0000012 + +gUnk_0810CDD4:: @ 0810CDD4 + .incbin "baserom.gba", 0x10CDD4, 0x0000024 + +gUnk_0810CDF8:: @ 0810CDF8 + .incbin "baserom.gba", 0x10CDF8, 0x000000C + +gUnk_0810CE04:: @ 0810CE04 + .incbin "baserom.gba", 0x10CE04, 0x0000050 + +gUnk_0810CE54:: @ 0810CE54 + .incbin "baserom.gba", 0x10CE54, 0x0000013 + +gUnk_0810CE67:: @ 0810CE67 + .incbin "baserom.gba", 0x10CE67, 0x000003A + +gUnk_0810CEA1:: @ 0810CEA1 + .incbin "baserom.gba", 0x10CEA1, 0x000004D + +gUnk_0810CEEE:: @ 0810CEEE + .incbin "baserom.gba", 0x10CEEE, 0x0000021 + +gUnk_0810CF0F:: @ 0810CF0F + .incbin "baserom.gba", 0x10CF0F, 0x0000005 + +gUnk_0810CF14:: @ 0810CF14 + .incbin "baserom.gba", 0x10CF14, 0x0000005 + +gUnk_0810CF19:: @ 0810CF19 + .incbin "baserom.gba", 0x10CF19, 0x0000007 + +gUnk_0810CF20:: @ 0810CF20 + .incbin "baserom.gba", 0x10CF20, 0x000002A + +gUnk_0810CF4A:: @ 0810CF4A + .incbin "baserom.gba", 0x10CF4A, 0x0000002 + +gUnk_0810CF4C:: @ 0810CF4C + .incbin "baserom.gba", 0x10CF4C, 0x000002B + +gUnk_0810CF77:: @ 0810CF77 + .incbin "baserom.gba", 0x10CF77, 0x0000010 + +gUnk_0810CF87:: @ 0810CF87 + .incbin "baserom.gba", 0x10CF87, 0x0000057 + +gUnk_0810CFDE:: @ 0810CFDE + .incbin "baserom.gba", 0x10CFDE, 0x0000039 + +gUnk_0810D017:: @ 0810D017 + .incbin "baserom.gba", 0x10D017, 0x000008D + +gUnk_0810D0A4:: @ 0810D0A4 + .incbin "baserom.gba", 0x10D0A4, 0x0000008 + +gUnk_0810D0AC:: @ 0810D0AC + .incbin "baserom.gba", 0x10D0AC, 0x000001E + +gUnk_0810D0CA:: @ 0810D0CA + .incbin "baserom.gba", 0x10D0CA, 0x0000009 + +gUnk_0810D0D3:: @ 0810D0D3 + .incbin "baserom.gba", 0x10D0D3, 0x0000079 + +gUnk_0810D14C:: @ 0810D14C + .incbin "baserom.gba", 0x10D14C, 0x0000227 + +gUnk_0810D373:: @ 0810D373 + .incbin "baserom.gba", 0x10D373, 0x0000003 + +gUnk_0810D376:: @ 0810D376 + .incbin "baserom.gba", 0x10D376, 0x0000013 + +gUnk_0810D389:: @ 0810D389 + .incbin "baserom.gba", 0x10D389, 0x000003E + +gUnk_0810D3C7:: @ 0810D3C7 + .incbin "baserom.gba", 0x10D3C7, 0x0000040 + +gUnk_0810D407:: @ 0810D407 + .incbin "baserom.gba", 0x10D407, 0x00000C7 + +gUnk_0810D4CE:: @ 0810D4CE + .incbin "baserom.gba", 0x10D4CE, 0x0000007 + +gUnk_0810D4D5:: @ 0810D4D5 + .incbin "baserom.gba", 0x10D4D5, 0x000003C + +gUnk_0810D511:: @ 0810D511 + .incbin "baserom.gba", 0x10D511, 0x0000006 + +gUnk_0810D517:: @ 0810D517 + .incbin "baserom.gba", 0x10D517, 0x0000039 + +gUnk_0810D550:: @ 0810D550 + .incbin "baserom.gba", 0x10D550, 0x0000024 + +gUnk_0810D574:: @ 0810D574 + .incbin "baserom.gba", 0x10D574, 0x000005F + +gUnk_0810D5D3:: @ 0810D5D3 + .incbin "baserom.gba", 0x10D5D3, 0x00000DE + +gUnk_0810D6B1:: @ 0810D6B1 + .incbin "baserom.gba", 0x10D6B1, 0x0000056 + +gUnk_0810D707:: @ 0810D707 + .incbin "baserom.gba", 0x10D707, 0x00000D2 + +gUnk_0810D7D9:: @ 0810D7D9 + .incbin "baserom.gba", 0x10D7D9, 0x000002E + +gUnk_0810D807:: @ 0810D807 + .incbin "baserom.gba", 0x10D807, 0x0000021 + +gUnk_0810D828:: @ 0810D828 + .incbin "baserom.gba", 0x10D828, 0x00000DF + +gUnk_0810D907:: @ 0810D907 + .incbin "baserom.gba", 0x10D907, 0x0000100 + +gUnk_0810DA07:: @ 0810DA07 + .incbin "baserom.gba", 0x10DA07, 0x0000007 + +gUnk_0810DA0E:: @ 0810DA0E + .incbin "baserom.gba", 0x10DA0E, 0x00000B2 + +gUnk_0810DAC0:: @ 0810DAC0 + .incbin "baserom.gba", 0x10DAC0, 0x0000041 + +gUnk_0810DB01:: @ 0810DB01 + .incbin "baserom.gba", 0x10DB01, 0x0000003 + +gUnk_0810DB04:: @ 0810DB04 + .incbin "baserom.gba", 0x10DB04, 0x0000005 + +gUnk_0810DB09:: @ 0810DB09 + .incbin "baserom.gba", 0x10DB09, 0x00000FB + +gUnk_0810DC04:: @ 0810DC04 + .incbin "baserom.gba", 0x10DC04, 0x0000017 + +gUnk_0810DC1B:: @ 0810DC1B + .incbin "baserom.gba", 0x10DC1B, 0x00000C0 + +gUnk_0810DCDB:: @ 0810DCDB + .incbin "baserom.gba", 0x10DCDB, 0x0000001 + +gUnk_0810DCDC:: @ 0810DCDC + .incbin "baserom.gba", 0x10DCDC, 0x000012B + +gUnk_0810DE07:: @ 0810DE07 + .incbin "baserom.gba", 0x10DE07, 0x0000046 + +gUnk_0810DE4D:: @ 0810DE4D + .incbin "baserom.gba", 0x10DE4D, 0x0000293 + +gUnk_0810E0E0:: @ 0810E0E0 + .incbin "baserom.gba", 0x10E0E0, 0x0000011 + +gUnk_0810E0F1:: @ 0810E0F1 + .incbin "baserom.gba", 0x10E0F1, 0x000000C + +gUnk_0810E0FD:: @ 0810E0FD + .incbin "baserom.gba", 0x10E0FD, 0x00000C6 + +gUnk_0810E1C3:: @ 0810E1C3 + .incbin "baserom.gba", 0x10E1C3, 0x000002D + +gUnk_0810E1F0:: @ 0810E1F0 + .incbin "baserom.gba", 0x10E1F0, 0x00000FD + +gUnk_0810E2ED:: @ 0810E2ED + .incbin "baserom.gba", 0x10E2ED, 0x0000116 + +gUnk_0810E403:: @ 0810E403 + .incbin "baserom.gba", 0x10E403, 0x000000A + +gUnk_0810E40D:: @ 0810E40D + .incbin "baserom.gba", 0x10E40D, 0x0000009 + +gUnk_0810E416:: @ 0810E416 + .incbin "baserom.gba", 0x10E416, 0x0000072 + +gUnk_0810E488:: @ 0810E488 + .incbin "baserom.gba", 0x10E488, 0x000008E + +gUnk_0810E516:: @ 0810E516 + .incbin "baserom.gba", 0x10E516, 0x000007B + +gUnk_0810E591:: @ 0810E591 + .incbin "baserom.gba", 0x10E591, 0x000005A + +gUnk_0810E5EB:: @ 0810E5EB + .incbin "baserom.gba", 0x10E5EB, 0x000001C + +gUnk_0810E607:: @ 0810E607 + .incbin "baserom.gba", 0x10E607, 0x00000E1 + +gUnk_0810E6E8:: @ 0810E6E8 + .incbin "baserom.gba", 0x10E6E8, 0x0000021 + +gUnk_0810E709:: @ 0810E709 + .incbin "baserom.gba", 0x10E709, 0x00000DB + +gUnk_0810E7E4:: @ 0810E7E4 + .incbin "baserom.gba", 0x10E7E4, 0x000000B + +gUnk_0810E7EF:: @ 0810E7EF + .incbin "baserom.gba", 0x10E7EF, 0x0000009 + +gUnk_0810E7F8:: @ 0810E7F8 + .incbin "baserom.gba", 0x10E7F8, 0x000000F + +gUnk_0810E807:: @ 0810E807 + .incbin "baserom.gba", 0x10E807, 0x0000001 + +gUnk_0810E808:: @ 0810E808 + .incbin "baserom.gba", 0x10E808, 0x00000F0 + +gUnk_0810E8F8:: @ 0810E8F8 + .incbin "baserom.gba", 0x10E8F8, 0x00000F8 + +gUnk_0810E9F0:: @ 0810E9F0 + .incbin "baserom.gba", 0x10E9F0, 0x0000100 + +gUnk_0810EAF0:: @ 0810EAF0 + .incbin "baserom.gba", 0x10EAF0, 0x000000E + +gUnk_0810EAFE:: @ 0810EAFE + .incbin "baserom.gba", 0x10EAFE, 0x000003E + +gUnk_0810EB3C:: @ 0810EB3C + .incbin "baserom.gba", 0x10EB3C, 0x000001F + +gUnk_0810EB5B:: @ 0810EB5B + .incbin "baserom.gba", 0x10EB5B, 0x0000064 + +gUnk_0810EBBF:: @ 0810EBBF + .incbin "baserom.gba", 0x10EBBF, 0x0000010 + +gUnk_0810EBCF:: @ 0810EBCF + .incbin "baserom.gba", 0x10EBCF, 0x0000010 + +gUnk_0810EBDF:: @ 0810EBDF + .incbin "baserom.gba", 0x10EBDF, 0x0000029 + +gUnk_0810EC08:: @ 0810EC08 + .incbin "baserom.gba", 0x10EC08, 0x00000FC + +gUnk_0810ED04:: @ 0810ED04 + .incbin "baserom.gba", 0x10ED04, 0x0000005 + +gUnk_0810ED09:: @ 0810ED09 + .incbin "baserom.gba", 0x10ED09, 0x00000E0 + +gUnk_0810EDE9:: @ 0810EDE9 + .incbin "baserom.gba", 0x10EDE9, 0x0000008 + +gUnk_0810EDF1:: @ 0810EDF1 + .incbin "baserom.gba", 0x10EDF1, 0x0000036 + +gUnk_0810EE27:: @ 0810EE27 + .incbin "baserom.gba", 0x10EE27, 0x0000056 + +gUnk_0810EE7D:: @ 0810EE7D + .incbin "baserom.gba", 0x10EE7D, 0x0000080 + +gUnk_0810EEFD:: @ 0810EEFD + .incbin "baserom.gba", 0x10EEFD, 0x0000148 + +gUnk_0810F045:: @ 0810F045 + .incbin "baserom.gba", 0x10F045, 0x00000AA + +gUnk_0810F0EF:: @ 0810F0EF + .incbin "baserom.gba", 0x10F0EF, 0x0000001 + +gUnk_0810F0F0:: @ 0810F0F0 + .incbin "baserom.gba", 0x10F0F0, 0x0000208 + +gUnk_0810F2F8:: @ 0810F2F8 + .incbin "baserom.gba", 0x10F2F8, 0x0000006 + +gUnk_0810F2FE:: @ 0810F2FE + .incbin "baserom.gba", 0x10F2FE, 0x0000100 + +gUnk_0810F3FE:: @ 0810F3FE + .incbin "baserom.gba", 0x10F3FE, 0x0000002 + +gUnk_0810F400:: @ 0810F400 + .incbin "baserom.gba", 0x10F400, 0x00000E6 + +gUnk_0810F4E6:: @ 0810F4E6 + .incbin "baserom.gba", 0x10F4E6, 0x000000B + +gUnk_0810F4F1:: @ 0810F4F1 + .incbin "baserom.gba", 0x10F4F1, 0x0000007 + +gUnk_0810F4F8:: @ 0810F4F8 + .incbin "baserom.gba", 0x10F4F8, 0x000002C + +gUnk_0810F524:: @ 0810F524 + .incbin "baserom.gba", 0x10F524, 0x0000020 + +gUnk_0810F544:: @ 0810F544 + .incbin "baserom.gba", 0x10F544, 0x000000C + +gUnk_0810F550:: @ 0810F550 + .incbin "baserom.gba", 0x10F550, 0x0000010 + +gUnk_0810F560:: @ 0810F560 + .incbin "baserom.gba", 0x10F560, 0x000003A + +gUnk_0810F59A:: @ 0810F59A + .incbin "baserom.gba", 0x10F59A, 0x000003A + +gUnk_0810F5D4:: @ 0810F5D4 + .incbin "baserom.gba", 0x10F5D4, 0x000001F + +gUnk_0810F5F3:: @ 0810F5F3 + .incbin "baserom.gba", 0x10F5F3, 0x0000005 + +gUnk_0810F5F8:: @ 0810F5F8 + .incbin "baserom.gba", 0x10F5F8, 0x0000016 + +gUnk_0810F60E:: @ 0810F60E + .incbin "baserom.gba", 0x10F60E, 0x0000005 + +gUnk_0810F613:: @ 0810F613 + .incbin "baserom.gba", 0x10F613, 0x0000007 + +gUnk_0810F61A:: @ 0810F61A + .incbin "baserom.gba", 0x10F61A, 0x000002E + +gUnk_0810F648:: @ 0810F648 + .incbin "baserom.gba", 0x10F648, 0x000003A + +gUnk_0810F682:: @ 0810F682 + .incbin "baserom.gba", 0x10F682, 0x000003A + +gUnk_0810F6BC:: @ 0810F6BC + .incbin "baserom.gba", 0x10F6BC, 0x0000018 + +gUnk_0810F6D4:: @ 0810F6D4 + .incbin "baserom.gba", 0x10F6D4, 0x0000010 + +gUnk_0810F6E4:: @ 0810F6E4 + .incbin "baserom.gba", 0x10F6E4, 0x0000002 + +gUnk_0810F6E6:: @ 0810F6E6 + .incbin "baserom.gba", 0x10F6E6, 0x0000003 + +gUnk_0810F6E9:: @ 0810F6E9 + .incbin "baserom.gba", 0x10F6E9, 0x0000005 + +gUnk_0810F6EE:: @ 0810F6EE + .incbin "baserom.gba", 0x10F6EE, 0x0000001 + +gUnk_0810F6EF:: @ 0810F6EF + .incbin "baserom.gba", 0x10F6EF, 0x0000004 + +gUnk_0810F6F3:: @ 0810F6F3 + .incbin "baserom.gba", 0x10F6F3, 0x0000005 + +gUnk_0810F6F8:: @ 0810F6F8 + .incbin "baserom.gba", 0x10F6F8, 0x0000005 + +gUnk_0810F6FD:: @ 0810F6FD + .incbin "baserom.gba", 0x10F6FD, 0x0000003 + +gUnk_0810F700:: @ 0810F700 + .incbin "baserom.gba", 0x10F700, 0x0000002 + +gUnk_0810F702:: @ 0810F702 + .incbin "baserom.gba", 0x10F702, 0x0000005 + +gUnk_0810F707:: @ 0810F707 + .incbin "baserom.gba", 0x10F707, 0x0000005 + +gUnk_0810F70C:: @ 0810F70C + .incbin "baserom.gba", 0x10F70C, 0x0000011 + +gUnk_0810F71D:: @ 0810F71D + .incbin "baserom.gba", 0x10F71D, 0x0000011 + +gUnk_0810F72E:: @ 0810F72E + .incbin "baserom.gba", 0x10F72E, 0x0000011 + +gUnk_0810F73F:: @ 0810F73F + .incbin "baserom.gba", 0x10F73F, 0x0000011 + +gUnk_0810F750:: @ 0810F750 + .incbin "baserom.gba", 0x10F750, 0x0000011 + +gUnk_0810F761:: @ 0810F761 + .incbin "baserom.gba", 0x10F761, 0x0000011 + +gUnk_0810F772:: @ 0810F772 + .incbin "baserom.gba", 0x10F772, 0x0000011 + +gUnk_0810F783:: @ 0810F783 + .incbin "baserom.gba", 0x10F783, 0x0000011 + +gUnk_0810F794:: @ 0810F794 + .incbin "baserom.gba", 0x10F794, 0x0000005 + +gUnk_0810F799:: @ 0810F799 + .incbin "baserom.gba", 0x10F799, 0x0000025 + +gUnk_0810F7BE:: @ 0810F7BE + .incbin "baserom.gba", 0x10F7BE, 0x0000005 + +gUnk_0810F7C3:: @ 0810F7C3 + .incbin "baserom.gba", 0x10F7C3, 0x0000005 + +gUnk_0810F7C8:: @ 0810F7C8 + .incbin "baserom.gba", 0x10F7C8, 0x0000020 + +gUnk_0810F7E8:: @ 0810F7E8 + .incbin "baserom.gba", 0x10F7E8, 0x0000003 + +gUnk_0810F7EB:: @ 0810F7EB + .incbin "baserom.gba", 0x10F7EB, 0x0000003 + +gUnk_0810F7EE:: @ 0810F7EE + .incbin "baserom.gba", 0x10F7EE, 0x000000A + +gUnk_0810F7F8:: @ 0810F7F8 + .incbin "baserom.gba", 0x10F7F8, 0x0000005 + +gUnk_0810F7FD:: @ 0810F7FD + .incbin "baserom.gba", 0x10F7FD, 0x0000003 + +gUnk_0810F800:: @ 0810F800 + .incbin "baserom.gba", 0x10F800, 0x0000002 + +gUnk_0810F802:: @ 0810F802 + .incbin "baserom.gba", 0x10F802, 0x0000006 + +gUnk_0810F808:: @ 0810F808 + .incbin "baserom.gba", 0x10F808, 0x000000C + +gUnk_0810F814:: @ 0810F814 + .incbin "baserom.gba", 0x10F814, 0x0000060 + +gUnk_0810F874:: @ 0810F874 + .incbin "baserom.gba", 0x10F874, 0x0000018 + +gUnk_0810F88C:: @ 0810F88C + .incbin "baserom.gba", 0x10F88C, 0x0000008 + +gUnk_0810F894:: @ 0810F894 + .incbin "baserom.gba", 0x10F894, 0x0000024 + +gUnk_0810F8B8:: @ 0810F8B8 + .incbin "baserom.gba", 0x10F8B8, 0x0000018 + +gUnk_0810F8D0:: @ 0810F8D0 + .incbin "baserom.gba", 0x10F8D0, 0x0000014 + +gUnk_0810F8E4:: @ 0810F8E4 + .incbin "baserom.gba", 0x10F8E4, 0x0000005 + +gUnk_0810F8E9:: @ 0810F8E9 + .incbin "baserom.gba", 0x10F8E9, 0x0000005 + +gUnk_0810F8EE:: @ 0810F8EE + .incbin "baserom.gba", 0x10F8EE, 0x0000001 + +gUnk_0810F8EF:: @ 0810F8EF + .incbin "baserom.gba", 0x10F8EF, 0x0000004 + +gUnk_0810F8F3:: @ 0810F8F3 + .incbin "baserom.gba", 0x10F8F3, 0x0000001 + +gUnk_0810F8F4:: @ 0810F8F4 + .incbin "baserom.gba", 0x10F8F4, 0x0000004 + +gUnk_0810F8F8:: @ 0810F8F8 + .incbin "baserom.gba", 0x10F8F8, 0x0000001 + +gUnk_0810F8F9:: @ 0810F8F9 + .incbin "baserom.gba", 0x10F8F9, 0x0000010 + +gUnk_0810F909:: @ 0810F909 + .incbin "baserom.gba", 0x10F909, 0x0000011 + +gUnk_0810F91A:: @ 0810F91A + .incbin "baserom.gba", 0x10F91A, 0x0000011 + +gUnk_0810F92B:: @ 0810F92B + .incbin "baserom.gba", 0x10F92B, 0x0000011 + +gUnk_0810F93C:: @ 0810F93C + .incbin "baserom.gba", 0x10F93C, 0x0000008 + +gUnk_0810F944:: @ 0810F944 + .incbin "baserom.gba", 0x10F944, 0x0000028 + +gUnk_0810F96C:: @ 0810F96C + .incbin "baserom.gba", 0x10F96C, 0x0000005 + +gUnk_0810F971:: @ 0810F971 + .incbin "baserom.gba", 0x10F971, 0x0000005 + +gUnk_0810F976:: @ 0810F976 + .incbin "baserom.gba", 0x10F976, 0x0000005 + +gUnk_0810F97B:: @ 0810F97B + .incbin "baserom.gba", 0x10F97B, 0x0000011 + +gUnk_0810F98C:: @ 0810F98C + .incbin "baserom.gba", 0x10F98C, 0x0000024 + +gUnk_0810F9B0:: @ 0810F9B0 + .incbin "baserom.gba", 0x10F9B0, 0x0000005 + +gUnk_0810F9B5:: @ 0810F9B5 + .incbin "baserom.gba", 0x10F9B5, 0x0000005 + +gUnk_0810F9BA:: @ 0810F9BA + .incbin "baserom.gba", 0x10F9BA, 0x0000005 + +gUnk_0810F9BF:: @ 0810F9BF + .incbin "baserom.gba", 0x10F9BF, 0x0000011 + +gUnk_0810F9D0:: @ 0810F9D0 + .incbin "baserom.gba", 0x10F9D0, 0x0000020 + +gUnk_0810F9F0:: @ 0810F9F0 + .incbin "baserom.gba", 0x10F9F0, 0x0000004 + +gUnk_0810F9F4:: @ 0810F9F4 + .incbin "baserom.gba", 0x10F9F4, 0x0000004 + +gUnk_0810F9F8:: @ 0810F9F8 + .incbin "baserom.gba", 0x10F9F8, 0x0000001 + +gUnk_0810F9F9:: @ 0810F9F9 + .incbin "baserom.gba", 0x10F9F9, 0x0000005 + +gUnk_0810F9FE:: @ 0810F9FE + .incbin "baserom.gba", 0x10F9FE, 0x0000002 + +gUnk_0810FA00:: @ 0810FA00 + .incbin "baserom.gba", 0x10FA00, 0x0000003 + +gUnk_0810FA03:: @ 0810FA03 + .incbin "baserom.gba", 0x10FA03, 0x0000011 + +gUnk_0810FA14:: @ 0810FA14 + .incbin "baserom.gba", 0x10FA14, 0x0000018 + +gUnk_0810FA2C:: @ 0810FA2C + .incbin "baserom.gba", 0x10FA2C, 0x000000C + +gUnk_0810FA38:: @ 0810FA38 + .incbin "baserom.gba", 0x10FA38, 0x000000C + +gUnk_0810FA44:: @ 0810FA44 + .incbin "baserom.gba", 0x10FA44, 0x0000010 + +gUnk_0810FA54:: @ 0810FA54 + .incbin "baserom.gba", 0x10FA54, 0x0000006 + +gUnk_0810FA5A:: @ 0810FA5A + .incbin "baserom.gba", 0x10FA5A, 0x0000097 + +gUnk_0810FAF1:: @ 0810FAF1 + .incbin "baserom.gba", 0x10FAF1, 0x0000002 + +gUnk_0810FAF3:: @ 0810FAF3 + .incbin "baserom.gba", 0x10FAF3, 0x0000004 + +gUnk_0810FAF7:: @ 0810FAF7 + .incbin "baserom.gba", 0x10FAF7, 0x000002D + +gUnk_0810FB24:: @ 0810FB24 + .incbin "baserom.gba", 0x10FB24, 0x0000015 + +gUnk_0810FB39:: @ 0810FB39 + .incbin "baserom.gba", 0x10FB39, 0x0000015 + +gUnk_0810FB4E:: @ 0810FB4E + .incbin "baserom.gba", 0x10FB4E, 0x0000015 + +gUnk_0810FB63:: @ 0810FB63 + .incbin "baserom.gba", 0x10FB63, 0x0000015 + +gUnk_0810FB78:: @ 0810FB78 + .incbin "baserom.gba", 0x10FB78, 0x0000005 + +gUnk_0810FB7D:: @ 0810FB7D + .incbin "baserom.gba", 0x10FB7D, 0x0000005 + +gUnk_0810FB82:: @ 0810FB82 + .incbin "baserom.gba", 0x10FB82, 0x0000005 + +gUnk_0810FB87:: @ 0810FB87 + .incbin "baserom.gba", 0x10FB87, 0x0000005 + +gUnk_0810FB8C:: @ 0810FB8C + .incbin "baserom.gba", 0x10FB8C, 0x0000021 + +gUnk_0810FBAD:: @ 0810FBAD + .incbin "baserom.gba", 0x10FBAD, 0x0000023 + +gUnk_0810FBD0:: @ 0810FBD0 + .incbin "baserom.gba", 0x10FBD0, 0x000001B + +gUnk_0810FBEB:: @ 0810FBEB + .incbin "baserom.gba", 0x10FBEB, 0x000000E + +gUnk_0810FBF9:: @ 0810FBF9 + .incbin "baserom.gba", 0x10FBF9, 0x0000003 + +gUnk_0810FBFC:: @ 0810FBFC + .incbin "baserom.gba", 0x10FBFC, 0x000000C + +gUnk_0810FC08:: @ 0810FC08 + .incbin "baserom.gba", 0x10FC08, 0x0000048 + +gUnk_0810FC50:: @ 0810FC50 + .incbin "baserom.gba", 0x10FC50, 0x0000004 + +gUnk_0810FC54:: @ 0810FC54 + .incbin "baserom.gba", 0x10FC54, 0x000000A + +gUnk_0810FC5E:: @ 0810FC5E + .incbin "baserom.gba", 0x10FC5E, 0x000000A + +gUnk_0810FC68:: @ 0810FC68 + .incbin "baserom.gba", 0x10FC68, 0x0000045 + +gUnk_0810FCAD:: @ 0810FCAD + .incbin "baserom.gba", 0x10FCAD, 0x0000021 + +gUnk_0810FCCE:: @ 0810FCCE + .incbin "baserom.gba", 0x10FCCE, 0x0000026 + +gUnk_0810FCF4:: @ 0810FCF4 + .incbin "baserom.gba", 0x10FCF4, 0x0000022 + +gUnk_0810FD16:: @ 0810FD16 + .incbin "baserom.gba", 0x10FD16, 0x0000056 + +gUnk_0810FD6C:: @ 0810FD6C + .incbin "baserom.gba", 0x10FD6C, 0x0000034 + +gUnk_0810FDA0:: @ 0810FDA0 + .incbin "baserom.gba", 0x10FDA0, 0x0000004 + +gUnk_0810FDA4:: @ 0810FDA4 + .incbin "baserom.gba", 0x10FDA4, 0x0000014 + +gUnk_0810FDB8:: @ 0810FDB8 + .incbin "baserom.gba", 0x10FDB8, 0x0000010 + +gUnk_0810FDC8:: @ 0810FDC8 + .incbin "baserom.gba", 0x10FDC8, 0x0000020 + +gUnk_0810FDE8:: @ 0810FDE8 + .incbin "baserom.gba", 0x10FDE8, 0x0000005 + +gUnk_0810FDED:: @ 0810FDED + .incbin "baserom.gba", 0x10FDED, 0x0000005 + +gUnk_0810FDF2:: @ 0810FDF2 + .incbin "baserom.gba", 0x10FDF2, 0x0000005 + +gUnk_0810FDF7:: @ 0810FDF7 + .incbin "baserom.gba", 0x10FDF7, 0x000000C + +gUnk_0810FE03:: @ 0810FE03 + .incbin "baserom.gba", 0x10FE03, 0x0000005 + +gUnk_0810FE08:: @ 0810FE08 + .incbin "baserom.gba", 0x10FE08, 0x0000017 + +gUnk_0810FE1F:: @ 0810FE1F + .incbin "baserom.gba", 0x10FE1F, 0x0000049 + +gUnk_0810FE68:: @ 0810FE68 + .incbin "baserom.gba", 0x10FE68, 0x0000028 + +gUnk_0810FE90:: @ 0810FE90 + .incbin "baserom.gba", 0x10FE90, 0x0000020 + +gUnk_0810FEB0:: @ 0810FEB0 + .incbin "baserom.gba", 0x10FEB0, 0x000000C + +gUnk_0810FEBC:: @ 0810FEBC + .incbin "baserom.gba", 0x10FEBC, 0x0000008 + +gUnk_0810FEC4:: @ 0810FEC4 + .incbin "baserom.gba", 0x10FEC4, 0x0000014 + +gUnk_0810FED8:: @ 0810FED8 + .incbin "baserom.gba", 0x10FED8, 0x0000008 + +gUnk_0810FEE0:: @ 0810FEE0 + .incbin "baserom.gba", 0x10FEE0, 0x0000005 + +gUnk_0810FEE5:: @ 0810FEE5 + .incbin "baserom.gba", 0x10FEE5, 0x0000005 + +gUnk_0810FEEA:: @ 0810FEEA + .incbin "baserom.gba", 0x10FEEA, 0x0000005 + +gUnk_0810FEEF:: @ 0810FEEF + .incbin "baserom.gba", 0x10FEEF, 0x0000002 + +gUnk_0810FEF1:: @ 0810FEF1 + .incbin "baserom.gba", 0x10FEF1, 0x0000003 + +gUnk_0810FEF4:: @ 0810FEF4 + .incbin "baserom.gba", 0x10FEF4, 0x0000001 + +gUnk_0810FEF5:: @ 0810FEF5 + .incbin "baserom.gba", 0x10FEF5, 0x0000003 + +gUnk_0810FEF8:: @ 0810FEF8 + .incbin "baserom.gba", 0x10FEF8, 0x000000B + +gUnk_0810FF03:: @ 0810FF03 + .incbin "baserom.gba", 0x10FF03, 0x0000002 + +gUnk_0810FF05:: @ 0810FF05 + .incbin "baserom.gba", 0x10FF05, 0x000000A + +gUnk_0810FF0F:: @ 0810FF0F + .incbin "baserom.gba", 0x10FF0F, 0x0000001 + +gUnk_0810FF10:: @ 0810FF10 + .incbin "baserom.gba", 0x10FF10, 0x0000006 + +gUnk_0810FF16:: @ 0810FF16 + .incbin "baserom.gba", 0x10FF16, 0x0000011 + +gUnk_0810FF27:: @ 0810FF27 + .incbin "baserom.gba", 0x10FF27, 0x0000001 + +gUnk_0810FF28:: @ 0810FF28 + .incbin "baserom.gba", 0x10FF28, 0x0000010 + +gUnk_0810FF38:: @ 0810FF38 + .incbin "baserom.gba", 0x10FF38, 0x0000003 + +gUnk_0810FF3B:: @ 0810FF3B + .incbin "baserom.gba", 0x10FF3B, 0x0000021 + +gUnk_0810FF5C:: @ 0810FF5C + .incbin "baserom.gba", 0x10FF5C, 0x0000008 + +gUnk_0810FF64:: @ 0810FF64 + .incbin "baserom.gba", 0x10FF64, 0x000000C + +gUnk_0810FF70:: @ 0810FF70 + .incbin "baserom.gba", 0x10FF70, 0x0000005 + +gUnk_0810FF75:: @ 0810FF75 + .incbin "baserom.gba", 0x10FF75, 0x0000005 + +gUnk_0810FF7A:: @ 0810FF7A + .incbin "baserom.gba", 0x10FF7A, 0x0000004 + +gUnk_0810FF7E:: @ 0810FF7E + .incbin "baserom.gba", 0x10FF7E, 0x0000001 + +gUnk_0810FF7F:: @ 0810FF7F + .incbin "baserom.gba", 0x10FF7F, 0x0000005 + +gUnk_0810FF84:: @ 0810FF84 + .incbin "baserom.gba", 0x10FF84, 0x0000021 + +gUnk_0810FFA5:: @ 0810FFA5 + .incbin "baserom.gba", 0x10FFA5, 0x0000011 + +gUnk_0810FFB6:: @ 0810FFB6 + .incbin "baserom.gba", 0x10FFB6, 0x000000B + +gUnk_0810FFC1:: @ 0810FFC1 + .incbin "baserom.gba", 0x10FFC1, 0x0000016 + +gUnk_0810FFD7:: @ 0810FFD7 + .incbin "baserom.gba", 0x10FFD7, 0x000001F + +gUnk_0810FFF6:: @ 0810FFF6 + .incbin "baserom.gba", 0x10FFF6, 0x0000008 + +gUnk_0810FFFE:: @ 0810FFFE + .incbin "baserom.gba", 0x10FFFE, 0x0000002 + +gUnk_08110000:: @ 08110000 + .incbin "baserom.gba", 0x110000, 0x0000007 + +gUnk_08110007:: @ 08110007 + .incbin "baserom.gba", 0x110007, 0x000000D + +gUnk_08110014:: @ 08110014 + .incbin "baserom.gba", 0x110014, 0x0000013 + +gUnk_08110027:: @ 08110027 + .incbin "baserom.gba", 0x110027, 0x0000001 + +gUnk_08110028:: @ 08110028 + .incbin "baserom.gba", 0x110028, 0x0000044 + +gUnk_0811006C:: @ 0811006C + .incbin "baserom.gba", 0x11006C, 0x0000014 + +gUnk_08110080:: @ 08110080 + .incbin "baserom.gba", 0x110080, 0x0000008 + +gUnk_08110088:: @ 08110088 + .incbin "baserom.gba", 0x110088, 0x0000005 + +gUnk_0811008D:: @ 0811008D + .incbin "baserom.gba", 0x11008D, 0x0000005 + +gUnk_08110092:: @ 08110092 + .incbin "baserom.gba", 0x110092, 0x0000005 + +gUnk_08110097:: @ 08110097 + .incbin "baserom.gba", 0x110097, 0x0000021 + +gUnk_081100B8:: @ 081100B8 + .incbin "baserom.gba", 0x1100B8, 0x000002C + +gUnk_081100E4:: @ 081100E4 + .incbin "baserom.gba", 0x1100E4, 0x000002C + +gUnk_08110110:: @ 08110110 + .incbin "baserom.gba", 0x110110, 0x0000008 + +gMilkCartBehaviors:: @ 08110118 + .incbin "baserom.gba", 0x110118, 0x0000008 + +gUnk_08110120:: @ 08110120 + .incbin "baserom.gba", 0x110120, 0x0000005 + +gUnk_08110125:: @ 08110125 + .incbin "baserom.gba", 0x110125, 0x0000013 + +gUnk_08110138:: @ 08110138 + .incbin "baserom.gba", 0x110138, 0x0000009 + +gUnk_08110141:: @ 08110141 + .incbin "baserom.gba", 0x110141, 0x000001B + +gUnk_0811015C:: @ 0811015C + .incbin "baserom.gba", 0x11015C, 0x0000008 + +gUnk_08110164:: @ 08110164 + .incbin "baserom.gba", 0x110164, 0x0000018 + +gUnk_0811017C:: @ 0811017C + .incbin "baserom.gba", 0x11017C, 0x000000C + +gUnk_08110188:: @ 08110188 + .incbin "baserom.gba", 0x110188, 0x0000055 + +gUnk_081101DD:: @ 081101DD + .incbin "baserom.gba", 0x1101DD, 0x000001A + +gUnk_081101F7:: @ 081101F7 + .incbin "baserom.gba", 0x1101F7, 0x0000037 + +gUnk_0811022E:: @ 0811022E + .incbin "baserom.gba", 0x11022E, 0x0000046 + +gUnk_08110274:: @ 08110274 + .incbin "baserom.gba", 0x110274, 0x000000C + +gUnk_08110280:: @ 08110280 + .incbin "baserom.gba", 0x110280, 0x0000080 + +gUnk_08110300:: @ 08110300 + .incbin "baserom.gba", 0x110300, 0x0000011 + +gUnk_08110311:: @ 08110311 + .incbin "baserom.gba", 0x110311, 0x0000011 + +gUnk_08110322:: @ 08110322 + .incbin "baserom.gba", 0x110322, 0x0000011 + +gUnk_08110333:: @ 08110333 + .incbin "baserom.gba", 0x110333, 0x0000009 + +gUnk_0811033C:: @ 0811033C + .incbin "baserom.gba", 0x11033C, 0x0000018 + +gUnk_08110354:: @ 08110354 + .incbin "baserom.gba", 0x110354, 0x000000C + +gUnk_08110360:: @ 08110360 + .incbin "baserom.gba", 0x110360, 0x000000C + +gUnk_0811036C:: @ 0811036C + .incbin "baserom.gba", 0x11036C, 0x0000014 + +gUnk_08110380:: @ 08110380 + .incbin "baserom.gba", 0x110380, 0x0000010 + +gUnk_08110390:: @ 08110390 + .incbin "baserom.gba", 0x110390, 0x0000040 + +gUnk_081103D0:: @ 081103D0 + .incbin "baserom.gba", 0x1103D0, 0x000000B + +gUnk_081103DB:: @ 081103DB + .incbin "baserom.gba", 0x1103DB, 0x0000005 + +gUnk_081103E0:: @ 081103E0 + .incbin "baserom.gba", 0x1103E0, 0x0000004 + +gUnk_081103E4:: @ 081103E4 + .incbin "baserom.gba", 0x1103E4, 0x0000005 + +gUnk_081103E9:: @ 081103E9 + .incbin "baserom.gba", 0x1103E9, 0x0000005 + +gUnk_081103EE:: @ 081103EE + .incbin "baserom.gba", 0x1103EE, 0x0000005 + +gUnk_081103F3:: @ 081103F3 + .incbin "baserom.gba", 0x1103F3, 0x0000005 + +gUnk_081103F8:: @ 081103F8 + .incbin "baserom.gba", 0x1103F8, 0x0000006 + +gUnk_081103FE:: @ 081103FE + .incbin "baserom.gba", 0x1103FE, 0x0000002 + +gUnk_08110400:: @ 08110400 + .incbin "baserom.gba", 0x110400, 0x0000009 + +gUnk_08110409:: @ 08110409 + .incbin "baserom.gba", 0x110409, 0x0000011 + +gUnk_0811041A:: @ 0811041A + .incbin "baserom.gba", 0x11041A, 0x0000011 + +gUnk_0811042B:: @ 0811042B + .incbin "baserom.gba", 0x11042B, 0x0000011 + +gUnk_0811043C:: @ 0811043C + .incbin "baserom.gba", 0x11043C, 0x0000005 + +gUnk_08110441:: @ 08110441 + .incbin "baserom.gba", 0x110441, 0x0000005 + +gUnk_08110446:: @ 08110446 + .incbin "baserom.gba", 0x110446, 0x0000005 + +gUnk_0811044B:: @ 0811044B + .incbin "baserom.gba", 0x11044B, 0x0000029 + +gUnk_08110474:: @ 08110474 + .incbin "baserom.gba", 0x110474, 0x0000005 + +gUnk_08110479:: @ 08110479 + .incbin "baserom.gba", 0x110479, 0x0000005 + +gUnk_0811047E:: @ 0811047E + .incbin "baserom.gba", 0x11047E, 0x0000006 + +gUnk_08110484:: @ 08110484 + .incbin "baserom.gba", 0x110484, 0x0000044 + +gUnk_081104C8:: @ 081104C8 + .incbin "baserom.gba", 0x1104C8, 0x0000018 + +gUnk_081104E0:: @ 081104E0 + .incbin "baserom.gba", 0x1104E0, 0x000000C + +gUnk_081104EC:: @ 081104EC + .incbin "baserom.gba", 0x1104EC, 0x000000C + +gUnk_081104F8:: @ 081104F8 + .incbin "baserom.gba", 0x1104F8, 0x0000008 + +gUnk_08110500:: @ 08110500 + .incbin "baserom.gba", 0x110500, 0x0000005 + +gUnk_08110505:: @ 08110505 + .incbin "baserom.gba", 0x110505, 0x0000005 + +gUnk_0811050A:: @ 0811050A + .incbin "baserom.gba", 0x11050A, 0x0000004 + +gUnk_0811050E:: @ 0811050E + .incbin "baserom.gba", 0x11050E, 0x0000001 + +gUnk_0811050F:: @ 0811050F + .incbin "baserom.gba", 0x11050F, 0x0000005 + +gUnk_08110514:: @ 08110514 + .incbin "baserom.gba", 0x110514, 0x0000021 + +gUnk_08110535:: @ 08110535 + .incbin "baserom.gba", 0x110535, 0x0000021 + +gUnk_08110556:: @ 08110556 + .incbin "baserom.gba", 0x110556, 0x0000021 + +gUnk_08110577:: @ 08110577 + .incbin "baserom.gba", 0x110577, 0x0000009 + +gUnk_08110580:: @ 08110580 + .incbin "baserom.gba", 0x110580, 0x0000018 + +gUnk_08110598:: @ 08110598 + .incbin "baserom.gba", 0x110598, 0x0000011 + +gUnk_081105A9:: @ 081105A9 + .incbin "baserom.gba", 0x1105A9, 0x0000011 + +gUnk_081105BA:: @ 081105BA + .incbin "baserom.gba", 0x1105BA, 0x0000011 + +gUnk_081105CB:: @ 081105CB + .incbin "baserom.gba", 0x1105CB, 0x0000011 + +gUnk_081105DC:: @ 081105DC + .incbin "baserom.gba", 0x1105DC, 0x0000005 + +gUnk_081105E1:: @ 081105E1 + .incbin "baserom.gba", 0x1105E1, 0x0000010 + +gUnk_081105F1:: @ 081105F1 + .incbin "baserom.gba", 0x1105F1, 0x0000017 + +gUnk_08110608:: @ 08110608 + .incbin "baserom.gba", 0x110608, 0x0000004 + +gUnk_0811060C:: @ 0811060C + .incbin "baserom.gba", 0x11060C, 0x0000038 + +gUnk_08110644:: @ 08110644 + .incbin "baserom.gba", 0x110644, 0x000000C + +gUnk_08110650:: @ 08110650 + .incbin "baserom.gba", 0x110650, 0x0000008 + +gUnk_08110658:: @ 08110658 + .incbin "baserom.gba", 0x110658, 0x0000005 + +gUnk_0811065D:: @ 0811065D + .incbin "baserom.gba", 0x11065D, 0x0000005 + +gUnk_08110662:: @ 08110662 + .incbin "baserom.gba", 0x110662, 0x0000005 + +gUnk_08110667:: @ 08110667 + .incbin "baserom.gba", 0x110667, 0x0000005 + +gUnk_0811066C:: @ 0811066C + .incbin "baserom.gba", 0x11066C, 0x0000011 + +gUnk_0811067D:: @ 0811067D + .incbin "baserom.gba", 0x11067D, 0x0000005 + +gUnk_08110682:: @ 08110682 + .incbin "baserom.gba", 0x110682, 0x0000026 + +gUnk_081106A8:: @ 081106A8 + .incbin "baserom.gba", 0x1106A8, 0x000002C + +gUnk_081106D4:: @ 081106D4 + .incbin "baserom.gba", 0x1106D4, 0x000000C + +gUnk_081106E0:: @ 081106E0 + .incbin "baserom.gba", 0x1106E0, 0x0000008 + +gUnk_081106E8:: @ 081106E8 + .incbin "baserom.gba", 0x1106E8, 0x0000005 + +gUnk_081106ED:: @ 081106ED + .incbin "baserom.gba", 0x1106ED, 0x0000011 + +gUnk_081106FE:: @ 081106FE + .incbin "baserom.gba", 0x1106FE, 0x0000012 + +gUnk_08110710:: @ 08110710 + .incbin "baserom.gba", 0x110710, 0x0000024 + +gUnk_08110734:: @ 08110734 + .incbin "baserom.gba", 0x110734, 0x0000008 + +gUnk_0811073C:: @ 0811073C + .incbin "baserom.gba", 0x11073C, 0x0000005 + +gUnk_08110741:: @ 08110741 + .incbin "baserom.gba", 0x110741, 0x0000005 + +gUnk_08110746:: @ 08110746 + .incbin "baserom.gba", 0x110746, 0x0000005 + +gUnk_0811074B:: @ 0811074B + .incbin "baserom.gba", 0x11074B, 0x0000005 + +gUnk_08110750:: @ 08110750 + .incbin "baserom.gba", 0x110750, 0x0000011 + +gUnk_08110761:: @ 08110761 + .incbin "baserom.gba", 0x110761, 0x0000011 + +gUnk_08110772:: @ 08110772 + .incbin "baserom.gba", 0x110772, 0x0000011 + +gUnk_08110783:: @ 08110783 + .incbin "baserom.gba", 0x110783, 0x0000011 + +gUnk_08110794:: @ 08110794 + .incbin "baserom.gba", 0x110794, 0x0000005 + +gUnk_08110799:: @ 08110799 + .incbin "baserom.gba", 0x110799, 0x0000011 + +gUnk_081107AA:: @ 081107AA + .incbin "baserom.gba", 0x1107AA, 0x0000009 + +gUnk_081107B3:: @ 081107B3 + .incbin "baserom.gba", 0x1107B3, 0x0000009 + +gUnk_081107BC:: @ 081107BC + .incbin "baserom.gba", 0x1107BC, 0x0000010 + +gUnk_081107CC:: @ 081107CC + .incbin "baserom.gba", 0x1107CC, 0x000003C + +gUnk_08110808:: @ 08110808 + .incbin "baserom.gba", 0x110808, 0x0000038 + +gUnk_08110840:: @ 08110840 + .incbin "baserom.gba", 0x110840, 0x0000019 + +gUnk_08110859:: @ 08110859 + .incbin "baserom.gba", 0x110859, 0x0000005 + +gUnk_0811085E:: @ 0811085E + .incbin "baserom.gba", 0x11085E, 0x0000019 + +gUnk_08110877:: @ 08110877 + .incbin "baserom.gba", 0x110877, 0x0000005 + +gUnk_0811087C:: @ 0811087C + .incbin "baserom.gba", 0x11087C, 0x000001E + +gUnk_0811089A:: @ 0811089A + .incbin "baserom.gba", 0x11089A, 0x0000019 + +gUnk_081108B3:: @ 081108B3 + .incbin "baserom.gba", 0x1108B3, 0x0000019 + +gUnk_081108CC:: @ 081108CC + .incbin "baserom.gba", 0x1108CC, 0x0000019 + +gUnk_081108E5:: @ 081108E5 + .incbin "baserom.gba", 0x1108E5, 0x000000D + +gUnk_081108F2:: @ 081108F2 + .incbin "baserom.gba", 0x1108F2, 0x000000D + +gUnk_081108FF:: @ 081108FF + .incbin "baserom.gba", 0x1108FF, 0x000000D + +gUnk_0811090C:: @ 0811090C + .incbin "baserom.gba", 0x11090C, 0x000000C + +gUnk_08110918:: @ 08110918 + .incbin "baserom.gba", 0x110918, 0x0000005 + +gUnk_0811091D:: @ 0811091D + .incbin "baserom.gba", 0x11091D, 0x0000005 + +gUnk_08110922:: @ 08110922 + .incbin "baserom.gba", 0x110922, 0x0000005 + +gUnk_08110927:: @ 08110927 + .incbin "baserom.gba", 0x110927, 0x0000005 + +gUnk_0811092C:: @ 0811092C + .incbin "baserom.gba", 0x11092C, 0x0000005 + +gUnk_08110931:: @ 08110931 + .incbin "baserom.gba", 0x110931, 0x00000C1 + +gUnk_081109F2:: @ 081109F2 + .incbin "baserom.gba", 0x1109F2, 0x0000006 + +gUnk_081109F8:: @ 081109F8 + .incbin "baserom.gba", 0x1109F8, 0x00000DF + +gUnk_08110AD7:: @ 08110AD7 + .incbin "baserom.gba", 0x110AD7, 0x0000015 + +gUnk_08110AEC:: @ 08110AEC + .incbin "baserom.gba", 0x110AEC, 0x0000010 + +gUnk_08110AFC:: @ 08110AFC + .incbin "baserom.gba", 0x110AFC, 0x0000008 + +gUnk_08110B04:: @ 08110B04 + .incbin "baserom.gba", 0x110B04, 0x0000001 + +gUnk_08110B05:: @ 08110B05 + .incbin "baserom.gba", 0x110B05, 0x000004B + +gUnk_08110B50:: @ 08110B50 + .incbin "baserom.gba", 0x110B50, 0x0000088 + +gUnk_08110BD8:: @ 08110BD8 + .incbin "baserom.gba", 0x110BD8, 0x0000008 + +gUnk_08110BE0:: @ 08110BE0 + .incbin "baserom.gba", 0x110BE0, 0x000001F + +gUnk_08110BFF:: @ 08110BFF + .incbin "baserom.gba", 0x110BFF, 0x0000001 + +gUnk_08110C00:: @ 08110C00 + .incbin "baserom.gba", 0x110C00, 0x0000003 + +gUnk_08110C03:: @ 08110C03 + .incbin "baserom.gba", 0x110C03, 0x0000009 + +gUnk_08110C0C:: @ 08110C0C + .incbin "baserom.gba", 0x110C0C, 0x0000004 + +gUnk_08110C10:: @ 08110C10 + .incbin "baserom.gba", 0x110C10, 0x0000050 + +gUnk_08110C60:: @ 08110C60 + .incbin "baserom.gba", 0x110C60, 0x0000015 + +gUnk_08110C75:: @ 08110C75 + .incbin "baserom.gba", 0x110C75, 0x0000005 + +gUnk_08110C7A:: @ 08110C7A + .incbin "baserom.gba", 0x110C7A, 0x0000005 + +gUnk_08110C7F:: @ 08110C7F + .incbin "baserom.gba", 0x110C7F, 0x0000005 + +gUnk_08110C84:: @ 08110C84 + .incbin "baserom.gba", 0x110C84, 0x0000024 + +gUnk_08110CA8:: @ 08110CA8 + .incbin "baserom.gba", 0x110CA8, 0x0000040 + +gUnk_08110CE8:: @ 08110CE8 + .incbin "baserom.gba", 0x110CE8, 0x000000A + +gUnk_08110CF2:: @ 08110CF2 + .incbin "baserom.gba", 0x110CF2, 0x000000C + +gUnk_08110CFE:: @ 08110CFE + .incbin "baserom.gba", 0x110CFE, 0x0000002 + +gUnk_08110D00:: @ 08110D00 + .incbin "baserom.gba", 0x110D00, 0x0000002 + +gUnk_08110D02:: @ 08110D02 + .incbin "baserom.gba", 0x110D02, 0x0000006 + +gUnk_08110D08:: @ 08110D08 + .incbin "baserom.gba", 0x110D08, 0x0000025 + +gUnk_08110D2D:: @ 08110D2D + .incbin "baserom.gba", 0x110D2D, 0x0000005 + +gUnk_08110D32:: @ 08110D32 + .incbin "baserom.gba", 0x110D32, 0x0000005 + +gUnk_08110D37:: @ 08110D37 + .incbin "baserom.gba", 0x110D37, 0x0000005 + +gUnk_08110D3C:: @ 08110D3C + .incbin "baserom.gba", 0x110D3C, 0x0000025 + +gUnk_08110D61:: @ 08110D61 + .incbin "baserom.gba", 0x110D61, 0x0000005 + +gUnk_08110D66:: @ 08110D66 + .incbin "baserom.gba", 0x110D66, 0x0000005 + +gUnk_08110D6B:: @ 08110D6B + .incbin "baserom.gba", 0x110D6B, 0x0000005 + +gUnk_08110D70:: @ 08110D70 + .incbin "baserom.gba", 0x110D70, 0x000001D + +gUnk_08110D8D:: @ 08110D8D + .incbin "baserom.gba", 0x110D8D, 0x0000005 + +gUnk_08110D92:: @ 08110D92 + .incbin "baserom.gba", 0x110D92, 0x0000005 + +gUnk_08110D97:: @ 08110D97 + .incbin "baserom.gba", 0x110D97, 0x0000005 + +gUnk_08110D9C:: @ 08110D9C + .incbin "baserom.gba", 0x110D9C, 0x000001D + +gUnk_08110DB9:: @ 08110DB9 + .incbin "baserom.gba", 0x110DB9, 0x0000005 + +gUnk_08110DBE:: @ 08110DBE + .incbin "baserom.gba", 0x110DBE, 0x0000005 + +gUnk_08110DC3:: @ 08110DC3 + .incbin "baserom.gba", 0x110DC3, 0x0000005 + +gUnk_08110DC8:: @ 08110DC8 + .incbin "baserom.gba", 0x110DC8, 0x0000038 + +gUnk_08110E00:: @ 08110E00 + .incbin "baserom.gba", 0x110E00, 0x0000006 + +gUnk_08110E06:: @ 08110E06 + .incbin "baserom.gba", 0x110E06, 0x0000003 + +gUnk_08110E09:: @ 08110E09 + .incbin "baserom.gba", 0x110E09, 0x0000005 + +gUnk_08110E0E:: @ 08110E0E + .incbin "baserom.gba", 0x110E0E, 0x0000002 + +gUnk_08110E10:: @ 08110E10 + .incbin "baserom.gba", 0x110E10, 0x000003C + +gUnk_08110E4C:: @ 08110E4C + .incbin "baserom.gba", 0x110E4C, 0x0000010 + +gUnk_08110E5C:: @ 08110E5C + .incbin "baserom.gba", 0x110E5C, 0x0000008 + +gUnk_08110E64:: @ 08110E64 + .incbin "baserom.gba", 0x110E64, 0x0000004 + +gUnk_08110E68:: @ 08110E68 + .incbin "baserom.gba", 0x110E68, 0x0000010 + +gUnk_08110E78:: @ 08110E78 + .incbin "baserom.gba", 0x110E78, 0x0000012 + +gUnk_08110E8A:: @ 08110E8A + .incbin "baserom.gba", 0x110E8A, 0x000000A + +gUnk_08110E94:: @ 08110E94 + .incbin "baserom.gba", 0x110E94, 0x0000008 + +gUnk_08110E9C:: @ 08110E9C + .incbin "baserom.gba", 0x110E9C, 0x0000005 + +gUnk_08110EA1:: @ 08110EA1 + .incbin "baserom.gba", 0x110EA1, 0x0000005 + +gUnk_08110EA6:: @ 08110EA6 + .incbin "baserom.gba", 0x110EA6, 0x0000006 + +gUnk_08110EAC:: @ 08110EAC + .incbin "baserom.gba", 0x110EAC, 0x0000044 + +gUnk_08110EF0:: @ 08110EF0 + .incbin "baserom.gba", 0x110EF0, 0x0000008 + +gUnk_08110EF8:: @ 08110EF8 + .incbin "baserom.gba", 0x110EF8, 0x0000002 + +gUnk_08110EFA:: @ 08110EFA + .incbin "baserom.gba", 0x110EFA, 0x000000F + +gUnk_08110F09:: @ 08110F09 + .incbin "baserom.gba", 0x110F09, 0x0000001 + +gUnk_08110F0A:: @ 08110F0A + .incbin "baserom.gba", 0x110F0A, 0x0000002 + +gUnk_08110F0C:: @ 08110F0C + .incbin "baserom.gba", 0x110F0C, 0x000000A + +gUnk_08110F16:: @ 08110F16 + .incbin "baserom.gba", 0x110F16, 0x00000EA + +gUnk_08111000:: @ 08111000 + .incbin "baserom.gba", 0x111000, 0x0000003 + +gUnk_08111003:: @ 08111003 + .incbin "baserom.gba", 0x111003, 0x000000A + +gUnk_0811100D:: @ 0811100D + .incbin "baserom.gba", 0x11100D, 0x00000CB + +gCat:: @ 081110D8 + .incbin "baserom.gba", 0x1110D8, 0x0000024 + +gUnk_081110FC:: @ 081110FC + .incbin "baserom.gba", 0x1110FC, 0x0000008 + +gUnk_08111104:: @ 08111104 + .incbin "baserom.gba", 0x111104, 0x0000008 + +gUnk_0811110C:: @ 0811110C + .incbin "baserom.gba", 0x11110C, 0x0000001 + +gUnk_0811110D:: @ 0811110D + .incbin "baserom.gba", 0x11110D, 0x0000001 + +gUnk_0811110E:: @ 0811110E + .incbin "baserom.gba", 0x11110E, 0x0000001 + +gUnk_0811110F:: @ 0811110F + .incbin "baserom.gba", 0x11110F, 0x0000002 + +gUnk_08111111:: @ 08111111 + .incbin "baserom.gba", 0x111111, 0x0000002 + +gUnk_08111113:: @ 08111113 + .incbin "baserom.gba", 0x111113, 0x0000001 + +gUnk_08111114:: @ 08111114 + .incbin "baserom.gba", 0x111114, 0x0000008 + +gUnk_0811111C:: @ 0811111C + .incbin "baserom.gba", 0x11111C, 0x0000008 + +gUnk_08111124:: @ 08111124 + .incbin "baserom.gba", 0x111124, 0x0000008 + +gUnk_0811112C:: @ 0811112C + .incbin "baserom.gba", 0x11112C, 0x0000008 + +gUnk_08111134:: @ 08111134 + .incbin "baserom.gba", 0x111134, 0x0000008 + +gUnk_0811113C:: @ 0811113C + .incbin "baserom.gba", 0x11113C, 0x0000008 + +gUnk_08111144:: @ 08111144 + .incbin "baserom.gba", 0x111144, 0x0000008 + +gUnk_0811114C:: @ 0811114C + .incbin "baserom.gba", 0x11114C, 0x0000008 + +gUnk_08111154:: @ 08111154 + .incbin "baserom.gba", 0x111154, 0x0000017 + +gUnk_0811116B:: @ 0811116B + .incbin "baserom.gba", 0x11116B, 0x0000009 + +gUnk_08111174:: @ 08111174 + .incbin "baserom.gba", 0x111174, 0x000003C + +gUnk_081111B0:: @ 081111B0 + .incbin "baserom.gba", 0x1111B0, 0x0000009 + +gUnk_081111B9:: @ 081111B9 + .incbin "baserom.gba", 0x1111B9, 0x0000003 + +gUnk_081111BC:: @ 081111BC + .incbin "baserom.gba", 0x1111BC, 0x0000006 + +gUnk_081111C2:: @ 081111C2 + .incbin "baserom.gba", 0x1111C2, 0x0000011 + +gUnk_081111D3:: @ 081111D3 + .incbin "baserom.gba", 0x1111D3, 0x0000018 + +gUnk_081111EB:: @ 081111EB + .incbin "baserom.gba", 0x1111EB, 0x0000010 + +gUnk_081111FB:: @ 081111FB + .incbin "baserom.gba", 0x1111FB, 0x0000009 + +gUnk_08111204:: @ 08111204 + .incbin "baserom.gba", 0x111204, 0x000000D + +gUnk_08111211:: @ 08111211 + .incbin "baserom.gba", 0x111211, 0x000000D + +gUnk_0811121E:: @ 0811121E + .incbin "baserom.gba", 0x11121E, 0x000000E + +gUnk_0811122C:: @ 0811122C + .incbin "baserom.gba", 0x11122C, 0x000000C + +gUnk_08111238:: @ 08111238 + .incbin "baserom.gba", 0x111238, 0x0000024 + +gUnk_0811125C:: @ 0811125C + .incbin "baserom.gba", 0x11125C, 0x0000028 + +gUnk_08111284:: @ 08111284 + .incbin "baserom.gba", 0x111284, 0x0000080 + +gUnk_08111304:: @ 08111304 + .incbin "baserom.gba", 0x111304, 0x0000009 + +gUnk_0811130D:: @ 0811130D + .incbin "baserom.gba", 0x11130D, 0x0000001 + +gUnk_0811130E:: @ 0811130E + .incbin "baserom.gba", 0x11130E, 0x0000001 + +gUnk_0811130F:: @ 0811130F + .incbin "baserom.gba", 0x11130F, 0x0000009 + +gUnk_08111318:: @ 08111318 + .incbin "baserom.gba", 0x111318, 0x0000006 + +gUnk_0811131E:: @ 0811131E + .incbin "baserom.gba", 0x11131E, 0x0000025 + +gUnk_08111343:: @ 08111343 + .incbin "baserom.gba", 0x111343, 0x0000015 + +gUnk_08111358:: @ 08111358 + .incbin "baserom.gba", 0x111358, 0x0000010 + +gUnk_08111368:: @ 08111368 + .incbin "baserom.gba", 0x111368, 0x000000C + +gUnk_08111374:: @ 08111374 + .incbin "baserom.gba", 0x111374, 0x0000006 + +gUnk_0811137A:: @ 0811137A + .incbin "baserom.gba", 0x11137A, 0x0000006 + +gUnk_08111380:: @ 08111380 + .incbin "baserom.gba", 0x111380, 0x0000005 + +gUnk_08111385:: @ 08111385 + .incbin "baserom.gba", 0x111385, 0x0000005 + +gUnk_0811138A:: @ 0811138A + .incbin "baserom.gba", 0x11138A, 0x0000005 + +gUnk_0811138F:: @ 0811138F + .incbin "baserom.gba", 0x11138F, 0x0000005 + +gUnk_08111394:: @ 08111394 + .incbin "baserom.gba", 0x111394, 0x0000025 + +gUnk_081113B9:: @ 081113B9 + .incbin "baserom.gba", 0x1113B9, 0x0000025 + +gUnk_081113DE:: @ 081113DE + .incbin "baserom.gba", 0x1113DE, 0x0000021 + +gUnk_081113FF:: @ 081113FF + .incbin "baserom.gba", 0x1113FF, 0x0000008 + +gUnk_08111407:: @ 08111407 + .incbin "baserom.gba", 0x111407, 0x0000005 + +gUnk_0811140C:: @ 0811140C + .incbin "baserom.gba", 0x11140C, 0x0000002 + +gUnk_0811140E:: @ 0811140E + .incbin "baserom.gba", 0x11140E, 0x0000005 + +gUnk_08111413:: @ 08111413 + .incbin "baserom.gba", 0x111413, 0x0000009 + +gUnk_0811141C:: @ 0811141C + .incbin "baserom.gba", 0x11141C, 0x0000008 + +gUnk_08111424:: @ 08111424 + .incbin "baserom.gba", 0x111424, 0x0000025 + +gUnk_08111449:: @ 08111449 + .incbin "baserom.gba", 0x111449, 0x0000071 + +gUnk_081114BA:: @ 081114BA + .incbin "baserom.gba", 0x1114BA, 0x0000029 + +gUnk_081114E3:: @ 081114E3 + .incbin "baserom.gba", 0x1114E3, 0x0000005 + +gUnk_081114E8:: @ 081114E8 + .incbin "baserom.gba", 0x1114E8, 0x0000013 + +gUnk_081114FB:: @ 081114FB + .incbin "baserom.gba", 0x1114FB, 0x0000016 + +gUnk_08111511:: @ 08111511 + .incbin "baserom.gba", 0x111511, 0x0000002 + +gUnk_08111513:: @ 08111513 + .incbin "baserom.gba", 0x111513, 0x0000001 + +gUnk_08111514:: @ 08111514 + .incbin "baserom.gba", 0x111514, 0x0000003 + +gUnk_08111517:: @ 08111517 + .incbin "baserom.gba", 0x111517, 0x0000003 + +gUnk_0811151A:: @ 0811151A + .incbin "baserom.gba", 0x11151A, 0x0000001 + +gUnk_0811151B:: @ 0811151B + .incbin "baserom.gba", 0x11151B, 0x0000001 + +gUnk_0811151C:: @ 0811151C + .incbin "baserom.gba", 0x11151C, 0x0000004 + +gUnk_08111520:: @ 08111520 + .incbin "baserom.gba", 0x111520, 0x0000007 + +gUnk_08111527:: @ 08111527 + .incbin "baserom.gba", 0x111527, 0x0000002 + +gUnk_08111529:: @ 08111529 + .incbin "baserom.gba", 0x111529, 0x0000007 + +gUnk_08111530:: @ 08111530 + .incbin "baserom.gba", 0x111530, 0x0000008 + +gUnk_08111538:: @ 08111538 + .incbin "baserom.gba", 0x111538, 0x0000006 + +gUnk_0811153E:: @ 0811153E + .incbin "baserom.gba", 0x11153E, 0x0000006 + +gUnk_08111544:: @ 08111544 + .incbin "baserom.gba", 0x111544, 0x0000005 + +gUnk_08111549:: @ 08111549 + .incbin "baserom.gba", 0x111549, 0x0000005 + +gUnk_0811154E:: @ 0811154E + .incbin "baserom.gba", 0x11154E, 0x0000005 + +gUnk_08111553:: @ 08111553 + .incbin "baserom.gba", 0x111553, 0x0000039 + +gUnk_0811158C:: @ 0811158C + .incbin "baserom.gba", 0x11158C, 0x0000008 + +gUnk_08111594:: @ 08111594 + .incbin "baserom.gba", 0x111594, 0x000002C + +gUnk_081115C0:: @ 081115C0 + .incbin "baserom.gba", 0x1115C0, 0x0000010 + +gUnk_081115D0:: @ 081115D0 + .incbin "baserom.gba", 0x1115D0, 0x000000C + +gUnk_081115DC:: @ 081115DC + .incbin "baserom.gba", 0x1115DC, 0x0000010 + +gUnk_081115EC:: @ 081115EC + .incbin "baserom.gba", 0x1115EC, 0x0000024 + +gUnk_08111610:: @ 08111610 + .incbin "baserom.gba", 0x111610, 0x0000008 + +gUnk_08111618:: @ 08111618 + .incbin "baserom.gba", 0x111618, 0x0000003 + +gUnk_0811161B:: @ 0811161B + .incbin "baserom.gba", 0x11161B, 0x0000005 + +gUnk_08111620:: @ 08111620 + .incbin "baserom.gba", 0x111620, 0x0000003 + +gUnk_08111623:: @ 08111623 + .incbin "baserom.gba", 0x111623, 0x0000008 + +gUnk_0811162B:: @ 0811162B + .incbin "baserom.gba", 0x11162B, 0x000000D + +gUnk_08111638:: @ 08111638 + .incbin "baserom.gba", 0x111638, 0x000002C + +gUnk_08111664:: @ 08111664 + .incbin "baserom.gba", 0x111664, 0x0000016 + +gUnk_0811167A:: @ 0811167A + .incbin "baserom.gba", 0x11167A, 0x0000016 + +gUnk_08111690:: @ 08111690 + .incbin "baserom.gba", 0x111690, 0x0000016 + +gUnk_081116A6:: @ 081116A6 + .incbin "baserom.gba", 0x1116A6, 0x0000016 + +gUnk_081116BC:: @ 081116BC + .incbin "baserom.gba", 0x1116BC, 0x0000016 + +gUnk_081116D2:: @ 081116D2 + .incbin "baserom.gba", 0x1116D2, 0x0000016 + +gUnk_081116E8:: @ 081116E8 + .incbin "baserom.gba", 0x1116E8, 0x0000016 + +gUnk_081116FE:: @ 081116FE + .incbin "baserom.gba", 0x1116FE, 0x0000016 + +gUnk_08111714:: @ 08111714 + .incbin "baserom.gba", 0x111714, 0x0000003 + +gUnk_08111717:: @ 08111717 + .incbin "baserom.gba", 0x111717, 0x0000001 + +gUnk_08111718:: @ 08111718 + .incbin "baserom.gba", 0x111718, 0x0000001 + +gUnk_08111719:: @ 08111719 + .incbin "baserom.gba", 0x111719, 0x0000001 + +gUnk_0811171A:: @ 0811171A + .incbin "baserom.gba", 0x11171A, 0x0000010 + +gUnk_0811172A:: @ 0811172A + .incbin "baserom.gba", 0x11172A, 0x0000016 + +gUnk_08111740:: @ 08111740 + .incbin "baserom.gba", 0x111740, 0x000002C + +gUnk_0811176C:: @ 0811176C + .incbin "baserom.gba", 0x11176C, 0x0000005 + +gUnk_08111771:: @ 08111771 + .incbin "baserom.gba", 0x111771, 0x0000005 + +gUnk_08111776:: @ 08111776 + .incbin "baserom.gba", 0x111776, 0x0000005 + +gUnk_0811177B:: @ 0811177B + .incbin "baserom.gba", 0x11177B, 0x000004D + +gUnk_081117C8:: @ 081117C8 + .incbin "baserom.gba", 0x1117C8, 0x0000031 + +gUnk_081117F9:: @ 081117F9 + .incbin "baserom.gba", 0x1117F9, 0x000001E + +gUnk_08111817:: @ 08111817 + .incbin "baserom.gba", 0x111817, 0x0000002 + +gUnk_08111819:: @ 08111819 + .incbin "baserom.gba", 0x111819, 0x0000002 + +gUnk_0811181B:: @ 0811181B + .incbin "baserom.gba", 0x11181B, 0x0000001 + +gUnk_0811181C:: @ 0811181C + .incbin "baserom.gba", 0x11181C, 0x0000001 + +gUnk_0811181D:: @ 0811181D + .incbin "baserom.gba", 0x11181D, 0x0000001 + +gUnk_0811181E:: @ 0811181E + .incbin "baserom.gba", 0x11181E, 0x0000004 + +gUnk_08111822:: @ 08111822 + .incbin "baserom.gba", 0x111822, 0x0000008 + +gUnk_0811182A:: @ 0811182A + .incbin "baserom.gba", 0x11182A, 0x0000031 + +gUnk_0811185B:: @ 0811185B + .incbin "baserom.gba", 0x11185B, 0x0000071 + +gUnk_081118CC:: @ 081118CC + .incbin "baserom.gba", 0x1118CC, 0x0000024 + +gUnk_081118F0:: @ 081118F0 + .incbin "baserom.gba", 0x1118F0, 0x0000024 + +gUnk_08111914:: @ 08111914 + .incbin "baserom.gba", 0x111914, 0x0000004 + +gUnk_08111918:: @ 08111918 + .incbin "baserom.gba", 0x111918, 0x0000001 + +gUnk_08111919:: @ 08111919 + .incbin "baserom.gba", 0x111919, 0x0000001 + +gUnk_0811191A:: @ 0811191A + .incbin "baserom.gba", 0x11191A, 0x0000001 + +gUnk_0811191B:: @ 0811191B + .incbin "baserom.gba", 0x11191B, 0x0000002 + +gUnk_0811191D:: @ 0811191D + .incbin "baserom.gba", 0x11191D, 0x0000001 + +gUnk_0811191E:: @ 0811191E + .incbin "baserom.gba", 0x11191E, 0x0000002 + +gUnk_08111920:: @ 08111920 + .incbin "baserom.gba", 0x111920, 0x0000002 + +gUnk_08111922:: @ 08111922 + .incbin "baserom.gba", 0x111922, 0x0000006 + +gUnk_08111928:: @ 08111928 + .incbin "baserom.gba", 0x111928, 0x0000010 + +gUnk_08111938:: @ 08111938 + .incbin "baserom.gba", 0x111938, 0x0000028 + +gUnk_08111960:: @ 08111960 + .incbin "baserom.gba", 0x111960, 0x0000005 + +gUnk_08111965:: @ 08111965 + .incbin "baserom.gba", 0x111965, 0x0000005 + +gUnk_0811196A:: @ 0811196A + .incbin "baserom.gba", 0x11196A, 0x0000005 + +gUnk_0811196F:: @ 0811196F + .incbin "baserom.gba", 0x11196F, 0x0000005 + +gUnk_08111974:: @ 08111974 + .incbin "baserom.gba", 0x111974, 0x0000011 + +gUnk_08111985:: @ 08111985 + .incbin "baserom.gba", 0x111985, 0x0000011 + +gUnk_08111996:: @ 08111996 + .incbin "baserom.gba", 0x111996, 0x0000011 + +gUnk_081119A7:: @ 081119A7 + .incbin "baserom.gba", 0x1119A7, 0x0000011 + +gUnk_081119B8:: @ 081119B8 + .incbin "baserom.gba", 0x1119B8, 0x000000C + +gUnk_081119C4:: @ 081119C4 + .incbin "baserom.gba", 0x1119C4, 0x000000C + +gUnk_081119D0:: @ 081119D0 + .incbin "baserom.gba", 0x1119D0, 0x000000C + +gUnk_081119DC:: @ 081119DC + .incbin "baserom.gba", 0x1119DC, 0x000000C + +gUnk_081119E8:: @ 081119E8 + .incbin "baserom.gba", 0x1119E8, 0x0000009 + +gUnk_081119F1:: @ 081119F1 + .incbin "baserom.gba", 0x1119F1, 0x0000005 + +gUnk_081119F6:: @ 081119F6 + .incbin "baserom.gba", 0x1119F6, 0x0000004 + +gUnk_081119FA:: @ 081119FA + .incbin "baserom.gba", 0x1119FA, 0x0000009 + +gUnk_08111A03:: @ 08111A03 + .incbin "baserom.gba", 0x111A03, 0x0000009 + +gUnk_08111A0C:: @ 08111A0C + .incbin "baserom.gba", 0x111A0C, 0x0000008 + +gUnk_08111A14:: @ 08111A14 + .incbin "baserom.gba", 0x111A14, 0x0000002 + +gUnk_08111A16:: @ 08111A16 + .incbin "baserom.gba", 0x111A16, 0x0000002 + +gUnk_08111A18:: @ 08111A18 + .incbin "baserom.gba", 0x111A18, 0x0000001 + +gUnk_08111A19:: @ 08111A19 + .incbin "baserom.gba", 0x111A19, 0x0000003 + +gUnk_08111A1C:: @ 08111A1C + .incbin "baserom.gba", 0x111A1C, 0x0000003 + +gUnk_08111A1F:: @ 08111A1F + .incbin "baserom.gba", 0x111A1F, 0x0000002 + +gUnk_08111A21:: @ 08111A21 + .incbin "baserom.gba", 0x111A21, 0x0000001 + +gUnk_08111A22:: @ 08111A22 + .incbin "baserom.gba", 0x111A22, 0x0000002 + +gUnk_08111A24:: @ 08111A24 + .incbin "baserom.gba", 0x111A24, 0x0000008 + +gUnk_08111A2C:: @ 08111A2C + .incbin "baserom.gba", 0x111A2C, 0x0000054 + +gUnk_08111A80:: @ 08111A80 + .incbin "baserom.gba", 0x111A80, 0x000000C + +gUnk_08111A8C:: @ 08111A8C + .incbin "baserom.gba", 0x111A8C, 0x0000008 + +gUnk_08111A94:: @ 08111A94 + .incbin "baserom.gba", 0x111A94, 0x0000030 + +gUnk_08111AC4:: @ 08111AC4 + .incbin "baserom.gba", 0x111AC4, 0x0000005 + +gUnk_08111AC9:: @ 08111AC9 + .incbin "baserom.gba", 0x111AC9, 0x0000005 + +gUnk_08111ACE:: @ 08111ACE + .incbin "baserom.gba", 0x111ACE, 0x0000005 + +gUnk_08111AD3:: @ 08111AD3 + .incbin "baserom.gba", 0x111AD3, 0x0000005 + +gUnk_08111AD8:: @ 08111AD8 + .incbin "baserom.gba", 0x111AD8, 0x0000021 + +gUnk_08111AF9:: @ 08111AF9 + .incbin "baserom.gba", 0x111AF9, 0x0000021 + +gUnk_08111B1A:: @ 08111B1A + .incbin "baserom.gba", 0x111B1A, 0x0000005 + +gUnk_08111B1F:: @ 08111B1F + .incbin "baserom.gba", 0x111B1F, 0x0000007 + +gUnk_08111B26:: @ 08111B26 + .incbin "baserom.gba", 0x111B26, 0x0000015 + +gUnk_08111B3B:: @ 08111B3B + .incbin "baserom.gba", 0x111B3B, 0x000000B + +gUnk_08111B46:: @ 08111B46 + .incbin "baserom.gba", 0x111B46, 0x000001A + +gUnk_08111B60:: @ 08111B60 + .incbin "baserom.gba", 0x111B60, 0x0000023 + +gUnk_08111B83:: @ 08111B83 + .incbin "baserom.gba", 0x111B83, 0x0000005 + +gUnk_08111B88:: @ 08111B88 + .incbin "baserom.gba", 0x111B88, 0x0000010 + +gUnk_08111B98:: @ 08111B98 + .incbin "baserom.gba", 0x111B98, 0x0000008 + +gUnk_08111BA0:: @ 08111BA0 + .incbin "baserom.gba", 0x111BA0, 0x000001E + +gUnk_08111BBE:: @ 08111BBE + .incbin "baserom.gba", 0x111BBE, 0x0000005 + +gUnk_08111BC3:: @ 08111BC3 + .incbin "baserom.gba", 0x111BC3, 0x0000005 + +gUnk_08111BC8:: @ 08111BC8 + .incbin "baserom.gba", 0x111BC8, 0x0000005 + +gUnk_08111BCD:: @ 08111BCD + .incbin "baserom.gba", 0x111BCD, 0x0000025 + +gUnk_08111BF2:: @ 08111BF2 + .incbin "baserom.gba", 0x111BF2, 0x0000026 + +gUnk_08111C18:: @ 08111C18 + .incbin "baserom.gba", 0x111C18, 0x0000002 + +gUnk_08111C1A:: @ 08111C1A + .incbin "baserom.gba", 0x111C1A, 0x0000002 + +gUnk_08111C1C:: @ 08111C1C + .incbin "baserom.gba", 0x111C1C, 0x0000004 + +gUnk_08111C20:: @ 08111C20 + .incbin "baserom.gba", 0x111C20, 0x0000001 + +gUnk_08111C21:: @ 08111C21 + .incbin "baserom.gba", 0x111C21, 0x0000002 + +gUnk_08111C23:: @ 08111C23 + .incbin "baserom.gba", 0x111C23, 0x0000019 + +gUnk_08111C3C:: @ 08111C3C + .incbin "baserom.gba", 0x111C3C, 0x000000C + +gUnk_08111C48:: @ 08111C48 + .incbin "baserom.gba", 0x111C48, 0x0000008 + +gUnk_08111C50:: @ 08111C50 + .incbin "baserom.gba", 0x111C50, 0x000000C + +gUnk_08111C5C:: @ 08111C5C + .incbin "baserom.gba", 0x111C5C, 0x0000018 + +gUnk_08111C74:: @ 08111C74 + .incbin "baserom.gba", 0x111C74, 0x0000010 + +gUnk_08111C84:: @ 08111C84 + .incbin "baserom.gba", 0x111C84, 0x0000008 + +gUnk_08111C8C:: @ 08111C8C + .incbin "baserom.gba", 0x111C8C, 0x0000010 + +gUnk_08111C9C:: @ 08111C9C + .incbin "baserom.gba", 0x111C9C, 0x000000C + +gUnk_08111CA8:: @ 08111CA8 + .incbin "baserom.gba", 0x111CA8, 0x000000C + +gUnk_08111CB4:: @ 08111CB4 + .incbin "baserom.gba", 0x111CB4, 0x0000004 + +gUnk_08111CB8:: @ 08111CB8 + .incbin "baserom.gba", 0x111CB8, 0x0000004 + +gUnk_08111CBC:: @ 08111CBC + .incbin "baserom.gba", 0x111CBC, 0x0000005 + +gUnk_08111CC1:: @ 08111CC1 + .incbin "baserom.gba", 0x111CC1, 0x0000005 + +gUnk_08111CC6:: @ 08111CC6 + .incbin "baserom.gba", 0x111CC6, 0x0000005 + +gUnk_08111CCB:: @ 08111CCB + .incbin "baserom.gba", 0x111CCB, 0x0000005 + +gUnk_08111CD0:: @ 08111CD0 + .incbin "baserom.gba", 0x111CD0, 0x0000019 + +gUnk_08111CE9:: @ 08111CE9 + .incbin "baserom.gba", 0x111CE9, 0x0000019 + +gUnk_08111D02:: @ 08111D02 + .incbin "baserom.gba", 0x111D02, 0x0000015 + +gUnk_08111D17:: @ 08111D17 + .incbin "baserom.gba", 0x111D17, 0x0000004 + +gUnk_08111D1B:: @ 08111D1B + .incbin "baserom.gba", 0x111D1B, 0x000000F + +gUnk_08111D2A:: @ 08111D2A + .incbin "baserom.gba", 0x111D2A, 0x0000001 + +gUnk_08111D2B:: @ 08111D2B + .incbin "baserom.gba", 0x111D2B, 0x0000009 + +gUnk_08111D34:: @ 08111D34 + .incbin "baserom.gba", 0x111D34, 0x0000024 + +gUnk_08111D58:: @ 08111D58 + .incbin "baserom.gba", 0x111D58, 0x0000030 + +gUnk_08111D88:: @ 08111D88 + .incbin "baserom.gba", 0x111D88, 0x0000020 + +gUnk_08111DA8:: @ 08111DA8 + .incbin "baserom.gba", 0x111DA8, 0x0000008 + +gUnk_08111DB0:: @ 08111DB0 + .incbin "baserom.gba", 0x111DB0, 0x0000066 + +gUnk_08111E16:: @ 08111E16 + .incbin "baserom.gba", 0x111E16, 0x000001A + +gUnk_08111E30:: @ 08111E30 + .incbin "baserom.gba", 0x111E30, 0x0000004 + +gUnk_08111E34:: @ 08111E34 + .incbin "baserom.gba", 0x111E34, 0x00000AD + +gUnk_08111EE1:: @ 08111EE1 + .incbin "baserom.gba", 0x111EE1, 0x0000047 + +gUnk_08111F28:: @ 08111F28 + .incbin "baserom.gba", 0x111F28, 0x0000008 + +gUnk_08111F30:: @ 08111F30 + .incbin "baserom.gba", 0x111F30, 0x0000044 + +gUnk_08111F74:: @ 08111F74 + .incbin "baserom.gba", 0x111F74, 0x0000064 + +gUnk_08111FD8:: @ 08111FD8 + .incbin "baserom.gba", 0x111FD8, 0x000000A + +gUnk_08111FE2:: @ 08111FE2 + .incbin "baserom.gba", 0x111FE2, 0x0000005 + +gUnk_08111FE7:: @ 08111FE7 + .incbin "baserom.gba", 0x111FE7, 0x0000005 + +gUnk_08111FEC:: @ 08111FEC + .incbin "baserom.gba", 0x111FEC, 0x0000005 + +gUnk_08111FF1:: @ 08111FF1 + .incbin "baserom.gba", 0x111FF1, 0x0000005 + +gUnk_08111FF6:: @ 08111FF6 + .incbin "baserom.gba", 0x111FF6, 0x0000011 + +gUnk_08112007:: @ 08112007 + .incbin "baserom.gba", 0x112007, 0x0000007 + +gUnk_0811200E:: @ 0811200E + .incbin "baserom.gba", 0x11200E, 0x000000A + +gUnk_08112018:: @ 08112018 + .incbin "baserom.gba", 0x112018, 0x0000005 + +gUnk_0811201D:: @ 0811201D + .incbin "baserom.gba", 0x11201D, 0x0000005 + +gUnk_08112022:: @ 08112022 + .incbin "baserom.gba", 0x112022, 0x0000005 + +gUnk_08112027:: @ 08112027 + .incbin "baserom.gba", 0x112027, 0x0000005 + +gUnk_0811202C:: @ 0811202C + .incbin "baserom.gba", 0x11202C, 0x0000005 + +gUnk_08112031:: @ 08112031 + .incbin "baserom.gba", 0x112031, 0x0000005 + +gUnk_08112036:: @ 08112036 + .incbin "baserom.gba", 0x112036, 0x0000005 + +gUnk_0811203B:: @ 0811203B + .incbin "baserom.gba", 0x11203B, 0x0000005 + +gUnk_08112040:: @ 08112040 + .incbin "baserom.gba", 0x112040, 0x0000005 + +gUnk_08112045:: @ 08112045 + .incbin "baserom.gba", 0x112045, 0x0000005 + +gUnk_0811204A:: @ 0811204A + .incbin "baserom.gba", 0x11204A, 0x0000005 + +gUnk_0811204F:: @ 0811204F + .incbin "baserom.gba", 0x11204F, 0x0000005 + +gUnk_08112054:: @ 08112054 + .incbin "baserom.gba", 0x112054, 0x0000005 + +gUnk_08112059:: @ 08112059 + .incbin "baserom.gba", 0x112059, 0x0000005 + +gUnk_0811205E:: @ 0811205E + .incbin "baserom.gba", 0x11205E, 0x0000005 + +gUnk_08112063:: @ 08112063 + .incbin "baserom.gba", 0x112063, 0x0000005 + +gUnk_08112068:: @ 08112068 + .incbin "baserom.gba", 0x112068, 0x000000D + +gUnk_08112075:: @ 08112075 + .incbin "baserom.gba", 0x112075, 0x000000D + +gUnk_08112082:: @ 08112082 + .incbin "baserom.gba", 0x112082, 0x000000D + +gUnk_0811208F:: @ 0811208F + .incbin "baserom.gba", 0x11208F, 0x000000D + +gUnk_0811209C:: @ 0811209C + .incbin "baserom.gba", 0x11209C, 0x0000011 + +gUnk_081120AD:: @ 081120AD + .incbin "baserom.gba", 0x1120AD, 0x0000011 + +gUnk_081120BE:: @ 081120BE + .incbin "baserom.gba", 0x1120BE, 0x0000011 + +gUnk_081120CF:: @ 081120CF + .incbin "baserom.gba", 0x1120CF, 0x0000011 + +gUnk_081120E0:: @ 081120E0 + .incbin "baserom.gba", 0x1120E0, 0x0000020 + +gUnk_08112100:: @ 08112100 + .incbin "baserom.gba", 0x112100, 0x0000021 + +gUnk_08112121:: @ 08112121 + .incbin "baserom.gba", 0x112121, 0x000000A + +gUnk_0811212B:: @ 0811212B + .incbin "baserom.gba", 0x11212B, 0x0000089 + +gUnk_081121B4:: @ 081121B4 + .incbin "baserom.gba", 0x1121B4, 0x0000010 + +gUnk_081121C4:: @ 081121C4 + .incbin "baserom.gba", 0x1121C4, 0x0000010 + +gUnk_081121D4:: @ 081121D4 + .incbin "baserom.gba", 0x1121D4, 0x0000008 + +gUnk_081121DC:: @ 081121DC + .incbin "baserom.gba", 0x1121DC, 0x0000008 + +gUnk_081121E4:: @ 081121E4 + .incbin "baserom.gba", 0x1121E4, 0x0000020 + +gUnk_08112204:: @ 08112204 + .incbin "baserom.gba", 0x112204, 0x0000004 + +gUnk_08112208:: @ 08112208 + .incbin "baserom.gba", 0x112208, 0x0000024 + +gUnk_0811222C:: @ 0811222C + .incbin "baserom.gba", 0x11222C, 0x000000C + +gUnk_08112238:: @ 08112238 + .incbin "baserom.gba", 0x112238, 0x000000B + +gUnk_08112243:: @ 08112243 + .incbin "baserom.gba", 0x112243, 0x000001D + +gUnk_08112260:: @ 08112260 + .incbin "baserom.gba", 0x112260, 0x0000018 + +gUnk_08112278:: @ 08112278 + .incbin "baserom.gba", 0x112278, 0x000001C + +gUnk_08112294:: @ 08112294 + .incbin "baserom.gba", 0x112294, 0x0000008 + +gUnk_0811229C:: @ 0811229C + .incbin "baserom.gba", 0x11229C, 0x0000004 + +gUnk_081122A0:: @ 081122A0 + .incbin "baserom.gba", 0x1122A0, 0x0000008 + +gUnk_081122A8:: @ 081122A8 + .incbin "baserom.gba", 0x1122A8, 0x0000008 + +gUnk_081122B0:: @ 081122B0 + .incbin "baserom.gba", 0x1122B0, 0x0000008 + +gUnk_081122B8:: @ 081122B8 + .incbin "baserom.gba", 0x1122B8, 0x0000008 + +gUnk_081122C0:: @ 081122C0 + .incbin "baserom.gba", 0x1122C0, 0x0000009 + +gUnk_081122C9:: @ 081122C9 + .incbin "baserom.gba", 0x1122C9, 0x0000009 + +gUnk_081122D2:: @ 081122D2 + .incbin "baserom.gba", 0x1122D2, 0x0000009 + +gUnk_081122DB:: @ 081122DB + .incbin "baserom.gba", 0x1122DB, 0x0000025 + +gUnk_08112300:: @ 08112300 + .incbin "baserom.gba", 0x112300, 0x0000025 + +gUnk_08112325:: @ 08112325 + .incbin "baserom.gba", 0x112325, 0x0000025 + +gUnk_0811234A:: @ 0811234A + .incbin "baserom.gba", 0x11234A, 0x000003D + +gUnk_08112387:: @ 08112387 + .incbin "baserom.gba", 0x112387, 0x0000019 + +gUnk_081123A0:: @ 081123A0 + .incbin "baserom.gba", 0x1123A0, 0x0000029 + +gUnk_081123C9:: @ 081123C9 + .incbin "baserom.gba", 0x1123C9, 0x0000025 + +gUnk_081123EE:: @ 081123EE + .incbin "baserom.gba", 0x1123EE, 0x0000079 + +gUnk_08112467:: @ 08112467 + .incbin "baserom.gba", 0x112467, 0x0000032 + +gUnk_08112499:: @ 08112499 + .incbin "baserom.gba", 0x112499, 0x0000013 + +gUnk_081124AC:: @ 081124AC + .incbin "baserom.gba", 0x1124AC, 0x0000009 + +gUnk_081124B5:: @ 081124B5 + .incbin "baserom.gba", 0x1124B5, 0x000001D + +gUnk_081124D2:: @ 081124D2 + .incbin "baserom.gba", 0x1124D2, 0x0000019 + +gUnk_081124EB:: @ 081124EB + .incbin "baserom.gba", 0x1124EB, 0x0000014 + +gUnk_081124FF:: @ 081124FF + .incbin "baserom.gba", 0x1124FF, 0x0000025 + +gUnk_08112524:: @ 08112524 + .incbin "baserom.gba", 0x112524, 0x0000019 + +gUnk_0811253D:: @ 0811253D + .incbin "baserom.gba", 0x11253D, 0x0000045 + +gUnk_08112582:: @ 08112582 + .incbin "baserom.gba", 0x112582, 0x0000016 + +gUnk_08112598:: @ 08112598 + .incbin "baserom.gba", 0x112598, 0x000005C + +gUnk_081125F4:: @ 081125F4 + .incbin "baserom.gba", 0x1125F4, 0x000000C + +gUnk_08112600:: @ 08112600 + .incbin "baserom.gba", 0x112600, 0x0000074 + +gUnk_08112674:: @ 08112674 + .incbin "baserom.gba", 0x112674, 0x0000060 + +gUnk_081126D4:: @ 081126D4 + .incbin "baserom.gba", 0x1126D4, 0x0000010 + +gUnk_081126E4:: @ 081126E4 + .incbin "baserom.gba", 0x1126E4, 0x0000004 + +gUnk_081126E8:: @ 081126E8 + .incbin "baserom.gba", 0x1126E8, 0x0000008 + +gUnk_081126F0:: @ 081126F0 + .incbin "baserom.gba", 0x1126F0, 0x000024C + +gUnk_0811293C:: @ 0811293C + .incbin "baserom.gba", 0x11293C, 0x0000001 + +gUnk_0811293D:: @ 0811293D + .incbin "baserom.gba", 0x11293D, 0x00002B3 + +gUnk_08112BF0:: @ 08112BF0 + .incbin "baserom.gba", 0x112BF0, 0x0000050 + +gUnk_08112C40:: @ 08112C40 + .incbin "baserom.gba", 0x112C40, 0x000000A + +gUnk_08112C4A:: @ 08112C4A + .incbin "baserom.gba", 0x112C4A, 0x0000006 + +gUnk_08112C50:: @ 08112C50 + .incbin "baserom.gba", 0x112C50, 0x000000C + +gUnk_08112C5C:: @ 08112C5C + .incbin "baserom.gba", 0x112C5C, 0x0000004 + +gUnk_08112C60:: @ 08112C60 + .incbin "baserom.gba", 0x112C60, 0x0000008 + +gUnk_08112C68:: @ 08112C68 + .incbin "baserom.gba", 0x112C68, 0x0000005 + +gUnk_08112C6D:: @ 08112C6D + .incbin "baserom.gba", 0x112C6D, 0x0000005 + +gUnk_08112C72:: @ 08112C72 + .incbin "baserom.gba", 0x112C72, 0x0000005 + +gUnk_08112C77:: @ 08112C77 + .incbin "baserom.gba", 0x112C77, 0x0000005 + +gUnk_08112C7C:: @ 08112C7C + .incbin "baserom.gba", 0x112C7C, 0x0000021 + +gUnk_08112C9D:: @ 08112C9D + .incbin "baserom.gba", 0x112C9D, 0x0000021 + +gUnk_08112CBE:: @ 08112CBE + .incbin "baserom.gba", 0x112CBE, 0x0000021 + +gUnk_08112CDF:: @ 08112CDF + .incbin "baserom.gba", 0x112CDF, 0x0000021 + +gUnk_08112D00:: @ 08112D00 + .incbin "baserom.gba", 0x112D00, 0x0000005 + +gUnk_08112D05:: @ 08112D05 + .incbin "baserom.gba", 0x112D05, 0x0000005 + +gUnk_08112D0A:: @ 08112D0A + .incbin "baserom.gba", 0x112D0A, 0x0000005 + +gUnk_08112D0F:: @ 08112D0F + .incbin "baserom.gba", 0x112D0F, 0x0000005 + +gUnk_08112D14:: @ 08112D14 + .incbin "baserom.gba", 0x112D14, 0x0000034 + +gUnk_08112D48:: @ 08112D48 + .incbin "baserom.gba", 0x112D48, 0x0000008 + +gUnk_08112D50:: @ 08112D50 + .incbin "baserom.gba", 0x112D50, 0x000000A + +gUnk_08112D5A:: @ 08112D5A + .incbin "baserom.gba", 0x112D5A, 0x0000015 + +gUnk_08112D6F:: @ 08112D6F + .incbin "baserom.gba", 0x112D6F, 0x0000009 + +gUnk_08112D78:: @ 08112D78 + .incbin "baserom.gba", 0x112D78, 0x0000011 + +gUnk_08112D89:: @ 08112D89 + .incbin "baserom.gba", 0x112D89, 0x0000011 + +gUnk_08112D9A:: @ 08112D9A + .incbin "baserom.gba", 0x112D9A, 0x000004D + +gUnk_08112DE7:: @ 08112DE7 + .incbin "baserom.gba", 0x112DE7, 0x0000005 + +gUnk_08112DEC:: @ 08112DEC + .incbin "baserom.gba", 0x112DEC, 0x0000030 + +gUnk_08112E1C:: @ 08112E1C + .incbin "baserom.gba", 0x112E1C, 0x0000010 + +gUnk_08112E2C:: @ 08112E2C + .incbin "baserom.gba", 0x112E2C, 0x0000028 + +gUnk_08112E54:: @ 08112E54 + .incbin "baserom.gba", 0x112E54, 0x0000008 + +gUnk_08112E5C:: @ 08112E5C + .incbin "baserom.gba", 0x112E5C, 0x0000049 + +gUnk_08112EA5:: @ 08112EA5 + .incbin "baserom.gba", 0x112EA5, 0x0000005 + +gUnk_08112EAA:: @ 08112EAA + .incbin "baserom.gba", 0x112EAA, 0x0000005 + +gUnk_08112EAF:: @ 08112EAF + .incbin "baserom.gba", 0x112EAF, 0x0000005 + +gUnk_08112EB4:: @ 08112EB4 + .incbin "baserom.gba", 0x112EB4, 0x0000071 + +gUnk_08112F25:: @ 08112F25 + .incbin "baserom.gba", 0x112F25, 0x0000005 + +gUnk_08112F2A:: @ 08112F2A + .incbin "baserom.gba", 0x112F2A, 0x0000005 + +gUnk_08112F2F:: @ 08112F2F + .incbin "baserom.gba", 0x112F2F, 0x0000005 + +gUnk_08112F34:: @ 08112F34 + .incbin "baserom.gba", 0x112F34, 0x0000044 + +gUnk_08112F78:: @ 08112F78 + .incbin "baserom.gba", 0x112F78, 0x0000008 + +gUnk_08112F80:: @ 08112F80 + .incbin "baserom.gba", 0x112F80, 0x0000008 + +gUnk_08112F88:: @ 08112F88 + .incbin "baserom.gba", 0x112F88, 0x000003C + +gUnk_08112FC4:: @ 08112FC4 + .incbin "baserom.gba", 0x112FC4, 0x0000011 + +gUnk_08112FD5:: @ 08112FD5 + .incbin "baserom.gba", 0x112FD5, 0x000001F + +gUnk_08112FF4:: @ 08112FF4 + .incbin "baserom.gba", 0x112FF4, 0x0000010 + +gUnk_08113004:: @ 08113004 + .incbin "baserom.gba", 0x113004, 0x0000020 + +gUnk_08113024:: @ 08113024 + .incbin "baserom.gba", 0x113024, 0x0000008 + +gUnk_0811302C:: @ 0811302C + .incbin "baserom.gba", 0x11302C, 0x0000044 + +gUnk_08113070:: @ 08113070 + .incbin "baserom.gba", 0x113070, 0x0000008 + +gUnk_08113078:: @ 08113078 + .incbin "baserom.gba", 0x113078, 0x0000006 + +gUnk_0811307E:: @ 0811307E + .incbin "baserom.gba", 0x11307E, 0x0000005 + +gUnk_08113083:: @ 08113083 + .incbin "baserom.gba", 0x113083, 0x000000D + +gUnk_08113090:: @ 08113090 + .incbin "baserom.gba", 0x113090, 0x0000010 + +gUnk_081130A0:: @ 081130A0 + .incbin "baserom.gba", 0x1130A0, 0x0000038 + +gUnk_081130D8:: @ 081130D8 + .incbin "baserom.gba", 0x1130D8, 0x0000005 + +gUnk_081130DD:: @ 081130DD + .incbin "baserom.gba", 0x1130DD, 0x000000D + +gUnk_081130EA:: @ 081130EA + .incbin "baserom.gba", 0x1130EA, 0x000000D + +gUnk_081130F7:: @ 081130F7 + .incbin "baserom.gba", 0x1130F7, 0x000000B + +gUnk_08113102:: @ 08113102 + .incbin "baserom.gba", 0x113102, 0x0000006 + +gUnk_08113108:: @ 08113108 + .incbin "baserom.gba", 0x113108, 0x0000038 + +gUnk_08113140:: @ 08113140 + .incbin "baserom.gba", 0x113140, 0x0000018 + +gUnk_08113158:: @ 08113158 + .incbin "baserom.gba", 0x113158, 0x0000010 + +gUnk_08113168:: @ 08113168 + .incbin "baserom.gba", 0x113168, 0x0000025 + +gUnk_0811318D:: @ 0811318D + .incbin "baserom.gba", 0x11318D, 0x0000005 + +gUnk_08113192:: @ 08113192 + .incbin "baserom.gba", 0x113192, 0x0000005 + +gUnk_08113197:: @ 08113197 + .incbin "baserom.gba", 0x113197, 0x0000005 + +gUnk_0811319C:: @ 0811319C + .incbin "baserom.gba", 0x11319C, 0x0000044 + +gUnk_081131E0:: @ 081131E0 + .incbin "baserom.gba", 0x1131E0, 0x0000025 + +gUnk_08113205:: @ 08113205 + .incbin "baserom.gba", 0x113205, 0x0000005 + +gUnk_0811320A:: @ 0811320A + .incbin "baserom.gba", 0x11320A, 0x0000005 + +gUnk_0811320F:: @ 0811320F + .incbin "baserom.gba", 0x11320F, 0x0000005 + +gUnk_08113214:: @ 08113214 + .incbin "baserom.gba", 0x113214, 0x0000044 + +gUnk_08113258:: @ 08113258 + .incbin "baserom.gba", 0x113258, 0x0000005 + +gUnk_0811325D:: @ 0811325D + .incbin "baserom.gba", 0x11325D, 0x0000011 + +gUnk_0811326E:: @ 0811326E + .incbin "baserom.gba", 0x11326E, 0x0000031 + +gUnk_0811329F:: @ 0811329F + .incbin "baserom.gba", 0x11329F, 0x0000045 + +gUnk_081132E4:: @ 081132E4 + .incbin "baserom.gba", 0x1132E4, 0x0000030 + +gUnk_08113314:: @ 08113314 + .incbin "baserom.gba", 0x113314, 0x0000030 + +gUnk_08113344:: @ 08113344 + .incbin "baserom.gba", 0x113344, 0x0000006 + +gUnk_0811334A:: @ 0811334A + .incbin "baserom.gba", 0x11334A, 0x0000006 + +gUnk_08113350:: @ 08113350 + .incbin "baserom.gba", 0x113350, 0x0000019 + +gUnk_08113369:: @ 08113369 + .incbin "baserom.gba", 0x113369, 0x0000005 + +gUnk_0811336E:: @ 0811336E + .incbin "baserom.gba", 0x11336E, 0x0000009 + +gUnk_08113377:: @ 08113377 + .incbin "baserom.gba", 0x113377, 0x0000009 + +gUnk_08113380:: @ 08113380 + .incbin "baserom.gba", 0x113380, 0x0000024 + +gUnk_081133A4:: @ 081133A4 + .incbin "baserom.gba", 0x1133A4, 0x0000010 + +gUnk_081133B4:: @ 081133B4 + .incbin "baserom.gba", 0x1133B4, 0x0000004 + +gUnk_081133B8:: @ 081133B8 + .incbin "baserom.gba", 0x1133B8, 0x0000031 + +gUnk_081133E9:: @ 081133E9 + .incbin "baserom.gba", 0x1133E9, 0x0000011 + +gUnk_081133FA:: @ 081133FA + .incbin "baserom.gba", 0x1133FA, 0x0000019 + +gUnk_08113413:: @ 08113413 + .incbin "baserom.gba", 0x113413, 0x0000021 + +gUnk_08113434:: @ 08113434 + .incbin "baserom.gba", 0x113434, 0x0000009 + +gUnk_0811343D:: @ 0811343D + .incbin "baserom.gba", 0x11343D, 0x0000002 + +gUnk_0811343F:: @ 0811343F + .incbin "baserom.gba", 0x11343F, 0x0000007 + +gUnk_08113446:: @ 08113446 + .incbin "baserom.gba", 0x113446, 0x0000009 + +gUnk_0811344F:: @ 0811344F + .incbin "baserom.gba", 0x11344F, 0x0000041 + +gUnk_08113490:: @ 08113490 + .incbin "baserom.gba", 0x113490, 0x0000044 + +gUnk_081134D4:: @ 081134D4 + .incbin "baserom.gba", 0x1134D4, 0x0000034 + +gUnk_08113508:: @ 08113508 + .incbin "baserom.gba", 0x113508, 0x0000024 + +gUnk_0811352C:: @ 0811352C + .incbin "baserom.gba", 0x11352C, 0x0000021 + +gUnk_0811354D:: @ 0811354D + .incbin "baserom.gba", 0x11354D, 0x0000019 + +gUnk_08113566:: @ 08113566 + .incbin "baserom.gba", 0x113566, 0x0000008 + +gUnk_0811356E:: @ 0811356E + .incbin "baserom.gba", 0x11356E, 0x0000021 + +gUnk_0811358F:: @ 0811358F + .incbin "baserom.gba", 0x11358F, 0x0000021 + +gUnk_081135B0:: @ 081135B0 + .incbin "baserom.gba", 0x1135B0, 0x000002D + +gUnk_081135DD:: @ 081135DD + .incbin "baserom.gba", 0x1135DD, 0x0000005 + +gUnk_081135E2:: @ 081135E2 + .incbin "baserom.gba", 0x1135E2, 0x0000006 + +gUnk_081135E8:: @ 081135E8 + .incbin "baserom.gba", 0x1135E8, 0x0000044 + +gUnk_0811362C:: @ 0811362C + .incbin "baserom.gba", 0x11362C, 0x0000005 + +gUnk_08113631:: @ 08113631 + .incbin "baserom.gba", 0x113631, 0x0000005 + +gUnk_08113636:: @ 08113636 + .incbin "baserom.gba", 0x113636, 0x0000005 + +gUnk_0811363B:: @ 0811363B + .incbin "baserom.gba", 0x11363B, 0x0000005 + +gUnk_08113640:: @ 08113640 + .incbin "baserom.gba", 0x113640, 0x0000005 + +gUnk_08113645:: @ 08113645 + .incbin "baserom.gba", 0x113645, 0x0000005 + +gUnk_0811364A:: @ 0811364A + .incbin "baserom.gba", 0x11364A, 0x0000066 + +gUnk_081136B0:: @ 081136B0 + .incbin "baserom.gba", 0x1136B0, 0x0000028 + +gUnk_081136D8:: @ 081136D8 + .incbin "baserom.gba", 0x1136D8, 0x0000011 + +gUnk_081136E9:: @ 081136E9 + .incbin "baserom.gba", 0x1136E9, 0x0000011 + +gUnk_081136FA:: @ 081136FA + .incbin "baserom.gba", 0x1136FA, 0x0000011 + +gUnk_0811370B:: @ 0811370B + .incbin "baserom.gba", 0x11370B, 0x0000011 + +gUnk_0811371C:: @ 0811371C + .incbin "baserom.gba", 0x11371C, 0x0000005 + +gUnk_08113721:: @ 08113721 + .incbin "baserom.gba", 0x113721, 0x0000005 + +gUnk_08113726:: @ 08113726 + .incbin "baserom.gba", 0x113726, 0x0000005 + +gUnk_0811372B:: @ 0811372B + .incbin "baserom.gba", 0x11372B, 0x0000005 + +gUnk_08113730:: @ 08113730 + .incbin "baserom.gba", 0x113730, 0x0000024 + +gUnk_08113754:: @ 08113754 + .incbin "baserom.gba", 0x113754, 0x000000C + +gUnk_08113760:: @ 08113760 + .incbin "baserom.gba", 0x113760, 0x0000050 + +gUnk_081137B0:: @ 081137B0 + .incbin "baserom.gba", 0x1137B0, 0x0000039 + +gUnk_081137E9:: @ 081137E9 + .incbin "baserom.gba", 0x1137E9, 0x0000088 + +gUnk_08113871:: @ 08113871 + .incbin "baserom.gba", 0x113871, 0x0000021 + +gUnk_08113892:: @ 08113892 + .incbin "baserom.gba", 0x113892, 0x0000005 + +gUnk_08113897:: @ 08113897 + .incbin "baserom.gba", 0x113897, 0x0000019 + +gUnk_081138B0:: @ 081138B0 + .incbin "baserom.gba", 0x1138B0, 0x0000008 + +gUnk_081138B8:: @ 081138B8 + .incbin "baserom.gba", 0x1138B8, 0x0000024 + +gUnk_081138DC:: @ 081138DC + .incbin "baserom.gba", 0x1138DC, 0x0000005 + +gUnk_081138E1:: @ 081138E1 + .incbin "baserom.gba", 0x1138E1, 0x000001B + +gUnk_081138FC:: @ 081138FC + .incbin "baserom.gba", 0x1138FC, 0x0000014 + +gUnk_08113910:: @ 08113910 + .incbin "baserom.gba", 0x113910, 0x0000020 + +gUnk_08113930:: @ 08113930 + .incbin "baserom.gba", 0x113930, 0x0000080 + +gUnk_081139B0:: @ 081139B0 + .incbin "baserom.gba", 0x1139B0, 0x000001D + +gUnk_081139CD:: @ 081139CD + .incbin "baserom.gba", 0x1139CD, 0x000001D + +gUnk_081139EA:: @ 081139EA + .incbin "baserom.gba", 0x1139EA, 0x000001E + +gUnk_08113A08:: @ 08113A08 + .incbin "baserom.gba", 0x113A08, 0x0000014 + +gUnk_08113A1C:: @ 08113A1C + .incbin "baserom.gba", 0x113A1C, 0x0000060 + +gUnk_08113A7C:: @ 08113A7C + .incbin "baserom.gba", 0x113A7C, 0x0000010 + +gUnk_08113A8C:: @ 08113A8C + .incbin "baserom.gba", 0x113A8C, 0x0000030 + +gUnk_08113ABC:: @ 08113ABC + .incbin "baserom.gba", 0x113ABC, 0x0000050 + +gUnk_08113B0C:: @ 08113B0C + .incbin "baserom.gba", 0x113B0C, 0x0000006 + +gUnk_08113B12:: @ 08113B12 + .incbin "baserom.gba", 0x113B12, 0x0000004 + +gUnk_08113B16:: @ 08113B16 + .incbin "baserom.gba", 0x113B16, 0x0000008 + +gUnk_08113B1E:: @ 08113B1E + .incbin "baserom.gba", 0x113B1E, 0x0000004 + +gUnk_08113B22:: @ 08113B22 + .incbin "baserom.gba", 0x113B22, 0x0000006 + +gUnk_08113B28:: @ 08113B28 + .incbin "baserom.gba", 0x113B28, 0x0000008 + +gUnk_08113B30:: @ 08113B30 + .incbin "baserom.gba", 0x113B30, 0x0000008 + +gUnk_08113B38:: @ 08113B38 + .incbin "baserom.gba", 0x113B38, 0x0000007 + +gUnk_08113B3F:: @ 08113B3F + .incbin "baserom.gba", 0x113B3F, 0x0000005 + +gUnk_08113B44:: @ 08113B44 + .incbin "baserom.gba", 0x113B44, 0x0000005 + +gUnk_08113B49:: @ 08113B49 + .incbin "baserom.gba", 0x113B49, 0x0000005 + +gUnk_08113B4E:: @ 08113B4E + .incbin "baserom.gba", 0x113B4E, 0x0000005 + +gUnk_08113B53:: @ 08113B53 + .incbin "baserom.gba", 0x113B53, 0x0000011 + +gUnk_08113B64:: @ 08113B64 + .incbin "baserom.gba", 0x113B64, 0x0000011 + +gUnk_08113B75:: @ 08113B75 + .incbin "baserom.gba", 0x113B75, 0x0000011 + +gUnk_08113B86:: @ 08113B86 + .incbin "baserom.gba", 0x113B86, 0x0000012 + +gUnk_08113B98:: @ 08113B98 + .incbin "baserom.gba", 0x113B98, 0x0000024 + +gUnk_08113BBC:: @ 08113BBC + .incbin "baserom.gba", 0x113BBC, 0x0000005 + +gUnk_08113BC1:: @ 08113BC1 + .incbin "baserom.gba", 0x113BC1, 0x0000005 + +gUnk_08113BC6:: @ 08113BC6 + .incbin "baserom.gba", 0x113BC6, 0x0000005 + +gUnk_08113BCB:: @ 08113BCB + .incbin "baserom.gba", 0x113BCB, 0x0000005 + +gUnk_08113BD0:: @ 08113BD0 + .incbin "baserom.gba", 0x113BD0, 0x0000011 + +gUnk_08113BE1:: @ 08113BE1 + .incbin "baserom.gba", 0x113BE1, 0x0000011 + +gUnk_08113BF2:: @ 08113BF2 + .incbin "baserom.gba", 0x113BF2, 0x0000011 + +gUnk_08113C03:: @ 08113C03 + .incbin "baserom.gba", 0x113C03, 0x0000011 + +gUnk_08113C14:: @ 08113C14 + .incbin "baserom.gba", 0x113C14, 0x0000024 + +gUnk_08113C38:: @ 08113C38 + .incbin "baserom.gba", 0x113C38, 0x0000005 + +gUnk_08113C3D:: @ 08113C3D + .incbin "baserom.gba", 0x113C3D, 0x0000005 + +gUnk_08113C42:: @ 08113C42 + .incbin "baserom.gba", 0x113C42, 0x0000005 + +gUnk_08113C47:: @ 08113C47 + .incbin "baserom.gba", 0x113C47, 0x0000011 + +gUnk_08113C58:: @ 08113C58 + .incbin "baserom.gba", 0x113C58, 0x0000024 + +gUnk_08113C7C:: @ 08113C7C + .incbin "baserom.gba", 0x113C7C, 0x0000005 + +gUnk_08113C81:: @ 08113C81 + .incbin "baserom.gba", 0x113C81, 0x0000005 + +gUnk_08113C86:: @ 08113C86 + .incbin "baserom.gba", 0x113C86, 0x0000005 + +gUnk_08113C8B:: @ 08113C8B + .incbin "baserom.gba", 0x113C8B, 0x0000005 + +gUnk_08113C90:: @ 08113C90 + .incbin "baserom.gba", 0x113C90, 0x0000011 + +gUnk_08113CA1:: @ 08113CA1 + .incbin "baserom.gba", 0x113CA1, 0x0000011 + +gUnk_08113CB2:: @ 08113CB2 + .incbin "baserom.gba", 0x113CB2, 0x0000011 + +gUnk_08113CC3:: @ 08113CC3 + .incbin "baserom.gba", 0x113CC3, 0x0000011 + +gUnk_08113CD4:: @ 08113CD4 + .incbin "baserom.gba", 0x113CD4, 0x0000024 + +gUnk_08113CF8:: @ 08113CF8 + .incbin "baserom.gba", 0x113CF8, 0x0000005 + +gUnk_08113CFD:: @ 08113CFD + .incbin "baserom.gba", 0x113CFD, 0x0000005 + +gUnk_08113D02:: @ 08113D02 + .incbin "baserom.gba", 0x113D02, 0x0000005 + +gUnk_08113D07:: @ 08113D07 + .incbin "baserom.gba", 0x113D07, 0x0000015 + +gUnk_08113D1C:: @ 08113D1C + .incbin "baserom.gba", 0x113D1C, 0x0000024 + +gUnk_08113D40:: @ 08113D40 + .incbin "baserom.gba", 0x113D40, 0x0000005 + +gUnk_08113D45:: @ 08113D45 + .incbin "baserom.gba", 0x113D45, 0x0000005 + +gUnk_08113D4A:: @ 08113D4A + .incbin "baserom.gba", 0x113D4A, 0x0000005 + +gUnk_08113D4F:: @ 08113D4F + .incbin "baserom.gba", 0x113D4F, 0x0000011 + +gUnk_08113D60:: @ 08113D60 + .incbin "baserom.gba", 0x113D60, 0x0000024 + +gUnk_08113D84:: @ 08113D84 + .incbin "baserom.gba", 0x113D84, 0x0000008 + +gUnk_08113D8C:: @ 08113D8C + .incbin "baserom.gba", 0x113D8C, 0x0000010 + +gUnk_08113D9C:: @ 08113D9C + .incbin "baserom.gba", 0x113D9C, 0x0000011 + +gUnk_08113DAD:: @ 08113DAD + .incbin "baserom.gba", 0x113DAD, 0x0000005 + +gUnk_08113DB2:: @ 08113DB2 + .incbin "baserom.gba", 0x113DB2, 0x0000029 + +gUnk_08113DDB:: @ 08113DDB + .incbin "baserom.gba", 0x113DDB, 0x00000D9 + +gUnk_08113EB4:: @ 08113EB4 + .incbin "baserom.gba", 0x113EB4, 0x0000011 + +gUnk_08113EC5:: @ 08113EC5 + .incbin "baserom.gba", 0x113EC5, 0x0000011 + +gUnk_08113ED6:: @ 08113ED6 + .incbin "baserom.gba", 0x113ED6, 0x0000011 + +gUnk_08113EE7:: @ 08113EE7 + .incbin "baserom.gba", 0x113EE7, 0x0000005 + +gUnk_08113EEC:: @ 08113EEC + .incbin "baserom.gba", 0x113EEC, 0x0000005 + +gUnk_08113EF1:: @ 08113EF1 + .incbin "baserom.gba", 0x113EF1, 0x0000007 + +gUnk_08113EF8:: @ 08113EF8 + .incbin "baserom.gba", 0x113EF8, 0x000004C + +gUnk_08113F44:: @ 08113F44 + .incbin "baserom.gba", 0x113F44, 0x0000004 + +gUnk_08113F48:: @ 08113F48 + .incbin "baserom.gba", 0x113F48, 0x0000078 + +gUnk_08113FC0:: @ 08113FC0 + .incbin "baserom.gba", 0x113FC0, 0x0000005 + +gUnk_08113FC5:: @ 08113FC5 + .incbin "baserom.gba", 0x113FC5, 0x0000005 + +gUnk_08113FCA:: @ 08113FCA + .incbin "baserom.gba", 0x113FCA, 0x0000005 + +gUnk_08113FCF:: @ 08113FCF + .incbin "baserom.gba", 0x113FCF, 0x0000005 + +gUnk_08113FD4:: @ 08113FD4 + .incbin "baserom.gba", 0x113FD4, 0x0000011 + +gUnk_08113FE5:: @ 08113FE5 + .incbin "baserom.gba", 0x113FE5, 0x000004D + +gUnk_08114032:: @ 08114032 + .incbin "baserom.gba", 0x114032, 0x000000D + +gUnk_0811403F:: @ 0811403F + .incbin "baserom.gba", 0x11403F, 0x0000011 + +gUnk_08114050:: @ 08114050 + .incbin "baserom.gba", 0x114050, 0x0000011 + +gUnk_08114061:: @ 08114061 + .incbin "baserom.gba", 0x114061, 0x0000029 + +gUnk_0811408A:: @ 0811408A + .incbin "baserom.gba", 0x11408A, 0x000000E + +gUnk_08114098:: @ 08114098 + .incbin "baserom.gba", 0x114098, 0x0000034 + +gUnk_081140CC:: @ 081140CC + .incbin "baserom.gba", 0x1140CC, 0x0000008 + +gUnk_081140D4:: @ 081140D4 + .incbin "baserom.gba", 0x1140D4, 0x000002C + +gUnk_08114100:: @ 08114100 + .incbin "baserom.gba", 0x114100, 0x0000004 + +gUnk_08114104:: @ 08114104 + .incbin "baserom.gba", 0x114104, 0x0000030 + +gUnk_08114134:: @ 08114134 + .incbin "baserom.gba", 0x114134, 0x0000010 + +gUnk_08114144:: @ 08114144 + .incbin "baserom.gba", 0x114144, 0x0000010 + +gUnk_08114154:: @ 08114154 + .incbin "baserom.gba", 0x114154, 0x0000008 + +gUnk_0811415C:: @ 0811415C + .incbin "baserom.gba", 0x11415C, 0x0000048 + +gUnk_081141A4:: @ 081141A4 + .incbin "baserom.gba", 0x1141A4, 0x0000040 + +gUnk_081141E4:: @ 081141E4 + .incbin "baserom.gba", 0x1141E4, 0x0000010 + +gUnk_081141F4:: @ 081141F4 + .incbin "baserom.gba", 0x1141F4, 0x0000014 + +gUnk_08114208:: @ 08114208 + .incbin "baserom.gba", 0x114208, 0x0000005 + +gUnk_0811420D:: @ 0811420D + .incbin "baserom.gba", 0x11420D, 0x0000004 + +gUnk_08114211:: @ 08114211 + .incbin "baserom.gba", 0x114211, 0x0000005 + +gUnk_08114216:: @ 08114216 + .incbin "baserom.gba", 0x114216, 0x0000009 + +gUnk_0811421F:: @ 0811421F + .incbin "baserom.gba", 0x11421F, 0x0000009 + +gUnk_08114228:: @ 08114228 + .incbin "baserom.gba", 0x114228, 0x0000014 + +gUnk_0811423C:: @ 0811423C + .incbin "baserom.gba", 0x11423C, 0x0000008 + +gUnk_08114244:: @ 08114244 + .incbin "baserom.gba", 0x114244, 0x0000019 + +gUnk_0811425D:: @ 0811425D + .incbin "baserom.gba", 0x11425D, 0x0000019 + +gUnk_08114276:: @ 08114276 + .incbin "baserom.gba", 0x114276, 0x0000019 + +gUnk_0811428F:: @ 0811428F + .incbin "baserom.gba", 0x11428F, 0x0000019 + +gUnk_081142A8:: @ 081142A8 + .incbin "baserom.gba", 0x1142A8, 0x0000014 + +gUnk_081142BC:: @ 081142BC + .incbin "baserom.gba", 0x1142BC, 0x0000010 + +gUnk_081142CC:: @ 081142CC + .incbin "baserom.gba", 0x1142CC, 0x0000010 + +gUnk_081142DC:: @ 081142DC + .incbin "baserom.gba", 0x1142DC, 0x0000020 + +gUnk_081142FC:: @ 081142FC + .incbin "baserom.gba", 0x1142FC, 0x0000008 + +gUnk_08114304:: @ 08114304 + .incbin "baserom.gba", 0x114304, 0x0000004 + +gUnk_08114308:: @ 08114308 + .incbin "baserom.gba", 0x114308, 0x0000128 + +gUnk_08114430:: @ 08114430 + .incbin "baserom.gba", 0x114430, 0x0000002 + +gUnk_08114432:: @ 08114432 + .incbin "baserom.gba", 0x114432, 0x0000012 + +gUnk_08114444:: @ 08114444 + .incbin "baserom.gba", 0x114444, 0x0000084 + +gUnk_081144C8:: @ 081144C8 + .incbin "baserom.gba", 0x1144C8, 0x0000005 + +gUnk_081144CD:: @ 081144CD + .incbin "baserom.gba", 0x1144CD, 0x0000005 + +gUnk_081144D2:: @ 081144D2 + .incbin "baserom.gba", 0x1144D2, 0x0000005 + +gUnk_081144D7:: @ 081144D7 + .incbin "baserom.gba", 0x1144D7, 0x0000005 + +gUnk_081144DC:: @ 081144DC + .incbin "baserom.gba", 0x1144DC, 0x0000014 + +gUnk_081144F0:: @ 081144F0 + .incbin "baserom.gba", 0x1144F0, 0x000000C + +gUnk_081144FC:: @ 081144FC + .incbin "baserom.gba", 0x1144FC, 0x0000035 + +gUnk_08114531:: @ 08114531 + .incbin "baserom.gba", 0x114531, 0x000000B + +gUnk_0811453C:: @ 0811453C + .incbin "baserom.gba", 0x11453C, 0x0000011 + +gUnk_0811454D:: @ 0811454D + .incbin "baserom.gba", 0x11454D, 0x0000011 + +gUnk_0811455E:: @ 0811455E + .incbin "baserom.gba", 0x11455E, 0x0000011 + +gUnk_0811456F:: @ 0811456F + .incbin "baserom.gba", 0x11456F, 0x0000005 + +gUnk_08114574:: @ 08114574 + .incbin "baserom.gba", 0x114574, 0x0000005 + +gUnk_08114579:: @ 08114579 + .incbin "baserom.gba", 0x114579, 0x0000007 + +gUnk_08114580:: @ 08114580 + .incbin "baserom.gba", 0x114580, 0x0000034 + +gUnk_081145B4:: @ 081145B4 + .incbin "baserom.gba", 0x1145B4, 0x0000014 + +gUnk_081145C8:: @ 081145C8 + .incbin "baserom.gba", 0x1145C8, 0x0000008 + +gUnk_081145D0:: @ 081145D0 + .incbin "baserom.gba", 0x1145D0, 0x0000004 + +gUnk_081145D4:: @ 081145D4 + .incbin "baserom.gba", 0x1145D4, 0x0000010 + +gUnk_081145E4:: @ 081145E4 + .incbin "baserom.gba", 0x1145E4, 0x00000D4 + +gUnk_081146B8:: @ 081146B8 + .incbin "baserom.gba", 0x1146B8, 0x0000018 + +gUnk_081146D0:: @ 081146D0 + .incbin "baserom.gba", 0x1146D0, 0x0000014 + +gUnk_081146E4:: @ 081146E4 + .incbin "baserom.gba", 0x1146E4, 0x0000010 + +gUnk_081146F4:: @ 081146F4 + .incbin "baserom.gba", 0x1146F4, 0x00000A8 + +gUnk_0811479C:: @ 0811479C + .incbin "baserom.gba", 0x11479C, 0x0000048 + +gUnk_081147E4:: @ 081147E4 + .incbin "baserom.gba", 0x1147E4, 0x0000020 + +gUnk_08114804:: @ 08114804 + .incbin "baserom.gba", 0x114804, 0x0000010 + +gUnk_08114814:: @ 08114814 + .incbin "baserom.gba", 0x114814, 0x0000010 + +gUnk_08114824:: @ 08114824 + .incbin "baserom.gba", 0x114824, 0x0000040 + +gUnk_08114864:: @ 08114864 + .incbin "baserom.gba", 0x114864, 0x0000010 + +gUnk_08114874:: @ 08114874 + .incbin "baserom.gba", 0x114874, 0x0000030 + +gUnk_081148A4:: @ 081148A4 + .incbin "baserom.gba", 0x1148A4, 0x0000020 + +gUnk_081148C4:: @ 081148C4 + .incbin "baserom.gba", 0x1148C4, 0x0000020 + +gUnk_081148E4:: @ 081148E4 + .incbin "baserom.gba", 0x1148E4, 0x0000030 + +gUnk_08114914:: @ 08114914 + .incbin "baserom.gba", 0x114914, 0x0000030 + +gUnk_08114944:: @ 08114944 + .incbin "baserom.gba", 0x114944, 0x0000030 + +gUnk_08114974:: @ 08114974 + .incbin "baserom.gba", 0x114974, 0x0000010 + +gUnk_08114984:: @ 08114984 + .incbin "baserom.gba", 0x114984, 0x0000010 + +gUnk_08114994:: @ 08114994 + .incbin "baserom.gba", 0x114994, 0x0000010 + +gUnk_081149A4:: @ 081149A4 + .incbin "baserom.gba", 0x1149A4, 0x0000010 + +gUnk_081149B4:: @ 081149B4 + .incbin "baserom.gba", 0x1149B4, 0x0000010 + +gUnk_081149C4:: @ 081149C4 + .incbin "baserom.gba", 0x1149C4, 0x0000030 + +gUnk_081149F4:: @ 081149F4 + .incbin "baserom.gba", 0x1149F4, 0x0000020 + +gUnk_08114A14:: @ 08114A14 + .incbin "baserom.gba", 0x114A14, 0x0000058 + +gUnk_08114A6C:: @ 08114A6C + .incbin "baserom.gba", 0x114A6C, 0x0000020 + +gUnk_08114A8C:: @ 08114A8C + .incbin "baserom.gba", 0x114A8C, 0x0000030 + +gUnk_08114ABC:: @ 08114ABC + .incbin "baserom.gba", 0x114ABC, 0x0000028 + +gUnk_08114AE4:: @ 08114AE4 + .incbin "baserom.gba", 0x114AE4, 0x0000400 + +gUnk_08114EE4:: @ 08114EE4 + .incbin "baserom.gba", 0x114EE4, 0x0000018 + +gUnk_08114EFC:: @ 08114EFC + .incbin "baserom.gba", 0x114EFC, 0x0000010 + +gUnk_08114F0C:: @ 08114F0C + .incbin "baserom.gba", 0x114F0C, 0x0000024 + +gUnk_08114F30:: @ 08114F30 + .incbin "baserom.gba", 0x114F30, 0x0000004 + +gUnk_08114F34:: @ 08114F34 + .incbin "baserom.gba", 0x114F34, 0x0000004 + +gUnk_08114F38:: @ 08114F38 + .incbin "baserom.gba", 0x114F38, 0x0000020 + +gUnk_08114F58:: @ 08114F58 + .incbin "baserom.gba", 0x114F58, 0x0000020 + +gUnk_08114F78:: @ 08114F78 + .incbin "baserom.gba", 0x114F78, 0x0000008 + +gUnk_08114F80:: @ 08114F80 + .incbin "baserom.gba", 0x114F80, 0x0000008 + +gUnk_08114F88:: @ 08114F88 + .incbin "baserom.gba", 0x114F88, 0x0000010 + +gUnk_08114F98:: @ 08114F98 + .incbin "baserom.gba", 0x114F98, 0x00003F4 + +gUnk_0811538C:: @ 0811538C + .incbin "baserom.gba", 0x11538C, 0x0000153 + +gUnk_081154DF:: @ 081154DF + .incbin "baserom.gba", 0x1154DF, 0x0000042 + +gUnk_08115521:: @ 08115521 + .incbin "baserom.gba", 0x115521, 0x0000002 + +gUnk_08115523:: @ 08115523 + .incbin "baserom.gba", 0x115523, 0x0000003 + +gUnk_08115526:: @ 08115526 + .incbin "baserom.gba", 0x115526, 0x00001FE + +gUnk_08115724:: @ 08115724 + .incbin "baserom.gba", 0x115724, 0x00003D4 + +gUnk_08115AF8:: @ 08115AF8 + .incbin "baserom.gba", 0x115AF8, 0x00003A4 + +gUnk_08115E9C:: @ 08115E9C + .incbin "baserom.gba", 0x115E9C, 0x0000176 + +gUnk_08116012:: @ 08116012 + .incbin "baserom.gba", 0x116012, 0x000026E + +gUnk_08116280:: @ 08116280 + .incbin "baserom.gba", 0x116280, 0x00002B0 + +gUnk_08116530:: @ 08116530 + .incbin "baserom.gba", 0x116530, 0x00001D3 + +gUnk_08116703:: @ 08116703 + .incbin "baserom.gba", 0x116703, 0x0000085 + +gUnk_08116788:: @ 08116788 + .incbin "baserom.gba", 0x116788, 0x0000100 + +gUnk_08116888:: @ 08116888 + .incbin "baserom.gba", 0x116888, 0x0000017 + +gUnk_0811689F:: @ 0811689F + .incbin "baserom.gba", 0x11689F, 0x00001FD + +gUnk_08116A9C:: @ 08116A9C + .incbin "baserom.gba", 0x116A9C, 0x0000270 + +gUnk_08116D0C:: @ 08116D0C + .incbin "baserom.gba", 0x116D0C, 0x00000C8 + +gUnk_08116DD4:: @ 08116DD4 + .incbin "baserom.gba", 0x116DD4, 0x0000071 + +gUnk_08116E45:: @ 08116E45 + .incbin "baserom.gba", 0x116E45, 0x000011F + +gUnk_08116F64:: @ 08116F64 + .incbin "baserom.gba", 0x116F64, 0x00002A4 + +gUnk_08117208:: @ 08117208 + .incbin "baserom.gba", 0x117208, 0x0000038 + +gUnk_08117240:: @ 08117240 + .incbin "baserom.gba", 0x117240, 0x000039C + +gUnk_081175DC:: @ 081175DC + .incbin "baserom.gba", 0x1175DC, 0x00002D4 + +gUnk_081178B0:: @ 081178B0 + .incbin "baserom.gba", 0x1178B0, 0x00002D4 + +gUnk_08117B84:: @ 08117B84 + .incbin "baserom.gba", 0x117B84, 0x00001E0 + +gUnk_08117D64:: @ 08117D64 + .incbin "baserom.gba", 0x117D64, 0x00000DC + +gUnk_08117E40:: @ 08117E40 + .incbin "baserom.gba", 0x117E40, 0x0000128 + +gUnk_08117F68:: @ 08117F68 + .incbin "baserom.gba", 0x117F68, 0x000006C + +gUnk_08117FD4:: @ 08117FD4 + .incbin "baserom.gba", 0x117FD4, 0x00001AD + +gUnk_08118181:: @ 08118181 + .incbin "baserom.gba", 0x118181, 0x0000033 + +gUnk_081181B4:: @ 081181B4 + .incbin "baserom.gba", 0x1181B4, 0x0000030 + +gUnk_081181E4:: @ 081181E4 + .incbin "baserom.gba", 0x1181E4, 0x0000054 + +gUnk_08118238:: @ 08118238 + .incbin "baserom.gba", 0x118238, 0x000002C + +gUnk_08118264:: @ 08118264 + .incbin "baserom.gba", 0x118264, 0x0000034 + +gUnk_08118298:: @ 08118298 + .incbin "baserom.gba", 0x118298, 0x0000100 + +gUnk_08118398:: @ 08118398 + .incbin "baserom.gba", 0x118398, 0x0000024 + +gUnk_081183BC:: @ 081183BC + .incbin "baserom.gba", 0x1183BC, 0x00000B0 + +gUnk_0811846C:: @ 0811846C + .incbin "baserom.gba", 0x11846C, 0x000003C + +gUnk_081184A8:: @ 081184A8 + .incbin "baserom.gba", 0x1184A8, 0x00000B0 + +gUnk_08118558:: @ 08118558 + .incbin "baserom.gba", 0x118558, 0x00001C8 + +gUnk_08118720:: @ 08118720 + .incbin "baserom.gba", 0x118720, 0x0000048 + +gUnk_08118768:: @ 08118768 + .incbin "baserom.gba", 0x118768, 0x0000018 + +gUnk_08118780:: @ 08118780 + .incbin "baserom.gba", 0x118780, 0x0000008 + +gUnk_08118788:: @ 08118788 + .incbin "baserom.gba", 0x118788, 0x000000C + +gUnk_08118794:: @ 08118794 + .incbin "baserom.gba", 0x118794, 0x000012C + +gUnk_081188C0:: @ 081188C0 + .incbin "baserom.gba", 0x1188C0, 0x0000088 + +gUnk_08118948:: @ 08118948 + .incbin "baserom.gba", 0x118948, 0x0000018 + +gUnk_08118960:: @ 08118960 + .incbin "baserom.gba", 0x118960, 0x0000014 + +gUnk_08118974:: @ 08118974 + .incbin "baserom.gba", 0x118974, 0x0000014 + +gUnk_08118988:: @ 08118988 + .incbin "baserom.gba", 0x118988, 0x0000278 + +gUnk_08118C00:: @ 08118C00 + .incbin "baserom.gba", 0x118C00, 0x0000138 + +gUnk_08118D38:: @ 08118D38 + .incbin "baserom.gba", 0x118D38, 0x000006C + +gUnk_08118DA4:: @ 08118DA4 + .incbin "baserom.gba", 0x118DA4, 0x000002C + +gUnk_08118DD0:: @ 08118DD0 + .incbin "baserom.gba", 0x118DD0, 0x000000C + +gUnk_08118DDC:: @ 08118DDC + .incbin "baserom.gba", 0x118DDC, 0x0000080 + +gUnk_08118E5C:: @ 08118E5C + .incbin "baserom.gba", 0x118E5C, 0x00000A8 + +gUnk_08118F04:: @ 08118F04 + .incbin "baserom.gba", 0x118F04, 0x0000038 + +gUnk_08118F3C:: @ 08118F3C + .incbin "baserom.gba", 0x118F3C, 0x0000028 + +gUnk_08118F64:: @ 08118F64 + .incbin "baserom.gba", 0x118F64, 0x0000034 + +gUnk_08118F98:: @ 08118F98 + .incbin "baserom.gba", 0x118F98, 0x0000108 + +gUnk_081190A0:: @ 081190A0 + .incbin "baserom.gba", 0x1190A0, 0x0000044 + +gUnk_081190E4:: @ 081190E4 + .incbin "baserom.gba", 0x1190E4, 0x0000038 + +gUnk_0811911C:: @ 0811911C + .incbin "baserom.gba", 0x11911C, 0x0000010 + +gUnk_0811912C:: @ 0811912C + .incbin "baserom.gba", 0x11912C, 0x000005C + +gUnk_08119188:: @ 08119188 + .incbin "baserom.gba", 0x119188, 0x0000120 + +gUnk_081192A8:: @ 081192A8 + .incbin "baserom.gba", 0x1192A8, 0x00002A0 + +gUnk_08119548:: @ 08119548 + .incbin "baserom.gba", 0x119548, 0x000027C + +gUnk_081197C4:: @ 081197C4 + .incbin "baserom.gba", 0x1197C4, 0x0000030 + +gUnk_081197F4:: @ 081197F4 + .incbin "baserom.gba", 0x1197F4, 0x00000D0 + +gUnk_081198C4:: @ 081198C4 + .incbin "baserom.gba", 0x1198C4, 0x0000028 + +gUnk_081198EC:: @ 081198EC + .incbin "baserom.gba", 0x1198EC, 0x00000B8 + +gUnk_081199A4:: @ 081199A4 + .incbin "baserom.gba", 0x1199A4, 0x0000054 + +gUnk_081199F8:: @ 081199F8 + .incbin "baserom.gba", 0x1199F8, 0x000007C + +gUnk_08119A74:: @ 08119A74 + .incbin "baserom.gba", 0x119A74, 0x000007C + +gUnk_08119AF0:: @ 08119AF0 + .incbin "baserom.gba", 0x119AF0, 0x000008C + +gUnk_08119B7C:: @ 08119B7C + .incbin "baserom.gba", 0x119B7C, 0x0000074 + +gUnk_08119BF0:: @ 08119BF0 + .incbin "baserom.gba", 0x119BF0, 0x0000074 + +gUnk_08119C64:: @ 08119C64 + .incbin "baserom.gba", 0x119C64, 0x0000090 + +gUnk_08119CF4:: @ 08119CF4 + .incbin "baserom.gba", 0x119CF4, 0x0000060 + +gUnk_08119D54:: @ 08119D54 + .incbin "baserom.gba", 0x119D54, 0x0000054 + +gUnk_08119DA8:: @ 08119DA8 + .incbin "baserom.gba", 0x119DA8, 0x0000054 + +gUnk_08119DFC:: @ 08119DFC + .incbin "baserom.gba", 0x119DFC, 0x000001C + +gUnk_08119E18:: @ 08119E18 + .incbin "baserom.gba", 0x119E18, 0x000002C + +gUnk_08119E44:: @ 08119E44 + .incbin "baserom.gba", 0x119E44, 0x000006C + +gUnk_08119EB0:: @ 08119EB0 + .incbin "baserom.gba", 0x119EB0, 0x0000028 + +gUnk_08119ED8:: @ 08119ED8 + .incbin "baserom.gba", 0x119ED8, 0x00000A8 + +gUnk_08119F80:: @ 08119F80 + .incbin "baserom.gba", 0x119F80, 0x0000024 + +gUnk_08119FA4:: @ 08119FA4 + .incbin "baserom.gba", 0x119FA4, 0x0000024 + +gUnk_08119FC8:: @ 08119FC8 + .incbin "baserom.gba", 0x119FC8, 0x000000C + +gUnk_08119FD4:: @ 08119FD4 + .incbin "baserom.gba", 0x119FD4, 0x0000048 + +gUnk_0811A01C:: @ 0811A01C + .incbin "baserom.gba", 0x11A01C, 0x0000030 + +gUnk_0811A04C:: @ 0811A04C + .incbin "baserom.gba", 0x11A04C, 0x000001C + +gUnk_0811A068:: @ 0811A068 + .incbin "baserom.gba", 0x11A068, 0x000003C + +gUnk_0811A0A4:: @ 0811A0A4 + .incbin "baserom.gba", 0x11A0A4, 0x0000028 + +gUnk_0811A0CC:: @ 0811A0CC + .incbin "baserom.gba", 0x11A0CC, 0x0000018 + +gUnk_0811A0E4:: @ 0811A0E4 + .incbin "baserom.gba", 0x11A0E4, 0x0000040 + +gUnk_0811A124:: @ 0811A124 + .incbin "baserom.gba", 0x11A124, 0x0000020 + +gUnk_0811A144:: @ 0811A144 + .incbin "baserom.gba", 0x11A144, 0x0000038 + +gUnk_0811A17C:: @ 0811A17C + .incbin "baserom.gba", 0x11A17C, 0x000004C + +gUnk_0811A1C8:: @ 0811A1C8 + .incbin "baserom.gba", 0x11A1C8, 0x0000030 + +gUnk_0811A1F8:: @ 0811A1F8 + .incbin "baserom.gba", 0x11A1F8, 0x0000030 + +gUnk_0811A228:: @ 0811A228 + .incbin "baserom.gba", 0x11A228, 0x0000058 + +gUnk_0811A280:: @ 0811A280 + .incbin "baserom.gba", 0x11A280, 0x000000C + +gUnk_0811A28C:: @ 0811A28C + .incbin "baserom.gba", 0x11A28C, 0x000001C + +gUnk_0811A2A8:: @ 0811A2A8 + .incbin "baserom.gba", 0x11A2A8, 0x0000028 + +gUnk_0811A2D0:: @ 0811A2D0 + .incbin "baserom.gba", 0x11A2D0, 0x000002C + +gUnk_0811A2FC:: @ 0811A2FC + .incbin "baserom.gba", 0x11A2FC, 0x0000214 + +gUnk_0811A510:: @ 0811A510 + .incbin "baserom.gba", 0x11A510, 0x000024C + +gUnk_0811A75C:: @ 0811A75C + .incbin "baserom.gba", 0x11A75C, 0x000004C + +gUnk_0811A7A8:: @ 0811A7A8 + .incbin "baserom.gba", 0x11A7A8, 0x00000C4 + +gUnk_0811A86C:: @ 0811A86C + .incbin "baserom.gba", 0x11A86C, 0x0000060 + +gUnk_0811A8CC:: @ 0811A8CC + .incbin "baserom.gba", 0x11A8CC, 0x00000E8 + +gUnk_0811A9B4:: @ 0811A9B4 + .incbin "baserom.gba", 0x11A9B4, 0x0000078 + +gUnk_0811AA2C:: @ 0811AA2C + .incbin "baserom.gba", 0x11AA2C, 0x0000050 + +gUnk_0811AA7C:: @ 0811AA7C + .incbin "baserom.gba", 0x11AA7C, 0x000009C + +gUnk_0811AB18:: @ 0811AB18 + .incbin "baserom.gba", 0x11AB18, 0x00000E0 + +gUnk_0811ABF8:: @ 0811ABF8 + .incbin "baserom.gba", 0x11ABF8, 0x0000019 + +gUnk_0811AC11:: @ 0811AC11 + .incbin "baserom.gba", 0x11AC11, 0x0000113 + +gUnk_0811AD24:: @ 0811AD24 + .incbin "baserom.gba", 0x11AD24, 0x00000A8 + +gUnk_0811ADCC:: @ 0811ADCC + .incbin "baserom.gba", 0x11ADCC, 0x00000E4 + +gUnk_0811AEB0:: @ 0811AEB0 + .incbin "baserom.gba", 0x11AEB0, 0x0000028 + +gUnk_0811AED8:: @ 0811AED8 + .incbin "baserom.gba", 0x11AED8, 0x000004C + +gUnk_0811AF24:: @ 0811AF24 + .incbin "baserom.gba", 0x11AF24, 0x0000010 + +gUnk_0811AF34:: @ 0811AF34 + .incbin "baserom.gba", 0x11AF34, 0x0000030 + +gUnk_0811AF64:: @ 0811AF64 + .incbin "baserom.gba", 0x11AF64, 0x0000028 + +gUnk_0811AF8C:: @ 0811AF8C + .incbin "baserom.gba", 0x11AF8C, 0x0000030 + +gUnk_0811AFBC:: @ 0811AFBC + .incbin "baserom.gba", 0x11AFBC, 0x0000014 + +gUnk_0811AFD0:: @ 0811AFD0 + .incbin "baserom.gba", 0x11AFD0, 0x0000030 + +gUnk_0811B000:: @ 0811B000 + .incbin "baserom.gba", 0x11B000, 0x000001C + +gUnk_0811B01C:: @ 0811B01C + .incbin "baserom.gba", 0x11B01C, 0x0000010 + +gUnk_0811B02C:: @ 0811B02C + .incbin "baserom.gba", 0x11B02C, 0x0000084 + +gUnk_0811B0B0:: @ 0811B0B0 + .incbin "baserom.gba", 0x11B0B0, 0x0000080 + +gUnk_0811B130:: @ 0811B130 + .incbin "baserom.gba", 0x11B130, 0x0000048 + +gUnk_0811B178:: @ 0811B178 + .incbin "baserom.gba", 0x11B178, 0x0000018 + +gUnk_0811B190:: @ 0811B190 + .incbin "baserom.gba", 0x11B190, 0x0000084 + +gUnk_0811B214:: @ 0811B214 + .incbin "baserom.gba", 0x11B214, 0x0000044 + +gUnk_0811B258:: @ 0811B258 + .incbin "baserom.gba", 0x11B258, 0x000003C + +gUnk_0811B294:: @ 0811B294 + .incbin "baserom.gba", 0x11B294, 0x0000068 + +gUnk_0811B2FC:: @ 0811B2FC + .incbin "baserom.gba", 0x11B2FC, 0x0000050 + +gUnk_0811B34C:: @ 0811B34C + .incbin "baserom.gba", 0x11B34C, 0x0000048 + +gUnk_0811B394:: @ 0811B394 + .incbin "baserom.gba", 0x11B394, 0x0000010 + +gUnk_0811B3A4:: @ 0811B3A4 + .incbin "baserom.gba", 0x11B3A4, 0x0000010 + +gUnk_0811B3B4:: @ 0811B3B4 + .incbin "baserom.gba", 0x11B3B4, 0x0000014 + +gUnk_0811B3C8:: @ 0811B3C8 + .incbin "baserom.gba", 0x11B3C8, 0x0000040 + +gUnk_0811B408:: @ 0811B408 + .incbin "baserom.gba", 0x11B408, 0x0000138 + +gUnk_0811B540:: @ 0811B540 + .incbin "baserom.gba", 0x11B540, 0x0000024 + +gUnk_0811B564:: @ 0811B564 + .incbin "baserom.gba", 0x11B564, 0x0000014 + +gUnk_0811B578:: @ 0811B578 + .incbin "baserom.gba", 0x11B578, 0x00003C8 + +gUnk_0811B940:: @ 0811B940 + .incbin "baserom.gba", 0x11B940, 0x000004C + +gUnk_0811B98C:: @ 0811B98C + .incbin "baserom.gba", 0x11B98C, 0x0000014 + +gUnk_0811B9A0:: @ 0811B9A0 + .incbin "baserom.gba", 0x11B9A0, 0x0000008 + +gUnk_0811B9A8:: @ 0811B9A8 + .incbin "baserom.gba", 0x11B9A8, 0x0000020 + +gUnk_0811B9C8:: @ 0811B9C8 + .incbin "baserom.gba", 0x11B9C8, 0x0000008 + +gUnk_0811B9D0:: @ 0811B9D0 + .incbin "baserom.gba", 0x11B9D0, 0x0000008 + +gUnk_0811B9D8:: @ 0811B9D8 + .incbin "baserom.gba", 0x11B9D8, 0x0000008 + +gUnk_0811B9E0:: @ 0811B9E0 + .incbin "baserom.gba", 0x11B9E0, 0x0000080 + +gUnk_0811BA60:: @ 0811BA60 + .incbin "baserom.gba", 0x11BA60, 0x0000008 + +gUnk_0811BA68:: @ 0811BA68 + .incbin "baserom.gba", 0x11BA68, 0x000000C + +gUnk_0811BA74:: @ 0811BA74 + .incbin "baserom.gba", 0x11BA74, 0x0000008 + +gUnk_0811BA7C:: @ 0811BA7C + .incbin "baserom.gba", 0x11BA7C, 0x000000C + +gUnk_0811BA88:: @ 0811BA88 + .incbin "baserom.gba", 0x11BA88, 0x000000C + +gUnk_0811BA94:: @ 0811BA94 + .incbin "baserom.gba", 0x11BA94, 0x0000008 + +gUnk_0811BA9C:: @ 0811BA9C + .incbin "baserom.gba", 0x11BA9C, 0x0000020 + +gUnk_0811BABC:: @ 0811BABC + .incbin "baserom.gba", 0x11BABC, 0x0000008 + +gUnk_0811BAC4:: @ 0811BAC4 + .incbin "baserom.gba", 0x11BAC4, 0x0000010 + +gUnk_0811BAD4:: @ 0811BAD4 + .incbin "baserom.gba", 0x11BAD4, 0x0000010 + +gUnk_0811BAE4:: @ 0811BAE4 + .incbin "baserom.gba", 0x11BAE4, 0x000000C + +gUnk_0811BAF0:: @ 0811BAF0 + .incbin "baserom.gba", 0x11BAF0, 0x000003C + +gUnk_0811BB2C:: @ 0811BB2C + .incbin "baserom.gba", 0x11BB2C, 0x000000C + +gUnk_0811BB38:: @ 0811BB38 + .incbin "baserom.gba", 0x11BB38, 0x0000004 + +gUnk_0811BB3C:: @ 0811BB3C + .incbin "baserom.gba", 0x11BB3C, 0x000000C + +gUnk_0811BB48:: @ 0811BB48 + .incbin "baserom.gba", 0x11BB48, 0x0000008 + +gUnk_0811BB50:: @ 0811BB50 + .incbin "baserom.gba", 0x11BB50, 0x0000008 + +gUnk_0811BB58:: @ 0811BB58 + .incbin "baserom.gba", 0x11BB58, 0x0000008 + +gUnk_0811BB60:: @ 0811BB60 + .incbin "baserom.gba", 0x11BB60, 0x0000008 + +gUnk_0811BB68:: @ 0811BB68 + .incbin "baserom.gba", 0x11BB68, 0x0000008 + +gUnk_0811BB70:: @ 0811BB70 + .incbin "baserom.gba", 0x11BB70, 0x0000010 + +gUnk_0811BB80:: @ 0811BB80 + .incbin "baserom.gba", 0x11BB80, 0x0000008 + +gUnk_0811BB88:: @ 0811BB88 + .incbin "baserom.gba", 0x11BB88, 0x0000008 + +gUnk_0811BB90:: @ 0811BB90 + .incbin "baserom.gba", 0x11BB90, 0x0000008 + +gUnk_0811BB98:: @ 0811BB98 + .incbin "baserom.gba", 0x11BB98, 0x0000014 + +gUnk_0811BBAC:: @ 0811BBAC + .incbin "baserom.gba", 0x11BBAC, 0x0000010 + +gUnk_0811BBBC:: @ 0811BBBC + .incbin "baserom.gba", 0x11BBBC, 0x0000006 + +gUnk_0811BBC2:: @ 0811BBC2 + .incbin "baserom.gba", 0x11BBC2, 0x0000006 + +gUnk_0811BBC8:: @ 0811BBC8 + .incbin "baserom.gba", 0x11BBC8, 0x0000006 + +gUnk_0811BBCE:: @ 0811BBCE + .incbin "baserom.gba", 0x11BBCE, 0x0000006 + +gUnk_0811BBD4:: @ 0811BBD4 + .incbin "baserom.gba", 0x11BBD4, 0x0000010 + +gUnk_0811BBE4:: @ 0811BBE4 + .incbin "baserom.gba", 0x11BBE4, 0x0000008 + +gUnk_0811BBEC:: @ 0811BBEC + .incbin "baserom.gba", 0x11BBEC, 0x000000C + +gUnk_0811BBF8:: @ 0811BBF8 + .incbin "baserom.gba", 0x11BBF8, 0x0000010 + +gUnk_0811BC08:: @ 0811BC08 + .incbin "baserom.gba", 0x11BC08, 0x0000020 + +gUnk_0811BC28:: @ 0811BC28 + .incbin "baserom.gba", 0x11BC28, 0x0000008 + +gUnk_0811BC30:: @ 0811BC30 + .incbin "baserom.gba", 0x11BC30, 0x0000008 + +gUnk_0811BC38:: @ 0811BC38 + .incbin "baserom.gba", 0x11BC38, 0x0000008 + +gUnk_0811BC40:: @ 0811BC40 + .incbin "baserom.gba", 0x11BC40, 0x0000008 + +gUnk_0811BC48:: @ 0811BC48 + .incbin "baserom.gba", 0x11BC48, 0x0000018 + +gUnk_0811BC60:: @ 0811BC60 + .incbin "baserom.gba", 0x11BC60, 0x0000020 + +gUnk_0811BC80:: @ 0811BC80 + .incbin "baserom.gba", 0x11BC80, 0x0000008 + +gUnk_0811BC88:: @ 0811BC88 + .incbin "baserom.gba", 0x11BC88, 0x0000010 + +gUnk_0811BC98:: @ 0811BC98 + .incbin "baserom.gba", 0x11BC98, 0x000001C + +gUnk_0811BCB4:: @ 0811BCB4 + .incbin "baserom.gba", 0x11BCB4, 0x0000010 diff --git a/include/functions.h b/include/functions.h index 37bbebeb..6481124f 100644 --- a/include/functions.h +++ b/include/functions.h @@ -288,4 +288,6 @@ extern void sub_080A1D70(Entity*, u32); extern void sub_0806F62C(Entity*, u32, u32); extern u32 sub_08079F8C(void); extern void sub_080A1ED0(u32, u32, u32); +extern void DeleteManager(Manager*); +extern bool32 CheckPlayerInRegion(u32 centerX, u32 centerY, u32 radiusX, u32 radiusY); #endif diff --git a/linker.ld b/linker.ld index c4f356a6..7d68280c 100644 --- a/linker.ld +++ b/linker.ld @@ -500,7 +500,7 @@ SECTIONS { asm/manager1B.o(.text); asm/manager1C.o(.text); asm/manager1D.o(.text); - asm/manager1E.o(.text); + src/manager/manager1E.o(.text); asm/manager1F.o(.text); src/manager/manager20.o(.text); asm/manager21.o(.text); @@ -1004,6 +1004,8 @@ SECTIONS { src/manager/managerB.o(.rodata); src/manager/managerC.o(.rodata); data/data_08108308.o(.rodata); + src/manager/manager1E.o(.rodata); + data/data_08108C94.o(.rodata); src/item.o(.rodata); data/data_0811BD44.o(.rodata); data/room_headers.o(.rodata); diff --git a/src/manager/manager1E.c b/src/manager/manager1E.c new file mode 100644 index 00000000..cf45af71 --- /dev/null +++ b/src/manager/manager1E.c @@ -0,0 +1,61 @@ +#include "global.h" +#include "manager.h" +#include "flags.h" +#include "player.h" +#include "functions.h" + +typedef struct { + Manager manager; + u8 unk_20[0x14];//unused + u16 radiusX; + u16 radiusY; + s16 posX; + s16 posY; + u8 unk_3c[2];//unused + u16 playerInRegionFlag; +} Manager1E; + +enum Manager1E_State { + Init, + ObserveRegion +}; + +void Manager1E_Handler(Manager1E*); +void Manager1E_Init(Manager1E*); +void Manager1E_ObserveRegion(Manager1E*); + +void (* const Manager1E_ActionFuncs[2])(Manager1E*) = { + Manager1E_Init, + Manager1E_ObserveRegion +}; + +void Manager1E_Handler(Manager1E* this) { + Manager1E_ActionFuncs[this->manager.action](this); +} + +void Manager1E_Init(Manager1E* this) { + this->manager.action = ObserveRegion; + this->radiusX >>= 1; + this->posX += this->radiusX; + this->radiusY >>= 1; + this->posY += this->radiusY; + if (!this->manager.unk_0a) { + if (CheckFlags(this->playerInRegionFlag)) { + DeleteManager(&this->manager); + return; + } + } + Manager1E_ObserveRegion(this); +} + +void Manager1E_ObserveRegion(Manager1E* this) { + if (CheckPlayerInRegion(this->posX, this->posY, this->radiusX, this->radiusY)) { + SetFlag(this->playerInRegionFlag); + if (!this->manager.unk_0a) { + DeleteManager(&this->manager); + return; + } + } else { + ClearFlag(this->playerInRegionFlag); + } +} From 15ccb18527d35a6cf7d395eb753875e559c8fb95 Mon Sep 17 00:00:00 2001 From: Ibot02 Date: Sat, 12 Dec 2020 12:57:41 +0100 Subject: [PATCH 024/101] manager39.c: ok --- asm/manager39.s | 292 ---------------------------------------- asm/sub_0805E248.s | 131 ++++++++++++++++++ linker.ld | 1 + src/manager/manager39.c | 92 +++++++++++++ 4 files changed, 224 insertions(+), 292 deletions(-) delete mode 100644 asm/manager39.s create mode 100644 asm/sub_0805E248.s create mode 100644 src/manager/manager39.c diff --git a/asm/manager39.s b/asm/manager39.s deleted file mode 100644 index 831982ff..00000000 --- a/asm/manager39.s +++ /dev/null @@ -1,292 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_0805E0FC -sub_0805E0FC: @ 0x0805E0FC - push {r4, lr} - adds r4, r0, #0 - ldr r1, _0805E134 @ =gUnk_08108E28 - ldrb r0, [r4, #0xc] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - ldr r0, _0805E138 @ =gRoomControls - adds r1, r4, #0 - adds r1, #0x20 - ldrb r0, [r0, #5] - ldrb r1, [r1] - cmp r0, r1 - bne _0805E12A - ldr r0, _0805E13C @ =gTextBox - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - beq _0805E130 -_0805E12A: - adds r0, r4, #0 - bl sub_0805E1D8 -_0805E130: - pop {r4, pc} - .align 2, 0 -_0805E134: .4byte gUnk_08108E28 -_0805E138: .4byte gRoomControls -_0805E13C: .4byte gTextBox - - thumb_func_start sub_0805E140 -sub_0805E140: @ 0x0805E140 - push {r4, lr} - ldrb r2, [r0, #0x10] - movs r1, #0x20 - orrs r1, r2 - strb r1, [r0, #0x10] - movs r1, #1 - strb r1, [r0, #0xc] - ldr r1, _0805E180 @ =gRoomControls - ldrb r2, [r1, #5] - adds r1, r0, #0 - adds r1, #0x20 - strb r2, [r1] - movs r1, #0x78 - strb r1, [r0, #0xe] - movs r1, #0x3c - strb r1, [r0, #0xf] - movs r1, #7 - bl sub_0805E3A0 - ldr r1, _0805E184 @ =gUnk_08108DE8 - ldr r0, _0805E188 @ =gArea - ldrb r0, [r0, #1] - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r4, [r0] - bl CheckIsDungeon - adds r1, r0, #0 - adds r0, r4, #0 - bl sub_0805E1F8 - pop {r4, pc} - .align 2, 0 -_0805E180: .4byte gRoomControls -_0805E184: .4byte gUnk_08108DE8 -_0805E188: .4byte gArea - - thumb_func_start sub_0805E18C -sub_0805E18C: @ 0x0805E18C - push {r4, lr} - adds r4, r0, #0 - ldr r0, _0805E1D0 @ =gFadeControl - ldrb r0, [r0] - cmp r0, #0 - bne _0805E1CC - ldrb r0, [r4, #0xb] - cmp r0, #0 - beq _0805E1BA - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0 - bne _0805E1BA - strb r0, [r4, #0xb] - ldr r0, _0805E1D4 @ =gPlayerState - adds r0, #0x8b - movs r1, #1 - strb r1, [r0] - bl sub_0805E5B4 -_0805E1BA: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0805E1CC - adds r0, r4, #0 - bl sub_0805E1D8 -_0805E1CC: - pop {r4, pc} - .align 2, 0 -_0805E1D0: .4byte gFadeControl -_0805E1D4: .4byte gPlayerState - - thumb_func_start sub_0805E1D8 -sub_0805E1D8: @ 0x0805E1D8 - push {lr} - ldr r0, _0805E1F0 @ =gUnk_02034DF0 - movs r1, #0x80 - bl _DmaZero - ldr r1, _0805E1F4 @ =gScreen - movs r0, #1 - strh r0, [r1, #0xe] - bl DeleteThisEntity - pop {pc} - .align 2, 0 -_0805E1F0: .4byte gUnk_02034DF0 -_0805E1F4: .4byte gScreen - - thumb_func_start sub_0805E1F8 -sub_0805E1F8: @ 0x0805E1F8 - push {r4, r5, lr} - sub sp, #0xc - adds r4, r0, #0 - adds r5, r1, #0 - ldr r0, _0805E234 @ =gUnk_02034DF0 - movs r1, #0x80 - bl _DmaZero - ldr r0, _0805E238 @ =gUnk_08108E60 - mov r1, sp - movs r2, #9 - bl _DmaCopy - mov r1, sp - lsrs r0, r4, #8 - strb r0, [r1, #4] - mov r0, sp - strb r4, [r0, #5] - ldr r1, _0805E23C @ =gUnk_08108E48 - cmp r5, #0 - bne _0805E224 - ldr r1, _0805E240 @ =gUnk_08108E30 -_0805E224: - mov r0, sp - bl sub_0805F46C - ldr r1, _0805E244 @ =gScreen - movs r0, #1 - strh r0, [r1, #0xe] - add sp, #0xc - pop {r4, r5, pc} - .align 2, 0 -_0805E234: .4byte gUnk_02034DF0 -_0805E238: .4byte gUnk_08108E60 -_0805E23C: .4byte gUnk_08108E48 -_0805E240: .4byte gUnk_08108E30 -_0805E244: .4byte gScreen - - thumb_func_start sub_0805E248 -sub_0805E248: @ 0x0805E248 - push {r4, r5, lr} - ldr r0, _0805E2C8 @ =gUnk_03004030 - ldr r0, [r0] - ldrh r5, [r0, #6] - ldr r0, _0805E2CC @ =gRoomControls - ldrb r0, [r0, #4] - cmp r0, #0xa - beq _0805E25C - cmp r0, #0x16 - bne _0805E2E8 -_0805E25C: - movs r0, #0x9f - lsls r0, r0, #2 - adds r4, r5, #0 - subs r4, #0x41 - adds r1, r4, #0 - movs r2, #1 - bl SetTileType - ldr r0, _0805E2D0 @ =0x00000283 - adds r1, r4, #0 - movs r2, #2 - bl SetTileType - ldr r0, _0805E2D4 @ =0x0000027D - adds r4, #1 - adds r1, r4, #0 - movs r2, #1 - bl SetTileType - movs r0, #0xa1 - lsls r0, r0, #2 - adds r1, r4, #0 - movs r2, #2 - bl SetTileType - ldr r0, _0805E2D8 @ =0x0000027E - adds r4, #1 - adds r1, r4, #0 - movs r2, #1 - bl SetTileType - ldr r0, _0805E2DC @ =0x00000285 - adds r1, r4, #0 - movs r2, #2 - bl SetTileType - ldr r0, _0805E2E0 @ =0x0000027F - subs r1, r5, #1 - movs r2, #1 - bl SetTileType - movs r0, #0xa0 - lsls r0, r0, #2 - adds r1, r5, #0 - movs r2, #1 - bl SetTileType - ldr r0, _0805E2E4 @ =0x00000282 - adds r1, r5, #1 - movs r2, #1 - bl SetTileType - b _0805E350 - .align 2, 0 -_0805E2C8: .4byte gUnk_03004030 -_0805E2CC: .4byte gRoomControls -_0805E2D0: .4byte 0x00000283 -_0805E2D4: .4byte 0x0000027D -_0805E2D8: .4byte 0x0000027E -_0805E2DC: .4byte 0x00000285 -_0805E2E0: .4byte 0x0000027F -_0805E2E4: .4byte 0x00000282 -_0805E2E8: - movs r0, #0x9b - lsls r0, r0, #2 - adds r4, r5, #0 - subs r4, #0x41 - adds r1, r4, #0 - movs r2, #1 - bl SetTileType - ldr r0, _0805E358 @ =0x00000273 - adds r1, r4, #0 - movs r2, #2 - bl SetTileType - ldr r0, _0805E35C @ =0x0000026D - adds r4, #1 - adds r1, r4, #0 - movs r2, #1 - bl SetTileType - movs r0, #0x9d - lsls r0, r0, #2 - adds r1, r4, #0 - movs r2, #2 - bl SetTileType - ldr r0, _0805E360 @ =0x0000026E - adds r4, #1 - adds r1, r4, #0 - movs r2, #1 - bl SetTileType - ldr r0, _0805E364 @ =0x00000275 - adds r1, r4, #0 - movs r2, #2 - bl SetTileType - ldr r0, _0805E368 @ =0x0000026F - subs r1, r5, #1 - movs r2, #1 - bl SetTileType - movs r0, #0x9c - lsls r0, r0, #2 - adds r1, r5, #0 - movs r2, #1 - bl SetTileType - ldr r0, _0805E36C @ =0x00000272 - adds r1, r5, #1 - movs r2, #1 - bl SetTileType -_0805E350: - ldr r1, _0805E370 @ =gUnk_02000070 - movs r0, #0 - strb r0, [r1] - pop {r4, r5, pc} - .align 2, 0 -_0805E358: .4byte 0x00000273 -_0805E35C: .4byte 0x0000026D -_0805E360: .4byte 0x0000026E -_0805E364: .4byte 0x00000275 -_0805E368: .4byte 0x0000026F -_0805E36C: .4byte 0x00000272 -_0805E370: .4byte gUnk_02000070 diff --git a/asm/sub_0805E248.s b/asm/sub_0805E248.s new file mode 100644 index 00000000..8c771764 --- /dev/null +++ b/asm/sub_0805E248.s @@ -0,0 +1,131 @@ + .include "asm/macros.inc" + + .include "constants/constants.inc" + + .syntax unified + + .text + + thumb_func_start sub_0805E248 +sub_0805E248: @ 0x0805E248 + push {r4, r5, lr} + ldr r0, _0805E2C8 @ =gUnk_03004030 + ldr r0, [r0] + ldrh r5, [r0, #6] + ldr r0, _0805E2CC @ =gRoomControls + ldrb r0, [r0, #4] + cmp r0, #0xa + beq _0805E25C + cmp r0, #0x16 + bne _0805E2E8 +_0805E25C: + movs r0, #0x9f + lsls r0, r0, #2 + adds r4, r5, #0 + subs r4, #0x41 + adds r1, r4, #0 + movs r2, #1 + bl SetTileType + ldr r0, _0805E2D0 @ =0x00000283 + adds r1, r4, #0 + movs r2, #2 + bl SetTileType + ldr r0, _0805E2D4 @ =0x0000027D + adds r4, #1 + adds r1, r4, #0 + movs r2, #1 + bl SetTileType + movs r0, #0xa1 + lsls r0, r0, #2 + adds r1, r4, #0 + movs r2, #2 + bl SetTileType + ldr r0, _0805E2D8 @ =0x0000027E + adds r4, #1 + adds r1, r4, #0 + movs r2, #1 + bl SetTileType + ldr r0, _0805E2DC @ =0x00000285 + adds r1, r4, #0 + movs r2, #2 + bl SetTileType + ldr r0, _0805E2E0 @ =0x0000027F + subs r1, r5, #1 + movs r2, #1 + bl SetTileType + movs r0, #0xa0 + lsls r0, r0, #2 + adds r1, r5, #0 + movs r2, #1 + bl SetTileType + ldr r0, _0805E2E4 @ =0x00000282 + adds r1, r5, #1 + movs r2, #1 + bl SetTileType + b _0805E350 + .align 2, 0 +_0805E2C8: .4byte gUnk_03004030 +_0805E2CC: .4byte gRoomControls +_0805E2D0: .4byte 0x00000283 +_0805E2D4: .4byte 0x0000027D +_0805E2D8: .4byte 0x0000027E +_0805E2DC: .4byte 0x00000285 +_0805E2E0: .4byte 0x0000027F +_0805E2E4: .4byte 0x00000282 +_0805E2E8: + movs r0, #0x9b + lsls r0, r0, #2 + adds r4, r5, #0 + subs r4, #0x41 + adds r1, r4, #0 + movs r2, #1 + bl SetTileType + ldr r0, _0805E358 @ =0x00000273 + adds r1, r4, #0 + movs r2, #2 + bl SetTileType + ldr r0, _0805E35C @ =0x0000026D + adds r4, #1 + adds r1, r4, #0 + movs r2, #1 + bl SetTileType + movs r0, #0x9d + lsls r0, r0, #2 + adds r1, r4, #0 + movs r2, #2 + bl SetTileType + ldr r0, _0805E360 @ =0x0000026E + adds r4, #1 + adds r1, r4, #0 + movs r2, #1 + bl SetTileType + ldr r0, _0805E364 @ =0x00000275 + adds r1, r4, #0 + movs r2, #2 + bl SetTileType + ldr r0, _0805E368 @ =0x0000026F + subs r1, r5, #1 + movs r2, #1 + bl SetTileType + movs r0, #0x9c + lsls r0, r0, #2 + adds r1, r5, #0 + movs r2, #1 + bl SetTileType + ldr r0, _0805E36C @ =0x00000272 + adds r1, r5, #1 + movs r2, #1 + bl SetTileType +_0805E350: + ldr r1, _0805E370 @ =gUnk_02000070 + movs r0, #0 + strb r0, [r1] + pop {r4, r5, pc} + .align 2, 0 +_0805E358: .4byte 0x00000273 +_0805E35C: .4byte 0x0000026D +_0805E360: .4byte 0x0000026E +_0805E364: .4byte 0x00000275 +_0805E368: .4byte 0x0000026F +_0805E36C: .4byte 0x00000272 +_0805E370: .4byte gUnk_02000070 diff --git a/linker.ld b/linker.ld index 096fd008..f7f3e935 100644 --- a/linker.ld +++ b/linker.ld @@ -529,6 +529,7 @@ SECTIONS { asm/manager37.o(.text); asm/manager38.o(.text); asm/manager39.o(.text); + asm/sub_0805E248.o(.text); src/sub_0805E374.o(.text); src/sub_0805E3A0.o(.text); asm/code_0805E3B0.o(.text); diff --git a/src/manager/manager39.c b/src/manager/manager39.c new file mode 100644 index 00000000..9228b682 --- /dev/null +++ b/src/manager/manager39.c @@ -0,0 +1,92 @@ +#include "global.h" +#include "manager.h" +#include "screen.h" +#include "area.h" +#include "textbox.h" +#include "functions.h" + +typedef struct { + Manager manager; + u8 unk_20;//unused + u8 unk_21[0x13];//unused + u16 unk_34;//unused + u16 unk_36;//unused + s16 unk_38;//unused + s16 unk_3A;//unused + u16 unk_3C;//unused + u16 unk_3E;//unused +} Manager39; + +extern u8 gUnk_02034DF0[0x2F2]; + +extern const u16 gUnk_08108DE8[]; +extern void (* const gUnk_08108E28[])(Manager39*); +extern const u8 gUnk_08108E30[0x18]; +extern const u8 gUnk_08108E48[0x18]; +extern const u8 gUnk_08108E60[]; + +extern void _DmaCopy(const void* src, void* dest, u32 size); +extern void sub_0805F46C(void*, const void*); +extern u32 CheckIsDungeon(void); +extern void sub_0805E5B4(void); + +void sub_0805E140(Manager39*); +void sub_0805E18C(Manager39*); //unused? +void sub_0805E1D8(Manager39*); +void sub_0805E1F8(u32, u32); + +void sub_0805E0FC(Manager39* this) { + gUnk_08108E28[this->manager.action](this); + if ((gRoomControls.roomID != this->unk_20) + || (gTextBox.doTextBox & 0x7F)) { + sub_0805E1D8(this); + } +} + +void sub_0805E140(Manager39* this) { + this->manager.unk_10 |= 0x20; + this->manager.action = 1; + this->unk_20 = gRoomControls.roomID; + this->manager.unk_0e = 0x78; + this->manager.unk_0f = 0x3c; + sub_0805E3A0((Entity*) this, 7); + sub_0805E1F8(gUnk_08108DE8[gArea.locationIndex], CheckIsDungeon()); +} + +void sub_0805E18C(Manager39* this) { + if (gFadeControl.active) return; + if (this->manager.unk_0b) { + if (!--this->manager.unk_0f) { + this->manager.unk_0b = 0; + gPlayerState.field_0x8b = 1; + sub_0805E5B4(); + } + } + if (!--this->manager.unk_0e) { + sub_0805E1D8(this); + } +} + +void sub_0805E1D8(Manager39* this) { + _DmaZero(&gUnk_02034DF0, 0x80); + gScreen.bg.bg3Control = 1; + DeleteThisEntity(); +} + +void sub_0805E1F8(u32 unk0, u32 unk1) { + struct { + u8 unk_00[4]; + u8 unk_04; + u8 unk_05; + u8 unk_06[3]; + } PACKED tmp; + const u8 * tmp2; + _DmaZero(&gUnk_02034DF0, 0x80); + _DmaCopy(gUnk_08108E60, &tmp, sizeof(tmp)); + tmp.unk_04 = unk0>>8; + tmp.unk_05 = unk0; + tmp2 = gUnk_08108E48; + if (!unk1) tmp2 = gUnk_08108E30; + sub_0805F46C(&tmp, tmp2); + gScreen.bg.bg3Control = 1; +} From 86cfc344317fd4998fc3c8685c945a128dfdfa39 Mon Sep 17 00:00:00 2001 From: theo3 Date: Tue, 15 Dec 2020 21:05:34 -0800 Subject: [PATCH 025/101] fix linker --- linker.ld | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/linker.ld b/linker.ld index 8525d06b..a76b3805 100644 --- a/linker.ld +++ b/linker.ld @@ -528,7 +528,7 @@ SECTIONS { asm/manager36.o(.text); asm/manager37.o(.text); asm/manager38.o(.text); - asm/manager39.o(.text); + src/manager/manager39.o(.text); asm/sub_0805E248.o(.text); src/sub_0805E374.o(.text); src/sub_0805E3A0.o(.text); From 8b7d88cac2945906379cd1f8d3ef0089804dd87f Mon Sep 17 00:00:00 2001 From: Luis Scheurenbrand Date: Sat, 26 Dec 2020 02:22:25 +0100 Subject: [PATCH 026/101] fix includes --- include/createEnemy.h | 2 ++ include/greatFairy.h | 2 ++ include/item.h | 64 +++++++++++++++++++++---------------------- include/textbox.h | 2 +- 4 files changed, 37 insertions(+), 33 deletions(-) diff --git a/include/createEnemy.h b/include/createEnemy.h index aac5fece..2763da03 100644 --- a/include/createEnemy.h +++ b/include/createEnemy.h @@ -1 +1,3 @@ +#include "entity.h" + Entity* CreateEnemy(u8, u8); diff --git a/include/greatFairy.h b/include/greatFairy.h index c8289adc..417f272d 100644 --- a/include/greatFairy.h +++ b/include/greatFairy.h @@ -1,6 +1,8 @@ #ifndef GREATFAIRY_H #define GREATFAIRY_H +#include "screen.h" + extern u32 __modsi3(u32, u32); extern void InitializeAnimation(Entity*, u32); extern void GreatFairy_InitializeAnimation(Entity*); diff --git a/include/item.h b/include/item.h index 8dcb3fcb..e0dc4bbb 100644 --- a/include/item.h +++ b/include/item.h @@ -5,38 +5,38 @@ #include "entity.h" #include "player.h" -void extern DebugItem(ItemBehavior*, u32); -void extern Sword(ItemBehavior*, u32); -void extern Sword(ItemBehavior*, u32); -void extern Sword(ItemBehavior*, u32); -void extern Sword(ItemBehavior*, u32); -void extern Sword(ItemBehavior*, u32); -void extern Sword(ItemBehavior*, u32); -void extern Bomb(ItemBehavior*, u32); -void extern Bomb(ItemBehavior*, u32); -void extern Bow(ItemBehavior*, u32); -void extern Bow(ItemBehavior*, u32); -void extern sub_08075D14(ItemBehavior*, u32); -void extern sub_08075D14(ItemBehavior*, u32); -void extern Shield(ItemBehavior*, u32); -void extern Shield(ItemBehavior*, u32); -void extern Lantern(ItemBehavior*, u32); -void extern Lantern(ItemBehavior*, u32); -void extern GustJar(ItemBehavior*, u32); -void extern PacciCane(ItemBehavior*, u32); -void extern MoleMitts(ItemBehavior*, u32); -void extern RocsCape(ItemBehavior*, u32); -void extern sub_08076800(ItemBehavior*, u32); -void extern DebugItem(ItemBehavior*, u32); -void Ocarina(ItemBehavior*, u32); -void extern DebugItem(ItemBehavior*, u32); -void extern DebugItem(ItemBehavior*, u32); -void extern DebugItem(ItemBehavior*, u32); -void extern TryPickupObject(ItemBehavior*, u32); -void extern JarEmpty(ItemBehavior*, u32); -void extern JarEmpty(ItemBehavior*, u32); -void extern JarEmpty(ItemBehavior*, u32); -void extern JarEmpty(ItemBehavior*, u32); +extern void DebugItem(ItemBehavior*, u32); +extern void Sword(ItemBehavior*, u32); +extern void Sword(ItemBehavior*, u32); +extern void Sword(ItemBehavior*, u32); +extern void Sword(ItemBehavior*, u32); +extern void Sword(ItemBehavior*, u32); +extern void Sword(ItemBehavior*, u32); +extern void Bomb(ItemBehavior*, u32); +extern void Bomb(ItemBehavior*, u32); +extern void Bow(ItemBehavior*, u32); +extern void Bow(ItemBehavior*, u32); +extern void sub_08075D14(ItemBehavior*, u32); +extern void sub_08075D14(ItemBehavior*, u32); +extern void Shield(ItemBehavior*, u32); +extern void Shield(ItemBehavior*, u32); +extern void Lantern(ItemBehavior*, u32); +extern void Lantern(ItemBehavior*, u32); +extern void GustJar(ItemBehavior*, u32); +extern void PacciCane(ItemBehavior*, u32); +extern void MoleMitts(ItemBehavior*, u32); +extern void RocsCape(ItemBehavior*, u32); +extern void sub_08076800(ItemBehavior*, u32); +extern void DebugItem(ItemBehavior*, u32); +extern void Ocarina(ItemBehavior*, u32); +extern void DebugItem(ItemBehavior*, u32); +extern void DebugItem(ItemBehavior*, u32); +extern void DebugItem(ItemBehavior*, u32); +extern void TryPickupObject(ItemBehavior*, u32); +extern void JarEmpty(ItemBehavior*, u32); +extern void JarEmpty(ItemBehavior*, u32); +extern void JarEmpty(ItemBehavior*, u32); +extern void JarEmpty(ItemBehavior*, u32); /* On hold until naming conflicts are resolved */ /* diff --git a/include/textbox.h b/include/textbox.h index 12417252..fcfe0de3 100644 --- a/include/textbox.h +++ b/include/textbox.h @@ -23,5 +23,5 @@ extern TextBox gTextBox; void TextboxNoOverlap(u32 index, Entity* ent); -void extern TextboxNoOverlapFollow(u32 index); +extern void TextboxNoOverlapFollow(u32 index); #endif From 1fedd92141050b165d7d79b00f1b61d681346d35 Mon Sep 17 00:00:00 2001 From: Luis Scheurenbrand Date: Sat, 26 Dec 2020 02:27:11 +0100 Subject: [PATCH 027/101] include guard for createEnemy --- include/createEnemy.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/include/createEnemy.h b/include/createEnemy.h index 2763da03..584632ca 100644 --- a/include/createEnemy.h +++ b/include/createEnemy.h @@ -1,3 +1,8 @@ +#ifndef GUARD_CREATEENEMY_H +#define GUARD_CREATEENEMY_H + #include "entity.h" Entity* CreateEnemy(u8, u8); + +#endif // GUARD_CREATEENEMY_H From 63038b4c6bf6de73e489b4395ae0a67a0f92a3b3 Mon Sep 17 00:00:00 2001 From: Ibot02 Date: Fri, 15 Jan 2021 17:57:02 +0100 Subject: [PATCH 028/101] code_0807DF74.c: ok ExecuteScriptCommandSet and functions in gUnk_0811E524. --- asm/code_0807CC3C.s | 5757 ------------------------------------------ asm/code_0807F0D8.s | 3251 ++++++++++++++++++++++++ data/data_0811E454.s | 954 ------- data/data_0811E750.s | 956 +++++++ include/functions.h | 4 +- include/player.h | 6 +- include/textbox.h | 1 + linker.ld | 4 + src/code_0807DF74.c | 1263 +++++++++ 9 files changed, 5480 insertions(+), 6716 deletions(-) create mode 100644 asm/code_0807F0D8.s create mode 100644 data/data_0811E750.s create mode 100644 src/code_0807DF74.c diff --git a/asm/code_0807CC3C.s b/asm/code_0807CC3C.s index c38f3a9e..fa09e5b8 100644 --- a/asm/code_0807CC3C.s +++ b/asm/code_0807CC3C.s @@ -2214,5760 +2214,3 @@ sub_0807DF50: @ 0x0807DF50 .align 2, 0 _0807DF6C: .4byte gUnk_02034490 _0807DF70: .4byte gUnk_0200AF00 - - thumb_func_start ExecuteScriptCommandSet -ExecuteScriptCommandSet: @ 0x0807DF74 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - mov r8, r0 - adds r5, r1, #0 - ldr r0, [r5] - cmp r0, #0 - beq _0807DFE8 - ldrh r0, [r5, #0x10] - adds r1, r0, #0 - cmp r1, #0 - beq _0807DF92 - subs r0, #1 - strh r0, [r5, #0x10] - b _0807DFE8 -_0807DF92: - ldr r6, _0807DFF0 @ =gUnk_02033280 - strb r1, [r6, #7] -_0807DF96: - ldr r0, [r5] - bl GetNextScriptCommandHalfword - adds r1, r0, #0 - ldr r0, _0807DFF4 @ =0x0000FFFF - cmp r1, r0 - beq _0807DFE8 - lsrs r0, r1, #0xa - strb r0, [r6, #6] - ldr r2, _0807DFF8 @ =0x000003FF - adds r0, r2, #0 - ands r1, r0 - movs r7, #0 - strh r1, [r6, #4] - ldr r4, [r5] - ldrb r1, [r6, #7] - movs r0, #0xfe - ands r0, r1 - strb r0, [r6, #7] - ldr r1, _0807DFFC @ =gUnk_0811E524 - ldrh r0, [r6, #4] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r2, [r0] - mov r0, r8 - adds r1, r5, #0 - bl _call_via_r2 - ldrb r1, [r6, #6] - lsls r1, r1, #1 - ldr r0, [r5] - adds r0, r0, r1 - str r0, [r5] - cmp r4, r0 - beq _0807DFDE - strb r7, [r5, #0x18] -_0807DFDE: - ldrb r1, [r6, #7] - movs r0, #3 - ands r0, r1 - cmp r0, #0 - bne _0807DF96 -_0807DFE8: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0807DFF0: .4byte gUnk_02033280 -_0807DFF4: .4byte 0x0000FFFF -_0807DFF8: .4byte 0x000003FF -_0807DFFC: .4byte gUnk_0811E524 - - thumb_func_start nullsub_507 -nullsub_507: @ 0x0807E000 - bx lr - .align 2, 0 - - thumb_func_start sub_0807E004 -sub_0807E004: @ 0x0807E004 - ldr r2, _0807E010 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #2 - orrs r0, r1 - strb r0, [r2, #7] - bx lr - .align 2, 0 -_0807E010: .4byte gUnk_02033280 - - thumb_func_start sub_0807E014 -sub_0807E014: @ 0x0807E014 - ldr r2, _0807E020 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #0xfd - ands r0, r1 - strb r0, [r2, #7] - bx lr - .align 2, 0 -_0807E020: .4byte gUnk_02033280 - - thumb_func_start sub_0807E024 -sub_0807E024: @ 0x0807E024 - push {r4, lr} - adds r4, r1, #0 - ldr r0, [r4] - adds r0, #2 - str r0, [r4] - bl GetNextScriptCommandHalfword - lsls r0, r0, #0x10 - asrs r1, r0, #0x10 - lsrs r0, r0, #0x1f - adds r1, r1, r0 - asrs r1, r1, #1 - lsls r1, r1, #1 - ldr r0, [r4] - adds r0, r0, r1 - str r0, [r4] - ldr r1, _0807E04C @ =gUnk_02033280 - movs r0, #0 - strb r0, [r1, #6] - pop {r4, pc} - .align 2, 0 -_0807E04C: .4byte gUnk_02033280 - - thumb_func_start sub_0807E050 -sub_0807E050: @ 0x0807E050 - push {lr} - adds r2, r0, #0 - ldr r0, [r1, #0x14] - cmp r0, #0 - beq _0807E060 - adds r0, r2, #0 - bl sub_0807E024 -_0807E060: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807E064 -sub_0807E064: @ 0x0807E064 - push {lr} - adds r2, r0, #0 - ldr r0, [r1, #0x14] - cmp r0, #0 - bne _0807E074 - adds r0, r2, #0 - bl sub_0807E024 -_0807E074: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807E078 -sub_0807E078: @ 0x0807E078 - push {lr} - adds r3, r0, #0 - adds r2, r1, #0 - ldr r0, _0807E09C @ =gUnk_02033280 - ldrb r0, [r0, #6] - ldr r1, [r2, #4] - cmp r0, r1 - bls _0807E098 - lsls r1, r1, #1 - ldr r0, [r2] - adds r0, r0, r1 - str r0, [r2] - adds r0, r3, #0 - adds r1, r2, #0 - bl sub_0807E024 -_0807E098: - pop {pc} - .align 2, 0 -_0807E09C: .4byte gUnk_02033280 - - thumb_func_start sub_0807E0A0 -sub_0807E0A0: @ 0x0807E0A0 - push {r4, lr} - adds r4, r1, #0 - ldr r0, [r4] - bl GetNextScriptCommandWordAfterCommandMetadata - str r0, [r4] - ldr r1, _0807E0B4 @ =gUnk_02033280 - movs r0, #0 - strb r0, [r1, #6] - pop {r4, pc} - .align 2, 0 -_0807E0B4: .4byte gUnk_02033280 - - thumb_func_start sub_0807E0B8 -sub_0807E0B8: @ 0x0807E0B8 - push {lr} - adds r2, r0, #0 - ldr r0, [r1, #0x14] - cmp r0, #0 - beq _0807E0C8 - adds r0, r2, #0 - bl sub_0807E0A0 -_0807E0C8: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807E0CC -sub_0807E0CC: @ 0x0807E0CC - push {lr} - adds r2, r0, #0 - ldr r0, [r1, #0x14] - cmp r0, #0 - bne _0807E0DC - adds r0, r2, #0 - bl sub_0807E0A0 -_0807E0DC: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807E0E0 -sub_0807E0E0: @ 0x0807E0E0 - push {r4, lr} - adds r4, r0, #0 - adds r2, r1, #0 - ldr r0, _0807E108 @ =gUnk_02033280 - ldrb r1, [r0, #6] - ldr r3, [r2, #4] - lsls r0, r3, #1 - adds r0, #1 - cmp r1, r0 - bls _0807E104 - lsls r1, r3, #2 - ldr r0, [r2] - adds r0, r0, r1 - str r0, [r2] - adds r0, r4, #0 - adds r1, r2, #0 - bl sub_0807E0A0 -_0807E104: - pop {r4, pc} - .align 2, 0 -_0807E108: .4byte gUnk_02033280 - - thumb_func_start sub_0807E10C -sub_0807E10C: @ 0x0807E10C - push {r4, r5, lr} - adds r5, r0, #0 - adds r4, r1, #0 - ldr r0, [r4] - bl GetNextScriptCommandWordAfterCommandMetadata - adds r2, r0, #0 - adds r0, r5, #0 - adds r1, r4, #0 - bl _call_via_r2 - pop {r4, r5, pc} - - thumb_func_start sub_0807E124 -sub_0807E124: @ 0x0807E124 - push {r4, r5, r6, lr} - adds r6, r0, #0 - adds r4, r1, #0 - ldr r0, [r4] - bl GetNextScriptCommandWordAfterCommandMetadata - adds r5, r0, #0 - ldr r0, [r4] - adds r0, #6 - bl GetNextScriptCommandWord - str r0, [r4, #4] - adds r0, r6, #0 - adds r1, r4, #0 - bl _call_via_r5 - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_0807E148 -sub_0807E148: @ 0x0807E148 - push {lr} - ldr r0, [r1] - bl GetNextScriptCommandWordAfterCommandMetadata - bl LoadRoomEntityList - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807E158 -sub_0807E158: @ 0x0807E158 - push {r4, r5, lr} - adds r4, r1, #0 - ldr r0, [r4] - bl GetNextScriptCommandWordAfterCommandMetadata - adds r2, r0, #0 - movs r5, #0 - ldr r3, _0807E184 @ =gUnk_02033280 - ldr r1, [r3] - adds r0, r1, #0 - ands r0, r2 - cmp r0, r2 - bne _0807E174 - movs r5, #1 -_0807E174: - str r5, [r4, #0x14] - bics r1, r2 - str r1, [r3] - ldrb r1, [r3, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r3, #7] - pop {r4, r5, pc} - .align 2, 0 -_0807E184: .4byte gUnk_02033280 - - thumb_func_start sub_0807E188 -sub_0807E188: @ 0x0807E188 - push {r4, lr} - adds r4, r1, #0 - ldr r0, [r4] - bl GetNextScriptCommandHalfwordAfterCommandMetadata - cmp r0, #0x51 - beq _0807E1B4 - cmp r0, #0x51 - bhi _0807E1A0 - cmp r0, #0x50 - beq _0807E1BA - b _0807E1C0 -_0807E1A0: - cmp r0, #0x52 - beq _0807E1AE - cmp r0, #0x53 - bne _0807E1C0 - bl sub_08052734 - b _0807E1C4 -_0807E1AE: - bl sub_08052764 - b _0807E1C4 -_0807E1B4: - bl sub_0805279C - b _0807E1C4 -_0807E1BA: - bl sub_080527CC - b _0807E1C4 -_0807E1C0: - bl GetInventoryValue -_0807E1C4: - str r0, [r4, #0x14] - ldr r2, _0807E1D4 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {r4, pc} - .align 2, 0 -_0807E1D4: .4byte gUnk_02033280 - - thumb_func_start sub_0807E1D8 -sub_0807E1D8: @ 0x0807E1D8 - push {r4, lr} - adds r4, r1, #0 - ldr r0, [r4] - ldrh r0, [r0, #2] - bl GetInventoryValue - movs r1, #0 - cmp r0, #2 - bne _0807E1EC - movs r1, #1 -_0807E1EC: - str r1, [r4, #0x14] - ldr r2, _0807E1FC @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {r4, pc} - .align 2, 0 -_0807E1FC: .4byte gUnk_02033280 - - thumb_func_start sub_0807E200 -sub_0807E200: @ 0x0807E200 - push {r4, lr} - adds r4, r1, #0 - ldr r0, [r4] - ldrh r0, [r0, #2] - bl CheckLocalFlag - str r0, [r4, #0x14] - ldr r2, _0807E21C @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {r4, pc} - .align 2, 0 -_0807E21C: .4byte gUnk_02033280 - - thumb_func_start sub_0807E220 -sub_0807E220: @ 0x0807E220 - push {r4, lr} - adds r4, r1, #0 - ldr r1, [r4] - ldrh r0, [r1, #2] - ldrh r1, [r1, #4] - bl CheckLocalFlagByOffset - str r0, [r4, #0x14] - ldr r2, _0807E23C @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {r4, pc} - .align 2, 0 -_0807E23C: .4byte gUnk_02033280 - - thumb_func_start sub_0807E240 -sub_0807E240: @ 0x0807E240 - push {r4, lr} - adds r4, r1, #0 - ldr r0, [r4] - bl GetNextScriptCommandHalfwordAfterCommandMetadata - bl CheckGlobalFlag - str r0, [r4, #0x14] - ldr r2, _0807E25C @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {r4, pc} - .align 2, 0 -_0807E25C: .4byte gUnk_02033280 - - thumb_func_start sub_0807E260 -sub_0807E260: @ 0x0807E260 - push {r4, lr} - adds r4, r1, #0 - ldr r0, [r4] - ldrh r0, [r0, #2] - bl CheckRoomFlag - str r0, [r4, #0x14] - ldr r2, _0807E27C @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {r4, pc} - .align 2, 0 -_0807E27C: .4byte gUnk_02033280 - - thumb_func_start sub_0807E280 -sub_0807E280: @ 0x0807E280 - push {r4, lr} - adds r4, r1, #0 - ldr r1, [r4] - ldrh r2, [r1, #6] - lsrs r3, r2, #8 - movs r0, #0xff - ands r2, r0 - ldrh r0, [r1, #2] - ldrh r1, [r1, #4] - bl CheckPlayerInRegion - str r0, [r4, #0x14] - ldr r2, _0807E2A4 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {r4, pc} - .align 2, 0 -_0807E2A4: .4byte gUnk_02033280 - - thumb_func_start sub_0807E2A8 -sub_0807E2A8: @ 0x0807E2A8 - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - adds r6, r1, #0 - ldr r0, [r6] - ldrh r3, [r0, #2] - ldrb r2, [r0, #2] - lsrs r3, r3, #8 - movs r1, #0x2e - ldrsh r0, [r5, r1] - ldr r4, _0807E2DC @ =gRoomControls - ldrh r1, [r4, #6] - subs r0, r0, r1 - movs r7, #0x32 - ldrsh r1, [r5, r7] - ldrh r4, [r4, #8] - subs r1, r1, r4 - bl CheckPlayerInRegion - str r0, [r6, #0x14] - ldr r2, _0807E2E0 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0807E2DC: .4byte gRoomControls -_0807E2E0: .4byte gUnk_02033280 - - thumb_func_start sub_0807E2E4 -sub_0807E2E4: @ 0x0807E2E4 - push {lr} - adds r2, r0, #0 - adds r2, #0x39 - movs r0, #0 - ldrsb r0, [r2, r0] - cmp r0, #0 - beq _0807E2F8 - movs r0, #0 - strb r0, [r2] - movs r0, #1 -_0807E2F8: - str r0, [r1, #0x14] - ldr r2, _0807E308 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {pc} - .align 2, 0 -_0807E308: .4byte gUnk_02033280 - - thumb_func_start sub_0807E30C -sub_0807E30C: @ 0x0807E30C - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r4, r1, #0 - ldrb r1, [r4, #0x1a] - movs r0, #0xf - ands r0, r1 - cmp r0, #0 - bne _0807E348 - ldr r0, _0807E374 @ =gPlayerState - ldr r0, [r0, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - bne _0807E348 - ldr r6, _0807E378 @ =gPlayerEntity - adds r0, r5, #0 - adds r1, r6, #0 - movs r2, #0x28 - movs r3, #0x28 - bl sub_080041A0 - cmp r0, #0 - beq _0807E348 - adds r0, r5, #0 - adds r1, r6, #0 - bl GetFacingDirection - bl sub_0806F5B0 - strb r0, [r5, #0x14] -_0807E348: - ldrb r0, [r4, #0x1a] - adds r0, #1 - strb r0, [r4, #0x1a] - adds r1, r5, #0 - adds r1, #0x39 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0 - beq _0807E37C - movs r0, #0 - strb r0, [r1] - movs r0, #1 - str r0, [r4, #0x14] - ldr r1, _0807E378 @ =gPlayerEntity - adds r0, r5, #0 - bl GetFacingDirection - bl sub_0806F5B0 - strb r0, [r5, #0x14] - b _0807E37E - .align 2, 0 -_0807E374: .4byte gPlayerState -_0807E378: .4byte gPlayerEntity -_0807E37C: - str r0, [r4, #0x14] -_0807E37E: - ldr r2, _0807E38C @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {r4, r5, r6, pc} - .align 2, 0 -_0807E38C: .4byte gUnk_02033280 - - thumb_func_start sub_0807E390 -sub_0807E390: @ 0x0807E390 - push {lr} - adds r2, r1, #0 - movs r3, #0 - ldr r0, [r2] - ldr r1, _0807E3B4 @ =gUnk_02002A40 - adds r1, #0xc0 - ldrh r0, [r0, #2] - ldrh r1, [r1] - cmp r0, r1 - bhi _0807E3A6 - movs r3, #1 -_0807E3A6: - str r3, [r2, #0x14] - ldr r2, _0807E3B8 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {pc} - .align 2, 0 -_0807E3B4: .4byte gUnk_02002A40 -_0807E3B8: .4byte gUnk_02033280 - - thumb_func_start sub_0807E3BC -sub_0807E3BC: @ 0x0807E3BC - push {lr} - adds r2, r1, #0 - movs r3, #0 - ldr r0, [r2] - ldr r1, _0807E3E0 @ =gUnk_02002A40 - adds r1, #0xc2 - ldrh r0, [r0, #2] - ldrh r1, [r1] - cmp r0, r1 - bhi _0807E3D2 - movs r3, #1 -_0807E3D2: - str r3, [r2, #0x14] - ldr r2, _0807E3E4 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {pc} - .align 2, 0 -_0807E3E0: .4byte gUnk_02002A40 -_0807E3E4: .4byte gUnk_02033280 - - thumb_func_start sub_0807E3E8 -sub_0807E3E8: @ 0x0807E3E8 - push {lr} - movs r2, #0 - ldr r0, _0807E404 @ =gUnk_02000040 - ldrb r0, [r0, #1] - cmp r0, #0 - bne _0807E3F6 - movs r2, #1 -_0807E3F6: - str r2, [r1, #0x14] - ldr r2, _0807E408 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {pc} - .align 2, 0 -_0807E404: .4byte gUnk_02000040 -_0807E408: .4byte gUnk_02033280 - - thumb_func_start sub_0807E40C -sub_0807E40C: @ 0x0807E40C - push {r4, lr} - adds r4, r1, #0 - ldr r0, [r4] - ldrh r0, [r0, #2] - bl CheckKinstoneFused - str r0, [r4, #0x14] - ldr r2, _0807E428 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {r4, pc} - .align 2, 0 -_0807E428: .4byte gUnk_02033280 - - thumb_func_start sub_0807E42C -sub_0807E42C: @ 0x0807E42C - push {r4, r5, r6, lr} - adds r5, r1, #0 - ldr r0, [r5] - ldrh r4, [r0, #2] - ldrh r6, [r0, #4] - cmp r4, #0 - bne _0807E440 - ldr r0, _0807E480 @ =gRoomVars - ldrb r4, [r0, #6] - ldrb r6, [r0, #7] -_0807E440: - adds r0, r4, #0 - bl sub_08053FE0 - adds r2, r0, #0 - movs r1, #0 - ldr r0, _0807E484 @ =gUnk_02002A40 - adds r0, #0xc0 - ldrh r0, [r0] - cmp r2, r0 - bgt _0807E456 - movs r1, #1 -_0807E456: - str r1, [r5, #0x14] - cmp r1, #0 - beq _0807E474 - rsbs r0, r2, #0 - bl ModRupees - adds r0, r4, #0 - adds r1, r6, #0 - movs r2, #0 - bl sub_080A7C18 - ldr r1, _0807E480 @ =gRoomVars - movs r0, #0 - strb r0, [r1, #6] - strb r0, [r1, #7] -_0807E474: - ldr r2, _0807E488 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {r4, r5, r6, pc} - .align 2, 0 -_0807E480: .4byte gRoomVars -_0807E484: .4byte gUnk_02002A40 -_0807E488: .4byte gUnk_02033280 - - thumb_func_start sub_0807E48C -sub_0807E48C: @ 0x0807E48C - push {r4, lr} - adds r4, r1, #0 - ldr r0, [r4] - ldrh r0, [r0, #2] - bl sub_080544DC - str r0, [r4, #0x14] - ldr r2, _0807E4A8 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {r4, pc} - .align 2, 0 -_0807E4A8: .4byte gUnk_02033280 - - thumb_func_start sub_0807E4AC -sub_0807E4AC: @ 0x0807E4AC - ldr r0, _0807E4C4 @ =gRoomVars - ldrb r2, [r0, #6] - rsbs r0, r2, #0 - orrs r0, r2 - lsrs r0, r0, #0x1f - str r0, [r1, #0x14] - ldr r2, _0807E4C8 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - bx lr - .align 2, 0 -_0807E4C4: .4byte gRoomVars -_0807E4C8: .4byte gUnk_02033280 - - thumb_func_start sub_0807E4CC -sub_0807E4CC: @ 0x0807E4CC - ldr r0, [r1] - ldrh r0, [r0, #2] - ldr r2, [r1, #4] - ands r2, r0 - rsbs r0, r2, #0 - orrs r0, r2 - lsrs r0, r0, #0x1f - str r0, [r1, #0x14] - ldr r2, _0807E4E8 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - bx lr - .align 2, 0 -_0807E4E8: .4byte gUnk_02033280 - - thumb_func_start sub_0807E4EC -sub_0807E4EC: @ 0x0807E4EC - push {lr} - adds r2, r1, #0 - ldr r0, [r2] - ldrh r1, [r0, #2] - movs r3, #0 - ldr r0, [r2, #4] - ands r0, r1 - cmp r1, r0 - bne _0807E500 - movs r3, #1 -_0807E500: - str r3, [r2, #0x14] - ldr r2, _0807E510 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {pc} - .align 2, 0 -_0807E510: .4byte gUnk_02033280 - - thumb_func_start sub_0807E514 -sub_0807E514: @ 0x0807E514 - push {lr} - adds r2, r1, #0 - ldr r0, [r2] - ldrh r1, [r0, #2] - movs r3, #0 - ldr r0, [r2, #4] - cmp r1, r0 - bne _0807E526 - movs r3, #1 -_0807E526: - str r3, [r2, #0x14] - ldr r2, _0807E534 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {pc} - .align 2, 0 -_0807E534: .4byte gUnk_02033280 - - thumb_func_start sub_0807E538 -sub_0807E538: @ 0x0807E538 - push {r4, lr} - adds r4, r1, #0 - ldr r0, [r4] - bl GetNextScriptCommandWordAfterCommandMetadata - ldr r1, _0807E55C @ =gPlayerState - ldr r1, [r1, #0x30] - ands r0, r1 - rsbs r1, r0, #0 - orrs r1, r0 - lsrs r1, r1, #0x1f - str r1, [r4, #0x14] - ldr r2, _0807E560 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {r4, pc} - .align 2, 0 -_0807E55C: .4byte gPlayerState -_0807E560: .4byte gUnk_02033280 - - thumb_func_start sub_0807E564 -sub_0807E564: @ 0x0807E564 - ldr r0, _0807E57C @ =gPlayerState - ldr r0, [r0, #0x30] - lsrs r0, r0, #7 - movs r2, #1 - ands r0, r2 - str r0, [r1, #0x14] - ldr r2, _0807E580 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - bx lr - .align 2, 0 -_0807E57C: .4byte gPlayerState -_0807E580: .4byte gUnk_02033280 - - thumb_func_start sub_0807E584 -sub_0807E584: @ 0x0807E584 - ldr r2, [r0, #0x34] - rsbs r0, r2, #0 - orrs r0, r2 - lsrs r0, r0, #0x1f - str r0, [r1, #0x14] - ldr r2, _0807E59C @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - bx lr - .align 2, 0 -_0807E59C: .4byte gUnk_02033280 - - thumb_func_start sub_0807E5A0 -sub_0807E5A0: @ 0x0807E5A0 - push {lr} - adds r2, r1, #0 - movs r3, #0 - ldr r0, [r2] - ldr r1, _0807E5C4 @ =gPlayerEntity - ldrh r0, [r0, #2] - ldrb r1, [r1, #0xc] - cmp r0, r1 - bne _0807E5B4 - movs r3, #1 -_0807E5B4: - str r3, [r2, #0x14] - ldr r2, _0807E5C8 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {pc} - .align 2, 0 -_0807E5C4: .4byte gPlayerEntity -_0807E5C8: .4byte gUnk_02033280 - - thumb_func_start sub_0807E5CC -sub_0807E5CC: @ 0x0807E5CC - push {lr} - adds r2, r1, #0 - movs r3, #0 - ldr r0, [r2] - ldr r1, _0807E5F0 @ =gPlayerEntity - ldrh r0, [r0, #2] - ldrb r1, [r1, #0x14] - cmp r0, r1 - bne _0807E5E0 - movs r3, #1 -_0807E5E0: - str r3, [r2, #0x14] - ldr r2, _0807E5F4 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {pc} - .align 2, 0 -_0807E5F0: .4byte gPlayerEntity -_0807E5F4: .4byte gUnk_02033280 - - thumb_func_start sub_0807E5F8 -sub_0807E5F8: @ 0x0807E5F8 - push {lr} - ldr r0, [r1] - bl GetNextScriptCommandWordAfterCommandMetadata - ldr r2, _0807E60C @ =gUnk_02033280 - ldr r1, [r2] - orrs r1, r0 - str r1, [r2] - pop {pc} - .align 2, 0 -_0807E60C: .4byte gUnk_02033280 - - thumb_func_start sub_0807E610 -sub_0807E610: @ 0x0807E610 - push {lr} - ldr r0, [r1] - bl GetNextScriptCommandWordAfterCommandMetadata - ldr r2, _0807E624 @ =gUnk_02033280 - ldr r1, [r2] - bics r1, r0 - str r1, [r2] - pop {pc} - .align 2, 0 -_0807E624: .4byte gUnk_02033280 - - thumb_func_start sub_0807E628 -sub_0807E628: @ 0x0807E628 - push {lr} - ldr r0, [r1] - ldrh r0, [r0, #2] - bl SetLocalFlag - pop {pc} - - thumb_func_start sub_0807E634 -sub_0807E634: @ 0x0807E634 - push {lr} - ldr r1, [r1] - ldrh r0, [r1, #2] - ldrh r1, [r1, #4] - bl SetLocalFlagByOffset - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807E644 -sub_0807E644: @ 0x0807E644 - push {lr} - ldr r0, [r1] - ldrh r0, [r0, #2] - bl ClearLocalFlag - pop {pc} - - thumb_func_start sub_0807E650 -sub_0807E650: @ 0x0807E650 - push {lr} - ldr r0, [r1] - ldrh r0, [r0, #2] - bl SetGlobalFlag - pop {pc} - - thumb_func_start sub_0807E65C -sub_0807E65C: @ 0x0807E65C - push {lr} - ldr r0, [r1] - ldrh r0, [r0, #2] - bl ClearGlobalFlag - pop {pc} - - thumb_func_start sub_0807E668 -sub_0807E668: @ 0x0807E668 - push {lr} - ldr r0, [r1] - ldrh r0, [r0, #2] - bl SetRoomFlag - pop {pc} - - thumb_func_start sub_0807E674 -sub_0807E674: @ 0x0807E674 - push {lr} - ldr r0, [r1] - ldrh r0, [r0, #2] - bl ClearRoomFlag - pop {pc} - - thumb_func_start sub_0807E680 -sub_0807E680: @ 0x0807E680 - push {r4, lr} - adds r4, r1, #0 - ldr r0, [r4] - bl GetNextScriptCommandHalfwordAfterCommandMetadata - strh r0, [r4, #0x10] - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0807E690 -sub_0807E690: @ 0x0807E690 - push {lr} - ldr r0, [r1] - bl GetNextScriptCommandWordAfterCommandMetadata - ldr r2, _0807E6A8 @ =gUnk_02033280 - ldr r1, [r2] - ands r1, r0 - cmp r1, r0 - beq _0807E6A6 - movs r0, #0 - strb r0, [r2, #6] -_0807E6A6: - pop {pc} - .align 2, 0 -_0807E6A8: .4byte gUnk_02033280 - - thumb_func_start sub_0807E6AC -sub_0807E6AC: @ 0x0807E6AC - push {lr} - ldr r0, [r1] - bl GetNextScriptCommandWordAfterCommandMetadata - ldr r3, _0807E6C8 @ =gUnk_02033280 - ldr r2, [r3] - adds r1, r2, #0 - ands r1, r0 - cmp r1, r0 - beq _0807E6CC - movs r0, #0 - strb r0, [r3, #6] - b _0807E6D8 - .align 2, 0 -_0807E6C8: .4byte gUnk_02033280 -_0807E6CC: - bics r2, r1 - str r2, [r3] - ldrb r1, [r3, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r3, #7] -_0807E6D8: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807E6DC -sub_0807E6DC: @ 0x0807E6DC - push {lr} - ldr r0, _0807E6F0 @ =gPlayerEntity - ldrb r0, [r0, #0xc] - cmp r0, #8 - bne _0807E6F8 - ldr r1, _0807E6F4 @ =gUnk_02033280 - movs r0, #0 - strb r0, [r1, #6] - b _0807E6FC - .align 2, 0 -_0807E6F0: .4byte gPlayerEntity -_0807E6F4: .4byte gUnk_02033280 -_0807E6F8: - movs r0, #0x2d - strh r0, [r1, #0x10] -_0807E6FC: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807E700 -sub_0807E700: @ 0x0807E700 - push {lr} - ldr r0, _0807E718 @ =gPlayerEntity - ldrb r0, [r0, #0xc] - cmp r0, #0x17 - beq _0807E720 - ldr r2, _0807E71C @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - b _0807E726 - .align 2, 0 -_0807E718: .4byte gPlayerEntity -_0807E71C: .4byte gUnk_02033280 -_0807E720: - ldr r1, _0807E728 @ =gUnk_02033280 - movs r0, #0 - strb r0, [r1, #6] -_0807E726: - pop {pc} - .align 2, 0 -_0807E728: .4byte gUnk_02033280 - - thumb_func_start sub_0807E72C -sub_0807E72C: @ 0x0807E72C - push {lr} - ldr r0, _0807E744 @ =gRoomControls - ldrb r1, [r0, #0xf] - movs r0, #4 - ands r0, r1 - cmp r0, #0 - beq _0807E74C - ldr r1, _0807E748 @ =gUnk_02033280 - movs r0, #0 - strb r0, [r1, #6] - b _0807E756 - .align 2, 0 -_0807E744: .4byte gRoomControls -_0807E748: .4byte gUnk_02033280 -_0807E74C: - ldr r2, _0807E758 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] -_0807E756: - pop {pc} - .align 2, 0 -_0807E758: .4byte gUnk_02033280 - - thumb_func_start sub_0807E75C -sub_0807E75C: @ 0x0807E75C - push {lr} - ldr r0, _0807E770 @ =gFadeControl - ldrb r0, [r0] - cmp r0, #0 - beq _0807E76C - ldr r1, _0807E774 @ =gUnk_02033280 - movs r0, #0 - strb r0, [r1, #6] -_0807E76C: - pop {pc} - .align 2, 0 -_0807E770: .4byte gFadeControl -_0807E774: .4byte gUnk_02033280 - - thumb_func_start sub_0807E778 -sub_0807E778: @ 0x0807E778 - ldr r2, _0807E784 @ =gUnk_02033280 - ldr r0, [r1] - ldrh r0, [r0, #2] - strb r0, [r2, #8] - bx lr - .align 2, 0 -_0807E784: .4byte gUnk_02033280 - - thumb_func_start sub_0807E788 -sub_0807E788: @ 0x0807E788 - push {lr} - ldr r0, [r1] - bl GetNextScriptCommandWordAfterCommandMetadata - ldr r1, _0807E798 @ =gFadeControl - str r0, [r1, #4] - pop {pc} - .align 2, 0 -_0807E798: .4byte gFadeControl - - thumb_func_start sub_0807E79C -sub_0807E79C: @ 0x0807E79C - push {lr} - ldr r0, _0807E7A8 @ =gUnk_02033280 - ldrb r0, [r0, #8] - bl sub_080500F4 - pop {pc} - .align 2, 0 -_0807E7A8: .4byte gUnk_02033280 - - thumb_func_start nullsub_508 -nullsub_508: @ 0x0807E7AC - bx lr - .align 2, 0 - - thumb_func_start sub_0807E7B0 -sub_0807E7B0: @ 0x0807E7B0 - push {lr} - ldr r0, _0807E7C0 @ =gUnk_02033280 - ldrb r1, [r0, #8] - movs r0, #4 - bl DoFade - pop {pc} - .align 2, 0 -_0807E7C0: .4byte gUnk_02033280 - - thumb_func_start sub_0807E7C4 -sub_0807E7C4: @ 0x0807E7C4 - push {lr} - ldr r0, _0807E7D4 @ =gUnk_02033280 - ldrb r1, [r0, #8] - movs r0, #5 - bl DoFade - pop {pc} - .align 2, 0 -_0807E7D4: .4byte gUnk_02033280 - - thumb_func_start sub_0807E7D8 -sub_0807E7D8: @ 0x0807E7D8 - push {lr} - ldr r0, _0807E7E8 @ =gUnk_02033280 - ldrb r1, [r0, #8] - movs r0, #6 - bl DoFade - pop {pc} - .align 2, 0 -_0807E7E8: .4byte gUnk_02033280 - - thumb_func_start sub_0807E7EC -sub_0807E7EC: @ 0x0807E7EC - push {lr} - ldr r0, _0807E7FC @ =gUnk_02033280 - ldrb r1, [r0, #8] - movs r0, #7 - bl DoFade - pop {pc} - .align 2, 0 -_0807E7FC: .4byte gUnk_02033280 - - thumb_func_start sub_0807E800 -sub_0807E800: @ 0x0807E800 - push {lr} - movs r0, #0x10 - bl sub_0807E818 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807E80C -sub_0807E80C: @ 0x0807E80C - push {lr} - movs r0, #0x11 - bl sub_0807E818 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807E818 -sub_0807E818: @ 0x0807E818 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r2, _0807E83C @ =gRoomControls - ldr r3, [r2, #0x30] - cmp r3, #0 - beq _0807E840 - movs r0, #0x2e - ldrsh r1, [r3, r0] - movs r4, #0xa - ldrsh r0, [r2, r4] - subs r4, r1, r0 - movs r0, #0x32 - ldrsh r1, [r3, r0] - movs r3, #0xc - ldrsh r0, [r2, r3] - subs r1, r1, r0 - b _0807E844 - .align 2, 0 -_0807E83C: .4byte gRoomControls -_0807E840: - movs r4, #0x78 - movs r1, #0x50 -_0807E844: - ldr r0, _0807E854 @ =gUnk_02033280 - ldrb r3, [r0, #8] - adds r0, r4, #0 - adds r2, r5, #0 - bl sub_08050110 - pop {r4, r5, pc} - .align 2, 0 -_0807E854: .4byte gUnk_02033280 - - thumb_func_start sub_0807E858 -sub_0807E858: @ 0x0807E858 - push {lr} - ldr r0, [r1] - ldrh r0, [r0, #2] - bl sub_08050038 - pop {pc} - - thumb_func_start sub_0807E864 -sub_0807E864: @ 0x0807E864 - push {lr} - ldr r0, _0807E874 @ =gPlayerState - adds r0, #0x8b - movs r1, #3 - strb r1, [r0] - bl sub_08078B48 - pop {pc} - .align 2, 0 -_0807E874: .4byte gPlayerState - - thumb_func_start sub_0807E878 -sub_0807E878: @ 0x0807E878 - ldr r0, _0807E884 @ =gPlayerState - adds r0, #0x8b - movs r1, #1 - strb r1, [r0] - bx lr - .align 2, 0 -_0807E884: .4byte gPlayerState - - thumb_func_start sub_0807E888 -sub_0807E888: @ 0x0807E888 - ldr r0, _0807E894 @ =gPlayerState - adds r0, #0x8b - movs r1, #3 - strb r1, [r0] - bx lr - .align 2, 0 -_0807E894: .4byte gPlayerState - - thumb_func_start sub_0807E898 -sub_0807E898: @ 0x0807E898 - push {lr} - ldr r0, [r1] - bl GetNextScriptCommandWordAfterCommandMetadata - ldr r3, _0807E8C0 @ =gPlayerState - strb r0, [r3, #0xc] - lsrs r2, r0, #8 - adds r1, r3, #0 - adds r1, #0x38 - strb r2, [r1] - lsrs r1, r0, #0x10 - adds r2, r3, #0 - adds r2, #0x39 - strb r1, [r2] - lsrs r0, r0, #0x18 - adds r1, r3, #0 - adds r1, #0x3a - strb r0, [r1] - pop {pc} - .align 2, 0 -_0807E8C0: .4byte gPlayerState - - thumb_func_start sub_0807E8C4 -sub_0807E8C4: @ 0x0807E8C4 - push {lr} - ldr r0, [r1] - bl GetNextScriptCommandWordAfterCommandMetadata - bl StartPlayerScript - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807E8D4 -sub_0807E8D4: @ 0x0807E8D4 - ldr r2, _0807E8E0 @ =gPlayerState - ldr r0, [r1] - ldrh r0, [r0, #2] - strh r0, [r2, #8] - bx lr - .align 2, 0 -_0807E8E0: .4byte gPlayerState - - thumb_func_start sub_0807E8E4 -sub_0807E8E4: @ 0x0807E8E4 - ldr r0, _0807E8FC @ =gUnk_08016984 - ldrh r0, [r0] - ldr r2, _0807E900 @ =0x000003FF - ands r2, r0 - ldr r3, _0807E904 @ =gPlayerEntity - ldr r0, [r1] - ldrh r0, [r0] - subs r0, r0, r2 - lsls r0, r0, #1 - strb r0, [r3, #0x14] - bx lr - .align 2, 0 -_0807E8FC: .4byte gUnk_08016984 -_0807E900: .4byte 0x000003FF -_0807E904: .4byte gPlayerEntity - - thumb_func_start sub_0807E908 -sub_0807E908: @ 0x0807E908 - ldr r1, [r1] - ldrh r1, [r1, #2] - movs r2, #0 - strb r1, [r0, #0xc] - strb r2, [r0, #0xd] - bx lr - - thumb_func_start sub_0807E914 -sub_0807E914: @ 0x0807E914 - push {r4, lr} - adds r4, r1, #0 - ldr r0, [r4] - bl GetNextScriptCommandWordAfterCommandMetadata - str r0, [r4, #4] - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0807E924 -sub_0807E924: @ 0x0807E924 - adds r0, #0x5a - ldrb r2, [r0] - str r2, [r1, #4] - movs r1, #0 - strb r1, [r0] - bx lr - - thumb_func_start sub_0807E930 -sub_0807E930: @ 0x0807E930 - push {lr} - ldr r3, [r1] - ldrh r2, [r3, #2] - adds r1, r0, #0 - adds r1, #0x80 - strh r2, [r1] - ldrh r1, [r3, #2] - bl InitAnimationForceUpdate - pop {pc} - - thumb_func_start sub_0807E944 -sub_0807E944: @ 0x0807E944 - push {lr} - adds r2, r0, #0 - adds r2, #0x39 - movs r1, #0 - ldrsb r1, [r2, r1] - cmp r1, #0 - beq _0807E968 - movs r0, #0 - strb r0, [r2] - ldr r2, _0807E964 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - b _0807E96C - .align 2, 0 -_0807E964: .4byte gUnk_02033280 -_0807E968: - ldr r0, _0807E970 @ =gUnk_02033280 - strb r1, [r0, #6] -_0807E96C: - pop {pc} - .align 2, 0 -_0807E970: .4byte gUnk_02033280 - - thumb_func_start sub_0807E974 -sub_0807E974: @ 0x0807E974 - push {lr} - adds r2, r1, #0 - ldrb r1, [r2, #0x18] - cmp r1, #0 - beq _0807E990 - cmp r1, #1 - beq _0807E9AE - ldrb r0, [r2, #0x19] - subs r0, #1 - strb r0, [r2, #0x19] - lsls r0, r0, #0x18 - cmp r0, #0 - beq _0807E9C8 - b _0807E9C2 -_0807E990: - adds r3, r0, #0 - adds r3, #0x39 - movs r0, #0 - ldrsb r0, [r3, r0] - cmp r0, #0 - beq _0807E9C2 - strb r1, [r3] - ldrb r0, [r2, #0x18] - adds r0, #1 - strb r0, [r2, #0x18] - ldr r0, [r2] - ldrh r0, [r0, #2] - bl TextboxNoOverlapFollow - b _0807E9C2 -_0807E9AE: - ldr r0, _0807E9CC @ =gTextBox - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - bne _0807E9C2 - movs r0, #2 - strb r0, [r2, #0x18] - movs r0, #0xf - strb r0, [r2, #0x19] -_0807E9C2: - ldr r1, _0807E9D0 @ =gUnk_02033280 - movs r0, #0 - strb r0, [r1, #6] -_0807E9C8: - pop {pc} - .align 2, 0 -_0807E9CC: .4byte gTextBox -_0807E9D0: .4byte gUnk_02033280 - - thumb_func_start sub_0807E9D4 -sub_0807E9D4: @ 0x0807E9D4 - push {lr} - bl sub_08078778 - pop {pc} - - thumb_func_start sub_0807E9DC -sub_0807E9DC: @ 0x0807E9DC - push {lr} - bl sub_080788E0 - pop {pc} - - thumb_func_start sub_0807E9E4 -sub_0807E9E4: @ 0x0807E9E4 - push {lr} - ldr r1, [r1] - ldrh r1, [r1, #2] - bl sub_08078784 - pop {pc} - - thumb_func_start sub_0807E9F0 -sub_0807E9F0: @ 0x0807E9F0 - push {r4, lr} - adds r4, r1, #0 - bl sub_0801E00C - movs r2, #1 - ldr r0, _0807EA18 @ =gUnk_02022740 - ldrb r0, [r0] - cmp r0, #1 - beq _0807EA24 - cmp r0, #2 - bne _0807EA40 - ldr r0, _0807EA1C @ =gPlayerState - adds r0, #0x8b - movs r1, #3 - strb r1, [r0] - ldr r0, _0807EA20 @ =gUnk_02034490 - strb r2, [r0] - str r2, [r4, #0x14] - b _0807EA28 - .align 2, 0 -_0807EA18: .4byte gUnk_02022740 -_0807EA1C: .4byte gPlayerState -_0807EA20: .4byte gUnk_02034490 -_0807EA24: - movs r0, #0 - str r0, [r4, #0x14] -_0807EA28: - cmp r2, #0 - beq _0807EA40 - bl sub_0807919C - ldr r0, _0807EA3C @ =gPlayerState - adds r0, #0x8b - movs r1, #1 - strb r1, [r0] - b _0807EA46 - .align 2, 0 -_0807EA3C: .4byte gPlayerState -_0807EA40: - ldr r1, _0807EA48 @ =gUnk_02033280 - movs r0, #0 - strb r0, [r1, #6] -_0807EA46: - pop {r4, pc} - .align 2, 0 -_0807EA48: .4byte gUnk_02033280 - - thumb_func_start sub_0807EA4C -sub_0807EA4C: @ 0x0807EA4C - push {r4, lr} - adds r1, r0, #0 - adds r4, r1, #0 - adds r4, #0x39 - movs r0, #0 - ldrsb r0, [r4, r0] - cmp r0, #2 - bne _0807EA7C - adds r0, r1, #0 - movs r1, #0 - movs r2, #0 - movs r3, #0 - bl sub_0801DFB4 - movs r0, #0 - strb r0, [r4] - ldr r2, _0807EA78 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - b _0807EA82 - .align 2, 0 -_0807EA78: .4byte gUnk_02033280 -_0807EA7C: - ldr r1, _0807EA84 @ =gUnk_02033280 - movs r0, #0 - strb r0, [r1, #6] -_0807EA82: - pop {r4, pc} - .align 2, 0 -_0807EA84: .4byte gUnk_02033280 - - thumb_func_start sub_0807EA88 -sub_0807EA88: @ 0x0807EA88 - push {lr} - ldr r1, [r1] - ldrh r1, [r1, #2] - bl sub_08078790 - pop {pc} - - thumb_func_start sub_0807EA94 -sub_0807EA94: @ 0x0807EA94 - push {lr} - ldr r0, _0807EAAC @ =gTextBox - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - beq _0807EAA8 - ldr r1, _0807EAB0 @ =gUnk_02033280 - movs r0, #0 - strb r0, [r1, #6] -_0807EAA8: - pop {pc} - .align 2, 0 -_0807EAAC: .4byte gTextBox -_0807EAB0: .4byte gUnk_02033280 - - thumb_func_start sub_0807EAB4 -sub_0807EAB4: @ 0x0807EAB4 - push {lr} - ldr r0, [r1] - ldrh r0, [r0, #2] - bl TextboxNoOverlapFollow - pop {pc} - - thumb_func_start sub_0807EAC0 -sub_0807EAC0: @ 0x0807EAC0 - push {lr} - adds r2, r0, #0 - ldr r0, [r1] - ldrh r0, [r0, #2] - adds r1, r2, #0 - bl TextboxNoOverlap - pop {pc} - - thumb_func_start sub_0807EAD0 -sub_0807EAD0: @ 0x0807EAD0 - push {r4, lr} - adds r4, r1, #0 - ldr r0, [r4] - ldrh r0, [r0, #2] - bl TextboxNoOverlapFollow - ldr r1, _0807EAEC @ =gTextBox - movs r0, #1 - strb r0, [r1, #6] - ldr r0, [r4] - ldrh r0, [r0, #4] - strb r0, [r1, #7] - pop {r4, pc} - .align 2, 0 -_0807EAEC: .4byte gTextBox - - thumb_func_start sub_0807EAF0 -sub_0807EAF0: @ 0x0807EAF0 - push {lr} - ldr r0, _0807EB0C @ =gUnk_02033280 - ldrb r0, [r0, #6] - ldr r2, [r1, #4] - cmp r0, r2 - bls _0807EB10 - lsls r0, r2, #1 - ldr r1, [r1] - adds r1, r1, r0 - ldrh r0, [r1, #2] - bl TextboxNoOverlapFollow - b _0807EB16 - .align 2, 0 -_0807EB0C: .4byte gUnk_02033280 -_0807EB10: - movs r0, #0 - bl TextboxNoOverlapFollow -_0807EB16: - pop {pc} - - thumb_func_start sub_0807EB18 -sub_0807EB18: @ 0x0807EB18 - push {lr} - adds r2, r0, #0 - ldr r0, [r1, #4] - adds r1, r2, #0 - bl TextboxNoOverlap - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807EB28 -sub_0807EB28: @ 0x0807EB28 - push {lr} - ldr r0, [r1] - ldrh r0, [r0, #2] - movs r1, #0 - bl sub_08078AA8 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807EB38 -sub_0807EB38: @ 0x0807EB38 - ldr r0, _0807EB40 @ =gUnk_02000040 - ldrb r0, [r0, #1] - str r0, [r1, #4] - bx lr - .align 2, 0 -_0807EB40: .4byte gUnk_02000040 - - thumb_func_start sub_0807EB44 -sub_0807EB44: @ 0x0807EB44 - ldr r1, [r1] - ldrh r1, [r1, #2] - strb r1, [r0, #0x14] - bx lr - - thumb_func_start sub_0807EB4C -sub_0807EB4C: @ 0x0807EB4C - push {r4, lr} - adds r4, r0, #0 - ldr r2, [r1] - ldrh r1, [r2, #2] - ldr r3, _0807EB70 @ =gRoomControls - ldrh r0, [r3, #6] - adds r1, r1, r0 - ldrh r2, [r2, #4] - ldrh r0, [r3, #8] - adds r2, r2, r0 - adds r0, r4, #0 - bl sub_080045B4 - bl sub_0806F5B0 - strb r0, [r4, #0x14] - pop {r4, pc} - .align 2, 0 -_0807EB70: .4byte gRoomControls - - thumb_func_start sub_0807EB74 -sub_0807EB74: @ 0x0807EB74 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _0807EB88 @ =gPlayerEntity - bl GetFacingDirection - bl sub_0806F5B0 - strb r0, [r4, #0x14] - pop {r4, pc} - .align 2, 0 -_0807EB88: .4byte gPlayerEntity - - thumb_func_start sub_0807EB8C -sub_0807EB8C: @ 0x0807EB8C - push {r4, lr} - adds r1, r0, #0 - ldr r4, _0807EBA4 @ =gPlayerEntity - adds r0, r4, #0 - bl GetFacingDirection - bl sub_0806F5B0 - movs r1, #0xfe - ands r0, r1 - strb r0, [r4, #0x14] - pop {r4, pc} - .align 2, 0 -_0807EBA4: .4byte gPlayerEntity - - thumb_func_start sub_0807EBA8 -sub_0807EBA8: @ 0x0807EBA8 - ldr r1, [r1] - ldrh r1, [r1, #2] - strb r1, [r0, #0x15] - bx lr - - thumb_func_start sub_0807EBB0 -sub_0807EBB0: @ 0x0807EBB0 - ldr r1, [r1] - ldrh r1, [r1, #2] - strb r1, [r0, #0x15] - ldrb r1, [r0, #0x15] - lsrs r1, r1, #2 - strb r1, [r0, #0x14] - bx lr - .align 2, 0 - - thumb_func_start sub_0807EBC0 -sub_0807EBC0: @ 0x0807EBC0 - ldr r1, [r1] - ldrh r1, [r1, #2] - strh r1, [r0, #0x24] - bx lr - - thumb_func_start sub_0807EBC8 -sub_0807EBC8: @ 0x0807EBC8 - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r1] - bl GetNextScriptCommandWordAfterCommandMetadata - str r0, [r4, #0x20] - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0807EBD8 -sub_0807EBD8: @ 0x0807EBD8 - push {r4, lr} - ldr r3, _0807EBF0 @ =gRoomControls - ldr r2, [r1] - ldrh r1, [r2, #2] - ldrh r4, [r3, #6] - adds r1, r1, r4 - strh r1, [r0, #0x2e] - ldrh r1, [r2, #4] - ldrh r3, [r3, #8] - adds r1, r1, r3 - strh r1, [r0, #0x32] - pop {r4, pc} - .align 2, 0 -_0807EBF0: .4byte gRoomControls - - thumb_func_start sub_0807EBF4 -sub_0807EBF4: @ 0x0807EBF4 - ldr r2, [r1] - ldrh r1, [r2, #2] - ldrh r3, [r0, #0x2e] - adds r1, r1, r3 - strh r1, [r0, #0x2e] - ldrh r1, [r2, #4] - ldrh r2, [r0, #0x32] - adds r1, r1, r2 - strh r1, [r0, #0x32] - bx lr - - thumb_func_start sub_0807EC08 -sub_0807EC08: @ 0x0807EC08 - push {lr} - adds r1, r0, #0 - ldr r0, _0807EC14 @ =gPlayerEntity - bl CopyPosition - pop {pc} - .align 2, 0 -_0807EC14: .4byte gPlayerEntity - - thumb_func_start nullsub_509 -nullsub_509: @ 0x0807EC18 - bx lr - .align 2, 0 - - thumb_func_start sub_0807EC1C -sub_0807EC1C: @ 0x0807EC1C - push {lr} - adds r3, r0, #0 - adds r2, r1, #0 - ldrb r0, [r2, #0x18] - cmp r0, #0 - bne _0807EC3A - movs r0, #1 - strb r0, [r2, #0x18] - ldr r0, [r2] - ldrh r0, [r0, #2] - strh r0, [r2, #0x12] - ldr r0, [r2, #8] - movs r1, #2 - orrs r0, r1 - str r0, [r2, #8] -_0807EC3A: - adds r0, r3, #0 - adds r1, r2, #0 - bl sub_0807EC44 - pop {pc} - - thumb_func_start sub_0807EC44 -sub_0807EC44: @ 0x0807EC44 - push {r4, lr} - adds r4, r1, #0 - bl sub_0806F69C - ldrh r0, [r4, #0x12] - subs r0, #1 - strh r0, [r4, #0x12] - lsls r0, r0, #0x10 - cmp r0, #0 - beq _0807EC5E - ldr r1, _0807EC60 @ =gUnk_02033280 - movs r0, #0 - strb r0, [r1, #6] -_0807EC5E: - pop {r4, pc} - .align 2, 0 -_0807EC60: .4byte gUnk_02033280 - - thumb_func_start sub_0807EC64 -sub_0807EC64: @ 0x0807EC64 - push {lr} - adds r3, r0, #0 - adds r2, r1, #0 - ldrb r0, [r2, #0x18] - cmp r0, #0 - bne _0807EC88 - movs r0, #1 - strb r0, [r2, #0x18] - ldr r0, [r2] - ldrh r0, [r0, #2] - movs r1, #0 - strh r0, [r2, #0x12] - strb r1, [r3, #0x14] - strb r1, [r3, #0x15] - ldr r0, [r2, #8] - movs r1, #2 - orrs r0, r1 - str r0, [r2, #8] -_0807EC88: - adds r0, r3, #0 - adds r1, r2, #0 - bl sub_0807EC44 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807EC94 -sub_0807EC94: @ 0x0807EC94 - push {lr} - adds r3, r0, #0 - adds r2, r1, #0 - ldrb r0, [r2, #0x18] - cmp r0, #0 - bne _0807ECB8 - movs r0, #1 - strb r0, [r2, #0x18] - ldr r0, [r2] - ldrh r0, [r0, #2] - strh r0, [r2, #0x12] - movs r1, #2 - strb r1, [r3, #0x14] - movs r0, #8 - strb r0, [r3, #0x15] - ldr r0, [r2, #8] - orrs r0, r1 - str r0, [r2, #8] -_0807ECB8: - adds r0, r3, #0 - adds r1, r2, #0 - bl sub_0807EC44 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807ECC4 -sub_0807ECC4: @ 0x0807ECC4 - push {lr} - adds r3, r0, #0 - adds r2, r1, #0 - ldrb r0, [r2, #0x18] - cmp r0, #0 - bne _0807ECEA - movs r0, #1 - strb r0, [r2, #0x18] - ldr r0, [r2] - ldrh r0, [r0, #2] - strh r0, [r2, #0x12] - movs r0, #4 - strb r0, [r3, #0x14] - movs r0, #0x10 - strb r0, [r3, #0x15] - ldr r0, [r2, #8] - movs r1, #2 - orrs r0, r1 - str r0, [r2, #8] -_0807ECEA: - adds r0, r3, #0 - adds r1, r2, #0 - bl sub_0807EC44 - pop {pc} - - thumb_func_start sub_0807ECF4 -sub_0807ECF4: @ 0x0807ECF4 - push {lr} - adds r3, r0, #0 - adds r2, r1, #0 - ldrb r0, [r2, #0x18] - cmp r0, #0 - bne _0807ED1A - movs r0, #1 - strb r0, [r2, #0x18] - ldr r0, [r2] - ldrh r0, [r0, #2] - strh r0, [r2, #0x12] - movs r0, #6 - strb r0, [r3, #0x14] - movs r0, #0x18 - strb r0, [r3, #0x15] - ldr r0, [r2, #8] - movs r1, #2 - orrs r0, r1 - str r0, [r2, #8] -_0807ED1A: - adds r0, r3, #0 - adds r1, r2, #0 - bl sub_0807EC44 - pop {pc} - - thumb_func_start sub_0807ED24 -sub_0807ED24: @ 0x0807ED24 - push {r4, r5, r6, r7, lr} - adds r7, r0, #0 - adds r6, r1, #0 - ldrb r0, [r6, #0x18] - cmp r0, #0 - bne _0807ED90 - movs r0, #1 - strb r0, [r6, #0x18] - ldr r4, [r6] - ldrh r0, [r4, #6] - strh r0, [r6, #0x12] - ldrh r2, [r4, #2] - movs r1, #0x2e - ldrsh r0, [r7, r1] - ldr r5, _0807ED8C @ =gRoomControls - ldrh r1, [r5, #6] - subs r0, r0, r1 - subs r0, r2, r0 - lsls r0, r0, #0x10 - ldrh r1, [r6, #0x12] - bl __divsi3 - str r0, [r6, #0x1c] - ldrh r2, [r4, #4] - movs r3, #0x32 - ldrsh r0, [r7, r3] - ldrh r1, [r5, #8] - subs r0, r0, r1 - subs r0, r2, r0 - lsls r0, r0, #0x10 - ldrh r1, [r6, #0x12] - bl __divsi3 - str r0, [r6, #0x20] - ldrh r1, [r4, #2] - ldrh r0, [r5, #6] - adds r1, r1, r0 - ldrh r2, [r4, #4] - ldrh r0, [r5, #8] - adds r2, r2, r0 - adds r0, r7, #0 - bl sub_080045B4 - bl sub_0806F5B0 - strb r0, [r7, #0x14] - ldr r0, [r6, #8] - movs r1, #2 - orrs r0, r1 - str r0, [r6, #8] - b _0807EDC8 - .align 2, 0 -_0807ED8C: .4byte gRoomControls -_0807ED90: - ldrh r0, [r6, #0x12] - subs r0, #1 - strh r0, [r6, #0x12] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _0807EDB8 - ldr r2, [r6] - ldr r1, _0807EDB4 @ =gRoomControls - ldrh r0, [r1, #6] - ldrh r3, [r2, #2] - adds r0, r0, r3 - strh r0, [r7, #0x2e] - ldrh r0, [r1, #8] - ldrh r2, [r2, #4] - adds r0, r0, r2 - strh r0, [r7, #0x32] - b _0807EDCE - .align 2, 0 -_0807EDB4: .4byte gRoomControls -_0807EDB8: - ldr r0, [r7, #0x2c] - ldr r1, [r6, #0x1c] - adds r0, r0, r1 - str r0, [r7, #0x2c] - ldr r0, [r7, #0x30] - ldr r1, [r6, #0x20] - adds r0, r0, r1 - str r0, [r7, #0x30] -_0807EDC8: - ldr r1, _0807EDD0 @ =gUnk_02033280 - movs r0, #0 - strb r0, [r1, #6] -_0807EDCE: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0807EDD0: .4byte gUnk_02033280 - - thumb_func_start sub_0807EDD4 -sub_0807EDD4: @ 0x0807EDD4 - push {r4, r5, lr} - adds r5, r0, #0 - adds r4, r1, #0 - ldrb r0, [r4, #0x18] - cmp r0, #0 - bne _0807EDEA - movs r0, #1 - strb r0, [r4, #0x18] - adds r0, r5, #0 - bl sub_0807EE04 -_0807EDEA: - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0807EE30 - ldr r1, [r4, #0x14] - cmp r1, #0 - bne _0807EDFC - ldr r0, _0807EE00 @ =gUnk_02033280 - strb r1, [r0, #6] -_0807EDFC: - pop {r4, r5, pc} - .align 2, 0 -_0807EE00: .4byte gUnk_02033280 - - thumb_func_start sub_0807EE04 -sub_0807EE04: @ 0x0807EE04 - push {r4, r5, lr} - ldr r5, [r1] - ldrh r2, [r5, #2] - ldr r4, _0807EE28 @ =gRoomControls - ldrh r3, [r4, #6] - adds r2, r2, r3 - ldrh r3, [r5, #4] - ldrh r4, [r4, #8] - adds r3, r3, r4 - bl sub_0807DEDC - ldr r2, _0807EE2C @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {r4, r5, pc} - .align 2, 0 -_0807EE28: .4byte gRoomControls -_0807EE2C: .4byte gUnk_02033280 - - thumb_func_start sub_0807EE30 -sub_0807EE30: @ 0x0807EE30 - push {r4, r5, r6, r7, lr} - adds r6, r0, #0 - adds r5, r1, #0 - ldrb r0, [r5, #0x19] - subs r0, #1 - strb r0, [r5, #0x19] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0807EE60 - movs r0, #8 - strb r0, [r5, #0x19] - movs r1, #0x1e - ldrsh r0, [r5, r1] - movs r2, #0x2e - ldrsh r1, [r6, r2] - subs r0, r0, r1 - movs r3, #0x22 - ldrsh r1, [r5, r3] - movs r3, #0x32 - ldrsh r2, [r6, r3] - subs r1, r1, r2 - bl sub_080045DA - strb r0, [r6, #0x15] -_0807EE60: - movs r0, #0x2e - ldrsh r4, [r6, r0] - movs r1, #0x1e - ldrsh r0, [r5, r1] - subs r4, r4, r0 - movs r2, #0x32 - ldrsh r1, [r6, r2] - movs r3, #0x22 - ldrsh r0, [r5, r3] - subs r7, r1, r0 - movs r0, #0x24 - ldrsh r1, [r6, r0] - ldrb r2, [r6, #0x15] - adds r0, r6, #0 - bl sub_0806F62C - movs r1, #0x2e - ldrsh r0, [r6, r1] - movs r2, #0x1e - ldrsh r1, [r5, r2] - subs r0, r0, r1 - muls r4, r0, r4 - movs r3, #0x32 - ldrsh r0, [r6, r3] - movs r2, #0x22 - ldrsh r1, [r5, r2] - subs r0, r0, r1 - muls r7, r0, r7 - cmp r4, #0 - bgt _0807EEAC - cmp r7, #0 - bgt _0807EEAC - ldrh r0, [r5, #0x1e] - strh r0, [r6, #0x2e] - ldrh r0, [r5, #0x22] - strh r0, [r6, #0x32] - movs r0, #1 - b _0807EEAE -_0807EEAC: - movs r0, #0 -_0807EEAE: - str r0, [r5, #0x14] - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_0807EEB4 -sub_0807EEB4: @ 0x0807EEB4 - push {r4, r5, lr} - adds r5, r0, #0 - adds r4, r1, #0 - ldrb r0, [r4, #0x18] - cmp r0, #0 - bne _0807EED6 - movs r0, #1 - strb r0, [r4, #0x18] - ldr r0, _0807EEEC @ =gPlayerEntity - movs r1, #0x2e - ldrsh r2, [r0, r1] - movs r1, #0x32 - ldrsh r3, [r0, r1] - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0807DEDC -_0807EED6: - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0807EE30 - ldr r1, [r4, #0x14] - cmp r1, #0 - bne _0807EEE8 - ldr r0, _0807EEF0 @ =gUnk_02033280 - strb r1, [r0, #6] -_0807EEE8: - pop {r4, r5, pc} - .align 2, 0 -_0807EEEC: .4byte gPlayerEntity -_0807EEF0: .4byte gUnk_02033280 - - thumb_func_start sub_0807EEF4 -sub_0807EEF4: @ 0x0807EEF4 - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r4, r1, #0 - ldrb r0, [r4, #0x18] - cmp r0, #0 - bne _0807EF22 - movs r0, #1 - strb r0, [r4, #0x18] - movs r0, #0x2e - ldrsh r2, [r5, r0] - ldr r1, [r4] - movs r3, #2 - ldrsh r0, [r1, r3] - adds r2, r2, r0 - movs r6, #0x32 - ldrsh r3, [r5, r6] - movs r6, #4 - ldrsh r0, [r1, r6] - adds r3, r3, r0 - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0807DEDC -_0807EF22: - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_0807EE30 - ldr r1, [r4, #0x14] - cmp r1, #0 - bne _0807EF34 - ldr r0, _0807EF38 @ =gUnk_02033280 - strb r1, [r0, #6] -_0807EF34: - pop {r4, r5, r6, pc} - .align 2, 0 -_0807EF38: .4byte gUnk_02033280 - - thumb_func_start sub_0807EF3C -sub_0807EF3C: @ 0x0807EF3C - push {r4, lr} - adds r3, r0, #0 - adds r2, r1, #0 - ldrb r0, [r2, #0x18] - cmp r0, #0 - bne _0807EF66 - movs r0, #1 - strb r0, [r2, #0x18] - ldr r1, [r2] - movs r4, #2 - ldrsh r0, [r1, r4] - lsls r0, r0, #8 - str r0, [r3, #0x20] - ldrh r0, [r1, #4] - lsls r0, r0, #8 - strh r0, [r2, #0x1c] - ldrh r1, [r2, #0x1c] - adds r0, r3, #0 - bl sub_08003FC4 - b _0807EF72 -_0807EF66: - ldrh r1, [r2, #0x1c] - adds r0, r3, #0 - bl sub_08003FC4 - cmp r0, #0 - beq _0807EF78 -_0807EF72: - ldr r1, _0807EF7C @ =gUnk_02033280 - movs r0, #0 - strb r0, [r1, #6] -_0807EF78: - pop {r4, pc} - .align 2, 0 -_0807EF7C: .4byte gUnk_02033280 - - thumb_func_start sub_0807EF80 -sub_0807EF80: @ 0x0807EF80 - ldr r0, [r1] - movs r2, #1 - ldrh r0, [r0, #2] - lsls r2, r0 - ldr r0, [r1, #8] - orrs r0, r2 - str r0, [r1, #8] - bx lr - - thumb_func_start sub_0807EF90 -sub_0807EF90: @ 0x0807EF90 - ldr r0, [r1] - movs r2, #1 - ldrh r0, [r0, #2] - lsls r2, r0 - ldr r0, [r1, #8] - orrs r0, r2 - str r0, [r1, #8] - bx lr - - thumb_func_start sub_0807EFA0 -sub_0807EFA0: @ 0x0807EFA0 - push {lr} - ldr r0, [r1] - ldrh r0, [r0, #2] - bl PlaySFX - pop {pc} - - thumb_func_start sub_0807EFAC -sub_0807EFAC: @ 0x0807EFAC - push {lr} - ldr r1, [r1] - ldrh r0, [r1, #2] - cmp r0, #0x63 - bls _0807EFCC - ldr r0, _0807EFC8 @ =gArea - movs r1, #0x86 - lsls r1, r1, #4 - adds r0, r0, r1 - ldr r0, [r0] - bl PlaySFX - b _0807EFD2 - .align 2, 0 -_0807EFC8: .4byte gArea -_0807EFCC: - ldrh r0, [r1, #2] - bl PlaySFX -_0807EFD2: - pop {pc} - - thumb_func_start sub_0807EFD4 -sub_0807EFD4: @ 0x0807EFD4 - push {lr} - ldr r0, [r1] - bl GetNextScriptCommandWordAfterCommandMetadata - bl PlaySFX - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807EFE4 -sub_0807EFE4: @ 0x0807EFE4 - push {lr} - ldr r0, _0807EFF0 @ =0x80100000 - bl PlaySFX - pop {pc} - .align 2, 0 -_0807EFF0: .4byte 0x80100000 - - thumb_func_start sub_0807EFF4 -sub_0807EFF4: @ 0x0807EFF4 - push {lr} - ldr r0, [r1] - movs r1, #2 - ldrsh r0, [r0, r1] - bl ModRupees - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807F004 -sub_0807F004: @ 0x0807F004 - push {lr} - ldr r0, [r1] - ldrh r0, [r0, #2] - bl ModHealth - pop {pc} - - thumb_func_start sub_0807F010 -sub_0807F010: @ 0x0807F010 - push {lr} - ldr r3, _0807F030 @ =gUnk_02002A40 - adds r2, r3, #0 - adds r2, #0xab - ldrb r0, [r2] - adds r1, r0, #0 - adds r1, #8 - cmp r1, #0xa0 - ble _0807F024 - movs r1, #0xa0 -_0807F024: - strb r1, [r2] - adds r0, r3, #0 - adds r0, #0xaa - strb r1, [r0] - pop {pc} - .align 2, 0 -_0807F030: .4byte gUnk_02002A40 - - thumb_func_start sub_0807F034 -sub_0807F034: @ 0x0807F034 - push {lr} - movs r3, #0 - ldr r2, [r1] - ldrh r0, [r2, #2] - cmp r0, #0x3f - bne _0807F042 - ldr r3, [r1, #4] -_0807F042: - ldrh r0, [r2, #2] - adds r1, r3, #0 - movs r2, #0 - bl sub_080A7C18 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807F050 -sub_0807F050: @ 0x0807F050 - push {lr} - ldr r0, [r1] - ldrh r1, [r0, #2] - movs r0, #0x5c - movs r2, #0 - bl sub_080A7C18 - pop {pc} - - thumb_func_start sub_0807F060 -sub_0807F060: @ 0x0807F060 - push {r4, lr} - adds r4, r1, #0 - ldr r0, [r4] - ldrh r0, [r0, #2] - bl GetInventoryValue - str r0, [r4, #4] - rsbs r1, r0, #0 - orrs r1, r0 - lsrs r1, r1, #0x1f - str r1, [r4, #0x14] - pop {r4, pc} - - thumb_func_start sub_0807F078 -sub_0807F078: @ 0x0807F078 - push {lr} - ldr r1, [r1] - ldrh r0, [r1, #2] - ldrh r1, [r1, #4] - bl sub_0807CAA0 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807F088 -sub_0807F088: @ 0x0807F088 - push {lr} - ldr r0, [r1] - ldrh r0, [r0, #2] - movs r1, #0 - movs r2, #3 - bl sub_080A7C18 - pop {pc} - - thumb_func_start sub_0807F098 -sub_0807F098: @ 0x0807F098 - ldr r1, _0807F0A0 @ =gRoomControls - str r0, [r1, #0x30] - bx lr - .align 2, 0 -_0807F0A0: .4byte gRoomControls - - thumb_func_start sub_0807F0A4 -sub_0807F0A4: @ 0x0807F0A4 - ldr r1, _0807F0AC @ =gRoomControls - ldr r0, _0807F0B0 @ =gPlayerEntity - str r0, [r1, #0x30] - bx lr - .align 2, 0 -_0807F0AC: .4byte gRoomControls -_0807F0B0: .4byte gPlayerEntity - - thumb_func_start sub_0807F0B4 -sub_0807F0B4: @ 0x0807F0B4 - ldr r2, _0807F0C4 @ =gRoomControls - ldr r0, [r1] - ldrb r1, [r0, #2] - movs r0, #7 - ands r0, r1 - strb r0, [r2, #0xe] - bx lr - .align 2, 0 -_0807F0C4: .4byte gRoomControls - - thumb_func_start sub_0807F0C8 -sub_0807F0C8: @ 0x0807F0C8 - push {lr} - ldr r1, [r1] - ldrh r0, [r1, #2] - ldrh r1, [r1, #4] - bl sub_08080964 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807F0D8 -sub_0807F0D8: @ 0x0807F0D8 - ldr r0, _0807F0E8 @ =gUnk_03000FF0 - ldrh r2, [r0, #2] - rsbs r0, r2, #0 - orrs r0, r2 - lsrs r0, r0, #0x1f - str r0, [r1, #0x14] - bx lr - .align 2, 0 -_0807F0E8: .4byte gUnk_03000FF0 - - thumb_func_start sub_0807F0EC -sub_0807F0EC: @ 0x0807F0EC - push {r4, lr} - adds r4, r1, #0 - bl Random - ldr r1, [r4, #4] - bl __modsi3 - str r0, [r4, #4] - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0807F100 -sub_0807F100: @ 0x0807F100 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - bl Random - movs r2, #6 - adds r1, r0, #0 - ands r1, r2 - strb r1, [r4, #0x14] - ldr r2, _0807F124 @ =gUnk_0811E750 - lsrs r0, r0, #8 - movs r1, #7 - ands r0, r1 - adds r0, r0, r2 - ldrb r0, [r0] - strb r0, [r5, #0x1a] - pop {r4, r5, pc} - .align 2, 0 -_0807F124: .4byte gUnk_0811E750 - - thumb_func_start sub_0807F128 -sub_0807F128: @ 0x0807F128 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - bl Random - ldr r2, _0807F150 @ =gUnk_0811E758 - movs r3, #7 - adds r1, r0, #0 - ands r1, r3 - adds r1, r1, r2 - ldrb r1, [r1] - strb r1, [r4, #0x14] - ldr r1, _0807F154 @ =gUnk_0811E760 - lsrs r0, r0, #8 - ands r0, r3 - adds r0, r0, r1 - ldrb r0, [r0] - strb r0, [r5, #0x1a] - pop {r4, r5, pc} - .align 2, 0 -_0807F150: .4byte gUnk_0811E758 -_0807F154: .4byte gUnk_0811E760 - - thumb_func_start sub_0807F158 -sub_0807F158: @ 0x0807F158 - push {lr} - adds r2, r0, #0 - adds r2, #0x38 - movs r1, #1 - strb r1, [r2] - bl UpdateSpriteForCollisionLayer - pop {pc} - - thumb_func_start sub_0807F168 -sub_0807F168: @ 0x0807F168 - push {lr} - ldr r0, _0807F17C @ =gPlayerEntity - adds r2, r0, #0 - adds r2, #0x38 - movs r1, #1 - strb r1, [r2] - bl UpdateSpriteForCollisionLayer - pop {pc} - .align 2, 0 -_0807F17C: .4byte gPlayerEntity - - thumb_func_start sub_0807F180 -sub_0807F180: @ 0x0807F180 - push {lr} - adds r2, r0, #0 - adds r2, #0x38 - movs r1, #2 - strb r1, [r2] - bl UpdateSpriteForCollisionLayer - pop {pc} - - thumb_func_start sub_0807F190 -sub_0807F190: @ 0x0807F190 - push {lr} - movs r1, #0x80 - lsls r1, r1, #1 - movs r0, #4 - bl DoFade - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807F1A0 -sub_0807F1A0: @ 0x0807F1A0 - push {r4, lr} - ldr r3, _0807F1BC @ =gPlayerEntity - movs r4, #0x2e - ldrsh r2, [r3, r4] - movs r4, #0x32 - ldrsh r3, [r3, r4] - bl sub_0807DEDC - ldr r2, _0807F1C0 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {r4, pc} - .align 2, 0 -_0807F1BC: .4byte gPlayerEntity -_0807F1C0: .4byte gUnk_02033280 - - thumb_func_start sub_0807F1C4 -sub_0807F1C4: @ 0x0807F1C4 - push {lr} - ldr r2, _0807F1D8 @ =gPlayerState - ldr r0, [r2, #0x30] - movs r1, #8 - ands r0, r1 - cmp r0, #0 - beq _0807F1E0 - ldr r0, _0807F1DC @ =0x00000459 - b _0807F1E4 - .align 2, 0 -_0807F1D8: .4byte gPlayerState -_0807F1DC: .4byte 0x00000459 -_0807F1E0: - movs r0, #0xde - lsls r0, r0, #1 -_0807F1E4: - strh r0, [r2, #8] - pop {pc} - - thumb_func_start sub_0807F1E8 -sub_0807F1E8: @ 0x0807F1E8 - push {lr} - ldr r2, _0807F1FC @ =gPlayerState - ldr r0, [r2, #0x30] - movs r1, #8 - ands r0, r1 - cmp r0, #0 - beq _0807F204 - ldr r0, _0807F200 @ =0x0000045A - b _0807F206 - .align 2, 0 -_0807F1FC: .4byte gPlayerState -_0807F200: .4byte 0x0000045A -_0807F204: - ldr r0, _0807F20C @ =0x000002BD -_0807F206: - strh r0, [r2, #8] - pop {pc} - .align 2, 0 -_0807F20C: .4byte 0x000002BD - - thumb_func_start sub_0807F210 -sub_0807F210: @ 0x0807F210 - push {lr} - ldr r2, _0807F224 @ =gPlayerState - ldr r0, [r2, #0x30] - movs r1, #8 - ands r0, r1 - cmp r0, #0 - beq _0807F22C - ldr r0, _0807F228 @ =0x0000041C - b _0807F22E - .align 2, 0 -_0807F224: .4byte gPlayerState -_0807F228: .4byte 0x0000041C -_0807F22C: - ldr r0, _0807F234 @ =0x0000080C -_0807F22E: - strh r0, [r2, #8] - pop {pc} - .align 2, 0 -_0807F234: .4byte 0x0000080C - - thumb_func_start sub_0807F238 -sub_0807F238: @ 0x0807F238 - ldr r2, _0807F240 @ =gPlayerState - ldr r0, [r1, #4] - strh r0, [r2, #8] - bx lr - .align 2, 0 -_0807F240: .4byte gPlayerState - - thumb_func_start sub_0807F244 -sub_0807F244: @ 0x0807F244 - push {r4, r5, lr} - ldr r0, [r1, #4] - ldr r4, _0807F298 @ =0x0000FFFF - lsrs r5, r0, #0x10 - ands r4, r0 - cmp r4, #1 - blo _0807F28C - cmp r4, #4 - bls _0807F25A - cmp r4, #6 - bne _0807F28C -_0807F25A: - movs r4, #1 - movs r0, #2 - bl GetInventoryValue - cmp r0, #0 - beq _0807F268 - movs r4, #2 -_0807F268: - movs r0, #3 - bl GetInventoryValue - cmp r0, #0 - beq _0807F274 - movs r4, #3 -_0807F274: - movs r0, #4 - bl GetInventoryValue - cmp r0, #0 - beq _0807F280 - movs r4, #4 -_0807F280: - movs r0, #6 - bl GetInventoryValue - cmp r0, #0 - beq _0807F28C - movs r4, #6 -_0807F28C: - adds r0, r4, #0 - adds r1, r5, #0 - bl ForceEquipItem - pop {r4, r5, pc} - .align 2, 0 -_0807F298: .4byte 0x0000FFFF - - thumb_func_start sub_0807F29C -sub_0807F29C: @ 0x0807F29C - push {lr} - ldr r0, [r1, #4] - bl sub_0805ED14 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807F2A8 -sub_0807F2A8: @ 0x0807F2A8 - push {lr} - ldr r0, _0807F2C0 @ =gPlayerState - adds r0, #0x9c - ldr r0, [r0] - cmp r0, #0 - bne _0807F2C8 - ldr r2, _0807F2C4 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - b _0807F2CE - .align 2, 0 -_0807F2C0: .4byte gPlayerState -_0807F2C4: .4byte gUnk_02033280 -_0807F2C8: - ldr r1, _0807F2D0 @ =gUnk_02033280 - movs r0, #0 - strb r0, [r1, #6] -_0807F2CE: - pop {pc} - .align 2, 0 -_0807F2D0: .4byte gUnk_02033280 - - thumb_func_start sub_0807F2D4 -sub_0807F2D4: @ 0x0807F2D4 - push {lr} - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #0 - beq _0807F2F8 - ldr r2, _0807F2F4 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - b _0807F2FC - .align 2, 0 -_0807F2F4: .4byte gUnk_02033280 -_0807F2F8: - ldr r0, _0807F300 @ =gUnk_02033280 - strb r1, [r0, #6] -_0807F2FC: - pop {pc} - .align 2, 0 -_0807F300: .4byte gUnk_02033280 - - thumb_func_start sub_0807F304 -sub_0807F304: @ 0x0807F304 - push {lr} - ldr r0, _0807F324 @ =gPlayerEntity - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #0 - beq _0807F32C - ldr r2, _0807F328 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - b _0807F330 - .align 2, 0 -_0807F324: .4byte gPlayerEntity -_0807F328: .4byte gUnk_02033280 -_0807F32C: - ldr r0, _0807F334 @ =gUnk_02033280 - strb r1, [r0, #6] -_0807F330: - pop {pc} - .align 2, 0 -_0807F334: .4byte gUnk_02033280 - - thumb_func_start sub_0807F338 -sub_0807F338: @ 0x0807F338 - movs r1, #0 - str r1, [r0, #0x48] - ldrb r2, [r0, #0x17] - movs r1, #0xfe - ands r1, r2 - strb r1, [r0, #0x17] - bx lr - .align 2, 0 - - thumb_func_start sub_0807F348 -sub_0807F348: @ 0x0807F348 - push {lr} - movs r1, #2 - bl sub_0805E3A0 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807F354 -sub_0807F354: @ 0x0807F354 - push {lr} - movs r1, #6 - bl sub_0805E3A0 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807F360 -sub_0807F360: @ 0x0807F360 - push {lr} - movs r1, #3 - bl sub_0805E3A0 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807F36C -sub_0807F36C: @ 0x0807F36C - push {r4, r5, lr} - adds r5, r0, #0 - movs r1, #0x41 - movs r2, #0 - bl CreateFx - adds r4, r0, #0 - cmp r4, #0 - beq _0807F3C2 - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r2] - ldr r3, _0807F3C4 @ =0xFFF80000 - adds r0, r5, #0 - adds r1, r4, #0 - movs r2, #0 - bl PositionRelative - bl Random - movs r5, #1 - ands r0, r5 - cmp r0, #0 - beq _0807F3B0 - ldrb r0, [r4, #0x18] - movs r1, #0x40 - orrs r0, r1 - strb r0, [r4, #0x18] -_0807F3B0: - bl Random - ands r0, r5 - cmp r0, #0 - beq _0807F3C2 - ldrb r0, [r4, #0x18] - movs r1, #0x80 - orrs r0, r1 - strb r0, [r4, #0x18] -_0807F3C2: - pop {r4, r5, pc} - .align 2, 0 -_0807F3C4: .4byte 0xFFF80000 - - thumb_func_start sub_0807F3C8 -sub_0807F3C8: @ 0x0807F3C8 - push {lr} - bl sub_0807F36C - movs r0, #0xe5 - bl PlaySFX - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807F3D8 -sub_0807F3D8: @ 0x0807F3D8 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0x14] - lsrs r0, r0, #1 - ldr r1, [r1, #4] - adds r1, r1, r0 - adds r0, r4, #0 - bl InitAnimationForceUpdate - adds r0, r4, #0 - adds r0, #0x58 - ldrb r0, [r0] - adds r4, #0x80 - strh r0, [r4] - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0807F3F8 -sub_0807F3F8: @ 0x0807F3F8 - push {lr} - ldr r0, _0807F408 @ =gPlayerEntity - movs r2, #0x18 - rsbs r2, r2, #0 - movs r1, #8 - bl CreateSpeechBubbleExclamationMark - pop {pc} - .align 2, 0 -_0807F408: .4byte gPlayerEntity - - thumb_func_start sub_0807F40C -sub_0807F40C: @ 0x0807F40C - push {lr} - ldr r0, _0807F41C @ =gPlayerEntity - movs r2, #0x18 - rsbs r2, r2, #0 - movs r1, #8 - bl CreateSpeechBubbleQuestionMark - pop {pc} - .align 2, 0 -_0807F41C: .4byte gPlayerEntity - - thumb_func_start sub_0807F420 -sub_0807F420: @ 0x0807F420 - push {lr} - ldr r2, [r1, #4] - ldrb r0, [r1, #4] - lsrs r2, r2, #8 - lsls r2, r2, #0x18 - lsrs r2, r2, #0x18 - adds r1, r2, #0 - bl MenuFadeIn - pop {pc} - - thumb_func_start sub_0807F434 -sub_0807F434: @ 0x0807F434 - push {lr} - adds r3, r0, #0 - adds r3, #0x39 - movs r2, #0 - ldrsb r2, [r3, r2] - cmp r2, #1 - beq _0807F44C - cmp r2, #2 - beq _0807F44C - movs r0, #0 - str r0, [r1, #4] - b _0807F452 -_0807F44C: - movs r0, #0 - strb r0, [r3] - str r2, [r1, #4] -_0807F452: - ldr r2, _0807F460 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {pc} - .align 2, 0 -_0807F460: .4byte gUnk_02033280 - - thumb_func_start sub_0807F464 -sub_0807F464: @ 0x0807F464 - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r5, r1, #0 - ldrb r0, [r5, #0x18] - cmp r0, #0 - bne _0807F4BC - adds r0, #1 - movs r3, #0 - strb r0, [r5, #0x18] - ldr r0, [r5, #8] - movs r1, #2 - orrs r0, r1 - str r0, [r5, #8] - ldr r2, [r5, #4] - ldr r1, _0807F4A8 @ =gRoomControls - ldrh r0, [r1, #6] - adds r0, r0, r2 - strh r0, [r5, #0x1e] - ldrh r0, [r4, #0x32] - strh r0, [r5, #0x22] - movs r6, #0x2e - ldrsh r0, [r4, r6] - ldrh r1, [r1, #6] - subs r0, r0, r1 - cmp r2, r0 - ble _0807F4AC - movs r0, #0x40 - strb r0, [r4, #0x15] - ldrb r1, [r4, #0x14] - movs r0, #0x80 - ands r0, r1 - movs r1, #2 - b _0807F4B8 - .align 2, 0 -_0807F4A8: .4byte gRoomControls -_0807F4AC: - movs r0, #0xc0 - strb r0, [r4, #0x15] - ldrb r1, [r4, #0x14] - movs r0, #0x80 - ands r0, r1 - movs r1, #6 -_0807F4B8: - orrs r0, r1 - strb r0, [r4, #0x14] -_0807F4BC: - movs r0, #0x24 - ldrsh r1, [r4, r0] - ldrb r2, [r4, #0x15] - adds r0, r4, #0 - bl sub_0806F62C - movs r2, #0x1e - ldrsh r1, [r5, r2] - movs r6, #0x2e - ldrsh r0, [r4, r6] - subs r1, r1, r0 - ldrb r2, [r4, #0x15] - movs r0, #0x80 - ands r0, r2 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - lsls r0, r0, #0x18 - eors r1, r0 - cmp r1, #0 - bge _0807F4EA - ldrh r0, [r5, #0x1e] - strh r0, [r4, #0x2e] - b _0807F4F0 -_0807F4EA: - ldr r1, _0807F4F4 @ =gUnk_02033280 - movs r0, #0 - strb r0, [r1, #6] -_0807F4F0: - pop {r4, r5, r6, pc} - .align 2, 0 -_0807F4F4: .4byte gUnk_02033280 - - thumb_func_start sub_0807F4F8 -sub_0807F4F8: @ 0x0807F4F8 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - ldrb r0, [r5, #0x18] - cmp r0, #0 - bne _0807F548 - adds r0, #1 - strb r0, [r5, #0x18] - ldr r0, [r5, #8] - movs r1, #2 - orrs r0, r1 - str r0, [r5, #8] - ldr r2, [r5, #4] - ldrh r0, [r4, #0x2e] - strh r0, [r5, #0x1e] - ldr r1, _0807F538 @ =gRoomControls - ldrh r0, [r1, #8] - adds r0, r0, r2 - strh r0, [r5, #0x22] - movs r3, #0x32 - ldrsh r0, [r4, r3] - ldrh r1, [r1, #8] - subs r0, r0, r1 - cmp r2, r0 - ble _0807F53C - movs r0, #0x80 - strb r0, [r4, #0x15] - ldrb r1, [r4, #0x14] - ands r0, r1 - movs r1, #4 - orrs r0, r1 - b _0807F546 - .align 2, 0 -_0807F538: .4byte gRoomControls -_0807F53C: - movs r0, #0 - strb r0, [r4, #0x15] - ldrb r1, [r4, #0x14] - movs r0, #0x80 - ands r0, r1 -_0807F546: - strb r0, [r4, #0x14] -_0807F548: - movs r0, #0x24 - ldrsh r1, [r4, r0] - ldrb r2, [r4, #0x15] - adds r0, r4, #0 - bl sub_0806F62C - movs r2, #0x22 - ldrsh r1, [r5, r2] - movs r3, #0x32 - ldrsh r0, [r4, r3] - subs r1, r1, r0 - ldrb r2, [r4, #0x15] - movs r0, #0x80 - ands r0, r2 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - lsls r0, r0, #0x18 - eors r1, r0 - cmp r1, #0 - blt _0807F576 - ldrh r0, [r5, #0x22] - strh r0, [r4, #0x32] - b _0807F57C -_0807F576: - ldr r1, _0807F580 @ =gUnk_02033280 - movs r0, #0 - strb r0, [r1, #6] -_0807F57C: - pop {r4, r5, pc} - .align 2, 0 -_0807F580: .4byte gUnk_02033280 - - thumb_func_start sub_0807F584 -sub_0807F584: @ 0x0807F584 - ldr r0, _0807F590 @ =gPlayerEntity - ldrb r0, [r0, #0x14] - lsrs r0, r0, #1 - str r0, [r1, #4] - bx lr - .align 2, 0 -_0807F590: .4byte gPlayerEntity - - thumb_func_start sub_0807F594 -sub_0807F594: @ 0x0807F594 - push {lr} - ldr r0, _0807F5A8 @ =gPlayerState - adds r0, #0xa8 - ldrb r0, [r0] - cmp r0, #0 - beq _0807F5A6 - ldr r1, _0807F5AC @ =gUnk_02033280 - movs r0, #0 - strb r0, [r1, #6] -_0807F5A6: - pop {pc} - .align 2, 0 -_0807F5A8: .4byte gPlayerState -_0807F5AC: .4byte gUnk_02033280 - - thumb_func_start sub_0807F5B0 -sub_0807F5B0: @ 0x0807F5B0 - ldr r0, _0807F5BC @ =gPlayerState - ldr r1, [r1, #4] - adds r0, #0x27 - strb r1, [r0] - bx lr - .align 2, 0 -_0807F5BC: .4byte gPlayerState - - thumb_func_start sub_0807F5C0 -sub_0807F5C0: @ 0x0807F5C0 - push {r4, lr} - ldr r4, _0807F620 @ =gRoomControls - ldr r1, [r4, #0x30] - cmp r1, #0 - beq _0807F62E - movs r2, #0x2e - ldrsh r0, [r1, r2] - adds r2, r0, #0 - subs r2, #0x78 - movs r3, #0x32 - ldrsh r0, [r1, r3] - adds r3, r0, #0 - subs r3, #0x50 - ldrh r1, [r4, #6] - cmp r2, r1 - bge _0807F5E2 - adds r2, r1, #0 -_0807F5E2: - ldrh r0, [r4, #0x1e] - adds r0, r1, r0 - subs r0, #0xf0 - cmp r2, r0 - ble _0807F5EE - adds r2, r0, #0 -_0807F5EE: - ldrh r1, [r4, #8] - cmp r3, r1 - bge _0807F5F6 - adds r3, r1, #0 -_0807F5F6: - ldrh r0, [r4, #0x20] - adds r0, r1, r0 - subs r0, #0xa0 - cmp r3, r0 - ble _0807F602 - adds r3, r0, #0 -_0807F602: - movs r1, #0xa - ldrsh r0, [r4, r1] - cmp r2, r0 - bne _0807F628 - movs r2, #0xc - ldrsh r0, [r4, r2] - cmp r3, r0 - bne _0807F628 - ldr r2, _0807F624 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - b _0807F62E - .align 2, 0 -_0807F620: .4byte gRoomControls -_0807F624: .4byte gUnk_02033280 -_0807F628: - ldr r1, _0807F630 @ =gUnk_02033280 - movs r0, #0 - strb r0, [r1, #6] -_0807F62E: - pop {r4, pc} - .align 2, 0 -_0807F630: .4byte gUnk_02033280 - - thumb_func_start sub_0807F634 -sub_0807F634: @ 0x0807F634 - push {lr} - ldr r3, [r1, #4] - ldrh r1, [r3] - ldrh r2, [r3, #2] - ldrh r3, [r3, #4] - bl sub_0801DFB4 - ldr r0, _0807F64C @ =gPlayerState - adds r0, #0x8b - movs r1, #3 - strb r1, [r0] - pop {pc} - .align 2, 0 -_0807F64C: .4byte gPlayerState - - thumb_func_start sub_0807F650 -sub_0807F650: @ 0x0807F650 - push {r4, lr} - adds r4, r0, #0 - bl sub_08002632 - ldr r1, _0807F678 @ =gUnk_08001A7C - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - ldrh r1, [r0] - ldrh r2, [r0, #2] - ldrh r3, [r0, #4] - adds r0, r4, #0 - bl sub_0801DFB4 - ldr r0, _0807F67C @ =gPlayerState - adds r0, #0x8b - movs r1, #3 - strb r1, [r0] - pop {r4, pc} - .align 2, 0 -_0807F678: .4byte gUnk_08001A7C -_0807F67C: .4byte gPlayerState - - thumb_func_start sub_0807F680 -sub_0807F680: @ 0x0807F680 - push {lr} - adds r2, r1, #0 - movs r3, #0 - ldr r0, _0807F6A8 @ =gPlayerEntity - movs r1, #0x2e - ldrsh r0, [r0, r1] - ldr r1, _0807F6AC @ =gRoomControls - ldrh r1, [r1, #6] - subs r0, r0, r1 - ldrh r1, [r2, #4] - cmp r0, r1 - ble _0807F69A - movs r3, #1 -_0807F69A: - str r3, [r2, #0x14] - ldr r2, _0807F6B0 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {pc} - .align 2, 0 -_0807F6A8: .4byte gPlayerEntity -_0807F6AC: .4byte gRoomControls -_0807F6B0: .4byte gUnk_02033280 - - thumb_func_start sub_0807F6B4 -sub_0807F6B4: @ 0x0807F6B4 - push {lr} - adds r2, r1, #0 - movs r3, #0 - ldr r0, _0807F6DC @ =gPlayerEntity - movs r1, #0x32 - ldrsh r0, [r0, r1] - ldr r1, _0807F6E0 @ =gRoomControls - ldrh r1, [r1, #8] - subs r0, r0, r1 - ldrh r1, [r2, #4] - cmp r0, r1 - ble _0807F6CE - movs r3, #1 -_0807F6CE: - str r3, [r2, #0x14] - ldr r2, _0807F6E4 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {pc} - .align 2, 0 -_0807F6DC: .4byte gPlayerEntity -_0807F6E0: .4byte gRoomControls -_0807F6E4: .4byte gUnk_02033280 - - thumb_func_start sub_0807F6E8 -sub_0807F6E8: @ 0x0807F6E8 - ldr r2, _0807F6F4 @ =gPlayerState - ldr r0, [r2, #0x30] - ldr r1, [r1, #4] - orrs r0, r1 - str r0, [r2, #0x30] - bx lr - .align 2, 0 -_0807F6F4: .4byte gPlayerState - - thumb_func_start sub_0807F6F8 -sub_0807F6F8: @ 0x0807F6F8 - ldr r2, _0807F704 @ =gPlayerState - ldr r1, [r1, #4] - ldr r0, [r2, #0x30] - bics r0, r1 - str r0, [r2, #0x30] - bx lr - .align 2, 0 -_0807F704: .4byte gPlayerState - - thumb_func_start sub_0807F708 -sub_0807F708: @ 0x0807F708 - push {lr} - ldr r1, [r1, #4] - bl ShowNPCDialogue - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807F714 -sub_0807F714: @ 0x0807F714 - push {lr} - adds r1, r0, #0 - ldr r2, _0807F734 @ =gUnk_08114F30 - ldrb r3, [r1, #0x19] - lsrs r0, r3, #6 - adds r0, r0, r2 - ldrb r2, [r0] - lsls r2, r2, #6 - movs r0, #0x3f - ands r0, r3 - orrs r0, r2 - strb r0, [r1, #0x19] - adds r0, r1, #0 - bl ResolveEntityOnTop - pop {pc} - .align 2, 0 -_0807F734: .4byte gUnk_08114F30 - - thumb_func_start sub_0807F738 -sub_0807F738: @ 0x0807F738 - push {lr} - adds r1, r0, #0 - ldr r2, _0807F758 @ =gUnk_08114F34 - ldrb r3, [r1, #0x19] - lsrs r0, r3, #6 - adds r0, r0, r2 - ldrb r2, [r0] - lsls r2, r2, #6 - movs r0, #0x3f - ands r0, r3 - orrs r0, r2 - strb r0, [r1, #0x19] - adds r0, r1, #0 - bl sub_0806FAD8 - pop {pc} - .align 2, 0 -_0807F758: .4byte gUnk_08114F34 - - thumb_func_start sub_0807F75C -sub_0807F75C: @ 0x0807F75C - push {r4, lr} - ldr r2, [r1, #4] - ldr r3, _0807F774 @ =gPlayerEntity - ldr r1, _0807F778 @ =gRoomControls - asrs r0, r2, #0x10 - ldrh r4, [r1, #6] - adds r0, r0, r4 - strh r0, [r3, #0x2e] - ldrh r0, [r1, #8] - adds r0, r0, r2 - strh r0, [r3, #0x32] - pop {r4, pc} - .align 2, 0 -_0807F774: .4byte gPlayerEntity -_0807F778: .4byte gRoomControls - - thumb_func_start sub_0807F77C -sub_0807F77C: @ 0x0807F77C - push {lr} - ldr r0, [r1, #0x14] - cmp r0, #0 - beq _0807F786 - movs r0, #1 -_0807F786: - str r0, [r1, #4] - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807F78C -sub_0807F78C: @ 0x0807F78C - push {r4, r5, r6, lr} - adds r6, r0, #0 - ldr r5, [r1, #4] - cmp r5, #0 - bne _0807F79A - ldr r0, _0807F7BC @ =gRoomVars - ldrb r5, [r0, #6] -_0807F79A: - adds r0, r5, #0 - bl GetSaleItemConfirmMessageID - adds r4, r0, #0 - adds r0, r5, #0 - bl sub_08053FE0 - adds r5, r0, #0 - adds r0, r4, #0 - adds r1, r6, #0 - bl TextboxNoOverlap - ldr r0, _0807F7C0 @ =gTextBox - lsls r5, r5, #0x10 - lsrs r5, r5, #0x10 - str r5, [r0, #0x10] - pop {r4, r5, r6, pc} - .align 2, 0 -_0807F7BC: .4byte gRoomVars -_0807F7C0: .4byte gTextBox - - thumb_func_start sub_0807F7C4 -sub_0807F7C4: @ 0x0807F7C4 - push {r4, lr} - adds r4, r1, #0 - ldr r0, [r4, #4] - cmp r0, #0 - bne _0807F7D2 - ldr r0, _0807F7F4 @ =gRoomVars - ldrb r0, [r0, #6] -_0807F7D2: - bl sub_08053FE0 - movs r2, #0 - ldr r1, _0807F7F8 @ =gUnk_02002A40 - adds r1, #0xc0 - ldrh r1, [r1] - cmp r0, r1 - bgt _0807F7E4 - movs r2, #1 -_0807F7E4: - str r2, [r4, #0x14] - ldr r2, _0807F7FC @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {r4, pc} - .align 2, 0 -_0807F7F4: .4byte gRoomVars -_0807F7F8: .4byte gUnk_02002A40 -_0807F7FC: .4byte gUnk_02033280 - - thumb_func_start sub_0807F800 -sub_0807F800: @ 0x0807F800 - push {r4, lr} - ldr r4, [r1, #4] - cmp r4, #0 - bne _0807F80C - ldr r0, _0807F834 @ =gRoomVars - ldrb r4, [r0, #6] -_0807F80C: - adds r0, r4, #0 - bl sub_08053FE0 - rsbs r0, r0, #0 - bl ModRupees - adds r0, r4, #0 - movs r1, #0 - movs r2, #0 - bl sub_080A7C18 - ldr r1, _0807F834 @ =gRoomVars - movs r0, #0 - strb r0, [r1, #6] - ldr r2, _0807F838 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {r4, pc} - .align 2, 0 -_0807F834: .4byte gRoomVars -_0807F838: .4byte gUnk_02033280 - - thumb_func_start sub_0807F83C -sub_0807F83C: @ 0x0807F83C - push {lr} - bl sub_08079184 - pop {pc} - - thumb_func_start sub_0807F844 -sub_0807F844: @ 0x0807F844 - push {lr} - ldr r1, _0807F850 @ =gRoomControls - str r0, [r1, #0x30] - bl sub_080809D4 - pop {pc} - .align 2, 0 -_0807F850: .4byte gRoomControls - - thumb_func_start sub_0807F854 -sub_0807F854: @ 0x0807F854 - push {lr} - ldr r1, [r1, #4] - lsrs r2, r1, #0x10 - movs r0, #3 - ands r2, r0 - ldr r3, _0807F870 @ =0x0000FFFF - ands r3, r1 - cmp r2, #4 - bhi _0807F8B4 - lsls r0, r2, #2 - ldr r1, _0807F874 @ =_0807F878 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0807F870: .4byte 0x0000FFFF -_0807F874: .4byte _0807F878 -_0807F878: @ jump table - .4byte _0807F88C @ case 0 - .4byte _0807F88C @ case 1 - .4byte _0807F898 @ case 2 - .4byte _0807F8A4 @ case 3 - .4byte _0807F8B0 @ case 4 -_0807F88C: - ldr r0, _0807F894 @ =gTextBox - str r3, [r0, #0x10] - b _0807F8B4 - .align 2, 0 -_0807F894: .4byte gTextBox -_0807F898: - ldr r0, _0807F8A0 @ =gTextBox - str r3, [r0, #0x14] - b _0807F8B4 - .align 2, 0 -_0807F8A0: .4byte gTextBox -_0807F8A4: - ldr r0, _0807F8AC @ =gTextBox - str r3, [r0, #0x18] - b _0807F8B4 - .align 2, 0 -_0807F8AC: .4byte gTextBox -_0807F8B0: - ldr r0, _0807F8B8 @ =gTextBox - str r3, [r0, #0x1c] -_0807F8B4: - pop {pc} - .align 2, 0 -_0807F8B8: .4byte gTextBox - - thumb_func_start sub_0807F8BC -sub_0807F8BC: @ 0x0807F8BC - push {r4, lr} - adds r4, r1, #0 - bl sub_080040A8 - cmp r0, #0 - beq _0807F8CA - movs r0, #1 -_0807F8CA: - str r0, [r4, #0x14] - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0807F8D0 -sub_0807F8D0: @ 0x0807F8D0 - push {lr} - ldr r1, [r1, #4] - bl sub_08003FC4 - ldr r2, _0807F8E4 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] - pop {pc} - .align 2, 0 -_0807F8E4: .4byte gUnk_02033280 - - thumb_func_start sub_0807F8E8 -sub_0807F8E8: @ 0x0807F8E8 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - movs r1, #0xa6 - movs r2, #0 - movs r3, #0 - bl CreateObjectWithParent - adds r2, r0, #0 - cmp r2, #0 - beq _0807F912 - str r4, [r2, #0x50] - ldr r0, [r5, #4] - ldr r1, _0807F914 @ =0x000003FF - ands r0, r1 - movs r3, #0x80 - lsls r3, r3, #8 - adds r1, r3, #0 - adds r2, #0x86 - orrs r0, r1 - strh r0, [r2] -_0807F912: - pop {r4, r5, pc} - .align 2, 0 -_0807F914: .4byte 0x000003FF - - thumb_func_start sub_0807F918 -sub_0807F918: @ 0x0807F918 - push {lr} - ldr r0, [r1, #4] - bl PutItemOnSlot - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807F924 -sub_0807F924: @ 0x0807F924 - push {lr} - bl sub_0807879C - pop {pc} - - thumb_func_start sub_0807F92C -sub_0807F92C: @ 0x0807F92C - push {lr} - bl sub_080787C0 - pop {pc} - - thumb_func_start sub_0807F934 -sub_0807F934: @ 0x0807F934 - push {lr} - bl sub_080787B4 - pop {pc} - - thumb_func_start sub_0807F93C -sub_0807F93C: @ 0x0807F93C - push {lr} - ldr r2, [r1, #4] - lsrs r1, r2, #8 - movs r3, #0xff - ands r1, r3 - ands r2, r3 - bl CreateSpeechBubbleSleep - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807F950 -sub_0807F950: @ 0x0807F950 - push {lr} - sub sp, #4 - movs r0, #2 - str r0, [sp] - movs r0, #6 - movs r1, #0x56 - movs r2, #6 - movs r3, #0 - bl FindEntityInListByForm - cmp r0, #0 - beq _0807F96C - bl DeleteEntity -_0807F96C: - add sp, #4 - pop {pc} - - thumb_func_start sub_0807F970 -sub_0807F970: @ 0x0807F970 - push {lr} - adds r2, r1, #0 - movs r3, #0 - ldr r1, _0807F988 @ =gUnk_02022780 - ldr r0, [r2, #4] - ldrh r1, [r1, #0x28] - cmp r0, r1 - bne _0807F982 - movs r3, #1 -_0807F982: - str r3, [r2, #0x14] - pop {pc} - .align 2, 0 -_0807F988: .4byte gUnk_02022780 - - thumb_func_start sub_0807F98C -sub_0807F98C: @ 0x0807F98C - ldr r1, [r1, #4] - str r1, [r0, #0x34] - bx lr - .align 2, 0 - - thumb_func_start sub_0807F994 -sub_0807F994: @ 0x0807F994 - ldr r2, [r1, #4] - asrs r1, r2, #0x10 - adds r3, r0, #0 - adds r3, #0x62 - strb r1, [r3] - adds r0, #0x63 - strb r2, [r0] - bx lr - - thumb_func_start sub_0807F9A4 -sub_0807F9A4: @ 0x0807F9A4 - push {lr} - ldr r0, _0807F9BC @ =gPlayerState - adds r0, #0xa8 - ldrb r0, [r0] - subs r0, #5 - cmp r0, #0x17 - bhi _0807FA30 - lsls r0, r0, #2 - ldr r1, _0807F9C0 @ =_0807F9C4 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0807F9BC: .4byte gPlayerState -_0807F9C0: .4byte _0807F9C4 -_0807F9C4: @ jump table - .4byte _0807FA24 @ case 0 - .4byte _0807FA30 @ case 1 - .4byte _0807FA24 @ case 2 - .4byte _0807FA24 @ case 3 - .4byte _0807FA30 @ case 4 - .4byte _0807FA24 @ case 5 - .4byte _0807FA24 @ case 6 - .4byte _0807FA24 @ case 7 - .4byte _0807FA24 @ case 8 - .4byte _0807FA24 @ case 9 - .4byte _0807FA24 @ case 10 - .4byte _0807FA24 @ case 11 - .4byte _0807FA24 @ case 12 - .4byte _0807FA24 @ case 13 - .4byte _0807FA24 @ case 14 - .4byte _0807FA24 @ case 15 - .4byte _0807FA24 @ case 16 - .4byte _0807FA24 @ case 17 - .4byte _0807FA24 @ case 18 - .4byte _0807FA24 @ case 19 - .4byte _0807FA30 @ case 20 - .4byte _0807FA30 @ case 21 - .4byte _0807FA24 @ case 22 - .4byte _0807FA24 @ case 23 -_0807FA24: - ldr r1, _0807FA2C @ =gUnk_02033280 - movs r0, #0 - strb r0, [r1, #6] - b _0807FA3A - .align 2, 0 -_0807FA2C: .4byte gUnk_02033280 -_0807FA30: - ldr r2, _0807FA3C @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] -_0807FA3A: - pop {pc} - .align 2, 0 -_0807FA3C: .4byte gUnk_02033280 - - thumb_func_start sub_0807FA40 -sub_0807FA40: @ 0x0807FA40 - push {lr} - ldr r0, _0807FA58 @ =gPlayerState - adds r0, #0xa8 - ldrb r0, [r0] - subs r0, #5 - cmp r0, #0x17 - bhi _0807FACC - lsls r0, r0, #2 - ldr r1, _0807FA5C @ =_0807FA60 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0807FA58: .4byte gPlayerState -_0807FA5C: .4byte _0807FA60 -_0807FA60: @ jump table - .4byte _0807FAC0 @ case 0 - .4byte _0807FACC @ case 1 - .4byte _0807FAC0 @ case 2 - .4byte _0807FAC0 @ case 3 - .4byte _0807FACC @ case 4 - .4byte _0807FAC0 @ case 5 - .4byte _0807FAC0 @ case 6 - .4byte _0807FAC0 @ case 7 - .4byte _0807FAC0 @ case 8 - .4byte _0807FAC0 @ case 9 - .4byte _0807FAC0 @ case 10 - .4byte _0807FAC0 @ case 11 - .4byte _0807FAC0 @ case 12 - .4byte _0807FAC0 @ case 13 - .4byte _0807FACC @ case 14 - .4byte _0807FAC0 @ case 15 - .4byte _0807FAC0 @ case 16 - .4byte _0807FAC0 @ case 17 - .4byte _0807FAC0 @ case 18 - .4byte _0807FAC0 @ case 19 - .4byte _0807FACC @ case 20 - .4byte _0807FACC @ case 21 - .4byte _0807FAC0 @ case 22 - .4byte _0807FAC0 @ case 23 -_0807FAC0: - ldr r1, _0807FAC8 @ =gUnk_02033280 - movs r0, #0 - strb r0, [r1, #6] - b _0807FAD6 - .align 2, 0 -_0807FAC8: .4byte gUnk_02033280 -_0807FACC: - ldr r2, _0807FAD8 @ =gUnk_02033280 - ldrb r1, [r2, #7] - movs r0, #1 - orrs r0, r1 - strb r0, [r2, #7] -_0807FAD6: - pop {pc} - .align 2, 0 -_0807FAD8: .4byte gUnk_02033280 - - thumb_func_start sub_0807FADC -sub_0807FADC: @ 0x0807FADC - push {r4, lr} - adds r2, r0, #0 - adds r4, r1, #0 - ldrb r0, [r4, #0x18] - cmp r0, #1 - beq _0807FB06 - cmp r0, #1 - bgt _0807FAF2 - cmp r0, #0 - beq _0807FAF8 - b _0807FB1C -_0807FAF2: - cmp r0, #2 - beq _0807FB16 - b _0807FB1C -_0807FAF8: - movs r0, #1 - strb r0, [r4, #0x18] - ldr r1, [r4, #4] - adds r0, r2, #0 - bl sub_0808C650 - b _0807FB1C -_0807FB06: - bl sub_0808C67C - cmp r0, #0 - beq _0807FB1C - ldrb r0, [r4, #0x18] - adds r0, #1 - strb r0, [r4, #0x18] - b _0807FB1C -_0807FB16: - bl sub_0808C688 - b _0807FB22 -_0807FB1C: - ldr r1, _0807FB24 @ =gUnk_02033280 - movs r0, #0 - strb r0, [r1, #6] -_0807FB22: - pop {r4, pc} - .align 2, 0 -_0807FB24: .4byte gUnk_02033280 - - thumb_func_start sub_0807FB28 -sub_0807FB28: @ 0x0807FB28 - push {r4, lr} - adds r4, r1, #0 - ldrb r0, [r4, #0x18] - cmp r0, #0 - bne _0807FB3A - ldr r0, _0807FB54 @ =0x00007FFF - movs r1, #1 - bl sub_0801D7BC -_0807FB3A: - ldrb r0, [r4, #0x18] - adds r0, #1 - strb r0, [r4, #0x18] - ldrb r1, [r4, #0x18] - ldr r0, [r4, #4] - cmp r1, r0 - blo _0807FB58 - movs r0, #0 - movs r1, #0 - bl sub_0801D7BC - b _0807FB5E - .align 2, 0 -_0807FB54: .4byte 0x00007FFF -_0807FB58: - ldr r1, _0807FB60 @ =gUnk_02033280 - movs r0, #0 - strb r0, [r1, #6] -_0807FB5E: - pop {r4, pc} - .align 2, 0 -_0807FB60: .4byte gUnk_02033280 - - thumb_func_start sub_0807FB64 -sub_0807FB64: @ 0x0807FB64 - ldr r0, _0807FB70 @ =gPlayerEntity - ldr r1, [r1, #4] - adds r0, #0x3d - strb r1, [r0] - bx lr - .align 2, 0 -_0807FB70: .4byte gPlayerEntity - - thumb_func_start sub_0807FB74 -sub_0807FB74: @ 0x0807FB74 - ldr r0, _0807FB8C @ =gPlayerState - adds r0, #0x26 - movs r1, #0 - strb r1, [r0] - ldr r1, _0807FB90 @ =gPlayerEntity - adds r1, #0x3c - ldrb r2, [r1] - movs r0, #0xfb - ands r0, r2 - strb r0, [r1] - bx lr - .align 2, 0 -_0807FB8C: .4byte gPlayerState -_0807FB90: .4byte gPlayerEntity - - thumb_func_start sub_0807FB94 -sub_0807FB94: @ 0x0807FB94 - push {lr} - movs r0, #4 - bl InitScreen - pop {pc} - .align 2, 0 - - thumb_func_start sub_0807FBA0 -sub_0807FBA0: @ 0x0807FBA0 - ldr r2, _0807FBB0 @ =gRoomControls - ldrh r1, [r2, #0xa] - adds r1, #0x78 - strh r1, [r0, #0x2e] - ldrh r1, [r2, #0xc] - adds r1, #0x50 - strh r1, [r0, #0x32] - bx lr - .align 2, 0 -_0807FBB0: .4byte gRoomControls - - thumb_func_start sub_0807FBB4 -sub_0807FBB4: @ 0x0807FBB4 - ldr r2, _0807FBC0 @ =gPlayerState - ldrb r1, [r2, #0x1a] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r2, #0x1a] - bx lr - .align 2, 0 -_0807FBC0: .4byte gPlayerState - - thumb_func_start sub_0807FBC4 -sub_0807FBC4: @ 0x0807FBC4 - push {lr} - bl sub_0805E4A0 - pop {pc} - - thumb_func_start sub_0807FBCC -sub_0807FBCC: @ 0x0807FBCC - push {lr} - bl sub_0805E4CC - pop {pc} - - thumb_func_start sub_0807FBD4 -sub_0807FBD4: @ 0x0807FBD4 - push {r4, lr} - adds r4, r0, #0 - movs r0, #0x24 - ldrsh r1, [r4, r0] - ldrb r2, [r4, #0x15] - adds r0, r4, #0 - bl sub_0806F62C - adds r0, r4, #0 - bl sub_080040A8 - cmp r0, #0 - beq _0807FBF4 - ldr r1, _0807FBF8 @ =gUnk_02033280 - movs r0, #0 - strb r0, [r1, #6] -_0807FBF4: - pop {r4, pc} - .align 2, 0 -_0807FBF8: .4byte gUnk_02033280 - - thumb_func_start sub_0807FBFC -sub_0807FBFC: @ 0x0807FBFC - ldr r3, _0807FC20 @ =gUnk_02002A40 - adds r0, r3, #0 - adds r0, #0xb2 - movs r1, #0 - strb r1, [r0] - adds r0, #0x12 - movs r2, #0 - strh r1, [r0] - subs r0, #0x11 - strb r2, [r0] - adds r0, #0x13 - strh r1, [r0] - subs r0, #0xc - strb r2, [r0] - adds r0, #0xe - strh r1, [r0] - bx lr - .align 2, 0 -_0807FC20: .4byte gUnk_02002A40 - - thumb_func_start sub_0807FC24 -sub_0807FC24: @ 0x0807FC24 - push {lr} - ldr r0, _0807FC3C @ =gRoomControls - ldrb r0, [r0, #5] - movs r1, #0xd1 - cmp r0, #1 - bne _0807FC32 - movs r1, #0xcf -_0807FC32: - adds r0, r1, #0 - bl SetLocalFlag - pop {pc} - .align 2, 0 -_0807FC3C: .4byte gRoomControls - - thumb_func_start sub_0807FC40 -sub_0807FC40: @ 0x0807FC40 - push {lr} - ldr r0, _0807FC5C @ =gRoomControls - ldrb r2, [r0, #0xf] - movs r1, #0xfb - ands r1, r2 - strb r1, [r0, #0xf] - ldr r2, _0807FC60 @ =gUnk_0811E768 - ldrb r1, [r0, #2] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0807FC5C: .4byte gRoomControls -_0807FC60: .4byte gUnk_0811E768 - - thumb_func_start sub_0807FC64 -sub_0807FC64: @ 0x0807FC64 - push {lr} - movs r2, #0 - movs r1, #1 - strb r1, [r0, #2] - strh r2, [r0] - movs r1, #4 - strb r1, [r0, #0xe] - bl sub_0807FC7C - bl sub_080805F8 - pop {pc} - - thumb_func_start sub_0807FC7C -sub_0807FC7C: @ 0x0807FC7C - push {r4, r5, r6, r7, lr} - adds r2, r0, #0 - ldr r0, [r2, #0x30] - cmp r0, #0 - bne _0807FC88 - b _0807FDA6 -_0807FC88: - movs r1, #0xa - ldrsh r4, [r2, r1] - movs r1, #0x2e - ldrsh r0, [r0, r1] - subs r0, #0x78 - subs r3, r4, r0 - cmp r3, #0 - beq _0807FD16 - ldrh r6, [r2, #0xa] - movs r7, #7 - ands r7, r6 - mov ip, r6 - cmp r3, #0 - ble _0807FCDC - ldrh r0, [r2, #6] - adds r5, r0, #0 - cmp r5, r4 - bge _0807FD16 - ldrb r0, [r2, #0xe] - cmp r0, r3 - bgt _0807FCBC - adds r3, r0, #0 - ldrb r1, [r2, #0xf] - movs r0, #4 - orrs r0, r1 - strb r0, [r2, #0xf] -_0807FCBC: - mov r1, ip - subs r0, r1, r3 - strh r0, [r2, #0xa] - subs r0, r7, r3 - cmp r0, #0 - bgt _0807FCCE - ldr r1, _0807FCD8 @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] -_0807FCCE: - movs r1, #0xa - ldrsh r0, [r2, r1] - cmp r5, r0 - blt _0807FD16 - b _0807FD14 - .align 2, 0 -_0807FCD8: .4byte gUnk_02000070 -_0807FCDC: - ldrh r0, [r2, #6] - ldrh r1, [r2, #0x1e] - adds r0, r0, r1 - adds r5, r0, #0 - subs r5, #0xf0 - cmp r4, r5 - bge _0807FD16 - ldrb r0, [r2, #0xe] - rsbs r0, r0, #0 - cmp r0, r3 - blt _0807FCFC - adds r3, r0, #0 - ldrb r1, [r2, #0xf] - movs r0, #4 - orrs r0, r1 - strb r0, [r2, #0xf] -_0807FCFC: - subs r0, r6, r3 - strh r0, [r2, #0xa] - subs r0, r7, r3 - cmp r0, #7 - ble _0807FD0C - ldr r1, _0807FD68 @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] -_0807FD0C: - movs r1, #0xa - ldrsh r0, [r2, r1] - cmp r0, r5 - blt _0807FD16 -_0807FD14: - strh r5, [r2, #0xa] -_0807FD16: - movs r0, #0xc - ldrsh r4, [r2, r0] - ldr r0, [r2, #0x30] - movs r1, #0x32 - ldrsh r0, [r0, r1] - subs r0, #0x50 - subs r3, r4, r0 - cmp r3, #0 - beq _0807FDA6 - ldrh r6, [r2, #0xc] - movs r7, #7 - ands r7, r6 - mov ip, r6 - cmp r3, #0 - ble _0807FD6C - ldrh r0, [r2, #8] - adds r5, r0, #0 - cmp r5, r4 - bge _0807FDA6 - ldrb r0, [r2, #0xe] - cmp r0, r3 - bgt _0807FD4C - adds r3, r0, #0 - ldrb r1, [r2, #0xf] - movs r0, #4 - orrs r0, r1 - strb r0, [r2, #0xf] -_0807FD4C: - mov r1, ip - subs r0, r1, r3 - strh r0, [r2, #0xc] - subs r0, r7, r3 - cmp r0, #0 - bgt _0807FD5E - ldr r1, _0807FD68 @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] -_0807FD5E: - movs r1, #0xc - ldrsh r0, [r2, r1] - cmp r5, r0 - blt _0807FDA6 - b _0807FDA4 - .align 2, 0 -_0807FD68: .4byte gUnk_02000070 -_0807FD6C: - ldrh r0, [r2, #8] - ldrh r1, [r2, #0x20] - adds r0, r0, r1 - adds r5, r0, #0 - subs r5, #0xa0 - cmp r4, r5 - bge _0807FDA6 - ldrb r0, [r2, #0xe] - rsbs r0, r0, #0 - cmp r0, r3 - blt _0807FD8C - adds r3, r0, #0 - ldrb r1, [r2, #0xf] - movs r0, #4 - orrs r0, r1 - strb r0, [r2, #0xf] -_0807FD8C: - subs r0, r6, r3 - strh r0, [r2, #0xc] - subs r0, r7, r3 - cmp r0, #7 - ble _0807FD9C - ldr r1, _0807FDAC @ =gUnk_02000070 - movs r0, #1 - strb r0, [r1] -_0807FD9C: - movs r1, #0xc - ldrsh r0, [r2, r1] - cmp r0, r5 - blt _0807FDA6 -_0807FDA4: - strh r5, [r2, #0xc] -_0807FDA6: - bl sub_08080BC4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0807FDAC: .4byte gUnk_02000070 - - thumb_func_start sub_0807FDB0 -sub_0807FDB0: @ 0x0807FDB0 - push {lr} - ldr r2, _0807FDC4 @ =gUnk_0811E780 - ldrb r1, [r0, #3] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0807FDC4: .4byte gUnk_0811E780 - - thumb_func_start sub_0807FDC8 -sub_0807FDC8: @ 0x0807FDC8 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, _0807FDE0 @ =gUnk_02000070 - movs r0, #1 - strb r0, [r4] - bl sub_08000108 - movs r1, #0 - movs r0, #1 - strb r0, [r5, #3] - strb r1, [r4] - pop {r4, r5, pc} - .align 2, 0 -_0807FDE0: .4byte gUnk_02000070 - - thumb_func_start sub_0807FDE4 -sub_0807FDE4: @ 0x0807FDE4 - movs r2, #0 - movs r1, #2 - strb r1, [r0, #3] - strh r2, [r0, #0x18] - ldr r0, _0807FDF4 @ =gUnk_02000070 - strb r1, [r0] - bx lr - .align 2, 0 -_0807FDF4: .4byte gUnk_02000070 - - thumb_func_start sub_0807FDF8 -sub_0807FDF8: @ 0x0807FDF8 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _0807FE18 @ =gUnk_02000070 - movs r0, #2 - strb r0, [r1] - ldrh r0, [r4, #0x18] - adds r0, #1 - strh r0, [r4, #0x18] - ldrb r0, [r4, #0x10] - cmp r0, #1 - beq _0807FE44 - cmp r0, #1 - bgt _0807FE1C - cmp r0, #0 - beq _0807FE26 - b _0807FEB6 - .align 2, 0 -_0807FE18: .4byte gUnk_02000070 -_0807FE1C: - cmp r0, #2 - beq _0807FE68 - cmp r0, #3 - beq _0807FE94 - b _0807FEB6 -_0807FE26: - ldrh r0, [r4, #0xc] - subs r0, #4 - strh r0, [r4, #0xc] - ldr r1, [r4, #0x30] - ldr r0, _0807FE3C @ =gPlayerEntity - cmp r1, r0 - bne _0807FE80 - ldr r0, [r1, #0x30] - ldr r2, _0807FE40 @ =0xFFFFA000 - b _0807FE7C - .align 2, 0 -_0807FE3C: .4byte gPlayerEntity -_0807FE40: .4byte 0xFFFFA000 -_0807FE44: - ldrh r0, [r4, #0xa] - adds r0, #4 - strh r0, [r4, #0xa] - ldr r1, [r4, #0x30] - ldr r0, _0807FE64 @ =gPlayerEntity - cmp r1, r0 - bne _0807FE5C - ldr r0, [r1, #0x2c] - movs r2, #0x80 - lsls r2, r2, #7 - adds r0, r0, r2 - str r0, [r1, #0x2c] -_0807FE5C: - ldrh r0, [r4, #0x18] - cmp r0, #0x3c - bne _0807FEB6 - b _0807FE86 - .align 2, 0 -_0807FE64: .4byte gPlayerEntity -_0807FE68: - ldrh r0, [r4, #0xc] - adds r0, #4 - strh r0, [r4, #0xc] - ldr r1, [r4, #0x30] - ldr r0, _0807FE90 @ =gPlayerEntity - cmp r1, r0 - bne _0807FE80 - ldr r0, [r1, #0x30] - movs r2, #0xc0 - lsls r2, r2, #7 -_0807FE7C: - adds r0, r0, r2 - str r0, [r1, #0x30] -_0807FE80: - ldrh r0, [r4, #0x18] - cmp r0, #0x28 - bne _0807FEB6 -_0807FE86: - adds r0, r4, #0 - bl sub_0807FEC8 - b _0807FEB6 - .align 2, 0 -_0807FE90: .4byte gPlayerEntity -_0807FE94: - ldrh r0, [r4, #0xa] - subs r0, #4 - strh r0, [r4, #0xa] - ldr r1, [r4, #0x30] - ldr r0, _0807FEC0 @ =gPlayerEntity - cmp r1, r0 - bne _0807FEAA - ldr r0, [r1, #0x2c] - ldr r2, _0807FEC4 @ =0xFFFFC000 - adds r0, r0, r2 - str r0, [r1, #0x2c] -_0807FEAA: - ldrh r0, [r4, #0x18] - cmp r0, #0x3c - bne _0807FEB6 - adds r0, r4, #0 - bl sub_0807FEC8 -_0807FEB6: - movs r0, #0 - strh r0, [r4, #0x16] - bl sub_08080BC4 - pop {r4, pc} - .align 2, 0 -_0807FEC0: .4byte gPlayerEntity -_0807FEC4: .4byte 0xFFFFC000 - - thumb_func_start sub_0807FEC8 -sub_0807FEC8: @ 0x0807FEC8 - push {r4, r5, lr} - adds r5, r0, #0 - movs r0, #0 - strb r0, [r5, #2] - subs r0, #1 - ldr r4, _0807FEEC @ =gUnk_03003FC0 - adds r1, r4, #0 - movs r2, #0x40 - bl _DmaFill32 - subs r4, #0x40 - ldr r1, [r5, #0x30] - ldrh r0, [r1, #0x2e] - strh r0, [r4, #0x16] - ldrh r0, [r1, #0x32] - strh r0, [r4, #0x18] - pop {r4, r5, pc} - .align 2, 0 -_0807FEEC: .4byte gUnk_03003FC0 - - thumb_func_start sub_0807FEF0 -sub_0807FEF0: @ 0x0807FEF0 - push {lr} - ldr r2, _0807FF04 @ =gUnk_0811E78C - ldrb r1, [r0, #3] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0807FF04: .4byte gUnk_0811E78C - - thumb_func_start sub_0807FF08 -sub_0807FF08: @ 0x0807FF08 - movs r2, #0 - movs r1, #1 - strb r1, [r0, #3] - strh r2, [r0, #0x18] - ldr r1, _0807FF18 @ =gUnk_02000070 - movs r0, #3 - strb r0, [r1] - bx lr - .align 2, 0 -_0807FF18: .4byte gUnk_02000070 - - thumb_func_start sub_0807FF1C -sub_0807FF1C: @ 0x0807FF1C - push {lr} - adds r2, r0, #0 - ldr r0, _0807FF4C @ =gScreenTransition - ldr r0, [r0] - movs r1, #1 - ands r0, r1 - cmp r0, #0 - bne _0807FF48 - ldr r1, _0807FF50 @ =gUnk_02000070 - movs r0, #3 - strb r0, [r1] - ldrh r0, [r2, #0x18] - adds r0, #1 - strh r0, [r2, #0x18] - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #0x13 - bls _0807FF48 - movs r0, #0 - strb r0, [r2, #2] - bl sub_0805E5B4 -_0807FF48: - pop {pc} - .align 2, 0 -_0807FF4C: .4byte gScreenTransition -_0807FF50: .4byte gUnk_02000070 - - thumb_func_start sub_0807FF54 -sub_0807FF54: @ 0x0807FF54 - push {lr} - ldr r2, _0807FF68 @ =gUnk_0811E794 - ldrb r1, [r0, #3] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0807FF68: .4byte gUnk_0811E794 - - thumb_func_start sub_0807FF6C -sub_0807FF6C: @ 0x0807FF6C - push {r4, lr} - movs r1, #1 - strb r1, [r0, #3] - ldr r3, _0807FFC8 @ =gScreen - ldrh r1, [r3] - movs r2, #0x80 - lsls r2, r2, #7 - adds r0, r2, #0 - orrs r0, r1 - strh r0, [r3] - adds r2, r3, #0 - adds r2, #0x60 - ldrb r0, [r2] - movs r4, #0xb8 - lsls r4, r4, #5 - adds r1, r4, #0 - orrs r0, r1 - strh r0, [r2] - adds r2, #2 - ldrh r1, [r2] - movs r0, #0xff - lsls r0, r0, #8 - ands r0, r1 - movs r1, #7 - movs r4, #0 - orrs r0, r1 - strh r0, [r2] - adds r0, r3, #0 - adds r0, #0x5a - movs r1, #0xf0 - strh r1, [r0] - adds r0, #4 - strh r1, [r0] - bl ResetPlayer - bl sub_080791D0 - ldr r0, _0807FFCC @ =gUnk_03004030 - ldrb r0, [r0, #8] - cmp r0, #0 - beq _0807FFD4 - ldr r1, _0807FFD0 @ =gPlayerEntity - movs r0, #4 - strb r0, [r1, #0x14] - b _0807FFD8 - .align 2, 0 -_0807FFC8: .4byte gScreen -_0807FFCC: .4byte gUnk_03004030 -_0807FFD0: .4byte gPlayerEntity -_0807FFD4: - ldr r0, _0807FFE0 @ =gPlayerEntity - strb r4, [r0, #0x14] -_0807FFD8: - bl sub_080809D4 - pop {r4, pc} - .align 2, 0 -_0807FFE0: .4byte gPlayerEntity - - thumb_func_start sub_0807FFE4 -sub_0807FFE4: @ 0x0807FFE4 - push {r4, r5, lr} - adds r5, r0, #0 - movs r0, #2 - strb r0, [r5, #3] - bl sub_080803D0 - adds r0, #6 - strh r0, [r5, #0x18] - ldr r4, _0808002C @ =gUnk_0200B640 - bl sub_08080278 - strh r0, [r4] - ldr r1, _08080030 @ =gUnk_08109194 - ldr r0, _08080034 @ =gUnk_03004030 - ldr r0, [r0] - ldrb r0, [r0, #3] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - ldr r0, [r0] - bl sub_080197D4 - ldr r4, _08080038 @ =gMapDataTop - ldrh r1, [r5, #0x1e] - lsrs r1, r1, #4 - ldrh r2, [r5, #0x20] - lsrs r2, r2, #4 - adds r0, r4, #0 - bl sub_0807C8B0 - ldr r0, _0808003C @ =gMapDataTopSpecial - subs r4, #4 - adds r1, r4, #0 - bl sub_0801AB08 - pop {r4, r5, pc} - .align 2, 0 -_0808002C: .4byte gUnk_0200B640 -_08080030: .4byte gUnk_08109194 -_08080034: .4byte gUnk_03004030 -_08080038: .4byte gMapDataTop -_0808003C: .4byte gMapDataTopSpecial - - thumb_func_start sub_08080040 -sub_08080040: @ 0x08080040 - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - ldrh r4, [r5, #0x18] - subs r4, #6 - strh r4, [r5, #0x18] - ldrh r0, [r5, #0x18] - lsls r0, r0, #1 - movs r1, #3 - bl __divsi3 - strh r0, [r5, #0x1a] - lsls r4, r4, #0x10 - lsrs r4, r4, #0x10 - cmp r4, #0x2a - bls _080800C6 - ldr r3, [r5, #0x30] - movs r1, #0x2e - ldrsh r0, [r3, r1] - movs r2, #0xa - ldrsh r1, [r5, r2] - subs r2, r0, r1 - ldrh r1, [r5, #0x18] - subs r0, r2, r1 - adds r7, r0, #0 - adds r7, #8 - cmp r7, #0 - bge _08080078 - movs r7, #0 -_08080078: - adds r0, r2, r1 - adds r6, r0, #0 - subs r6, #8 - cmp r6, #0xf0 - ble _08080084 - movs r6, #0xf0 -_08080084: - movs r1, #0x32 - ldrsh r0, [r3, r1] - movs r2, #0xc - ldrsh r1, [r5, r2] - subs r2, r0, r1 - ldrh r1, [r5, #0x1a] - subs r0, r2, r1 - adds r4, r0, #0 - adds r4, #8 - cmp r4, #0 - bge _0808009C - movs r4, #0 -_0808009C: - adds r0, r2, r1 - adds r3, r0, #0 - subs r3, #8 - cmp r3, #0xa0 - ble _080800A8 - movs r3, #0xa0 -_080800A8: - ldr r2, _080800F0 @ =gScreen - movs r1, #0xff - ands r7, r1 - lsls r0, r7, #8 - ands r6, r1 - orrs r0, r6 - adds r6, r2, #0 - adds r6, #0x5a - strh r0, [r6] - ands r4, r1 - lsls r0, r4, #8 - ands r3, r1 - orrs r0, r3 - adds r2, #0x5e - strh r0, [r2] -_080800C6: - ldrh r0, [r5, #0x18] - cmp r0, #0 - bne _080800FC - movs r0, #3 - strb r0, [r5, #3] - bl sub_0805E9F4 - bl sub_0807C810 - ldr r1, _080800F4 @ =gUnk_08109194 - ldr r0, _080800F8 @ =gUnk_03004030 - ldr r0, [r0] - ldrb r0, [r0, #3] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - ldr r0, [r0, #4] - bl sub_08080C80 - b _08080102 - .align 2, 0 -_080800F0: .4byte gScreen -_080800F4: .4byte gUnk_08109194 -_080800F8: .4byte gUnk_03004030 -_080800FC: - ldr r1, _08080104 @ =gUnk_02000070 - movs r0, #4 - strb r0, [r1] -_08080102: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08080104: .4byte gUnk_02000070 - - thumb_func_start sub_08080108 -sub_08080108: @ 0x08080108 - push {r4, r5, r6, lr} - movs r1, #4 - strb r1, [r0, #3] - ldr r5, _08080178 @ =gMapDataBottom - movs r0, #0xc0 - lsls r0, r0, #6 - adds r1, r5, r0 - movs r6, #0x80 - lsls r6, r6, #6 - adds r0, r5, #0 - adds r2, r6, #0 - bl _DmaCopy - ldr r4, _0808017C @ =gMapDataTop - movs r0, #0xc0 - lsls r0, r0, #6 - adds r1, r4, r0 - adds r0, r4, #0 - adds r2, r6, #0 - bl _DmaCopy - bl sub_08080368 - ldr r1, _08080180 @ =gUnk_02034480 - ldr r0, _08080184 @ =gUnk_0200B640 - ldrh r0, [r0] - strh r0, [r1] - ldr r0, _08080188 @ =gUnk_02022830 - ldr r1, _0808018C @ =gUnk_020246B0 - movs r2, #0xc0 - lsls r2, r2, #5 - bl _DmaCopy - subs r5, #4 - adds r0, r5, #0 - bl sub_08080B60 - subs r4, #4 - adds r0, r4, #0 - bl sub_08080B60 - bl sub_0807BBE4 - bl sub_0807BC84 - bl sub_0805E248 - ldr r0, _08080190 @ =gUnk_02019EE0 - adds r1, r5, #0 - bl sub_0801AB08 - ldr r0, _08080194 @ =gMapDataTopSpecial - adds r1, r4, #0 - bl sub_0801AB08 - pop {r4, r5, r6, pc} - .align 2, 0 -_08080178: .4byte gMapDataBottom -_0808017C: .4byte gMapDataTop -_08080180: .4byte gUnk_02034480 -_08080184: .4byte gUnk_0200B640 -_08080188: .4byte gUnk_02022830 -_0808018C: .4byte gUnk_020246B0 -_08080190: .4byte gUnk_02019EE0 -_08080194: .4byte gMapDataTopSpecial - - thumb_func_start sub_08080198 -sub_08080198: @ 0x08080198 - push {r4, lr} - movs r1, #5 - strb r1, [r0, #3] - movs r4, #0 - movs r1, #0xff - strh r1, [r0, #0x1c] - bl LoadRoom - bl sub_0804AFF4 - ldr r0, _080801B8 @ =gUnk_02000070 - strb r4, [r0] - bl sub_080805F8 - pop {r4, pc} - .align 2, 0 -_080801B8: .4byte gUnk_02000070 - - thumb_func_start sub_080801BC -sub_080801BC: @ 0x080801BC - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - ldrh r4, [r5, #0x18] - adds r4, #6 - strh r4, [r5, #0x18] - ldrh r0, [r5, #0x18] - lsls r0, r0, #1 - movs r1, #3 - bl __divsi3 - strh r0, [r5, #0x1a] - lsls r4, r4, #0x10 - lsrs r4, r4, #0x10 - cmp r4, #0x1e - bls _08080232 - ldr r2, [r5, #0x30] - movs r0, #0x2e - ldrsh r1, [r2, r0] - movs r3, #0xa - ldrsh r0, [r5, r3] - subs r0, r1, r0 - ldrh r1, [r5, #0x18] - subs r7, r0, r1 - cmp r7, #0 - bge _080801F0 - movs r7, #0 -_080801F0: - adds r6, r0, r1 - cmp r6, #0xf0 - ble _080801F8 - movs r6, #0xf0 -_080801F8: - movs r0, #0x32 - ldrsh r1, [r2, r0] - movs r2, #0xc - ldrsh r0, [r5, r2] - subs r0, r1, r0 - ldrh r1, [r5, #0x1a] - subs r4, r0, r1 - cmp r4, #0 - bge _0808020C - movs r4, #0 -_0808020C: - adds r3, r0, r1 - cmp r3, #0xa0 - ble _08080214 - movs r3, #0xa0 -_08080214: - ldr r2, _08080260 @ =gScreen - movs r1, #0xff - ands r7, r1 - lsls r0, r7, #8 - ands r6, r1 - orrs r0, r6 - adds r6, r2, #0 - adds r6, #0x5a - strh r0, [r6] - ands r4, r1 - lsls r0, r4, #8 - ands r3, r1 - orrs r0, r3 - adds r2, #0x5e - strh r0, [r2] -_08080232: - ldrh r0, [r5, #0x1c] - cmp r0, #0 - bne _08080268 - strb r0, [r5, #2] - strh r0, [r5] - bl sub_0805E5B4 - ldr r1, _08080260 @ =gScreen - ldrh r2, [r1] - ldr r0, _08080264 @ =0x0000BFFF - ands r0, r2 - strh r0, [r1] - adds r2, r1, #0 - adds r2, #0x60 - ldrb r0, [r2] - strh r0, [r2] - adds r1, #0x62 - ldrh r2, [r1] - movs r0, #0xff - lsls r0, r0, #8 - ands r0, r2 - strh r0, [r1] - b _08080272 - .align 2, 0 -_08080260: .4byte gScreen -_08080264: .4byte 0x0000BFFF -_08080268: - ldr r0, _08080274 @ =gUnk_02000070 - movs r1, #4 - strb r1, [r0] - movs r0, #0 - strh r0, [r5, #0x1c] -_08080272: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08080274: .4byte gUnk_02000070 - - thumb_func_start sub_08080278 -sub_08080278: @ 0x08080278 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #8 - ldr r0, _08080344 @ =gUnk_02022830 - mov ip, r0 - ldr r1, _08080348 @ =gRoomControls - ldrh r0, [r1, #0x1e] - lsrs r0, r0, #4 - str r0, [sp] - ldrh r0, [r1, #0x20] - lsrs r0, r0, #4 - lsls r0, r0, #6 - str r0, [sp, #4] - movs r5, #0 - mov sl, r5 - cmp r5, r0 - bhs _08080336 - mov sb, r5 -_080802A2: - movs r1, #0 - mov r8, r1 - ldr r0, [sp] - cmp r8, r0 - bhs _08080328 - ldr r4, _0808034C @ =gMapDataTop - add r4, sb - ldr r7, _08080350 @ =gUnk_0200E654 - add r7, sb - ldr r3, _08080354 @ =gMapDataBottom - add r3, sb - ldr r6, _08080358 @ =gUnk_02028EB4 - add r6, sb -_080802BC: - mov r2, sl - add r2, r8 - ldrh r0, [r6] - ldrh r1, [r3] - cmp r0, r1 - beq _080802EA - ldr r0, _0808035C @ =0x00003FFF - cmp r1, r0 - bhi _080802EA - adds r0, #1 - adds r1, r0, #0 - adds r0, r2, #0 - orrs r0, r1 - mov r1, ip - strh r0, [r1] - ldrh r0, [r3] - strh r0, [r1, #2] - movs r0, #4 - add ip, r0 - adds r5, #1 - ldr r0, _08080360 @ =0x000005FF - cmp r5, r0 - bhi _08080336 -_080802EA: - ldrh r0, [r7] - ldrh r1, [r4] - cmp r0, r1 - beq _08080316 - ldr r0, _0808035C @ =0x00003FFF - cmp r1, r0 - bhi _08080316 - movs r1, #0x80 - lsls r1, r1, #8 - adds r0, r1, #0 - orrs r2, r0 - mov r0, ip - strh r2, [r0] - ldrh r0, [r4] - mov r1, ip - strh r0, [r1, #2] - movs r0, #4 - add ip, r0 - adds r5, #1 - ldr r0, _08080364 @ =0x000007FF - cmp r5, r0 - bhi _08080336 -_08080316: - adds r4, #2 - adds r7, #2 - adds r3, #2 - adds r6, #2 - movs r1, #1 - add r8, r1 - ldr r0, [sp] - cmp r8, r0 - blo _080802BC -_08080328: - movs r1, #0x80 - add sb, r1 - movs r0, #0x40 - add sl, r0 - ldr r1, [sp, #4] - cmp sl, r1 - blo _080802A2 -_08080336: - adds r0, r5, #0 - add sp, #8 - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08080344: .4byte gUnk_02022830 -_08080348: .4byte gRoomControls -_0808034C: .4byte gMapDataTop -_08080350: .4byte gUnk_0200E654 -_08080354: .4byte gMapDataBottom -_08080358: .4byte gUnk_02028EB4 -_0808035C: .4byte 0x00003FFF -_08080360: .4byte 0x000005FF -_08080364: .4byte 0x000007FF - - thumb_func_start sub_08080368 -sub_08080368: @ 0x08080368 - push {r4, r5, r6, r7, lr} - ldr r0, _08080384 @ =gUnk_03004030 - ldr r1, _08080388 @ =gRoomControls - ldrb r0, [r0, #0xa] - ldrb r1, [r1, #4] - cmp r0, r1 - beq _08080390 - cmp r0, #0xff - beq _08080390 - ldr r1, _0808038C @ =gUnk_02034480 - movs r0, #0 - strh r0, [r1] - b _080803BE - .align 2, 0 -_08080384: .4byte gUnk_03004030 -_08080388: .4byte gRoomControls -_0808038C: .4byte gUnk_02034480 -_08080390: - ldr r5, _080803C0 @ =gUnk_020246B0 - ldr r0, _080803C4 @ =gUnk_02034480 - ldrh r0, [r0] - lsls r6, r0, #1 - movs r4, #0 - cmp r4, r6 - bhs _080803B8 - ldr r0, _080803C8 @ =0x00000FFF - adds r7, r0, #0 -_080803A2: - ldrh r0, [r5, #2] - ldrh r2, [r5] - adds r1, r7, #0 - ands r1, r2 - lsrs r2, r2, #0xe - bl sub_0807B9B8 - adds r5, #4 - adds r4, #2 - cmp r4, r6 - blo _080803A2 -_080803B8: - ldr r1, _080803CC @ =gUnk_02000070 - movs r0, #0 - strb r0, [r1] -_080803BE: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080803C0: .4byte gUnk_020246B0 -_080803C4: .4byte gUnk_02034480 -_080803C8: .4byte 0x00000FFF -_080803CC: .4byte gUnk_02000070 - - thumb_func_start sub_080803D0 -sub_080803D0: @ 0x080803D0 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #0x38 - ldr r1, _080804F0 @ =gRoomControls - movs r2, #0xa - ldrsh r0, [r1, r2] - ldrh r2, [r1, #6] - subs r0, r0, r2 - str r0, [sp, #0x18] - ldr r3, [r1, #0x30] - movs r4, #0x2e - ldrsh r0, [r3, r4] - subs r0, r0, r2 - str r0, [sp, #0x10] - movs r2, #0xc - ldrsh r0, [r1, r2] - ldrh r1, [r1, #8] - subs r0, r0, r1 - str r0, [sp, #0x1c] - movs r4, #0x32 - ldrsh r0, [r3, r4] - subs r0, r0, r1 - str r0, [sp, #0x14] - movs r0, #0x3c - str r0, [sp, #8] -_08080408: - movs r7, #0 - ldr r1, [sp, #8] - adds r1, #6 - str r1, [sp, #8] - adds r2, r1, #0 - muls r2, r1, r2 - mov sl, r2 - lsls r4, r1, #1 - adds r0, r4, #0 - movs r1, #3 - bl __divsi3 - str r0, [sp, #0xc] - adds r1, r0, #0 - muls r1, r0, r1 - mov sb, r1 - movs r2, #0 - str r2, [sp, #4] - rsbs r4, r4, #0 - adds r4, #1 - mov r0, sb - muls r0, r4, r0 - mov r4, sl - lsls r5, r4, #1 - adds r4, r0, r5 - ldr r0, [sp, #8] - mov r6, sb - muls r6, r0, r6 - adds r0, r6, #0 - mov r1, sl - bl __divsi3 - adds r2, r0, #0 - cmp r7, r2 - bgt _08080506 - ldr r1, [sp, #0x18] - adds r1, #0xf8 - str r1, [sp, #0x20] - mov r1, sl - adds r0, r5, r1 - lsls r3, r0, #1 - str r6, [sp, #0x2c] - ldr r0, [sp, #8] - lsls r1, r0, #2 - rsbs r1, r1, #0 - adds r1, #4 - mov r8, r1 - rsbs r0, r0, #0 - adds r0, #8 - ldr r1, [sp, #0x10] - adds r6, r0, r1 - ldr r0, [sp, #8] - adds r5, r0, r1 - mov r0, r8 - mov r1, sb - muls r1, r0, r1 - mov r8, r1 -_0808047A: - ldr r1, [sp, #0x1c] - adds r1, #0xa8 - mov ip, r1 - ldr r0, [sp, #0x14] - ldr r1, [sp, #4] - adds r0, r0, r1 - str r0, [sp, #0x34] - cmp ip, r0 - ble _080804A0 - ldr r0, [sp, #0x20] - cmp r0, r5 - ble _08080496 - movs r0, #1 - orrs r7, r0 -_08080496: - ldr r1, [sp, #0x18] - cmp r1, r6 - bge _080804A0 - movs r0, #2 - orrs r7, r0 -_080804A0: - ldr r0, [sp, #0x14] - ldr r1, [sp, #4] - subs r0, r0, r1 - mov ip, r0 - adds r0, #8 - ldr r1, [sp, #0x1c] - cmp r1, r0 - bge _080804C4 - ldr r0, [sp, #0x20] - cmp r0, r5 - ble _080804BA - movs r0, #4 - orrs r7, r0 -_080804BA: - ldr r1, [sp, #0x18] - cmp r1, r6 - bge _080804C4 - movs r0, #8 - orrs r7, r0 -_080804C4: - cmp r4, #0 - ble _080804F4 - mov r2, r8 - adds r0, r2, r3 - adds r4, r4, r0 - ldr r0, [sp, #0x2c] - mov r1, sb - subs r0, r0, r1 - str r0, [sp, #0x2c] - lsls r0, r1, #2 - add r8, r0 - adds r6, #1 - subs r5, #1 - ldr r0, [sp, #0x2c] - mov r1, sl - str r3, [sp, #0x30] - bl __divsi3 - adds r2, r0, #0 - ldr r3, [sp, #0x30] - b _080804F6 - .align 2, 0 -_080804F0: .4byte gRoomControls -_080804F4: - adds r4, r4, r3 -_080804F6: - mov r1, sl - lsls r0, r1, #2 - adds r3, r3, r0 - ldr r0, [sp, #4] - adds r0, #1 - str r0, [sp, #4] - cmp r0, r2 - ble _0808047A -_08080506: - movs r1, #0 - str r1, [sp] - ldr r2, [sp, #0xc] - str r2, [sp, #4] - mov r4, sb - lsls r6, r4, #1 - lsls r0, r2, #1 - rsbs r0, r0, #0 - adds r0, #1 - mov r1, sl - muls r1, r0, r1 - adds r0, r1, #0 - adds r4, r6, r0 - mov r5, sl - muls r5, r2, r5 - adds r0, r5, #0 - mov r1, sb - bl __divsi3 - adds r2, r0, #0 - ldr r0, [sp] - cmp r0, r2 - bgt _080805E4 - ldr r1, [sp, #0x18] - adds r1, #0xf8 - str r1, [sp, #0x24] - mov r1, sb - adds r0, r6, r1 - lsls r0, r0, #1 - mov r8, r0 - ldr r3, [sp, #0x10] - adds r3, #8 - ldr r6, [sp, #0x10] - str r5, [sp, #0x28] - ldr r1, [sp, #4] - lsls r0, r1, #2 - rsbs r0, r0, #0 - adds r0, #4 - mov r5, sl - muls r5, r0, r5 -_08080556: - ldr r0, [sp, #0x1c] - adds r0, #0xa8 - mov ip, r0 - ldr r1, [sp, #0x14] - ldr r0, [sp, #4] - adds r1, r1, r0 - str r1, [sp, #0x34] - cmp ip, r1 - ble _0808057C - ldr r1, [sp, #0x24] - cmp r1, r6 - ble _08080572 - movs r0, #0x10 - orrs r7, r0 -_08080572: - ldr r0, [sp, #0x18] - cmp r0, r3 - bge _0808057C - movs r0, #0x20 - orrs r7, r0 -_0808057C: - ldr r1, [sp, #0x14] - ldr r0, [sp, #4] - subs r1, r1, r0 - mov ip, r1 - mov r0, ip - adds r0, #8 - ldr r1, [sp, #0x1c] - cmp r1, r0 - bge _080805A2 - ldr r0, [sp, #0x24] - cmp r0, r6 - ble _08080598 - movs r0, #0x40 - orrs r7, r0 -_08080598: - ldr r1, [sp, #0x18] - cmp r1, r3 - bge _080805A2 - movs r0, #0x80 - orrs r7, r0 -_080805A2: - cmp r4, #0 - ble _080805CE - mov r2, r8 - adds r0, r2, r5 - adds r4, r4, r0 - ldr r0, [sp, #0x28] - mov r1, sl - subs r0, r0, r1 - str r0, [sp, #0x28] - lsls r0, r1, #2 - adds r5, r5, r0 - ldr r2, [sp, #4] - subs r2, #1 - str r2, [sp, #4] - ldr r0, [sp, #0x28] - mov r1, sb - str r3, [sp, #0x30] - bl __divsi3 - adds r2, r0, #0 - ldr r3, [sp, #0x30] - b _080805D0 -_080805CE: - add r4, r8 -_080805D0: - mov r1, sb - lsls r0, r1, #2 - add r8, r0 - subs r3, #1 - adds r6, #1 - ldr r0, [sp] - adds r0, #1 - str r0, [sp] - cmp r0, r2 - ble _08080556 -_080805E4: - cmp r7, #0 - beq _080805EA - b _08080408 -_080805EA: - ldr r0, [sp, #8] - add sp, #0x38 - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_080805F8 -sub_080805F8: @ 0x080805F8 - push {lr} - ldr r0, _08080610 @ =gRoomControls - ldrb r0, [r0, #4] - subs r0, #0xc - cmp r0, #0xd - bhi _0808065C - lsls r0, r0, #2 - ldr r1, _08080614 @ =_08080618 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08080610: .4byte gRoomControls -_08080614: .4byte _08080618 -_08080618: @ jump table - .4byte _08080650 @ case 0 - .4byte _0808065C @ case 1 - .4byte _0808065C @ case 2 - .4byte _08080650 @ case 3 - .4byte _0808065C @ case 4 - .4byte _0808065C @ case 5 - .4byte _0808065C @ case 6 - .4byte _08080650 @ case 7 - .4byte _08080650 @ case 8 - .4byte _0808065C @ case 9 - .4byte _08080650 @ case 10 - .4byte _08080650 @ case 11 - .4byte _0808065C @ case 12 - .4byte _08080650 @ case 13 -_08080650: - ldr r1, _08080658 @ =gUnk_03004030 - movs r0, #1 - b _08080660 - .align 2, 0 -_08080658: .4byte gUnk_03004030 -_0808065C: - ldr r1, _08080664 @ =gUnk_03004030 - movs r0, #0 -_08080660: - strb r0, [r1, #8] - pop {pc} - .align 2, 0 -_08080664: .4byte gUnk_03004030 - - thumb_func_start sub_08080668 -sub_08080668: @ 0x08080668 - push {r4, r5, lr} - ldr r5, _080806A4 @ =gRoomControls - adds r0, r5, #0 - movs r1, #0x38 - bl _DmaZero - ldr r4, _080806A8 @ =gUnk_03004030 - adds r0, r4, #0 - movs r1, #0xc - bl _DmaZero - ldr r0, _080806AC @ =0x0000FFFF - strh r0, [r5, #0x22] - movs r0, #0xff - strb r0, [r4, #0xa] - ldr r1, _080806B0 @ =gUnk_02034480 - movs r0, #0 - strh r0, [r1] - ldr r0, _080806B4 @ =gUnk_02019EE0 - movs r4, #0x80 - lsls r4, r4, #8 - adds r1, r4, #0 - bl _DmaZero - ldr r0, _080806B8 @ =gMapDataTopSpecial - adds r1, r4, #0 - bl _DmaZero - pop {r4, r5, pc} - .align 2, 0 -_080806A4: .4byte gRoomControls -_080806A8: .4byte gUnk_03004030 -_080806AC: .4byte 0x0000FFFF -_080806B0: .4byte gUnk_02034480 -_080806B4: .4byte gUnk_02019EE0 -_080806B8: .4byte gMapDataTopSpecial - - thumb_func_start sub_080806BC -sub_080806BC: @ 0x080806BC - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - mov sb, r0 - mov r8, r1 - adds r7, r2, #0 - adds r6, r3, #0 - ldr r0, _08080710 @ =gArea - ldr r1, _08080714 @ =0x0000085C - adds r0, r0, r1 - ldr r0, [r0] - ldr r5, [r0, #0x18] - ldrh r0, [r5] - ldr r1, _08080718 @ =0x0000FFFF - cmp r0, r1 - beq _08080728 - mov sl, r1 -_080806E2: - ldrh r2, [r5] - movs r0, #1 - lsls r0, r2 - ands r0, r6 - cmp r0, #0 - beq _08080720 - ldr r1, _0808071C @ =gUnk_0811E7AC - lsls r0, r2, #2 - adds r0, r0, r1 - ldr r4, [r0] - adds r0, r5, #0 - mov r1, sb - mov r2, r8 - adds r3, r7, #0 - bl _call_via_r4 - cmp r0, #0 - beq _08080720 - adds r0, r5, #0 - bl DoExitTransition - movs r0, #1 - b _0808072A - .align 2, 0 -_08080710: .4byte gArea -_08080714: .4byte 0x0000085C -_08080718: .4byte 0x0000FFFF -_0808071C: .4byte gUnk_0811E7AC -_08080720: - adds r5, #0x14 - ldrh r0, [r5] - cmp r0, sl - bne _080806E2 -_08080728: - movs r0, #0 -_0808072A: - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_08080734 -sub_08080734: @ 0x08080734 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r6, r0, #0 - adds r5, r1, #0 - ldr r0, _08080778 @ =gArea - ldr r1, _0808077C @ =0x0000085C - adds r0, r0, r1 - ldr r0, [r0] - ldr r4, [r0, #0x18] - movs r0, #0xa - mov r8, r0 - ldrh r0, [r4] - ldr r1, _08080780 @ =0x0000FFFF - cmp r0, r1 - beq _0808078C - adds r7, r1, #0 -_08080756: - movs r0, #1 - ldrh r1, [r4] - lsls r0, r1 - mov r1, r8 - ands r0, r1 - cmp r0, #0 - beq _08080784 - adds r0, r4, #0 - adds r1, r6, #0 - adds r2, r5, #0 - movs r3, #0 - bl sub_08080808 - cmp r0, #0 - beq _08080784 - adds r0, r4, #0 - b _0808078E - .align 2, 0 -_08080778: .4byte gArea -_0808077C: .4byte 0x0000085C -_08080780: .4byte 0x0000FFFF -_08080784: - adds r4, #0x14 - ldrh r0, [r4] - cmp r0, r7 - bne _08080756 -_0808078C: - movs r0, #0 -_0808078E: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_08080794 -sub_08080794: @ 0x08080794 - push {r4, lr} - adds r4, r0, #0 - cmp r3, #1 - beq _080807C0 - cmp r3, #1 - blo _080807AC - cmp r3, #2 - beq _080807D4 - cmp r3, #3 - beq _080807E8 -_080807A8: - movs r0, #0 - b _08080800 -_080807AC: - ldr r0, _080807BC @ =gRoomControls - ldrh r0, [r0, #0x1e] - lsrs r0, r0, #1 - movs r3, #1 - cmp r0, r1 - bhs _080807F6 - movs r3, #2 - b _080807F6 - .align 2, 0 -_080807BC: .4byte gRoomControls -_080807C0: - ldr r0, _080807D0 @ =gRoomControls - ldrh r0, [r0, #0x20] - lsrs r0, r0, #1 - movs r3, #4 - cmp r0, r2 - bhs _080807F6 - movs r3, #8 - b _080807F6 - .align 2, 0 -_080807D0: .4byte gRoomControls -_080807D4: - ldr r0, _080807E4 @ =gRoomControls - ldrh r0, [r0, #0x1e] - lsrs r0, r0, #1 - movs r3, #0x10 - cmp r0, r1 - bhs _080807F6 - movs r3, #0x20 - b _080807F6 - .align 2, 0 -_080807E4: .4byte gRoomControls -_080807E8: - ldr r0, _08080804 @ =gRoomControls - ldrh r0, [r0, #0x20] - lsrs r0, r0, #1 - movs r3, #0x40 - cmp r0, r2 - bhs _080807F6 - movs r3, #0x80 -_080807F6: - ldrb r0, [r4, #0xa] - ands r0, r3 - cmp r0, #0 - beq _080807A8 - movs r0, #1 -_08080800: - pop {r4, pc} - .align 2, 0 -_08080804: .4byte gRoomControls - - thumb_func_start sub_08080808 -sub_08080808: @ 0x08080808 - push {r4, r5, lr} - adds r3, r0, #0 - adds r5, r2, #0 - ldrb r0, [r3, #0xa] - lsls r0, r0, #1 - ldr r2, _08080838 @ =gUnk_0811E7BC - adds r4, r0, r2 - ldrb r0, [r4] - ldrh r2, [r3, #2] - subs r1, r1, r2 - adds r1, r1, r0 - lsls r0, r0, #1 - cmp r1, r0 - bhi _0808083C - ldrb r1, [r4, #1] - ldrh r0, [r3, #4] - subs r0, r5, r0 - adds r0, r0, r1 - lsls r1, r1, #1 - cmp r0, r1 - bhi _0808083C - movs r0, #1 - b _0808083E - .align 2, 0 -_08080838: .4byte gUnk_0811E7BC -_0808083C: - movs r0, #0 -_0808083E: - pop {r4, r5, pc} - - thumb_func_start DoExitTransition -DoExitTransition: @ 0x08080840 - push {r4, lr} - adds r4, r0, #0 - ldr r0, _0808085C @ =gScreenTransition - movs r1, #1 - strb r1, [r0, #8] - adds r2, r0, #0 - adds r2, #0xc - ldrh r1, [r4, #6] - ldr r0, _08080860 @ =0x000003FF - cmp r1, r0 - bhi _08080864 - strh r1, [r2, #4] - b _08080872 - .align 2, 0 -_0808085C: .4byte gScreenTransition -_08080860: .4byte 0x000003FF -_08080864: - ldr r0, _08080880 @ =gRoomControls - ldr r0, [r0, #0x30] - ldrh r1, [r0, #0x2e] - ldr r3, _08080884 @ =0xFFFF8000 - adds r0, r3, #0 - orrs r0, r1 - strh r0, [r2, #4] -_08080872: - ldrh r1, [r4, #8] - ldr r0, _08080888 @ =0x000003FF - cmp r1, r0 - bhi _0808088C - strh r1, [r2, #6] - b _0808089A - .align 2, 0 -_08080880: .4byte gRoomControls -_08080884: .4byte 0xFFFF8000 -_08080888: .4byte 0x000003FF -_0808088C: - ldr r0, _080808CC @ =gRoomControls - ldr r0, [r0, #0x30] - ldrh r1, [r0, #0x32] - ldr r3, _080808D0 @ =0xFFFF8000 - adds r0, r3, #0 - orrs r0, r1 - strh r0, [r2, #6] -_0808089A: - ldrb r0, [r4, #0xb] - strb r0, [r2] - ldrb r0, [r4, #0xc] - strb r0, [r2, #1] - ldrb r0, [r4, #0xd] - strb r0, [r2, #8] - ldrb r0, [r4, #0xe] - strb r0, [r2, #3] - ldrb r0, [r4, #0xf] - strb r0, [r2, #2] - ldrh r0, [r4, #0x10] - cmp r0, #0 - beq _080808B8 - bl PlaySFX -_080808B8: - ldr r0, _080808D4 @ =gUnk_0811E7C4 - ldrh r1, [r4] - lsls r1, r1, #2 - adds r1, r1, r0 - ldrb r0, [r4, #0xa] - ldr r1, [r1] - bl _call_via_r1 - pop {r4, pc} - .align 2, 0 -_080808CC: .4byte gRoomControls -_080808D0: .4byte 0xFFFF8000 -_080808D4: .4byte gUnk_0811E7C4 diff --git a/asm/code_0807F0D8.s b/asm/code_0807F0D8.s new file mode 100644 index 00000000..4f9ed157 --- /dev/null +++ b/asm/code_0807F0D8.s @@ -0,0 +1,3251 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + + .text + + thumb_func_start sub_0807F0D8 +sub_0807F0D8: @ 0x0807F0D8 + ldr r0, _0807F0E8 @ =gUnk_03000FF0 + ldrh r2, [r0, #2] + rsbs r0, r2, #0 + orrs r0, r2 + lsrs r0, r0, #0x1f + str r0, [r1, #0x14] + bx lr + .align 2, 0 +_0807F0E8: .4byte gUnk_03000FF0 + + thumb_func_start sub_0807F0EC +sub_0807F0EC: @ 0x0807F0EC + push {r4, lr} + adds r4, r1, #0 + bl Random + ldr r1, [r4, #4] + bl __modsi3 + str r0, [r4, #4] + pop {r4, pc} + .align 2, 0 + + thumb_func_start sub_0807F100 +sub_0807F100: @ 0x0807F100 + push {r4, r5, lr} + adds r4, r0, #0 + adds r5, r1, #0 + bl Random + movs r2, #6 + adds r1, r0, #0 + ands r1, r2 + strb r1, [r4, #0x14] + ldr r2, _0807F124 @ =gUnk_0811E750 + lsrs r0, r0, #8 + movs r1, #7 + ands r0, r1 + adds r0, r0, r2 + ldrb r0, [r0] + strb r0, [r5, #0x1a] + pop {r4, r5, pc} + .align 2, 0 +_0807F124: .4byte gUnk_0811E750 + + thumb_func_start sub_0807F128 +sub_0807F128: @ 0x0807F128 + push {r4, r5, lr} + adds r4, r0, #0 + adds r5, r1, #0 + bl Random + ldr r2, _0807F150 @ =gUnk_0811E758 + movs r3, #7 + adds r1, r0, #0 + ands r1, r3 + adds r1, r1, r2 + ldrb r1, [r1] + strb r1, [r4, #0x14] + ldr r1, _0807F154 @ =gUnk_0811E760 + lsrs r0, r0, #8 + ands r0, r3 + adds r0, r0, r1 + ldrb r0, [r0] + strb r0, [r5, #0x1a] + pop {r4, r5, pc} + .align 2, 0 +_0807F150: .4byte gUnk_0811E758 +_0807F154: .4byte gUnk_0811E760 + + thumb_func_start sub_0807F158 +sub_0807F158: @ 0x0807F158 + push {lr} + adds r2, r0, #0 + adds r2, #0x38 + movs r1, #1 + strb r1, [r2] + bl UpdateSpriteForCollisionLayer + pop {pc} + + thumb_func_start sub_0807F168 +sub_0807F168: @ 0x0807F168 + push {lr} + ldr r0, _0807F17C @ =gPlayerEntity + adds r2, r0, #0 + adds r2, #0x38 + movs r1, #1 + strb r1, [r2] + bl UpdateSpriteForCollisionLayer + pop {pc} + .align 2, 0 +_0807F17C: .4byte gPlayerEntity + + thumb_func_start sub_0807F180 +sub_0807F180: @ 0x0807F180 + push {lr} + adds r2, r0, #0 + adds r2, #0x38 + movs r1, #2 + strb r1, [r2] + bl UpdateSpriteForCollisionLayer + pop {pc} + + thumb_func_start sub_0807F190 +sub_0807F190: @ 0x0807F190 + push {lr} + movs r1, #0x80 + lsls r1, r1, #1 + movs r0, #4 + bl DoFade + pop {pc} + .align 2, 0 + + thumb_func_start sub_0807F1A0 +sub_0807F1A0: @ 0x0807F1A0 + push {r4, lr} + ldr r3, _0807F1BC @ =gPlayerEntity + movs r4, #0x2e + ldrsh r2, [r3, r4] + movs r4, #0x32 + ldrsh r3, [r3, r4] + bl sub_0807DEDC + ldr r2, _0807F1C0 @ =gUnk_02033280 + ldrb r1, [r2, #7] + movs r0, #1 + orrs r0, r1 + strb r0, [r2, #7] + pop {r4, pc} + .align 2, 0 +_0807F1BC: .4byte gPlayerEntity +_0807F1C0: .4byte gUnk_02033280 + + thumb_func_start sub_0807F1C4 +sub_0807F1C4: @ 0x0807F1C4 + push {lr} + ldr r2, _0807F1D8 @ =gPlayerState + ldr r0, [r2, #0x30] + movs r1, #8 + ands r0, r1 + cmp r0, #0 + beq _0807F1E0 + ldr r0, _0807F1DC @ =0x00000459 + b _0807F1E4 + .align 2, 0 +_0807F1D8: .4byte gPlayerState +_0807F1DC: .4byte 0x00000459 +_0807F1E0: + movs r0, #0xde + lsls r0, r0, #1 +_0807F1E4: + strh r0, [r2, #8] + pop {pc} + + thumb_func_start sub_0807F1E8 +sub_0807F1E8: @ 0x0807F1E8 + push {lr} + ldr r2, _0807F1FC @ =gPlayerState + ldr r0, [r2, #0x30] + movs r1, #8 + ands r0, r1 + cmp r0, #0 + beq _0807F204 + ldr r0, _0807F200 @ =0x0000045A + b _0807F206 + .align 2, 0 +_0807F1FC: .4byte gPlayerState +_0807F200: .4byte 0x0000045A +_0807F204: + ldr r0, _0807F20C @ =0x000002BD +_0807F206: + strh r0, [r2, #8] + pop {pc} + .align 2, 0 +_0807F20C: .4byte 0x000002BD + + thumb_func_start sub_0807F210 +sub_0807F210: @ 0x0807F210 + push {lr} + ldr r2, _0807F224 @ =gPlayerState + ldr r0, [r2, #0x30] + movs r1, #8 + ands r0, r1 + cmp r0, #0 + beq _0807F22C + ldr r0, _0807F228 @ =0x0000041C + b _0807F22E + .align 2, 0 +_0807F224: .4byte gPlayerState +_0807F228: .4byte 0x0000041C +_0807F22C: + ldr r0, _0807F234 @ =0x0000080C +_0807F22E: + strh r0, [r2, #8] + pop {pc} + .align 2, 0 +_0807F234: .4byte 0x0000080C + + thumb_func_start sub_0807F238 +sub_0807F238: @ 0x0807F238 + ldr r2, _0807F240 @ =gPlayerState + ldr r0, [r1, #4] + strh r0, [r2, #8] + bx lr + .align 2, 0 +_0807F240: .4byte gPlayerState + + thumb_func_start sub_0807F244 +sub_0807F244: @ 0x0807F244 + push {r4, r5, lr} + ldr r0, [r1, #4] + ldr r4, _0807F298 @ =0x0000FFFF + lsrs r5, r0, #0x10 + ands r4, r0 + cmp r4, #1 + blo _0807F28C + cmp r4, #4 + bls _0807F25A + cmp r4, #6 + bne _0807F28C +_0807F25A: + movs r4, #1 + movs r0, #2 + bl GetInventoryValue + cmp r0, #0 + beq _0807F268 + movs r4, #2 +_0807F268: + movs r0, #3 + bl GetInventoryValue + cmp r0, #0 + beq _0807F274 + movs r4, #3 +_0807F274: + movs r0, #4 + bl GetInventoryValue + cmp r0, #0 + beq _0807F280 + movs r4, #4 +_0807F280: + movs r0, #6 + bl GetInventoryValue + cmp r0, #0 + beq _0807F28C + movs r4, #6 +_0807F28C: + adds r0, r4, #0 + adds r1, r5, #0 + bl ForceEquipItem + pop {r4, r5, pc} + .align 2, 0 +_0807F298: .4byte 0x0000FFFF + + thumb_func_start sub_0807F29C +sub_0807F29C: @ 0x0807F29C + push {lr} + ldr r0, [r1, #4] + bl sub_0805ED14 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0807F2A8 +sub_0807F2A8: @ 0x0807F2A8 + push {lr} + ldr r0, _0807F2C0 @ =gPlayerState + adds r0, #0x9c + ldr r0, [r0] + cmp r0, #0 + bne _0807F2C8 + ldr r2, _0807F2C4 @ =gUnk_02033280 + ldrb r1, [r2, #7] + movs r0, #1 + orrs r0, r1 + strb r0, [r2, #7] + b _0807F2CE + .align 2, 0 +_0807F2C0: .4byte gPlayerState +_0807F2C4: .4byte gUnk_02033280 +_0807F2C8: + ldr r1, _0807F2D0 @ =gUnk_02033280 + movs r0, #0 + strb r0, [r1, #6] +_0807F2CE: + pop {pc} + .align 2, 0 +_0807F2D0: .4byte gUnk_02033280 + + thumb_func_start sub_0807F2D4 +sub_0807F2D4: @ 0x0807F2D4 + push {lr} + adds r0, #0x5a + ldrb r1, [r0] + movs r0, #0x80 + ands r0, r1 + lsls r0, r0, #0x18 + lsrs r1, r0, #0x18 + cmp r1, #0 + beq _0807F2F8 + ldr r2, _0807F2F4 @ =gUnk_02033280 + ldrb r1, [r2, #7] + movs r0, #1 + orrs r0, r1 + strb r0, [r2, #7] + b _0807F2FC + .align 2, 0 +_0807F2F4: .4byte gUnk_02033280 +_0807F2F8: + ldr r0, _0807F300 @ =gUnk_02033280 + strb r1, [r0, #6] +_0807F2FC: + pop {pc} + .align 2, 0 +_0807F300: .4byte gUnk_02033280 + + thumb_func_start sub_0807F304 +sub_0807F304: @ 0x0807F304 + push {lr} + ldr r0, _0807F324 @ =gPlayerEntity + adds r0, #0x5a + ldrb r1, [r0] + movs r0, #0x80 + ands r0, r1 + lsls r0, r0, #0x18 + lsrs r1, r0, #0x18 + cmp r1, #0 + beq _0807F32C + ldr r2, _0807F328 @ =gUnk_02033280 + ldrb r1, [r2, #7] + movs r0, #1 + orrs r0, r1 + strb r0, [r2, #7] + b _0807F330 + .align 2, 0 +_0807F324: .4byte gPlayerEntity +_0807F328: .4byte gUnk_02033280 +_0807F32C: + ldr r0, _0807F334 @ =gUnk_02033280 + strb r1, [r0, #6] +_0807F330: + pop {pc} + .align 2, 0 +_0807F334: .4byte gUnk_02033280 + + thumb_func_start sub_0807F338 +sub_0807F338: @ 0x0807F338 + movs r1, #0 + str r1, [r0, #0x48] + ldrb r2, [r0, #0x17] + movs r1, #0xfe + ands r1, r2 + strb r1, [r0, #0x17] + bx lr + .align 2, 0 + + thumb_func_start sub_0807F348 +sub_0807F348: @ 0x0807F348 + push {lr} + movs r1, #2 + bl sub_0805E3A0 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0807F354 +sub_0807F354: @ 0x0807F354 + push {lr} + movs r1, #6 + bl sub_0805E3A0 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0807F360 +sub_0807F360: @ 0x0807F360 + push {lr} + movs r1, #3 + bl sub_0805E3A0 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0807F36C +sub_0807F36C: @ 0x0807F36C + push {r4, r5, lr} + adds r5, r0, #0 + movs r1, #0x41 + movs r2, #0 + bl CreateFx + adds r4, r0, #0 + cmp r4, #0 + beq _0807F3C2 + adds r2, r4, #0 + adds r2, #0x29 + ldrb r1, [r2] + movs r0, #8 + rsbs r0, r0, #0 + ands r0, r1 + movs r1, #1 + orrs r0, r1 + strb r0, [r2] + ldr r3, _0807F3C4 @ =0xFFF80000 + adds r0, r5, #0 + adds r1, r4, #0 + movs r2, #0 + bl PositionRelative + bl Random + movs r5, #1 + ands r0, r5 + cmp r0, #0 + beq _0807F3B0 + ldrb r0, [r4, #0x18] + movs r1, #0x40 + orrs r0, r1 + strb r0, [r4, #0x18] +_0807F3B0: + bl Random + ands r0, r5 + cmp r0, #0 + beq _0807F3C2 + ldrb r0, [r4, #0x18] + movs r1, #0x80 + orrs r0, r1 + strb r0, [r4, #0x18] +_0807F3C2: + pop {r4, r5, pc} + .align 2, 0 +_0807F3C4: .4byte 0xFFF80000 + + thumb_func_start sub_0807F3C8 +sub_0807F3C8: @ 0x0807F3C8 + push {lr} + bl sub_0807F36C + movs r0, #0xe5 + bl PlaySFX + pop {pc} + .align 2, 0 + + thumb_func_start sub_0807F3D8 +sub_0807F3D8: @ 0x0807F3D8 + push {r4, lr} + adds r4, r0, #0 + ldrb r0, [r4, #0x14] + lsrs r0, r0, #1 + ldr r1, [r1, #4] + adds r1, r1, r0 + adds r0, r4, #0 + bl InitAnimationForceUpdate + adds r0, r4, #0 + adds r0, #0x58 + ldrb r0, [r0] + adds r4, #0x80 + strh r0, [r4] + pop {r4, pc} + .align 2, 0 + + thumb_func_start sub_0807F3F8 +sub_0807F3F8: @ 0x0807F3F8 + push {lr} + ldr r0, _0807F408 @ =gPlayerEntity + movs r2, #0x18 + rsbs r2, r2, #0 + movs r1, #8 + bl CreateSpeechBubbleExclamationMark + pop {pc} + .align 2, 0 +_0807F408: .4byte gPlayerEntity + + thumb_func_start sub_0807F40C +sub_0807F40C: @ 0x0807F40C + push {lr} + ldr r0, _0807F41C @ =gPlayerEntity + movs r2, #0x18 + rsbs r2, r2, #0 + movs r1, #8 + bl CreateSpeechBubbleQuestionMark + pop {pc} + .align 2, 0 +_0807F41C: .4byte gPlayerEntity + + thumb_func_start sub_0807F420 +sub_0807F420: @ 0x0807F420 + push {lr} + ldr r2, [r1, #4] + ldrb r0, [r1, #4] + lsrs r2, r2, #8 + lsls r2, r2, #0x18 + lsrs r2, r2, #0x18 + adds r1, r2, #0 + bl MenuFadeIn + pop {pc} + + thumb_func_start sub_0807F434 +sub_0807F434: @ 0x0807F434 + push {lr} + adds r3, r0, #0 + adds r3, #0x39 + movs r2, #0 + ldrsb r2, [r3, r2] + cmp r2, #1 + beq _0807F44C + cmp r2, #2 + beq _0807F44C + movs r0, #0 + str r0, [r1, #4] + b _0807F452 +_0807F44C: + movs r0, #0 + strb r0, [r3] + str r2, [r1, #4] +_0807F452: + ldr r2, _0807F460 @ =gUnk_02033280 + ldrb r1, [r2, #7] + movs r0, #1 + orrs r0, r1 + strb r0, [r2, #7] + pop {pc} + .align 2, 0 +_0807F460: .4byte gUnk_02033280 + + thumb_func_start sub_0807F464 +sub_0807F464: @ 0x0807F464 + push {r4, r5, r6, lr} + adds r4, r0, #0 + adds r5, r1, #0 + ldrb r0, [r5, #0x18] + cmp r0, #0 + bne _0807F4BC + adds r0, #1 + movs r3, #0 + strb r0, [r5, #0x18] + ldr r0, [r5, #8] + movs r1, #2 + orrs r0, r1 + str r0, [r5, #8] + ldr r2, [r5, #4] + ldr r1, _0807F4A8 @ =gRoomControls + ldrh r0, [r1, #6] + adds r0, r0, r2 + strh r0, [r5, #0x1e] + ldrh r0, [r4, #0x32] + strh r0, [r5, #0x22] + movs r6, #0x2e + ldrsh r0, [r4, r6] + ldrh r1, [r1, #6] + subs r0, r0, r1 + cmp r2, r0 + ble _0807F4AC + movs r0, #0x40 + strb r0, [r4, #0x15] + ldrb r1, [r4, #0x14] + movs r0, #0x80 + ands r0, r1 + movs r1, #2 + b _0807F4B8 + .align 2, 0 +_0807F4A8: .4byte gRoomControls +_0807F4AC: + movs r0, #0xc0 + strb r0, [r4, #0x15] + ldrb r1, [r4, #0x14] + movs r0, #0x80 + ands r0, r1 + movs r1, #6 +_0807F4B8: + orrs r0, r1 + strb r0, [r4, #0x14] +_0807F4BC: + movs r0, #0x24 + ldrsh r1, [r4, r0] + ldrb r2, [r4, #0x15] + adds r0, r4, #0 + bl sub_0806F62C + movs r2, #0x1e + ldrsh r1, [r5, r2] + movs r6, #0x2e + ldrsh r0, [r4, r6] + subs r1, r1, r0 + ldrb r2, [r4, #0x15] + movs r0, #0x80 + ands r0, r2 + lsls r0, r0, #0x18 + lsrs r0, r0, #0x18 + lsls r0, r0, #0x18 + eors r1, r0 + cmp r1, #0 + bge _0807F4EA + ldrh r0, [r5, #0x1e] + strh r0, [r4, #0x2e] + b _0807F4F0 +_0807F4EA: + ldr r1, _0807F4F4 @ =gUnk_02033280 + movs r0, #0 + strb r0, [r1, #6] +_0807F4F0: + pop {r4, r5, r6, pc} + .align 2, 0 +_0807F4F4: .4byte gUnk_02033280 + + thumb_func_start sub_0807F4F8 +sub_0807F4F8: @ 0x0807F4F8 + push {r4, r5, lr} + adds r4, r0, #0 + adds r5, r1, #0 + ldrb r0, [r5, #0x18] + cmp r0, #0 + bne _0807F548 + adds r0, #1 + strb r0, [r5, #0x18] + ldr r0, [r5, #8] + movs r1, #2 + orrs r0, r1 + str r0, [r5, #8] + ldr r2, [r5, #4] + ldrh r0, [r4, #0x2e] + strh r0, [r5, #0x1e] + ldr r1, _0807F538 @ =gRoomControls + ldrh r0, [r1, #8] + adds r0, r0, r2 + strh r0, [r5, #0x22] + movs r3, #0x32 + ldrsh r0, [r4, r3] + ldrh r1, [r1, #8] + subs r0, r0, r1 + cmp r2, r0 + ble _0807F53C + movs r0, #0x80 + strb r0, [r4, #0x15] + ldrb r1, [r4, #0x14] + ands r0, r1 + movs r1, #4 + orrs r0, r1 + b _0807F546 + .align 2, 0 +_0807F538: .4byte gRoomControls +_0807F53C: + movs r0, #0 + strb r0, [r4, #0x15] + ldrb r1, [r4, #0x14] + movs r0, #0x80 + ands r0, r1 +_0807F546: + strb r0, [r4, #0x14] +_0807F548: + movs r0, #0x24 + ldrsh r1, [r4, r0] + ldrb r2, [r4, #0x15] + adds r0, r4, #0 + bl sub_0806F62C + movs r2, #0x22 + ldrsh r1, [r5, r2] + movs r3, #0x32 + ldrsh r0, [r4, r3] + subs r1, r1, r0 + ldrb r2, [r4, #0x15] + movs r0, #0x80 + ands r0, r2 + lsls r0, r0, #0x18 + lsrs r0, r0, #0x18 + lsls r0, r0, #0x18 + eors r1, r0 + cmp r1, #0 + blt _0807F576 + ldrh r0, [r5, #0x22] + strh r0, [r4, #0x32] + b _0807F57C +_0807F576: + ldr r1, _0807F580 @ =gUnk_02033280 + movs r0, #0 + strb r0, [r1, #6] +_0807F57C: + pop {r4, r5, pc} + .align 2, 0 +_0807F580: .4byte gUnk_02033280 + + thumb_func_start sub_0807F584 +sub_0807F584: @ 0x0807F584 + ldr r0, _0807F590 @ =gPlayerEntity + ldrb r0, [r0, #0x14] + lsrs r0, r0, #1 + str r0, [r1, #4] + bx lr + .align 2, 0 +_0807F590: .4byte gPlayerEntity + + thumb_func_start sub_0807F594 +sub_0807F594: @ 0x0807F594 + push {lr} + ldr r0, _0807F5A8 @ =gPlayerState + adds r0, #0xa8 + ldrb r0, [r0] + cmp r0, #0 + beq _0807F5A6 + ldr r1, _0807F5AC @ =gUnk_02033280 + movs r0, #0 + strb r0, [r1, #6] +_0807F5A6: + pop {pc} + .align 2, 0 +_0807F5A8: .4byte gPlayerState +_0807F5AC: .4byte gUnk_02033280 + + thumb_func_start sub_0807F5B0 +sub_0807F5B0: @ 0x0807F5B0 + ldr r0, _0807F5BC @ =gPlayerState + ldr r1, [r1, #4] + adds r0, #0x27 + strb r1, [r0] + bx lr + .align 2, 0 +_0807F5BC: .4byte gPlayerState + + thumb_func_start sub_0807F5C0 +sub_0807F5C0: @ 0x0807F5C0 + push {r4, lr} + ldr r4, _0807F620 @ =gRoomControls + ldr r1, [r4, #0x30] + cmp r1, #0 + beq _0807F62E + movs r2, #0x2e + ldrsh r0, [r1, r2] + adds r2, r0, #0 + subs r2, #0x78 + movs r3, #0x32 + ldrsh r0, [r1, r3] + adds r3, r0, #0 + subs r3, #0x50 + ldrh r1, [r4, #6] + cmp r2, r1 + bge _0807F5E2 + adds r2, r1, #0 +_0807F5E2: + ldrh r0, [r4, #0x1e] + adds r0, r1, r0 + subs r0, #0xf0 + cmp r2, r0 + ble _0807F5EE + adds r2, r0, #0 +_0807F5EE: + ldrh r1, [r4, #8] + cmp r3, r1 + bge _0807F5F6 + adds r3, r1, #0 +_0807F5F6: + ldrh r0, [r4, #0x20] + adds r0, r1, r0 + subs r0, #0xa0 + cmp r3, r0 + ble _0807F602 + adds r3, r0, #0 +_0807F602: + movs r1, #0xa + ldrsh r0, [r4, r1] + cmp r2, r0 + bne _0807F628 + movs r2, #0xc + ldrsh r0, [r4, r2] + cmp r3, r0 + bne _0807F628 + ldr r2, _0807F624 @ =gUnk_02033280 + ldrb r1, [r2, #7] + movs r0, #1 + orrs r0, r1 + strb r0, [r2, #7] + b _0807F62E + .align 2, 0 +_0807F620: .4byte gRoomControls +_0807F624: .4byte gUnk_02033280 +_0807F628: + ldr r1, _0807F630 @ =gUnk_02033280 + movs r0, #0 + strb r0, [r1, #6] +_0807F62E: + pop {r4, pc} + .align 2, 0 +_0807F630: .4byte gUnk_02033280 + + thumb_func_start sub_0807F634 +sub_0807F634: @ 0x0807F634 + push {lr} + ldr r3, [r1, #4] + ldrh r1, [r3] + ldrh r2, [r3, #2] + ldrh r3, [r3, #4] + bl sub_0801DFB4 + ldr r0, _0807F64C @ =gPlayerState + adds r0, #0x8b + movs r1, #3 + strb r1, [r0] + pop {pc} + .align 2, 0 +_0807F64C: .4byte gPlayerState + + thumb_func_start sub_0807F650 +sub_0807F650: @ 0x0807F650 + push {r4, lr} + adds r4, r0, #0 + bl sub_08002632 + ldr r1, _0807F678 @ =gUnk_08001A7C + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r0, [r0] + ldrh r1, [r0] + ldrh r2, [r0, #2] + ldrh r3, [r0, #4] + adds r0, r4, #0 + bl sub_0801DFB4 + ldr r0, _0807F67C @ =gPlayerState + adds r0, #0x8b + movs r1, #3 + strb r1, [r0] + pop {r4, pc} + .align 2, 0 +_0807F678: .4byte gUnk_08001A7C +_0807F67C: .4byte gPlayerState + + thumb_func_start sub_0807F680 +sub_0807F680: @ 0x0807F680 + push {lr} + adds r2, r1, #0 + movs r3, #0 + ldr r0, _0807F6A8 @ =gPlayerEntity + movs r1, #0x2e + ldrsh r0, [r0, r1] + ldr r1, _0807F6AC @ =gRoomControls + ldrh r1, [r1, #6] + subs r0, r0, r1 + ldrh r1, [r2, #4] + cmp r0, r1 + ble _0807F69A + movs r3, #1 +_0807F69A: + str r3, [r2, #0x14] + ldr r2, _0807F6B0 @ =gUnk_02033280 + ldrb r1, [r2, #7] + movs r0, #1 + orrs r0, r1 + strb r0, [r2, #7] + pop {pc} + .align 2, 0 +_0807F6A8: .4byte gPlayerEntity +_0807F6AC: .4byte gRoomControls +_0807F6B0: .4byte gUnk_02033280 + + thumb_func_start sub_0807F6B4 +sub_0807F6B4: @ 0x0807F6B4 + push {lr} + adds r2, r1, #0 + movs r3, #0 + ldr r0, _0807F6DC @ =gPlayerEntity + movs r1, #0x32 + ldrsh r0, [r0, r1] + ldr r1, _0807F6E0 @ =gRoomControls + ldrh r1, [r1, #8] + subs r0, r0, r1 + ldrh r1, [r2, #4] + cmp r0, r1 + ble _0807F6CE + movs r3, #1 +_0807F6CE: + str r3, [r2, #0x14] + ldr r2, _0807F6E4 @ =gUnk_02033280 + ldrb r1, [r2, #7] + movs r0, #1 + orrs r0, r1 + strb r0, [r2, #7] + pop {pc} + .align 2, 0 +_0807F6DC: .4byte gPlayerEntity +_0807F6E0: .4byte gRoomControls +_0807F6E4: .4byte gUnk_02033280 + + thumb_func_start sub_0807F6E8 +sub_0807F6E8: @ 0x0807F6E8 + ldr r2, _0807F6F4 @ =gPlayerState + ldr r0, [r2, #0x30] + ldr r1, [r1, #4] + orrs r0, r1 + str r0, [r2, #0x30] + bx lr + .align 2, 0 +_0807F6F4: .4byte gPlayerState + + thumb_func_start sub_0807F6F8 +sub_0807F6F8: @ 0x0807F6F8 + ldr r2, _0807F704 @ =gPlayerState + ldr r1, [r1, #4] + ldr r0, [r2, #0x30] + bics r0, r1 + str r0, [r2, #0x30] + bx lr + .align 2, 0 +_0807F704: .4byte gPlayerState + + thumb_func_start sub_0807F708 +sub_0807F708: @ 0x0807F708 + push {lr} + ldr r1, [r1, #4] + bl ShowNPCDialogue + pop {pc} + .align 2, 0 + + thumb_func_start sub_0807F714 +sub_0807F714: @ 0x0807F714 + push {lr} + adds r1, r0, #0 + ldr r2, _0807F734 @ =gUnk_08114F30 + ldrb r3, [r1, #0x19] + lsrs r0, r3, #6 + adds r0, r0, r2 + ldrb r2, [r0] + lsls r2, r2, #6 + movs r0, #0x3f + ands r0, r3 + orrs r0, r2 + strb r0, [r1, #0x19] + adds r0, r1, #0 + bl ResolveEntityOnTop + pop {pc} + .align 2, 0 +_0807F734: .4byte gUnk_08114F30 + + thumb_func_start sub_0807F738 +sub_0807F738: @ 0x0807F738 + push {lr} + adds r1, r0, #0 + ldr r2, _0807F758 @ =gUnk_08114F34 + ldrb r3, [r1, #0x19] + lsrs r0, r3, #6 + adds r0, r0, r2 + ldrb r2, [r0] + lsls r2, r2, #6 + movs r0, #0x3f + ands r0, r3 + orrs r0, r2 + strb r0, [r1, #0x19] + adds r0, r1, #0 + bl sub_0806FAD8 + pop {pc} + .align 2, 0 +_0807F758: .4byte gUnk_08114F34 + + thumb_func_start sub_0807F75C +sub_0807F75C: @ 0x0807F75C + push {r4, lr} + ldr r2, [r1, #4] + ldr r3, _0807F774 @ =gPlayerEntity + ldr r1, _0807F778 @ =gRoomControls + asrs r0, r2, #0x10 + ldrh r4, [r1, #6] + adds r0, r0, r4 + strh r0, [r3, #0x2e] + ldrh r0, [r1, #8] + adds r0, r0, r2 + strh r0, [r3, #0x32] + pop {r4, pc} + .align 2, 0 +_0807F774: .4byte gPlayerEntity +_0807F778: .4byte gRoomControls + + thumb_func_start sub_0807F77C +sub_0807F77C: @ 0x0807F77C + push {lr} + ldr r0, [r1, #0x14] + cmp r0, #0 + beq _0807F786 + movs r0, #1 +_0807F786: + str r0, [r1, #4] + pop {pc} + .align 2, 0 + + thumb_func_start sub_0807F78C +sub_0807F78C: @ 0x0807F78C + push {r4, r5, r6, lr} + adds r6, r0, #0 + ldr r5, [r1, #4] + cmp r5, #0 + bne _0807F79A + ldr r0, _0807F7BC @ =gRoomVars + ldrb r5, [r0, #6] +_0807F79A: + adds r0, r5, #0 + bl GetSaleItemConfirmMessageID + adds r4, r0, #0 + adds r0, r5, #0 + bl sub_08053FE0 + adds r5, r0, #0 + adds r0, r4, #0 + adds r1, r6, #0 + bl TextboxNoOverlap + ldr r0, _0807F7C0 @ =gTextBox + lsls r5, r5, #0x10 + lsrs r5, r5, #0x10 + str r5, [r0, #0x10] + pop {r4, r5, r6, pc} + .align 2, 0 +_0807F7BC: .4byte gRoomVars +_0807F7C0: .4byte gTextBox + + thumb_func_start sub_0807F7C4 +sub_0807F7C4: @ 0x0807F7C4 + push {r4, lr} + adds r4, r1, #0 + ldr r0, [r4, #4] + cmp r0, #0 + bne _0807F7D2 + ldr r0, _0807F7F4 @ =gRoomVars + ldrb r0, [r0, #6] +_0807F7D2: + bl sub_08053FE0 + movs r2, #0 + ldr r1, _0807F7F8 @ =gUnk_02002A40 + adds r1, #0xc0 + ldrh r1, [r1] + cmp r0, r1 + bgt _0807F7E4 + movs r2, #1 +_0807F7E4: + str r2, [r4, #0x14] + ldr r2, _0807F7FC @ =gUnk_02033280 + ldrb r1, [r2, #7] + movs r0, #1 + orrs r0, r1 + strb r0, [r2, #7] + pop {r4, pc} + .align 2, 0 +_0807F7F4: .4byte gRoomVars +_0807F7F8: .4byte gUnk_02002A40 +_0807F7FC: .4byte gUnk_02033280 + + thumb_func_start sub_0807F800 +sub_0807F800: @ 0x0807F800 + push {r4, lr} + ldr r4, [r1, #4] + cmp r4, #0 + bne _0807F80C + ldr r0, _0807F834 @ =gRoomVars + ldrb r4, [r0, #6] +_0807F80C: + adds r0, r4, #0 + bl sub_08053FE0 + rsbs r0, r0, #0 + bl ModRupees + adds r0, r4, #0 + movs r1, #0 + movs r2, #0 + bl sub_080A7C18 + ldr r1, _0807F834 @ =gRoomVars + movs r0, #0 + strb r0, [r1, #6] + ldr r2, _0807F838 @ =gUnk_02033280 + ldrb r1, [r2, #7] + movs r0, #1 + orrs r0, r1 + strb r0, [r2, #7] + pop {r4, pc} + .align 2, 0 +_0807F834: .4byte gRoomVars +_0807F838: .4byte gUnk_02033280 + + thumb_func_start sub_0807F83C +sub_0807F83C: @ 0x0807F83C + push {lr} + bl sub_08079184 + pop {pc} + + thumb_func_start sub_0807F844 +sub_0807F844: @ 0x0807F844 + push {lr} + ldr r1, _0807F850 @ =gRoomControls + str r0, [r1, #0x30] + bl sub_080809D4 + pop {pc} + .align 2, 0 +_0807F850: .4byte gRoomControls + + thumb_func_start sub_0807F854 +sub_0807F854: @ 0x0807F854 + push {lr} + ldr r1, [r1, #4] + lsrs r2, r1, #0x10 + movs r0, #3 + ands r2, r0 + ldr r3, _0807F870 @ =0x0000FFFF + ands r3, r1 + cmp r2, #4 + bhi _0807F8B4 + lsls r0, r2, #2 + ldr r1, _0807F874 @ =_0807F878 + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0807F870: .4byte 0x0000FFFF +_0807F874: .4byte _0807F878 +_0807F878: @ jump table + .4byte _0807F88C @ case 0 + .4byte _0807F88C @ case 1 + .4byte _0807F898 @ case 2 + .4byte _0807F8A4 @ case 3 + .4byte _0807F8B0 @ case 4 +_0807F88C: + ldr r0, _0807F894 @ =gTextBox + str r3, [r0, #0x10] + b _0807F8B4 + .align 2, 0 +_0807F894: .4byte gTextBox +_0807F898: + ldr r0, _0807F8A0 @ =gTextBox + str r3, [r0, #0x14] + b _0807F8B4 + .align 2, 0 +_0807F8A0: .4byte gTextBox +_0807F8A4: + ldr r0, _0807F8AC @ =gTextBox + str r3, [r0, #0x18] + b _0807F8B4 + .align 2, 0 +_0807F8AC: .4byte gTextBox +_0807F8B0: + ldr r0, _0807F8B8 @ =gTextBox + str r3, [r0, #0x1c] +_0807F8B4: + pop {pc} + .align 2, 0 +_0807F8B8: .4byte gTextBox + + thumb_func_start sub_0807F8BC +sub_0807F8BC: @ 0x0807F8BC + push {r4, lr} + adds r4, r1, #0 + bl sub_080040A8 + cmp r0, #0 + beq _0807F8CA + movs r0, #1 +_0807F8CA: + str r0, [r4, #0x14] + pop {r4, pc} + .align 2, 0 + + thumb_func_start sub_0807F8D0 +sub_0807F8D0: @ 0x0807F8D0 + push {lr} + ldr r1, [r1, #4] + bl sub_08003FC4 + ldr r2, _0807F8E4 @ =gUnk_02033280 + ldrb r1, [r2, #7] + movs r0, #1 + orrs r0, r1 + strb r0, [r2, #7] + pop {pc} + .align 2, 0 +_0807F8E4: .4byte gUnk_02033280 + + thumb_func_start sub_0807F8E8 +sub_0807F8E8: @ 0x0807F8E8 + push {r4, r5, lr} + adds r4, r0, #0 + adds r5, r1, #0 + movs r1, #0xa6 + movs r2, #0 + movs r3, #0 + bl CreateObjectWithParent + adds r2, r0, #0 + cmp r2, #0 + beq _0807F912 + str r4, [r2, #0x50] + ldr r0, [r5, #4] + ldr r1, _0807F914 @ =0x000003FF + ands r0, r1 + movs r3, #0x80 + lsls r3, r3, #8 + adds r1, r3, #0 + adds r2, #0x86 + orrs r0, r1 + strh r0, [r2] +_0807F912: + pop {r4, r5, pc} + .align 2, 0 +_0807F914: .4byte 0x000003FF + + thumb_func_start sub_0807F918 +sub_0807F918: @ 0x0807F918 + push {lr} + ldr r0, [r1, #4] + bl PutItemOnSlot + pop {pc} + .align 2, 0 + + thumb_func_start sub_0807F924 +sub_0807F924: @ 0x0807F924 + push {lr} + bl sub_0807879C + pop {pc} + + thumb_func_start sub_0807F92C +sub_0807F92C: @ 0x0807F92C + push {lr} + bl sub_080787C0 + pop {pc} + + thumb_func_start sub_0807F934 +sub_0807F934: @ 0x0807F934 + push {lr} + bl sub_080787B4 + pop {pc} + + thumb_func_start sub_0807F93C +sub_0807F93C: @ 0x0807F93C + push {lr} + ldr r2, [r1, #4] + lsrs r1, r2, #8 + movs r3, #0xff + ands r1, r3 + ands r2, r3 + bl CreateSpeechBubbleSleep + pop {pc} + .align 2, 0 + + thumb_func_start sub_0807F950 +sub_0807F950: @ 0x0807F950 + push {lr} + sub sp, #4 + movs r0, #2 + str r0, [sp] + movs r0, #6 + movs r1, #0x56 + movs r2, #6 + movs r3, #0 + bl FindEntityInListByForm + cmp r0, #0 + beq _0807F96C + bl DeleteEntity +_0807F96C: + add sp, #4 + pop {pc} + + thumb_func_start sub_0807F970 +sub_0807F970: @ 0x0807F970 + push {lr} + adds r2, r1, #0 + movs r3, #0 + ldr r1, _0807F988 @ =gUnk_02022780 + ldr r0, [r2, #4] + ldrh r1, [r1, #0x28] + cmp r0, r1 + bne _0807F982 + movs r3, #1 +_0807F982: + str r3, [r2, #0x14] + pop {pc} + .align 2, 0 +_0807F988: .4byte gUnk_02022780 + + thumb_func_start sub_0807F98C +sub_0807F98C: @ 0x0807F98C + ldr r1, [r1, #4] + str r1, [r0, #0x34] + bx lr + .align 2, 0 + + thumb_func_start sub_0807F994 +sub_0807F994: @ 0x0807F994 + ldr r2, [r1, #4] + asrs r1, r2, #0x10 + adds r3, r0, #0 + adds r3, #0x62 + strb r1, [r3] + adds r0, #0x63 + strb r2, [r0] + bx lr + + thumb_func_start sub_0807F9A4 +sub_0807F9A4: @ 0x0807F9A4 + push {lr} + ldr r0, _0807F9BC @ =gPlayerState + adds r0, #0xa8 + ldrb r0, [r0] + subs r0, #5 + cmp r0, #0x17 + bhi _0807FA30 + lsls r0, r0, #2 + ldr r1, _0807F9C0 @ =_0807F9C4 + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0807F9BC: .4byte gPlayerState +_0807F9C0: .4byte _0807F9C4 +_0807F9C4: @ jump table + .4byte _0807FA24 @ case 0 + .4byte _0807FA30 @ case 1 + .4byte _0807FA24 @ case 2 + .4byte _0807FA24 @ case 3 + .4byte _0807FA30 @ case 4 + .4byte _0807FA24 @ case 5 + .4byte _0807FA24 @ case 6 + .4byte _0807FA24 @ case 7 + .4byte _0807FA24 @ case 8 + .4byte _0807FA24 @ case 9 + .4byte _0807FA24 @ case 10 + .4byte _0807FA24 @ case 11 + .4byte _0807FA24 @ case 12 + .4byte _0807FA24 @ case 13 + .4byte _0807FA24 @ case 14 + .4byte _0807FA24 @ case 15 + .4byte _0807FA24 @ case 16 + .4byte _0807FA24 @ case 17 + .4byte _0807FA24 @ case 18 + .4byte _0807FA24 @ case 19 + .4byte _0807FA30 @ case 20 + .4byte _0807FA30 @ case 21 + .4byte _0807FA24 @ case 22 + .4byte _0807FA24 @ case 23 +_0807FA24: + ldr r1, _0807FA2C @ =gUnk_02033280 + movs r0, #0 + strb r0, [r1, #6] + b _0807FA3A + .align 2, 0 +_0807FA2C: .4byte gUnk_02033280 +_0807FA30: + ldr r2, _0807FA3C @ =gUnk_02033280 + ldrb r1, [r2, #7] + movs r0, #1 + orrs r0, r1 + strb r0, [r2, #7] +_0807FA3A: + pop {pc} + .align 2, 0 +_0807FA3C: .4byte gUnk_02033280 + + thumb_func_start sub_0807FA40 +sub_0807FA40: @ 0x0807FA40 + push {lr} + ldr r0, _0807FA58 @ =gPlayerState + adds r0, #0xa8 + ldrb r0, [r0] + subs r0, #5 + cmp r0, #0x17 + bhi _0807FACC + lsls r0, r0, #2 + ldr r1, _0807FA5C @ =_0807FA60 + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0807FA58: .4byte gPlayerState +_0807FA5C: .4byte _0807FA60 +_0807FA60: @ jump table + .4byte _0807FAC0 @ case 0 + .4byte _0807FACC @ case 1 + .4byte _0807FAC0 @ case 2 + .4byte _0807FAC0 @ case 3 + .4byte _0807FACC @ case 4 + .4byte _0807FAC0 @ case 5 + .4byte _0807FAC0 @ case 6 + .4byte _0807FAC0 @ case 7 + .4byte _0807FAC0 @ case 8 + .4byte _0807FAC0 @ case 9 + .4byte _0807FAC0 @ case 10 + .4byte _0807FAC0 @ case 11 + .4byte _0807FAC0 @ case 12 + .4byte _0807FAC0 @ case 13 + .4byte _0807FACC @ case 14 + .4byte _0807FAC0 @ case 15 + .4byte _0807FAC0 @ case 16 + .4byte _0807FAC0 @ case 17 + .4byte _0807FAC0 @ case 18 + .4byte _0807FAC0 @ case 19 + .4byte _0807FACC @ case 20 + .4byte _0807FACC @ case 21 + .4byte _0807FAC0 @ case 22 + .4byte _0807FAC0 @ case 23 +_0807FAC0: + ldr r1, _0807FAC8 @ =gUnk_02033280 + movs r0, #0 + strb r0, [r1, #6] + b _0807FAD6 + .align 2, 0 +_0807FAC8: .4byte gUnk_02033280 +_0807FACC: + ldr r2, _0807FAD8 @ =gUnk_02033280 + ldrb r1, [r2, #7] + movs r0, #1 + orrs r0, r1 + strb r0, [r2, #7] +_0807FAD6: + pop {pc} + .align 2, 0 +_0807FAD8: .4byte gUnk_02033280 + + thumb_func_start sub_0807FADC +sub_0807FADC: @ 0x0807FADC + push {r4, lr} + adds r2, r0, #0 + adds r4, r1, #0 + ldrb r0, [r4, #0x18] + cmp r0, #1 + beq _0807FB06 + cmp r0, #1 + bgt _0807FAF2 + cmp r0, #0 + beq _0807FAF8 + b _0807FB1C +_0807FAF2: + cmp r0, #2 + beq _0807FB16 + b _0807FB1C +_0807FAF8: + movs r0, #1 + strb r0, [r4, #0x18] + ldr r1, [r4, #4] + adds r0, r2, #0 + bl sub_0808C650 + b _0807FB1C +_0807FB06: + bl sub_0808C67C + cmp r0, #0 + beq _0807FB1C + ldrb r0, [r4, #0x18] + adds r0, #1 + strb r0, [r4, #0x18] + b _0807FB1C +_0807FB16: + bl sub_0808C688 + b _0807FB22 +_0807FB1C: + ldr r1, _0807FB24 @ =gUnk_02033280 + movs r0, #0 + strb r0, [r1, #6] +_0807FB22: + pop {r4, pc} + .align 2, 0 +_0807FB24: .4byte gUnk_02033280 + + thumb_func_start sub_0807FB28 +sub_0807FB28: @ 0x0807FB28 + push {r4, lr} + adds r4, r1, #0 + ldrb r0, [r4, #0x18] + cmp r0, #0 + bne _0807FB3A + ldr r0, _0807FB54 @ =0x00007FFF + movs r1, #1 + bl sub_0801D7BC +_0807FB3A: + ldrb r0, [r4, #0x18] + adds r0, #1 + strb r0, [r4, #0x18] + ldrb r1, [r4, #0x18] + ldr r0, [r4, #4] + cmp r1, r0 + blo _0807FB58 + movs r0, #0 + movs r1, #0 + bl sub_0801D7BC + b _0807FB5E + .align 2, 0 +_0807FB54: .4byte 0x00007FFF +_0807FB58: + ldr r1, _0807FB60 @ =gUnk_02033280 + movs r0, #0 + strb r0, [r1, #6] +_0807FB5E: + pop {r4, pc} + .align 2, 0 +_0807FB60: .4byte gUnk_02033280 + + thumb_func_start sub_0807FB64 +sub_0807FB64: @ 0x0807FB64 + ldr r0, _0807FB70 @ =gPlayerEntity + ldr r1, [r1, #4] + adds r0, #0x3d + strb r1, [r0] + bx lr + .align 2, 0 +_0807FB70: .4byte gPlayerEntity + + thumb_func_start sub_0807FB74 +sub_0807FB74: @ 0x0807FB74 + ldr r0, _0807FB8C @ =gPlayerState + adds r0, #0x26 + movs r1, #0 + strb r1, [r0] + ldr r1, _0807FB90 @ =gPlayerEntity + adds r1, #0x3c + ldrb r2, [r1] + movs r0, #0xfb + ands r0, r2 + strb r0, [r1] + bx lr + .align 2, 0 +_0807FB8C: .4byte gPlayerState +_0807FB90: .4byte gPlayerEntity + + thumb_func_start sub_0807FB94 +sub_0807FB94: @ 0x0807FB94 + push {lr} + movs r0, #4 + bl InitScreen + pop {pc} + .align 2, 0 + + thumb_func_start sub_0807FBA0 +sub_0807FBA0: @ 0x0807FBA0 + ldr r2, _0807FBB0 @ =gRoomControls + ldrh r1, [r2, #0xa] + adds r1, #0x78 + strh r1, [r0, #0x2e] + ldrh r1, [r2, #0xc] + adds r1, #0x50 + strh r1, [r0, #0x32] + bx lr + .align 2, 0 +_0807FBB0: .4byte gRoomControls + + thumb_func_start sub_0807FBB4 +sub_0807FBB4: @ 0x0807FBB4 + ldr r2, _0807FBC0 @ =gPlayerState + ldrb r1, [r2, #0x1a] + movs r0, #0x80 + orrs r0, r1 + strb r0, [r2, #0x1a] + bx lr + .align 2, 0 +_0807FBC0: .4byte gPlayerState + + thumb_func_start sub_0807FBC4 +sub_0807FBC4: @ 0x0807FBC4 + push {lr} + bl sub_0805E4A0 + pop {pc} + + thumb_func_start sub_0807FBCC +sub_0807FBCC: @ 0x0807FBCC + push {lr} + bl sub_0805E4CC + pop {pc} + + thumb_func_start sub_0807FBD4 +sub_0807FBD4: @ 0x0807FBD4 + push {r4, lr} + adds r4, r0, #0 + movs r0, #0x24 + ldrsh r1, [r4, r0] + ldrb r2, [r4, #0x15] + adds r0, r4, #0 + bl sub_0806F62C + adds r0, r4, #0 + bl sub_080040A8 + cmp r0, #0 + beq _0807FBF4 + ldr r1, _0807FBF8 @ =gUnk_02033280 + movs r0, #0 + strb r0, [r1, #6] +_0807FBF4: + pop {r4, pc} + .align 2, 0 +_0807FBF8: .4byte gUnk_02033280 + + thumb_func_start sub_0807FBFC +sub_0807FBFC: @ 0x0807FBFC + ldr r3, _0807FC20 @ =gUnk_02002A40 + adds r0, r3, #0 + adds r0, #0xb2 + movs r1, #0 + strb r1, [r0] + adds r0, #0x12 + movs r2, #0 + strh r1, [r0] + subs r0, #0x11 + strb r2, [r0] + adds r0, #0x13 + strh r1, [r0] + subs r0, #0xc + strb r2, [r0] + adds r0, #0xe + strh r1, [r0] + bx lr + .align 2, 0 +_0807FC20: .4byte gUnk_02002A40 + + thumb_func_start sub_0807FC24 +sub_0807FC24: @ 0x0807FC24 + push {lr} + ldr r0, _0807FC3C @ =gRoomControls + ldrb r0, [r0, #5] + movs r1, #0xd1 + cmp r0, #1 + bne _0807FC32 + movs r1, #0xcf +_0807FC32: + adds r0, r1, #0 + bl SetLocalFlag + pop {pc} + .align 2, 0 +_0807FC3C: .4byte gRoomControls + + thumb_func_start sub_0807FC40 +sub_0807FC40: @ 0x0807FC40 + push {lr} + ldr r0, _0807FC5C @ =gRoomControls + ldrb r2, [r0, #0xf] + movs r1, #0xfb + ands r1, r2 + strb r1, [r0, #0xf] + ldr r2, _0807FC60 @ =gUnk_0811E768 + ldrb r1, [r0, #2] + lsls r1, r1, #2 + adds r1, r1, r2 + ldr r1, [r1] + bl _call_via_r1 + pop {pc} + .align 2, 0 +_0807FC5C: .4byte gRoomControls +_0807FC60: .4byte gUnk_0811E768 + + thumb_func_start sub_0807FC64 +sub_0807FC64: @ 0x0807FC64 + push {lr} + movs r2, #0 + movs r1, #1 + strb r1, [r0, #2] + strh r2, [r0] + movs r1, #4 + strb r1, [r0, #0xe] + bl sub_0807FC7C + bl sub_080805F8 + pop {pc} + + thumb_func_start sub_0807FC7C +sub_0807FC7C: @ 0x0807FC7C + push {r4, r5, r6, r7, lr} + adds r2, r0, #0 + ldr r0, [r2, #0x30] + cmp r0, #0 + bne _0807FC88 + b _0807FDA6 +_0807FC88: + movs r1, #0xa + ldrsh r4, [r2, r1] + movs r1, #0x2e + ldrsh r0, [r0, r1] + subs r0, #0x78 + subs r3, r4, r0 + cmp r3, #0 + beq _0807FD16 + ldrh r6, [r2, #0xa] + movs r7, #7 + ands r7, r6 + mov ip, r6 + cmp r3, #0 + ble _0807FCDC + ldrh r0, [r2, #6] + adds r5, r0, #0 + cmp r5, r4 + bge _0807FD16 + ldrb r0, [r2, #0xe] + cmp r0, r3 + bgt _0807FCBC + adds r3, r0, #0 + ldrb r1, [r2, #0xf] + movs r0, #4 + orrs r0, r1 + strb r0, [r2, #0xf] +_0807FCBC: + mov r1, ip + subs r0, r1, r3 + strh r0, [r2, #0xa] + subs r0, r7, r3 + cmp r0, #0 + bgt _0807FCCE + ldr r1, _0807FCD8 @ =gUnk_02000070 + movs r0, #1 + strb r0, [r1] +_0807FCCE: + movs r1, #0xa + ldrsh r0, [r2, r1] + cmp r5, r0 + blt _0807FD16 + b _0807FD14 + .align 2, 0 +_0807FCD8: .4byte gUnk_02000070 +_0807FCDC: + ldrh r0, [r2, #6] + ldrh r1, [r2, #0x1e] + adds r0, r0, r1 + adds r5, r0, #0 + subs r5, #0xf0 + cmp r4, r5 + bge _0807FD16 + ldrb r0, [r2, #0xe] + rsbs r0, r0, #0 + cmp r0, r3 + blt _0807FCFC + adds r3, r0, #0 + ldrb r1, [r2, #0xf] + movs r0, #4 + orrs r0, r1 + strb r0, [r2, #0xf] +_0807FCFC: + subs r0, r6, r3 + strh r0, [r2, #0xa] + subs r0, r7, r3 + cmp r0, #7 + ble _0807FD0C + ldr r1, _0807FD68 @ =gUnk_02000070 + movs r0, #1 + strb r0, [r1] +_0807FD0C: + movs r1, #0xa + ldrsh r0, [r2, r1] + cmp r0, r5 + blt _0807FD16 +_0807FD14: + strh r5, [r2, #0xa] +_0807FD16: + movs r0, #0xc + ldrsh r4, [r2, r0] + ldr r0, [r2, #0x30] + movs r1, #0x32 + ldrsh r0, [r0, r1] + subs r0, #0x50 + subs r3, r4, r0 + cmp r3, #0 + beq _0807FDA6 + ldrh r6, [r2, #0xc] + movs r7, #7 + ands r7, r6 + mov ip, r6 + cmp r3, #0 + ble _0807FD6C + ldrh r0, [r2, #8] + adds r5, r0, #0 + cmp r5, r4 + bge _0807FDA6 + ldrb r0, [r2, #0xe] + cmp r0, r3 + bgt _0807FD4C + adds r3, r0, #0 + ldrb r1, [r2, #0xf] + movs r0, #4 + orrs r0, r1 + strb r0, [r2, #0xf] +_0807FD4C: + mov r1, ip + subs r0, r1, r3 + strh r0, [r2, #0xc] + subs r0, r7, r3 + cmp r0, #0 + bgt _0807FD5E + ldr r1, _0807FD68 @ =gUnk_02000070 + movs r0, #1 + strb r0, [r1] +_0807FD5E: + movs r1, #0xc + ldrsh r0, [r2, r1] + cmp r5, r0 + blt _0807FDA6 + b _0807FDA4 + .align 2, 0 +_0807FD68: .4byte gUnk_02000070 +_0807FD6C: + ldrh r0, [r2, #8] + ldrh r1, [r2, #0x20] + adds r0, r0, r1 + adds r5, r0, #0 + subs r5, #0xa0 + cmp r4, r5 + bge _0807FDA6 + ldrb r0, [r2, #0xe] + rsbs r0, r0, #0 + cmp r0, r3 + blt _0807FD8C + adds r3, r0, #0 + ldrb r1, [r2, #0xf] + movs r0, #4 + orrs r0, r1 + strb r0, [r2, #0xf] +_0807FD8C: + subs r0, r6, r3 + strh r0, [r2, #0xc] + subs r0, r7, r3 + cmp r0, #7 + ble _0807FD9C + ldr r1, _0807FDAC @ =gUnk_02000070 + movs r0, #1 + strb r0, [r1] +_0807FD9C: + movs r1, #0xc + ldrsh r0, [r2, r1] + cmp r0, r5 + blt _0807FDA6 +_0807FDA4: + strh r5, [r2, #0xc] +_0807FDA6: + bl sub_08080BC4 + pop {r4, r5, r6, r7, pc} + .align 2, 0 +_0807FDAC: .4byte gUnk_02000070 + + thumb_func_start sub_0807FDB0 +sub_0807FDB0: @ 0x0807FDB0 + push {lr} + ldr r2, _0807FDC4 @ =gUnk_0811E780 + ldrb r1, [r0, #3] + lsls r1, r1, #2 + adds r1, r1, r2 + ldr r1, [r1] + bl _call_via_r1 + pop {pc} + .align 2, 0 +_0807FDC4: .4byte gUnk_0811E780 + + thumb_func_start sub_0807FDC8 +sub_0807FDC8: @ 0x0807FDC8 + push {r4, r5, lr} + adds r5, r0, #0 + ldr r4, _0807FDE0 @ =gUnk_02000070 + movs r0, #1 + strb r0, [r4] + bl sub_08000108 + movs r1, #0 + movs r0, #1 + strb r0, [r5, #3] + strb r1, [r4] + pop {r4, r5, pc} + .align 2, 0 +_0807FDE0: .4byte gUnk_02000070 + + thumb_func_start sub_0807FDE4 +sub_0807FDE4: @ 0x0807FDE4 + movs r2, #0 + movs r1, #2 + strb r1, [r0, #3] + strh r2, [r0, #0x18] + ldr r0, _0807FDF4 @ =gUnk_02000070 + strb r1, [r0] + bx lr + .align 2, 0 +_0807FDF4: .4byte gUnk_02000070 + + thumb_func_start sub_0807FDF8 +sub_0807FDF8: @ 0x0807FDF8 + push {r4, lr} + adds r4, r0, #0 + ldr r1, _0807FE18 @ =gUnk_02000070 + movs r0, #2 + strb r0, [r1] + ldrh r0, [r4, #0x18] + adds r0, #1 + strh r0, [r4, #0x18] + ldrb r0, [r4, #0x10] + cmp r0, #1 + beq _0807FE44 + cmp r0, #1 + bgt _0807FE1C + cmp r0, #0 + beq _0807FE26 + b _0807FEB6 + .align 2, 0 +_0807FE18: .4byte gUnk_02000070 +_0807FE1C: + cmp r0, #2 + beq _0807FE68 + cmp r0, #3 + beq _0807FE94 + b _0807FEB6 +_0807FE26: + ldrh r0, [r4, #0xc] + subs r0, #4 + strh r0, [r4, #0xc] + ldr r1, [r4, #0x30] + ldr r0, _0807FE3C @ =gPlayerEntity + cmp r1, r0 + bne _0807FE80 + ldr r0, [r1, #0x30] + ldr r2, _0807FE40 @ =0xFFFFA000 + b _0807FE7C + .align 2, 0 +_0807FE3C: .4byte gPlayerEntity +_0807FE40: .4byte 0xFFFFA000 +_0807FE44: + ldrh r0, [r4, #0xa] + adds r0, #4 + strh r0, [r4, #0xa] + ldr r1, [r4, #0x30] + ldr r0, _0807FE64 @ =gPlayerEntity + cmp r1, r0 + bne _0807FE5C + ldr r0, [r1, #0x2c] + movs r2, #0x80 + lsls r2, r2, #7 + adds r0, r0, r2 + str r0, [r1, #0x2c] +_0807FE5C: + ldrh r0, [r4, #0x18] + cmp r0, #0x3c + bne _0807FEB6 + b _0807FE86 + .align 2, 0 +_0807FE64: .4byte gPlayerEntity +_0807FE68: + ldrh r0, [r4, #0xc] + adds r0, #4 + strh r0, [r4, #0xc] + ldr r1, [r4, #0x30] + ldr r0, _0807FE90 @ =gPlayerEntity + cmp r1, r0 + bne _0807FE80 + ldr r0, [r1, #0x30] + movs r2, #0xc0 + lsls r2, r2, #7 +_0807FE7C: + adds r0, r0, r2 + str r0, [r1, #0x30] +_0807FE80: + ldrh r0, [r4, #0x18] + cmp r0, #0x28 + bne _0807FEB6 +_0807FE86: + adds r0, r4, #0 + bl sub_0807FEC8 + b _0807FEB6 + .align 2, 0 +_0807FE90: .4byte gPlayerEntity +_0807FE94: + ldrh r0, [r4, #0xa] + subs r0, #4 + strh r0, [r4, #0xa] + ldr r1, [r4, #0x30] + ldr r0, _0807FEC0 @ =gPlayerEntity + cmp r1, r0 + bne _0807FEAA + ldr r0, [r1, #0x2c] + ldr r2, _0807FEC4 @ =0xFFFFC000 + adds r0, r0, r2 + str r0, [r1, #0x2c] +_0807FEAA: + ldrh r0, [r4, #0x18] + cmp r0, #0x3c + bne _0807FEB6 + adds r0, r4, #0 + bl sub_0807FEC8 +_0807FEB6: + movs r0, #0 + strh r0, [r4, #0x16] + bl sub_08080BC4 + pop {r4, pc} + .align 2, 0 +_0807FEC0: .4byte gPlayerEntity +_0807FEC4: .4byte 0xFFFFC000 + + thumb_func_start sub_0807FEC8 +sub_0807FEC8: @ 0x0807FEC8 + push {r4, r5, lr} + adds r5, r0, #0 + movs r0, #0 + strb r0, [r5, #2] + subs r0, #1 + ldr r4, _0807FEEC @ =gUnk_03003FC0 + adds r1, r4, #0 + movs r2, #0x40 + bl _DmaFill32 + subs r4, #0x40 + ldr r1, [r5, #0x30] + ldrh r0, [r1, #0x2e] + strh r0, [r4, #0x16] + ldrh r0, [r1, #0x32] + strh r0, [r4, #0x18] + pop {r4, r5, pc} + .align 2, 0 +_0807FEEC: .4byte gUnk_03003FC0 + + thumb_func_start sub_0807FEF0 +sub_0807FEF0: @ 0x0807FEF0 + push {lr} + ldr r2, _0807FF04 @ =gUnk_0811E78C + ldrb r1, [r0, #3] + lsls r1, r1, #2 + adds r1, r1, r2 + ldr r1, [r1] + bl _call_via_r1 + pop {pc} + .align 2, 0 +_0807FF04: .4byte gUnk_0811E78C + + thumb_func_start sub_0807FF08 +sub_0807FF08: @ 0x0807FF08 + movs r2, #0 + movs r1, #1 + strb r1, [r0, #3] + strh r2, [r0, #0x18] + ldr r1, _0807FF18 @ =gUnk_02000070 + movs r0, #3 + strb r0, [r1] + bx lr + .align 2, 0 +_0807FF18: .4byte gUnk_02000070 + + thumb_func_start sub_0807FF1C +sub_0807FF1C: @ 0x0807FF1C + push {lr} + adds r2, r0, #0 + ldr r0, _0807FF4C @ =gScreenTransition + ldr r0, [r0] + movs r1, #1 + ands r0, r1 + cmp r0, #0 + bne _0807FF48 + ldr r1, _0807FF50 @ =gUnk_02000070 + movs r0, #3 + strb r0, [r1] + ldrh r0, [r2, #0x18] + adds r0, #1 + strh r0, [r2, #0x18] + lsls r0, r0, #0x10 + lsrs r0, r0, #0x10 + cmp r0, #0x13 + bls _0807FF48 + movs r0, #0 + strb r0, [r2, #2] + bl sub_0805E5B4 +_0807FF48: + pop {pc} + .align 2, 0 +_0807FF4C: .4byte gScreenTransition +_0807FF50: .4byte gUnk_02000070 + + thumb_func_start sub_0807FF54 +sub_0807FF54: @ 0x0807FF54 + push {lr} + ldr r2, _0807FF68 @ =gUnk_0811E794 + ldrb r1, [r0, #3] + lsls r1, r1, #2 + adds r1, r1, r2 + ldr r1, [r1] + bl _call_via_r1 + pop {pc} + .align 2, 0 +_0807FF68: .4byte gUnk_0811E794 + + thumb_func_start sub_0807FF6C +sub_0807FF6C: @ 0x0807FF6C + push {r4, lr} + movs r1, #1 + strb r1, [r0, #3] + ldr r3, _0807FFC8 @ =gScreen + ldrh r1, [r3] + movs r2, #0x80 + lsls r2, r2, #7 + adds r0, r2, #0 + orrs r0, r1 + strh r0, [r3] + adds r2, r3, #0 + adds r2, #0x60 + ldrb r0, [r2] + movs r4, #0xb8 + lsls r4, r4, #5 + adds r1, r4, #0 + orrs r0, r1 + strh r0, [r2] + adds r2, #2 + ldrh r1, [r2] + movs r0, #0xff + lsls r0, r0, #8 + ands r0, r1 + movs r1, #7 + movs r4, #0 + orrs r0, r1 + strh r0, [r2] + adds r0, r3, #0 + adds r0, #0x5a + movs r1, #0xf0 + strh r1, [r0] + adds r0, #4 + strh r1, [r0] + bl ResetPlayer + bl sub_080791D0 + ldr r0, _0807FFCC @ =gUnk_03004030 + ldrb r0, [r0, #8] + cmp r0, #0 + beq _0807FFD4 + ldr r1, _0807FFD0 @ =gPlayerEntity + movs r0, #4 + strb r0, [r1, #0x14] + b _0807FFD8 + .align 2, 0 +_0807FFC8: .4byte gScreen +_0807FFCC: .4byte gUnk_03004030 +_0807FFD0: .4byte gPlayerEntity +_0807FFD4: + ldr r0, _0807FFE0 @ =gPlayerEntity + strb r4, [r0, #0x14] +_0807FFD8: + bl sub_080809D4 + pop {r4, pc} + .align 2, 0 +_0807FFE0: .4byte gPlayerEntity + + thumb_func_start sub_0807FFE4 +sub_0807FFE4: @ 0x0807FFE4 + push {r4, r5, lr} + adds r5, r0, #0 + movs r0, #2 + strb r0, [r5, #3] + bl sub_080803D0 + adds r0, #6 + strh r0, [r5, #0x18] + ldr r4, _0808002C @ =gUnk_0200B640 + bl sub_08080278 + strh r0, [r4] + ldr r1, _08080030 @ =gUnk_08109194 + ldr r0, _08080034 @ =gUnk_03004030 + ldr r0, [r0] + ldrb r0, [r0, #3] + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r0, [r0] + ldr r0, [r0] + bl sub_080197D4 + ldr r4, _08080038 @ =gMapDataTop + ldrh r1, [r5, #0x1e] + lsrs r1, r1, #4 + ldrh r2, [r5, #0x20] + lsrs r2, r2, #4 + adds r0, r4, #0 + bl sub_0807C8B0 + ldr r0, _0808003C @ =gMapDataTopSpecial + subs r4, #4 + adds r1, r4, #0 + bl sub_0801AB08 + pop {r4, r5, pc} + .align 2, 0 +_0808002C: .4byte gUnk_0200B640 +_08080030: .4byte gUnk_08109194 +_08080034: .4byte gUnk_03004030 +_08080038: .4byte gMapDataTop +_0808003C: .4byte gMapDataTopSpecial + + thumb_func_start sub_08080040 +sub_08080040: @ 0x08080040 + push {r4, r5, r6, r7, lr} + adds r5, r0, #0 + ldrh r4, [r5, #0x18] + subs r4, #6 + strh r4, [r5, #0x18] + ldrh r0, [r5, #0x18] + lsls r0, r0, #1 + movs r1, #3 + bl __divsi3 + strh r0, [r5, #0x1a] + lsls r4, r4, #0x10 + lsrs r4, r4, #0x10 + cmp r4, #0x2a + bls _080800C6 + ldr r3, [r5, #0x30] + movs r1, #0x2e + ldrsh r0, [r3, r1] + movs r2, #0xa + ldrsh r1, [r5, r2] + subs r2, r0, r1 + ldrh r1, [r5, #0x18] + subs r0, r2, r1 + adds r7, r0, #0 + adds r7, #8 + cmp r7, #0 + bge _08080078 + movs r7, #0 +_08080078: + adds r0, r2, r1 + adds r6, r0, #0 + subs r6, #8 + cmp r6, #0xf0 + ble _08080084 + movs r6, #0xf0 +_08080084: + movs r1, #0x32 + ldrsh r0, [r3, r1] + movs r2, #0xc + ldrsh r1, [r5, r2] + subs r2, r0, r1 + ldrh r1, [r5, #0x1a] + subs r0, r2, r1 + adds r4, r0, #0 + adds r4, #8 + cmp r4, #0 + bge _0808009C + movs r4, #0 +_0808009C: + adds r0, r2, r1 + adds r3, r0, #0 + subs r3, #8 + cmp r3, #0xa0 + ble _080800A8 + movs r3, #0xa0 +_080800A8: + ldr r2, _080800F0 @ =gScreen + movs r1, #0xff + ands r7, r1 + lsls r0, r7, #8 + ands r6, r1 + orrs r0, r6 + adds r6, r2, #0 + adds r6, #0x5a + strh r0, [r6] + ands r4, r1 + lsls r0, r4, #8 + ands r3, r1 + orrs r0, r3 + adds r2, #0x5e + strh r0, [r2] +_080800C6: + ldrh r0, [r5, #0x18] + cmp r0, #0 + bne _080800FC + movs r0, #3 + strb r0, [r5, #3] + bl sub_0805E9F4 + bl sub_0807C810 + ldr r1, _080800F4 @ =gUnk_08109194 + ldr r0, _080800F8 @ =gUnk_03004030 + ldr r0, [r0] + ldrb r0, [r0, #3] + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r0, [r0] + ldr r0, [r0, #4] + bl sub_08080C80 + b _08080102 + .align 2, 0 +_080800F0: .4byte gScreen +_080800F4: .4byte gUnk_08109194 +_080800F8: .4byte gUnk_03004030 +_080800FC: + ldr r1, _08080104 @ =gUnk_02000070 + movs r0, #4 + strb r0, [r1] +_08080102: + pop {r4, r5, r6, r7, pc} + .align 2, 0 +_08080104: .4byte gUnk_02000070 + + thumb_func_start sub_08080108 +sub_08080108: @ 0x08080108 + push {r4, r5, r6, lr} + movs r1, #4 + strb r1, [r0, #3] + ldr r5, _08080178 @ =gMapDataBottom + movs r0, #0xc0 + lsls r0, r0, #6 + adds r1, r5, r0 + movs r6, #0x80 + lsls r6, r6, #6 + adds r0, r5, #0 + adds r2, r6, #0 + bl _DmaCopy + ldr r4, _0808017C @ =gMapDataTop + movs r0, #0xc0 + lsls r0, r0, #6 + adds r1, r4, r0 + adds r0, r4, #0 + adds r2, r6, #0 + bl _DmaCopy + bl sub_08080368 + ldr r1, _08080180 @ =gUnk_02034480 + ldr r0, _08080184 @ =gUnk_0200B640 + ldrh r0, [r0] + strh r0, [r1] + ldr r0, _08080188 @ =gUnk_02022830 + ldr r1, _0808018C @ =gUnk_020246B0 + movs r2, #0xc0 + lsls r2, r2, #5 + bl _DmaCopy + subs r5, #4 + adds r0, r5, #0 + bl sub_08080B60 + subs r4, #4 + adds r0, r4, #0 + bl sub_08080B60 + bl sub_0807BBE4 + bl sub_0807BC84 + bl sub_0805E248 + ldr r0, _08080190 @ =gUnk_02019EE0 + adds r1, r5, #0 + bl sub_0801AB08 + ldr r0, _08080194 @ =gMapDataTopSpecial + adds r1, r4, #0 + bl sub_0801AB08 + pop {r4, r5, r6, pc} + .align 2, 0 +_08080178: .4byte gMapDataBottom +_0808017C: .4byte gMapDataTop +_08080180: .4byte gUnk_02034480 +_08080184: .4byte gUnk_0200B640 +_08080188: .4byte gUnk_02022830 +_0808018C: .4byte gUnk_020246B0 +_08080190: .4byte gUnk_02019EE0 +_08080194: .4byte gMapDataTopSpecial + + thumb_func_start sub_08080198 +sub_08080198: @ 0x08080198 + push {r4, lr} + movs r1, #5 + strb r1, [r0, #3] + movs r4, #0 + movs r1, #0xff + strh r1, [r0, #0x1c] + bl LoadRoom + bl sub_0804AFF4 + ldr r0, _080801B8 @ =gUnk_02000070 + strb r4, [r0] + bl sub_080805F8 + pop {r4, pc} + .align 2, 0 +_080801B8: .4byte gUnk_02000070 + + thumb_func_start sub_080801BC +sub_080801BC: @ 0x080801BC + push {r4, r5, r6, r7, lr} + adds r5, r0, #0 + ldrh r4, [r5, #0x18] + adds r4, #6 + strh r4, [r5, #0x18] + ldrh r0, [r5, #0x18] + lsls r0, r0, #1 + movs r1, #3 + bl __divsi3 + strh r0, [r5, #0x1a] + lsls r4, r4, #0x10 + lsrs r4, r4, #0x10 + cmp r4, #0x1e + bls _08080232 + ldr r2, [r5, #0x30] + movs r0, #0x2e + ldrsh r1, [r2, r0] + movs r3, #0xa + ldrsh r0, [r5, r3] + subs r0, r1, r0 + ldrh r1, [r5, #0x18] + subs r7, r0, r1 + cmp r7, #0 + bge _080801F0 + movs r7, #0 +_080801F0: + adds r6, r0, r1 + cmp r6, #0xf0 + ble _080801F8 + movs r6, #0xf0 +_080801F8: + movs r0, #0x32 + ldrsh r1, [r2, r0] + movs r2, #0xc + ldrsh r0, [r5, r2] + subs r0, r1, r0 + ldrh r1, [r5, #0x1a] + subs r4, r0, r1 + cmp r4, #0 + bge _0808020C + movs r4, #0 +_0808020C: + adds r3, r0, r1 + cmp r3, #0xa0 + ble _08080214 + movs r3, #0xa0 +_08080214: + ldr r2, _08080260 @ =gScreen + movs r1, #0xff + ands r7, r1 + lsls r0, r7, #8 + ands r6, r1 + orrs r0, r6 + adds r6, r2, #0 + adds r6, #0x5a + strh r0, [r6] + ands r4, r1 + lsls r0, r4, #8 + ands r3, r1 + orrs r0, r3 + adds r2, #0x5e + strh r0, [r2] +_08080232: + ldrh r0, [r5, #0x1c] + cmp r0, #0 + bne _08080268 + strb r0, [r5, #2] + strh r0, [r5] + bl sub_0805E5B4 + ldr r1, _08080260 @ =gScreen + ldrh r2, [r1] + ldr r0, _08080264 @ =0x0000BFFF + ands r0, r2 + strh r0, [r1] + adds r2, r1, #0 + adds r2, #0x60 + ldrb r0, [r2] + strh r0, [r2] + adds r1, #0x62 + ldrh r2, [r1] + movs r0, #0xff + lsls r0, r0, #8 + ands r0, r2 + strh r0, [r1] + b _08080272 + .align 2, 0 +_08080260: .4byte gScreen +_08080264: .4byte 0x0000BFFF +_08080268: + ldr r0, _08080274 @ =gUnk_02000070 + movs r1, #4 + strb r1, [r0] + movs r0, #0 + strh r0, [r5, #0x1c] +_08080272: + pop {r4, r5, r6, r7, pc} + .align 2, 0 +_08080274: .4byte gUnk_02000070 + + thumb_func_start sub_08080278 +sub_08080278: @ 0x08080278 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #8 + ldr r0, _08080344 @ =gUnk_02022830 + mov ip, r0 + ldr r1, _08080348 @ =gRoomControls + ldrh r0, [r1, #0x1e] + lsrs r0, r0, #4 + str r0, [sp] + ldrh r0, [r1, #0x20] + lsrs r0, r0, #4 + lsls r0, r0, #6 + str r0, [sp, #4] + movs r5, #0 + mov sl, r5 + cmp r5, r0 + bhs _08080336 + mov sb, r5 +_080802A2: + movs r1, #0 + mov r8, r1 + ldr r0, [sp] + cmp r8, r0 + bhs _08080328 + ldr r4, _0808034C @ =gMapDataTop + add r4, sb + ldr r7, _08080350 @ =gUnk_0200E654 + add r7, sb + ldr r3, _08080354 @ =gMapDataBottom + add r3, sb + ldr r6, _08080358 @ =gUnk_02028EB4 + add r6, sb +_080802BC: + mov r2, sl + add r2, r8 + ldrh r0, [r6] + ldrh r1, [r3] + cmp r0, r1 + beq _080802EA + ldr r0, _0808035C @ =0x00003FFF + cmp r1, r0 + bhi _080802EA + adds r0, #1 + adds r1, r0, #0 + adds r0, r2, #0 + orrs r0, r1 + mov r1, ip + strh r0, [r1] + ldrh r0, [r3] + strh r0, [r1, #2] + movs r0, #4 + add ip, r0 + adds r5, #1 + ldr r0, _08080360 @ =0x000005FF + cmp r5, r0 + bhi _08080336 +_080802EA: + ldrh r0, [r7] + ldrh r1, [r4] + cmp r0, r1 + beq _08080316 + ldr r0, _0808035C @ =0x00003FFF + cmp r1, r0 + bhi _08080316 + movs r1, #0x80 + lsls r1, r1, #8 + adds r0, r1, #0 + orrs r2, r0 + mov r0, ip + strh r2, [r0] + ldrh r0, [r4] + mov r1, ip + strh r0, [r1, #2] + movs r0, #4 + add ip, r0 + adds r5, #1 + ldr r0, _08080364 @ =0x000007FF + cmp r5, r0 + bhi _08080336 +_08080316: + adds r4, #2 + adds r7, #2 + adds r3, #2 + adds r6, #2 + movs r1, #1 + add r8, r1 + ldr r0, [sp] + cmp r8, r0 + blo _080802BC +_08080328: + movs r1, #0x80 + add sb, r1 + movs r0, #0x40 + add sl, r0 + ldr r1, [sp, #4] + cmp sl, r1 + blo _080802A2 +_08080336: + adds r0, r5, #0 + add sp, #8 + pop {r3, r4, r5} + mov r8, r3 + mov sb, r4 + mov sl, r5 + pop {r4, r5, r6, r7, pc} + .align 2, 0 +_08080344: .4byte gUnk_02022830 +_08080348: .4byte gRoomControls +_0808034C: .4byte gMapDataTop +_08080350: .4byte gUnk_0200E654 +_08080354: .4byte gMapDataBottom +_08080358: .4byte gUnk_02028EB4 +_0808035C: .4byte 0x00003FFF +_08080360: .4byte 0x000005FF +_08080364: .4byte 0x000007FF + + thumb_func_start sub_08080368 +sub_08080368: @ 0x08080368 + push {r4, r5, r6, r7, lr} + ldr r0, _08080384 @ =gUnk_03004030 + ldr r1, _08080388 @ =gRoomControls + ldrb r0, [r0, #0xa] + ldrb r1, [r1, #4] + cmp r0, r1 + beq _08080390 + cmp r0, #0xff + beq _08080390 + ldr r1, _0808038C @ =gUnk_02034480 + movs r0, #0 + strh r0, [r1] + b _080803BE + .align 2, 0 +_08080384: .4byte gUnk_03004030 +_08080388: .4byte gRoomControls +_0808038C: .4byte gUnk_02034480 +_08080390: + ldr r5, _080803C0 @ =gUnk_020246B0 + ldr r0, _080803C4 @ =gUnk_02034480 + ldrh r0, [r0] + lsls r6, r0, #1 + movs r4, #0 + cmp r4, r6 + bhs _080803B8 + ldr r0, _080803C8 @ =0x00000FFF + adds r7, r0, #0 +_080803A2: + ldrh r0, [r5, #2] + ldrh r2, [r5] + adds r1, r7, #0 + ands r1, r2 + lsrs r2, r2, #0xe + bl sub_0807B9B8 + adds r5, #4 + adds r4, #2 + cmp r4, r6 + blo _080803A2 +_080803B8: + ldr r1, _080803CC @ =gUnk_02000070 + movs r0, #0 + strb r0, [r1] +_080803BE: + pop {r4, r5, r6, r7, pc} + .align 2, 0 +_080803C0: .4byte gUnk_020246B0 +_080803C4: .4byte gUnk_02034480 +_080803C8: .4byte 0x00000FFF +_080803CC: .4byte gUnk_02000070 + + thumb_func_start sub_080803D0 +sub_080803D0: @ 0x080803D0 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #0x38 + ldr r1, _080804F0 @ =gRoomControls + movs r2, #0xa + ldrsh r0, [r1, r2] + ldrh r2, [r1, #6] + subs r0, r0, r2 + str r0, [sp, #0x18] + ldr r3, [r1, #0x30] + movs r4, #0x2e + ldrsh r0, [r3, r4] + subs r0, r0, r2 + str r0, [sp, #0x10] + movs r2, #0xc + ldrsh r0, [r1, r2] + ldrh r1, [r1, #8] + subs r0, r0, r1 + str r0, [sp, #0x1c] + movs r4, #0x32 + ldrsh r0, [r3, r4] + subs r0, r0, r1 + str r0, [sp, #0x14] + movs r0, #0x3c + str r0, [sp, #8] +_08080408: + movs r7, #0 + ldr r1, [sp, #8] + adds r1, #6 + str r1, [sp, #8] + adds r2, r1, #0 + muls r2, r1, r2 + mov sl, r2 + lsls r4, r1, #1 + adds r0, r4, #0 + movs r1, #3 + bl __divsi3 + str r0, [sp, #0xc] + adds r1, r0, #0 + muls r1, r0, r1 + mov sb, r1 + movs r2, #0 + str r2, [sp, #4] + rsbs r4, r4, #0 + adds r4, #1 + mov r0, sb + muls r0, r4, r0 + mov r4, sl + lsls r5, r4, #1 + adds r4, r0, r5 + ldr r0, [sp, #8] + mov r6, sb + muls r6, r0, r6 + adds r0, r6, #0 + mov r1, sl + bl __divsi3 + adds r2, r0, #0 + cmp r7, r2 + bgt _08080506 + ldr r1, [sp, #0x18] + adds r1, #0xf8 + str r1, [sp, #0x20] + mov r1, sl + adds r0, r5, r1 + lsls r3, r0, #1 + str r6, [sp, #0x2c] + ldr r0, [sp, #8] + lsls r1, r0, #2 + rsbs r1, r1, #0 + adds r1, #4 + mov r8, r1 + rsbs r0, r0, #0 + adds r0, #8 + ldr r1, [sp, #0x10] + adds r6, r0, r1 + ldr r0, [sp, #8] + adds r5, r0, r1 + mov r0, r8 + mov r1, sb + muls r1, r0, r1 + mov r8, r1 +_0808047A: + ldr r1, [sp, #0x1c] + adds r1, #0xa8 + mov ip, r1 + ldr r0, [sp, #0x14] + ldr r1, [sp, #4] + adds r0, r0, r1 + str r0, [sp, #0x34] + cmp ip, r0 + ble _080804A0 + ldr r0, [sp, #0x20] + cmp r0, r5 + ble _08080496 + movs r0, #1 + orrs r7, r0 +_08080496: + ldr r1, [sp, #0x18] + cmp r1, r6 + bge _080804A0 + movs r0, #2 + orrs r7, r0 +_080804A0: + ldr r0, [sp, #0x14] + ldr r1, [sp, #4] + subs r0, r0, r1 + mov ip, r0 + adds r0, #8 + ldr r1, [sp, #0x1c] + cmp r1, r0 + bge _080804C4 + ldr r0, [sp, #0x20] + cmp r0, r5 + ble _080804BA + movs r0, #4 + orrs r7, r0 +_080804BA: + ldr r1, [sp, #0x18] + cmp r1, r6 + bge _080804C4 + movs r0, #8 + orrs r7, r0 +_080804C4: + cmp r4, #0 + ble _080804F4 + mov r2, r8 + adds r0, r2, r3 + adds r4, r4, r0 + ldr r0, [sp, #0x2c] + mov r1, sb + subs r0, r0, r1 + str r0, [sp, #0x2c] + lsls r0, r1, #2 + add r8, r0 + adds r6, #1 + subs r5, #1 + ldr r0, [sp, #0x2c] + mov r1, sl + str r3, [sp, #0x30] + bl __divsi3 + adds r2, r0, #0 + ldr r3, [sp, #0x30] + b _080804F6 + .align 2, 0 +_080804F0: .4byte gRoomControls +_080804F4: + adds r4, r4, r3 +_080804F6: + mov r1, sl + lsls r0, r1, #2 + adds r3, r3, r0 + ldr r0, [sp, #4] + adds r0, #1 + str r0, [sp, #4] + cmp r0, r2 + ble _0808047A +_08080506: + movs r1, #0 + str r1, [sp] + ldr r2, [sp, #0xc] + str r2, [sp, #4] + mov r4, sb + lsls r6, r4, #1 + lsls r0, r2, #1 + rsbs r0, r0, #0 + adds r0, #1 + mov r1, sl + muls r1, r0, r1 + adds r0, r1, #0 + adds r4, r6, r0 + mov r5, sl + muls r5, r2, r5 + adds r0, r5, #0 + mov r1, sb + bl __divsi3 + adds r2, r0, #0 + ldr r0, [sp] + cmp r0, r2 + bgt _080805E4 + ldr r1, [sp, #0x18] + adds r1, #0xf8 + str r1, [sp, #0x24] + mov r1, sb + adds r0, r6, r1 + lsls r0, r0, #1 + mov r8, r0 + ldr r3, [sp, #0x10] + adds r3, #8 + ldr r6, [sp, #0x10] + str r5, [sp, #0x28] + ldr r1, [sp, #4] + lsls r0, r1, #2 + rsbs r0, r0, #0 + adds r0, #4 + mov r5, sl + muls r5, r0, r5 +_08080556: + ldr r0, [sp, #0x1c] + adds r0, #0xa8 + mov ip, r0 + ldr r1, [sp, #0x14] + ldr r0, [sp, #4] + adds r1, r1, r0 + str r1, [sp, #0x34] + cmp ip, r1 + ble _0808057C + ldr r1, [sp, #0x24] + cmp r1, r6 + ble _08080572 + movs r0, #0x10 + orrs r7, r0 +_08080572: + ldr r0, [sp, #0x18] + cmp r0, r3 + bge _0808057C + movs r0, #0x20 + orrs r7, r0 +_0808057C: + ldr r1, [sp, #0x14] + ldr r0, [sp, #4] + subs r1, r1, r0 + mov ip, r1 + mov r0, ip + adds r0, #8 + ldr r1, [sp, #0x1c] + cmp r1, r0 + bge _080805A2 + ldr r0, [sp, #0x24] + cmp r0, r6 + ble _08080598 + movs r0, #0x40 + orrs r7, r0 +_08080598: + ldr r1, [sp, #0x18] + cmp r1, r3 + bge _080805A2 + movs r0, #0x80 + orrs r7, r0 +_080805A2: + cmp r4, #0 + ble _080805CE + mov r2, r8 + adds r0, r2, r5 + adds r4, r4, r0 + ldr r0, [sp, #0x28] + mov r1, sl + subs r0, r0, r1 + str r0, [sp, #0x28] + lsls r0, r1, #2 + adds r5, r5, r0 + ldr r2, [sp, #4] + subs r2, #1 + str r2, [sp, #4] + ldr r0, [sp, #0x28] + mov r1, sb + str r3, [sp, #0x30] + bl __divsi3 + adds r2, r0, #0 + ldr r3, [sp, #0x30] + b _080805D0 +_080805CE: + add r4, r8 +_080805D0: + mov r1, sb + lsls r0, r1, #2 + add r8, r0 + subs r3, #1 + adds r6, #1 + ldr r0, [sp] + adds r0, #1 + str r0, [sp] + cmp r0, r2 + ble _08080556 +_080805E4: + cmp r7, #0 + beq _080805EA + b _08080408 +_080805EA: + ldr r0, [sp, #8] + add sp, #0x38 + pop {r3, r4, r5} + mov r8, r3 + mov sb, r4 + mov sl, r5 + pop {r4, r5, r6, r7, pc} + + thumb_func_start sub_080805F8 +sub_080805F8: @ 0x080805F8 + push {lr} + ldr r0, _08080610 @ =gRoomControls + ldrb r0, [r0, #4] + subs r0, #0xc + cmp r0, #0xd + bhi _0808065C + lsls r0, r0, #2 + ldr r1, _08080614 @ =_08080618 + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08080610: .4byte gRoomControls +_08080614: .4byte _08080618 +_08080618: @ jump table + .4byte _08080650 @ case 0 + .4byte _0808065C @ case 1 + .4byte _0808065C @ case 2 + .4byte _08080650 @ case 3 + .4byte _0808065C @ case 4 + .4byte _0808065C @ case 5 + .4byte _0808065C @ case 6 + .4byte _08080650 @ case 7 + .4byte _08080650 @ case 8 + .4byte _0808065C @ case 9 + .4byte _08080650 @ case 10 + .4byte _08080650 @ case 11 + .4byte _0808065C @ case 12 + .4byte _08080650 @ case 13 +_08080650: + ldr r1, _08080658 @ =gUnk_03004030 + movs r0, #1 + b _08080660 + .align 2, 0 +_08080658: .4byte gUnk_03004030 +_0808065C: + ldr r1, _08080664 @ =gUnk_03004030 + movs r0, #0 +_08080660: + strb r0, [r1, #8] + pop {pc} + .align 2, 0 +_08080664: .4byte gUnk_03004030 + + thumb_func_start sub_08080668 +sub_08080668: @ 0x08080668 + push {r4, r5, lr} + ldr r5, _080806A4 @ =gRoomControls + adds r0, r5, #0 + movs r1, #0x38 + bl _DmaZero + ldr r4, _080806A8 @ =gUnk_03004030 + adds r0, r4, #0 + movs r1, #0xc + bl _DmaZero + ldr r0, _080806AC @ =0x0000FFFF + strh r0, [r5, #0x22] + movs r0, #0xff + strb r0, [r4, #0xa] + ldr r1, _080806B0 @ =gUnk_02034480 + movs r0, #0 + strh r0, [r1] + ldr r0, _080806B4 @ =gUnk_02019EE0 + movs r4, #0x80 + lsls r4, r4, #8 + adds r1, r4, #0 + bl _DmaZero + ldr r0, _080806B8 @ =gMapDataTopSpecial + adds r1, r4, #0 + bl _DmaZero + pop {r4, r5, pc} + .align 2, 0 +_080806A4: .4byte gRoomControls +_080806A8: .4byte gUnk_03004030 +_080806AC: .4byte 0x0000FFFF +_080806B0: .4byte gUnk_02034480 +_080806B4: .4byte gUnk_02019EE0 +_080806B8: .4byte gMapDataTopSpecial + + thumb_func_start sub_080806BC +sub_080806BC: @ 0x080806BC + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + mov sb, r0 + mov r8, r1 + adds r7, r2, #0 + adds r6, r3, #0 + ldr r0, _08080710 @ =gArea + ldr r1, _08080714 @ =0x0000085C + adds r0, r0, r1 + ldr r0, [r0] + ldr r5, [r0, #0x18] + ldrh r0, [r5] + ldr r1, _08080718 @ =0x0000FFFF + cmp r0, r1 + beq _08080728 + mov sl, r1 +_080806E2: + ldrh r2, [r5] + movs r0, #1 + lsls r0, r2 + ands r0, r6 + cmp r0, #0 + beq _08080720 + ldr r1, _0808071C @ =gUnk_0811E7AC + lsls r0, r2, #2 + adds r0, r0, r1 + ldr r4, [r0] + adds r0, r5, #0 + mov r1, sb + mov r2, r8 + adds r3, r7, #0 + bl _call_via_r4 + cmp r0, #0 + beq _08080720 + adds r0, r5, #0 + bl DoExitTransition + movs r0, #1 + b _0808072A + .align 2, 0 +_08080710: .4byte gArea +_08080714: .4byte 0x0000085C +_08080718: .4byte 0x0000FFFF +_0808071C: .4byte gUnk_0811E7AC +_08080720: + adds r5, #0x14 + ldrh r0, [r5] + cmp r0, sl + bne _080806E2 +_08080728: + movs r0, #0 +_0808072A: + pop {r3, r4, r5} + mov r8, r3 + mov sb, r4 + mov sl, r5 + pop {r4, r5, r6, r7, pc} + + thumb_func_start sub_08080734 +sub_08080734: @ 0x08080734 + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + adds r6, r0, #0 + adds r5, r1, #0 + ldr r0, _08080778 @ =gArea + ldr r1, _0808077C @ =0x0000085C + adds r0, r0, r1 + ldr r0, [r0] + ldr r4, [r0, #0x18] + movs r0, #0xa + mov r8, r0 + ldrh r0, [r4] + ldr r1, _08080780 @ =0x0000FFFF + cmp r0, r1 + beq _0808078C + adds r7, r1, #0 +_08080756: + movs r0, #1 + ldrh r1, [r4] + lsls r0, r1 + mov r1, r8 + ands r0, r1 + cmp r0, #0 + beq _08080784 + adds r0, r4, #0 + adds r1, r6, #0 + adds r2, r5, #0 + movs r3, #0 + bl sub_08080808 + cmp r0, #0 + beq _08080784 + adds r0, r4, #0 + b _0808078E + .align 2, 0 +_08080778: .4byte gArea +_0808077C: .4byte 0x0000085C +_08080780: .4byte 0x0000FFFF +_08080784: + adds r4, #0x14 + ldrh r0, [r4] + cmp r0, r7 + bne _08080756 +_0808078C: + movs r0, #0 +_0808078E: + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7, pc} + + thumb_func_start sub_08080794 +sub_08080794: @ 0x08080794 + push {r4, lr} + adds r4, r0, #0 + cmp r3, #1 + beq _080807C0 + cmp r3, #1 + blo _080807AC + cmp r3, #2 + beq _080807D4 + cmp r3, #3 + beq _080807E8 +_080807A8: + movs r0, #0 + b _08080800 +_080807AC: + ldr r0, _080807BC @ =gRoomControls + ldrh r0, [r0, #0x1e] + lsrs r0, r0, #1 + movs r3, #1 + cmp r0, r1 + bhs _080807F6 + movs r3, #2 + b _080807F6 + .align 2, 0 +_080807BC: .4byte gRoomControls +_080807C0: + ldr r0, _080807D0 @ =gRoomControls + ldrh r0, [r0, #0x20] + lsrs r0, r0, #1 + movs r3, #4 + cmp r0, r2 + bhs _080807F6 + movs r3, #8 + b _080807F6 + .align 2, 0 +_080807D0: .4byte gRoomControls +_080807D4: + ldr r0, _080807E4 @ =gRoomControls + ldrh r0, [r0, #0x1e] + lsrs r0, r0, #1 + movs r3, #0x10 + cmp r0, r1 + bhs _080807F6 + movs r3, #0x20 + b _080807F6 + .align 2, 0 +_080807E4: .4byte gRoomControls +_080807E8: + ldr r0, _08080804 @ =gRoomControls + ldrh r0, [r0, #0x20] + lsrs r0, r0, #1 + movs r3, #0x40 + cmp r0, r2 + bhs _080807F6 + movs r3, #0x80 +_080807F6: + ldrb r0, [r4, #0xa] + ands r0, r3 + cmp r0, #0 + beq _080807A8 + movs r0, #1 +_08080800: + pop {r4, pc} + .align 2, 0 +_08080804: .4byte gRoomControls + + thumb_func_start sub_08080808 +sub_08080808: @ 0x08080808 + push {r4, r5, lr} + adds r3, r0, #0 + adds r5, r2, #0 + ldrb r0, [r3, #0xa] + lsls r0, r0, #1 + ldr r2, _08080838 @ =gUnk_0811E7BC + adds r4, r0, r2 + ldrb r0, [r4] + ldrh r2, [r3, #2] + subs r1, r1, r2 + adds r1, r1, r0 + lsls r0, r0, #1 + cmp r1, r0 + bhi _0808083C + ldrb r1, [r4, #1] + ldrh r0, [r3, #4] + subs r0, r5, r0 + adds r0, r0, r1 + lsls r1, r1, #1 + cmp r0, r1 + bhi _0808083C + movs r0, #1 + b _0808083E + .align 2, 0 +_08080838: .4byte gUnk_0811E7BC +_0808083C: + movs r0, #0 +_0808083E: + pop {r4, r5, pc} + + thumb_func_start DoExitTransition +DoExitTransition: @ 0x08080840 + push {r4, lr} + adds r4, r0, #0 + ldr r0, _0808085C @ =gScreenTransition + movs r1, #1 + strb r1, [r0, #8] + adds r2, r0, #0 + adds r2, #0xc + ldrh r1, [r4, #6] + ldr r0, _08080860 @ =0x000003FF + cmp r1, r0 + bhi _08080864 + strh r1, [r2, #4] + b _08080872 + .align 2, 0 +_0808085C: .4byte gScreenTransition +_08080860: .4byte 0x000003FF +_08080864: + ldr r0, _08080880 @ =gRoomControls + ldr r0, [r0, #0x30] + ldrh r1, [r0, #0x2e] + ldr r3, _08080884 @ =0xFFFF8000 + adds r0, r3, #0 + orrs r0, r1 + strh r0, [r2, #4] +_08080872: + ldrh r1, [r4, #8] + ldr r0, _08080888 @ =0x000003FF + cmp r1, r0 + bhi _0808088C + strh r1, [r2, #6] + b _0808089A + .align 2, 0 +_08080880: .4byte gRoomControls +_08080884: .4byte 0xFFFF8000 +_08080888: .4byte 0x000003FF +_0808088C: + ldr r0, _080808CC @ =gRoomControls + ldr r0, [r0, #0x30] + ldrh r1, [r0, #0x32] + ldr r3, _080808D0 @ =0xFFFF8000 + adds r0, r3, #0 + orrs r0, r1 + strh r0, [r2, #6] +_0808089A: + ldrb r0, [r4, #0xb] + strb r0, [r2] + ldrb r0, [r4, #0xc] + strb r0, [r2, #1] + ldrb r0, [r4, #0xd] + strb r0, [r2, #8] + ldrb r0, [r4, #0xe] + strb r0, [r2, #3] + ldrb r0, [r4, #0xf] + strb r0, [r2, #2] + ldrh r0, [r4, #0x10] + cmp r0, #0 + beq _080808B8 + bl PlaySFX +_080808B8: + ldr r0, _080808D4 @ =gUnk_0811E7C4 + ldrh r1, [r4] + lsls r1, r1, #2 + adds r1, r1, r0 + ldrb r0, [r4, #0xa] + ldr r1, [r1] + bl _call_via_r1 + pop {r4, pc} + .align 2, 0 +_080808CC: .4byte gRoomControls +_080808D0: .4byte 0xFFFF8000 +_080808D4: .4byte gUnk_0811E7C4 diff --git a/data/data_0811E454.s b/data/data_0811E454.s index 19f42ded..520aaa25 100755 --- a/data/data_0811E454.s +++ b/data/data_0811E454.s @@ -36,957 +36,3 @@ gUnk_0811E510:: @ 0811E510 gUnk_0811E514:: @ 0811E514 .incbin "baserom.gba", 0x11E514, 0x0000010 - -gUnk_0811E524:: @ 0811E524 - .incbin "baserom.gba", 0x11E524, 0x000022C - -gUnk_0811E750:: @ 0811E750 - .incbin "baserom.gba", 0x11E750, 0x0000008 - -gUnk_0811E758:: @ 0811E758 - .incbin "baserom.gba", 0x11E758, 0x0000008 - -gUnk_0811E760:: @ 0811E760 - .incbin "baserom.gba", 0x11E760, 0x0000008 - -gUnk_0811E768:: @ 0811E768 - .incbin "baserom.gba", 0x11E768, 0x0000018 - -gUnk_0811E780:: @ 0811E780 - .incbin "baserom.gba", 0x11E780, 0x000000C - -gUnk_0811E78C:: @ 0811E78C - .incbin "baserom.gba", 0x11E78C, 0x0000008 - -gUnk_0811E794:: @ 0811E794 - .incbin "baserom.gba", 0x11E794, 0x0000018 - -gUnk_0811E7AC:: @ 0811E7AC - .incbin "baserom.gba", 0x11E7AC, 0x0000010 - -gUnk_0811E7BC:: @ 0811E7BC - .incbin "baserom.gba", 0x11E7BC, 0x0000008 - -gUnk_0811E7C4:: @ 0811E7C4 - .incbin "baserom.gba", 0x11E7C4, 0x0000010 - -gUnk_0811E7D4:: @ 0811E7D4 - .incbin "baserom.gba", 0x11E7D4, 0x0000014 - -gUnk_0811E7E8:: @ 0811E7E8 - .incbin "baserom.gba", 0x11E7E8, 0x000002C - -gUnk_0811E814:: @ 0811E814 - .incbin "baserom.gba", 0x11E814, 0x000002C - -gUnk_0811E840:: @ 0811E840 - .incbin "baserom.gba", 0x11E840, 0x000000C - -gUnk_0811E84C:: @ 0811E84C - .incbin "baserom.gba", 0x11E84C, 0x00000B0 - -gUnk_0811E8FC:: @ 0811E8FC - .incbin "baserom.gba", 0x11E8FC, 0x00000FA - -gUnk_0811E9F6:: @ 0811E9F6 - .incbin "baserom.gba", 0x11E9F6, 0x0000001 - -gUnk_0811E9F7:: @ 0811E9F7 - .incbin "baserom.gba", 0x11E9F7, 0x0000124 - -gUnk_0811EB1B:: @ 0811EB1B - .incbin "baserom.gba", 0x11EB1B, 0x00000DE - -gUnk_0811EBF9:: @ 0811EBF9 - .incbin "baserom.gba", 0x11EBF9, 0x0000003 - -gUnk_0811EBFC:: @ 0811EBFC - .incbin "baserom.gba", 0x11EBFC, 0x0000007 - -gUnk_0811EC03:: @ 0811EC03 - .incbin "baserom.gba", 0x11EC03, 0x0000005 - -gUnk_0811EC08:: @ 0811EC08 - .incbin "baserom.gba", 0x11EC08, 0x0000018 - -gUnk_0811EC20:: @ 0811EC20 - .incbin "baserom.gba", 0x11EC20, 0x0000004 - -gUnk_0811EC24:: @ 0811EC24 - .incbin "baserom.gba", 0x11EC24, 0x0000040 - -gUnk_0811EC64:: @ 0811EC64 - .incbin "baserom.gba", 0x11EC64, 0x0000070 - -gUnk_0811ECD4:: @ 0811ECD4 - .incbin "baserom.gba", 0x11ECD4, 0x0000079 - -gUnk_0811ED4D:: @ 0811ED4D - .incbin "baserom.gba", 0x11ED4D, 0x0000039 - -gUnk_0811ED86:: @ 0811ED86 - .incbin "baserom.gba", 0x11ED86, 0x0000031 - -gUnk_0811EDB7:: @ 0811EDB7 - .incbin "baserom.gba", 0x11EDB7, 0x0000034 - -gUnk_0811EDEB:: @ 0811EDEB - .incbin "baserom.gba", 0x11EDEB, 0x0000014 - -gUnk_0811EDFF:: @ 0811EDFF - .incbin "baserom.gba", 0x11EDFF, 0x0000011 - -gUnk_0811EE10:: @ 0811EE10 - .incbin "baserom.gba", 0x11EE10, 0x0000010 - -gUnk_0811EE20:: @ 0811EE20 - .incbin "baserom.gba", 0x11EE20, 0x0000008 - -gUnk_0811EE28:: @ 0811EE28 - .incbin "baserom.gba", 0x11EE28, 0x0000010 - -gUnk_0811EE38:: @ 0811EE38 - .incbin "baserom.gba", 0x11EE38, 0x0000018 - -gUnk_0811EE50:: @ 0811EE50 - .incbin "baserom.gba", 0x11EE50, 0x000000C - -gUnk_0811EE5C:: @ 0811EE5C - .incbin "baserom.gba", 0x11EE5C, 0x0000008 - -gUnk_0811EE64:: @ 0811EE64 - .incbin "baserom.gba", 0x11EE64, 0x0000029 - -gUnk_0811EE8D:: @ 0811EE8D - .incbin "baserom.gba", 0x11EE8D, 0x0000004 - -gUnk_0811EE91:: @ 0811EE91 - .incbin "baserom.gba", 0x11EE91, 0x0000029 - -gUnk_0811EEBA:: @ 0811EEBA - .incbin "baserom.gba", 0x11EEBA, 0x0000004 - -gUnk_0811EEBE:: @ 0811EEBE - .incbin "baserom.gba", 0x11EEBE, 0x0000005 - -gUnk_0811EEC3:: @ 0811EEC3 - .incbin "baserom.gba", 0x11EEC3, 0x0000004 - -gUnk_0811EEC7:: @ 0811EEC7 - .incbin "baserom.gba", 0x11EEC7, 0x0000029 - -gUnk_0811EEF0:: @ 0811EEF0 - .incbin "baserom.gba", 0x11EEF0, 0x0000004 - -gUnk_0811EEF4:: @ 0811EEF4 - .incbin "baserom.gba", 0x11EEF4, 0x0000009 - -gUnk_0811EEFD:: @ 0811EEFD - .incbin "baserom.gba", 0x11EEFD, 0x0000009 - -gUnk_0811EF06:: @ 0811EF06 - .incbin "baserom.gba", 0x11EF06, 0x0000009 - -gUnk_0811EF0F:: @ 0811EF0F - .incbin "baserom.gba", 0x11EF0F, 0x0000028 - -gUnk_0811EF37:: @ 0811EF37 - .incbin "baserom.gba", 0x11EF37, 0x0000018 - -gUnk_0811EF4F:: @ 0811EF4F - .incbin "baserom.gba", 0x11EF4F, 0x0000018 - -gUnk_0811EF67:: @ 0811EF67 - .incbin "baserom.gba", 0x11EF67, 0x0000018 - -gUnk_0811EF7F:: @ 0811EF7F - .incbin "baserom.gba", 0x11EF7F, 0x0000018 - -gUnk_0811EF97:: @ 0811EF97 - .incbin "baserom.gba", 0x11EF97, 0x0000009 - -gUnk_0811EFA0:: @ 0811EFA0 - .incbin "baserom.gba", 0x11EFA0, 0x0000009 - -gUnk_0811EFA9:: @ 0811EFA9 - .incbin "baserom.gba", 0x11EFA9, 0x0000009 - -gUnk_0811EFB2:: @ 0811EFB2 - .incbin "baserom.gba", 0x11EFB2, 0x0000009 - -gUnk_0811EFBB:: @ 0811EFBB - .incbin "baserom.gba", 0x11EFBB, 0x0000009 - -gUnk_0811EFC4:: @ 0811EFC4 - .incbin "baserom.gba", 0x11EFC4, 0x0000015 - -gUnk_0811EFD9:: @ 0811EFD9 - .incbin "baserom.gba", 0x11EFD9, 0x0000015 - -gUnk_0811EFEE:: @ 0811EFEE - .incbin "baserom.gba", 0x11EFEE, 0x000000E - -gUnk_0811EFFC:: @ 0811EFFC - .incbin "baserom.gba", 0x11EFFC, 0x0000007 - -gUnk_0811F003:: @ 0811F003 - .incbin "baserom.gba", 0x11F003, 0x0000015 - -gUnk_0811F018:: @ 0811F018 - .incbin "baserom.gba", 0x11F018, 0x0000078 - -gUnk_0811F090:: @ 0811F090 - .incbin "baserom.gba", 0x11F090, 0x0000018 - -gUnk_0811F0A8:: @ 0811F0A8 - .incbin "baserom.gba", 0x11F0A8, 0x000001C - -gUnk_0811F0C4:: @ 0811F0C4 - .incbin "baserom.gba", 0x11F0C4, 0x0000018 - -gUnk_0811F0DC:: @ 0811F0DC - .incbin "baserom.gba", 0x11F0DC, 0x0000005 - -gUnk_0811F0E1:: @ 0811F0E1 - .incbin "baserom.gba", 0x11F0E1, 0x0000005 - -gUnk_0811F0E6:: @ 0811F0E6 - .incbin "baserom.gba", 0x11F0E6, 0x0000005 - -gUnk_0811F0EB:: @ 0811F0EB - .incbin "baserom.gba", 0x11F0EB, 0x0000005 - -gUnk_0811F0F0:: @ 0811F0F0 - .incbin "baserom.gba", 0x11F0F0, 0x0000005 - -gUnk_0811F0F5:: @ 0811F0F5 - .incbin "baserom.gba", 0x11F0F5, 0x0000003 - -gUnk_0811F0F8:: @ 0811F0F8 - .incbin "baserom.gba", 0x11F0F8, 0x0000002 - -gUnk_0811F0FA:: @ 0811F0FA - .incbin "baserom.gba", 0x11F0FA, 0x0000005 - -gUnk_0811F0FF:: @ 0811F0FF - .incbin "baserom.gba", 0x11F0FF, 0x0000001 - -gUnk_0811F100:: @ 0811F100 - .incbin "baserom.gba", 0x11F100, 0x0000004 - -gUnk_0811F104:: @ 0811F104 - .incbin "baserom.gba", 0x11F104, 0x0000005 - -gUnk_0811F109:: @ 0811F109 - .incbin "baserom.gba", 0x11F109, 0x0000005 - -gUnk_0811F10E:: @ 0811F10E - .incbin "baserom.gba", 0x11F10E, 0x0000005 - -gUnk_0811F113:: @ 0811F113 - .incbin "baserom.gba", 0x11F113, 0x0000005 - -gUnk_0811F118:: @ 0811F118 - .incbin "baserom.gba", 0x11F118, 0x0000034 - -gUnk_0811F14C:: @ 0811F14C - .incbin "baserom.gba", 0x11F14C, 0x0000008 - -gUnk_0811F154:: @ 0811F154 - .incbin "baserom.gba", 0x11F154, 0x0000008 - -gUnk_0811F15C:: @ 0811F15C - .incbin "baserom.gba", 0x11F15C, 0x0000010 - -gUnk_0811F16C:: @ 0811F16C - .incbin "baserom.gba", 0x11F16C, 0x000000C - -gUnk_0811F178:: @ 0811F178 - .incbin "baserom.gba", 0x11F178, 0x0000014 - -gUnk_0811F18C:: @ 0811F18C - .incbin "baserom.gba", 0x11F18C, 0x0000004 - -gUnk_0811F190:: @ 0811F190 - .incbin "baserom.gba", 0x11F190, 0x000001D - -gUnk_0811F1AD:: @ 0811F1AD - .incbin "baserom.gba", 0x11F1AD, 0x000001D - -gUnk_0811F1CA:: @ 0811F1CA - .incbin "baserom.gba", 0x11F1CA, 0x000001D - -gUnk_0811F1E7:: @ 0811F1E7 - .incbin "baserom.gba", 0x11F1E7, 0x0000029 - -gUnk_0811F210:: @ 0811F210 - .incbin "baserom.gba", 0x11F210, 0x000001D - -gUnk_0811F22D:: @ 0811F22D - .incbin "baserom.gba", 0x11F22D, 0x000001D - -gUnk_0811F24A:: @ 0811F24A - .incbin "baserom.gba", 0x11F24A, 0x000001D - -gUnk_0811F267:: @ 0811F267 - .incbin "baserom.gba", 0x11F267, 0x0000029 - -gUnk_0811F290:: @ 0811F290 - .incbin "baserom.gba", 0x11F290, 0x000001D - -gUnk_0811F2AD:: @ 0811F2AD - .incbin "baserom.gba", 0x11F2AD, 0x000001D - -gUnk_0811F2CA:: @ 0811F2CA - .incbin "baserom.gba", 0x11F2CA, 0x000001D - -gUnk_0811F2E7:: @ 0811F2E7 - .incbin "baserom.gba", 0x11F2E7, 0x0000029 - -gUnk_0811F310:: @ 0811F310 - .incbin "baserom.gba", 0x11F310, 0x000000D - -gUnk_0811F31D:: @ 0811F31D - .incbin "baserom.gba", 0x11F31D, 0x000000D - -gUnk_0811F32A:: @ 0811F32A - .incbin "baserom.gba", 0x11F32A, 0x000000D - -gUnk_0811F337:: @ 0811F337 - .incbin "baserom.gba", 0x11F337, 0x0000029 - -gUnk_0811F360:: @ 0811F360 - .incbin "baserom.gba", 0x11F360, 0x000000D - -gUnk_0811F36D:: @ 0811F36D - .incbin "baserom.gba", 0x11F36D, 0x000000D - -gUnk_0811F37A:: @ 0811F37A - .incbin "baserom.gba", 0x11F37A, 0x000000D - -gUnk_0811F387:: @ 0811F387 - .incbin "baserom.gba", 0x11F387, 0x0000029 - -gUnk_0811F3B0:: @ 0811F3B0 - .incbin "baserom.gba", 0x11F3B0, 0x000000D - -gUnk_0811F3BD:: @ 0811F3BD - .incbin "baserom.gba", 0x11F3BD, 0x000000D - -gUnk_0811F3CA:: @ 0811F3CA - .incbin "baserom.gba", 0x11F3CA, 0x000000D - -gUnk_0811F3D7:: @ 0811F3D7 - .incbin "baserom.gba", 0x11F3D7, 0x0000029 - -gUnk_0811F400:: @ 0811F400 - .incbin "baserom.gba", 0x11F400, 0x0000005 - -gUnk_0811F405:: @ 0811F405 - .incbin "baserom.gba", 0x11F405, 0x0000011 - -gUnk_0811F416:: @ 0811F416 - .incbin "baserom.gba", 0x11F416, 0x0000029 - -gUnk_0811F43F:: @ 0811F43F - .incbin "baserom.gba", 0x11F43F, 0x0000029 - -gUnk_0811F468:: @ 0811F468 - .incbin "baserom.gba", 0x11F468, 0x0000051 - -gUnk_0811F4B9:: @ 0811F4B9 - .incbin "baserom.gba", 0x11F4B9, 0x0000019 - -gUnk_0811F4D2:: @ 0811F4D2 - .incbin "baserom.gba", 0x11F4D2, 0x0000005 - -gUnk_0811F4D7:: @ 0811F4D7 - .incbin "baserom.gba", 0x11F4D7, 0x0000074 - -gUnk_0811F54B:: @ 0811F54B - .incbin "baserom.gba", 0x11F54B, 0x0000015 - -gUnk_0811F560:: @ 0811F560 - .incbin "baserom.gba", 0x11F560, 0x0000015 - -gUnk_0811F575:: @ 0811F575 - .incbin "baserom.gba", 0x11F575, 0x0000015 - -gUnk_0811F58A:: @ 0811F58A - .incbin "baserom.gba", 0x11F58A, 0x0000006 - -gUnk_0811F590:: @ 0811F590 - .incbin "baserom.gba", 0x11F590, 0x0000065 - -gUnk_0811F5F5:: @ 0811F5F5 - .incbin "baserom.gba", 0x11F5F5, 0x0000010 - -gUnk_0811F605:: @ 0811F605 - .incbin "baserom.gba", 0x11F605, 0x000001F - -gUnk_0811F624:: @ 0811F624 - .incbin "baserom.gba", 0x11F624, 0x0000008 - -gUnk_0811F62C:: @ 0811F62C - .incbin "baserom.gba", 0x11F62C, 0x0000008 - -gUnk_0811F634:: @ 0811F634 - .incbin "baserom.gba", 0x11F634, 0x0000008 - -gUnk_0811F63C:: @ 0811F63C - .incbin "baserom.gba", 0x11F63C, 0x0000008 - -gUnk_0811F644:: @ 0811F644 - .incbin "baserom.gba", 0x11F644, 0x0000008 - -gUnk_0811F64C:: @ 0811F64C - .incbin "baserom.gba", 0x11F64C, 0x0000010 - -gUnk_0811F65C:: @ 0811F65C - .incbin "baserom.gba", 0x11F65C, 0x0000024 - -gUnk_0811F680:: @ 0811F680 - .incbin "baserom.gba", 0x11F680, 0x0000008 - -gUnk_0811F688:: @ 0811F688 - .incbin "baserom.gba", 0x11F688, 0x0000008 - -gUnk_0811F690:: @ 0811F690 - .incbin "baserom.gba", 0x11F690, 0x00000A0 - -gUnk_0811F730:: @ 0811F730 - .incbin "baserom.gba", 0x11F730, 0x0000010 - -gUnk_0811F740:: @ 0811F740 - .incbin "baserom.gba", 0x11F740, 0x0000004 - -gUnk_0811F744:: @ 0811F744 - .incbin "baserom.gba", 0x11F744, 0x0000010 - -gUnk_0811F754:: @ 0811F754 - .incbin "baserom.gba", 0x11F754, 0x000000C - -gUnk_0811F760:: @ 0811F760 - .incbin "baserom.gba", 0x11F760, 0x0000035 - -gUnk_0811F795:: @ 0811F795 - .incbin "baserom.gba", 0x11F795, 0x0000037 - -gUnk_0811F7CC:: @ 0811F7CC - .incbin "baserom.gba", 0x11F7CC, 0x000000C - -gUnk_0811F7D8:: @ 0811F7D8 - .incbin "baserom.gba", 0x11F7D8, 0x000000D - -gUnk_0811F7E5:: @ 0811F7E5 - .incbin "baserom.gba", 0x11F7E5, 0x0000003 - -gUnk_0811F7E8:: @ 0811F7E8 - .incbin "baserom.gba", 0x11F7E8, 0x0000020 - -gUnk_0811F808:: @ 0811F808 - .incbin "baserom.gba", 0x11F808, 0x0000010 - -gUnk_0811F818:: @ 0811F818 - .incbin "baserom.gba", 0x11F818, 0x0000020 - -gUnk_0811F838:: @ 0811F838 - .incbin "baserom.gba", 0x11F838, 0x0000008 - -gUnk_0811F840:: @ 0811F840 - .incbin "baserom.gba", 0x11F840, 0x0000010 - -gUnk_0811F850:: @ 0811F850 - .incbin "baserom.gba", 0x11F850, 0x0000004 - -gUnk_0811F854:: @ 0811F854 - .incbin "baserom.gba", 0x11F854, 0x0000012 - -gUnk_0811F866:: @ 0811F866 - .incbin "baserom.gba", 0x11F866, 0x000001A - -gUnk_0811F880:: @ 0811F880 - .incbin "baserom.gba", 0x11F880, 0x000000A - -gUnk_0811F88A:: @ 0811F88A - .incbin "baserom.gba", 0x11F88A, 0x000000E - -gUnk_0811F898:: @ 0811F898 - .incbin "baserom.gba", 0x11F898, 0x0000010 - -gUnk_0811F8A8:: @ 0811F8A8 - .incbin "baserom.gba", 0x11F8A8, 0x0000008 - -gUnk_0811F8B0:: @ 0811F8B0 - .incbin "baserom.gba", 0x11F8B0, 0x0000008 - -gUnk_0811F8B8:: @ 0811F8B8 - .incbin "baserom.gba", 0x11F8B8, 0x0000011 - -gUnk_0811F8C9:: @ 0811F8C9 - .incbin "baserom.gba", 0x11F8C9, 0x0000005 - -gUnk_0811F8CE:: @ 0811F8CE - .incbin "baserom.gba", 0x11F8CE, 0x0000005 - -gUnk_0811F8D3:: @ 0811F8D3 - .incbin "baserom.gba", 0x11F8D3, 0x0000015 - -gUnk_0811F8E8:: @ 0811F8E8 - .incbin "baserom.gba", 0x11F8E8, 0x0000008 - -gUnk_0811F8F0:: @ 0811F8F0 - .incbin "baserom.gba", 0x11F8F0, 0x0000008 - -gUnk_0811F8F8:: @ 0811F8F8 - .incbin "baserom.gba", 0x11F8F8, 0x0000010 - -gUnk_0811F908:: @ 0811F908 - .incbin "baserom.gba", 0x11F908, 0x0000010 - -gUnk_0811F918:: @ 0811F918 - .incbin "baserom.gba", 0x11F918, 0x000002D - -gUnk_0811F945:: @ 0811F945 - .incbin "baserom.gba", 0x11F945, 0x000000F - -gUnk_0811F954:: @ 0811F954 - .incbin "baserom.gba", 0x11F954, 0x000000C - -gUnk_0811F960:: @ 0811F960 - .incbin "baserom.gba", 0x11F960, 0x000009B - -gUnk_0811F9FB:: @ 0811F9FB - .incbin "baserom.gba", 0x11F9FB, 0x00000C5 - -gUnk_0811FAC0:: @ 0811FAC0 - .incbin "baserom.gba", 0x11FAC0, 0x0000008 - -gUnk_0811FAC8:: @ 0811FAC8 - .incbin "baserom.gba", 0x11FAC8, 0x0000004 - -gUnk_0811FACC:: @ 0811FACC - .incbin "baserom.gba", 0x11FACC, 0x0000004 - -gUnk_0811FAD0:: @ 0811FAD0 - .incbin "baserom.gba", 0x11FAD0, 0x0000038 - -gUnk_0811FB08:: @ 0811FB08 - .incbin "baserom.gba", 0x11FB08, 0x0000008 - -gUnk_0811FB10:: @ 0811FB10 - .incbin "baserom.gba", 0x11FB10, 0x0000015 - -gUnk_0811FB25:: @ 0811FB25 - .incbin "baserom.gba", 0x11FB25, 0x0000058 - -gUnk_0811FB7D:: @ 0811FB7D - .incbin "baserom.gba", 0x11FB7D, 0x0000044 - -gUnk_0811FBC1:: @ 0811FBC1 - .incbin "baserom.gba", 0x11FBC1, 0x0000020 - -gUnk_0811FBE1:: @ 0811FBE1 - .incbin "baserom.gba", 0x11FBE1, 0x000000C - -gUnk_0811FBED:: @ 0811FBED - .incbin "baserom.gba", 0x11FBED, 0x0000010 - -gUnk_0811FBFD:: @ 0811FBFD - .incbin "baserom.gba", 0x11FBFD, 0x0000014 - -gUnk_0811FC11:: @ 0811FC11 - .incbin "baserom.gba", 0x11FC11, 0x000001C - -gUnk_0811FC2D:: @ 0811FC2D - .incbin "baserom.gba", 0x11FC2D, 0x0000024 - -gUnk_0811FC51:: @ 0811FC51 - .incbin "baserom.gba", 0x11FC51, 0x0000021 - -gUnk_0811FC72:: @ 0811FC72 - .incbin "baserom.gba", 0x11FC72, 0x0000015 - -gUnk_0811FC87:: @ 0811FC87 - .incbin "baserom.gba", 0x11FC87, 0x0000024 - -gUnk_0811FCAB:: @ 0811FCAB - .incbin "baserom.gba", 0x11FCAB, 0x0000034 - -gUnk_0811FCDF:: @ 0811FCDF - .incbin "baserom.gba", 0x11FCDF, 0x0000044 - -gUnk_0811FD23:: @ 0811FD23 - .incbin "baserom.gba", 0x11FD23, 0x0000018 - -gUnk_0811FD3B:: @ 0811FD3B - .incbin "baserom.gba", 0x11FD3B, 0x000001C - -gUnk_0811FD57:: @ 0811FD57 - .incbin "baserom.gba", 0x11FD57, 0x000001C - -gUnk_0811FD73:: @ 0811FD73 - .incbin "baserom.gba", 0x11FD73, 0x000000C - -gUnk_0811FD7F:: @ 0811FD7F - .incbin "baserom.gba", 0x11FD7F, 0x0000010 - -gUnk_0811FD8F:: @ 0811FD8F - .incbin "baserom.gba", 0x11FD8F, 0x0000014 - -gUnk_0811FDA3:: @ 0811FDA3 - .incbin "baserom.gba", 0x11FDA3, 0x0000015 - -gUnk_0811FDB8:: @ 0811FDB8 - .incbin "baserom.gba", 0x11FDB8, 0x0000014 - -gUnk_0811FDCC:: @ 0811FDCC - .incbin "baserom.gba", 0x11FDCC, 0x0000008 - -gUnk_0811FDD4:: @ 0811FDD4 - .incbin "baserom.gba", 0x11FDD4, 0x0000018 - -gUnk_0811FDEC:: @ 0811FDEC - .incbin "baserom.gba", 0x11FDEC, 0x0000010 - -gUnk_0811FDFC:: @ 0811FDFC - .incbin "baserom.gba", 0x11FDFC, 0x0000019 - -gUnk_0811FE15:: @ 0811FE15 - .incbin "baserom.gba", 0x11FE15, 0x0000041 - -gUnk_0811FE56:: @ 0811FE56 - .incbin "baserom.gba", 0x11FE56, 0x0000008 - -gUnk_0811FE5E:: @ 0811FE5E - .incbin "baserom.gba", 0x11FE5E, 0x0000018 - -gUnk_0811FE76:: @ 0811FE76 - .incbin "baserom.gba", 0x11FE76, 0x0000018 - -gUnk_0811FE8E:: @ 0811FE8E - .incbin "baserom.gba", 0x11FE8E, 0x0000014 - -gUnk_0811FEA2:: @ 0811FEA2 - .incbin "baserom.gba", 0x11FEA2, 0x000000C - -gUnk_0811FEAE:: @ 0811FEAE - .incbin "baserom.gba", 0x11FEAE, 0x000000C - -gUnk_0811FEBA:: @ 0811FEBA - .incbin "baserom.gba", 0x11FEBA, 0x0000028 - -gUnk_0811FEE2:: @ 0811FEE2 - .incbin "baserom.gba", 0x11FEE2, 0x000000D - -gUnk_0811FEEF:: @ 0811FEEF - .incbin "baserom.gba", 0x11FEEF, 0x0000020 - -gUnk_0811FF0F:: @ 0811FF0F - .incbin "baserom.gba", 0x11FF0F, 0x0000020 - -gUnk_0811FF2F:: @ 0811FF2F - .incbin "baserom.gba", 0x11FF2F, 0x0000020 - -gUnk_0811FF4F:: @ 0811FF4F - .incbin "baserom.gba", 0x11FF4F, 0x0000020 - -gUnk_0811FF6F:: @ 0811FF6F - .incbin "baserom.gba", 0x11FF6F, 0x0000020 - -gUnk_0811FF8F:: @ 0811FF8F - .incbin "baserom.gba", 0x11FF8F, 0x0000018 - -gUnk_0811FFA7:: @ 0811FFA7 - .incbin "baserom.gba", 0x11FFA7, 0x0000020 - -gUnk_0811FFC7:: @ 0811FFC7 - .incbin "baserom.gba", 0x11FFC7, 0x0000018 - -gUnk_0811FFDF:: @ 0811FFDF - .incbin "baserom.gba", 0x11FFDF, 0x0000018 - -gUnk_0811FFF7:: @ 0811FFF7 - .incbin "baserom.gba", 0x11FFF7, 0x0000009 - -gUnk_08120000:: @ 08120000 - .incbin "baserom.gba", 0x120000, 0x0000004 - -gUnk_08120004:: @ 08120004 - .incbin "baserom.gba", 0x120004, 0x0000006 - -gUnk_0812000A:: @ 0812000A - .incbin "baserom.gba", 0x12000A, 0x0000004 - -gUnk_0812000E:: @ 0812000E - .incbin "baserom.gba", 0x12000E, 0x0000001 - -gUnk_0812000F:: @ 0812000F - .incbin "baserom.gba", 0x12000F, 0x0000001 - -gUnk_08120010:: @ 08120010 - .incbin "baserom.gba", 0x120010, 0x0000007 - -gUnk_08120017:: @ 08120017 - .incbin "baserom.gba", 0x120017, 0x0000011 - -gUnk_08120028:: @ 08120028 - .incbin "baserom.gba", 0x120028, 0x0000004 - -gUnk_0812002C:: @ 0812002C - .incbin "baserom.gba", 0x12002C, 0x000000F - -gUnk_0812003B:: @ 0812003B - .incbin "baserom.gba", 0x12003B, 0x0000017 - -gUnk_08120052:: @ 08120052 - .incbin "baserom.gba", 0x120052, 0x000000A - -gUnk_0812005C:: @ 0812005C - .incbin "baserom.gba", 0x12005C, 0x0000007 - -gUnk_08120063:: @ 08120063 - .incbin "baserom.gba", 0x120063, 0x000001C - -gUnk_0812007F:: @ 0812007F - .incbin "baserom.gba", 0x12007F, 0x0000009 - -gUnk_08120088:: @ 08120088 - .incbin "baserom.gba", 0x120088, 0x0000013 - -gUnk_0812009B:: @ 0812009B - .incbin "baserom.gba", 0x12009B, 0x0000014 - -gUnk_081200AF:: @ 081200AF - .incbin "baserom.gba", 0x1200AF, 0x000001B - -gUnk_081200CA:: @ 081200CA - .incbin "baserom.gba", 0x1200CA, 0x0000001 - -gUnk_081200CB:: @ 081200CB - .incbin "baserom.gba", 0x1200CB, 0x0000005 - -gUnk_081200D0:: @ 081200D0 - .incbin "baserom.gba", 0x1200D0, 0x0000012 - -gUnk_081200E2:: @ 081200E2 - .incbin "baserom.gba", 0x1200E2, 0x0000009 - -gUnk_081200EB:: @ 081200EB - .incbin "baserom.gba", 0x1200EB, 0x0000013 - -gUnk_081200FE:: @ 081200FE - .incbin "baserom.gba", 0x1200FE, 0x0000001 - -gUnk_081200FF:: @ 081200FF - .incbin "baserom.gba", 0x1200FF, 0x0000024 - -gUnk_08120123:: @ 08120123 - .incbin "baserom.gba", 0x120123, 0x0000024 - -gUnk_08120147:: @ 08120147 - .incbin "baserom.gba", 0x120147, 0x0000020 - -gUnk_08120167:: @ 08120167 - .incbin "baserom.gba", 0x120167, 0x0000018 - -gUnk_0812017F:: @ 0812017F - .incbin "baserom.gba", 0x12017F, 0x0000011 - -gUnk_08120190:: @ 08120190 - .incbin "baserom.gba", 0x120190, 0x0000007 - -gUnk_08120197:: @ 08120197 - .incbin "baserom.gba", 0x120197, 0x0000018 - -gUnk_081201AF:: @ 081201AF - .incbin "baserom.gba", 0x1201AF, 0x0000031 - -gUnk_081201E0:: @ 081201E0 - .incbin "baserom.gba", 0x1201E0, 0x000000D - -gUnk_081201ED:: @ 081201ED - .incbin "baserom.gba", 0x1201ED, 0x000000B - -gUnk_081201F8:: @ 081201F8 - .incbin "baserom.gba", 0x1201F8, 0x0000011 - -gUnk_08120209:: @ 08120209 - .incbin "baserom.gba", 0x120209, 0x0000038 - -gUnk_08120241:: @ 08120241 - .incbin "baserom.gba", 0x120241, 0x0000038 - -gUnk_08120279:: @ 08120279 - .incbin "baserom.gba", 0x120279, 0x0000007 - -gUnk_08120280:: @ 08120280 - .incbin "baserom.gba", 0x120280, 0x000002D - -gUnk_081202AD:: @ 081202AD - .incbin "baserom.gba", 0x1202AD, 0x0000011 - -gUnk_081202BE:: @ 081202BE - .incbin "baserom.gba", 0x1202BE, 0x0000025 - -gUnk_081202E3:: @ 081202E3 - .incbin "baserom.gba", 0x1202E3, 0x0000009 - -gUnk_081202EC:: @ 081202EC - .incbin "baserom.gba", 0x1202EC, 0x0000020 - -gUnk_0812030C:: @ 0812030C - .incbin "baserom.gba", 0x12030C, 0x0000014 - -gUnk_08120320:: @ 08120320 - .incbin "baserom.gba", 0x120320, 0x0000030 - -gUnk_08120350:: @ 08120350 - .incbin "baserom.gba", 0x120350, 0x000001C - -gUnk_0812036C:: @ 0812036C - .incbin "baserom.gba", 0x12036C, 0x0000020 - -gUnk_0812038C:: @ 0812038C - .incbin "baserom.gba", 0x12038C, 0x0000038 - -gUnk_081203C4:: @ 081203C4 - .incbin "baserom.gba", 0x1203C4, 0x0000026 - -gUnk_081203EA:: @ 081203EA - .incbin "baserom.gba", 0x1203EA, 0x0000012 - -gUnk_081203FC:: @ 081203FC - .incbin "baserom.gba", 0x1203FC, 0x0000005 - -gUnk_08120401:: @ 08120401 - .incbin "baserom.gba", 0x120401, 0x0000001 - -gUnk_08120402:: @ 08120402 - .incbin "baserom.gba", 0x120402, 0x0000011 - -gUnk_08120413:: @ 08120413 - .incbin "baserom.gba", 0x120413, 0x0000030 - -gUnk_08120443:: @ 08120443 - .incbin "baserom.gba", 0x120443, 0x0000001 - -gUnk_08120444:: @ 08120444 - .incbin "baserom.gba", 0x120444, 0x0000015 - -gUnk_08120459:: @ 08120459 - .incbin "baserom.gba", 0x120459, 0x000000A - -gUnk_08120463:: @ 08120463 - .incbin "baserom.gba", 0x120463, 0x000009B - -gUnk_081204FE:: @ 081204FE - .incbin "baserom.gba", 0x1204FE, 0x0000062 - -gUnk_08120560:: @ 08120560 - .incbin "baserom.gba", 0x120560, 0x000000C - -gUnk_0812056C:: @ 0812056C - .incbin "baserom.gba", 0x12056C, 0x0000008 - -gUnk_08120574:: @ 08120574 - .incbin "baserom.gba", 0x120574, 0x0000008 - -gUnk_0812057C:: @ 0812057C - .incbin "baserom.gba", 0x12057C, 0x000000C - -gUnk_08120588:: @ 08120588 - .incbin "baserom.gba", 0x120588, 0x0000014 - -gUnk_0812059C:: @ 0812059C - .incbin "baserom.gba", 0x12059C, 0x0000018 - -gUnk_081205B4:: @ 081205B4 - .incbin "baserom.gba", 0x1205B4, 0x0000008 - -gUnk_081205BC:: @ 081205BC - .incbin "baserom.gba", 0x1205BC, 0x0000014 - -gUnk_081205D0:: @ 081205D0 - .incbin "baserom.gba", 0x1205D0, 0x0000010 - -gUnk_081205E0:: @ 081205E0 - .incbin "baserom.gba", 0x1205E0, 0x0000004 - -gUnk_081205E4:: @ 081205E4 - .incbin "baserom.gba", 0x1205E4, 0x0000004 - -gUnk_081205E8:: @ 081205E8 - .incbin "baserom.gba", 0x1205E8, 0x0000004 - -gUnk_081205EC:: @ 081205EC - .incbin "baserom.gba", 0x1205EC, 0x0000004 - -gUnk_081205F0:: @ 081205F0 - .incbin "baserom.gba", 0x1205F0, 0x0000004 - -gUnk_081205F4:: @ 081205F4 - .incbin "baserom.gba", 0x1205F4, 0x0000009 - -gUnk_081205FD:: @ 081205FD - .incbin "baserom.gba", 0x1205FD, 0x000000B - -gUnk_08120608:: @ 08120608 - .incbin "baserom.gba", 0x120608, 0x0000018 - -gUnk_08120620:: @ 08120620 - .incbin "baserom.gba", 0x120620, 0x000000C - -gUnk_0812062C:: @ 0812062C - .incbin "baserom.gba", 0x12062C, 0x000000C - -gUnk_08120638:: @ 08120638 - .incbin "baserom.gba", 0x120638, 0x0000008 - -gUnk_08120640:: @ 08120640 - .incbin "baserom.gba", 0x120640, 0x0000008 - -gUnk_08120648:: @ 08120648 - .incbin "baserom.gba", 0x120648, 0x0000008 - -gUnk_08120650:: @ 08120650 - .incbin "baserom.gba", 0x120650, 0x0000008 - -gUnk_08120658:: @ 08120658 - .incbin "baserom.gba", 0x120658, 0x0000008 - -gUnk_08120660:: @ 08120660 - .incbin "baserom.gba", 0x120660, 0x0000008 - -gUnk_08120668:: @ 08120668 - .incbin "baserom.gba", 0x120668, 0x0000010 - -gUnk_08120678:: @ 08120678 - .incbin "baserom.gba", 0x120678, 0x000000A - -gUnk_08120682:: @ 08120682 - .incbin "baserom.gba", 0x120682, 0x0000004 - -gUnk_08120686:: @ 08120686 - .incbin "baserom.gba", 0x120686, 0x0000004 - -gUnk_0812068A:: @ 0812068A - .incbin "baserom.gba", 0x12068A, 0x0000004 - -gUnk_0812068E:: @ 0812068E - .incbin "baserom.gba", 0x12068E, 0x0000004 - -gUnk_08120692:: @ 08120692 - .incbin "baserom.gba", 0x120692, 0x0000006 - -gUnk_08120698:: @ 08120698 - .incbin "baserom.gba", 0x120698, 0x0000014 - -gUnk_081206AC:: @ 081206AC - .incbin "baserom.gba", 0x1206AC, 0x0000008 - -gUnk_081206B4:: @ 081206B4 - .incbin "baserom.gba", 0x1206B4, 0x0000010 - -gUnk_081206C4:: @ 081206C4 - .incbin "baserom.gba", 0x1206C4, 0x000000C diff --git a/data/data_0811E750.s b/data/data_0811E750.s new file mode 100644 index 00000000..dc4dea71 --- /dev/null +++ b/data/data_0811E750.s @@ -0,0 +1,956 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + .align 2 + +gUnk_0811E750:: @ 0811E750 + .incbin "baserom.gba", 0x11E750, 0x0000008 + +gUnk_0811E758:: @ 0811E758 + .incbin "baserom.gba", 0x11E758, 0x0000008 + +gUnk_0811E760:: @ 0811E760 + .incbin "baserom.gba", 0x11E760, 0x0000008 + +gUnk_0811E768:: @ 0811E768 + .incbin "baserom.gba", 0x11E768, 0x0000018 + +gUnk_0811E780:: @ 0811E780 + .incbin "baserom.gba", 0x11E780, 0x000000C + +gUnk_0811E78C:: @ 0811E78C + .incbin "baserom.gba", 0x11E78C, 0x0000008 + +gUnk_0811E794:: @ 0811E794 + .incbin "baserom.gba", 0x11E794, 0x0000018 + +gUnk_0811E7AC:: @ 0811E7AC + .incbin "baserom.gba", 0x11E7AC, 0x0000010 + +gUnk_0811E7BC:: @ 0811E7BC + .incbin "baserom.gba", 0x11E7BC, 0x0000008 + +gUnk_0811E7C4:: @ 0811E7C4 + .incbin "baserom.gba", 0x11E7C4, 0x0000010 + +gUnk_0811E7D4:: @ 0811E7D4 + .incbin "baserom.gba", 0x11E7D4, 0x0000014 + +gUnk_0811E7E8:: @ 0811E7E8 + .incbin "baserom.gba", 0x11E7E8, 0x000002C + +gUnk_0811E814:: @ 0811E814 + .incbin "baserom.gba", 0x11E814, 0x000002C + +gUnk_0811E840:: @ 0811E840 + .incbin "baserom.gba", 0x11E840, 0x000000C + +gUnk_0811E84C:: @ 0811E84C + .incbin "baserom.gba", 0x11E84C, 0x00000B0 + +gUnk_0811E8FC:: @ 0811E8FC + .incbin "baserom.gba", 0x11E8FC, 0x00000FA + +gUnk_0811E9F6:: @ 0811E9F6 + .incbin "baserom.gba", 0x11E9F6, 0x0000001 + +gUnk_0811E9F7:: @ 0811E9F7 + .incbin "baserom.gba", 0x11E9F7, 0x0000124 + +gUnk_0811EB1B:: @ 0811EB1B + .incbin "baserom.gba", 0x11EB1B, 0x00000DE + +gUnk_0811EBF9:: @ 0811EBF9 + .incbin "baserom.gba", 0x11EBF9, 0x0000003 + +gUnk_0811EBFC:: @ 0811EBFC + .incbin "baserom.gba", 0x11EBFC, 0x0000007 + +gUnk_0811EC03:: @ 0811EC03 + .incbin "baserom.gba", 0x11EC03, 0x0000005 + +gUnk_0811EC08:: @ 0811EC08 + .incbin "baserom.gba", 0x11EC08, 0x0000018 + +gUnk_0811EC20:: @ 0811EC20 + .incbin "baserom.gba", 0x11EC20, 0x0000004 + +gUnk_0811EC24:: @ 0811EC24 + .incbin "baserom.gba", 0x11EC24, 0x0000040 + +gUnk_0811EC64:: @ 0811EC64 + .incbin "baserom.gba", 0x11EC64, 0x0000070 + +gUnk_0811ECD4:: @ 0811ECD4 + .incbin "baserom.gba", 0x11ECD4, 0x0000079 + +gUnk_0811ED4D:: @ 0811ED4D + .incbin "baserom.gba", 0x11ED4D, 0x0000039 + +gUnk_0811ED86:: @ 0811ED86 + .incbin "baserom.gba", 0x11ED86, 0x0000031 + +gUnk_0811EDB7:: @ 0811EDB7 + .incbin "baserom.gba", 0x11EDB7, 0x0000034 + +gUnk_0811EDEB:: @ 0811EDEB + .incbin "baserom.gba", 0x11EDEB, 0x0000014 + +gUnk_0811EDFF:: @ 0811EDFF + .incbin "baserom.gba", 0x11EDFF, 0x0000011 + +gUnk_0811EE10:: @ 0811EE10 + .incbin "baserom.gba", 0x11EE10, 0x0000010 + +gUnk_0811EE20:: @ 0811EE20 + .incbin "baserom.gba", 0x11EE20, 0x0000008 + +gUnk_0811EE28:: @ 0811EE28 + .incbin "baserom.gba", 0x11EE28, 0x0000010 + +gUnk_0811EE38:: @ 0811EE38 + .incbin "baserom.gba", 0x11EE38, 0x0000018 + +gUnk_0811EE50:: @ 0811EE50 + .incbin "baserom.gba", 0x11EE50, 0x000000C + +gUnk_0811EE5C:: @ 0811EE5C + .incbin "baserom.gba", 0x11EE5C, 0x0000008 + +gUnk_0811EE64:: @ 0811EE64 + .incbin "baserom.gba", 0x11EE64, 0x0000029 + +gUnk_0811EE8D:: @ 0811EE8D + .incbin "baserom.gba", 0x11EE8D, 0x0000004 + +gUnk_0811EE91:: @ 0811EE91 + .incbin "baserom.gba", 0x11EE91, 0x0000029 + +gUnk_0811EEBA:: @ 0811EEBA + .incbin "baserom.gba", 0x11EEBA, 0x0000004 + +gUnk_0811EEBE:: @ 0811EEBE + .incbin "baserom.gba", 0x11EEBE, 0x0000005 + +gUnk_0811EEC3:: @ 0811EEC3 + .incbin "baserom.gba", 0x11EEC3, 0x0000004 + +gUnk_0811EEC7:: @ 0811EEC7 + .incbin "baserom.gba", 0x11EEC7, 0x0000029 + +gUnk_0811EEF0:: @ 0811EEF0 + .incbin "baserom.gba", 0x11EEF0, 0x0000004 + +gUnk_0811EEF4:: @ 0811EEF4 + .incbin "baserom.gba", 0x11EEF4, 0x0000009 + +gUnk_0811EEFD:: @ 0811EEFD + .incbin "baserom.gba", 0x11EEFD, 0x0000009 + +gUnk_0811EF06:: @ 0811EF06 + .incbin "baserom.gba", 0x11EF06, 0x0000009 + +gUnk_0811EF0F:: @ 0811EF0F + .incbin "baserom.gba", 0x11EF0F, 0x0000028 + +gUnk_0811EF37:: @ 0811EF37 + .incbin "baserom.gba", 0x11EF37, 0x0000018 + +gUnk_0811EF4F:: @ 0811EF4F + .incbin "baserom.gba", 0x11EF4F, 0x0000018 + +gUnk_0811EF67:: @ 0811EF67 + .incbin "baserom.gba", 0x11EF67, 0x0000018 + +gUnk_0811EF7F:: @ 0811EF7F + .incbin "baserom.gba", 0x11EF7F, 0x0000018 + +gUnk_0811EF97:: @ 0811EF97 + .incbin "baserom.gba", 0x11EF97, 0x0000009 + +gUnk_0811EFA0:: @ 0811EFA0 + .incbin "baserom.gba", 0x11EFA0, 0x0000009 + +gUnk_0811EFA9:: @ 0811EFA9 + .incbin "baserom.gba", 0x11EFA9, 0x0000009 + +gUnk_0811EFB2:: @ 0811EFB2 + .incbin "baserom.gba", 0x11EFB2, 0x0000009 + +gUnk_0811EFBB:: @ 0811EFBB + .incbin "baserom.gba", 0x11EFBB, 0x0000009 + +gUnk_0811EFC4:: @ 0811EFC4 + .incbin "baserom.gba", 0x11EFC4, 0x0000015 + +gUnk_0811EFD9:: @ 0811EFD9 + .incbin "baserom.gba", 0x11EFD9, 0x0000015 + +gUnk_0811EFEE:: @ 0811EFEE + .incbin "baserom.gba", 0x11EFEE, 0x000000E + +gUnk_0811EFFC:: @ 0811EFFC + .incbin "baserom.gba", 0x11EFFC, 0x0000007 + +gUnk_0811F003:: @ 0811F003 + .incbin "baserom.gba", 0x11F003, 0x0000015 + +gUnk_0811F018:: @ 0811F018 + .incbin "baserom.gba", 0x11F018, 0x0000078 + +gUnk_0811F090:: @ 0811F090 + .incbin "baserom.gba", 0x11F090, 0x0000018 + +gUnk_0811F0A8:: @ 0811F0A8 + .incbin "baserom.gba", 0x11F0A8, 0x000001C + +gUnk_0811F0C4:: @ 0811F0C4 + .incbin "baserom.gba", 0x11F0C4, 0x0000018 + +gUnk_0811F0DC:: @ 0811F0DC + .incbin "baserom.gba", 0x11F0DC, 0x0000005 + +gUnk_0811F0E1:: @ 0811F0E1 + .incbin "baserom.gba", 0x11F0E1, 0x0000005 + +gUnk_0811F0E6:: @ 0811F0E6 + .incbin "baserom.gba", 0x11F0E6, 0x0000005 + +gUnk_0811F0EB:: @ 0811F0EB + .incbin "baserom.gba", 0x11F0EB, 0x0000005 + +gUnk_0811F0F0:: @ 0811F0F0 + .incbin "baserom.gba", 0x11F0F0, 0x0000005 + +gUnk_0811F0F5:: @ 0811F0F5 + .incbin "baserom.gba", 0x11F0F5, 0x0000003 + +gUnk_0811F0F8:: @ 0811F0F8 + .incbin "baserom.gba", 0x11F0F8, 0x0000002 + +gUnk_0811F0FA:: @ 0811F0FA + .incbin "baserom.gba", 0x11F0FA, 0x0000005 + +gUnk_0811F0FF:: @ 0811F0FF + .incbin "baserom.gba", 0x11F0FF, 0x0000001 + +gUnk_0811F100:: @ 0811F100 + .incbin "baserom.gba", 0x11F100, 0x0000004 + +gUnk_0811F104:: @ 0811F104 + .incbin "baserom.gba", 0x11F104, 0x0000005 + +gUnk_0811F109:: @ 0811F109 + .incbin "baserom.gba", 0x11F109, 0x0000005 + +gUnk_0811F10E:: @ 0811F10E + .incbin "baserom.gba", 0x11F10E, 0x0000005 + +gUnk_0811F113:: @ 0811F113 + .incbin "baserom.gba", 0x11F113, 0x0000005 + +gUnk_0811F118:: @ 0811F118 + .incbin "baserom.gba", 0x11F118, 0x0000034 + +gUnk_0811F14C:: @ 0811F14C + .incbin "baserom.gba", 0x11F14C, 0x0000008 + +gUnk_0811F154:: @ 0811F154 + .incbin "baserom.gba", 0x11F154, 0x0000008 + +gUnk_0811F15C:: @ 0811F15C + .incbin "baserom.gba", 0x11F15C, 0x0000010 + +gUnk_0811F16C:: @ 0811F16C + .incbin "baserom.gba", 0x11F16C, 0x000000C + +gUnk_0811F178:: @ 0811F178 + .incbin "baserom.gba", 0x11F178, 0x0000014 + +gUnk_0811F18C:: @ 0811F18C + .incbin "baserom.gba", 0x11F18C, 0x0000004 + +gUnk_0811F190:: @ 0811F190 + .incbin "baserom.gba", 0x11F190, 0x000001D + +gUnk_0811F1AD:: @ 0811F1AD + .incbin "baserom.gba", 0x11F1AD, 0x000001D + +gUnk_0811F1CA:: @ 0811F1CA + .incbin "baserom.gba", 0x11F1CA, 0x000001D + +gUnk_0811F1E7:: @ 0811F1E7 + .incbin "baserom.gba", 0x11F1E7, 0x0000029 + +gUnk_0811F210:: @ 0811F210 + .incbin "baserom.gba", 0x11F210, 0x000001D + +gUnk_0811F22D:: @ 0811F22D + .incbin "baserom.gba", 0x11F22D, 0x000001D + +gUnk_0811F24A:: @ 0811F24A + .incbin "baserom.gba", 0x11F24A, 0x000001D + +gUnk_0811F267:: @ 0811F267 + .incbin "baserom.gba", 0x11F267, 0x0000029 + +gUnk_0811F290:: @ 0811F290 + .incbin "baserom.gba", 0x11F290, 0x000001D + +gUnk_0811F2AD:: @ 0811F2AD + .incbin "baserom.gba", 0x11F2AD, 0x000001D + +gUnk_0811F2CA:: @ 0811F2CA + .incbin "baserom.gba", 0x11F2CA, 0x000001D + +gUnk_0811F2E7:: @ 0811F2E7 + .incbin "baserom.gba", 0x11F2E7, 0x0000029 + +gUnk_0811F310:: @ 0811F310 + .incbin "baserom.gba", 0x11F310, 0x000000D + +gUnk_0811F31D:: @ 0811F31D + .incbin "baserom.gba", 0x11F31D, 0x000000D + +gUnk_0811F32A:: @ 0811F32A + .incbin "baserom.gba", 0x11F32A, 0x000000D + +gUnk_0811F337:: @ 0811F337 + .incbin "baserom.gba", 0x11F337, 0x0000029 + +gUnk_0811F360:: @ 0811F360 + .incbin "baserom.gba", 0x11F360, 0x000000D + +gUnk_0811F36D:: @ 0811F36D + .incbin "baserom.gba", 0x11F36D, 0x000000D + +gUnk_0811F37A:: @ 0811F37A + .incbin "baserom.gba", 0x11F37A, 0x000000D + +gUnk_0811F387:: @ 0811F387 + .incbin "baserom.gba", 0x11F387, 0x0000029 + +gUnk_0811F3B0:: @ 0811F3B0 + .incbin "baserom.gba", 0x11F3B0, 0x000000D + +gUnk_0811F3BD:: @ 0811F3BD + .incbin "baserom.gba", 0x11F3BD, 0x000000D + +gUnk_0811F3CA:: @ 0811F3CA + .incbin "baserom.gba", 0x11F3CA, 0x000000D + +gUnk_0811F3D7:: @ 0811F3D7 + .incbin "baserom.gba", 0x11F3D7, 0x0000029 + +gUnk_0811F400:: @ 0811F400 + .incbin "baserom.gba", 0x11F400, 0x0000005 + +gUnk_0811F405:: @ 0811F405 + .incbin "baserom.gba", 0x11F405, 0x0000011 + +gUnk_0811F416:: @ 0811F416 + .incbin "baserom.gba", 0x11F416, 0x0000029 + +gUnk_0811F43F:: @ 0811F43F + .incbin "baserom.gba", 0x11F43F, 0x0000029 + +gUnk_0811F468:: @ 0811F468 + .incbin "baserom.gba", 0x11F468, 0x0000051 + +gUnk_0811F4B9:: @ 0811F4B9 + .incbin "baserom.gba", 0x11F4B9, 0x0000019 + +gUnk_0811F4D2:: @ 0811F4D2 + .incbin "baserom.gba", 0x11F4D2, 0x0000005 + +gUnk_0811F4D7:: @ 0811F4D7 + .incbin "baserom.gba", 0x11F4D7, 0x0000074 + +gUnk_0811F54B:: @ 0811F54B + .incbin "baserom.gba", 0x11F54B, 0x0000015 + +gUnk_0811F560:: @ 0811F560 + .incbin "baserom.gba", 0x11F560, 0x0000015 + +gUnk_0811F575:: @ 0811F575 + .incbin "baserom.gba", 0x11F575, 0x0000015 + +gUnk_0811F58A:: @ 0811F58A + .incbin "baserom.gba", 0x11F58A, 0x0000006 + +gUnk_0811F590:: @ 0811F590 + .incbin "baserom.gba", 0x11F590, 0x0000065 + +gUnk_0811F5F5:: @ 0811F5F5 + .incbin "baserom.gba", 0x11F5F5, 0x0000010 + +gUnk_0811F605:: @ 0811F605 + .incbin "baserom.gba", 0x11F605, 0x000001F + +gUnk_0811F624:: @ 0811F624 + .incbin "baserom.gba", 0x11F624, 0x0000008 + +gUnk_0811F62C:: @ 0811F62C + .incbin "baserom.gba", 0x11F62C, 0x0000008 + +gUnk_0811F634:: @ 0811F634 + .incbin "baserom.gba", 0x11F634, 0x0000008 + +gUnk_0811F63C:: @ 0811F63C + .incbin "baserom.gba", 0x11F63C, 0x0000008 + +gUnk_0811F644:: @ 0811F644 + .incbin "baserom.gba", 0x11F644, 0x0000008 + +gUnk_0811F64C:: @ 0811F64C + .incbin "baserom.gba", 0x11F64C, 0x0000010 + +gUnk_0811F65C:: @ 0811F65C + .incbin "baserom.gba", 0x11F65C, 0x0000024 + +gUnk_0811F680:: @ 0811F680 + .incbin "baserom.gba", 0x11F680, 0x0000008 + +gUnk_0811F688:: @ 0811F688 + .incbin "baserom.gba", 0x11F688, 0x0000008 + +gUnk_0811F690:: @ 0811F690 + .incbin "baserom.gba", 0x11F690, 0x00000A0 + +gUnk_0811F730:: @ 0811F730 + .incbin "baserom.gba", 0x11F730, 0x0000010 + +gUnk_0811F740:: @ 0811F740 + .incbin "baserom.gba", 0x11F740, 0x0000004 + +gUnk_0811F744:: @ 0811F744 + .incbin "baserom.gba", 0x11F744, 0x0000010 + +gUnk_0811F754:: @ 0811F754 + .incbin "baserom.gba", 0x11F754, 0x000000C + +gUnk_0811F760:: @ 0811F760 + .incbin "baserom.gba", 0x11F760, 0x0000035 + +gUnk_0811F795:: @ 0811F795 + .incbin "baserom.gba", 0x11F795, 0x0000037 + +gUnk_0811F7CC:: @ 0811F7CC + .incbin "baserom.gba", 0x11F7CC, 0x000000C + +gUnk_0811F7D8:: @ 0811F7D8 + .incbin "baserom.gba", 0x11F7D8, 0x000000D + +gUnk_0811F7E5:: @ 0811F7E5 + .incbin "baserom.gba", 0x11F7E5, 0x0000003 + +gUnk_0811F7E8:: @ 0811F7E8 + .incbin "baserom.gba", 0x11F7E8, 0x0000020 + +gUnk_0811F808:: @ 0811F808 + .incbin "baserom.gba", 0x11F808, 0x0000010 + +gUnk_0811F818:: @ 0811F818 + .incbin "baserom.gba", 0x11F818, 0x0000020 + +gUnk_0811F838:: @ 0811F838 + .incbin "baserom.gba", 0x11F838, 0x0000008 + +gUnk_0811F840:: @ 0811F840 + .incbin "baserom.gba", 0x11F840, 0x0000010 + +gUnk_0811F850:: @ 0811F850 + .incbin "baserom.gba", 0x11F850, 0x0000004 + +gUnk_0811F854:: @ 0811F854 + .incbin "baserom.gba", 0x11F854, 0x0000012 + +gUnk_0811F866:: @ 0811F866 + .incbin "baserom.gba", 0x11F866, 0x000001A + +gUnk_0811F880:: @ 0811F880 + .incbin "baserom.gba", 0x11F880, 0x000000A + +gUnk_0811F88A:: @ 0811F88A + .incbin "baserom.gba", 0x11F88A, 0x000000E + +gUnk_0811F898:: @ 0811F898 + .incbin "baserom.gba", 0x11F898, 0x0000010 + +gUnk_0811F8A8:: @ 0811F8A8 + .incbin "baserom.gba", 0x11F8A8, 0x0000008 + +gUnk_0811F8B0:: @ 0811F8B0 + .incbin "baserom.gba", 0x11F8B0, 0x0000008 + +gUnk_0811F8B8:: @ 0811F8B8 + .incbin "baserom.gba", 0x11F8B8, 0x0000011 + +gUnk_0811F8C9:: @ 0811F8C9 + .incbin "baserom.gba", 0x11F8C9, 0x0000005 + +gUnk_0811F8CE:: @ 0811F8CE + .incbin "baserom.gba", 0x11F8CE, 0x0000005 + +gUnk_0811F8D3:: @ 0811F8D3 + .incbin "baserom.gba", 0x11F8D3, 0x0000015 + +gUnk_0811F8E8:: @ 0811F8E8 + .incbin "baserom.gba", 0x11F8E8, 0x0000008 + +gUnk_0811F8F0:: @ 0811F8F0 + .incbin "baserom.gba", 0x11F8F0, 0x0000008 + +gUnk_0811F8F8:: @ 0811F8F8 + .incbin "baserom.gba", 0x11F8F8, 0x0000010 + +gUnk_0811F908:: @ 0811F908 + .incbin "baserom.gba", 0x11F908, 0x0000010 + +gUnk_0811F918:: @ 0811F918 + .incbin "baserom.gba", 0x11F918, 0x000002D + +gUnk_0811F945:: @ 0811F945 + .incbin "baserom.gba", 0x11F945, 0x000000F + +gUnk_0811F954:: @ 0811F954 + .incbin "baserom.gba", 0x11F954, 0x000000C + +gUnk_0811F960:: @ 0811F960 + .incbin "baserom.gba", 0x11F960, 0x000009B + +gUnk_0811F9FB:: @ 0811F9FB + .incbin "baserom.gba", 0x11F9FB, 0x00000C5 + +gUnk_0811FAC0:: @ 0811FAC0 + .incbin "baserom.gba", 0x11FAC0, 0x0000008 + +gUnk_0811FAC8:: @ 0811FAC8 + .incbin "baserom.gba", 0x11FAC8, 0x0000004 + +gUnk_0811FACC:: @ 0811FACC + .incbin "baserom.gba", 0x11FACC, 0x0000004 + +gUnk_0811FAD0:: @ 0811FAD0 + .incbin "baserom.gba", 0x11FAD0, 0x0000038 + +gUnk_0811FB08:: @ 0811FB08 + .incbin "baserom.gba", 0x11FB08, 0x0000008 + +gUnk_0811FB10:: @ 0811FB10 + .incbin "baserom.gba", 0x11FB10, 0x0000015 + +gUnk_0811FB25:: @ 0811FB25 + .incbin "baserom.gba", 0x11FB25, 0x0000058 + +gUnk_0811FB7D:: @ 0811FB7D + .incbin "baserom.gba", 0x11FB7D, 0x0000044 + +gUnk_0811FBC1:: @ 0811FBC1 + .incbin "baserom.gba", 0x11FBC1, 0x0000020 + +gUnk_0811FBE1:: @ 0811FBE1 + .incbin "baserom.gba", 0x11FBE1, 0x000000C + +gUnk_0811FBED:: @ 0811FBED + .incbin "baserom.gba", 0x11FBED, 0x0000010 + +gUnk_0811FBFD:: @ 0811FBFD + .incbin "baserom.gba", 0x11FBFD, 0x0000014 + +gUnk_0811FC11:: @ 0811FC11 + .incbin "baserom.gba", 0x11FC11, 0x000001C + +gUnk_0811FC2D:: @ 0811FC2D + .incbin "baserom.gba", 0x11FC2D, 0x0000024 + +gUnk_0811FC51:: @ 0811FC51 + .incbin "baserom.gba", 0x11FC51, 0x0000021 + +gUnk_0811FC72:: @ 0811FC72 + .incbin "baserom.gba", 0x11FC72, 0x0000015 + +gUnk_0811FC87:: @ 0811FC87 + .incbin "baserom.gba", 0x11FC87, 0x0000024 + +gUnk_0811FCAB:: @ 0811FCAB + .incbin "baserom.gba", 0x11FCAB, 0x0000034 + +gUnk_0811FCDF:: @ 0811FCDF + .incbin "baserom.gba", 0x11FCDF, 0x0000044 + +gUnk_0811FD23:: @ 0811FD23 + .incbin "baserom.gba", 0x11FD23, 0x0000018 + +gUnk_0811FD3B:: @ 0811FD3B + .incbin "baserom.gba", 0x11FD3B, 0x000001C + +gUnk_0811FD57:: @ 0811FD57 + .incbin "baserom.gba", 0x11FD57, 0x000001C + +gUnk_0811FD73:: @ 0811FD73 + .incbin "baserom.gba", 0x11FD73, 0x000000C + +gUnk_0811FD7F:: @ 0811FD7F + .incbin "baserom.gba", 0x11FD7F, 0x0000010 + +gUnk_0811FD8F:: @ 0811FD8F + .incbin "baserom.gba", 0x11FD8F, 0x0000014 + +gUnk_0811FDA3:: @ 0811FDA3 + .incbin "baserom.gba", 0x11FDA3, 0x0000015 + +gUnk_0811FDB8:: @ 0811FDB8 + .incbin "baserom.gba", 0x11FDB8, 0x0000014 + +gUnk_0811FDCC:: @ 0811FDCC + .incbin "baserom.gba", 0x11FDCC, 0x0000008 + +gUnk_0811FDD4:: @ 0811FDD4 + .incbin "baserom.gba", 0x11FDD4, 0x0000018 + +gUnk_0811FDEC:: @ 0811FDEC + .incbin "baserom.gba", 0x11FDEC, 0x0000010 + +gUnk_0811FDFC:: @ 0811FDFC + .incbin "baserom.gba", 0x11FDFC, 0x0000019 + +gUnk_0811FE15:: @ 0811FE15 + .incbin "baserom.gba", 0x11FE15, 0x0000041 + +gUnk_0811FE56:: @ 0811FE56 + .incbin "baserom.gba", 0x11FE56, 0x0000008 + +gUnk_0811FE5E:: @ 0811FE5E + .incbin "baserom.gba", 0x11FE5E, 0x0000018 + +gUnk_0811FE76:: @ 0811FE76 + .incbin "baserom.gba", 0x11FE76, 0x0000018 + +gUnk_0811FE8E:: @ 0811FE8E + .incbin "baserom.gba", 0x11FE8E, 0x0000014 + +gUnk_0811FEA2:: @ 0811FEA2 + .incbin "baserom.gba", 0x11FEA2, 0x000000C + +gUnk_0811FEAE:: @ 0811FEAE + .incbin "baserom.gba", 0x11FEAE, 0x000000C + +gUnk_0811FEBA:: @ 0811FEBA + .incbin "baserom.gba", 0x11FEBA, 0x0000028 + +gUnk_0811FEE2:: @ 0811FEE2 + .incbin "baserom.gba", 0x11FEE2, 0x000000D + +gUnk_0811FEEF:: @ 0811FEEF + .incbin "baserom.gba", 0x11FEEF, 0x0000020 + +gUnk_0811FF0F:: @ 0811FF0F + .incbin "baserom.gba", 0x11FF0F, 0x0000020 + +gUnk_0811FF2F:: @ 0811FF2F + .incbin "baserom.gba", 0x11FF2F, 0x0000020 + +gUnk_0811FF4F:: @ 0811FF4F + .incbin "baserom.gba", 0x11FF4F, 0x0000020 + +gUnk_0811FF6F:: @ 0811FF6F + .incbin "baserom.gba", 0x11FF6F, 0x0000020 + +gUnk_0811FF8F:: @ 0811FF8F + .incbin "baserom.gba", 0x11FF8F, 0x0000018 + +gUnk_0811FFA7:: @ 0811FFA7 + .incbin "baserom.gba", 0x11FFA7, 0x0000020 + +gUnk_0811FFC7:: @ 0811FFC7 + .incbin "baserom.gba", 0x11FFC7, 0x0000018 + +gUnk_0811FFDF:: @ 0811FFDF + .incbin "baserom.gba", 0x11FFDF, 0x0000018 + +gUnk_0811FFF7:: @ 0811FFF7 + .incbin "baserom.gba", 0x11FFF7, 0x0000009 + +gUnk_08120000:: @ 08120000 + .incbin "baserom.gba", 0x120000, 0x0000004 + +gUnk_08120004:: @ 08120004 + .incbin "baserom.gba", 0x120004, 0x0000006 + +gUnk_0812000A:: @ 0812000A + .incbin "baserom.gba", 0x12000A, 0x0000004 + +gUnk_0812000E:: @ 0812000E + .incbin "baserom.gba", 0x12000E, 0x0000001 + +gUnk_0812000F:: @ 0812000F + .incbin "baserom.gba", 0x12000F, 0x0000001 + +gUnk_08120010:: @ 08120010 + .incbin "baserom.gba", 0x120010, 0x0000007 + +gUnk_08120017:: @ 08120017 + .incbin "baserom.gba", 0x120017, 0x0000011 + +gUnk_08120028:: @ 08120028 + .incbin "baserom.gba", 0x120028, 0x0000004 + +gUnk_0812002C:: @ 0812002C + .incbin "baserom.gba", 0x12002C, 0x000000F + +gUnk_0812003B:: @ 0812003B + .incbin "baserom.gba", 0x12003B, 0x0000017 + +gUnk_08120052:: @ 08120052 + .incbin "baserom.gba", 0x120052, 0x000000A + +gUnk_0812005C:: @ 0812005C + .incbin "baserom.gba", 0x12005C, 0x0000007 + +gUnk_08120063:: @ 08120063 + .incbin "baserom.gba", 0x120063, 0x000001C + +gUnk_0812007F:: @ 0812007F + .incbin "baserom.gba", 0x12007F, 0x0000009 + +gUnk_08120088:: @ 08120088 + .incbin "baserom.gba", 0x120088, 0x0000013 + +gUnk_0812009B:: @ 0812009B + .incbin "baserom.gba", 0x12009B, 0x0000014 + +gUnk_081200AF:: @ 081200AF + .incbin "baserom.gba", 0x1200AF, 0x000001B + +gUnk_081200CA:: @ 081200CA + .incbin "baserom.gba", 0x1200CA, 0x0000001 + +gUnk_081200CB:: @ 081200CB + .incbin "baserom.gba", 0x1200CB, 0x0000005 + +gUnk_081200D0:: @ 081200D0 + .incbin "baserom.gba", 0x1200D0, 0x0000012 + +gUnk_081200E2:: @ 081200E2 + .incbin "baserom.gba", 0x1200E2, 0x0000009 + +gUnk_081200EB:: @ 081200EB + .incbin "baserom.gba", 0x1200EB, 0x0000013 + +gUnk_081200FE:: @ 081200FE + .incbin "baserom.gba", 0x1200FE, 0x0000001 + +gUnk_081200FF:: @ 081200FF + .incbin "baserom.gba", 0x1200FF, 0x0000024 + +gUnk_08120123:: @ 08120123 + .incbin "baserom.gba", 0x120123, 0x0000024 + +gUnk_08120147:: @ 08120147 + .incbin "baserom.gba", 0x120147, 0x0000020 + +gUnk_08120167:: @ 08120167 + .incbin "baserom.gba", 0x120167, 0x0000018 + +gUnk_0812017F:: @ 0812017F + .incbin "baserom.gba", 0x12017F, 0x0000011 + +gUnk_08120190:: @ 08120190 + .incbin "baserom.gba", 0x120190, 0x0000007 + +gUnk_08120197:: @ 08120197 + .incbin "baserom.gba", 0x120197, 0x0000018 + +gUnk_081201AF:: @ 081201AF + .incbin "baserom.gba", 0x1201AF, 0x0000031 + +gUnk_081201E0:: @ 081201E0 + .incbin "baserom.gba", 0x1201E0, 0x000000D + +gUnk_081201ED:: @ 081201ED + .incbin "baserom.gba", 0x1201ED, 0x000000B + +gUnk_081201F8:: @ 081201F8 + .incbin "baserom.gba", 0x1201F8, 0x0000011 + +gUnk_08120209:: @ 08120209 + .incbin "baserom.gba", 0x120209, 0x0000038 + +gUnk_08120241:: @ 08120241 + .incbin "baserom.gba", 0x120241, 0x0000038 + +gUnk_08120279:: @ 08120279 + .incbin "baserom.gba", 0x120279, 0x0000007 + +gUnk_08120280:: @ 08120280 + .incbin "baserom.gba", 0x120280, 0x000002D + +gUnk_081202AD:: @ 081202AD + .incbin "baserom.gba", 0x1202AD, 0x0000011 + +gUnk_081202BE:: @ 081202BE + .incbin "baserom.gba", 0x1202BE, 0x0000025 + +gUnk_081202E3:: @ 081202E3 + .incbin "baserom.gba", 0x1202E3, 0x0000009 + +gUnk_081202EC:: @ 081202EC + .incbin "baserom.gba", 0x1202EC, 0x0000020 + +gUnk_0812030C:: @ 0812030C + .incbin "baserom.gba", 0x12030C, 0x0000014 + +gUnk_08120320:: @ 08120320 + .incbin "baserom.gba", 0x120320, 0x0000030 + +gUnk_08120350:: @ 08120350 + .incbin "baserom.gba", 0x120350, 0x000001C + +gUnk_0812036C:: @ 0812036C + .incbin "baserom.gba", 0x12036C, 0x0000020 + +gUnk_0812038C:: @ 0812038C + .incbin "baserom.gba", 0x12038C, 0x0000038 + +gUnk_081203C4:: @ 081203C4 + .incbin "baserom.gba", 0x1203C4, 0x0000026 + +gUnk_081203EA:: @ 081203EA + .incbin "baserom.gba", 0x1203EA, 0x0000012 + +gUnk_081203FC:: @ 081203FC + .incbin "baserom.gba", 0x1203FC, 0x0000005 + +gUnk_08120401:: @ 08120401 + .incbin "baserom.gba", 0x120401, 0x0000001 + +gUnk_08120402:: @ 08120402 + .incbin "baserom.gba", 0x120402, 0x0000011 + +gUnk_08120413:: @ 08120413 + .incbin "baserom.gba", 0x120413, 0x0000030 + +gUnk_08120443:: @ 08120443 + .incbin "baserom.gba", 0x120443, 0x0000001 + +gUnk_08120444:: @ 08120444 + .incbin "baserom.gba", 0x120444, 0x0000015 + +gUnk_08120459:: @ 08120459 + .incbin "baserom.gba", 0x120459, 0x000000A + +gUnk_08120463:: @ 08120463 + .incbin "baserom.gba", 0x120463, 0x000009B + +gUnk_081204FE:: @ 081204FE + .incbin "baserom.gba", 0x1204FE, 0x0000062 + +gUnk_08120560:: @ 08120560 + .incbin "baserom.gba", 0x120560, 0x000000C + +gUnk_0812056C:: @ 0812056C + .incbin "baserom.gba", 0x12056C, 0x0000008 + +gUnk_08120574:: @ 08120574 + .incbin "baserom.gba", 0x120574, 0x0000008 + +gUnk_0812057C:: @ 0812057C + .incbin "baserom.gba", 0x12057C, 0x000000C + +gUnk_08120588:: @ 08120588 + .incbin "baserom.gba", 0x120588, 0x0000014 + +gUnk_0812059C:: @ 0812059C + .incbin "baserom.gba", 0x12059C, 0x0000018 + +gUnk_081205B4:: @ 081205B4 + .incbin "baserom.gba", 0x1205B4, 0x0000008 + +gUnk_081205BC:: @ 081205BC + .incbin "baserom.gba", 0x1205BC, 0x0000014 + +gUnk_081205D0:: @ 081205D0 + .incbin "baserom.gba", 0x1205D0, 0x0000010 + +gUnk_081205E0:: @ 081205E0 + .incbin "baserom.gba", 0x1205E0, 0x0000004 + +gUnk_081205E4:: @ 081205E4 + .incbin "baserom.gba", 0x1205E4, 0x0000004 + +gUnk_081205E8:: @ 081205E8 + .incbin "baserom.gba", 0x1205E8, 0x0000004 + +gUnk_081205EC:: @ 081205EC + .incbin "baserom.gba", 0x1205EC, 0x0000004 + +gUnk_081205F0:: @ 081205F0 + .incbin "baserom.gba", 0x1205F0, 0x0000004 + +gUnk_081205F4:: @ 081205F4 + .incbin "baserom.gba", 0x1205F4, 0x0000009 + +gUnk_081205FD:: @ 081205FD + .incbin "baserom.gba", 0x1205FD, 0x000000B + +gUnk_08120608:: @ 08120608 + .incbin "baserom.gba", 0x120608, 0x0000018 + +gUnk_08120620:: @ 08120620 + .incbin "baserom.gba", 0x120620, 0x000000C + +gUnk_0812062C:: @ 0812062C + .incbin "baserom.gba", 0x12062C, 0x000000C + +gUnk_08120638:: @ 08120638 + .incbin "baserom.gba", 0x120638, 0x0000008 + +gUnk_08120640:: @ 08120640 + .incbin "baserom.gba", 0x120640, 0x0000008 + +gUnk_08120648:: @ 08120648 + .incbin "baserom.gba", 0x120648, 0x0000008 + +gUnk_08120650:: @ 08120650 + .incbin "baserom.gba", 0x120650, 0x0000008 + +gUnk_08120658:: @ 08120658 + .incbin "baserom.gba", 0x120658, 0x0000008 + +gUnk_08120660:: @ 08120660 + .incbin "baserom.gba", 0x120660, 0x0000008 + +gUnk_08120668:: @ 08120668 + .incbin "baserom.gba", 0x120668, 0x0000010 + +gUnk_08120678:: @ 08120678 + .incbin "baserom.gba", 0x120678, 0x000000A + +gUnk_08120682:: @ 08120682 + .incbin "baserom.gba", 0x120682, 0x0000004 + +gUnk_08120686:: @ 08120686 + .incbin "baserom.gba", 0x120686, 0x0000004 + +gUnk_0812068A:: @ 0812068A + .incbin "baserom.gba", 0x12068A, 0x0000004 + +gUnk_0812068E:: @ 0812068E + .incbin "baserom.gba", 0x12068E, 0x0000004 + +gUnk_08120692:: @ 08120692 + .incbin "baserom.gba", 0x120692, 0x0000006 + +gUnk_08120698:: @ 08120698 + .incbin "baserom.gba", 0x120698, 0x0000014 + +gUnk_081206AC:: @ 081206AC + .incbin "baserom.gba", 0x1206AC, 0x0000008 + +gUnk_081206B4:: @ 081206B4 + .incbin "baserom.gba", 0x1206B4, 0x0000010 + +gUnk_081206C4:: @ 081206C4 + .incbin "baserom.gba", 0x1206C4, 0x000000C diff --git a/include/functions.h b/include/functions.h index 6481124f..05df1fac 100644 --- a/include/functions.h +++ b/include/functions.h @@ -43,7 +43,7 @@ extern void UpdateAnimationVariableFrames(Entity*, u32); extern void CopyPositionAndSpriteOffset(Entity*, Entity*); extern u8* GetSpriteSubEntryOffsetDataPointer(u32, u32); extern u32 LoadFixedGFX(Entity*, u32); -extern void ExecuteScriptCommandSet(Entity*, void*); +extern void ExecuteScriptCommandSet(); extern void _DmaFill32(u32, void*, u32); extern Entity* CreateItemEntity(u32, u32, u32); @@ -102,7 +102,7 @@ extern u32 sub_08049FDC(Entity*, u32); extern u32 sub_080041A0(Entity*, Entity*, u32, u32); extern u32 sub_08049EE4(Entity*); extern Entity* sub_0804A98C(Entity*, u8, u8); -extern u32 sub_080544DC(u8); +extern u32 sub_080544DC(u32); extern void sub_08077E54(Entity*); extern void sub_080042BA(Entity*, u32); extern void _DmaZero(void*, u32); diff --git a/include/player.h b/include/player.h index 0520cd61..0e0c7356 100644 --- a/include/player.h +++ b/include/player.h @@ -51,7 +51,8 @@ typedef struct { /*0x36*/ s16 field_0x36; /*0x38*/ u8 field_0x38; /*0x39*/ u8 field_0x39; - /*0x3a*/ u16 field_0x3a; + /*0x3a*/ u8 field_0x3a; + /*0x3b*/ u8 field_0x3b; /*0x3c*/ u8 field_0x3c[2]; /*0x3e*/ u8 swordGoldParticle : 1; /* */ u8 swordBlueParticle : 1; @@ -90,8 +91,7 @@ typedef struct { u8 itemOnB; u8 filler2[10]; u16 rupees; - u8 field_0x1a; - u8 field_0x1b; + u16 field_0x1a; u8 field_0x1c; u8 field_0x1d; u8 field_0x1e; diff --git a/include/textbox.h b/include/textbox.h index fcfe0de3..8089e3bc 100644 --- a/include/textbox.h +++ b/include/textbox.h @@ -2,6 +2,7 @@ #define TEXTBOX_H #include "global.h" +#include "entity.h" typedef struct { u8 doTextBox; diff --git a/linker.ld b/linker.ld index a76b3805..032bb32d 100644 --- a/linker.ld +++ b/linker.ld @@ -674,6 +674,8 @@ SECTIONS { src/flags.o(.text); src/code_0807CC3C.o(.text); asm/code_0807CC3C.o(.text); + src/code_0807DF74.o(.text); + asm/code_0807F0D8.o(.text); src/code_0808091C.o(.text); asm/code_0808091C.o(.text); /* objects */ @@ -1011,6 +1013,8 @@ SECTIONS { data/data_0811BD44.o(.rodata); data/room_headers.o(.rodata); data/data_0811E454.o(.rodata); + src/code_0807DF74.o(.rodata); + data/data_0811E750.o(.rodata); src/object/greatFairy.o(.rodata); data/animations/greatFairy.o(.rodata); data/data_081208A0.o(.rodata); diff --git a/src/code_0807DF74.c b/src/code_0807DF74.c new file mode 100644 index 00000000..e098b76d --- /dev/null +++ b/src/code_0807DF74.c @@ -0,0 +1,1263 @@ +#include "global.h" +#include "flags.h" +#include "entity.h" +#include "area.h" +#include "structures.h" +#include "textbox.h" +#include "functions.h" + +typedef struct { + u16 * unk_00; + u32 unk_04; + u32 unk_08; + u8 unk_0C[0x4];//unused + u16 unk_10; + u16 unk_12; + u32 unk_14; + u8 unk_18; + u8 unk_19; + u8 unk_1A; + u8 unk_1B;//unused + union SplitWord unk_1C; + union SplitWord unk_20; +} unk_struct; + +void nullsub_507 (Entity*, unk_struct*); +void sub_0807E004(Entity*, unk_struct*); +void sub_0807E014(Entity*, unk_struct*); +void sub_0807E024(Entity*, unk_struct*); +void sub_0807E050(Entity*, unk_struct*); +void sub_0807E064(Entity*, unk_struct*); +void sub_0807E078(Entity*, unk_struct*); +void sub_0807E0A0(Entity*, unk_struct*); +void sub_0807E0B8(Entity*, unk_struct*); +void sub_0807E0CC(Entity*, unk_struct*); +void sub_0807E0E0(Entity*, unk_struct*); +void sub_0807E10C(Entity*, unk_struct*); +void sub_0807E124(Entity*, unk_struct*); +void sub_0807E148(Entity*, unk_struct*); +void sub_0807E158(Entity*, unk_struct*); +void sub_0807E188(Entity*, unk_struct*); +void sub_0807E1D8(Entity*, unk_struct*); +void sub_0807E200(Entity*, unk_struct*); +void sub_0807E220(Entity*, unk_struct*); +void sub_0807E240(Entity*, unk_struct*); +void sub_0807E260(Entity*, unk_struct*); +void sub_0807E280(Entity*, unk_struct*); +void sub_0807E2A8(Entity*, unk_struct*); +void sub_0807E2E4(Entity*, unk_struct*); +void sub_0807E30C(Entity*, unk_struct*); +void sub_0807E390(Entity*, unk_struct*); +void sub_0807E3BC(Entity*, unk_struct*); +void sub_0807E3E8(Entity*, unk_struct*); +void sub_0807E40C(Entity*, unk_struct*); +void sub_0807E42C(Entity*, unk_struct*); +void sub_0807E48C(Entity*, unk_struct*); +void sub_0807E4AC(Entity*, unk_struct*); +void sub_0807E4CC(Entity*, unk_struct*); +void sub_0807E4EC(Entity*, unk_struct*); +void sub_0807E514(Entity*, unk_struct*); +void sub_0807E538(Entity*, unk_struct*); +void sub_0807E564(Entity*, unk_struct*); +void sub_0807E584(Entity*, unk_struct*); +void sub_0807E5A0(Entity*, unk_struct*); +void sub_0807E5CC(Entity*, unk_struct*); +void sub_0807E5F8(Entity*, unk_struct*); +void sub_0807E610(Entity*, unk_struct*); +void sub_0807E628(Entity*, unk_struct*); +void sub_0807E634(Entity*, unk_struct*); +void sub_0807E644(Entity*, unk_struct*); +void sub_0807E650(Entity*, unk_struct*); +void sub_0807E65C(Entity*, unk_struct*); +void sub_0807E668(Entity*, unk_struct*); +void sub_0807E674(Entity*, unk_struct*); +void sub_0807E680(Entity*, unk_struct*); +void sub_0807E690(Entity*, unk_struct*); +void sub_0807E6AC(Entity*, unk_struct*); +void sub_0807E6DC(Entity*, unk_struct*); +void sub_0807E700(Entity*, unk_struct*); +void sub_0807E72C(Entity*, unk_struct*); +void sub_0807E75C(Entity*, unk_struct*); +void sub_0807E778(Entity*, unk_struct*); +void sub_0807E788(Entity*, unk_struct*); +void sub_0807E79C(Entity*, unk_struct*); +void nullsub_508 (Entity*, unk_struct*); +void sub_0807E7B0(Entity*, unk_struct*); +void sub_0807E7C4(Entity*, unk_struct*); +void sub_0807E7D8(Entity*, unk_struct*); +void sub_0807E7EC(Entity*, unk_struct*); +void sub_0807E800(Entity*, unk_struct*); +void sub_0807E80C(Entity*, unk_struct*); +void sub_0807E818(u32); +void sub_0807E858(Entity*, unk_struct*); +void sub_0807E864(Entity*, unk_struct*); +void sub_0807E878(Entity*, unk_struct*); +void sub_0807E888(Entity*, unk_struct*); +void sub_0807E898(Entity*, unk_struct*); +void sub_0807E8C4(Entity*, unk_struct*); +void sub_0807E8D4(Entity*, unk_struct*); +void sub_0807E8E4(Entity*, unk_struct*); +void sub_0807E908(Entity*, unk_struct*); +void sub_0807E914(Entity*, unk_struct*); +void sub_0807E924(Entity*, unk_struct*); +void sub_0807E930(Entity*, unk_struct*); +void sub_0807E944(Entity*, unk_struct*); +void sub_0807E974(Entity*, unk_struct*); +void sub_0807E9D4(Entity*, unk_struct*); +void sub_0807E9DC(Entity*, unk_struct*); +void sub_0807E9E4(Entity*, unk_struct*); +void sub_0807E9F0(Entity*, unk_struct*); +void sub_0807EA4C(Entity*, unk_struct*); +void sub_0807EA88(Entity*, unk_struct*); +void sub_0807EA94(Entity*, unk_struct*); +void sub_0807EAB4(Entity*, unk_struct*); +void sub_0807EAC0(Entity*, unk_struct*); +void sub_0807EAD0(Entity*, unk_struct*); +void sub_0807EAF0(Entity*, unk_struct*); +void sub_0807EB18(Entity*, unk_struct*); +void sub_0807EB28(Entity*, unk_struct*); +void sub_0807EB38(Entity*, unk_struct*); +void sub_0807EB44(Entity*, unk_struct*); +void sub_0807EB4C(Entity*, unk_struct*); +void sub_0807EB74(Entity*, unk_struct*); +void sub_0807EB8C(Entity*, unk_struct*); +void sub_0807EBA8(Entity*, unk_struct*); +void sub_0807EBB0(Entity*, unk_struct*); +void sub_0807EBC0(Entity*, unk_struct*); +void sub_0807EBC8(Entity*, unk_struct*); +void sub_0807EBD8(Entity*, unk_struct*); +void sub_0807EBF4(Entity*, unk_struct*); +void sub_0807EC08(Entity*, unk_struct*); +void nullsub_509 (Entity*, unk_struct*); +void sub_0807EC1C(Entity*, unk_struct*); +void sub_0807EC44(Entity*, unk_struct*); +void sub_0807EC64(Entity*, unk_struct*); +void sub_0807EC94(Entity*, unk_struct*); +void sub_0807ECC4(Entity*, unk_struct*); +void sub_0807ECF4(Entity*, unk_struct*); +void sub_0807ED24(Entity*, unk_struct*); +void sub_0807EDD4(Entity*, unk_struct*); +void sub_0807EE04(Entity*, unk_struct*); +void sub_0807EE30(Entity*, unk_struct*); +void sub_0807EEB4(Entity*, unk_struct*); +void sub_0807EEF4(Entity*, unk_struct*); +void sub_0807EF3C(Entity*, unk_struct*); +void sub_0807EF80(Entity*, unk_struct*); +void sub_0807EF90(Entity*, unk_struct*); +void sub_0807EFA0(Entity*, unk_struct*); +void sub_0807EFAC(Entity*, unk_struct*); +void sub_0807EFD4(Entity*, unk_struct*); +void sub_0807EFE4(Entity*, unk_struct*); +void sub_0807EFF4(Entity*, unk_struct*); +void sub_0807F004(Entity*, unk_struct*); +void sub_0807F010(Entity*, unk_struct*); +void sub_0807F034(Entity*, unk_struct*); +void sub_0807F050(Entity*, unk_struct*); +void sub_0807F060(Entity*, unk_struct*); +void sub_0807F078(Entity*, unk_struct*); +void sub_0807F088(Entity*, unk_struct*); +void sub_0807F098(Entity*, unk_struct*); +void sub_0807F0A4(Entity*, unk_struct*); +void sub_0807F0B4(Entity*, unk_struct*); +void sub_0807F0C8(Entity*, unk_struct*); + +void (* const gUnk_0811E524[])() = { + nullsub_507, + sub_0807E004, + sub_0807E014, + sub_0807E024, + sub_0807E050, + sub_0807E064, + sub_0807E078, + sub_0807E0A0, + sub_0807E0B8, + sub_0807E0CC, + sub_0807E0E0, + sub_0807E10C, + sub_0807E124, + sub_0807E148, + sub_0807E158, + sub_0807E188, + sub_0807E1D8, + sub_0807E4AC,//defined out of order + sub_0807E200, + sub_0807E220, + sub_0807E240, + sub_0807E260, + sub_0807E280, + sub_0807E2A8, + sub_0807E2E4, + sub_0807E30C, + sub_0807E390, + sub_0807E3BC, + sub_0807E3E8, + sub_0807E40C, + sub_0807E42C, + sub_0807E48C, + sub_0807E4CC, + sub_0807E4EC, + sub_0807E514, + sub_0807E538, + sub_0807E564, + sub_0807E584, + sub_0807E5A0, + sub_0807E5CC, + sub_0807E5F8, + sub_0807E610, + sub_0807E628, + sub_0807E634, + sub_0807E644, + sub_0807E650, + sub_0807E65C, + sub_0807E668, + sub_0807E674, + sub_0807E680, + sub_0807E690, + sub_0807E6AC, + sub_0807E6DC, + sub_0807E700, + sub_0807E72C, + sub_0807E75C, + sub_0807E778, + sub_0807E788, + sub_0807E79C, + nullsub_508, + sub_0807E7B0, + sub_0807E7C4, + sub_0807E7D8, + sub_0807E7EC, + sub_0807E800, + sub_0807E80C, + sub_0807E858, + sub_0807E864, + sub_0807E878, + sub_0807E888, + sub_0807E898, + sub_0807E8C4, + sub_0807E8D4, + sub_0807E8E4, + sub_0807E8E4,//duplicate + sub_0807E8E4,//duplicate + sub_0807E8E4,//duplicate + sub_0807E908, + sub_0807E914, + sub_0807E924, + sub_0807E930, + sub_0807E944, + sub_0807E974, + sub_0807E9D4, + sub_0807E9DC, + sub_0807E9E4, + sub_0807E9F0, + sub_0807EA4C, + sub_0807EA88, + sub_0807EA94, + sub_0807EAB4, + sub_0807EAC0, + sub_0807EAD0, + sub_0807EAF0, + sub_0807EB18, + sub_0807EB28, + sub_0807EB38, + sub_0807EB44, + sub_0807EB4C, + sub_0807EB74, + sub_0807EB8C, + sub_0807EBA8, + sub_0807EBB0, + sub_0807EBC0, + sub_0807EBC8, + sub_0807EBD8, + sub_0807EBF4, + sub_0807EC08, + nullsub_509, + sub_0807EC1C, + sub_0807EC64, + sub_0807EC94, + sub_0807ECC4, + sub_0807ECF4, + sub_0807ED24, + sub_0807EDD4, + sub_0807EE04, + sub_0807EE30, + sub_0807EEB4, + sub_0807EEF4, + sub_0807EF3C, + sub_0807EF80, + sub_0807EF90, + sub_0807EFA0, + sub_0807EFAC, + sub_0807EFD4, + sub_0807EFE4, + sub_0807EFF4, + sub_0807F004, + sub_0807F010, + sub_0807F034, + sub_0807F050, + sub_0807F060, + sub_0807F078, + sub_0807F088, + sub_0807F098, + sub_0807F0A4, + sub_0807F0B4, + sub_0807F0C8 +}; + +typedef struct { + u32 unk_00; + u16 unk_04; + u8 unk_06; + u8 unk_07; + u8 unk_08; +} struct_02033280; + +extern struct_02033280 gUnk_02033280; + +extern u8 gUnk_02022740[]; +extern u8 gUnk_02034490; + +typedef struct { + u8 unk_00; + u8 unk_01; + u8 unk_02[0xE]; +} struct_02000040; + +extern struct_02000040 gUnk_02000040; + +extern const u16 gUnk_08016984; + +extern u32 GetNextScriptCommandHalfword(u16*); +extern u32 GetNextScriptCommandWord(u16*); +extern u32 GetNextScriptCommandWordAfterCommandMetadata(u16*); +extern u32 GetNextScriptCommandHalfwordAfterCommandMetadata(u16*); + +void StartPlayerScript(u32); + +extern u32 sub_08052734(); //has Dungeon Map? +extern u32 sub_08052764(); //has Dungeon Compass? +extern u32 sub_0805279C(); //has Dungeon Big Key? +extern u32 sub_080527CC(); //num Dungeon small keys? + +extern void sub_0801E00C(); +extern void sub_0807919C(); +extern void sub_0801DFB4(Entity*, u32, u32, u32); +extern void sub_08078790(Entity*, u32); +extern void sub_08078AA8(u32, u32); +extern void sub_0807DEDC(Entity*, unk_struct*, u32, u32); +extern void sub_0807CAA0(u32, u32); +extern void sub_08080964(u32, u32); + +extern u32 sub_08053FE0(); +extern void sub_080500F4(u32); +extern void sub_08050110(u32, u32, u32, u32); +extern void sub_08050038(u32); +extern void sub_08078B48(void); +extern void sub_080788E0(Entity*); + +void sub_0807E818(u32); +void sub_0807EC44(Entity*, unk_struct*); +void sub_0807EE04(Entity*, unk_struct*); +void sub_0807EE30(Entity*, unk_struct*); + +extern u32 CheckPlayerInRegion(u32, u32, u32, u32); +extern u32 sub_0806F5B0(u32); + +void ExecuteScriptCommandSet(Entity* unk1, unk_struct* unk2) { + if (!unk2->unk_00) return; + if (unk2->unk_10) { + unk2->unk_10--; + } else { + struct_02033280 * tmp2 = &gUnk_02033280; + tmp2->unk_07 = 0; + do { + u32 cmd = GetNextScriptCommandHalfword(unk2->unk_00); + u16* tmp; + if (cmd == 0xFFFF) return; + tmp2->unk_06 = cmd >> 0xA; + tmp2->unk_04 = cmd & 0x3FF; + tmp = unk2->unk_00; + tmp2->unk_07 &= ~1; + gUnk_0811E524[tmp2->unk_04](unk1, unk2); + unk2->unk_00 += tmp2->unk_06; + if (tmp != unk2->unk_00) { + unk2->unk_18 = 0; + } + } while (tmp2->unk_07 & 3); + } +} + +void nullsub_507(Entity* unk1, unk_struct* unk2) {} + +void sub_0807E004(Entity* unk1, unk_struct* unk2) { + gUnk_02033280.unk_07 |= 2; +} + +void sub_0807E014(Entity* unk1, unk_struct* unk2) { + gUnk_02033280.unk_07 &= ~2; +} + +void sub_0807E024(Entity* unk1, unk_struct* unk2) { + s16 tmp; + unk2->unk_00++; + tmp = GetNextScriptCommandHalfword(unk2->unk_00); + unk2->unk_00 += (tmp / 2); + gUnk_02033280.unk_06 = 0; +} + +void sub_0807E050(Entity* unk1, unk_struct* unk2) { + if (unk2->unk_14) { + sub_0807E024(unk1, unk2); + } +} + +void sub_0807E064(Entity* unk1, unk_struct* unk2) { + if (!unk2->unk_14) { + sub_0807E024(unk1, unk2); + } +} + +void sub_0807E078(Entity* unk1, unk_struct* unk2) { + if (gUnk_02033280.unk_06 > unk2->unk_04) { + unk2->unk_00 += unk2->unk_04; + sub_0807E024(unk1, unk2); + } +} + +void sub_0807E0A0(Entity* unk1, unk_struct* unk2) { + unk2->unk_00 = (u16*) GetNextScriptCommandWordAfterCommandMetadata(unk2->unk_00); + gUnk_02033280.unk_06 = 0; +} + +void sub_0807E0B8(Entity* unk1, unk_struct* unk2) { + if (unk2->unk_14) { + sub_0807E0A0(unk1, unk2); + } +} + +void sub_0807E0CC(Entity* unk1, unk_struct* unk2) { + if (!unk2->unk_14) { + sub_0807E0A0(unk1, unk2); + } +} + +void sub_0807E0E0(Entity* unk1, unk_struct* unk2) { + if (gUnk_02033280.unk_06 > (unk2->unk_04 << 1) + 1) { + unk2->unk_00 += unk2->unk_04 << 1; + sub_0807E0A0(unk1, unk2); + } +} + +void sub_0807E10C(Entity* unk1, unk_struct* unk2) { + ((void (*)(Entity*, unk_struct*)) GetNextScriptCommandWordAfterCommandMetadata(unk2->unk_00))(unk1, unk2); +} + +void sub_0807E124(Entity* unk1, unk_struct* unk2) { + void (* tmp)(Entity*, unk_struct*) = (void (*)(Entity*, unk_struct*)) GetNextScriptCommandWordAfterCommandMetadata(unk2->unk_00); + unk2->unk_04 = GetNextScriptCommandWord(unk2->unk_00 + 3); + tmp(unk1, unk2); +} + +void sub_0807E148(Entity* unk1, unk_struct* unk2) { + LoadRoomEntityList(GetNextScriptCommandWordAfterCommandMetadata(unk2->unk_00)); +} + +void sub_0807E158(Entity* unk1, unk_struct* unk2) { + u32 tmp = GetNextScriptCommandWordAfterCommandMetadata(unk2->unk_00); + u32 tmp2 = 0; + u32 tmp3 = gUnk_02033280.unk_00; + if ((tmp3 & tmp) == tmp) tmp2 = 1; + unk2->unk_14 = tmp2; + gUnk_02033280.unk_00 = tmp3 & ~tmp; + gUnk_02033280.unk_07 |= 1; +} + +void sub_0807E188(Entity* unk1, unk_struct* unk2) { + u32 tmp; + u32 tmp2 = GetNextScriptCommandHalfwordAfterCommandMetadata(unk2->unk_00); + switch (tmp2) { + case 0x53: + tmp = sub_08052734(); + break; + case 0x52: + tmp = sub_08052764(); + break; + case 0x51: + tmp = sub_0805279C(); + break; + case 0x50: + tmp = sub_080527CC(); + break; + default: + tmp = GetInventoryValue(tmp2); + } + unk2->unk_14 = tmp; + gUnk_02033280.unk_07 |= 1; +} + +void sub_0807E1D8(Entity* unk1, unk_struct* unk2) { + unk2->unk_14 = GetInventoryValue(unk2->unk_00[1]) == 2; + gUnk_02033280.unk_07 |= 1; +} + +void sub_0807E200(Entity* unk1, unk_struct* unk2) { + unk2->unk_14 = CheckLocalFlag(unk2->unk_00[1]); + gUnk_02033280.unk_07 |= 1; +} + +void sub_0807E220(Entity* unk1, unk_struct* unk2) { + unk2->unk_14 = CheckLocalFlagByOffset(unk2->unk_00[1], unk2->unk_00[2]); + gUnk_02033280.unk_07 |= 1; +} + +void sub_0807E240(Entity* unk1, unk_struct* unk2) { + unk2->unk_14 = CheckGlobalFlag(GetNextScriptCommandHalfwordAfterCommandMetadata(unk2->unk_00)); + gUnk_02033280.unk_07 |= 1; +} + +void sub_0807E260(Entity* unk1, unk_struct* unk2) { + unk2->unk_14 = CheckRoomFlag(unk2->unk_00[1]); + gUnk_02033280.unk_07 |= 1; +} + +void sub_0807E280(Entity* unk1, unk_struct* unk2) { + u32 x, y, width, height; + width = unk2->unk_00[3]; + height = width >> 8; + width &= 0xFF; + x = unk2->unk_00[1]; + y = unk2->unk_00[2]; + unk2->unk_14 = CheckPlayerInRegion(x,y,width, height); + gUnk_02033280.unk_07 |= 1; +} + +void sub_0807E2A8(Entity* unk1, unk_struct* unk2) { + u32 x, y, width, height; + width = unk2->unk_00[1] & 0xFF; + height = unk2->unk_00[1] >> 8; + x = unk1->x.HALF.HI - gRoomControls.roomOriginX; + y = unk1->y.HALF.HI - gRoomControls.roomOriginY; + unk2->unk_14 = CheckPlayerInRegion(x,y,width, height); + gUnk_02033280.unk_07 |= 1; +} + +void sub_0807E2E4(Entity* unk1, unk_struct* unk2) { + if (unk1->interactType) { + unk1->interactType = 0; + unk2->unk_14 = 1; + } else { + unk2->unk_14 = 0; + } + gUnk_02033280.unk_07 |= 1; +} + +void sub_0807E30C(Entity* unk1, unk_struct* unk2) { + if ((unk2->unk_1A & 0xF) == 0 + && (gPlayerState.flags.all & 0x80) == 0 + && sub_080041A0(unk1, &gPlayerEntity, 0x28, 0x28)) { + unk1->animationState = sub_0806F5B0(GetFacingDirection(unk1, &gPlayerEntity)); + } + unk2->unk_1A++; + if (unk1->interactType) { + unk1->interactType = 0; + unk2->unk_14 = 1; + unk1->animationState = sub_0806F5B0(GetFacingDirection(unk1, &gPlayerEntity)); + } else { + unk2->unk_14 = 0; + } + gUnk_02033280.unk_07 |= 1; +} + +void sub_0807E390(Entity* unk1, unk_struct* unk2) { + unk2->unk_14 = (unk2->unk_00[1] <= gUnk_02002A40.stats.rupees); + gUnk_02033280.unk_07 |= 1; +} + +void sub_0807E3BC(Entity* unk1, unk_struct* unk2) { + unk2->unk_14 = (unk2->unk_00[1] <= gUnk_02002A40.stats.field_0x1a); + gUnk_02033280.unk_07 |= 1; +} + +void sub_0807E3E8(Entity* unk1, unk_struct* unk2) { + unk2->unk_14 = !gUnk_02000040.unk_01; + gUnk_02033280.unk_07 |= 1; +} + +void sub_0807E40C(Entity* unk1, unk_struct* unk2) { + unk2->unk_14 = CheckKinstoneFused(unk2->unk_00[1]); + gUnk_02033280.unk_07 |= 1; +} + +void sub_0807E42C(Entity* unk1, unk_struct* unk2) { + u32 tmp, tmp2; + s32 tmp3; + tmp = unk2->unk_00[1]; + tmp2 = unk2->unk_00[2]; + if (!tmp) { + tmp = gRoomVars.itemForSaleIndex; + tmp2 = gRoomVars.field_0x7; + } + tmp3 = sub_08053FE0(tmp); + unk2->unk_14 = (tmp3 <= gUnk_02002A40.stats.rupees); + if (unk2->unk_14) { + ModRupees(-tmp3); + sub_080A7C18(tmp, tmp2, 0); + gRoomVars.itemForSaleIndex = 0; + gRoomVars.field_0x7 = 0; + } + gUnk_02033280.unk_07 |= 1; +} + +void sub_0807E48C(Entity* unk1, unk_struct* unk2) { + unk2->unk_14 = sub_080544DC(unk2->unk_00[1]); + gUnk_02033280.unk_07 |= 1; +} + +void sub_0807E4AC(Entity* unk1, unk_struct* unk2) { + unk2->unk_14 = !!gRoomVars.itemForSaleIndex; + gUnk_02033280.unk_07 |= 1; +} + +void sub_0807E4CC(Entity* unk1, unk_struct* unk2) { + unk2->unk_14 = !!(unk2->unk_04 & unk2->unk_00[1]); + gUnk_02033280.unk_07 |= 1; +} + +void sub_0807E4EC(Entity* unk1, unk_struct* unk2) { + u32 tmp = unk2->unk_00[1]; + unk2->unk_14 = tmp == (tmp & unk2->unk_04); + gUnk_02033280.unk_07 |= 1; +} + +void sub_0807E514(Entity* unk1, unk_struct* unk2) { + u32 tmp = unk2->unk_00[1]; + unk2->unk_14 = tmp == unk2->unk_04; + gUnk_02033280.unk_07 |= 1; +} + +void sub_0807E538(Entity* unk1, unk_struct* unk2) { + unk2->unk_14 = !!(GetNextScriptCommandWordAfterCommandMetadata(unk2->unk_00) & gPlayerState.flags.all); + gUnk_02033280.unk_07 |= 1; +} + +void sub_0807E564(Entity* unk1, unk_struct* unk2) { + unk2->unk_14 = (gPlayerState.flags.all >> 7) & 1; + gUnk_02033280.unk_07 |= 1; +} + +void sub_0807E584(Entity* unk1, unk_struct* unk2) { + unk2->unk_14 = unk1->height.WORD != 0; + gUnk_02033280.unk_07 |= 1; +} + +void sub_0807E5A0(Entity* unk1, unk_struct* unk2) { + unk2->unk_14 = unk2->unk_00[1] == gPlayerEntity.action; + gUnk_02033280.unk_07 |= 1; +} + +void sub_0807E5CC(Entity* unk1, unk_struct* unk2) { + unk2->unk_14 = unk2->unk_00[1] == gPlayerEntity.animationState; + gUnk_02033280.unk_07 |= 1; +} + +void sub_0807E5F8(Entity* unk1, unk_struct* unk2) { + gUnk_02033280.unk_00 |= GetNextScriptCommandWordAfterCommandMetadata(unk2->unk_00); +} + +void sub_0807E610(Entity* unk1, unk_struct* unk2) { + gUnk_02033280.unk_00 &= ~GetNextScriptCommandWordAfterCommandMetadata(unk2->unk_00); +} + +void sub_0807E628(Entity* unk1, unk_struct* unk2) { + SetLocalFlag(unk2->unk_00[1]); +} + +void sub_0807E634(Entity* unk1, unk_struct* unk2) { + SetLocalFlagByOffset(unk2->unk_00[1], unk2->unk_00[2]); +} + +void sub_0807E644(Entity* unk1, unk_struct* unk2) { + ClearLocalFlag(unk2->unk_00[1]); +} + +void sub_0807E650(Entity* unk1, unk_struct* unk2) { + SetGlobalFlag(unk2->unk_00[1]); +} + +void sub_0807E65C(Entity* unk1, unk_struct* unk2) { + ClearGlobalFlag(unk2->unk_00[1]); +} + +void sub_0807E668(Entity* unk1, unk_struct* unk2) { + SetRoomFlag(unk2->unk_00[1]); +} + +void sub_0807E674(Entity* unk1, unk_struct* unk2) { + ClearRoomFlag(unk2->unk_00[1]); +} + +void sub_0807E680(Entity* unk1, unk_struct* unk2) { + unk2->unk_10 = GetNextScriptCommandHalfwordAfterCommandMetadata(unk2->unk_00); +} + +void sub_0807E690(Entity* unk1, unk_struct* unk2) { + u32 tmp = GetNextScriptCommandWordAfterCommandMetadata(unk2->unk_00); + if ((gUnk_02033280.unk_00 & tmp) != tmp) { + gUnk_02033280.unk_06 = 0; + } +} + +void sub_0807E6AC(Entity* unk1, unk_struct* unk2) { + u32 tmp = GetNextScriptCommandWordAfterCommandMetadata(unk2->unk_00); + if ((gUnk_02033280.unk_00 & tmp) != tmp) { + gUnk_02033280.unk_06 = 0; + } else { + gUnk_02033280.unk_00 &= ~tmp; + gUnk_02033280.unk_07 |= 1; + } +} + +void sub_0807E6DC(Entity* unk1, unk_struct* unk2) { + if (gPlayerEntity.action == 8) { + gUnk_02033280.unk_06 = 0; + } else { + unk2->unk_10 = 0x2D; + } +} + +void sub_0807E700(Entity* unk1, unk_struct* unk2) { + if (gPlayerEntity.action != 0x17) { + gUnk_02033280.unk_07 |= 1; + } else { + gUnk_02033280.unk_06 = 0; + } +} + +void sub_0807E72C(Entity* unk1, unk_struct* unk2) { + if (gRoomControls.unk6 & 4) { + gUnk_02033280.unk_06 = 0; + } else { + gUnk_02033280.unk_07 |= 1; + } +} + +void sub_0807E75C(Entity* unk1, unk_struct* unk2) { + if (gFadeControl.active) { + gUnk_02033280.unk_06 = 0; + } +} + +void sub_0807E778(Entity* unk1, unk_struct* unk2) { + gUnk_02033280.unk_08 = unk2->unk_00[1]; +} + +void sub_0807E788(Entity* unk1, unk_struct* unk2) { + gFadeControl.field_0x4 = GetNextScriptCommandWordAfterCommandMetadata(unk2->unk_00); +} + +void sub_0807E79C(Entity* unk1, unk_struct* unk2) { + sub_080500F4(gUnk_02033280.unk_08); +} + +void nullsub_508(Entity* unk1, unk_struct* unk2) {} + +void sub_0807E7B0(Entity* unk1, unk_struct* unk2) { + DoFade(4, gUnk_02033280.unk_08); +} + +void sub_0807E7C4(Entity* unk1, unk_struct* unk2) { + DoFade(5, gUnk_02033280.unk_08); +} + +void sub_0807E7D8(Entity* unk1, unk_struct* unk2) { + DoFade(6, gUnk_02033280.unk_08); +} + +void sub_0807E7EC(Entity* unk1, unk_struct* unk2) { + DoFade(7, gUnk_02033280.unk_08); +} + +void sub_0807E800(Entity* unk1, unk_struct* unk2) { + sub_0807E818(0x10); +} + +void sub_0807E80C(Entity* unk1, unk_struct* unk2) { + sub_0807E818(0x11); +} + +void sub_0807E818(u32 unk1) { + Entity* tmp = gRoomControls.cameraTarget; + u32 tmp2, tmp3; + if (tmp) { + tmp2 = tmp->x.HALF.HI - gRoomControls.roomScrollX; + tmp3 = tmp->y.HALF.HI - gRoomControls.roomScrollY; + } else { + tmp2 = 0x78; + tmp3 = 0x50; + } + sub_08050110(tmp2, tmp3, unk1, gUnk_02033280.unk_08); +} + +void sub_0807E858(Entity* unk1, unk_struct* unk2) { + sub_08050038(unk2->unk_00[1]); +} + +void sub_0807E864(Entity* unk1, unk_struct* unk2) { + gPlayerState.field_0x8b = 3; + sub_08078B48(); +} + +void sub_0807E878(Entity* unk1, unk_struct* unk2) { + gPlayerState.field_0x8b = 1; +} + +void sub_0807E888(Entity* unk1, unk_struct* unk2) { + gPlayerState.field_0x8b = 3; +} + +void sub_0807E898(Entity* unk1, unk_struct* unk2) { + u32 tmp = GetNextScriptCommandWordAfterCommandMetadata(unk2->unk_00); + gPlayerState.playerAction = tmp; + gPlayerState.field_0x38 = tmp >> 8; + gPlayerState.field_0x39 = tmp >> 0x10; + gPlayerState.field_0x3a = tmp >> 0x18; +} + +void sub_0807E8C4(Entity* unk1, unk_struct* unk2) { + StartPlayerScript(GetNextScriptCommandWordAfterCommandMetadata(unk2->unk_00)); +} + +void sub_0807E8D4(Entity* unk1, unk_struct* unk2) { + gPlayerState.field_0x8 = unk2->unk_00[1]; +} + +void sub_0807E8E4(Entity* unk1, unk_struct* unk2) { + u32 tmp = (gUnk_08016984 & 0x3FF); + u32 tmp2; + gPlayerEntity.animationState = tmp2 = (unk2->unk_00[0] - tmp) << 1; +} + +void sub_0807E908(Entity* unk1, unk_struct* unk2) { + unk1->action = unk2->unk_00[1]; + unk1->previousActionFlag = 0; +} + +void sub_0807E914(Entity* unk1, unk_struct* unk2) { + unk2->unk_04 = GetNextScriptCommandWordAfterCommandMetadata(unk2->unk_00); +} + +void sub_0807E924(Entity* unk1, unk_struct* unk2) { + unk2->unk_04 = unk1->frames.all; + unk1->frames.all = 0; +} + +void sub_0807E930(Entity* unk1, unk_struct* unk2) { + unk1->field_0x80.HWORD = unk2->unk_00[1]; + InitAnimationForceUpdate(unk1, unk2->unk_00[1]); +} + +void sub_0807E944(Entity* unk1, unk_struct* unk2) { + if (unk1->interactType) { + unk1->interactType = 0; + gUnk_02033280.unk_07 |= 1; + } else { + gUnk_02033280.unk_06 = 0; + } +} + +void sub_0807E974(Entity* unk1, unk_struct* unk2) { + switch (unk2->unk_18) { + default: + if (!--unk2->unk_19) return; + break; + case 0: + if (!unk1->interactType) break; + unk1->interactType = 0; + unk2->unk_18++; + TextboxNoOverlapFollow(unk2->unk_00[1]); + break; + case 1: + if (gTextBox.doTextBox & 0x7F) break; + unk2->unk_18 = 2; + unk2->unk_19 = 0xF; + break; + } + gUnk_02033280.unk_06 = 0; +} + +void sub_0807E9D4(Entity* unk1, unk_struct* unk2) { + sub_08078778(unk1); +} + +void sub_0807E9DC(Entity* unk1, unk_struct* unk2) { + sub_080788E0(unk1); +} + +void sub_0807E9E4(Entity* unk1, unk_struct* unk2) { + sub_08078784(unk1, unk2->unk_00[1]); +} + +void sub_0807E9F0(Entity* unk1, unk_struct* unk2) { + u32 tmp; + sub_0801E00C(); + tmp = 1; + switch (gUnk_02022740[0]) { + case 2: + gPlayerState.field_0x8b = 3; + gUnk_02034490 = tmp; + unk2->unk_14 = tmp; + break; + case 1: + unk2->unk_14 = 0; + break; + default: + goto lbl; + } + if (tmp) { + sub_0807919C(); + gPlayerState.field_0x8b = 1; + } else { + lbl: + gUnk_02033280.unk_06 = 0; + } +} + +void sub_0807EA4C(Entity* unk1, unk_struct* unk2) { + if (unk1->interactType == 2) { + sub_0801DFB4(unk1, 0, 0, 0); + unk1->interactType = 0; + gUnk_02033280.unk_07 |= 1; + } else { + gUnk_02033280.unk_06 = 0; + } +} + +void sub_0807EA88(Entity* unk1, unk_struct* unk2) { + sub_08078790(unk1, unk2->unk_00[1]); +} + +void sub_0807EA94(Entity* unk1, unk_struct* unk2) { + if (gTextBox.doTextBox & 0x7F) { + gUnk_02033280.unk_06 = 0; + } +} + +void sub_0807EAB4(Entity* unk1, unk_struct* unk2) { + TextboxNoOverlapFollow(unk2->unk_00[1]); +} + +void sub_0807EAC0(Entity* unk1, unk_struct* unk2) { + TextboxNoOverlap(unk2->unk_00[1], unk1); +} + +void sub_0807EAD0(Entity* unk1, unk_struct* unk2) { + TextboxNoOverlapFollow(unk2->unk_00[1]); + gTextBox.textWindowPosX = 1; + gTextBox.textWindowPosY = unk2->unk_00[2]; +} + +void sub_0807EAF0(Entity* unk1, unk_struct* unk2) { + if (gUnk_02033280.unk_06 > unk2->unk_04) { + u16 * tmp = unk2->unk_00 + unk2->unk_04; + TextboxNoOverlapFollow(tmp[1]); + } else { + TextboxNoOverlapFollow(0); + } +} + +void sub_0807EB18(Entity* unk1, unk_struct* unk2) { + TextboxNoOverlap(unk2->unk_04, unk1); +} + +void sub_0807EB28(Entity* unk1, unk_struct* unk2) { + sub_08078AA8(unk2->unk_00[1], 0); +} + +void sub_0807EB38(Entity* unk1, unk_struct* unk2) { + unk2->unk_04 = gUnk_02000040.unk_01; +} + +void sub_0807EB44(Entity* unk1, unk_struct* unk2) { + unk1->animationState = unk2->unk_00[1]; +} + +void sub_0807EB4C(Entity* unk1, unk_struct* unk2) { + unk1->animationState = sub_0806F5B0(sub_080045B4(unk1, unk2->unk_00[1] + gRoomControls.roomOriginX, unk2->unk_00[2] + gRoomControls.roomOriginY)); +} + +void sub_0807EB74(Entity* unk1, unk_struct* unk2) { + unk1->animationState = sub_0806F5B0(GetFacingDirection(unk1, &gPlayerEntity)); +} + +void sub_0807EB8C(Entity* unk1, unk_struct* unk2) { + gPlayerEntity.animationState = sub_0806F5B0(GetFacingDirection(&gPlayerEntity, unk1)) & ~1; +} + +void sub_0807EBA8(Entity* unk1, unk_struct* unk2) { + unk1->direction = unk2->unk_00[1]; +} + +void sub_0807EBB0(Entity* unk1, unk_struct* unk2) { + unk1->direction = unk2->unk_00[1]; + unk1->animationState = unk1->direction / 4; +} + +void sub_0807EBC0(Entity* unk1, unk_struct* unk2) { + unk1->nonPlanarMovement = unk2->unk_00[1]; +} + +void sub_0807EBC8(Entity* unk1, unk_struct* unk2) { + unk1->field_0x20 = GetNextScriptCommandWordAfterCommandMetadata(unk2->unk_00); +} + +void sub_0807EBD8(Entity* unk1, unk_struct* unk2) { + unk1->x.HALF.HI = gRoomControls.roomOriginX + unk2->unk_00[1]; + unk1->y.HALF.HI = gRoomControls.roomOriginY + unk2->unk_00[2]; +} + +void sub_0807EBF4(Entity* unk1, unk_struct* unk2) { + unk1->x.HALF.HI += unk2->unk_00[1]; + unk1->y.HALF.HI += unk2->unk_00[2]; +} + +void sub_0807EC08(Entity* unk1, unk_struct* unk2) { + CopyPosition(&gPlayerEntity, unk1); +} + +void nullsub_509(Entity* unk1, unk_struct* unk2) {} + +void sub_0807EC1C(Entity* unk1, unk_struct* unk2) { + if (!unk2->unk_18) { + unk2->unk_18 = 1; + unk2->unk_12 = unk2->unk_00[1]; + unk2->unk_08 |= 2; + } + sub_0807EC44(unk1, unk2); +} + +void sub_0807EC44(Entity* unk1, unk_struct* unk2) { + sub_0806F69C(unk1); + if (--unk2->unk_12) { + gUnk_02033280.unk_06 = 0; + } +} + +void sub_0807EC64(Entity* unk1, unk_struct* unk2) { + if (!unk2->unk_18) { + unk2->unk_18 = 1; + unk2->unk_12 = unk2->unk_00[1]; + unk1->animationState = 0; + unk1->direction = 0; + unk2->unk_08 |= 2; + } + sub_0807EC44(unk1, unk2); +} + +void sub_0807EC94(Entity* unk1, unk_struct* unk2) { + if (!unk2->unk_18) { + unk2->unk_18 = 1; + unk2->unk_12 = unk2->unk_00[1]; + unk1->animationState = 2; + unk1->direction = 8; + unk2->unk_08 |= 2; + } + sub_0807EC44(unk1, unk2); +} + +void sub_0807ECC4(Entity* unk1, unk_struct* unk2) { + if (!unk2->unk_18) { + unk2->unk_18 = 1; + unk2->unk_12 = unk2->unk_00[1]; + unk1->animationState = 4; + unk1->direction = 0x10; + unk2->unk_08 |= 2; + } + sub_0807EC44(unk1, unk2); +} + +void sub_0807ECF4(Entity* unk1, unk_struct* unk2) { + if (!unk2->unk_18) { + unk2->unk_18 = 1; + unk2->unk_12 = unk2->unk_00[1]; + unk1->animationState = 6; + unk1->direction = 0x18; + unk2->unk_08 |= 2; + } + sub_0807EC44(unk1, unk2); +} + +void sub_0807ED24(Entity* unk1, unk_struct* unk2) { + if (!unk2->unk_18) { + s32 tmp, tmp2, tmp3; + unk2->unk_18 = 1; + unk2->unk_12 = unk2->unk_00[3]; + tmp = unk2->unk_00[1]; + tmp2 = unk1->x.HALF.HI - gRoomControls.roomOriginX; + unk2->unk_1C.WORD = ((tmp - tmp2) << 0x10) / unk2->unk_12; + tmp = unk2->unk_00[2]; + tmp3 = unk1->y.HALF.HI - gRoomControls.roomOriginY; + unk2->unk_20.WORD = ((tmp - tmp3) << 0x10) / unk2->unk_12; + unk1->animationState = sub_0806F5B0(sub_080045B4(unk1, unk2->unk_00[1] + gRoomControls.roomOriginX, unk2->unk_00[2] + gRoomControls.roomOriginY)); + unk2->unk_08 |= 2; + } else { + if (!--unk2->unk_12) { + unk1->x.HALF.HI = unk2->unk_00[1] + gRoomControls.roomOriginX; + unk1->y.HALF.HI = unk2->unk_00[2] + gRoomControls.roomOriginY; + return; + } + unk1->x.WORD += unk2->unk_1C.WORD; + unk1->y.WORD += unk2->unk_20.WORD; + } + gUnk_02033280.unk_06 = 0; +} + +void sub_0807EDD4(Entity* unk1, unk_struct* unk2) { + if (!unk2->unk_18) { + unk2->unk_18 = 1; + sub_0807EE04(unk1, unk2); + } + sub_0807EE30(unk1, unk2); + if (!unk2->unk_14) { + gUnk_02033280.unk_06 = 0; + } +} + +void sub_0807EE04(Entity* unk1, unk_struct* unk2) { + sub_0807DEDC(unk1, unk2, unk2->unk_00[1] + gRoomControls.roomOriginX, unk2->unk_00[2] + gRoomControls.roomOriginY); + gUnk_02033280.unk_07 |= 1; +} + +void sub_0807EE30(Entity* unk1, unk_struct* unk2) { + s32 tmp, tmp2; + if (!--unk2->unk_19) { + unk2->unk_19 = 8; + unk1->direction = sub_080045DA(unk2->unk_1C.HALF.HI - unk1->x.HALF.HI, unk2->unk_20.HALF.HI - unk1->y.HALF.HI); + } + tmp = unk1->x.HALF.HI - unk2->unk_1C.HALF.HI; + tmp2 = unk1->y.HALF.HI - unk2->unk_20.HALF.HI; + sub_0806F62C(unk1, unk1->nonPlanarMovement, unk1->direction); + tmp *= unk1->x.HALF.HI - unk2->unk_1C.HALF.HI; + tmp2 *= unk1->y.HALF.HI - unk2->unk_20.HALF.HI; + if (tmp <= 0 && tmp2 <= 0) { + unk1->x.HALF.HI = unk2->unk_1C.HALF.HI; + unk1->y.HALF.HI = unk2->unk_20.HALF.HI; + unk2->unk_14 = 1; + } else { + unk2->unk_14 = 0; + } +} + +void sub_0807EEB4(Entity* unk1, unk_struct* unk2) { + if (!unk2->unk_18) { + unk2->unk_18 = 1; + sub_0807DEDC(unk1, unk2, gPlayerEntity.x.HALF.HI, gPlayerEntity.y.HALF.HI); + } + sub_0807EE30(unk1, unk2); + if (!unk2->unk_14) { + gUnk_02033280.unk_06 = 0; + } +} + +void sub_0807EEF4(Entity* unk1, unk_struct* unk2) { + if (!unk2->unk_18) { + unk2->unk_18 = 1; + sub_0807DEDC(unk1, unk2, unk1->x.HALF.HI + ((s16)unk2->unk_00[1]), unk1->y.HALF.HI + ((s16)unk2->unk_00[2])); + } + sub_0807EE30(unk1, unk2); + if (!unk2->unk_14) { + gUnk_02033280.unk_06 = 0; + } +} + +void sub_0807EF3C(Entity* unk1, unk_struct* unk2) { + if (!unk2->unk_18) { + unk2->unk_18 = 1; + unk1->field_0x20 = ((s16) unk2->unk_00[1]) << 8; + unk2->unk_1C.HALF.LO = unk2->unk_00[2] << 8; + sub_08003FC4(unk1, (u16)unk2->unk_1C.HALF.LO); + } else { + if (!sub_08003FC4(unk1, (u16)unk2->unk_1C.HALF.LO)) return; + } + gUnk_02033280.unk_06 = 0; +} + +void sub_0807EF80(Entity* unk1, unk_struct* unk2) { + unk2->unk_08 |= 1 << unk2->unk_00[1]; +} + +void sub_0807EF90(Entity* unk1, unk_struct* unk2) { + unk2->unk_08 |= 1 << unk2->unk_00[1]; +} + +void sub_0807EFA0(Entity* unk1, unk_struct* unk2) { + PlaySFX(unk2->unk_00[1]); +} + +void sub_0807EFAC(Entity* unk1, unk_struct* unk2) { + if (unk2->unk_00[1] >= 100) { + PlaySFX(gArea.musicIndex); + } else { + PlaySFX(unk2->unk_00[1]); + } +} + +void sub_0807EFD4(Entity* unk1, unk_struct* unk2) { + PlaySFX(GetNextScriptCommandWordAfterCommandMetadata(unk2->unk_00)); +} + +void sub_0807EFE4(Entity* unk1, unk_struct* unk2) { + PlaySFX(0x80100000); +} + +void sub_0807EFF4(Entity* unk1, unk_struct* unk2) { + ModRupees((s16)unk2->unk_00[1]); +} + +void sub_0807F004(Entity* unk1, unk_struct* unk2) { + ModHealth(unk2->unk_00[1]); +} + +void sub_0807F010(Entity* unk1, unk_struct* unk2) { + gUnk_02002A40.stats.maxHealth = min(gUnk_02002A40.stats.maxHealth + 8, 0xA0); + gUnk_02002A40.stats.health = gUnk_02002A40.stats.maxHealth; +} + +void sub_0807F034(Entity* unk1, unk_struct* unk2) { + u32 tmp = 0; + if (unk2->unk_00[1] == 0x3F) { + tmp = unk2->unk_04; + } + sub_080A7C18(unk2->unk_00[1], tmp, 0); +} + +void sub_0807F050(Entity* unk1, unk_struct* unk2) { + sub_080A7C18(0x5C, unk2->unk_00[1], 0); +} + +void sub_0807F060(Entity* unk1, unk_struct* unk2) { + unk2->unk_04 = GetInventoryValue(unk2->unk_00[1]); + unk2->unk_14 = unk2->unk_04 != 0; +} + +void sub_0807F078(Entity* unk1, unk_struct* unk2) { + sub_0807CAA0(unk2->unk_00[1], unk2->unk_00[2]); +} + +void sub_0807F088(Entity* unk1, unk_struct* unk2) { + sub_080A7C18(unk2->unk_00[1], 0, 3); +} + +void sub_0807F098(Entity* unk1, unk_struct* unk2) { + gRoomControls.cameraTarget = unk1; +} + +void sub_0807F0A4(Entity* unk1, unk_struct* unk2) { + gRoomControls.cameraTarget = &gPlayerEntity; +} + +void sub_0807F0B4(Entity* unk1, unk_struct* unk2) { + gRoomControls.unk5 = unk2->unk_00[1] & 7; +} + +void sub_0807F0C8(Entity* unk1, unk_struct* unk2) { + sub_08080964(unk2->unk_00[1], unk2->unk_00[2]); +} From a14614a1a3f2a4f172ab669af06c0a6b49477549 Mon Sep 17 00:00:00 2001 From: Ibot02 Date: Fri, 15 Jan 2021 22:46:43 +0100 Subject: [PATCH 029/101] executeScriptCommandSet: Split stuff into headers. --- include/functions.h | 18 + include/greatFairy.h | 2 +- include/script.h | 33 + include/structures.h | 21 + linker.ld | 4 +- src/enemy/helmasaur.c | 1 - ...e_0807DF74.c => executeScriptCommandSet.c} | 628 ++++++++---------- src/npc/goron.c | 3 +- src/npc/postman.c | 8 +- src/npc/townsperson.c | 3 +- src/npc/zelda.c | 5 +- src/object/greatFairy.c | 4 +- 12 files changed, 360 insertions(+), 370 deletions(-) create mode 100644 include/script.h rename src/{code_0807DF74.c => executeScriptCommandSet.c} (55%) diff --git a/include/functions.h b/include/functions.h index 05df1fac..abb22ffb 100644 --- a/include/functions.h +++ b/include/functions.h @@ -290,4 +290,22 @@ extern u32 sub_08079F8C(void); extern void sub_080A1ED0(u32, u32, u32); extern void DeleteManager(Manager*); extern bool32 CheckPlayerInRegion(u32 centerX, u32 centerY, u32 radiusX, u32 radiusY); +extern u32 sub_0806F5B0(u32); +extern void sub_0801DFB4(Entity*, u32, u32, u32); +extern void sub_0801E00C(); +extern void sub_08050038(u32); +extern void sub_080500F4(u32); +extern void sub_08050110(u32, u32, u32, u32); +extern u32 sub_08052734(); //has Dungeon Map? +extern u32 sub_08052764(); //has Dungeon Compass? +extern u32 sub_0805279C(); //has Dungeon Big Key? +extern u32 sub_080527CC(); //num Dungeon small keys? +extern u32 sub_08053FE0(); +extern void sub_08078790(Entity*, u32); +extern void sub_080788E0(Entity*); +extern void sub_08078AA8(u32, u32); +extern void sub_08078B48(void); +extern void sub_0807919C(); +extern void sub_0807CAA0(u32, u32); +extern void sub_08080964(u16, u32); #endif diff --git a/include/greatFairy.h b/include/greatFairy.h index 417f272d..f3eb845e 100644 --- a/include/greatFairy.h +++ b/include/greatFairy.h @@ -41,7 +41,7 @@ extern const s16 GreatFairy_RippleOffsets[10]; extern u32 gUnk_02034350; extern RoomVars gRoomVars; extern Screen gScreen; -extern u32 gUnk_02033280; +extern struct_02033280 gUnk_02033280; extern u8 gUnk_0812079C[8]; extern s16 gSineTable[]; extern s8 gUnk_081207AC[]; diff --git a/include/script.h b/include/script.h new file mode 100644 index 00000000..73d860e1 --- /dev/null +++ b/include/script.h @@ -0,0 +1,33 @@ +#ifndef SCRIPT_H +#define SCRIPT_H + +#include "global.h" + +typedef struct { + u16 * unk_00; + u32 unk_04; + u32 unk_08; + u8 unk_0C[0x4];//unused + u16 unk_10; + u16 unk_12; + u32 unk_14; + u8 unk_18; + u8 unk_19; + u8 unk_1A; + u8 unk_1B;//unused + union SplitWord unk_1C; + union SplitWord unk_20; +} ScriptExecutionContext; + +extern void ExecuteScriptCommandSet(Entity*, ScriptExecutionContext*); + +extern u32 GetNextScriptCommandHalfword(u16*); +extern u32 GetNextScriptCommandWord(u16*); +extern u32 GetNextScriptCommandWordAfterCommandMetadata(u16*); +extern u32 GetNextScriptCommandHalfwordAfterCommandMetadata(u16*); + +extern void StartPlayerScript(u32); + +extern void sub_0807DEDC(Entity*, ScriptExecutionContext*, u32, u32); + +#endif diff --git a/include/structures.h b/include/structures.h index bced40db..596fa9bb 100644 --- a/include/structures.h +++ b/include/structures.h @@ -13,6 +13,14 @@ typedef struct { u8 gameLanguage; } struct_02000000; +typedef struct { + u8 unk_00; + u8 unk_01; + u8 unk_02[0xE]; +} struct_02000040; + +extern struct_02000040 gUnk_02000040; + typedef struct { u16 field_0x0; u16 field_0x2; @@ -154,6 +162,16 @@ typedef struct { extern struct_02024490 gUnk_02024490; +typedef struct { + u32 unk_00; + u16 unk_04; + u8 unk_06; + u8 unk_07; + u8 unk_08; +} struct_02033280; + +extern struct_02033280 gUnk_02033280; + typedef struct { u16 unk_00; u8 unk_02[0xE]; @@ -191,4 +209,7 @@ extern BG3Buffer gBG3Buffer; static_assert(sizeof(BG3Buffer) == 0x1000); */ +extern u8 gUnk_02022740[]; +extern u8 gUnk_02034490; + #endif diff --git a/linker.ld b/linker.ld index 032bb32d..c785e9bc 100644 --- a/linker.ld +++ b/linker.ld @@ -674,7 +674,7 @@ SECTIONS { src/flags.o(.text); src/code_0807CC3C.o(.text); asm/code_0807CC3C.o(.text); - src/code_0807DF74.o(.text); + src/executeScriptCommandSet.o(.text); asm/code_0807F0D8.o(.text); src/code_0808091C.o(.text); asm/code_0808091C.o(.text); @@ -1013,7 +1013,7 @@ SECTIONS { data/data_0811BD44.o(.rodata); data/room_headers.o(.rodata); data/data_0811E454.o(.rodata); - src/code_0807DF74.o(.rodata); + src/executeScriptCommandSet.o(.rodata); data/data_0811E750.o(.rodata); src/object/greatFairy.o(.rodata); data/animations/greatFairy.o(.rodata); diff --git a/src/enemy/helmasaur.c b/src/enemy/helmasaur.c index 645924dc..3980c94c 100644 --- a/src/enemy/helmasaur.c +++ b/src/enemy/helmasaur.c @@ -14,7 +14,6 @@ void sub_0802C1C0(Entity*); u32 sub_0802C020(Entity*); void sub_0802C058(Entity*, u32); bool32 sub_0802C06C(Entity*); -void sub_08080964(u32, u32); void sub_0802C1CC(Entity*); bool32 sub_0802C0E8(Entity*); diff --git a/src/code_0807DF74.c b/src/executeScriptCommandSet.c similarity index 55% rename from src/code_0807DF74.c rename to src/executeScriptCommandSet.c index e098b76d..4e238655 100644 --- a/src/code_0807DF74.c +++ b/src/executeScriptCommandSet.c @@ -2,164 +2,149 @@ #include "flags.h" #include "entity.h" #include "area.h" +#include "script.h" #include "structures.h" #include "textbox.h" #include "functions.h" -typedef struct { - u16 * unk_00; - u32 unk_04; - u32 unk_08; - u8 unk_0C[0x4];//unused - u16 unk_10; - u16 unk_12; - u32 unk_14; - u8 unk_18; - u8 unk_19; - u8 unk_1A; - u8 unk_1B;//unused - union SplitWord unk_1C; - union SplitWord unk_20; -} unk_struct; - -void nullsub_507 (Entity*, unk_struct*); -void sub_0807E004(Entity*, unk_struct*); -void sub_0807E014(Entity*, unk_struct*); -void sub_0807E024(Entity*, unk_struct*); -void sub_0807E050(Entity*, unk_struct*); -void sub_0807E064(Entity*, unk_struct*); -void sub_0807E078(Entity*, unk_struct*); -void sub_0807E0A0(Entity*, unk_struct*); -void sub_0807E0B8(Entity*, unk_struct*); -void sub_0807E0CC(Entity*, unk_struct*); -void sub_0807E0E0(Entity*, unk_struct*); -void sub_0807E10C(Entity*, unk_struct*); -void sub_0807E124(Entity*, unk_struct*); -void sub_0807E148(Entity*, unk_struct*); -void sub_0807E158(Entity*, unk_struct*); -void sub_0807E188(Entity*, unk_struct*); -void sub_0807E1D8(Entity*, unk_struct*); -void sub_0807E200(Entity*, unk_struct*); -void sub_0807E220(Entity*, unk_struct*); -void sub_0807E240(Entity*, unk_struct*); -void sub_0807E260(Entity*, unk_struct*); -void sub_0807E280(Entity*, unk_struct*); -void sub_0807E2A8(Entity*, unk_struct*); -void sub_0807E2E4(Entity*, unk_struct*); -void sub_0807E30C(Entity*, unk_struct*); -void sub_0807E390(Entity*, unk_struct*); -void sub_0807E3BC(Entity*, unk_struct*); -void sub_0807E3E8(Entity*, unk_struct*); -void sub_0807E40C(Entity*, unk_struct*); -void sub_0807E42C(Entity*, unk_struct*); -void sub_0807E48C(Entity*, unk_struct*); -void sub_0807E4AC(Entity*, unk_struct*); -void sub_0807E4CC(Entity*, unk_struct*); -void sub_0807E4EC(Entity*, unk_struct*); -void sub_0807E514(Entity*, unk_struct*); -void sub_0807E538(Entity*, unk_struct*); -void sub_0807E564(Entity*, unk_struct*); -void sub_0807E584(Entity*, unk_struct*); -void sub_0807E5A0(Entity*, unk_struct*); -void sub_0807E5CC(Entity*, unk_struct*); -void sub_0807E5F8(Entity*, unk_struct*); -void sub_0807E610(Entity*, unk_struct*); -void sub_0807E628(Entity*, unk_struct*); -void sub_0807E634(Entity*, unk_struct*); -void sub_0807E644(Entity*, unk_struct*); -void sub_0807E650(Entity*, unk_struct*); -void sub_0807E65C(Entity*, unk_struct*); -void sub_0807E668(Entity*, unk_struct*); -void sub_0807E674(Entity*, unk_struct*); -void sub_0807E680(Entity*, unk_struct*); -void sub_0807E690(Entity*, unk_struct*); -void sub_0807E6AC(Entity*, unk_struct*); -void sub_0807E6DC(Entity*, unk_struct*); -void sub_0807E700(Entity*, unk_struct*); -void sub_0807E72C(Entity*, unk_struct*); -void sub_0807E75C(Entity*, unk_struct*); -void sub_0807E778(Entity*, unk_struct*); -void sub_0807E788(Entity*, unk_struct*); -void sub_0807E79C(Entity*, unk_struct*); -void nullsub_508 (Entity*, unk_struct*); -void sub_0807E7B0(Entity*, unk_struct*); -void sub_0807E7C4(Entity*, unk_struct*); -void sub_0807E7D8(Entity*, unk_struct*); -void sub_0807E7EC(Entity*, unk_struct*); -void sub_0807E800(Entity*, unk_struct*); -void sub_0807E80C(Entity*, unk_struct*); +void nullsub_507 (Entity*, ScriptExecutionContext*); +void sub_0807E004(Entity*, ScriptExecutionContext*); +void sub_0807E014(Entity*, ScriptExecutionContext*); +void sub_0807E024(Entity*, ScriptExecutionContext*); +void sub_0807E050(Entity*, ScriptExecutionContext*); +void sub_0807E064(Entity*, ScriptExecutionContext*); +void sub_0807E078(Entity*, ScriptExecutionContext*); +void sub_0807E0A0(Entity*, ScriptExecutionContext*); +void sub_0807E0B8(Entity*, ScriptExecutionContext*); +void sub_0807E0CC(Entity*, ScriptExecutionContext*); +void sub_0807E0E0(Entity*, ScriptExecutionContext*); +void sub_0807E10C(Entity*, ScriptExecutionContext*); +void sub_0807E124(Entity*, ScriptExecutionContext*); +void sub_0807E148(Entity*, ScriptExecutionContext*); +void sub_0807E158(Entity*, ScriptExecutionContext*); +void sub_0807E188(Entity*, ScriptExecutionContext*); +void sub_0807E1D8(Entity*, ScriptExecutionContext*); +void sub_0807E200(Entity*, ScriptExecutionContext*); +void sub_0807E220(Entity*, ScriptExecutionContext*); +void sub_0807E240(Entity*, ScriptExecutionContext*); +void sub_0807E260(Entity*, ScriptExecutionContext*); +void sub_0807E280(Entity*, ScriptExecutionContext*); +void sub_0807E2A8(Entity*, ScriptExecutionContext*); +void sub_0807E2E4(Entity*, ScriptExecutionContext*); +void sub_0807E30C(Entity*, ScriptExecutionContext*); +void sub_0807E390(Entity*, ScriptExecutionContext*); +void sub_0807E3BC(Entity*, ScriptExecutionContext*); +void sub_0807E3E8(Entity*, ScriptExecutionContext*); +void sub_0807E40C(Entity*, ScriptExecutionContext*); +void sub_0807E42C(Entity*, ScriptExecutionContext*); +void sub_0807E48C(Entity*, ScriptExecutionContext*); +void sub_0807E4AC(Entity*, ScriptExecutionContext*); +void sub_0807E4CC(Entity*, ScriptExecutionContext*); +void sub_0807E4EC(Entity*, ScriptExecutionContext*); +void sub_0807E514(Entity*, ScriptExecutionContext*); +void sub_0807E538(Entity*, ScriptExecutionContext*); +void sub_0807E564(Entity*, ScriptExecutionContext*); +void sub_0807E584(Entity*, ScriptExecutionContext*); +void sub_0807E5A0(Entity*, ScriptExecutionContext*); +void sub_0807E5CC(Entity*, ScriptExecutionContext*); +void sub_0807E5F8(Entity*, ScriptExecutionContext*); +void sub_0807E610(Entity*, ScriptExecutionContext*); +void sub_0807E628(Entity*, ScriptExecutionContext*); +void sub_0807E634(Entity*, ScriptExecutionContext*); +void sub_0807E644(Entity*, ScriptExecutionContext*); +void sub_0807E650(Entity*, ScriptExecutionContext*); +void sub_0807E65C(Entity*, ScriptExecutionContext*); +void sub_0807E668(Entity*, ScriptExecutionContext*); +void sub_0807E674(Entity*, ScriptExecutionContext*); +void sub_0807E680(Entity*, ScriptExecutionContext*); +void sub_0807E690(Entity*, ScriptExecutionContext*); +void sub_0807E6AC(Entity*, ScriptExecutionContext*); +void sub_0807E6DC(Entity*, ScriptExecutionContext*); +void sub_0807E700(Entity*, ScriptExecutionContext*); +void sub_0807E72C(Entity*, ScriptExecutionContext*); +void sub_0807E75C(Entity*, ScriptExecutionContext*); +void sub_0807E778(Entity*, ScriptExecutionContext*); +void sub_0807E788(Entity*, ScriptExecutionContext*); +void sub_0807E79C(Entity*, ScriptExecutionContext*); +void nullsub_508 (Entity*, ScriptExecutionContext*); +void sub_0807E7B0(Entity*, ScriptExecutionContext*); +void sub_0807E7C4(Entity*, ScriptExecutionContext*); +void sub_0807E7D8(Entity*, ScriptExecutionContext*); +void sub_0807E7EC(Entity*, ScriptExecutionContext*); +void sub_0807E800(Entity*, ScriptExecutionContext*); +void sub_0807E80C(Entity*, ScriptExecutionContext*); void sub_0807E818(u32); -void sub_0807E858(Entity*, unk_struct*); -void sub_0807E864(Entity*, unk_struct*); -void sub_0807E878(Entity*, unk_struct*); -void sub_0807E888(Entity*, unk_struct*); -void sub_0807E898(Entity*, unk_struct*); -void sub_0807E8C4(Entity*, unk_struct*); -void sub_0807E8D4(Entity*, unk_struct*); -void sub_0807E8E4(Entity*, unk_struct*); -void sub_0807E908(Entity*, unk_struct*); -void sub_0807E914(Entity*, unk_struct*); -void sub_0807E924(Entity*, unk_struct*); -void sub_0807E930(Entity*, unk_struct*); -void sub_0807E944(Entity*, unk_struct*); -void sub_0807E974(Entity*, unk_struct*); -void sub_0807E9D4(Entity*, unk_struct*); -void sub_0807E9DC(Entity*, unk_struct*); -void sub_0807E9E4(Entity*, unk_struct*); -void sub_0807E9F0(Entity*, unk_struct*); -void sub_0807EA4C(Entity*, unk_struct*); -void sub_0807EA88(Entity*, unk_struct*); -void sub_0807EA94(Entity*, unk_struct*); -void sub_0807EAB4(Entity*, unk_struct*); -void sub_0807EAC0(Entity*, unk_struct*); -void sub_0807EAD0(Entity*, unk_struct*); -void sub_0807EAF0(Entity*, unk_struct*); -void sub_0807EB18(Entity*, unk_struct*); -void sub_0807EB28(Entity*, unk_struct*); -void sub_0807EB38(Entity*, unk_struct*); -void sub_0807EB44(Entity*, unk_struct*); -void sub_0807EB4C(Entity*, unk_struct*); -void sub_0807EB74(Entity*, unk_struct*); -void sub_0807EB8C(Entity*, unk_struct*); -void sub_0807EBA8(Entity*, unk_struct*); -void sub_0807EBB0(Entity*, unk_struct*); -void sub_0807EBC0(Entity*, unk_struct*); -void sub_0807EBC8(Entity*, unk_struct*); -void sub_0807EBD8(Entity*, unk_struct*); -void sub_0807EBF4(Entity*, unk_struct*); -void sub_0807EC08(Entity*, unk_struct*); -void nullsub_509 (Entity*, unk_struct*); -void sub_0807EC1C(Entity*, unk_struct*); -void sub_0807EC44(Entity*, unk_struct*); -void sub_0807EC64(Entity*, unk_struct*); -void sub_0807EC94(Entity*, unk_struct*); -void sub_0807ECC4(Entity*, unk_struct*); -void sub_0807ECF4(Entity*, unk_struct*); -void sub_0807ED24(Entity*, unk_struct*); -void sub_0807EDD4(Entity*, unk_struct*); -void sub_0807EE04(Entity*, unk_struct*); -void sub_0807EE30(Entity*, unk_struct*); -void sub_0807EEB4(Entity*, unk_struct*); -void sub_0807EEF4(Entity*, unk_struct*); -void sub_0807EF3C(Entity*, unk_struct*); -void sub_0807EF80(Entity*, unk_struct*); -void sub_0807EF90(Entity*, unk_struct*); -void sub_0807EFA0(Entity*, unk_struct*); -void sub_0807EFAC(Entity*, unk_struct*); -void sub_0807EFD4(Entity*, unk_struct*); -void sub_0807EFE4(Entity*, unk_struct*); -void sub_0807EFF4(Entity*, unk_struct*); -void sub_0807F004(Entity*, unk_struct*); -void sub_0807F010(Entity*, unk_struct*); -void sub_0807F034(Entity*, unk_struct*); -void sub_0807F050(Entity*, unk_struct*); -void sub_0807F060(Entity*, unk_struct*); -void sub_0807F078(Entity*, unk_struct*); -void sub_0807F088(Entity*, unk_struct*); -void sub_0807F098(Entity*, unk_struct*); -void sub_0807F0A4(Entity*, unk_struct*); -void sub_0807F0B4(Entity*, unk_struct*); -void sub_0807F0C8(Entity*, unk_struct*); +void sub_0807E858(Entity*, ScriptExecutionContext*); +void sub_0807E864(Entity*, ScriptExecutionContext*); +void sub_0807E878(Entity*, ScriptExecutionContext*); +void sub_0807E888(Entity*, ScriptExecutionContext*); +void sub_0807E898(Entity*, ScriptExecutionContext*); +void sub_0807E8C4(Entity*, ScriptExecutionContext*); +void sub_0807E8D4(Entity*, ScriptExecutionContext*); +void sub_0807E8E4(Entity*, ScriptExecutionContext*); +void sub_0807E908(Entity*, ScriptExecutionContext*); +void sub_0807E914(Entity*, ScriptExecutionContext*); +void sub_0807E924(Entity*, ScriptExecutionContext*); +void sub_0807E930(Entity*, ScriptExecutionContext*); +void sub_0807E944(Entity*, ScriptExecutionContext*); +void sub_0807E974(Entity*, ScriptExecutionContext*); +void sub_0807E9D4(Entity*, ScriptExecutionContext*); +void sub_0807E9DC(Entity*, ScriptExecutionContext*); +void sub_0807E9E4(Entity*, ScriptExecutionContext*); +void sub_0807E9F0(Entity*, ScriptExecutionContext*); +void sub_0807EA4C(Entity*, ScriptExecutionContext*); +void sub_0807EA88(Entity*, ScriptExecutionContext*); +void sub_0807EA94(Entity*, ScriptExecutionContext*); +void sub_0807EAB4(Entity*, ScriptExecutionContext*); +void sub_0807EAC0(Entity*, ScriptExecutionContext*); +void sub_0807EAD0(Entity*, ScriptExecutionContext*); +void sub_0807EAF0(Entity*, ScriptExecutionContext*); +void sub_0807EB18(Entity*, ScriptExecutionContext*); +void sub_0807EB28(Entity*, ScriptExecutionContext*); +void sub_0807EB38(Entity*, ScriptExecutionContext*); +void sub_0807EB44(Entity*, ScriptExecutionContext*); +void sub_0807EB4C(Entity*, ScriptExecutionContext*); +void sub_0807EB74(Entity*, ScriptExecutionContext*); +void sub_0807EB8C(Entity*, ScriptExecutionContext*); +void sub_0807EBA8(Entity*, ScriptExecutionContext*); +void sub_0807EBB0(Entity*, ScriptExecutionContext*); +void sub_0807EBC0(Entity*, ScriptExecutionContext*); +void sub_0807EBC8(Entity*, ScriptExecutionContext*); +void sub_0807EBD8(Entity*, ScriptExecutionContext*); +void sub_0807EBF4(Entity*, ScriptExecutionContext*); +void sub_0807EC08(Entity*, ScriptExecutionContext*); +void nullsub_509 (Entity*, ScriptExecutionContext*); +void sub_0807EC1C(Entity*, ScriptExecutionContext*); +void sub_0807EC44(Entity*, ScriptExecutionContext*); +void sub_0807EC64(Entity*, ScriptExecutionContext*); +void sub_0807EC94(Entity*, ScriptExecutionContext*); +void sub_0807ECC4(Entity*, ScriptExecutionContext*); +void sub_0807ECF4(Entity*, ScriptExecutionContext*); +void sub_0807ED24(Entity*, ScriptExecutionContext*); +void sub_0807EDD4(Entity*, ScriptExecutionContext*); +void sub_0807EE04(Entity*, ScriptExecutionContext*); +void sub_0807EE30(Entity*, ScriptExecutionContext*); +void sub_0807EEB4(Entity*, ScriptExecutionContext*); +void sub_0807EEF4(Entity*, ScriptExecutionContext*); +void sub_0807EF3C(Entity*, ScriptExecutionContext*); +void sub_0807EF80(Entity*, ScriptExecutionContext*); +void sub_0807EF90(Entity*, ScriptExecutionContext*); +void sub_0807EFA0(Entity*, ScriptExecutionContext*); +void sub_0807EFAC(Entity*, ScriptExecutionContext*); +void sub_0807EFD4(Entity*, ScriptExecutionContext*); +void sub_0807EFE4(Entity*, ScriptExecutionContext*); +void sub_0807EFF4(Entity*, ScriptExecutionContext*); +void sub_0807F004(Entity*, ScriptExecutionContext*); +void sub_0807F010(Entity*, ScriptExecutionContext*); +void sub_0807F034(Entity*, ScriptExecutionContext*); +void sub_0807F050(Entity*, ScriptExecutionContext*); +void sub_0807F060(Entity*, ScriptExecutionContext*); +void sub_0807F078(Entity*, ScriptExecutionContext*); +void sub_0807F088(Entity*, ScriptExecutionContext*); +void sub_0807F098(Entity*, ScriptExecutionContext*); +void sub_0807F0A4(Entity*, ScriptExecutionContext*); +void sub_0807F0B4(Entity*, ScriptExecutionContext*); +void sub_0807F0C8(Entity*, ScriptExecutionContext*); void (* const gUnk_0811E524[])() = { nullsub_507, @@ -303,66 +288,9 @@ void (* const gUnk_0811E524[])() = { sub_0807F0C8 }; -typedef struct { - u32 unk_00; - u16 unk_04; - u8 unk_06; - u8 unk_07; - u8 unk_08; -} struct_02033280; - -extern struct_02033280 gUnk_02033280; - -extern u8 gUnk_02022740[]; -extern u8 gUnk_02034490; - -typedef struct { - u8 unk_00; - u8 unk_01; - u8 unk_02[0xE]; -} struct_02000040; - -extern struct_02000040 gUnk_02000040; - extern const u16 gUnk_08016984; -extern u32 GetNextScriptCommandHalfword(u16*); -extern u32 GetNextScriptCommandWord(u16*); -extern u32 GetNextScriptCommandWordAfterCommandMetadata(u16*); -extern u32 GetNextScriptCommandHalfwordAfterCommandMetadata(u16*); - -void StartPlayerScript(u32); - -extern u32 sub_08052734(); //has Dungeon Map? -extern u32 sub_08052764(); //has Dungeon Compass? -extern u32 sub_0805279C(); //has Dungeon Big Key? -extern u32 sub_080527CC(); //num Dungeon small keys? - -extern void sub_0801E00C(); -extern void sub_0807919C(); -extern void sub_0801DFB4(Entity*, u32, u32, u32); -extern void sub_08078790(Entity*, u32); -extern void sub_08078AA8(u32, u32); -extern void sub_0807DEDC(Entity*, unk_struct*, u32, u32); -extern void sub_0807CAA0(u32, u32); -extern void sub_08080964(u32, u32); - -extern u32 sub_08053FE0(); -extern void sub_080500F4(u32); -extern void sub_08050110(u32, u32, u32, u32); -extern void sub_08050038(u32); -extern void sub_08078B48(void); -extern void sub_080788E0(Entity*); - -void sub_0807E818(u32); -void sub_0807EC44(Entity*, unk_struct*); -void sub_0807EE04(Entity*, unk_struct*); -void sub_0807EE30(Entity*, unk_struct*); - -extern u32 CheckPlayerInRegion(u32, u32, u32, u32); -extern u32 sub_0806F5B0(u32); - -void ExecuteScriptCommandSet(Entity* unk1, unk_struct* unk2) { +void ExecuteScriptCommandSet(Entity* unk1, ScriptExecutionContext* unk2) { if (!unk2->unk_00) return; if (unk2->unk_10) { unk2->unk_10--; @@ -386,17 +314,17 @@ void ExecuteScriptCommandSet(Entity* unk1, unk_struct* unk2) { } } -void nullsub_507(Entity* unk1, unk_struct* unk2) {} +void nullsub_507(Entity* unk1, ScriptExecutionContext* unk2) {} -void sub_0807E004(Entity* unk1, unk_struct* unk2) { +void sub_0807E004(Entity* unk1, ScriptExecutionContext* unk2) { gUnk_02033280.unk_07 |= 2; } -void sub_0807E014(Entity* unk1, unk_struct* unk2) { +void sub_0807E014(Entity* unk1, ScriptExecutionContext* unk2) { gUnk_02033280.unk_07 &= ~2; } -void sub_0807E024(Entity* unk1, unk_struct* unk2) { +void sub_0807E024(Entity* unk1, ScriptExecutionContext* unk2) { s16 tmp; unk2->unk_00++; tmp = GetNextScriptCommandHalfword(unk2->unk_00); @@ -404,64 +332,64 @@ void sub_0807E024(Entity* unk1, unk_struct* unk2) { gUnk_02033280.unk_06 = 0; } -void sub_0807E050(Entity* unk1, unk_struct* unk2) { +void sub_0807E050(Entity* unk1, ScriptExecutionContext* unk2) { if (unk2->unk_14) { sub_0807E024(unk1, unk2); } } -void sub_0807E064(Entity* unk1, unk_struct* unk2) { +void sub_0807E064(Entity* unk1, ScriptExecutionContext* unk2) { if (!unk2->unk_14) { sub_0807E024(unk1, unk2); } } -void sub_0807E078(Entity* unk1, unk_struct* unk2) { +void sub_0807E078(Entity* unk1, ScriptExecutionContext* unk2) { if (gUnk_02033280.unk_06 > unk2->unk_04) { unk2->unk_00 += unk2->unk_04; sub_0807E024(unk1, unk2); } } -void sub_0807E0A0(Entity* unk1, unk_struct* unk2) { +void sub_0807E0A0(Entity* unk1, ScriptExecutionContext* unk2) { unk2->unk_00 = (u16*) GetNextScriptCommandWordAfterCommandMetadata(unk2->unk_00); gUnk_02033280.unk_06 = 0; } -void sub_0807E0B8(Entity* unk1, unk_struct* unk2) { +void sub_0807E0B8(Entity* unk1, ScriptExecutionContext* unk2) { if (unk2->unk_14) { sub_0807E0A0(unk1, unk2); } } -void sub_0807E0CC(Entity* unk1, unk_struct* unk2) { +void sub_0807E0CC(Entity* unk1, ScriptExecutionContext* unk2) { if (!unk2->unk_14) { sub_0807E0A0(unk1, unk2); } } -void sub_0807E0E0(Entity* unk1, unk_struct* unk2) { +void sub_0807E0E0(Entity* unk1, ScriptExecutionContext* unk2) { if (gUnk_02033280.unk_06 > (unk2->unk_04 << 1) + 1) { unk2->unk_00 += unk2->unk_04 << 1; sub_0807E0A0(unk1, unk2); } } -void sub_0807E10C(Entity* unk1, unk_struct* unk2) { - ((void (*)(Entity*, unk_struct*)) GetNextScriptCommandWordAfterCommandMetadata(unk2->unk_00))(unk1, unk2); +void sub_0807E10C(Entity* unk1, ScriptExecutionContext* unk2) { + ((void (*)(Entity*, ScriptExecutionContext*)) GetNextScriptCommandWordAfterCommandMetadata(unk2->unk_00))(unk1, unk2); } -void sub_0807E124(Entity* unk1, unk_struct* unk2) { - void (* tmp)(Entity*, unk_struct*) = (void (*)(Entity*, unk_struct*)) GetNextScriptCommandWordAfterCommandMetadata(unk2->unk_00); +void sub_0807E124(Entity* unk1, ScriptExecutionContext* unk2) { + void (* tmp)(Entity*, ScriptExecutionContext*) = (void (*)(Entity*, ScriptExecutionContext*)) GetNextScriptCommandWordAfterCommandMetadata(unk2->unk_00); unk2->unk_04 = GetNextScriptCommandWord(unk2->unk_00 + 3); tmp(unk1, unk2); } -void sub_0807E148(Entity* unk1, unk_struct* unk2) { +void sub_0807E148(Entity* unk1, ScriptExecutionContext* unk2) { LoadRoomEntityList(GetNextScriptCommandWordAfterCommandMetadata(unk2->unk_00)); } -void sub_0807E158(Entity* unk1, unk_struct* unk2) { +void sub_0807E158(Entity* unk1, ScriptExecutionContext* unk2) { u32 tmp = GetNextScriptCommandWordAfterCommandMetadata(unk2->unk_00); u32 tmp2 = 0; u32 tmp3 = gUnk_02033280.unk_00; @@ -471,7 +399,7 @@ void sub_0807E158(Entity* unk1, unk_struct* unk2) { gUnk_02033280.unk_07 |= 1; } -void sub_0807E188(Entity* unk1, unk_struct* unk2) { +void sub_0807E188(Entity* unk1, ScriptExecutionContext* unk2) { u32 tmp; u32 tmp2 = GetNextScriptCommandHalfwordAfterCommandMetadata(unk2->unk_00); switch (tmp2) { @@ -494,32 +422,32 @@ void sub_0807E188(Entity* unk1, unk_struct* unk2) { gUnk_02033280.unk_07 |= 1; } -void sub_0807E1D8(Entity* unk1, unk_struct* unk2) { +void sub_0807E1D8(Entity* unk1, ScriptExecutionContext* unk2) { unk2->unk_14 = GetInventoryValue(unk2->unk_00[1]) == 2; gUnk_02033280.unk_07 |= 1; } -void sub_0807E200(Entity* unk1, unk_struct* unk2) { +void sub_0807E200(Entity* unk1, ScriptExecutionContext* unk2) { unk2->unk_14 = CheckLocalFlag(unk2->unk_00[1]); gUnk_02033280.unk_07 |= 1; } -void sub_0807E220(Entity* unk1, unk_struct* unk2) { +void sub_0807E220(Entity* unk1, ScriptExecutionContext* unk2) { unk2->unk_14 = CheckLocalFlagByOffset(unk2->unk_00[1], unk2->unk_00[2]); gUnk_02033280.unk_07 |= 1; } -void sub_0807E240(Entity* unk1, unk_struct* unk2) { +void sub_0807E240(Entity* unk1, ScriptExecutionContext* unk2) { unk2->unk_14 = CheckGlobalFlag(GetNextScriptCommandHalfwordAfterCommandMetadata(unk2->unk_00)); gUnk_02033280.unk_07 |= 1; } -void sub_0807E260(Entity* unk1, unk_struct* unk2) { +void sub_0807E260(Entity* unk1, ScriptExecutionContext* unk2) { unk2->unk_14 = CheckRoomFlag(unk2->unk_00[1]); gUnk_02033280.unk_07 |= 1; } -void sub_0807E280(Entity* unk1, unk_struct* unk2) { +void sub_0807E280(Entity* unk1, ScriptExecutionContext* unk2) { u32 x, y, width, height; width = unk2->unk_00[3]; height = width >> 8; @@ -530,7 +458,7 @@ void sub_0807E280(Entity* unk1, unk_struct* unk2) { gUnk_02033280.unk_07 |= 1; } -void sub_0807E2A8(Entity* unk1, unk_struct* unk2) { +void sub_0807E2A8(Entity* unk1, ScriptExecutionContext* unk2) { u32 x, y, width, height; width = unk2->unk_00[1] & 0xFF; height = unk2->unk_00[1] >> 8; @@ -540,7 +468,7 @@ void sub_0807E2A8(Entity* unk1, unk_struct* unk2) { gUnk_02033280.unk_07 |= 1; } -void sub_0807E2E4(Entity* unk1, unk_struct* unk2) { +void sub_0807E2E4(Entity* unk1, ScriptExecutionContext* unk2) { if (unk1->interactType) { unk1->interactType = 0; unk2->unk_14 = 1; @@ -550,7 +478,7 @@ void sub_0807E2E4(Entity* unk1, unk_struct* unk2) { gUnk_02033280.unk_07 |= 1; } -void sub_0807E30C(Entity* unk1, unk_struct* unk2) { +void sub_0807E30C(Entity* unk1, ScriptExecutionContext* unk2) { if ((unk2->unk_1A & 0xF) == 0 && (gPlayerState.flags.all & 0x80) == 0 && sub_080041A0(unk1, &gPlayerEntity, 0x28, 0x28)) { @@ -567,27 +495,27 @@ void sub_0807E30C(Entity* unk1, unk_struct* unk2) { gUnk_02033280.unk_07 |= 1; } -void sub_0807E390(Entity* unk1, unk_struct* unk2) { +void sub_0807E390(Entity* unk1, ScriptExecutionContext* unk2) { unk2->unk_14 = (unk2->unk_00[1] <= gUnk_02002A40.stats.rupees); gUnk_02033280.unk_07 |= 1; } -void sub_0807E3BC(Entity* unk1, unk_struct* unk2) { +void sub_0807E3BC(Entity* unk1, ScriptExecutionContext* unk2) { unk2->unk_14 = (unk2->unk_00[1] <= gUnk_02002A40.stats.field_0x1a); gUnk_02033280.unk_07 |= 1; } -void sub_0807E3E8(Entity* unk1, unk_struct* unk2) { +void sub_0807E3E8(Entity* unk1, ScriptExecutionContext* unk2) { unk2->unk_14 = !gUnk_02000040.unk_01; gUnk_02033280.unk_07 |= 1; } -void sub_0807E40C(Entity* unk1, unk_struct* unk2) { +void sub_0807E40C(Entity* unk1, ScriptExecutionContext* unk2) { unk2->unk_14 = CheckKinstoneFused(unk2->unk_00[1]); gUnk_02033280.unk_07 |= 1; } -void sub_0807E42C(Entity* unk1, unk_struct* unk2) { +void sub_0807E42C(Entity* unk1, ScriptExecutionContext* unk2) { u32 tmp, tmp2; s32 tmp3; tmp = unk2->unk_00[1]; @@ -607,106 +535,106 @@ void sub_0807E42C(Entity* unk1, unk_struct* unk2) { gUnk_02033280.unk_07 |= 1; } -void sub_0807E48C(Entity* unk1, unk_struct* unk2) { +void sub_0807E48C(Entity* unk1, ScriptExecutionContext* unk2) { unk2->unk_14 = sub_080544DC(unk2->unk_00[1]); gUnk_02033280.unk_07 |= 1; } -void sub_0807E4AC(Entity* unk1, unk_struct* unk2) { +void sub_0807E4AC(Entity* unk1, ScriptExecutionContext* unk2) { unk2->unk_14 = !!gRoomVars.itemForSaleIndex; gUnk_02033280.unk_07 |= 1; } -void sub_0807E4CC(Entity* unk1, unk_struct* unk2) { +void sub_0807E4CC(Entity* unk1, ScriptExecutionContext* unk2) { unk2->unk_14 = !!(unk2->unk_04 & unk2->unk_00[1]); gUnk_02033280.unk_07 |= 1; } -void sub_0807E4EC(Entity* unk1, unk_struct* unk2) { +void sub_0807E4EC(Entity* unk1, ScriptExecutionContext* unk2) { u32 tmp = unk2->unk_00[1]; unk2->unk_14 = tmp == (tmp & unk2->unk_04); gUnk_02033280.unk_07 |= 1; } -void sub_0807E514(Entity* unk1, unk_struct* unk2) { +void sub_0807E514(Entity* unk1, ScriptExecutionContext* unk2) { u32 tmp = unk2->unk_00[1]; unk2->unk_14 = tmp == unk2->unk_04; gUnk_02033280.unk_07 |= 1; } -void sub_0807E538(Entity* unk1, unk_struct* unk2) { +void sub_0807E538(Entity* unk1, ScriptExecutionContext* unk2) { unk2->unk_14 = !!(GetNextScriptCommandWordAfterCommandMetadata(unk2->unk_00) & gPlayerState.flags.all); gUnk_02033280.unk_07 |= 1; } -void sub_0807E564(Entity* unk1, unk_struct* unk2) { +void sub_0807E564(Entity* unk1, ScriptExecutionContext* unk2) { unk2->unk_14 = (gPlayerState.flags.all >> 7) & 1; gUnk_02033280.unk_07 |= 1; } -void sub_0807E584(Entity* unk1, unk_struct* unk2) { +void sub_0807E584(Entity* unk1, ScriptExecutionContext* unk2) { unk2->unk_14 = unk1->height.WORD != 0; gUnk_02033280.unk_07 |= 1; } -void sub_0807E5A0(Entity* unk1, unk_struct* unk2) { +void sub_0807E5A0(Entity* unk1, ScriptExecutionContext* unk2) { unk2->unk_14 = unk2->unk_00[1] == gPlayerEntity.action; gUnk_02033280.unk_07 |= 1; } -void sub_0807E5CC(Entity* unk1, unk_struct* unk2) { +void sub_0807E5CC(Entity* unk1, ScriptExecutionContext* unk2) { unk2->unk_14 = unk2->unk_00[1] == gPlayerEntity.animationState; gUnk_02033280.unk_07 |= 1; } -void sub_0807E5F8(Entity* unk1, unk_struct* unk2) { +void sub_0807E5F8(Entity* unk1, ScriptExecutionContext* unk2) { gUnk_02033280.unk_00 |= GetNextScriptCommandWordAfterCommandMetadata(unk2->unk_00); } -void sub_0807E610(Entity* unk1, unk_struct* unk2) { +void sub_0807E610(Entity* unk1, ScriptExecutionContext* unk2) { gUnk_02033280.unk_00 &= ~GetNextScriptCommandWordAfterCommandMetadata(unk2->unk_00); } -void sub_0807E628(Entity* unk1, unk_struct* unk2) { +void sub_0807E628(Entity* unk1, ScriptExecutionContext* unk2) { SetLocalFlag(unk2->unk_00[1]); } -void sub_0807E634(Entity* unk1, unk_struct* unk2) { +void sub_0807E634(Entity* unk1, ScriptExecutionContext* unk2) { SetLocalFlagByOffset(unk2->unk_00[1], unk2->unk_00[2]); } -void sub_0807E644(Entity* unk1, unk_struct* unk2) { +void sub_0807E644(Entity* unk1, ScriptExecutionContext* unk2) { ClearLocalFlag(unk2->unk_00[1]); } -void sub_0807E650(Entity* unk1, unk_struct* unk2) { +void sub_0807E650(Entity* unk1, ScriptExecutionContext* unk2) { SetGlobalFlag(unk2->unk_00[1]); } -void sub_0807E65C(Entity* unk1, unk_struct* unk2) { +void sub_0807E65C(Entity* unk1, ScriptExecutionContext* unk2) { ClearGlobalFlag(unk2->unk_00[1]); } -void sub_0807E668(Entity* unk1, unk_struct* unk2) { +void sub_0807E668(Entity* unk1, ScriptExecutionContext* unk2) { SetRoomFlag(unk2->unk_00[1]); } -void sub_0807E674(Entity* unk1, unk_struct* unk2) { +void sub_0807E674(Entity* unk1, ScriptExecutionContext* unk2) { ClearRoomFlag(unk2->unk_00[1]); } -void sub_0807E680(Entity* unk1, unk_struct* unk2) { +void sub_0807E680(Entity* unk1, ScriptExecutionContext* unk2) { unk2->unk_10 = GetNextScriptCommandHalfwordAfterCommandMetadata(unk2->unk_00); } -void sub_0807E690(Entity* unk1, unk_struct* unk2) { +void sub_0807E690(Entity* unk1, ScriptExecutionContext* unk2) { u32 tmp = GetNextScriptCommandWordAfterCommandMetadata(unk2->unk_00); if ((gUnk_02033280.unk_00 & tmp) != tmp) { gUnk_02033280.unk_06 = 0; } } -void sub_0807E6AC(Entity* unk1, unk_struct* unk2) { +void sub_0807E6AC(Entity* unk1, ScriptExecutionContext* unk2) { u32 tmp = GetNextScriptCommandWordAfterCommandMetadata(unk2->unk_00); if ((gUnk_02033280.unk_00 & tmp) != tmp) { gUnk_02033280.unk_06 = 0; @@ -716,7 +644,7 @@ void sub_0807E6AC(Entity* unk1, unk_struct* unk2) { } } -void sub_0807E6DC(Entity* unk1, unk_struct* unk2) { +void sub_0807E6DC(Entity* unk1, ScriptExecutionContext* unk2) { if (gPlayerEntity.action == 8) { gUnk_02033280.unk_06 = 0; } else { @@ -724,7 +652,7 @@ void sub_0807E6DC(Entity* unk1, unk_struct* unk2) { } } -void sub_0807E700(Entity* unk1, unk_struct* unk2) { +void sub_0807E700(Entity* unk1, ScriptExecutionContext* unk2) { if (gPlayerEntity.action != 0x17) { gUnk_02033280.unk_07 |= 1; } else { @@ -732,7 +660,7 @@ void sub_0807E700(Entity* unk1, unk_struct* unk2) { } } -void sub_0807E72C(Entity* unk1, unk_struct* unk2) { +void sub_0807E72C(Entity* unk1, ScriptExecutionContext* unk2) { if (gRoomControls.unk6 & 4) { gUnk_02033280.unk_06 = 0; } else { @@ -740,47 +668,47 @@ void sub_0807E72C(Entity* unk1, unk_struct* unk2) { } } -void sub_0807E75C(Entity* unk1, unk_struct* unk2) { +void sub_0807E75C(Entity* unk1, ScriptExecutionContext* unk2) { if (gFadeControl.active) { gUnk_02033280.unk_06 = 0; } } -void sub_0807E778(Entity* unk1, unk_struct* unk2) { +void sub_0807E778(Entity* unk1, ScriptExecutionContext* unk2) { gUnk_02033280.unk_08 = unk2->unk_00[1]; } -void sub_0807E788(Entity* unk1, unk_struct* unk2) { +void sub_0807E788(Entity* unk1, ScriptExecutionContext* unk2) { gFadeControl.field_0x4 = GetNextScriptCommandWordAfterCommandMetadata(unk2->unk_00); } -void sub_0807E79C(Entity* unk1, unk_struct* unk2) { +void sub_0807E79C(Entity* unk1, ScriptExecutionContext* unk2) { sub_080500F4(gUnk_02033280.unk_08); } -void nullsub_508(Entity* unk1, unk_struct* unk2) {} +void nullsub_508(Entity* unk1, ScriptExecutionContext* unk2) {} -void sub_0807E7B0(Entity* unk1, unk_struct* unk2) { +void sub_0807E7B0(Entity* unk1, ScriptExecutionContext* unk2) { DoFade(4, gUnk_02033280.unk_08); } -void sub_0807E7C4(Entity* unk1, unk_struct* unk2) { +void sub_0807E7C4(Entity* unk1, ScriptExecutionContext* unk2) { DoFade(5, gUnk_02033280.unk_08); } -void sub_0807E7D8(Entity* unk1, unk_struct* unk2) { +void sub_0807E7D8(Entity* unk1, ScriptExecutionContext* unk2) { DoFade(6, gUnk_02033280.unk_08); } -void sub_0807E7EC(Entity* unk1, unk_struct* unk2) { +void sub_0807E7EC(Entity* unk1, ScriptExecutionContext* unk2) { DoFade(7, gUnk_02033280.unk_08); } -void sub_0807E800(Entity* unk1, unk_struct* unk2) { +void sub_0807E800(Entity* unk1, ScriptExecutionContext* unk2) { sub_0807E818(0x10); } -void sub_0807E80C(Entity* unk1, unk_struct* unk2) { +void sub_0807E80C(Entity* unk1, ScriptExecutionContext* unk2) { sub_0807E818(0x11); } @@ -797,24 +725,24 @@ void sub_0807E818(u32 unk1) { sub_08050110(tmp2, tmp3, unk1, gUnk_02033280.unk_08); } -void sub_0807E858(Entity* unk1, unk_struct* unk2) { +void sub_0807E858(Entity* unk1, ScriptExecutionContext* unk2) { sub_08050038(unk2->unk_00[1]); } -void sub_0807E864(Entity* unk1, unk_struct* unk2) { +void sub_0807E864(Entity* unk1, ScriptExecutionContext* unk2) { gPlayerState.field_0x8b = 3; sub_08078B48(); } -void sub_0807E878(Entity* unk1, unk_struct* unk2) { +void sub_0807E878(Entity* unk1, ScriptExecutionContext* unk2) { gPlayerState.field_0x8b = 1; } -void sub_0807E888(Entity* unk1, unk_struct* unk2) { +void sub_0807E888(Entity* unk1, ScriptExecutionContext* unk2) { gPlayerState.field_0x8b = 3; } -void sub_0807E898(Entity* unk1, unk_struct* unk2) { +void sub_0807E898(Entity* unk1, ScriptExecutionContext* unk2) { u32 tmp = GetNextScriptCommandWordAfterCommandMetadata(unk2->unk_00); gPlayerState.playerAction = tmp; gPlayerState.field_0x38 = tmp >> 8; @@ -822,40 +750,40 @@ void sub_0807E898(Entity* unk1, unk_struct* unk2) { gPlayerState.field_0x3a = tmp >> 0x18; } -void sub_0807E8C4(Entity* unk1, unk_struct* unk2) { +void sub_0807E8C4(Entity* unk1, ScriptExecutionContext* unk2) { StartPlayerScript(GetNextScriptCommandWordAfterCommandMetadata(unk2->unk_00)); } -void sub_0807E8D4(Entity* unk1, unk_struct* unk2) { +void sub_0807E8D4(Entity* unk1, ScriptExecutionContext* unk2) { gPlayerState.field_0x8 = unk2->unk_00[1]; } -void sub_0807E8E4(Entity* unk1, unk_struct* unk2) { +void sub_0807E8E4(Entity* unk1, ScriptExecutionContext* unk2) { u32 tmp = (gUnk_08016984 & 0x3FF); u32 tmp2; gPlayerEntity.animationState = tmp2 = (unk2->unk_00[0] - tmp) << 1; } -void sub_0807E908(Entity* unk1, unk_struct* unk2) { +void sub_0807E908(Entity* unk1, ScriptExecutionContext* unk2) { unk1->action = unk2->unk_00[1]; unk1->previousActionFlag = 0; } -void sub_0807E914(Entity* unk1, unk_struct* unk2) { +void sub_0807E914(Entity* unk1, ScriptExecutionContext* unk2) { unk2->unk_04 = GetNextScriptCommandWordAfterCommandMetadata(unk2->unk_00); } -void sub_0807E924(Entity* unk1, unk_struct* unk2) { +void sub_0807E924(Entity* unk1, ScriptExecutionContext* unk2) { unk2->unk_04 = unk1->frames.all; unk1->frames.all = 0; } -void sub_0807E930(Entity* unk1, unk_struct* unk2) { +void sub_0807E930(Entity* unk1, ScriptExecutionContext* unk2) { unk1->field_0x80.HWORD = unk2->unk_00[1]; InitAnimationForceUpdate(unk1, unk2->unk_00[1]); } -void sub_0807E944(Entity* unk1, unk_struct* unk2) { +void sub_0807E944(Entity* unk1, ScriptExecutionContext* unk2) { if (unk1->interactType) { unk1->interactType = 0; gUnk_02033280.unk_07 |= 1; @@ -864,7 +792,7 @@ void sub_0807E944(Entity* unk1, unk_struct* unk2) { } } -void sub_0807E974(Entity* unk1, unk_struct* unk2) { +void sub_0807E974(Entity* unk1, ScriptExecutionContext* unk2) { switch (unk2->unk_18) { default: if (!--unk2->unk_19) return; @@ -884,19 +812,19 @@ void sub_0807E974(Entity* unk1, unk_struct* unk2) { gUnk_02033280.unk_06 = 0; } -void sub_0807E9D4(Entity* unk1, unk_struct* unk2) { +void sub_0807E9D4(Entity* unk1, ScriptExecutionContext* unk2) { sub_08078778(unk1); } -void sub_0807E9DC(Entity* unk1, unk_struct* unk2) { +void sub_0807E9DC(Entity* unk1, ScriptExecutionContext* unk2) { sub_080788E0(unk1); } -void sub_0807E9E4(Entity* unk1, unk_struct* unk2) { +void sub_0807E9E4(Entity* unk1, ScriptExecutionContext* unk2) { sub_08078784(unk1, unk2->unk_00[1]); } -void sub_0807E9F0(Entity* unk1, unk_struct* unk2) { +void sub_0807E9F0(Entity* unk1, ScriptExecutionContext* unk2) { u32 tmp; sub_0801E00C(); tmp = 1; @@ -921,7 +849,7 @@ void sub_0807E9F0(Entity* unk1, unk_struct* unk2) { } } -void sub_0807EA4C(Entity* unk1, unk_struct* unk2) { +void sub_0807EA4C(Entity* unk1, ScriptExecutionContext* unk2) { if (unk1->interactType == 2) { sub_0801DFB4(unk1, 0, 0, 0); unk1->interactType = 0; @@ -931,31 +859,31 @@ void sub_0807EA4C(Entity* unk1, unk_struct* unk2) { } } -void sub_0807EA88(Entity* unk1, unk_struct* unk2) { +void sub_0807EA88(Entity* unk1, ScriptExecutionContext* unk2) { sub_08078790(unk1, unk2->unk_00[1]); } -void sub_0807EA94(Entity* unk1, unk_struct* unk2) { +void sub_0807EA94(Entity* unk1, ScriptExecutionContext* unk2) { if (gTextBox.doTextBox & 0x7F) { gUnk_02033280.unk_06 = 0; } } -void sub_0807EAB4(Entity* unk1, unk_struct* unk2) { +void sub_0807EAB4(Entity* unk1, ScriptExecutionContext* unk2) { TextboxNoOverlapFollow(unk2->unk_00[1]); } -void sub_0807EAC0(Entity* unk1, unk_struct* unk2) { +void sub_0807EAC0(Entity* unk1, ScriptExecutionContext* unk2) { TextboxNoOverlap(unk2->unk_00[1], unk1); } -void sub_0807EAD0(Entity* unk1, unk_struct* unk2) { +void sub_0807EAD0(Entity* unk1, ScriptExecutionContext* unk2) { TextboxNoOverlapFollow(unk2->unk_00[1]); gTextBox.textWindowPosX = 1; gTextBox.textWindowPosY = unk2->unk_00[2]; } -void sub_0807EAF0(Entity* unk1, unk_struct* unk2) { +void sub_0807EAF0(Entity* unk1, ScriptExecutionContext* unk2) { if (gUnk_02033280.unk_06 > unk2->unk_04) { u16 * tmp = unk2->unk_00 + unk2->unk_04; TextboxNoOverlapFollow(tmp[1]); @@ -964,68 +892,68 @@ void sub_0807EAF0(Entity* unk1, unk_struct* unk2) { } } -void sub_0807EB18(Entity* unk1, unk_struct* unk2) { +void sub_0807EB18(Entity* unk1, ScriptExecutionContext* unk2) { TextboxNoOverlap(unk2->unk_04, unk1); } -void sub_0807EB28(Entity* unk1, unk_struct* unk2) { +void sub_0807EB28(Entity* unk1, ScriptExecutionContext* unk2) { sub_08078AA8(unk2->unk_00[1], 0); } -void sub_0807EB38(Entity* unk1, unk_struct* unk2) { +void sub_0807EB38(Entity* unk1, ScriptExecutionContext* unk2) { unk2->unk_04 = gUnk_02000040.unk_01; } -void sub_0807EB44(Entity* unk1, unk_struct* unk2) { +void sub_0807EB44(Entity* unk1, ScriptExecutionContext* unk2) { unk1->animationState = unk2->unk_00[1]; } -void sub_0807EB4C(Entity* unk1, unk_struct* unk2) { +void sub_0807EB4C(Entity* unk1, ScriptExecutionContext* unk2) { unk1->animationState = sub_0806F5B0(sub_080045B4(unk1, unk2->unk_00[1] + gRoomControls.roomOriginX, unk2->unk_00[2] + gRoomControls.roomOriginY)); } -void sub_0807EB74(Entity* unk1, unk_struct* unk2) { +void sub_0807EB74(Entity* unk1, ScriptExecutionContext* unk2) { unk1->animationState = sub_0806F5B0(GetFacingDirection(unk1, &gPlayerEntity)); } -void sub_0807EB8C(Entity* unk1, unk_struct* unk2) { +void sub_0807EB8C(Entity* unk1, ScriptExecutionContext* unk2) { gPlayerEntity.animationState = sub_0806F5B0(GetFacingDirection(&gPlayerEntity, unk1)) & ~1; } -void sub_0807EBA8(Entity* unk1, unk_struct* unk2) { +void sub_0807EBA8(Entity* unk1, ScriptExecutionContext* unk2) { unk1->direction = unk2->unk_00[1]; } -void sub_0807EBB0(Entity* unk1, unk_struct* unk2) { +void sub_0807EBB0(Entity* unk1, ScriptExecutionContext* unk2) { unk1->direction = unk2->unk_00[1]; unk1->animationState = unk1->direction / 4; } -void sub_0807EBC0(Entity* unk1, unk_struct* unk2) { +void sub_0807EBC0(Entity* unk1, ScriptExecutionContext* unk2) { unk1->nonPlanarMovement = unk2->unk_00[1]; } -void sub_0807EBC8(Entity* unk1, unk_struct* unk2) { +void sub_0807EBC8(Entity* unk1, ScriptExecutionContext* unk2) { unk1->field_0x20 = GetNextScriptCommandWordAfterCommandMetadata(unk2->unk_00); } -void sub_0807EBD8(Entity* unk1, unk_struct* unk2) { +void sub_0807EBD8(Entity* unk1, ScriptExecutionContext* unk2) { unk1->x.HALF.HI = gRoomControls.roomOriginX + unk2->unk_00[1]; unk1->y.HALF.HI = gRoomControls.roomOriginY + unk2->unk_00[2]; } -void sub_0807EBF4(Entity* unk1, unk_struct* unk2) { +void sub_0807EBF4(Entity* unk1, ScriptExecutionContext* unk2) { unk1->x.HALF.HI += unk2->unk_00[1]; unk1->y.HALF.HI += unk2->unk_00[2]; } -void sub_0807EC08(Entity* unk1, unk_struct* unk2) { +void sub_0807EC08(Entity* unk1, ScriptExecutionContext* unk2) { CopyPosition(&gPlayerEntity, unk1); } -void nullsub_509(Entity* unk1, unk_struct* unk2) {} +void nullsub_509(Entity* unk1, ScriptExecutionContext* unk2) {} -void sub_0807EC1C(Entity* unk1, unk_struct* unk2) { +void sub_0807EC1C(Entity* unk1, ScriptExecutionContext* unk2) { if (!unk2->unk_18) { unk2->unk_18 = 1; unk2->unk_12 = unk2->unk_00[1]; @@ -1034,14 +962,14 @@ void sub_0807EC1C(Entity* unk1, unk_struct* unk2) { sub_0807EC44(unk1, unk2); } -void sub_0807EC44(Entity* unk1, unk_struct* unk2) { +void sub_0807EC44(Entity* unk1, ScriptExecutionContext* unk2) { sub_0806F69C(unk1); if (--unk2->unk_12) { gUnk_02033280.unk_06 = 0; } } -void sub_0807EC64(Entity* unk1, unk_struct* unk2) { +void sub_0807EC64(Entity* unk1, ScriptExecutionContext* unk2) { if (!unk2->unk_18) { unk2->unk_18 = 1; unk2->unk_12 = unk2->unk_00[1]; @@ -1052,7 +980,7 @@ void sub_0807EC64(Entity* unk1, unk_struct* unk2) { sub_0807EC44(unk1, unk2); } -void sub_0807EC94(Entity* unk1, unk_struct* unk2) { +void sub_0807EC94(Entity* unk1, ScriptExecutionContext* unk2) { if (!unk2->unk_18) { unk2->unk_18 = 1; unk2->unk_12 = unk2->unk_00[1]; @@ -1063,7 +991,7 @@ void sub_0807EC94(Entity* unk1, unk_struct* unk2) { sub_0807EC44(unk1, unk2); } -void sub_0807ECC4(Entity* unk1, unk_struct* unk2) { +void sub_0807ECC4(Entity* unk1, ScriptExecutionContext* unk2) { if (!unk2->unk_18) { unk2->unk_18 = 1; unk2->unk_12 = unk2->unk_00[1]; @@ -1074,7 +1002,7 @@ void sub_0807ECC4(Entity* unk1, unk_struct* unk2) { sub_0807EC44(unk1, unk2); } -void sub_0807ECF4(Entity* unk1, unk_struct* unk2) { +void sub_0807ECF4(Entity* unk1, ScriptExecutionContext* unk2) { if (!unk2->unk_18) { unk2->unk_18 = 1; unk2->unk_12 = unk2->unk_00[1]; @@ -1085,7 +1013,7 @@ void sub_0807ECF4(Entity* unk1, unk_struct* unk2) { sub_0807EC44(unk1, unk2); } -void sub_0807ED24(Entity* unk1, unk_struct* unk2) { +void sub_0807ED24(Entity* unk1, ScriptExecutionContext* unk2) { if (!unk2->unk_18) { s32 tmp, tmp2, tmp3; unk2->unk_18 = 1; @@ -1110,7 +1038,7 @@ void sub_0807ED24(Entity* unk1, unk_struct* unk2) { gUnk_02033280.unk_06 = 0; } -void sub_0807EDD4(Entity* unk1, unk_struct* unk2) { +void sub_0807EDD4(Entity* unk1, ScriptExecutionContext* unk2) { if (!unk2->unk_18) { unk2->unk_18 = 1; sub_0807EE04(unk1, unk2); @@ -1121,12 +1049,12 @@ void sub_0807EDD4(Entity* unk1, unk_struct* unk2) { } } -void sub_0807EE04(Entity* unk1, unk_struct* unk2) { +void sub_0807EE04(Entity* unk1, ScriptExecutionContext* unk2) { sub_0807DEDC(unk1, unk2, unk2->unk_00[1] + gRoomControls.roomOriginX, unk2->unk_00[2] + gRoomControls.roomOriginY); gUnk_02033280.unk_07 |= 1; } -void sub_0807EE30(Entity* unk1, unk_struct* unk2) { +void sub_0807EE30(Entity* unk1, ScriptExecutionContext* unk2) { s32 tmp, tmp2; if (!--unk2->unk_19) { unk2->unk_19 = 8; @@ -1146,7 +1074,7 @@ void sub_0807EE30(Entity* unk1, unk_struct* unk2) { } } -void sub_0807EEB4(Entity* unk1, unk_struct* unk2) { +void sub_0807EEB4(Entity* unk1, ScriptExecutionContext* unk2) { if (!unk2->unk_18) { unk2->unk_18 = 1; sub_0807DEDC(unk1, unk2, gPlayerEntity.x.HALF.HI, gPlayerEntity.y.HALF.HI); @@ -1157,7 +1085,7 @@ void sub_0807EEB4(Entity* unk1, unk_struct* unk2) { } } -void sub_0807EEF4(Entity* unk1, unk_struct* unk2) { +void sub_0807EEF4(Entity* unk1, ScriptExecutionContext* unk2) { if (!unk2->unk_18) { unk2->unk_18 = 1; sub_0807DEDC(unk1, unk2, unk1->x.HALF.HI + ((s16)unk2->unk_00[1]), unk1->y.HALF.HI + ((s16)unk2->unk_00[2])); @@ -1168,7 +1096,7 @@ void sub_0807EEF4(Entity* unk1, unk_struct* unk2) { } } -void sub_0807EF3C(Entity* unk1, unk_struct* unk2) { +void sub_0807EF3C(Entity* unk1, ScriptExecutionContext* unk2) { if (!unk2->unk_18) { unk2->unk_18 = 1; unk1->field_0x20 = ((s16) unk2->unk_00[1]) << 8; @@ -1180,19 +1108,19 @@ void sub_0807EF3C(Entity* unk1, unk_struct* unk2) { gUnk_02033280.unk_06 = 0; } -void sub_0807EF80(Entity* unk1, unk_struct* unk2) { +void sub_0807EF80(Entity* unk1, ScriptExecutionContext* unk2) { unk2->unk_08 |= 1 << unk2->unk_00[1]; } -void sub_0807EF90(Entity* unk1, unk_struct* unk2) { +void sub_0807EF90(Entity* unk1, ScriptExecutionContext* unk2) { unk2->unk_08 |= 1 << unk2->unk_00[1]; } -void sub_0807EFA0(Entity* unk1, unk_struct* unk2) { +void sub_0807EFA0(Entity* unk1, ScriptExecutionContext* unk2) { PlaySFX(unk2->unk_00[1]); } -void sub_0807EFAC(Entity* unk1, unk_struct* unk2) { +void sub_0807EFAC(Entity* unk1, ScriptExecutionContext* unk2) { if (unk2->unk_00[1] >= 100) { PlaySFX(gArea.musicIndex); } else { @@ -1200,28 +1128,28 @@ void sub_0807EFAC(Entity* unk1, unk_struct* unk2) { } } -void sub_0807EFD4(Entity* unk1, unk_struct* unk2) { +void sub_0807EFD4(Entity* unk1, ScriptExecutionContext* unk2) { PlaySFX(GetNextScriptCommandWordAfterCommandMetadata(unk2->unk_00)); } -void sub_0807EFE4(Entity* unk1, unk_struct* unk2) { +void sub_0807EFE4(Entity* unk1, ScriptExecutionContext* unk2) { PlaySFX(0x80100000); } -void sub_0807EFF4(Entity* unk1, unk_struct* unk2) { +void sub_0807EFF4(Entity* unk1, ScriptExecutionContext* unk2) { ModRupees((s16)unk2->unk_00[1]); } -void sub_0807F004(Entity* unk1, unk_struct* unk2) { +void sub_0807F004(Entity* unk1, ScriptExecutionContext* unk2) { ModHealth(unk2->unk_00[1]); } -void sub_0807F010(Entity* unk1, unk_struct* unk2) { +void sub_0807F010(Entity* unk1, ScriptExecutionContext* unk2) { gUnk_02002A40.stats.maxHealth = min(gUnk_02002A40.stats.maxHealth + 8, 0xA0); gUnk_02002A40.stats.health = gUnk_02002A40.stats.maxHealth; } -void sub_0807F034(Entity* unk1, unk_struct* unk2) { +void sub_0807F034(Entity* unk1, ScriptExecutionContext* unk2) { u32 tmp = 0; if (unk2->unk_00[1] == 0x3F) { tmp = unk2->unk_04; @@ -1229,35 +1157,35 @@ void sub_0807F034(Entity* unk1, unk_struct* unk2) { sub_080A7C18(unk2->unk_00[1], tmp, 0); } -void sub_0807F050(Entity* unk1, unk_struct* unk2) { +void sub_0807F050(Entity* unk1, ScriptExecutionContext* unk2) { sub_080A7C18(0x5C, unk2->unk_00[1], 0); } -void sub_0807F060(Entity* unk1, unk_struct* unk2) { +void sub_0807F060(Entity* unk1, ScriptExecutionContext* unk2) { unk2->unk_04 = GetInventoryValue(unk2->unk_00[1]); unk2->unk_14 = unk2->unk_04 != 0; } -void sub_0807F078(Entity* unk1, unk_struct* unk2) { +void sub_0807F078(Entity* unk1, ScriptExecutionContext* unk2) { sub_0807CAA0(unk2->unk_00[1], unk2->unk_00[2]); } -void sub_0807F088(Entity* unk1, unk_struct* unk2) { +void sub_0807F088(Entity* unk1, ScriptExecutionContext* unk2) { sub_080A7C18(unk2->unk_00[1], 0, 3); } -void sub_0807F098(Entity* unk1, unk_struct* unk2) { +void sub_0807F098(Entity* unk1, ScriptExecutionContext* unk2) { gRoomControls.cameraTarget = unk1; } -void sub_0807F0A4(Entity* unk1, unk_struct* unk2) { +void sub_0807F0A4(Entity* unk1, ScriptExecutionContext* unk2) { gRoomControls.cameraTarget = &gPlayerEntity; } -void sub_0807F0B4(Entity* unk1, unk_struct* unk2) { +void sub_0807F0B4(Entity* unk1, ScriptExecutionContext* unk2) { gRoomControls.unk5 = unk2->unk_00[1] & 7; } -void sub_0807F0C8(Entity* unk1, unk_struct* unk2) { +void sub_0807F0C8(Entity* unk1, ScriptExecutionContext* unk2) { sub_08080964(unk2->unk_00[1], unk2->unk_00[2]); } diff --git a/src/npc/goron.c b/src/npc/goron.c index 08ddcc5a..33345e48 100644 --- a/src/npc/goron.c +++ b/src/npc/goron.c @@ -3,7 +3,6 @@ #include "functions.h" #include "textbox.h" -extern u8 gUnk_02033280[]; extern void (*gUnk_08111A80[])(Entity*); extern void (*gUnk_08111A8C[])(Entity*); extern Dialog gUnk_08111A94[]; @@ -99,7 +98,7 @@ u32 sub_08069480(Entity* this) { void sub_0806948C(Entity* this, u32* param_1) { param_1[5] = CheckKinstoneFused((sub_08069480(this) << 24) >> 24); - gUnk_02033280[7] |= 1; + gUnk_02033280.unk_07 |= 1; } void sub_080694B0(Entity* this) { diff --git a/src/npc/postman.c b/src/npc/postman.c index b1a328c1..0dd9fc1a 100644 --- a/src/npc/postman.c +++ b/src/npc/postman.c @@ -7,11 +7,6 @@ #include "room.h" #include "structures.h" -typedef struct { - u8 filler[7]; - u8 unk; -} struct_02033280; - extern void sub_08060528(Entity*); extern void* GetCurrentRoomProperty(u32); extern void sub_0806EE04(Entity*, void*, u32); @@ -43,7 +38,6 @@ extern s8* gUnk_0810A918[]; extern void (*const gUnk_0810AA24[])(Entity*); extern Dialog gUnk_0810AA30[]; -extern struct_02033280 gUnk_02033280; void Postman(Entity* this) { if ((this->flags & 2) != 0) { @@ -213,7 +207,7 @@ void sub_08060700(Entity* entity, u32 arg1) { u32 x = coords->x + gRoomControls.roomOriginX; u32 y = coords->y + gRoomControls.roomOriginY; sub_0807DEDC(entity, arg1, x, y); - gUnk_02033280.unk |= 1; + gUnk_02033280.unk_07 |= 1; } void sub_0806075C(Entity* this) { diff --git a/src/npc/townsperson.c b/src/npc/townsperson.c index 0edca56d..34e1ea16 100644 --- a/src/npc/townsperson.c +++ b/src/npc/townsperson.c @@ -42,7 +42,6 @@ extern SpriteLoadData* gUnk_0810B6EC[]; extern u8 gUnk_0810B78C[]; extern struct_0810B680 gUnk_0810B680[]; extern u16 gUnk_0810B74A[]; -extern u8 gUnk_02033280[]; extern u8 gUnk_0810B748[]; extern u32 gUnk_0810B740[]; extern u16 gUnk_0810B790[]; @@ -242,7 +241,7 @@ void sub_08061E90(Entity* this, Entity* arg1) { arg1->spriteIndex = 1; } if (--arg1->spriteIndex != 0) { - gUnk_02033280[6] = 0; + gUnk_02033280.unk_06 = 0; } } diff --git a/src/npc/zelda.c b/src/npc/zelda.c index 9ef2018e..b7dec220 100644 --- a/src/npc/zelda.c +++ b/src/npc/zelda.c @@ -22,7 +22,6 @@ extern Entity gPlayerEntity; extern RoomControls gRoomControls; extern void (*gUnk_08110BD8[])(Entity* ent); -extern u8 gUnk_02033280[]; extern u16 gUnk_08110BE0[]; void Zelda(Entity* ent) { @@ -165,12 +164,12 @@ void sub_08066E80(Entity* ent, u8* param_2) { case 4: UpdateAnimationSingleFrame(ent); if (ent->frames.b.f3) { - gUnk_02033280[7] |= 1; + gUnk_02033280.unk_07 |= 1; return; } } ent->field_0x80.HWORD = ent->animIndex; - gUnk_02033280[6] = 0; + gUnk_02033280.unk_06 = 0; } void sub_08066F94(void) { diff --git a/src/object/greatFairy.c b/src/object/greatFairy.c index 16664216..257e748e 100644 --- a/src/object/greatFairy.c +++ b/src/object/greatFairy.c @@ -2,8 +2,8 @@ #include "entity.h" #include "room.h" #include "screen.h" -#include "greatFairy.h" #include "structures.h" +#include "greatFairy.h" #include "functions.h" enum { @@ -169,7 +169,7 @@ void GreatFairy_WingsUpdate(Entity* this) { this->action = 2; sub_0805EC60(this); gRoomVars.greatFairyState |= 32; - gUnk_02033280 |= 4; + gUnk_02033280.unk_00 |= 4; } else { sub_0805EC9C(this, this->nonPlanarMovement, 256, 0); } From b9e07c12024895de9abde045cc1d1421a5bc2139 Mon Sep 17 00:00:00 2001 From: theo3 Date: Wed, 30 Dec 2020 02:11:23 -0800 Subject: [PATCH 030/101] begin player.c and new nonmatching macro merge fix --- asm/code_08070698.s | 1675 ------------------------ asm/non_matching/player/sub_08070794.s | 544 ++++++++ asm/non_matching/player/sub_08070DC4.s | 87 ++ include/functions.h | 15 +- include/global.h | 22 +- include/room.h | 1 + linker.ld | 2 +- src/code_0808091C.c | 2 +- src/npc/carlov.c | 1 - src/player.c | 546 ++++++++ src/sub_08070680.c | 60 - 11 files changed, 1214 insertions(+), 1741 deletions(-) create mode 100644 asm/non_matching/player/sub_08070794.s create mode 100644 asm/non_matching/player/sub_08070DC4.s create mode 100644 src/player.c delete mode 100644 src/sub_08070680.c diff --git a/asm/code_08070698.s b/asm/code_08070698.s index ce1b6779..0b19e971 100644 --- a/asm/code_08070698.s +++ b/asm/code_08070698.s @@ -6,1681 +6,6 @@ .text - thumb_func_start sub_08070794 -sub_08070794: @ 0x08070794 - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - ldr r6, _080707F0 @ =gPlayerState - adds r3, r6, #0 - adds r3, #0xa8 - movs r4, #0 - strb r4, [r3] - ldr r1, [r6, #0x30] - movs r7, #0x10 - adds r0, r1, #0 - ands r0, r7 - mov ip, r6 - cmp r0, #0 - beq _08070818 - adds r2, r5, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r2] - adds r0, r5, #0 - adds r0, #0x42 - strb r4, [r0] - movs r0, #0xa0 - lsls r0, r0, #1 - strh r0, [r5, #0x24] - movs r0, #0x80 - strb r0, [r6, #6] - strb r7, [r3] - ldrb r0, [r5, #0x14] - lsrs r0, r0, #1 - adds r0, #0x5c - adds r1, r5, #0 - adds r1, #0x58 - ldrb r1, [r1] - cmp r0, r1 - bne _080707F8 - ldrh r0, [r5, #0x12] - cmp r0, #2 - bne _080707F8 - ldr r0, _080707F4 @ =gPlayerEntity - bl UpdateAnimationSingleFrame - b _08070800 - .align 2, 0 -_080707F0: .4byte gPlayerState -_080707F4: .4byte gPlayerEntity -_080707F8: - movs r0, #0x97 - lsls r0, r0, #2 - mov r1, ip - strh r0, [r1, #8] -_08070800: - ldr r0, _08070814 @ =gPlayerEntity - bl sub_0806F948 - bl ResetPlayer - adds r0, r5, #0 - bl sub_08077698 - b _08070BE4 - .align 2, 0 -_08070814: .4byte gPlayerEntity -_08070818: - movs r0, #0x80 - lsls r0, r0, #5 - ands r0, r1 - cmp r0, #0 - beq _08070842 - adds r1, r5, #0 - adds r1, #0x40 - movs r0, #0x1e - strb r0, [r1] - movs r0, #0xc - strb r0, [r3] - movs r1, #0 - movs r2, #0x24 - ldrsh r0, [r5, r2] - cmp r0, #0 - bne _0807083A - movs r1, #1 -_0807083A: - adds r0, r5, #0 - bl sub_08070BEC - b _08070BE4 -_08070842: - movs r4, #0x80 - lsls r4, r4, #0xc - ands r4, r1 - cmp r4, #0 - beq _08070852 - bl sub_08079938 - b _08070BE4 -_08070852: - adds r0, r5, #0 - bl sub_080085B0 - adds r0, r5, #0 - adds r0, #0x40 - strb r4, [r0] - bl sub_08078EFC - cmp r0, #0 - beq _08070868 - b _08070BE4 -_08070868: - adds r0, r6, #0 - adds r0, #0x26 - ldrb r0, [r0] - cmp r0, #0 - bne _080708AC - ldrb r1, [r6, #2] - movs r2, #0xc0 - adds r0, r2, #0 - ands r0, r1 - cmp r0, #0 - bne _080708AC - ldrb r0, [r6, #3] - cmp r0, #0 - bne _0807088E - adds r0, r6, #0 - adds r0, #0x21 - ldrb r0, [r0] - cmp r0, #0 - beq _08070892 -_0807088E: - strh r2, [r5, #0x24] - b _080708AC -_08070892: - ldrb r0, [r6, #0x1b] - cmp r0, #0 - beq _0807089C - movs r0, #0xe0 - b _080708AA -_0807089C: - ldrb r0, [r6, #0x1c] - cmp r0, #0 - beq _080708A6 - movs r0, #0x80 - b _080708AA -_080708A6: - movs r0, #0xa0 - lsls r0, r0, #1 -_080708AA: - strh r0, [r5, #0x24] -_080708AC: - ldr r4, _08070918 @ =gPlayerState - ldrb r0, [r4, #6] - movs r1, #0x80 - orrs r1, r0 - strb r1, [r4, #6] - ldr r0, [r4, #0x30] - ldr r6, _0807091C @ =0x10000002 - ands r0, r6 - cmp r0, #0 - bne _080708C4 - bl sub_0807A1B8 -_080708C4: - bl sub_08078EFC - cmp r0, #0 - beq _080708CE - b _08070BE4 -_080708CE: - ldrb r0, [r4, #2] - cmp r0, #0 - beq _080708D6 - b _080709D8 -_080708D6: - ldr r0, [r4, #0x30] - movs r1, #0x80 - lsls r1, r1, #3 - ands r0, r1 - cmp r0, #0 - beq _080708E4 - b _080709D8 -_080708E4: - adds r0, r5, #0 - adds r0, #0x42 - ldrb r0, [r0] - cmp r0, #0 - bne _08070924 - bl sub_080782C0 - cmp r0, #0 - beq _08070924 - ldr r0, _08070920 @ =gRoomVars - ldrb r0, [r0, #6] - cmp r0, #0 - bne _08070902 - bl ResetPlayer -_08070902: - ldr r0, [r4, #0x30] - ands r0, r6 - cmp r0, #0 - beq _0807090C - b _08070BE4 -_0807090C: - bl sub_0807A1B8 - bl sub_08078EFC - b _08070BE4 - .align 2, 0 -_08070918: .4byte gPlayerState -_0807091C: .4byte 0x10000002 -_08070920: .4byte gRoomVars -_08070924: - ldr r0, _0807094C @ =gPlayerState - ldr r1, [r0, #0x30] - ldr r2, _08070950 @ =0x00041635 - ands r1, r2 - adds r0, #0xaa - ldrb r0, [r0] - orrs r1, r0 - cmp r1, #0 - bne _080709D8 - bl sub_08019840 - cmp r0, #0xf - bls _08070940 - b _08070BE4 -_08070940: - lsls r0, r0, #2 - ldr r1, _08070954 @ =_08070958 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0807094C: .4byte gPlayerState -_08070950: .4byte 0x00041635 -_08070954: .4byte _08070958 -_08070958: @ jump table - .4byte _08070998 @ case 0 - .4byte _08070BE4 @ case 1 - .4byte _08070BE4 @ case 2 - .4byte _080709A8 @ case 3 - .4byte _080709C2 @ case 4 - .4byte _08070BE4 @ case 5 - .4byte _08070BE4 @ case 6 - .4byte _08070BE4 @ case 7 - .4byte _08070BE4 @ case 8 - .4byte _08070BE4 @ case 9 - .4byte _08070BE4 @ case 10 - .4byte _08070BE4 @ case 11 - .4byte _08070BE4 @ case 12 - .4byte _08070BE4 @ case 13 - .4byte _08070BE4 @ case 14 - .4byte _080709B4 @ case 15 -_08070998: - ldr r0, _080709A4 @ =gPlayerState - ldrb r1, [r0, #6] - movs r2, #0x80 - eors r1, r2 - strb r1, [r0, #6] - b _080709D8 - .align 2, 0 -_080709A4: .4byte gPlayerState -_080709A8: - ldr r1, _080709B0 @ =gPlayerState - movs r0, #0x80 - strb r0, [r1, #6] - b _080709D8 - .align 2, 0 -_080709B0: .4byte gPlayerState -_080709B4: - ldrb r1, [r5, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r5, #0x10] - bl sub_080797EC - b _08070BE4 -_080709C2: - ldr r0, _080709D4 @ =gPlayerState - ldrb r1, [r0, #6] - movs r2, #0x80 - eors r1, r2 - strb r1, [r0, #6] - bl sub_080797EC - b _08070BE4 - .align 2, 0 -_080709D4: .4byte gPlayerState -_080709D8: - adds r1, r5, #0 - adds r1, #0x3c - movs r0, #0 - strb r0, [r1] - adds r6, r5, #0 - adds r6, #0x29 - ldrb r1, [r6] - subs r0, #8 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r6] - adds r0, r5, #0 - bl sub_0807AC54 - cmp r0, #0 - beq _080709FC - b _08070BE4 -_080709FC: - adds r0, r5, #0 - bl sub_08077698 - bl sub_08078EFC - cmp r0, #0 - beq _08070A0C - b _08070BE4 -_08070A0C: - bl sub_080792D8 - ldr r4, _08070A78 @ =gPlayerState - ldrb r1, [r4, #2] - ldrb r0, [r4, #0xa] - orrs r0, r1 - cmp r0, #0 - bne _08070A32 - bl sub_08079550 - cmp r0, #0 - beq _08070A26 - b _08070BE4 -_08070A26: - adds r0, r5, #0 - bl sub_08078F74 - cmp r0, #0 - beq _08070A32 - b _08070BE4 -_08070A32: - adds r0, r5, #0 - bl sub_08073904 - bl sub_08078EFC - cmp r0, #0 - beq _08070A42 - b _08070BE4 -_08070A42: - ldrb r2, [r4, #2] - cmp r2, #0 - beq _08070AAC - adds r1, r4, #0 - adds r1, #0xa8 - movs r0, #0x14 - strb r0, [r1] - movs r0, #0xc0 - ands r0, r2 - cmp r0, #0 - bne _08070A80 - movs r0, #7 - ands r0, r2 - cmp r0, #3 - beq _08070A7C - movs r0, #0x20 - ands r0, r2 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0 - bne _08070A7C - strh r0, [r5, #0x24] - adds r0, r5, #0 - bl sub_08008926 - b _08070A80 - .align 2, 0 -_08070A78: .4byte gPlayerState -_08070A7C: - movs r0, #0xff - strb r0, [r5, #0x15] -_08070A80: - bl sub_08079E08 - adds r0, r5, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _08070A94 - b _08070BE4 -_08070A94: - ldr r0, _08070AA8 @ =gPlayerState - ldrb r0, [r0, #4] - cmp r0, #0 - beq _08070A9E - b _08070BE4 -_08070A9E: - adds r0, r5, #0 - bl UpdateAnimationSingleFrame - b _08070BE4 - .align 2, 0 -_08070AA8: .4byte gPlayerState -_08070AAC: - adds r0, r5, #0 - adds r0, #0x42 - ldrb r1, [r0] - adds r7, r0, #0 - cmp r1, #0 - beq _08070ABA - b _08070BBC -_08070ABA: - adds r0, r4, #0 - adds r0, #0x26 - ldrb r0, [r0] - cmp r0, #0 - beq _08070AD4 - adds r1, r4, #0 - adds r1, #0xa8 - movs r0, #7 - strb r0, [r1] - adds r0, r5, #0 - bl sub_0807ACCC - b _08070B56 -_08070AD4: - ldr r0, [r4, #0x30] - movs r1, #0x80 - lsls r1, r1, #0x12 - ands r0, r1 - cmp r0, #0 - bne _08070AEE - ldrb r0, [r6] - movs r1, #0x39 - rsbs r1, r1, #0 - ands r1, r0 - movs r0, #8 - orrs r1, r0 - strb r1, [r6] -_08070AEE: - ldrb r1, [r4, #0x1e] - movs r0, #0x40 - ands r0, r1 - cmp r0, #0 - beq _08070B00 - adds r0, r5, #0 - bl sub_08008AA0 - b _08070B1E -_08070B00: - ldrb r0, [r4, #0x12] - cmp r0, #0x17 - bne _08070B0E - adds r0, r5, #0 - bl sub_08008926 - b _08070B1E -_08070B0E: - cmp r0, #1 - bne _08070B18 - bl sub_08078F60 - b _08070B1E -_08070B18: - adds r0, r5, #0 - bl sub_08008AA0 -_08070B1E: - ldr r2, _08070BB8 @ =gPlayerState - ldrb r1, [r2, #0x1b] - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - bne _08070B56 - ldrb r3, [r2, #0xd] - strb r3, [r5, #0x15] - ldr r0, [r2, #0x30] - movs r1, #0x80 - lsls r1, r1, #3 - ands r0, r1 - cmp r0, #0 - beq _08070B56 - movs r0, #0xc0 - lsls r0, r0, #2 - strh r0, [r5, #0x24] - movs r0, #0x80 - ands r0, r3 - cmp r0, #0 - beq _08070B52 - ldrb r1, [r5, #0x14] - movs r0, #0xe - ands r0, r1 - lsls r0, r0, #2 - strb r0, [r5, #0x15] -_08070B52: - bl sub_0807A108 -_08070B56: - movs r4, #0 - ldr r3, _08070BB8 @ =gPlayerState - ldrb r2, [r3, #7] - ldrb r0, [r5, #0x15] - orrs r0, r2 - movs r1, #0x80 - ands r0, r1 - ldrb r1, [r3, #0xa] - orrs r0, r1 - cmp r0, #0 - bne _08070B8E - movs r0, #0x10 - ands r0, r2 - cmp r0, #0 - bne _08070B8E - movs r4, #1 - ldrb r0, [r7] - cmp r0, #0 - bne _08070B8E - ldrb r1, [r3, #0x1e] - movs r0, #0x40 - ands r0, r1 - cmp r0, #0 - bne _08070B8C - ldrb r0, [r3, #0x12] - cmp r0, #0x17 - beq _08070B8E -_08070B8C: - movs r4, #3 -_08070B8E: - adds r0, r5, #0 - adds r1, r4, #0 - bl sub_08070BEC - adds r0, r5, #0 - bl sub_08008AC6 - ldrb r0, [r7] - cmp r0, #0 - bne _08070BE4 - ldr r1, _08070BB8 @ =gPlayerState - ldrb r0, [r1, #0xb] - cmp r0, #0 - bne _08070BE4 - ldrb r0, [r1, #0x12] - cmp r0, #0x1e - beq _08070BE4 - adds r0, r5, #0 - bl sub_0806F948 - b _08070BE4 - .align 2, 0 -_08070BB8: .4byte gPlayerState -_08070BBC: - ldr r0, [r4, #0x2c] - cmp r0, #0 - bne _08070BC8 - adds r0, r5, #0 - bl UpdateAnimationSingleFrame -_08070BC8: - adds r0, r4, #0 - adds r0, #0x26 - ldrb r0, [r0] - cmp r0, #0 - beq _08070BE4 - ldr r0, _08070BE8 @ =gScreenTransition - ldr r0, [r0] - movs r1, #7 - ands r0, r1 - cmp r0, #0 - bne _08070BE4 - adds r0, r5, #0 - bl CreateWaterTrace -_08070BE4: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08070BE8: .4byte gScreenTransition - - thumb_func_start sub_08070BEC -sub_08070BEC: @ 0x08070BEC - push {r4, lr} - adds r4, r1, #0 - movs r0, #1 - ands r0, r4 - cmp r0, #0 - beq _08070BFE - bl sub_080797EC - b _08070C02 -_08070BFE: - bl sub_08079938 -_08070C02: - movs r0, #2 - ands r0, r4 - cmp r0, #0 - beq _08070C0E - bl sub_08079E08 -_08070C0E: - pop {r4, pc} - - thumb_func_start sub_08070C10 -sub_08070C10: @ 0x08070C10 - push {lr} - ldr r2, _08070C34 @ =gPlayerState - movs r1, #0xff - strb r1, [r2, #0xd] - movs r1, #0x80 - strb r1, [r2, #6] - adds r2, #0xa8 - movs r1, #0xa - strb r1, [r2] - ldr r2, _08070C38 @ =gUnk_0811BA60 - ldrb r1, [r0, #0xd] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08070C34: .4byte gPlayerState -_08070C38: .4byte gUnk_0811BA60 - - thumb_func_start sub_08070C3C -sub_08070C3C: @ 0x08070C3C - push {r4, lr} - adds r4, r0, #0 - bl sub_08004168 - ldr r2, _08070C64 @ =gPlayerState - ldr r1, [r2, #0x30] - movs r0, #5 - orrs r1, r0 - ldr r0, _08070C68 @ =0xFFFFFBFF - ands r1, r0 - str r1, [r2, #0x30] - movs r0, #0 - strb r0, [r2, #2] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08070C6C - movs r0, #0xdd - lsls r0, r0, #1 - b _08070C7E - .align 2, 0 -_08070C64: .4byte gPlayerState -_08070C68: .4byte 0xFFFFFBFF -_08070C6C: - movs r0, #8 - ands r1, r0 - cmp r1, #0 - beq _08070C7A - movs r0, #0x8b - lsls r0, r0, #3 - b _08070C7E -_08070C7A: - movs r0, #0xdc - lsls r0, r0, #1 -_08070C7E: - strh r0, [r2, #8] - ldrb r0, [r4, #0xd] - adds r0, #1 - strb r0, [r4, #0xd] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r2] - bl ResetPlayer - bl sub_0807A108 - movs r0, #0x7b - bl PlaySFX - movs r0, #0x85 - bl PlaySFX - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08070CB4 -sub_08070CB4: @ 0x08070CB4 - push {r4, r5, lr} - adds r5, r0, #0 - bl UpdateAnimationSingleFrame - adds r0, r5, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08070D1A - ldr r0, _08070CF4 @ =gUnk_02002A40 - adds r0, #0xaa - ldrb r0, [r0] - ldr r4, _08070CF8 @ =gPlayerState - cmp r0, #0 - beq _08070CFC - ldr r1, [r4, #0x30] - movs r0, #0x80 - lsls r0, r0, #8 - ands r0, r1 - cmp r0, #0 - beq _08070CFC - movs r0, #6 - rsbs r0, r0, #0 - ands r1, r0 - str r1, [r4, #0x30] - ldrb r1, [r5, #0x18] - adds r0, #2 - ands r0, r1 - strb r0, [r5, #0x18] - b _08070D1A - .align 2, 0 -_08070CF4: .4byte gUnk_02002A40 -_08070CF8: .4byte gPlayerState -_08070CFC: - ldr r0, [r4, #0x30] - ldr r1, _08070D1C @ =0xFFFF7FFB - ands r0, r1 - str r0, [r4, #0x30] - bl sub_08079458 - movs r0, #0 - strb r0, [r4, #0xa] - adds r1, r5, #0 - adds r1, #0x3d - movs r0, #0x20 - strb r0, [r1] - subs r0, #0x22 - bl ModHealth -_08070D1A: - pop {r4, r5, pc} - .align 2, 0 -_08070D1C: .4byte 0xFFFF7FFB - - thumb_func_start sub_08070D20 -sub_08070D20: @ 0x08070D20 - push {lr} - ldr r2, _08070D34 @ =gUnk_0811BA68 - ldrb r1, [r0, #0xd] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08070D34: .4byte gUnk_0811BA68 - - thumb_func_start sub_08070D38 -sub_08070D38: @ 0x08070D38 - push {r4, lr} - adds r2, r0, #0 - ldrb r1, [r2, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r2, #0x10] - ldrb r1, [r2, #0x14] - movs r0, #0xe - ands r0, r1 - lsls r0, r0, #2 - movs r1, #0x10 - eors r0, r1 - strb r0, [r2, #0x15] - movs r4, #0 - movs r0, #0x80 - lsls r0, r0, #1 - strh r0, [r2, #0x24] - adds r0, r2, #0 - adds r0, #0x42 - strb r4, [r0] - ldrb r0, [r2, #0xd] - adds r0, #1 - strb r0, [r2, #0xd] - ldr r3, _08070D94 @ =gPlayerState - adds r0, r3, #0 - adds r0, #0x38 - ldrb r0, [r0] - strb r0, [r2, #0xe] - movs r0, #1 - strh r0, [r2, #0x12] - ldr r0, [r3, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - bne _08070D98 - movs r0, #0x80 - lsls r0, r0, #0xa - str r0, [r2, #0x20] - movs r0, #0x8a - lsls r0, r0, #1 - strh r0, [r3, #8] - movs r0, #0x10 - movs r1, #0 - bl sub_08080964 - b _08070DA2 - .align 2, 0 -_08070D94: .4byte gPlayerState -_08070D98: - ldr r0, _08070DBC @ =0x00000C18 - strh r0, [r3, #8] - movs r0, #0xc0 - lsls r0, r0, #9 - str r0, [r2, #0x20] -_08070DA2: - ldr r0, _08070DC0 @ =gPlayerState - movs r1, #0x80 - strb r1, [r0, #2] - movs r0, #0xa6 - lsls r0, r0, #1 - bl PlaySFX - bl ResetPlayer - bl sub_08078F60 - pop {r4, pc} - .align 2, 0 -_08070DBC: .4byte 0x00000C18 -_08070DC0: .4byte gPlayerState - - thumb_func_start sub_08070DC4 -sub_08070DC4: @ 0x08070DC4 - push {r4, r5, r6, lr} - adds r4, r0, #0 - bl UpdateAnimationSingleFrame - adds r0, r4, #0 - bl sub_080085B0 - bl sub_08079E08 - bl sub_0807A1B8 - bl sub_08078EFC - cmp r0, #0 - bne _08070E76 - movs r1, #0x80 - lsls r1, r1, #6 - adds r0, r4, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _08070E76 - ldr r6, _08070E18 @ =gPlayerState - strb r0, [r6, #2] - bl sub_08078EFC - adds r5, r0, #0 - cmp r5, #0 - bne _08070E76 - bl sub_08079D48 - cmp r0, #0 - bne _08070E10 - adds r0, r6, #0 - adds r0, #0x26 - ldrb r0, [r0] - cmp r0, #0 - beq _08070E1C -_08070E10: - strb r5, [r6, #2] - bl sub_080791D0 - b _08070E76 - .align 2, 0 -_08070E18: .4byte gPlayerState -_08070E1C: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xff - beq _08070E32 - movs r0, #0x80 - lsls r0, r0, #9 - str r0, [r4, #0x20] - b _08070E76 -_08070E32: - ldrb r0, [r4, #0x10] - movs r1, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - ldrb r0, [r6, #0x14] - cmp r0, #0 - bne _08070E56 - bl sub_08008B22 - cmp r0, #0 - beq _08070E56 - movs r0, #7 - strb r0, [r6, #0x11] - bl sub_08079938 - bl sub_080791BC - b _08070E76 -_08070E56: - movs r0, #1 - strh r0, [r4, #0x12] - movs r0, #8 - strb r0, [r4, #0xe] - ldrb r0, [r4, #0xd] - adds r0, #1 - strb r0, [r4, #0xd] - ldr r2, _08070E78 @ =gPlayerState - ldr r0, [r2, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - bne _08070E76 - movs r0, #0x80 - lsls r0, r0, #1 - strh r0, [r2, #8] -_08070E76: - pop {r4, r5, r6, pc} - .align 2, 0 -_08070E78: .4byte gPlayerState - - thumb_func_start sub_08070E7C -sub_08070E7C: @ 0x08070E7C - push {lr} - ldrb r1, [r0, #0xe] - subs r1, #1 - strb r1, [r0, #0xe] - lsls r1, r1, #0x18 - lsrs r1, r1, #0x18 - cmp r1, #0 - bne _08070E94 - ldr r0, _08070E98 @ =gPlayerState - strb r1, [r0, #2] - bl sub_080791D0 -_08070E94: - pop {pc} - .align 2, 0 -_08070E98: .4byte gPlayerState - - thumb_func_start sub_08070E9C -sub_08070E9C: @ 0x08070E9C - push {r4, lr} - adds r4, r0, #0 - bl sub_08078EFC - cmp r0, #0 - beq _08070EAE - bl sub_08056360 - b _08070ED2 -_08070EAE: - ldr r1, _08070ED4 @ =gPlayerState - adds r2, r1, #0 - adds r2, #0x27 - movs r0, #4 - strb r0, [r2] - adds r1, #0xa8 - movs r0, #0x13 - strb r0, [r1] - bl sub_0807A1B8 - ldr r1, _08070ED8 @ =gUnk_0811BA74 - ldrb r0, [r4, #0xd] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 -_08070ED2: - pop {r4, pc} - .align 2, 0 -_08070ED4: .4byte gPlayerState -_08070ED8: .4byte gUnk_0811BA74 - - thumb_func_start sub_08070EDC -sub_08070EDC: @ 0x08070EDC - push {lr} - adds r2, r0, #0 - ldrb r1, [r2, #0x11] - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #2 - orrs r0, r1 - strb r0, [r2, #0x11] - ldr r0, _08070F10 @ =gTextBox - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - beq _08070EFE - movs r0, #1 - strb r0, [r2, #0xd] -_08070EFE: - ldr r2, _08070F14 @ =gPlayerState - ldr r0, [r2, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - bne _08070F18 - bl sub_08079938 - b _08070F1C - .align 2, 0 -_08070F10: .4byte gTextBox -_08070F14: .4byte gPlayerState -_08070F18: - ldr r0, _08070F20 @ =0x00000C18 - strh r0, [r2, #8] -_08070F1C: - pop {pc} - .align 2, 0 -_08070F20: .4byte 0x00000C18 - - thumb_func_start sub_08070F24 -sub_08070F24: @ 0x08070F24 - push {r4, lr} - adds r4, r0, #0 - bl UpdateAnimationSingleFrame - ldr r0, _08070F4C @ =gTextBox - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - bne _08070F4A - ldrb r0, [r4, #0x11] - lsrs r2, r0, #4 - movs r1, #0x10 - rsbs r1, r1, #0 - ands r1, r0 - orrs r1, r2 - strb r1, [r4, #0x11] - bl sub_080791D0 -_08070F4A: - pop {r4, pc} - .align 2, 0 -_08070F4C: .4byte gTextBox - - thumb_func_start sub_08070F50 -sub_08070F50: @ 0x08070F50 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r0, _08070F9C @ =gPlayerState - adds r0, #0xa8 - movs r1, #0x15 - strb r1, [r0] - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - ldr r1, _08070FA0 @ =gUnk_0811BA7C - ldrb r0, [r4, #0xd] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - ldr r5, [r4, #0x54] - cmp r5, #0 - beq _08070F9A - adds r0, r4, #0 - adds r1, r5, #0 - bl PositionEntityOnTop - ldrh r0, [r4, #0x12] - ldrb r1, [r4, #0x1e] - bl GetSpriteSubEntryOffsetDataPointer - ldrb r1, [r0] - adds r2, r5, #0 - adds r2, #0x62 - strb r1, [r2] - ldrb r1, [r0, #1] - adds r0, r5, #0 - adds r0, #0x63 - strb r1, [r0] -_08070F9A: - pop {r4, r5, pc} - .align 2, 0 -_08070F9C: .4byte gPlayerState -_08070FA0: .4byte gUnk_0811BA7C - - thumb_func_start sub_08070FA4 -sub_08070FA4: @ 0x08070FA4 - push {r4, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0x18] - movs r0, #0x41 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - movs r1, #0 - movs r0, #4 - strb r0, [r4, #0x14] - ldr r3, _08070FE8 @ =gPlayerState - ldr r2, [r3, #0x30] - movs r0, #1 - orrs r2, r0 - str r2, [r3, #0x30] - strb r1, [r3, #2] - movs r0, #0x80 - ands r0, r2 - cmp r0, #0 - bne _08071008 - movs r0, #8 - ands r2, r0 - cmp r2, #0 - beq _08070FF0 - adds r0, r3, #0 - adds r0, #0x38 - ldrb r0, [r0] - bl sub_080542AC - ldr r1, _08070FEC @ =0x0000045B - cmp r0, #0 - beq _08071004 - adds r1, #3 - b _08071004 - .align 2, 0 -_08070FE8: .4byte gPlayerState -_08070FEC: .4byte 0x0000045B -_08070FF0: - adds r0, r3, #0 - adds r0, #0x38 - ldrb r0, [r0] - bl sub_080542AC - ldr r1, _08071018 @ =0x000001B9 - cmp r0, #0 - beq _08071004 - movs r1, #0xb8 - lsls r1, r1, #2 -_08071004: - ldr r0, _0807101C @ =gPlayerState - strh r1, [r0, #8] -_08071008: - movs r0, #1 - strb r0, [r4, #0xd] - bl ResetPlayer - bl sub_08078F60 - pop {r4, pc} - .align 2, 0 -_08071018: .4byte 0x000001B9 -_0807101C: .4byte gPlayerState - - thumb_func_start sub_08071020 -sub_08071020: @ 0x08071020 - push {r4, lr} - adds r4, r0, #0 - bl UpdateAnimationSingleFrame - adds r0, r4, #0 - adds r0, #0x5a - ldrb r0, [r0] - cmp r0, #0 - beq _08071036 - movs r0, #2 - strb r0, [r4, #0xd] -_08071036: - pop {r4, pc} - - thumb_func_start sub_08071038 -sub_08071038: @ 0x08071038 - push {r4, lr} - adds r4, r0, #0 - bl UpdateAnimationSingleFrame - bl sub_08078EFC - cmp r0, #0 - bne _08071078 - ldr r0, _0807107C @ =gTextBox - ldrb r0, [r0] - movs r2, #0x7f - ands r2, r0 - cmp r2, #0 - bne _08071078 - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _08071078 - str r2, [r4, #0x54] - adds r0, r4, #0 - adds r0, #0x42 - strb r2, [r0] - subs r0, #5 - movs r1, #0xf8 - strb r1, [r0] - ldr r0, _08071080 @ =gPlayerState - strb r2, [r0, #2] - bl sub_080791D0 -_08071078: - pop {r4, pc} - .align 2, 0 -_0807107C: .4byte gTextBox -_08071080: .4byte gPlayerState - - thumb_func_start sub_08071084 -sub_08071084: @ 0x08071084 - push {lr} - ldr r1, _080710A0 @ =gPlayerState - adds r1, #0xa8 - movs r2, #0xb - strb r2, [r1] - ldr r2, _080710A4 @ =gUnk_0811BA88 - ldrb r1, [r0, #0xd] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080710A0: .4byte gPlayerState -_080710A4: .4byte gUnk_0811BA88 - - thumb_func_start sub_080710A8 -sub_080710A8: @ 0x080710A8 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xd] - adds r0, #1 - movs r2, #0 - strb r0, [r4, #0xd] - ldr r1, _080710EC @ =gPlayerState - ldr r3, [r1, #0x30] - movs r0, #1 - orrs r3, r0 - ldr r0, _080710F0 @ =0xFFFFF3FF - ands r3, r0 - str r3, [r1, #0x30] - strb r2, [r1, #0xc] - ldrb r2, [r1, #5] - ldrb r0, [r1, #0x1b] - orrs r0, r2 - adds r5, r1, #0 - cmp r0, #0 - bne _080710FA - movs r0, #0x80 - ands r3, r0 - cmp r3, #0 - bne _080710FA - bl ResetPlayer - ldr r0, [r5, #0x30] - movs r1, #8 - ands r0, r1 - cmp r0, #0 - beq _080710F4 - movs r0, #0x84 - lsls r0, r0, #3 - b _080710F8 - .align 2, 0 -_080710EC: .4byte gPlayerState -_080710F0: .4byte 0xFFFFF3FF -_080710F4: - movs r0, #0x81 - lsls r0, r0, #4 -_080710F8: - strh r0, [r5, #8] -_080710FA: - movs r0, #0 - strb r0, [r5, #0x1e] - ldrb r1, [r4, #0x14] - movs r0, #0xe - ands r0, r1 - lsls r0, r0, #2 - strb r0, [r4, #0x15] - movs r0, #1 - bl sub_08079FC4 - lsls r0, r0, #4 - subs r0, #4 - lsls r0, r0, #0xc - str r0, [r4, #0x20] - movs r0, #0x80 - lsls r0, r0, #1 - strh r0, [r4, #0x24] - bl sub_0807A108 - movs r0, #0x7c - bl PlaySFX - movs r0, #0x78 - bl PlaySFX - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08071130 -sub_08071130: @ 0x08071130 - push {r4, r5, r6, lr} - adds r5, r0, #0 - bl sub_08078EFC - cmp r0, #0 - bne _08071206 - ldr r6, _080711B4 @ =gPlayerState - ldrb r0, [r6, #0x1b] - cmp r0, #0 - bne _08071158 - adds r0, r5, #0 - bl UpdateAnimationSingleFrame - adds r0, r5, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - bne _08071206 -_08071158: - adds r0, r5, #0 - bl sub_0806F69C - movs r1, #0x80 - lsls r1, r1, #6 - adds r0, r5, #0 - bl sub_08003FC4 - cmp r0, #0 - bne _08071206 - strb r0, [r6, #2] - adds r0, r5, #0 - bl sub_0800455E - ldr r0, [r5, #0x74] - cmp r0, #0 - beq _0807117E - bl sub_0800455E -_0807117E: - adds r0, r5, #0 - movs r1, #7 - bl sub_08008790 - ldrb r0, [r6, #0x14] - cmp r0, #0 - bne _08071206 - bl sub_0807A1B8 - bl sub_08078EFC - adds r4, r0, #0 - cmp r4, #0 - bne _08071206 - bl sub_08079D48 - cmp r0, #0 - beq _080711AC - adds r0, r6, #0 - adds r0, #0x26 - ldrb r0, [r0] - cmp r0, #0 - beq _080711B8 -_080711AC: - strb r4, [r6, #2] - bl sub_080791D0 - b _08071206 - .align 2, 0 -_080711B4: .4byte gPlayerState -_080711B8: - movs r0, #6 - strb r0, [r5, #0xe] - ldrb r1, [r6, #5] - ldrb r0, [r6, #0xb] - orrs r0, r1 - cmp r0, #0 - bne _080711EE - ldr r1, [r6, #0x30] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _080711EE - movs r0, #8 - ands r1, r0 - cmp r1, #0 - beq _080711E0 - ldr r0, _080711DC @ =0x00000424 - b _080711E4 - .align 2, 0 -_080711DC: .4byte 0x00000424 -_080711E0: - movs r0, #0x82 - lsls r0, r0, #4 -_080711E4: - strh r0, [r6, #8] - adds r1, r5, #0 - adds r1, #0x58 - movs r0, #0xff - strb r0, [r1] -_080711EE: - ldrb r0, [r5, #0xd] - adds r0, #1 - movs r4, #0 - strb r0, [r5, #0xd] - bl sub_08078F60 - adds r0, r5, #0 - adds r0, #0x42 - strb r4, [r0] - movs r0, #0x7d - bl PlaySFX -_08071206: - pop {r4, r5, r6, pc} - - thumb_func_start sub_08071208 -sub_08071208: @ 0x08071208 - push {r4, lr} - adds r4, r0, #0 - ldr r2, _08071244 @ =gPlayerState - ldrb r1, [r2, #5] - ldrb r0, [r2, #0xb] - orrs r0, r1 - cmp r0, #0 - bne _08071228 - ldr r0, [r2, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - bne _08071228 - adds r0, r4, #0 - bl UpdateAnimationSingleFrame -_08071228: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0xff - bne _08071240 - ldr r1, _08071244 @ =gPlayerState - movs r0, #0 - strb r0, [r1, #2] - bl sub_080791D0 -_08071240: - pop {r4, pc} - .align 2, 0 -_08071244: .4byte gPlayerState - - thumb_func_start sub_08071248 -sub_08071248: @ 0x08071248 - push {lr} - ldr r3, _08071274 @ =gPlayerState - adds r2, r3, #0 - adds r2, #0xa8 - movs r1, #0x16 - strb r1, [r2] - ldr r1, [r3, #0x30] - movs r2, #4 - orrs r1, r2 - str r1, [r3, #0x30] - ldrb r2, [r0, #0x10] - movs r1, #0x7f - ands r1, r2 - strb r1, [r0, #0x10] - ldr r2, _08071278 @ =gUnk_0811BA94 - ldrb r1, [r0, #0xd] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08071274: .4byte gPlayerState -_08071278: .4byte gUnk_0811BA94 - - thumb_func_start sub_0807127C -sub_0807127C: @ 0x0807127C - push {r4, r5, lr} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xd] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - subs r0, #0x3a - ands r0, r1 - strb r0, [r2] - ldr r5, _080712AC @ =gPlayerState - ldr r1, [r5, #0x30] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080712B4 - movs r0, #0x3c - strb r0, [r4, #0xe] - ldr r0, _080712B0 @ =0x00000C19 - strh r0, [r5, #8] - movs r0, #0x84 - bl PlaySFX - b _080712E4 - .align 2, 0 -_080712AC: .4byte gPlayerState -_080712B0: .4byte 0x00000C19 -_080712B4: - movs r0, #0x80 - lsls r0, r0, #9 - ands r1, r0 - cmp r1, #0 - bne _080712C4 - adds r0, r4, #0 - bl sub_08004168 -_080712C4: - adds r0, r4, #0 - movs r1, #0xb - movs r2, #0 - bl CreateFx - ldr r0, [r5, #0x30] - movs r1, #8 - ands r0, r1 - cmp r0, #0 - bne _080712E0 - ldr r0, _080712DC @ =0x0000072C - b _080712E2 - .align 2, 0 -_080712DC: .4byte 0x0000072C -_080712E0: - ldr r0, _080712EC @ =0x0000044C -_080712E2: - strh r0, [r5, #8] -_080712E4: - bl ResetPlayer - pop {r4, r5, pc} - .align 2, 0 -_080712EC: .4byte 0x0000044C - - thumb_func_start sub_080712F0 -sub_080712F0: @ 0x080712F0 - push {r4, r5, lr} - adds r4, r0, #0 - bl UpdateAnimationSingleFrame - movs r5, #0 - ldr r3, _08071314 @ =gPlayerState - ldr r0, [r3, #0x30] - movs r2, #0x80 - ands r0, r2 - cmp r0, #0 - beq _08071318 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0807133E - b _08071342 - .align 2, 0 -_08071314: .4byte gPlayerState -_08071318: - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - adds r0, r2, #0 - ands r0, r1 - cmp r0, #0 - beq _0807133E - adds r0, r4, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, #0xce - beq _0807133C - ldr r0, _08071338 @ =0x000002CE - strh r0, [r3, #8] - b _0807133E - .align 2, 0 -_08071338: .4byte 0x000002CE -_0807133C: - movs r5, #1 -_0807133E: - cmp r5, #0 - beq _0807137A -_08071342: - adds r1, r4, #0 - adds r1, #0x42 - movs r0, #0 - strb r0, [r1] - subs r1, #5 - movs r0, #0x20 - strb r0, [r1] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - subs r0, #0x59 - ands r0, r1 - movs r1, #8 - orrs r0, r1 - strb r0, [r2] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - ldr r2, _0807137C @ =gPlayerState - ldr r0, [r2, #0x30] - movs r1, #5 - rsbs r1, r1, #0 - ands r0, r1 - str r0, [r2, #0x30] - bl sub_08079458 -_0807137A: - pop {r4, r5, pc} - .align 2, 0 -_0807137C: .4byte gPlayerState - - thumb_func_start sub_08071380 -sub_08071380: @ 0x08071380 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r5, _080713E8 @ =gPlayerState - adds r1, r5, #0 - adds r1, #0xa8 - movs r0, #0xe - strb r0, [r1] - ldr r1, _080713EC @ =gUnk_0811BA9C - ldrb r0, [r4, #0xd] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - ldrb r0, [r4, #0xd] - cmp r0, #7 - beq _080713FC - cmp r0, #2 - bls _080713FC - ldr r0, [r5, #0x30] - movs r1, #0x20 - ands r0, r1 - cmp r0, #0 - beq _080713FC - ldr r0, _080713F0 @ =gUnk_03000FF0 - ldrh r1, [r0, #2] - movs r0, #0x81 - lsls r0, r0, #1 - ands r0, r1 - cmp r0, #0 - beq _080713FC - bl CheckIsDungeon - cmp r0, #0 - bne _080713D0 - ldr r0, _080713F4 @ =gArea - ldrb r0, [r0, #0x17] - cmp r0, #3 - bne _080713F8 -_080713D0: - movs r0, #7 - strb r0, [r4, #0xd] - movs r0, #0x1e - strb r0, [r4, #0xe] - movs r0, #7 - movs r1, #0x10 - bl DoFade - movs r0, #0xf8 - bl PlaySFX - b _080713FC - .align 2, 0 -_080713E8: .4byte gPlayerState -_080713EC: .4byte gUnk_0811BA9C -_080713F0: .4byte gUnk_03000FF0 -_080713F4: .4byte gArea -_080713F8: - bl sub_0804ACF8 -_080713FC: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08071400 -sub_08071400: @ 0x08071400 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - movs r1, #0 - strb r0, [r4, #0x10] - adds r0, r4, #0 - adds r0, #0x42 - strb r1, [r0] - ldr r0, _0807149C @ =gArea - ldrh r3, [r0, #0x12] - ldrh r5, [r0, #0x14] - movs r0, #0x2e - ldrsh r2, [r4, r0] - cmp r2, r3 - bne _0807142A - movs r1, #0x32 - ldrsh r0, [r4, r1] - cmp r0, r5 - beq _08071444 -_0807142A: - movs r0, #0x32 - ldrsh r1, [r4, r0] - adds r0, r2, #0 - adds r2, r3, #0 - adds r3, r5, #0 - bl sub_080045D4 - strb r0, [r4, #0x15] - movs r0, #0x80 - lsls r0, r0, #1 - strh r0, [r4, #0x24] - bl sub_08079E08 -_08071444: - adds r0, r4, #0 - bl sub_08073904 - adds r0, r4, #0 - bl UpdateAnimationSingleFrame - ldr r2, _080714A0 @ =gPlayerState - ldrb r0, [r2, #2] - cmp r0, #0 - bne _0807147C - ldr r0, [r2, #0x30] - movs r1, #0x20 - orrs r0, r1 - str r0, [r2, #0x30] - movs r0, #1 - strb r0, [r4, #0xd] - movs r0, #4 - strb r0, [r4, #0x14] - ldrb r1, [r4, #0x18] - subs r0, #0x45 - ands r0, r1 - strb r0, [r4, #0x18] - ldr r0, _0807149C @ =gArea - ldrb r0, [r0, #0x17] - cmp r0, #4 - bne _0807147C - ldr r0, _080714A4 @ =0x0000052C - strh r0, [r2, #8] -_0807147C: - movs r0, #8 - strb r0, [r4, #0xe] - ldr r0, _0807149C @ =gArea - ldrb r0, [r0, #0x17] - cmp r0, #3 - beq _0807149A - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #3 - orrs r0, r1 - strb r0, [r2] -_0807149A: - pop {r4, r5, pc} - .align 2, 0 -_0807149C: .4byte gArea -_080714A0: .4byte gPlayerState -_080714A4: .4byte 0x0000052C - thumb_func_start sub_080714A8 sub_080714A8: @ 0x080714A8 push {r4, lr} diff --git a/asm/non_matching/player/sub_08070794.s b/asm/non_matching/player/sub_08070794.s new file mode 100644 index 00000000..a1555771 --- /dev/null +++ b/asm/non_matching/player/sub_08070794.s @@ -0,0 +1,544 @@ + .syntax unified + + .text + + push {r4, r5, r6, r7, lr} + adds r5, r0, #0 + ldr r6, _080707F0 @ =gPlayerState + adds r3, r6, #0 + adds r3, #0xa8 + movs r4, #0 + strb r4, [r3] + ldr r1, [r6, #0x30] + movs r7, #0x10 + adds r0, r1, #0 + ands r0, r7 + mov ip, r6 + cmp r0, #0 + beq _08070818 + adds r2, r5, #0 + adds r2, #0x29 + ldrb r1, [r2] + movs r0, #0x39 + rsbs r0, r0, #0 + ands r0, r1 + strb r0, [r2] + adds r0, r5, #0 + adds r0, #0x42 + strb r4, [r0] + movs r0, #0xa0 + lsls r0, r0, #1 + strh r0, [r5, #0x24] + movs r0, #0x80 + strb r0, [r6, #6] + strb r7, [r3] + ldrb r0, [r5, #0x14] + lsrs r0, r0, #1 + adds r0, #0x5c + adds r1, r5, #0 + adds r1, #0x58 + ldrb r1, [r1] + cmp r0, r1 + bne _080707F8 + ldrh r0, [r5, #0x12] + cmp r0, #2 + bne _080707F8 + ldr r0, _080707F4 @ =gPlayerEntity + bl UpdateAnimationSingleFrame + b _08070800 + .align 2, 0 +_080707F0: .4byte gPlayerState +_080707F4: .4byte gPlayerEntity +_080707F8: + movs r0, #0x97 + lsls r0, r0, #2 + mov r1, ip + strh r0, [r1, #8] +_08070800: + ldr r0, _08070814 @ =gPlayerEntity + bl sub_0806F948 + bl ResetPlayer + adds r0, r5, #0 + bl sub_08077698 + b _08070BE4 + .align 2, 0 +_08070814: .4byte gPlayerEntity +_08070818: + movs r0, #0x80 + lsls r0, r0, #5 + ands r0, r1 + cmp r0, #0 + beq _08070842 + adds r1, r5, #0 + adds r1, #0x40 + movs r0, #0x1e + strb r0, [r1] + movs r0, #0xc + strb r0, [r3] + movs r1, #0 + movs r2, #0x24 + ldrsh r0, [r5, r2] + cmp r0, #0 + bne _0807083A + movs r1, #1 +_0807083A: + adds r0, r5, #0 + bl sub_08070BEC + b _08070BE4 +_08070842: + movs r4, #0x80 + lsls r4, r4, #0xc + ands r4, r1 + cmp r4, #0 + beq _08070852 + bl sub_08079938 + b _08070BE4 +_08070852: + adds r0, r5, #0 + bl sub_080085B0 + adds r0, r5, #0 + adds r0, #0x40 + strb r4, [r0] + bl sub_08078EFC + cmp r0, #0 + beq _08070868 + b _08070BE4 +_08070868: + adds r0, r6, #0 + adds r0, #0x26 + ldrb r0, [r0] + cmp r0, #0 + bne _080708AC + ldrb r1, [r6, #2] + movs r2, #0xc0 + adds r0, r2, #0 + ands r0, r1 + cmp r0, #0 + bne _080708AC + ldrb r0, [r6, #3] + cmp r0, #0 + bne _0807088E + adds r0, r6, #0 + adds r0, #0x21 + ldrb r0, [r0] + cmp r0, #0 + beq _08070892 +_0807088E: + strh r2, [r5, #0x24] + b _080708AC +_08070892: + ldrb r0, [r6, #0x1b] + cmp r0, #0 + beq _0807089C + movs r0, #0xe0 + b _080708AA +_0807089C: + ldrb r0, [r6, #0x1c] + cmp r0, #0 + beq _080708A6 + movs r0, #0x80 + b _080708AA +_080708A6: + movs r0, #0xa0 + lsls r0, r0, #1 +_080708AA: + strh r0, [r5, #0x24] +_080708AC: + ldr r4, _08070918 @ =gPlayerState + ldrb r0, [r4, #6] + movs r1, #0x80 + orrs r1, r0 + strb r1, [r4, #6] + ldr r0, [r4, #0x30] + ldr r6, _0807091C @ =0x10000002 + ands r0, r6 + cmp r0, #0 + bne _080708C4 + bl sub_0807A1B8 +_080708C4: + bl sub_08078EFC + cmp r0, #0 + beq _080708CE + b _08070BE4 +_080708CE: + ldrb r0, [r4, #2] + cmp r0, #0 + beq _080708D6 + b _080709D8 +_080708D6: + ldr r0, [r4, #0x30] + movs r1, #0x80 + lsls r1, r1, #3 + ands r0, r1 + cmp r0, #0 + beq _080708E4 + b _080709D8 +_080708E4: + adds r0, r5, #0 + adds r0, #0x42 + ldrb r0, [r0] + cmp r0, #0 + bne _08070924 + bl sub_080782C0 + cmp r0, #0 + beq _08070924 + ldr r0, _08070920 @ =gRoomVars + ldrb r0, [r0, #6] + cmp r0, #0 + bne _08070902 + bl ResetPlayer +_08070902: + ldr r0, [r4, #0x30] + ands r0, r6 + cmp r0, #0 + beq _0807090C + b _08070BE4 +_0807090C: + bl sub_0807A1B8 + bl sub_08078EFC + b _08070BE4 + .align 2, 0 +_08070918: .4byte gPlayerState +_0807091C: .4byte 0x10000002 +_08070920: .4byte gRoomVars +_08070924: + ldr r0, _0807094C @ =gPlayerState + ldr r1, [r0, #0x30] + ldr r2, _08070950 @ =0x00041635 + ands r1, r2 + adds r0, #0xaa + ldrb r0, [r0] + orrs r1, r0 + cmp r1, #0 + bne _080709D8 + bl sub_08019840 + cmp r0, #0xf + bls _08070940 + b _08070BE4 +_08070940: + lsls r0, r0, #2 + ldr r1, _08070954 @ =_08070958 + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0807094C: .4byte gPlayerState +_08070950: .4byte 0x00041635 +_08070954: .4byte _08070958 +_08070958: @ jump table + .4byte _08070998 @ case 0 + .4byte _08070BE4 @ case 1 + .4byte _08070BE4 @ case 2 + .4byte _080709A8 @ case 3 + .4byte _080709C2 @ case 4 + .4byte _08070BE4 @ case 5 + .4byte _08070BE4 @ case 6 + .4byte _08070BE4 @ case 7 + .4byte _08070BE4 @ case 8 + .4byte _08070BE4 @ case 9 + .4byte _08070BE4 @ case 10 + .4byte _08070BE4 @ case 11 + .4byte _08070BE4 @ case 12 + .4byte _08070BE4 @ case 13 + .4byte _08070BE4 @ case 14 + .4byte _080709B4 @ case 15 +_08070998: + ldr r0, _080709A4 @ =gPlayerState + ldrb r1, [r0, #6] + movs r2, #0x80 + eors r1, r2 + strb r1, [r0, #6] + b _080709D8 + .align 2, 0 +_080709A4: .4byte gPlayerState +_080709A8: + ldr r1, _080709B0 @ =gPlayerState + movs r0, #0x80 + strb r0, [r1, #6] + b _080709D8 + .align 2, 0 +_080709B0: .4byte gPlayerState +_080709B4: + ldrb r1, [r5, #0x10] + movs r0, #0x7f + ands r0, r1 + strb r0, [r5, #0x10] + bl sub_080797EC + b _08070BE4 +_080709C2: + ldr r0, _080709D4 @ =gPlayerState + ldrb r1, [r0, #6] + movs r2, #0x80 + eors r1, r2 + strb r1, [r0, #6] + bl sub_080797EC + b _08070BE4 + .align 2, 0 +_080709D4: .4byte gPlayerState +_080709D8: + adds r1, r5, #0 + adds r1, #0x3c + movs r0, #0 + strb r0, [r1] + adds r6, r5, #0 + adds r6, #0x29 + ldrb r1, [r6] + subs r0, #8 + ands r0, r1 + movs r1, #4 + orrs r0, r1 + strb r0, [r6] + adds r0, r5, #0 + bl sub_0807AC54 + cmp r0, #0 + beq _080709FC + b _08070BE4 +_080709FC: + adds r0, r5, #0 + bl sub_08077698 + bl sub_08078EFC + cmp r0, #0 + beq _08070A0C + b _08070BE4 +_08070A0C: + bl sub_080792D8 + ldr r4, _08070A78 @ =gPlayerState + ldrb r1, [r4, #2] + ldrb r0, [r4, #0xa] + orrs r0, r1 + cmp r0, #0 + bne _08070A32 + bl sub_08079550 + cmp r0, #0 + beq _08070A26 + b _08070BE4 +_08070A26: + adds r0, r5, #0 + bl sub_08078F74 + cmp r0, #0 + beq _08070A32 + b _08070BE4 +_08070A32: + adds r0, r5, #0 + bl sub_08073904 + bl sub_08078EFC + cmp r0, #0 + beq _08070A42 + b _08070BE4 +_08070A42: + ldrb r2, [r4, #2] + cmp r2, #0 + beq _08070AAC + adds r1, r4, #0 + adds r1, #0xa8 + movs r0, #0x14 + strb r0, [r1] + movs r0, #0xc0 + ands r0, r2 + cmp r0, #0 + bne _08070A80 + movs r0, #7 + ands r0, r2 + cmp r0, #3 + beq _08070A7C + movs r0, #0x20 + ands r0, r2 + lsls r0, r0, #0x18 + lsrs r0, r0, #0x18 + cmp r0, #0 + bne _08070A7C + strh r0, [r5, #0x24] + adds r0, r5, #0 + bl sub_08008926 + b _08070A80 + .align 2, 0 +_08070A78: .4byte gPlayerState +_08070A7C: + movs r0, #0xff + strb r0, [r5, #0x15] +_08070A80: + bl sub_08079E08 + adds r0, r5, #0 + adds r0, #0x5a + ldrb r1, [r0] + movs r0, #2 + ands r0, r1 + cmp r0, #0 + beq _08070A94 + b _08070BE4 +_08070A94: + ldr r0, _08070AA8 @ =gPlayerState + ldrb r0, [r0, #4] + cmp r0, #0 + beq _08070A9E + b _08070BE4 +_08070A9E: + adds r0, r5, #0 + bl UpdateAnimationSingleFrame + b _08070BE4 + .align 2, 0 +_08070AA8: .4byte gPlayerState +_08070AAC: + adds r0, r5, #0 + adds r0, #0x42 + ldrb r1, [r0] + adds r7, r0, #0 + cmp r1, #0 + beq _08070ABA + b _08070BBC +_08070ABA: + adds r0, r4, #0 + adds r0, #0x26 + ldrb r0, [r0] + cmp r0, #0 + beq _08070AD4 + adds r1, r4, #0 + adds r1, #0xa8 + movs r0, #7 + strb r0, [r1] + adds r0, r5, #0 + bl sub_0807ACCC + b _08070B56 +_08070AD4: + ldr r0, [r4, #0x30] + movs r1, #0x80 + lsls r1, r1, #0x12 + ands r0, r1 + cmp r0, #0 + bne _08070AEE + ldrb r0, [r6] + movs r1, #0x39 + rsbs r1, r1, #0 + ands r1, r0 + movs r0, #8 + orrs r1, r0 + strb r1, [r6] +_08070AEE: + ldrb r1, [r4, #0x1e] + movs r0, #0x40 + ands r0, r1 + cmp r0, #0 + beq _08070B00 + adds r0, r5, #0 + bl sub_08008AA0 + b _08070B1E +_08070B00: + ldrb r0, [r4, #0x12] + cmp r0, #0x17 + bne _08070B0E + adds r0, r5, #0 + bl sub_08008926 + b _08070B1E +_08070B0E: + cmp r0, #1 + bne _08070B18 + bl sub_08078F60 + b _08070B1E +_08070B18: + adds r0, r5, #0 + bl sub_08008AA0 +_08070B1E: + ldr r2, _08070BB8 @ =gPlayerState + ldrb r1, [r2, #0x1b] + movs r0, #0x10 + ands r0, r1 + cmp r0, #0 + bne _08070B56 + ldrb r3, [r2, #0xd] + strb r3, [r5, #0x15] + ldr r0, [r2, #0x30] + movs r1, #0x80 + lsls r1, r1, #3 + ands r0, r1 + cmp r0, #0 + beq _08070B56 + movs r0, #0xc0 + lsls r0, r0, #2 + strh r0, [r5, #0x24] + movs r0, #0x80 + ands r0, r3 + cmp r0, #0 + beq _08070B52 + ldrb r1, [r5, #0x14] + movs r0, #0xe + ands r0, r1 + lsls r0, r0, #2 + strb r0, [r5, #0x15] +_08070B52: + bl sub_0807A108 +_08070B56: + movs r4, #0 + ldr r3, _08070BB8 @ =gPlayerState + ldrb r2, [r3, #7] + ldrb r0, [r5, #0x15] + orrs r0, r2 + movs r1, #0x80 + ands r0, r1 + ldrb r1, [r3, #0xa] + orrs r0, r1 + cmp r0, #0 + bne _08070B8E + movs r0, #0x10 + ands r0, r2 + cmp r0, #0 + bne _08070B8E + movs r4, #1 + ldrb r0, [r7] + cmp r0, #0 + bne _08070B8E + ldrb r1, [r3, #0x1e] + movs r0, #0x40 + ands r0, r1 + cmp r0, #0 + bne _08070B8C + ldrb r0, [r3, #0x12] + cmp r0, #0x17 + beq _08070B8E +_08070B8C: + movs r4, #3 +_08070B8E: + adds r0, r5, #0 + adds r1, r4, #0 + bl sub_08070BEC + adds r0, r5, #0 + bl sub_08008AC6 + ldrb r0, [r7] + cmp r0, #0 + bne _08070BE4 + ldr r1, _08070BB8 @ =gPlayerState + ldrb r0, [r1, #0xb] + cmp r0, #0 + bne _08070BE4 + ldrb r0, [r1, #0x12] + cmp r0, #0x1e + beq _08070BE4 + adds r0, r5, #0 + bl sub_0806F948 + b _08070BE4 + .align 2, 0 +_08070BB8: .4byte gPlayerState +_08070BBC: + ldr r0, [r4, #0x2c] + cmp r0, #0 + bne _08070BC8 + adds r0, r5, #0 + bl UpdateAnimationSingleFrame +_08070BC8: + adds r0, r4, #0 + adds r0, #0x26 + ldrb r0, [r0] + cmp r0, #0 + beq _08070BE4 + ldr r0, _08070BE8 @ =gScreenTransition + ldr r0, [r0] + movs r1, #7 + ands r0, r1 + cmp r0, #0 + bne _08070BE4 + adds r0, r5, #0 + bl CreateWaterTrace +_08070BE4: + pop {r4, r5, r6, r7, pc} + .align 2, 0 +_08070BE8: .4byte gScreenTransition + .syntax divided diff --git a/asm/non_matching/player/sub_08070DC4.s b/asm/non_matching/player/sub_08070DC4.s new file mode 100644 index 00000000..0b73a553 --- /dev/null +++ b/asm/non_matching/player/sub_08070DC4.s @@ -0,0 +1,87 @@ + .syntax unified + push {r4, r5, r6, lr} + adds r4, r0, #0 + bl UpdateAnimationSingleFrame + adds r0, r4, #0 + bl sub_080085B0 + bl sub_08079E08 + bl sub_0807A1B8 + bl sub_08078EFC + cmp r0, #0 + bne _08070E76 + movs r1, #0x80 + lsls r1, r1, #6 + adds r0, r4, #0 + bl sub_08003FC4 + cmp r0, #0 + bne _08070E76 + ldr r6, _08070E18 @ =gPlayerState + strb r0, [r6, #2] + bl sub_08078EFC + adds r5, r0, #0 + cmp r5, #0 + bne _08070E76 + bl sub_08079D48 + cmp r0, #0 + bne _08070E10 + adds r0, r6, #0 + adds r0, #0x26 + ldrb r0, [r0] + cmp r0, #0 + beq _08070E1C +_08070E10: + strb r5, [r6, #2] + bl sub_080791D0 + b _08070E76 + .align 2, 0 +_08070E18: .4byte gPlayerState +_08070E1C: + ldrb r0, [r4, #0xe] + subs r0, #1 + strb r0, [r4, #0xe] + lsls r0, r0, #0x18 + lsrs r0, r0, #0x18 + cmp r0, #0xff + beq _08070E32 + movs r0, #0x80 + lsls r0, r0, #9 + str r0, [r4, #0x20] + b _08070E76 +_08070E32: + ldrb r0, [r4, #0x10] + movs r1, #0x80 + orrs r0, r1 + strb r0, [r4, #0x10] + ldrb r0, [r6, #0x14] + cmp r0, #0 + bne _08070E56 + bl sub_08008B22 + cmp r0, #0 + beq _08070E56 + movs r0, #7 + strb r0, [r6, #0x11] + bl sub_08079938 + bl sub_080791BC + b _08070E76 +_08070E56: + movs r0, #1 + strh r0, [r4, #0x12] + movs r0, #8 + strb r0, [r4, #0xe] + ldrb r0, [r4, #0xd] + adds r0, #1 + strb r0, [r4, #0xd] + ldr r2, _08070E78 @ =gPlayerState + ldr r0, [r2, #0x30] + movs r1, #0x80 + ands r0, r1 + cmp r0, #0 + bne _08070E76 + movs r0, #0x80 + lsls r0, r0, #1 + strh r0, [r2, #8] +_08070E76: + pop {r4, r5, r6, pc} + .align 2, 0 +_08070E78: .4byte gPlayerState + .syntax divided diff --git a/include/functions.h b/include/functions.h index abb22ffb..b2f73c87 100644 --- a/include/functions.h +++ b/include/functions.h @@ -307,5 +307,18 @@ extern void sub_08078AA8(u32, u32); extern void sub_08078B48(void); extern void sub_0807919C(); extern void sub_0807CAA0(u32, u32); -extern void sub_08080964(u16, u32); +extern void sub_080085B0(Entity*); +extern u32 sub_08079D48(); +extern u32 sub_08008B22(); +extern void sub_080791BC9(); +extern void sub_080791BC(); +extern void sub_08056360(); +extern u32 sub_080542AC(u32); +extern void sub_0807A108(); +extern u32 sub_08079FC4(u32); +extern void sub_0800455E(Entity*); +extern void sub_08008790(Entity*, u32); +extern u32 CheckIsDungeon(); +extern void sub_0804ACF8(); +extern void sub_08073904(Entity*); #endif diff --git a/include/global.h b/include/global.h index 3b2e0446..146dfc14 100644 --- a/include/global.h +++ b/include/global.h @@ -49,6 +49,26 @@ #define static_assert(cond) extern char assertion[(cond) ? 1 : -1] +#if NON_MATCHING +#define asmfunc(prologue, path) +#else +#define asmfunc(prologue, path) \ + NAKED prologue { \ + asm(".include " #path); \ + } +#endif + +#if NON_MATCHING +#define NONMATCH(prologue, path) prologue +#define END_NONMATCH +#else +#define NONMATCH(path, prologue) \ + NAKED prologue { \ + asm(".include " #path); \ + if (0) +#define END_NONMATCH } +#endif + typedef union { s32 WORD; struct { @@ -76,6 +96,4 @@ union SplitHWord { } PACKED HALF; } PACKED; - - #endif // GUARD_GLOBAL_H diff --git a/include/room.h b/include/room.h index f0cbd8db..8b869d69 100644 --- a/include/room.h +++ b/include/room.h @@ -79,5 +79,6 @@ extern RoomControls gRoomControls; extern RoomVars gRoomVars; extern void SetTileType(u32, u32, u32); +extern void sub_08080964(u32 time, u32 magnitude); // shake screen #endif diff --git a/linker.ld b/linker.ld index c785e9bc..2c9e5126 100644 --- a/linker.ld +++ b/linker.ld @@ -648,7 +648,7 @@ SECTIONS { src/sub_0806FA04.o(.text); src/position.o(.text); asm/code_0806FA6C.o(.text); - src/sub_08070680.o(.text); + src/player.o(.text); asm/code_08070698.o(.text); asm/stairsInteract.o(.text); asm/code_080732D0.o(.text); diff --git a/src/code_0808091C.c b/src/code_0808091C.c index cdd7504a..74caf177 100644 --- a/src/code_0808091C.c +++ b/src/code_0808091C.c @@ -62,7 +62,7 @@ u32* GetLayerByIndex(u32 param_1) { } } -void sub_08080964(u16 time, u32 magnitude) { +void sub_08080964(u32 time, u32 magnitude) { gRoomControls.screenShakeTime = time; gRoomControls.screenShakeMagnitude = magnitude & 7; return; diff --git a/src/npc/carlov.c b/src/npc/carlov.c index 1d17ee4c..d3824e78 100644 --- a/src/npc/carlov.c +++ b/src/npc/carlov.c @@ -11,7 +11,6 @@ extern void sub_0807DD50(Entity*); extern void sub_0807DD94(Entity*, u32); extern void EnqueueSFX(u32); -extern void sub_08080964(u32, u32); void Carlov(Entity* this) { if (this->action == 0) { diff --git a/src/player.c b/src/player.c new file mode 100644 index 00000000..1192f6be --- /dev/null +++ b/src/player.c @@ -0,0 +1,546 @@ +#include "global.h" +#include "entity.h" +#include "player.h" +#include "textbox.h" +#include "functions.h" +#include "readKeyInput.h" +#include "area.h" + +extern const void (*const gUnk_0811B9E0[])(Entity*); +extern const void (*const gUnk_0811BA60[])(Entity*); +extern const void (*const gUnk_0811BA68[])(Entity*); +extern const void (*const gUnk_0811BA74[])(Entity*); +extern const void (*const gUnk_0811BA7C[])(Entity*); +extern const void (*const gUnk_0811BA88[])(Entity*); +extern const void (*const gUnk_0811BA94[])(Entity*); +extern const void (*const gUnk_0811BA9C[])(Entity*); + +extern void sub_08079458(); +extern void sub_080797EC(); +extern void sub_08079E08(); +extern void sub_08078F60(); + +extern BoundingBox gUnk_08114F88; + +// inject +void sub_08070680(Entity* this) { + gUnk_0811B9E0[this->action](this); +} + +void sub_08070698(Entity* this) { + Entity* ent; + + gPlayerState.field_0x0[0] = 0xff; + gPlayerState.field_0x16[0] = gPlayerEntity.x.HALF.HI; + gPlayerState.field_0x16[1] = gPlayerEntity.y.HALF.HI; + this->flags = this->flags | 0x80; + this->spritePriority.b0 = 0xc; + this->spritePriority.b1 = 1; + this->spriteSettings.b.shadow = 1; + this->field_0x16 = 0x20; + this->flags2 = 8; + this->damageType = 0x79; + this->boundingBox = &gUnk_08114F88; + this->spriteIndex = 1; + gPlayerState.field_0x8 = 0x100; + sub_0806FDA0(this); + sub_080AE008(this, 1, 2); + InitAnimationForceUpdate(this, 2); + if (this->collisionLayer == 0) { + sub_08016A30(this); + } + + if (IsItemEquipped(0x10) != 2) { + sub_08077728(); + } + sub_0807A108(); + sub_0807AEE4(); + + if (sub_08078EFC() == 0) { + sub_0807921C(); + sub_0807A1B8(); + if (gPlayerState.swimState != 0) { + gPlayerState.swimState = 1; + sub_08079938(); + gPlayerState.field_0xa8 = 7; + sub_0807ACCC(this); + ent = FindEntityInListByForm(0x6, 0xf, 0x6, 0xb, 0x0); + if (ent != NULL) { + DeleteEntity(ent); + } + } + } +} + +// PlayerState.flags need to be 100% before this one can reasonably be done +NONMATCH("asm/non_matching/player/sub_08070794.s", void sub_08070794(Entity* this)) { +} +END_NONMATCH + +void sub_08070BEC(Entity* this, u32 r0) { + if (r0 & 1) + sub_080797EC(); + else + sub_08079938(); + + if (r0 & 2) + sub_08079E08(); +} + +void sub_08070C10(Entity* this) { + gPlayerState.field_0xd[0] = 0xFF; + gPlayerState.pushedObject = 0x80; + gPlayerState.field_0xa8 = 10; + + gUnk_0811BA60[this->previousActionFlag](this); +} + +void sub_08070C3C(Entity* this) { + sub_08004168(this); + + gPlayerState.flags.all |= 0x1 | 0x4; + gPlayerState.flags.all &= ~0x400; + + gPlayerState.jumpStatus = 0; + + if ((gPlayerState.flags.all & 0x80) != 0) + gPlayerState.field_0x8 = 0x1ba; + else if ((gPlayerState.flags.all & 8) != 0) + gPlayerState.field_0x8 = 0x458; + else + gPlayerState.field_0x8 = 0x1b8; + + this->previousActionFlag++; + this->flags &= ~0x80; + this->spritePriority.b1 = 0; + ResetPlayer(); + sub_0807A108(); + PlaySFX(0x7b); + PlaySFX(0x85); +} + +void sub_08070CB4(Entity* this) { + UpdateAnimationSingleFrame(this); + if ((this->frames.all & 0x80) != 0) { + if ((gUnk_02002A40.stats.health != 0) && ((gPlayerState.flags.all & 0x8000) != 0)) { + gPlayerState.flags.all &= ~(0x1 | 0x4); + this->spriteSettings.b.draw = 0; + } else { + gPlayerState.flags.all &= ~(0x4 | 0x8000); + sub_08079458(); + gPlayerState.field_0xa = 0; + this->hurtBlinkTime = 0x20; + ModHealth(-2); + } + } +} + +void sub_08070D20(Entity* this) { + gUnk_0811BA68[this->previousActionFlag](this); +} + +void sub_08070D38(Entity* this) { + this->flags &= ~0x80; + this->direction = ((this->animationState & 0xe) << 2) ^ 0x10; + this->nonPlanarMovement = 0x100; + this->field_0x42 = 0; + this->previousActionFlag++; + this->actionDelay = gPlayerState.field_0x38; + this->spriteIndex = 1; + + if ((gPlayerState.flags.all & 0x80) == 0) { + this->field_0x20 = 0x20000; + gPlayerState.field_0x8 = 0x114; + sub_08080964(16, 0); + } else { + gPlayerState.field_0x8 = 0xc18; + this->field_0x20 = 0x18000; + } + + gPlayerState.jumpStatus = 0x80; + PlaySFX(0x14c); + ResetPlayer(); + sub_08078F60(); +} + +// minor regalloc +NONMATCH("asm/non_matching/player/sub_08070DC4.s", void sub_08070DC4(Entity* this)) { + UpdateAnimationSingleFrame(this); + sub_080085B0(this); + sub_08079E08(); + sub_0807A1B8(); + + if (sub_08078EFC() || sub_08003FC4(this, 0x2000)) + return; + + gPlayerState.jumpStatus = 0; + + if (sub_08078EFC() || sub_08079D48()) + return; + + if (gPlayerState.swimState != 0) { + gPlayerState.jumpStatus = 0; + sub_080791D0(); + return; + } + + if (--this->actionDelay != 0xFF) { + this->field_0x20 = 0x10000; + return; + } + + this->flags |= 0x80; + + if ((gPlayerState.field_0x14 == 0) && sub_08008B22()) { + gPlayerState.field_0x10[1] = 7; + sub_08079938(); + sub_080791BC(); + return; + } + + this->spriteIndex = 1; + this->actionDelay = 8; + this->previousActionFlag++; + + if ((gPlayerState.flags.all & 0x80) == 0) + gPlayerState.field_0x8 = 0x100; +} +END_NONMATCH + +void sub_08070E7C(Entity* this) { + u8 timer = --this->actionDelay; + + if (timer == 0) { + gPlayerState.jumpStatus = timer; + sub_080791D0(); + } +} + +void sub_08070E9C(Entity* this) { + if (sub_08078EFC() != 0) { + sub_08056360(); + } else { + gPlayerState.field_0x27[0] = 4; + gPlayerState.field_0xa8 = 0x13; + sub_0807A1B8(); + gUnk_0811BA74[this->previousActionFlag](this); + } +} + +void sub_08070EDC(Entity* this) { + this->scriptedScene = 2; + + if ((gTextBox.doTextBox & 0x7f) != 0) + this->previousActionFlag = 1; + + if ((gPlayerState.flags.all & 0x80) == 0) + sub_08079938(); + else + gPlayerState.field_0x8 = 0xc18; +} + +void sub_08070f24(Entity* this) { + UpdateAnimationSingleFrame(this); + if ((gTextBox.doTextBox & 0x7f) == 0) { + this->scriptedScene = this->scriptedScene2; + sub_080791D0(); + } +} + +void sub_08070F50(Entity* this) { + Entity* child; + u8* temp; // todo: retype + + gPlayerState.field_0xa8 = 0x15; + this->flags &= ~(0x80); + gUnk_0811BA7C[this->previousActionFlag](this); + + child = this->attachedEntity; + if (child != NULL) { + PositionEntityOnTop(this, child); + temp = GetSpriteSubEntryOffsetDataPointer((u16)this->spriteIndex, this->frameIndex); + child->spriteOffsetX = *temp; + child->spriteOffsetY = temp[1]; + } +} + +void sub_08070FA4(Entity* this) { + u16 temp; + + this->spriteSettings.b.flipX = FALSE; + this->animationState = 4; + + gPlayerState.flags.all |= 1; + gPlayerState.jumpStatus = 0; + + if ((gPlayerState.flags.all & 0x80) == 0) { + if ((gPlayerState.flags.all & 0x8) != 0) { + if (sub_080542AC(gPlayerState.field_0x38)) { + temp = 0x45e; + } else { + temp = 0x45b; + } + } else { + if (sub_080542AC(gPlayerState.field_0x38)) { + temp = 0x2e0; + } else { + temp = 0x1b9; + } + } + gPlayerState.field_0x8 = temp; + } + + this->previousActionFlag = 1; + ResetPlayer(); + sub_08078F60(); +} + +void sub_08071020(Entity* this) { + UpdateAnimationSingleFrame(this); + if (this->frames.all != 0) { + this->previousActionFlag = 2; + } +} + +void sub_08071038(Entity* this) { + + UpdateAnimationSingleFrame(this); + + if (sub_08078EFC() || (gTextBox.doTextBox & 0x7f)) + return; + + if ((this->frames.all & 0x80) != 0) { + this->attachedEntity = 0; + this->field_0x42 = 0; + this->hurtBlinkTime = 0xf8; + gPlayerState.jumpStatus = 0; + sub_080791D0(); + } +} + +void sub_08071084(Entity* this) { + gPlayerState.field_0xa8 = 0xb; + gUnk_0811BA88[this->previousActionFlag](this); +} + +void sub_080710A8(Entity* this) { + u32 temp; + + this->previousActionFlag++; + + gPlayerState.flags.all |= 1; + gPlayerState.flags.all &= ~(0x400 | 0x800); + + gPlayerState.playerAction = 0; + + if ((gPlayerState.heldObject | gPlayerState.field_0x1a[1]) == 0) { + if ((gPlayerState.flags.all & 0x80) == 0) { + ResetPlayer(); + + if ((gPlayerState.flags.all & 0x8) != 0) { + gPlayerState.field_0x8 = 0x420; + } else { + gPlayerState.field_0x8 = 0x810; + } + } + } + + gPlayerState.field_0x1d[1] = 0; + this->direction = ((this->animationState & 0xe) << 2); + + temp = sub_08079FC4(1); + asm("lsl r0, r0, #0x4"); + this->field_0x20 = (temp - 4) * 64 * 64; + + this->nonPlanarMovement = 0x100; + sub_0807A108(); + PlaySFX(0x7c); + PlaySFX(0x78); +} + +void sub_08071130(Entity* this) { + + if (sub_08078EFC(this)) + return; + + if (gPlayerState.field_0x1a[1] == 0) { + UpdateAnimationSingleFrame(this); + + if ((this->frames.all & 1)) + return; + } + + sub_0806F69C(this); + + if (sub_08003FC4(this, 0x2000)) + return; + + gPlayerState.jumpStatus = 0; + sub_0800455E(this); + + if (*(Entity**)&this->field_0x74 != NULL) + sub_0800455E(*(Entity**)&this->field_0x74); + + sub_08008790(this, 7); + + if (gPlayerState.field_0x14) + return; + + sub_0807A1B8(); + + if (sub_08078EFC()) + return; + + if ((sub_08079D48() == 0) || (gPlayerState.swimState != 0)) { + gPlayerState.jumpStatus = 0; + sub_080791D0(); + return; + } + + this->actionDelay = 6; + + if (((gPlayerState.heldObject | gPlayerState.keepFacing) == 0) && ((gPlayerState.flags.all & 0x80) == 0)) { + if ((gPlayerState.flags.all & 0x8) != 0) { + gPlayerState.field_0x8 = 0x424; + } else { + gPlayerState.field_0x8 = 0x820; + } + this->animIndex = 0xff; + } + + this->previousActionFlag++; + sub_08078F60(); + this->field_0x42 = 0; + PlaySFX(0x7d); +} + +void sub_08071208(Entity* this) { + if ((gPlayerState.heldObject | gPlayerState.keepFacing) == 0) { + if ((gPlayerState.flags.all & 0x80) == 0) { + UpdateAnimationSingleFrame(this); + } + } + + if (--this->actionDelay == 0xff) { + gPlayerState.jumpStatus = 0; + sub_080791D0(); + } +} + +void sub_08071248(Entity* this) { + gPlayerState.field_0xa8 = 0x16; + gPlayerState.flags.all |= 4; + this->flags &= ~0x80; + gUnk_0811BA94[this->previousActionFlag](this); +} + +void sub_0807127C(Entity* this) { + this->previousActionFlag = 1; + this->spritePriority.b1 = 0; + + if ((gPlayerState.flags.all & 0x80) != 0) { + this->actionDelay = 0x3c; + gPlayerState.field_0x8 = 0xc19; + PlaySFX(0x84); + } else { + if ((gPlayerState.flags.all & 0x10000) == 0) { + sub_08004168(this); + } + + CreateFx(this, 11, 0); + + if ((gPlayerState.flags.all & 8) == 0) { + gPlayerState.field_0x8 = 0x72c; + } else { + gPlayerState.field_0x8 = 0x44c; + } + } + ResetPlayer(); +} + +void sub_080712F0(Entity* this) { + u32 temp; + + UpdateAnimationSingleFrame(this); + + temp = FALSE; + + if ((gPlayerState.flags.all & 0x80) != 0) { + if (--this->actionDelay == 0) + temp = TRUE; + } else if ((this->frames.all & 0x80) != 0) { + if (this->animIndex != 0xce) + gPlayerState.field_0x8 = 0x2ce; + else + temp = TRUE; + } + + if (temp == FALSE) + return; + + this->field_0x42 = 0; + this->hurtBlinkTime = 0x20; + this->spritePriority.b1 = 1; + this->spriteSettings.b.draw = FALSE; + gPlayerState.flags.all &= ~(0x4); + sub_08079458(); +} + +void sub_08071380(Entity *this) { + gPlayerState.field_0xa8 = 0xe; + gUnk_0811BA9C[this->previousActionFlag](this); + + if ((this->previousActionFlag == 7) || (this->previousActionFlag < 3)) + return; + + if ((gPlayerState.flags.all & 0x20) == 0) + return; + + if ((gUnk_03000FF0.newKeys & 0x102) == 0) + return; + + if (CheckIsDungeon() || gArea.field_0x17 == 3) { + this->previousActionFlag = 7; + this->actionDelay = 30; + DoFade(7, 16); + PlaySFX(0xf8); + } else { + sub_0804ACF8(); + } +} + +void sub_08071400(Entity* this) { + u16 x; + u16 y; + + this->flags &= ~(0x80); + this->field_0x42 = 0; + + x = gArea.field_0x12; + y = gArea.field_0x14; + + if ((this->x.HALF.HI != x) || (this->y.HALF.HI != y)) { + this->direction = sub_080045D4(this->x.HALF.HI, this->y.HALF.HI, gArea.field_0x12, gArea.field_0x14); + this->nonPlanarMovement = 0x100; + sub_08079E08(); + } + + sub_08073904(this); + UpdateAnimationSingleFrame(this); + + if (gPlayerState.jumpStatus == 0) { + gPlayerState.flags.all |= 0x20; + this->previousActionFlag = 1; + this->animationState = 4; + this->spriteSettings.b.flipX = FALSE; + if (gArea.field_0x17 == 4) { + gPlayerState.field_0x8 = 0x52c; + } + } + + this->actionDelay = 8; + + if (gArea.field_0x17 != 3) { + this->spritePriority.b0 = 3; + } +} diff --git a/src/sub_08070680.c b/src/sub_08070680.c deleted file mode 100644 index a7717ff3..00000000 --- a/src/sub_08070680.c +++ /dev/null @@ -1,60 +0,0 @@ -#include "global.h" -#include "entity.h" -#include "player.h" -#include "functions.h" - -extern void (*gUnk_0811B9E0[])(Entity*); - -extern BoundingBox gUnk_08114F88; - -// inject -void sub_08070680(Entity* this) { - gUnk_0811B9E0[this->action](this); -} - -void sub_08070698(Entity* this) { - u32 uVar1; - int iVar2; - Entity* ent; - - gPlayerState.field_0x0[0] = 0xff; - gPlayerState.field_0x16[0] = gPlayerEntity.x.HALF.HI; - gPlayerState.field_0x16[1] = gPlayerEntity.y.HALF.HI; - this->flags = this->flags | 0x80; - this->spritePriority.b0 = 0xc; - this->spritePriority.b1 = 1; - this->spriteSettings.b.shadow = 1; - this->field_0x16 = 0x20; - this->flags2 = 8; - this->damageType = 0x79; - this->boundingBox = &gUnk_08114F88; - this->spriteIndex = 1; - gPlayerState.field_0x8 = 0x100; - sub_0806FDA0(this); - sub_080AE008(this, 1, 2); - InitAnimationForceUpdate(this, 2); - if (this->collisionLayer == 0) { - sub_08016A30(this); - } - uVar1 = IsItemEquipped(0x10); - if (uVar1 != 2) { - sub_08077728(); - } - sub_0807A108(); - sub_0807AEE4(); - iVar2 = sub_08078EFC(); - if (iVar2 == 0) { - sub_0807921C(); - sub_0807A1B8(); - if (gPlayerState.swimState != 0) { - gPlayerState.swimState = 1; - sub_08079938(); - gPlayerState.field_0xa8 = 7; - sub_0807ACCC(this); - ent = FindEntityInListByForm(0x6, 0xf, 0x6, 0xb, 0x0); - if (ent != NULL) { - DeleteEntity(ent); - } - } - } -} From 0dab5bbc99ea7cb82e443a9d9d7b639c44616bad Mon Sep 17 00:00:00 2001 From: Ibot02 Date: Mon, 18 Jan 2021 16:05:52 +0100 Subject: [PATCH 031/101] manager28.c: ok --- asm/manager28.s | 342 -------------------- asm/non_matching/manager28/sub_0805C94C.inc | 56 ++++ include/entity.h | 12 +- include/functions.h | 1 + include/room.h | 2 + linker.ld | 2 +- src/enemy/bladeTrap.c | 1 - src/entity.c | 6 - src/loadRoom.c | 1 - src/manager/manager28.c | 130 ++++++++ src/manager/managerB.c | 1 - src/manager/managerE.c | 1 - src/object/houseDoorExterior.c | 1 - src/object/lightableSwitch.c | 1 - src/object/lilypadSmall.c | 1 - src/object/object48.c | 2 +- 16 files changed, 201 insertions(+), 359 deletions(-) delete mode 100644 asm/manager28.s create mode 100644 asm/non_matching/manager28/sub_0805C94C.inc create mode 100644 src/manager/manager28.c diff --git a/asm/manager28.s b/asm/manager28.s deleted file mode 100644 index acbf9d14..00000000 --- a/asm/manager28.s +++ /dev/null @@ -1,342 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_0805C934 -sub_0805C934: @ 0x0805C934 - push {lr} - ldr r2, _0805C948 @ =gUnk_08108D28 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0805C948: .4byte gUnk_08108D28 - - thumb_func_start sub_0805C94C -sub_0805C94C: @ 0x0805C94C - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _0805C9B0 - adds r6, r4, #0 - adds r6, #0x20 - adds r1, r6, #0 - movs r2, #0 - adds r0, r4, #0 - adds r0, #0x3c -_0805C962: - str r2, [r0] - subs r0, #4 - cmp r0, r1 - bge _0805C962 - adds r0, r4, #0 - bl sub_0805CA6C - adds r5, r0, #0 - cmp r5, #1 - ble _0805C9A8 - bl GetEmptyManager - adds r2, r0, #0 - cmp r2, #0 - beq _0805C9A8 - movs r0, #9 - strb r0, [r2, #8] - movs r0, #0x28 - strb r0, [r2, #9] - movs r0, #1 - strb r0, [r2, #0xa] - strb r5, [r2, #0xe] - adds r1, r2, #0 - adds r1, #0x20 - adds r0, r6, #0 - ldm r0!, {r3, r5, r6} - stm r1!, {r3, r5, r6} - ldm r0!, {r3, r5, r6} - stm r1!, {r3, r5, r6} - ldm r0!, {r3, r5} - stm r1!, {r3, r5} - adds r0, r2, #0 - movs r1, #6 - bl AppendEntityToList -_0805C9A8: - adds r0, r4, #0 - bl DeleteManager - b _0805C9B8 -_0805C9B0: - movs r1, #0 - movs r0, #1 - strb r0, [r4, #0xc] - strb r1, [r4, #0xf] -_0805C9B8: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_0805C9BC -sub_0805C9BC: @ 0x0805C9BC - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - sub sp, #4 - adds r6, r0, #0 - bl sub_0805CB48 - ldrb r0, [r6, #0xe] - subs r0, #1 - mov sb, r0 - ldrb r1, [r6, #0xf] - adds r0, r1, #1 - strb r0, [r6, #0xf] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0805CA22 - movs r2, #0 - cmp r2, sb - bge _0805CA62 - movs r0, #0x20 - adds r0, r0, r6 - mov r8, r0 -_0805C9EC: - lsls r1, r2, #2 - adds r0, r6, #0 - adds r0, #0x20 - adds r0, r0, r1 - ldr r3, [r0] - adds r4, r2, #1 - adds r5, r4, #0 - ldrb r1, [r6, #0xe] - cmp r5, r1 - bge _0805CA1A - lsls r0, r5, #2 - mov r1, r8 - adds r7, r0, r1 -_0805CA06: - ldm r7!, {r1} - adds r0, r3, #0 - str r3, [sp] - bl sub_08004484 - adds r4, #1 - ldr r3, [sp] - ldrb r0, [r6, #0xe] - cmp r4, r0 - blt _0805CA06 -_0805CA1A: - adds r2, r5, #0 - cmp r2, sb - blt _0805C9EC - b _0805CA62 -_0805CA22: - movs r2, #0 - cmp r2, sb - bge _0805CA62 - movs r1, #0x20 - adds r1, r1, r6 - mov r8, r1 -_0805CA2E: - lsls r1, r2, #2 - adds r0, r6, #0 - adds r0, #0x20 - adds r0, r0, r1 - ldr r3, [r0] - adds r4, r2, #1 - adds r5, r4, #0 - ldrb r0, [r6, #0xe] - cmp r5, r0 - bge _0805CA5C - lsls r0, r5, #2 - mov r1, r8 - adds r7, r0, r1 -_0805CA48: - ldm r7!, {r0} - adds r1, r3, #0 - str r3, [sp] - bl sub_08004484 - adds r4, #1 - ldr r3, [sp] - ldrb r0, [r6, #0xe] - cmp r4, r0 - blt _0805CA48 -_0805CA5C: - adds r2, r5, #0 - cmp r2, sb - blt _0805CA2E -_0805CA62: - add sp, #4 - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_0805CA6C -sub_0805CA6C: @ 0x0805CA6C - push {r4, r5, r6, lr} - adds r6, r0, #0 - movs r5, #0 - ldrb r0, [r6, #0xb] - bl GetCurrentRoomProperty - adds r4, r0, #0 - cmp r4, #0 - bne _0805CACE - movs r0, #0 - b _0805CAE4 -_0805CA82: - movs r0, #8 - b _0805CAE4 -_0805CA86: - movs r0, #0xf - ands r0, r2 - cmp r0, #3 - bne _0805CACC - adds r0, r4, #0 - bl sub_0805CAF0 - adds r2, r0, #0 - cmp r2, #0 - beq _0805CACC - movs r3, #0 - cmp r3, r5 - bhs _0805CAB8 - ldr r0, [r6, #0x20] - cmp r0, r2 - beq _0805CAB8 - adds r1, r6, #0 - adds r1, #0x20 -_0805CAAA: - adds r1, #4 - adds r3, #1 - cmp r3, r5 - bhs _0805CAB8 - ldr r0, [r1] - cmp r0, r2 - bne _0805CAAA -_0805CAB8: - cmp r3, r5 - bne _0805CACC - lsls r1, r5, #2 - adds r0, r6, #0 - adds r0, #0x20 - adds r0, r0, r1 - str r2, [r0] - adds r5, #1 - cmp r5, #8 - beq _0805CA82 -_0805CACC: - adds r4, #0x10 -_0805CACE: - ldrb r2, [r4] - adds r0, r2, #0 - cmp r0, #0xff - beq _0805CAE2 - ldr r0, [r4] - ldr r1, _0805CAE8 @ =0x00FF000F - ands r0, r1 - ldr r1, _0805CAEC @ =0x00280009 - cmp r0, r1 - bne _0805CA86 -_0805CAE2: - adds r0, r5, #0 -_0805CAE4: - pop {r4, r5, r6, pc} - .align 2, 0 -_0805CAE8: .4byte 0x00FF000F -_0805CAEC: .4byte 0x00280009 - - thumb_func_start sub_0805CAF0 -sub_0805CAF0: @ 0x0805CAF0 - push {r4, r5, r6, lr} - adds r3, r0, #0 - ldrh r1, [r3, #8] - ldr r2, _0805CB34 @ =gRoomControls - ldrh r0, [r2, #6] - adds r5, r1, r0 - ldrh r1, [r3, #0xa] - ldrh r0, [r2, #8] - adds r4, r1, r0 - ldr r1, _0805CB38 @ =gUnk_03003D90 - ldr r2, [r1, #4] - cmp r2, r1 - beq _0805CB42 -_0805CB0A: - movs r6, #0x2e - ldrsh r0, [r2, r6] - cmp r5, r0 - bne _0805CB3C - movs r6, #0x32 - ldrsh r0, [r2, r6] - cmp r4, r0 - bne _0805CB3C - ldrb r0, [r3, #2] - ldrb r6, [r2, #9] - cmp r0, r6 - bne _0805CB3C - ldrb r0, [r2, #8] - cmp r0, #3 - bne _0805CB3C - ldrb r0, [r3, #3] - ldrb r6, [r2, #0xa] - cmp r0, r6 - bne _0805CB3C - adds r0, r2, #0 - b _0805CB44 - .align 2, 0 -_0805CB34: .4byte gRoomControls -_0805CB38: .4byte gUnk_03003D90 -_0805CB3C: - ldr r2, [r2, #4] - cmp r2, r1 - bne _0805CB0A -_0805CB42: - movs r0, #0 -_0805CB44: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_0805CB48 -sub_0805CB48: @ 0x0805CB48 - push {r4, r5, r6, lr} - adds r4, r0, #0 - movs r5, #0 - ldrb r1, [r4, #0xe] - cmp r5, r1 - bge _0805CB84 - adds r3, r4, #0 - adds r3, #0x20 - adds r6, r3, #0 -_0805CB5A: - ldr r0, [r3] - ldr r2, [r0, #4] - cmp r2, #0 - bne _0805CB7A - subs r0, r1, #1 - cmp r0, r5 - bne _0805CB6C - str r2, [r3] - b _0805CB74 -_0805CB6C: - lsls r0, r0, #2 - adds r0, r6, r0 - ldr r0, [r0] - str r0, [r3] -_0805CB74: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] -_0805CB7A: - adds r3, #4 - adds r5, #1 - ldrb r1, [r4, #0xe] - cmp r5, r1 - blt _0805CB5A -_0805CB84: - ldrb r0, [r4, #0xe] - cmp r0, #1 - bhi _0805CB8E - bl DeleteThisEntity -_0805CB8E: - pop {r4, r5, r6, pc} diff --git a/asm/non_matching/manager28/sub_0805C94C.inc b/asm/non_matching/manager28/sub_0805C94C.inc new file mode 100644 index 00000000..2a34a5dd --- /dev/null +++ b/asm/non_matching/manager28/sub_0805C94C.inc @@ -0,0 +1,56 @@ +sub_0805C94C: @ 0x0805C94C + push {r4, r5, r6, lr} + add r4, r0, #0 + ldrb r0, [r4, #0xa] + cmp r0, #0 + bne _0805C9B0 + add r6, r4, #0 + add r6, r6, #0x20 + add r1, r6, #0 + mov r2, #0 + add r0, r4, #0 + add r0, r0, #0x3c +_0805C962: + str r2, [r0] + sub r0, r0, #0x4 + cmp r0, r1 + bge _0805C962 + add r0, r4, #0 + bl sub_0805CA6C + add r5, r0, #0 + cmp r5, #0x1 + ble _0805C9A8 + bl GetEmptyManager + add r2, r0, #0 + cmp r2, #0 + beq _0805C9A8 + mov r0, #0x9 + strb r0, [r2, #0x8] + mov r0, #0x28 + strb r0, [r2, #0x9] + mov r0, #0x1 + strb r0, [r2, #0xa] + strb r5, [r2, #0xe] + add r1, r2, #0 + add r1, r1, #0x20 + add r0, r6, #0 + ldm r0!, {r3, r5, r6} + stm r1!, {r3, r5, r6} + ldm r0!, {r3, r5, r6} + stm r1!, {r3, r5, r6} + ldm r0!, {r3, r5} + stm r1!, {r3, r5} + add r0, r2, #0 + mov r1, #0x6 + bl AppendEntityToList +_0805C9A8: + add r0, r4, #0 + bl DeleteManager + b _0805C9B8 +_0805C9B0: + mov r1, #0 + mov r0, #0x1 + strb r0, [r4, #0xc] + strb r1, [r4, #0xf] +_0805C9B8: + pop {r4, r5, r6, pc} diff --git a/include/entity.h b/include/entity.h index 7972bd96..ad4df8fb 100644 --- a/include/entity.h +++ b/include/entity.h @@ -135,6 +135,16 @@ typedef struct Entity { /*0x86*/ union SplitHWord field_0x86; } Entity; +typedef struct LinkedList { + Entity* last; + Entity* first; +} LinkedList; + +extern LinkedList gEntityLists[9]; +extern LinkedList gUnk_03003D90; + +extern LinkedList gUnk_03003DA0; + #define TILE(x, y) \ ((((x - gRoomControls.roomOriginX) >> 4) & 0x3fU) | \ (((y - gRoomControls.roomOriginY) >> 4) & 0x3fU) << 6) @@ -189,6 +199,4 @@ enum { #define Direction8ToAnimationState(expr) (Direction8RoundUp(expr) >> 2) #define Direction8FromAnimationState(expr) (expr << 2) -extern Entity gUnk_03003DA0; - #endif diff --git a/include/functions.h b/include/functions.h index b2f73c87..afef56c4 100644 --- a/include/functions.h +++ b/include/functions.h @@ -321,4 +321,5 @@ extern void sub_08008790(Entity*, u32); extern u32 CheckIsDungeon(); extern void sub_0804ACF8(); extern void sub_08073904(Entity*); +extern void sub_08004484(Entity*, Entity*); #endif diff --git a/include/room.h b/include/room.h index 8b869d69..35ed3137 100644 --- a/include/room.h +++ b/include/room.h @@ -81,4 +81,6 @@ extern RoomVars gRoomVars; extern void SetTileType(u32, u32, u32); extern void sub_08080964(u32 time, u32 magnitude); // shake screen +extern void* GetCurrentRoomProperty(u32); + #endif diff --git a/linker.ld b/linker.ld index 2c9e5126..d3c9a02a 100644 --- a/linker.ld +++ b/linker.ld @@ -510,7 +510,7 @@ SECTIONS { asm/manager25.o(.text); asm/manager26.o(.text); src/manager/manager27.o(.text); - asm/manager28.o(.text); + src/manager/manager28.o(.text); asm/manager29.o(.text); asm/manager2A.o(.text); asm/manager2B.o(.text); diff --git a/src/enemy/bladeTrap.c b/src/enemy/bladeTrap.c index 54dcfcb7..397afc93 100644 --- a/src/enemy/bladeTrap.c +++ b/src/enemy/bladeTrap.c @@ -4,7 +4,6 @@ extern void sub_080A2CC0(); extern void sub_0806F69C(); extern void EnqueueSFX(); -extern Entity* GetCurrentRoomProperty(); void BladeTrap(Entity* ent) { u16 uVar1; diff --git a/src/entity.c b/src/entity.c index 4327bd42..0f0835c6 100644 --- a/src/entity.c +++ b/src/entity.c @@ -132,12 +132,6 @@ void ClearDeletedEntity(Entity* ent) { gEntCount--; } -typedef struct LinkedList { - Entity* last; - Entity* first; -} LinkedList; - -extern LinkedList gEntityLists[9]; extern EntityType gUnk_03003DB8; void DeleteAllEntities(void) { diff --git a/src/loadRoom.c b/src/loadRoom.c index 3e756c15..f0106fc2 100644 --- a/src/loadRoom.c +++ b/src/loadRoom.c @@ -3,7 +3,6 @@ #include "flags.h" void LoadRoomEntityList(EntityData* dat); -extern EntityData* GetCurrentRoomProperty(u32 unk); extern void sub_0804B058(EntityData* dat); extern void LoadRoomTileEntities(EntityData* dat); extern void sub_0801AC98(); diff --git a/src/manager/manager28.c b/src/manager/manager28.c new file mode 100644 index 00000000..44b33b08 --- /dev/null +++ b/src/manager/manager28.c @@ -0,0 +1,130 @@ +#include "global.h" +#include "manager.h" +#include "entity.h" +#include "room.h" +#include "functions.h" + +typedef struct { + Manager manager; + Entity* unk_20[8]; +} Manager28; + +extern void (* const gUnk_08108D28[])(Manager28*); + +void sub_0805C934(Manager28*); +void sub_0805C94C(Manager28*); +void sub_0805C9BC(Manager28*); +u32 sub_0805CA6C(Manager28*); +Entity* sub_0805CAF0(EntityData*); +void sub_0805CB48(Manager28*); + +void sub_0805C934(Manager28* this) { + gUnk_08108D28[this->manager.action](this); +} + +NONMATCH("asm/non_matching/manager28/sub_0805C94C.inc", void sub_0805C94C(Manager28* this)) { + if (!this->manager.unk_0a) { + s32 tmp2; + int tmp4; + for (tmp4 = 0; tmp4 < 8; tmp4++) { + this->unk_20[tmp4] = 0; + } + tmp2 = sub_0805CA6C(this);//maybe 2 params? + if (tmp2 > 1) { + Manager28* tmp3 = (Manager28*) GetEmptyManager(); + if (tmp3) { + tmp3->manager.type = 9; + tmp3->manager.subtype = 0x28; + tmp3->manager.unk_0a = 1; + tmp3->manager.unk_0e = tmp2; + for (tmp4 = 0; tmp4 < 8; tmp4++) { + tmp3->unk_20[tmp4] = this->unk_20[tmp4]; + } + AppendEntityToList(tmp3, 6); + } + } + DeleteManager(&this->manager); + } else { + this->manager.action = 1; + this->manager.unk_0f = 0; + } +} +END_NONMATCH + +void sub_0805C9BC(Manager28* this) { + s32 n; + s32 i; + s32 j; + Entity* tmp; + sub_0805CB48(this); + n = this->manager.unk_0e - 1; + if ((this->manager.unk_0f++) & 1) { + for (i = 0; i < n; i++) { + tmp = this->unk_20[i]; + for (j = i + 1; j < this->manager.unk_0e; j++) { + sub_08004484(tmp, this->unk_20[j]); + } + } + } else { + for (i = 0; i < n; i++) { + tmp = this->unk_20[i]; + for (j = i + 1; j < this->manager.unk_0e; j++) { + sub_08004484(this->unk_20[j], tmp); + } + } + } +} + +u32 sub_0805CA6C(Manager28* this) { + u32 re = 0; + EntityData * tmp = GetCurrentRoomProperty(this->manager.unk_0b); + if (!tmp) return 0; + for (; *((u8*) tmp) != 0xFF && !(tmp->type == 9 && tmp->subtype == 0x28); tmp++) { + Entity* tmp2; + u32 i; + if (tmp->type != 3) continue; + tmp2 = sub_0805CAF0(tmp); + if (!tmp2) continue; + for (i = 0; i < re; i++) { + if (this->unk_20[i] == tmp2) break; + } + if (i != re) continue; + this->unk_20[re++] = tmp2; + if (re == 8) return 8; + } + return re; +} + +Entity* sub_0805CAF0(EntityData* unk1) { + u32 x, y; + Entity* i; + LinkedList* tmp; + x = unk1->xPos + gRoomControls.roomOriginX; + y = unk1->yPos + gRoomControls.roomOriginY; + tmp = &gUnk_03003D90; + for (i = tmp->first; (u32) i != (u32) tmp; i = i->next) { + if (x == i->x.HALF.HI + && y == i->y.HALF.HI + && unk1->subtype == i->entityType.subtype + && 3 == i->entityType.type + && unk1->form == i->entityType.form) { + return i; + } + } + return 0; +} + +void sub_0805CB48(Manager28* this) { + s32 i; + for (i = 0; i < this->manager.unk_0e; i++) { + if (this->unk_20[i]->next == 0) { + if (this->manager.unk_0e-1 == i) { + this->unk_20[i] = this->unk_20[i]->next; + } else { + this->unk_20[i] = this->unk_20[this->manager.unk_0e-1]; + } + this->manager.unk_0e--; + } + } + if (this->manager.unk_0e <= 1) DeleteThisEntity(); +} diff --git a/src/manager/managerB.c b/src/manager/managerB.c index a63fb8a0..d7bbcee1 100644 --- a/src/manager/managerB.c +++ b/src/manager/managerB.c @@ -83,7 +83,6 @@ void ManagerB_WaitForDone(ManagerB* this) { ManagerBHelper* CreateHelper(Manager*); void ManagerBHelper_Monitor(ManagerBHelper*, Entity*, u32); -extern EntityData* GetCurrentRoomProperty(u8); extern Entity* LoadRoomEntity(EntityData*); void ManagerB_LoadFight(Manager* this) { diff --git a/src/manager/managerE.c b/src/manager/managerE.c index b48c1cc5..e096874f 100644 --- a/src/manager/managerE.c +++ b/src/manager/managerE.c @@ -4,7 +4,6 @@ #include "flags.h" #include "room.h" -extern Entity* GetCurrentRoomProperty(u8); extern void LoadRoomEntityList(Entity*); extern void DeleteThisEntity(void); extern void DeleteManager(Manager*); diff --git a/src/object/houseDoorExterior.c b/src/object/houseDoorExterior.c index c15f94f0..cdee3afe 100644 --- a/src/object/houseDoorExterior.c +++ b/src/object/houseDoorExterior.c @@ -26,7 +26,6 @@ static u8 sub_08086954(Entity*); extern u32 sub_080562CC(u32, u32, u32, u32); extern void sub_08078AC0(u32, u32, u32); -extern void* GetCurrentRoomProperty(u8); extern void (*const gUnk_081206B4[])(Entity*); extern BoundingBox gUnk_081206AC; // TODO: should be const diff --git a/src/object/lightableSwitch.c b/src/object/lightableSwitch.c index ecc6449e..472f9fd4 100644 --- a/src/object/lightableSwitch.c +++ b/src/object/lightableSwitch.c @@ -9,7 +9,6 @@ extern void sub_0809EAD8(Entity*); extern void sub_0809EABC(Entity*); extern void EnqueueSFX(u32); extern void sub_080A2CC0(Entity*, Entity**, u16*); -extern Entity* GetCurrentRoomProperty(u32); extern void SetTile(u32, u32, u32); extern void sub_0806F69C(Entity*); diff --git a/src/object/lilypadSmall.c b/src/object/lilypadSmall.c index 32991f65..7dc35ae2 100644 --- a/src/object/lilypadSmall.c +++ b/src/object/lilypadSmall.c @@ -3,7 +3,6 @@ #include "functions.h" #include "player.h" -extern Entity* GetCurrentRoomProperty(u32); extern void sub_080A2CC0(Entity*, Entity**, u16*); extern u16 gUnk_08123318[]; diff --git a/src/object/object48.c b/src/object/object48.c index f340da1c..e62b174a 100644 --- a/src/object/object48.c +++ b/src/object/object48.c @@ -323,7 +323,7 @@ void sub_0808EBB8(Entity* this) { } static Entity* sub_0808EC80(int form) { - Entity* entityA = &gUnk_03003DA0; + Entity* entityA = (Entity*) &gUnk_03003DA0; Entity* entityB = entityA->next; while (entityB != entityA) { if ((entityB->entityType.type == 0x6 && entityB->entityType.subtype == 0x48) && From bbfd8348559edf9afbd71d0d01013a523997258c Mon Sep 17 00:00:00 2001 From: Ibot02 Date: Mon, 18 Jan 2021 16:39:53 +0100 Subject: [PATCH 032/101] manager28.c: split out rodata and rename functions --- .../{sub_0805C94C.inc => Manager28_Init.inc} | 2 +- data/data_08108C94.s | 5556 ---------------- data/data_08108D30.s | 5558 +++++++++++++++++ linker.ld | 2 + src/manager/manager28.c | 53 +- 5 files changed, 5594 insertions(+), 5577 deletions(-) rename asm/non_matching/manager28/{sub_0805C94C.inc => Manager28_Init.inc} (96%) create mode 100644 data/data_08108D30.s diff --git a/asm/non_matching/manager28/sub_0805C94C.inc b/asm/non_matching/manager28/Manager28_Init.inc similarity index 96% rename from asm/non_matching/manager28/sub_0805C94C.inc rename to asm/non_matching/manager28/Manager28_Init.inc index 2a34a5dd..45cfc6cb 100644 --- a/asm/non_matching/manager28/sub_0805C94C.inc +++ b/asm/non_matching/manager28/Manager28_Init.inc @@ -16,7 +16,7 @@ _0805C962: cmp r0, r1 bge _0805C962 add r0, r4, #0 - bl sub_0805CA6C + bl Manager28_FindMatchingEntities add r5, r0, #0 cmp r5, #0x1 ble _0805C9A8 diff --git a/data/data_08108C94.s b/data/data_08108C94.s index b9baf53f..e2fb8853 100644 --- a/data/data_08108C94.s +++ b/data/data_08108C94.s @@ -36,5559 +36,3 @@ gUnk_08108D1C:: @ 08108D1C gUnk_08108D20:: @ 08108D20 .incbin "baserom.gba", 0x108D20, 0x0000008 - -gUnk_08108D28:: @ 08108D28 - .incbin "baserom.gba", 0x108D28, 0x0000008 - -gUnk_08108D30:: @ 08108D30 - .incbin "baserom.gba", 0x108D30, 0x000000C - -gUnk_08108D3C:: @ 08108D3C - .incbin "baserom.gba", 0x108D3C, 0x0000008 - -gUnk_08108D44:: @ 08108D44 - .incbin "baserom.gba", 0x108D44, 0x000000C - -gUnk_08108D50:: @ 08108D50 - .incbin "baserom.gba", 0x108D50, 0x000000C - -gUnk_08108D5C:: @ 08108D5C - .incbin "baserom.gba", 0x108D5C, 0x0000018 - -gUnk_08108D74:: @ 08108D74 - .incbin "baserom.gba", 0x108D74, 0x0000008 - -gUnk_08108D7C:: @ 08108D7C - .incbin "baserom.gba", 0x108D7C, 0x0000010 - -gUnk_08108D8C:: @ 08108D8C - .incbin "baserom.gba", 0x108D8C, 0x000000B - -gUnk_08108D97:: @ 08108D97 - .incbin "baserom.gba", 0x108D97, 0x0000001 - -gUnk_08108D98:: @ 08108D98 - .incbin "baserom.gba", 0x108D98, 0x0000010 - -gUnk_08108DA8:: @ 08108DA8 - .incbin "baserom.gba", 0x108DA8, 0x0000014 - -gUnk_08108DBC:: @ 08108DBC - .incbin "baserom.gba", 0x108DBC, 0x0000008 - -gUnk_08108DC4:: @ 08108DC4 - .incbin "baserom.gba", 0x108DC4, 0x0000014 - -gUnk_08108DD8:: @ 08108DD8 - .incbin "baserom.gba", 0x108DD8, 0x0000008 - -gUnk_08108DE0:: @ 08108DE0 - .incbin "baserom.gba", 0x108DE0, 0x0000008 - -gUnk_08108DE8:: @ 08108DE8 - .incbin "baserom.gba", 0x108DE8, 0x0000040 - -gUnk_08108E28:: @ 08108E28 - .incbin "baserom.gba", 0x108E28, 0x0000008 - -gUnk_08108E30:: @ 08108E30 - .incbin "baserom.gba", 0x108E30, 0x0000018 - -gUnk_08108E48:: @ 08108E48 - .incbin "baserom.gba", 0x108E48, 0x0000002 - -gUnk_08108E4A:: @ 08108E4A - .incbin "baserom.gba", 0x108E4A, 0x0000016 - -gUnk_08108E60:: @ 08108E60 - .incbin "baserom.gba", 0x108E60, 0x000000C - -gUnk_08108E6C:: @ 08108E6C - .incbin "baserom.gba", 0x108E6C, 0x000000C - -gUnk_08108E78:: @ 08108E78 - .incbin "baserom.gba", 0x108E78, 0x0000018 - -gUnk_08108E90:: @ 08108E90 - .incbin "baserom.gba", 0x108E90, 0x0000008 - -gUnk_08108E98:: @ 08108E98 - .incbin "baserom.gba", 0x108E98, 0x000000C - -gUnk_08108EA4:: @ 08108EA4 - .incbin "baserom.gba", 0x108EA4, 0x0000018 - -gUnk_08108EBC:: @ 08108EBC - .incbin "baserom.gba", 0x108EBC, 0x0000008 - -gUnk_08108EC4:: @ 08108EC4 - .incbin "baserom.gba", 0x108EC4, 0x000000C - -gUnk_08108ED0:: @ 08108ED0 - .incbin "baserom.gba", 0x108ED0, 0x0000018 - -gUnk_08108EE8:: @ 08108EE8 - .incbin "baserom.gba", 0x108EE8, 0x0000008 - -gUnk_08108EF0:: @ 08108EF0 - .incbin "baserom.gba", 0x108EF0, 0x000000C - -gUnk_08108EFC:: @ 08108EFC - .incbin "baserom.gba", 0x108EFC, 0x0000018 - -gUnk_08108F14:: @ 08108F14 - .incbin "baserom.gba", 0x108F14, 0x0000008 - -gUnk_08108F1C:: @ 08108F1C - .incbin "baserom.gba", 0x108F1C, 0x000000C - -gUnk_08108F28:: @ 08108F28 - .incbin "baserom.gba", 0x108F28, 0x0000018 - -gUnk_08108F40:: @ 08108F40 - .incbin "baserom.gba", 0x108F40, 0x0000008 - -gUnk_08108F48:: @ 08108F48 - .incbin "baserom.gba", 0x108F48, 0x0000004 - -gUnk_08108F4C:: @ 08108F4C - .incbin "baserom.gba", 0x108F4C, 0x0000008 - -gUnk_08108F54:: @ 08108F54 - .incbin "baserom.gba", 0x108F54, 0x0000018 - -gUnk_08108F6C:: @ 08108F6C - .incbin "baserom.gba", 0x108F6C, 0x0000008 - -gUnk_08108F74:: @ 08108F74 - .incbin "baserom.gba", 0x108F74, 0x000000C - -gUnk_08108F80:: @ 08108F80 - .incbin "baserom.gba", 0x108F80, 0x0000018 - -gUnk_08108F98:: @ 08108F98 - .incbin "baserom.gba", 0x108F98, 0x0000008 - -gUnk_08108FA0:: @ 08108FA0 - .incbin "baserom.gba", 0x108FA0, 0x000000C - -gUnk_08108FAC:: @ 08108FAC - .incbin "baserom.gba", 0x108FAC, 0x0000018 - -gUnk_08108FC4:: @ 08108FC4 - .incbin "baserom.gba", 0x108FC4, 0x0000008 - -gUnk_08108FCC:: @ 08108FCC - .incbin "baserom.gba", 0x108FCC, 0x000000C - -gUnk_08108FD8:: @ 08108FD8 - .incbin "baserom.gba", 0x108FD8, 0x0000018 - -gUnk_08108FF0:: @ 08108FF0 - .incbin "baserom.gba", 0x108FF0, 0x0000008 - -gUnk_08108FF8:: @ 08108FF8 - .incbin "baserom.gba", 0x108FF8, 0x000000C - -gUnk_08109004:: @ 08109004 - .incbin "baserom.gba", 0x109004, 0x0000001 - -gUnk_08109005:: @ 08109005 - .incbin "baserom.gba", 0x109005, 0x0000014 - -gUnk_08109019:: @ 08109019 - .incbin "baserom.gba", 0x109019, 0x0000003 - -gUnk_0810901C:: @ 0810901C - .incbin "baserom.gba", 0x10901C, 0x0000008 - -gUnk_08109024:: @ 08109024 - .incbin "baserom.gba", 0x109024, 0x000000C - -gUnk_08109030:: @ 08109030 - .incbin "baserom.gba", 0x109030, 0x0000003 - -gUnk_08109033:: @ 08109033 - .incbin "baserom.gba", 0x109033, 0x0000015 - -gUnk_08109048:: @ 08109048 - .incbin "baserom.gba", 0x109048, 0x0000008 - -gUnk_08109050:: @ 08109050 - .incbin "baserom.gba", 0x109050, 0x000000C - -gUnk_0810905C:: @ 0810905C - .incbin "baserom.gba", 0x10905C, 0x0000018 - -gUnk_08109074:: @ 08109074 - .incbin "baserom.gba", 0x109074, 0x0000008 - -gUnk_0810907C:: @ 0810907C - .incbin "baserom.gba", 0x10907C, 0x000000C - -gUnk_08109088:: @ 08109088 - .incbin "baserom.gba", 0x109088, 0x0000018 - -gUnk_081090A0:: @ 081090A0 - .incbin "baserom.gba", 0x1090A0, 0x0000008 - -gUnk_081090A8:: @ 081090A8 - .incbin "baserom.gba", 0x1090A8, 0x000000C - -gUnk_081090B4:: @ 081090B4 - .incbin "baserom.gba", 0x1090B4, 0x0000018 - -gUnk_081090CC:: @ 081090CC - .incbin "baserom.gba", 0x1090CC, 0x0000008 - -gUnk_081090D4:: @ 081090D4 - .incbin "baserom.gba", 0x1090D4, 0x000000C - -gUnk_081090E0:: @ 081090E0 - .incbin "baserom.gba", 0x1090E0, 0x0000018 - -gUnk_081090F8:: @ 081090F8 - .incbin "baserom.gba", 0x1090F8, 0x0000008 - -gUnk_08109100:: @ 08109100 - .incbin "baserom.gba", 0x109100, 0x000000C - -gUnk_0810910C:: @ 0810910C - .incbin "baserom.gba", 0x10910C, 0x0000018 - -gUnk_08109124:: @ 08109124 - .incbin "baserom.gba", 0x109124, 0x0000008 - -gUnk_0810912C:: @ 0810912C - .incbin "baserom.gba", 0x10912C, 0x000000C - -gUnk_08109138:: @ 08109138 - .incbin "baserom.gba", 0x109138, 0x0000008 - -gUnk_08109140:: @ 08109140 - .incbin "baserom.gba", 0x109140, 0x0000018 - -gUnk_08109158:: @ 08109158 - .incbin "baserom.gba", 0x109158, 0x0000008 - -gUnk_08109160:: @ 08109160 - .incbin "baserom.gba", 0x109160, 0x0000018 - -gUnk_08109178:: @ 08109178 - .incbin "baserom.gba", 0x109178, 0x0000008 - -gUnk_08109180:: @ 08109180 - .incbin "baserom.gba", 0x109180, 0x000000C - -gUnk_0810918C:: @ 0810918C - .incbin "baserom.gba", 0x10918C, 0x0000008 - -gUnk_08109194:: @ 08109194 - .incbin "baserom.gba", 0x109194, 0x0000009 - -gUnk_0810919D:: @ 0810919D - .incbin "baserom.gba", 0x10919D, 0x0000047 - -gUnk_081091E4:: @ 081091E4 - .incbin "baserom.gba", 0x1091E4, 0x000000A - -gUnk_081091EE:: @ 081091EE - .incbin "baserom.gba", 0x1091EE, 0x000000A - -gUnk_081091F8:: @ 081091F8 - .incbin "baserom.gba", 0x1091F8, 0x000000A - -gUnk_08109202:: @ 08109202 - .incbin "baserom.gba", 0x109202, 0x0000012 - -gUnk_08109214:: @ 08109214 - .incbin "baserom.gba", 0x109214, 0x000001C - -gUnk_08109230:: @ 08109230 - .incbin "baserom.gba", 0x109230, 0x0000014 - -gUnk_08109244:: @ 08109244 - .incbin "baserom.gba", 0x109244, 0x0000004 - -gUnk_08109248:: @ 08109248 - .incbin "baserom.gba", 0x109248, 0x0000024 - -gUnk_0810926C:: @ 0810926C - .incbin "baserom.gba", 0x10926C, 0x0000040 - -gUnk_081092AC:: @ 081092AC - .incbin "baserom.gba", 0x1092AC, 0x0000028 - -gUnk_081092D4:: @ 081092D4 - .incbin "baserom.gba", 0x1092D4, 0x000002F - -gUnk_08109303:: @ 08109303 - .incbin "baserom.gba", 0x109303, 0x000005E - -gUnk_08109361:: @ 08109361 - .incbin "baserom.gba", 0x109361, 0x00000A5 - -gUnk_08109406:: @ 08109406 - .incbin "baserom.gba", 0x109406, 0x0000028 - -gUnk_0810942E:: @ 0810942E - .incbin "baserom.gba", 0x10942E, 0x00000A0 - -gUnk_081094CE:: @ 081094CE - .incbin "baserom.gba", 0x1094CE, 0x00000FB - -gUnk_081095C9:: @ 081095C9 - .incbin "baserom.gba", 0x1095C9, 0x000014C - -gUnk_08109715:: @ 08109715 - .incbin "baserom.gba", 0x109715, 0x0000063 - -gUnk_08109778:: @ 08109778 - .incbin "baserom.gba", 0x109778, 0x0000005 - -gUnk_0810977D:: @ 0810977D - .incbin "baserom.gba", 0x10977D, 0x0000017 - -gUnk_08109794:: @ 08109794 - .incbin "baserom.gba", 0x109794, 0x0000104 - -gUnk_08109898:: @ 08109898 - .incbin "baserom.gba", 0x109898, 0x000000F - -gUnk_081098A7:: @ 081098A7 - .incbin "baserom.gba", 0x1098A7, 0x000005F - -gUnk_08109906:: @ 08109906 - .incbin "baserom.gba", 0x109906, 0x000012A - -gUnk_08109A30:: @ 08109A30 - .incbin "baserom.gba", 0x109A30, 0x0000028 - -gUnk_08109A58:: @ 08109A58 - .incbin "baserom.gba", 0x109A58, 0x0000010 - -gUnk_08109A68:: @ 08109A68 - .incbin "baserom.gba", 0x109A68, 0x0000010 - -gUnk_08109A78:: @ 08109A78 - .incbin "baserom.gba", 0x109A78, 0x0000010 - -gUnk_08109A88:: @ 08109A88 - .incbin "baserom.gba", 0x109A88, 0x0000010 - -gUnk_08109A98:: @ 08109A98 - .incbin "baserom.gba", 0x109A98, 0x0000006 - -gUnk_08109A9E:: @ 08109A9E - .incbin "baserom.gba", 0x109A9E, 0x000000A - -gUnk_08109AA8:: @ 08109AA8 - .incbin "baserom.gba", 0x109AA8, 0x0000010 - -gUnk_08109AB8:: @ 08109AB8 - .incbin "baserom.gba", 0x109AB8, 0x0000010 - -gUnk_08109AC8:: @ 08109AC8 - .incbin "baserom.gba", 0x109AC8, 0x0000008 - -gUnk_08109AD0:: @ 08109AD0 - .incbin "baserom.gba", 0x109AD0, 0x0000008 - -gUnk_08109AD8:: @ 08109AD8 - .incbin "baserom.gba", 0x109AD8, 0x0000005 - -gUnk_08109ADD:: @ 08109ADD - .incbin "baserom.gba", 0x109ADD, 0x0000005 - -gUnk_08109AE2:: @ 08109AE2 - .incbin "baserom.gba", 0x109AE2, 0x0000005 - -gUnk_08109AE7:: @ 08109AE7 - .incbin "baserom.gba", 0x109AE7, 0x0000005 - -gUnk_08109AEC:: @ 08109AEC - .incbin "baserom.gba", 0x109AEC, 0x0000011 - -gUnk_08109AFD:: @ 08109AFD - .incbin "baserom.gba", 0x109AFD, 0x000000B - -gUnk_08109B08:: @ 08109B08 - .incbin "baserom.gba", 0x109B08, 0x0000006 - -gUnk_08109B0E:: @ 08109B0E - .incbin "baserom.gba", 0x109B0E, 0x000002D - -gUnk_08109B3B:: @ 08109B3B - .incbin "baserom.gba", 0x109B3B, 0x0000025 - -gUnk_08109B60:: @ 08109B60 - .incbin "baserom.gba", 0x109B60, 0x0000020 - -gUnk_08109B80:: @ 08109B80 - .incbin "baserom.gba", 0x109B80, 0x000003C - -gUnk_08109BBC:: @ 08109BBC - .incbin "baserom.gba", 0x109BBC, 0x000000C - -gUnk_08109BC8:: @ 08109BC8 - .incbin "baserom.gba", 0x109BC8, 0x0000005 - -gUnk_08109BCD:: @ 08109BCD - .incbin "baserom.gba", 0x109BCD, 0x0000005 - -gUnk_08109BD2:: @ 08109BD2 - .incbin "baserom.gba", 0x109BD2, 0x0000005 - -gUnk_08109BD7:: @ 08109BD7 - .incbin "baserom.gba", 0x109BD7, 0x0000011 - -gUnk_08109BE8:: @ 08109BE8 - .incbin "baserom.gba", 0x109BE8, 0x0000011 - -gUnk_08109BF9:: @ 08109BF9 - .incbin "baserom.gba", 0x109BF9, 0x0000035 - -gUnk_08109C2E:: @ 08109C2E - .incbin "baserom.gba", 0x109C2E, 0x000001D - -gUnk_08109C4B:: @ 08109C4B - .incbin "baserom.gba", 0x109C4B, 0x0000009 - -gUnk_08109C54:: @ 08109C54 - .incbin "baserom.gba", 0x109C54, 0x0000005 - -gUnk_08109C59:: @ 08109C59 - .incbin "baserom.gba", 0x109C59, 0x0000007 - -gUnk_08109C60:: @ 08109C60 - .incbin "baserom.gba", 0x109C60, 0x0000038 - -gUnk_08109C98:: @ 08109C98 - .incbin "baserom.gba", 0x109C98, 0x0000080 - -gUnk_08109D18:: @ 08109D18 - .incbin "baserom.gba", 0x109D18, 0x0000063 - -gUnk_08109D7B:: @ 08109D7B - .incbin "baserom.gba", 0x109D7B, 0x000002E - -gUnk_08109DA9:: @ 08109DA9 - .incbin "baserom.gba", 0x109DA9, 0x000001F - -gUnk_08109DC8:: @ 08109DC8 - .incbin "baserom.gba", 0x109DC8, 0x000003F - -gUnk_08109E07:: @ 08109E07 - .incbin "baserom.gba", 0x109E07, 0x000010E - -gUnk_08109F15:: @ 08109F15 - .incbin "baserom.gba", 0x109F15, 0x0000052 - -gUnk_08109F67:: @ 08109F67 - .incbin "baserom.gba", 0x109F67, 0x0000005 - -gUnk_08109F6C:: @ 08109F6C - .incbin "baserom.gba", 0x109F6C, 0x000002B - -gUnk_08109F97:: @ 08109F97 - .incbin "baserom.gba", 0x109F97, 0x00000B1 - -gUnk_0810A048:: @ 0810A048 - .incbin "baserom.gba", 0x10A048, 0x0000111 - -gUnk_0810A159:: @ 0810A159 - .incbin "baserom.gba", 0x10A159, 0x0000048 - -gUnk_0810A1A1:: @ 0810A1A1 - .incbin "baserom.gba", 0x10A1A1, 0x00001A7 - -gUnk_0810A348:: @ 0810A348 - .incbin "baserom.gba", 0x10A348, 0x000000C - -gUnk_0810A354:: @ 0810A354 - .incbin "baserom.gba", 0x10A354, 0x0000006 - -gUnk_0810A35A:: @ 0810A35A - .incbin "baserom.gba", 0x10A35A, 0x0000008 - -gUnk_0810A362:: @ 0810A362 - .incbin "baserom.gba", 0x10A362, 0x0000008 - -gUnk_0810A36A:: @ 0810A36A - .incbin "baserom.gba", 0x10A36A, 0x0000005 - -gUnk_0810A36F:: @ 0810A36F - .incbin "baserom.gba", 0x10A36F, 0x0000005 - -gUnk_0810A374:: @ 0810A374 - .incbin "baserom.gba", 0x10A374, 0x0000005 - -gUnk_0810A379:: @ 0810A379 - .incbin "baserom.gba", 0x10A379, 0x0000001 - -gUnk_0810A37A:: @ 0810A37A - .incbin "baserom.gba", 0x10A37A, 0x0000004 - -gUnk_0810A37E:: @ 0810A37E - .incbin "baserom.gba", 0x10A37E, 0x0000021 - -gUnk_0810A39F:: @ 0810A39F - .incbin "baserom.gba", 0x10A39F, 0x0000021 - -gUnk_0810A3C0:: @ 0810A3C0 - .incbin "baserom.gba", 0x10A3C0, 0x0000021 - -gUnk_0810A3E1:: @ 0810A3E1 - .incbin "baserom.gba", 0x10A3E1, 0x000001F - -gUnk_0810A400:: @ 0810A400 - .incbin "baserom.gba", 0x10A400, 0x0000002 - -gUnk_0810A402:: @ 0810A402 - .incbin "baserom.gba", 0x10A402, 0x0000005 - -gUnk_0810A407:: @ 0810A407 - .incbin "baserom.gba", 0x10A407, 0x0000001 - -gUnk_0810A408:: @ 0810A408 - .incbin "baserom.gba", 0x10A408, 0x0000004 - -gUnk_0810A40C:: @ 0810A40C - .incbin "baserom.gba", 0x10A40C, 0x0000005 - -gUnk_0810A411:: @ 0810A411 - .incbin "baserom.gba", 0x10A411, 0x0000005 - -gUnk_0810A416:: @ 0810A416 - .incbin "baserom.gba", 0x10A416, 0x000000D - -gUnk_0810A423:: @ 0810A423 - .incbin "baserom.gba", 0x10A423, 0x000000D - -gUnk_0810A430:: @ 0810A430 - .incbin "baserom.gba", 0x10A430, 0x000000D - -gUnk_0810A43D:: @ 0810A43D - .incbin "baserom.gba", 0x10A43D, 0x000000D - -gUnk_0810A44A:: @ 0810A44A - .incbin "baserom.gba", 0x10A44A, 0x000000D - -gUnk_0810A457:: @ 0810A457 - .incbin "baserom.gba", 0x10A457, 0x000000D - -gUnk_0810A464:: @ 0810A464 - .incbin "baserom.gba", 0x10A464, 0x000000D - -gUnk_0810A471:: @ 0810A471 - .incbin "baserom.gba", 0x10A471, 0x000000D - -gUnk_0810A47E:: @ 0810A47E - .incbin "baserom.gba", 0x10A47E, 0x000000D - -gUnk_0810A48B:: @ 0810A48B - .incbin "baserom.gba", 0x10A48B, 0x000000D - -gUnk_0810A498:: @ 0810A498 - .incbin "baserom.gba", 0x10A498, 0x000000D - -gUnk_0810A4A5:: @ 0810A4A5 - .incbin "baserom.gba", 0x10A4A5, 0x000000D - -gUnk_0810A4B2:: @ 0810A4B2 - .incbin "baserom.gba", 0x10A4B2, 0x000000D - -gUnk_0810A4BF:: @ 0810A4BF - .incbin "baserom.gba", 0x10A4BF, 0x000000D - -gUnk_0810A4CC:: @ 0810A4CC - .incbin "baserom.gba", 0x10A4CC, 0x000000D - -gUnk_0810A4D9:: @ 0810A4D9 - .incbin "baserom.gba", 0x10A4D9, 0x000000D - -gUnk_0810A4E6:: @ 0810A4E6 - .incbin "baserom.gba", 0x10A4E6, 0x000000D - -gUnk_0810A4F3:: @ 0810A4F3 - .incbin "baserom.gba", 0x10A4F3, 0x000000D - -gUnk_0810A500:: @ 0810A500 - .incbin "baserom.gba", 0x10A500, 0x000000D - -gUnk_0810A50D:: @ 0810A50D - .incbin "baserom.gba", 0x10A50D, 0x000000D - -gUnk_0810A51A:: @ 0810A51A - .incbin "baserom.gba", 0x10A51A, 0x000000D - -gUnk_0810A527:: @ 0810A527 - .incbin "baserom.gba", 0x10A527, 0x000000D - -gUnk_0810A534:: @ 0810A534 - .incbin "baserom.gba", 0x10A534, 0x000000D - -gUnk_0810A541:: @ 0810A541 - .incbin "baserom.gba", 0x10A541, 0x000000D - -gUnk_0810A54E:: @ 0810A54E - .incbin "baserom.gba", 0x10A54E, 0x000000D - -gUnk_0810A55B:: @ 0810A55B - .incbin "baserom.gba", 0x10A55B, 0x000000D - -gUnk_0810A568:: @ 0810A568 - .incbin "baserom.gba", 0x10A568, 0x000000D - -gUnk_0810A575:: @ 0810A575 - .incbin "baserom.gba", 0x10A575, 0x000000D - -gUnk_0810A582:: @ 0810A582 - .incbin "baserom.gba", 0x10A582, 0x000000D - -gUnk_0810A58F:: @ 0810A58F - .incbin "baserom.gba", 0x10A58F, 0x000000D - -gUnk_0810A59C:: @ 0810A59C - .incbin "baserom.gba", 0x10A59C, 0x000000D - -gUnk_0810A5A9:: @ 0810A5A9 - .incbin "baserom.gba", 0x10A5A9, 0x000000F - -gUnk_0810A5B8:: @ 0810A5B8 - .incbin "baserom.gba", 0x10A5B8, 0x00000B4 - -gUnk_0810A66C:: @ 0810A66C - .incbin "baserom.gba", 0x10A66C, 0x00000BC - -gUnk_0810A728:: @ 0810A728 - .incbin "baserom.gba", 0x10A728, 0x0000040 - -gUnk_0810A768:: @ 0810A768 - .incbin "baserom.gba", 0x10A768, 0x0000005 - -gUnk_0810A76D:: @ 0810A76D - .incbin "baserom.gba", 0x10A76D, 0x0000005 - -gUnk_0810A772:: @ 0810A772 - .incbin "baserom.gba", 0x10A772, 0x0000005 - -gUnk_0810A777:: @ 0810A777 - .incbin "baserom.gba", 0x10A777, 0x0000006 - -gUnk_0810A77D:: @ 0810A77D - .incbin "baserom.gba", 0x10A77D, 0x0000006 - -gUnk_0810A783:: @ 0810A783 - .incbin "baserom.gba", 0x10A783, 0x0000006 - -gUnk_0810A789:: @ 0810A789 - .incbin "baserom.gba", 0x10A789, 0x0000005 - -gUnk_0810A78E:: @ 0810A78E - .incbin "baserom.gba", 0x10A78E, 0x0000006 - -gUnk_0810A794:: @ 0810A794 - .incbin "baserom.gba", 0x10A794, 0x0000006 - -gUnk_0810A79A:: @ 0810A79A - .incbin "baserom.gba", 0x10A79A, 0x0000006 - -gUnk_0810A7A0:: @ 0810A7A0 - .incbin "baserom.gba", 0x10A7A0, 0x0000006 - -gUnk_0810A7A6:: @ 0810A7A6 - .incbin "baserom.gba", 0x10A7A6, 0x0000006 - -gUnk_0810A7AC:: @ 0810A7AC - .incbin "baserom.gba", 0x10A7AC, 0x0000007 - -gUnk_0810A7B3:: @ 0810A7B3 - .incbin "baserom.gba", 0x10A7B3, 0x0000006 - -gUnk_0810A7B9:: @ 0810A7B9 - .incbin "baserom.gba", 0x10A7B9, 0x0000006 - -gUnk_0810A7BF:: @ 0810A7BF - .incbin "baserom.gba", 0x10A7BF, 0x0000006 - -gUnk_0810A7C5:: @ 0810A7C5 - .incbin "baserom.gba", 0x10A7C5, 0x0000005 - -gUnk_0810A7CA:: @ 0810A7CA - .incbin "baserom.gba", 0x10A7CA, 0x0000006 - -gUnk_0810A7D0:: @ 0810A7D0 - .incbin "baserom.gba", 0x10A7D0, 0x0000006 - -gUnk_0810A7D6:: @ 0810A7D6 - .incbin "baserom.gba", 0x10A7D6, 0x0000005 - -gUnk_0810A7DB:: @ 0810A7DB - .incbin "baserom.gba", 0x10A7DB, 0x0000005 - -gUnk_0810A7E0:: @ 0810A7E0 - .incbin "baserom.gba", 0x10A7E0, 0x0000005 - -gUnk_0810A7E5:: @ 0810A7E5 - .incbin "baserom.gba", 0x10A7E5, 0x0000010 - -gUnk_0810A7F5:: @ 0810A7F5 - .incbin "baserom.gba", 0x10A7F5, 0x0000010 - -gUnk_0810A805:: @ 0810A805 - .incbin "baserom.gba", 0x10A805, 0x0000008 - -gUnk_0810A80D:: @ 0810A80D - .incbin "baserom.gba", 0x10A80D, 0x0000008 - -gUnk_0810A815:: @ 0810A815 - .incbin "baserom.gba", 0x10A815, 0x0000005 - -gUnk_0810A81A:: @ 0810A81A - .incbin "baserom.gba", 0x10A81A, 0x0000005 - -gUnk_0810A81F:: @ 0810A81F - .incbin "baserom.gba", 0x10A81F, 0x0000006 - -gUnk_0810A825:: @ 0810A825 - .incbin "baserom.gba", 0x10A825, 0x0000005 - -gUnk_0810A82A:: @ 0810A82A - .incbin "baserom.gba", 0x10A82A, 0x0000005 - -gUnk_0810A82F:: @ 0810A82F - .incbin "baserom.gba", 0x10A82F, 0x0000006 - -gUnk_0810A835:: @ 0810A835 - .incbin "baserom.gba", 0x10A835, 0x0000006 - -gUnk_0810A83B:: @ 0810A83B - .incbin "baserom.gba", 0x10A83B, 0x0000006 - -gUnk_0810A841:: @ 0810A841 - .incbin "baserom.gba", 0x10A841, 0x0000007 - -gUnk_0810A848:: @ 0810A848 - .incbin "baserom.gba", 0x10A848, 0x0000007 - -gUnk_0810A84F:: @ 0810A84F - .incbin "baserom.gba", 0x10A84F, 0x000000F - -gUnk_0810A85E:: @ 0810A85E - .incbin "baserom.gba", 0x10A85E, 0x000000F - -gUnk_0810A86D:: @ 0810A86D - .incbin "baserom.gba", 0x10A86D, 0x0000005 - -gUnk_0810A872:: @ 0810A872 - .incbin "baserom.gba", 0x10A872, 0x0000005 - -gUnk_0810A877:: @ 0810A877 - .incbin "baserom.gba", 0x10A877, 0x0000005 - -gUnk_0810A87C:: @ 0810A87C - .incbin "baserom.gba", 0x10A87C, 0x0000005 - -gUnk_0810A881:: @ 0810A881 - .incbin "baserom.gba", 0x10A881, 0x0000005 - -gUnk_0810A886:: @ 0810A886 - .incbin "baserom.gba", 0x10A886, 0x0000005 - -gUnk_0810A88B:: @ 0810A88B - .incbin "baserom.gba", 0x10A88B, 0x0000006 - -gUnk_0810A891:: @ 0810A891 - .incbin "baserom.gba", 0x10A891, 0x0000006 - -gUnk_0810A897:: @ 0810A897 - .incbin "baserom.gba", 0x10A897, 0x0000005 - -gUnk_0810A89C:: @ 0810A89C - .incbin "baserom.gba", 0x10A89C, 0x0000006 - -gUnk_0810A8A2:: @ 0810A8A2 - .incbin "baserom.gba", 0x10A8A2, 0x0000005 - -gUnk_0810A8A7:: @ 0810A8A7 - .incbin "baserom.gba", 0x10A8A7, 0x0000005 - -gUnk_0810A8AC:: @ 0810A8AC - .incbin "baserom.gba", 0x10A8AC, 0x0000005 - -gUnk_0810A8B1:: @ 0810A8B1 - .incbin "baserom.gba", 0x10A8B1, 0x0000005 - -gUnk_0810A8B6:: @ 0810A8B6 - .incbin "baserom.gba", 0x10A8B6, 0x0000005 - -gUnk_0810A8BB:: @ 0810A8BB - .incbin "baserom.gba", 0x10A8BB, 0x0000005 - -gUnk_0810A8C0:: @ 0810A8C0 - .incbin "baserom.gba", 0x10A8C0, 0x000000B - -gUnk_0810A8CB:: @ 0810A8CB - .incbin "baserom.gba", 0x10A8CB, 0x000000B - -gUnk_0810A8D6:: @ 0810A8D6 - .incbin "baserom.gba", 0x10A8D6, 0x0000005 - -gUnk_0810A8DB:: @ 0810A8DB - .incbin "baserom.gba", 0x10A8DB, 0x0000005 - -gUnk_0810A8E0:: @ 0810A8E0 - .incbin "baserom.gba", 0x10A8E0, 0x0000009 - -gUnk_0810A8E9:: @ 0810A8E9 - .incbin "baserom.gba", 0x10A8E9, 0x0000009 - -gUnk_0810A8F2:: @ 0810A8F2 - .incbin "baserom.gba", 0x10A8F2, 0x0000007 - -gUnk_0810A8F9:: @ 0810A8F9 - .incbin "baserom.gba", 0x10A8F9, 0x0000007 - -gUnk_0810A900:: @ 0810A900 - .incbin "baserom.gba", 0x10A900, 0x0000005 - -gUnk_0810A905:: @ 0810A905 - .incbin "baserom.gba", 0x10A905, 0x0000006 - -gUnk_0810A90B:: @ 0810A90B - .incbin "baserom.gba", 0x10A90B, 0x0000006 - -gUnk_0810A911:: @ 0810A911 - .incbin "baserom.gba", 0x10A911, 0x0000007 - -gUnk_0810A918:: @ 0810A918 - .incbin "baserom.gba", 0x10A918, 0x000010C - -gUnk_0810AA24:: @ 0810AA24 - .incbin "baserom.gba", 0x10AA24, 0x000000C - -gUnk_0810AA30:: @ 0810AA30 - .incbin "baserom.gba", 0x10AA30, 0x0000040 - -gUnk_0810AA70:: @ 0810AA70 - .incbin "baserom.gba", 0x10AA70, 0x0000020 - -gUnk_0810AA90:: @ 0810AA90 - .incbin "baserom.gba", 0x10AA90, 0x0000029 - -gUnk_0810AAB9:: @ 0810AAB9 - .incbin "baserom.gba", 0x10AAB9, 0x0000029 - -gUnk_0810AAE2:: @ 0810AAE2 - .incbin "baserom.gba", 0x10AAE2, 0x0000029 - -gUnk_0810AB0B:: @ 0810AB0B - .incbin "baserom.gba", 0x10AB0B, 0x0000029 - -gUnk_0810AB34:: @ 0810AB34 - .incbin "baserom.gba", 0x10AB34, 0x0000031 - -gUnk_0810AB65:: @ 0810AB65 - .incbin "baserom.gba", 0x10AB65, 0x0000031 - -gUnk_0810AB96:: @ 0810AB96 - .incbin "baserom.gba", 0x10AB96, 0x0000031 - -gUnk_0810ABC7:: @ 0810ABC7 - .incbin "baserom.gba", 0x10ABC7, 0x0000031 - -gUnk_0810ABF8:: @ 0810ABF8 - .incbin "baserom.gba", 0x10ABF8, 0x0000024 - -gUnk_0810AC1C:: @ 0810AC1C - .incbin "baserom.gba", 0x10AC1C, 0x0000010 - -gUnk_0810AC2C:: @ 0810AC2C - .incbin "baserom.gba", 0x10AC2C, 0x0000020 - -gUnk_0810AC4C:: @ 0810AC4C - .incbin "baserom.gba", 0x10AC4C, 0x0000008 - -gUnk_0810AC54:: @ 0810AC54 - .incbin "baserom.gba", 0x10AC54, 0x0000009 - -gUnk_0810AC5D:: @ 0810AC5D - .incbin "baserom.gba", 0x10AC5D, 0x0000013 - -gUnk_0810AC70:: @ 0810AC70 - .incbin "baserom.gba", 0x10AC70, 0x0000008 - -gUnk_0810AC78:: @ 0810AC78 - .incbin "baserom.gba", 0x10AC78, 0x0000009 - -gUnk_0810AC81:: @ 0810AC81 - .incbin "baserom.gba", 0x10AC81, 0x0000019 - -gUnk_0810AC9A:: @ 0810AC9A - .incbin "baserom.gba", 0x10AC9A, 0x0000019 - -gUnk_0810ACB3:: @ 0810ACB3 - .incbin "baserom.gba", 0x10ACB3, 0x0000019 - -gUnk_0810ACCC:: @ 0810ACCC - .incbin "baserom.gba", 0x10ACCC, 0x0000021 - -gUnk_0810ACED:: @ 0810ACED - .incbin "baserom.gba", 0x10ACED, 0x0000021 - -gUnk_0810AD0E:: @ 0810AD0E - .incbin "baserom.gba", 0x10AD0E, 0x0000021 - -gUnk_0810AD2F:: @ 0810AD2F - .incbin "baserom.gba", 0x10AD2F, 0x0000021 - -gUnk_0810AD50:: @ 0810AD50 - .incbin "baserom.gba", 0x10AD50, 0x0000021 - -gUnk_0810AD71:: @ 0810AD71 - .incbin "baserom.gba", 0x10AD71, 0x0000021 - -gUnk_0810AD92:: @ 0810AD92 - .incbin "baserom.gba", 0x10AD92, 0x000001B - -gUnk_0810ADAD:: @ 0810ADAD - .incbin "baserom.gba", 0x10ADAD, 0x0000006 - -gUnk_0810ADB3:: @ 0810ADB3 - .incbin "baserom.gba", 0x10ADB3, 0x0000021 - -gUnk_0810ADD4:: @ 0810ADD4 - .incbin "baserom.gba", 0x10ADD4, 0x0000021 - -gUnk_0810ADF5:: @ 0810ADF5 - .incbin "baserom.gba", 0x10ADF5, 0x0000021 - -gUnk_0810AE16:: @ 0810AE16 - .incbin "baserom.gba", 0x10AE16, 0x0000021 - -gUnk_0810AE37:: @ 0810AE37 - .incbin "baserom.gba", 0x10AE37, 0x0000021 - -gUnk_0810AE58:: @ 0810AE58 - .incbin "baserom.gba", 0x10AE58, 0x0000024 - -gUnk_0810AE7C:: @ 0810AE7C - .incbin "baserom.gba", 0x10AE7C, 0x0000021 - -gUnk_0810AE9D:: @ 0810AE9D - .incbin "baserom.gba", 0x10AE9D, 0x0000003 - -gUnk_0810AEA0:: @ 0810AEA0 - .incbin "baserom.gba", 0x10AEA0, 0x0000024 - -gUnk_0810AEC4:: @ 0810AEC4 - .incbin "baserom.gba", 0x10AEC4, 0x0000024 - -gUnk_0810AEE8:: @ 0810AEE8 - .incbin "baserom.gba", 0x10AEE8, 0x000001F - -gUnk_0810AF07:: @ 0810AF07 - .incbin "baserom.gba", 0x10AF07, 0x0000012 - -gUnk_0810AF19:: @ 0810AF19 - .incbin "baserom.gba", 0x10AF19, 0x000002B - -gUnk_0810AF44:: @ 0810AF44 - .incbin "baserom.gba", 0x10AF44, 0x0000006 - -gUnk_0810AF4A:: @ 0810AF4A - .incbin "baserom.gba", 0x10AF4A, 0x0000031 - -gUnk_0810AF7B:: @ 0810AF7B - .incbin "baserom.gba", 0x10AF7B, 0x0000031 - -gUnk_0810AFAC:: @ 0810AFAC - .incbin "baserom.gba", 0x10AFAC, 0x0000021 - -gUnk_0810AFCD:: @ 0810AFCD - .incbin "baserom.gba", 0x10AFCD, 0x0000021 - -gUnk_0810AFEE:: @ 0810AFEE - .incbin "baserom.gba", 0x10AFEE, 0x000001A - -gUnk_0810B008:: @ 0810B008 - .incbin "baserom.gba", 0x10B008, 0x0000007 - -gUnk_0810B00F:: @ 0810B00F - .incbin "baserom.gba", 0x10B00F, 0x0000021 - -gUnk_0810B030:: @ 0810B030 - .incbin "baserom.gba", 0x10B030, 0x000000C - -gUnk_0810B03C:: @ 0810B03C - .incbin "baserom.gba", 0x10B03C, 0x000000C - -gUnk_0810B048:: @ 0810B048 - .incbin "baserom.gba", 0x10B048, 0x000000C - -gUnk_0810B054:: @ 0810B054 - .incbin "baserom.gba", 0x10B054, 0x000000C - -gUnk_0810B060:: @ 0810B060 - .incbin "baserom.gba", 0x10B060, 0x0000011 - -gUnk_0810B071:: @ 0810B071 - .incbin "baserom.gba", 0x10B071, 0x0000011 - -gUnk_0810B082:: @ 0810B082 - .incbin "baserom.gba", 0x10B082, 0x0000011 - -gUnk_0810B093:: @ 0810B093 - .incbin "baserom.gba", 0x10B093, 0x0000011 - -gUnk_0810B0A4:: @ 0810B0A4 - .incbin "baserom.gba", 0x10B0A4, 0x0000011 - -gUnk_0810B0B5:: @ 0810B0B5 - .incbin "baserom.gba", 0x10B0B5, 0x0000011 - -gUnk_0810B0C6:: @ 0810B0C6 - .incbin "baserom.gba", 0x10B0C6, 0x0000011 - -gUnk_0810B0D7:: @ 0810B0D7 - .incbin "baserom.gba", 0x10B0D7, 0x0000011 - -gUnk_0810B0E8:: @ 0810B0E8 - .incbin "baserom.gba", 0x10B0E8, 0x0000011 - -gUnk_0810B0F9:: @ 0810B0F9 - .incbin "baserom.gba", 0x10B0F9, 0x0000011 - -gUnk_0810B10A:: @ 0810B10A - .incbin "baserom.gba", 0x10B10A, 0x0000011 - -gUnk_0810B11B:: @ 0810B11B - .incbin "baserom.gba", 0x10B11B, 0x0000011 - -gUnk_0810B12C:: @ 0810B12C - .incbin "baserom.gba", 0x10B12C, 0x0000011 - -gUnk_0810B13D:: @ 0810B13D - .incbin "baserom.gba", 0x10B13D, 0x0000011 - -gUnk_0810B14E:: @ 0810B14E - .incbin "baserom.gba", 0x10B14E, 0x0000011 - -gUnk_0810B15F:: @ 0810B15F - .incbin "baserom.gba", 0x10B15F, 0x0000011 - -gUnk_0810B170:: @ 0810B170 - .incbin "baserom.gba", 0x10B170, 0x000001C - -gUnk_0810B18C:: @ 0810B18C - .incbin "baserom.gba", 0x10B18C, 0x000001C - -gUnk_0810B1A8:: @ 0810B1A8 - .incbin "baserom.gba", 0x10B1A8, 0x0000009 - -gUnk_0810B1B1:: @ 0810B1B1 - .incbin "baserom.gba", 0x10B1B1, 0x0000013 - -gUnk_0810B1C4:: @ 0810B1C4 - .incbin "baserom.gba", 0x10B1C4, 0x000001C - -gUnk_0810B1E0:: @ 0810B1E0 - .incbin "baserom.gba", 0x10B1E0, 0x000001C - -gUnk_0810B1FC:: @ 0810B1FC - .incbin "baserom.gba", 0x10B1FC, 0x000001C - -gUnk_0810B218:: @ 0810B218 - .incbin "baserom.gba", 0x10B218, 0x000001C - -gUnk_0810B234:: @ 0810B234 - .incbin "baserom.gba", 0x10B234, 0x000001C - -gUnk_0810B250:: @ 0810B250 - .incbin "baserom.gba", 0x10B250, 0x0000030 - -gUnk_0810B280:: @ 0810B280 - .incbin "baserom.gba", 0x10B280, 0x0000030 - -gUnk_0810B2B0:: @ 0810B2B0 - .incbin "baserom.gba", 0x10B2B0, 0x0000030 - -gUnk_0810B2E0:: @ 0810B2E0 - .incbin "baserom.gba", 0x10B2E0, 0x0000030 - -gUnk_0810B310:: @ 0810B310 - .incbin "baserom.gba", 0x10B310, 0x0000030 - -gUnk_0810B340:: @ 0810B340 - .incbin "baserom.gba", 0x10B340, 0x0000030 - -gUnk_0810B370:: @ 0810B370 - .incbin "baserom.gba", 0x10B370, 0x0000030 - -gUnk_0810B3A0:: @ 0810B3A0 - .incbin "baserom.gba", 0x10B3A0, 0x0000022 - -gUnk_0810B3C2:: @ 0810B3C2 - .incbin "baserom.gba", 0x10B3C2, 0x000000E - -gUnk_0810B3D0:: @ 0810B3D0 - .incbin "baserom.gba", 0x10B3D0, 0x0000028 - -gUnk_0810B3F8:: @ 0810B3F8 - .incbin "baserom.gba", 0x10B3F8, 0x000000F - -gUnk_0810B407:: @ 0810B407 - .incbin "baserom.gba", 0x10B407, 0x0000019 - -gUnk_0810B420:: @ 0810B420 - .incbin "baserom.gba", 0x10B420, 0x0000028 - -gUnk_0810B448:: @ 0810B448 - .incbin "baserom.gba", 0x10B448, 0x0000028 - -gUnk_0810B470:: @ 0810B470 - .incbin "baserom.gba", 0x10B470, 0x0000019 - -gUnk_0810B489:: @ 0810B489 - .incbin "baserom.gba", 0x10B489, 0x0000005 - -gUnk_0810B48E:: @ 0810B48E - .incbin "baserom.gba", 0x10B48E, 0x0000019 - -gUnk_0810B4A7:: @ 0810B4A7 - .incbin "baserom.gba", 0x10B4A7, 0x0000035 - -gUnk_0810B4DC:: @ 0810B4DC - .incbin "baserom.gba", 0x10B4DC, 0x0000010 - -gUnk_0810B4EC:: @ 0810B4EC - .incbin "baserom.gba", 0x10B4EC, 0x0000164 - -gUnk_0810B650:: @ 0810B650 - .incbin "baserom.gba", 0x10B650, 0x0000002 - -gUnk_0810B652:: @ 0810B652 - .incbin "baserom.gba", 0x10B652, 0x0000002 - -gUnk_0810B654:: @ 0810B654 - .incbin "baserom.gba", 0x10B654, 0x0000002 - -gUnk_0810B656:: @ 0810B656 - .incbin "baserom.gba", 0x10B656, 0x0000002 - -gUnk_0810B658:: @ 0810B658 - .incbin "baserom.gba", 0x10B658, 0x0000002 - -gUnk_0810B65A:: @ 0810B65A - .incbin "baserom.gba", 0x10B65A, 0x0000002 - -gUnk_0810B65C:: @ 0810B65C - .incbin "baserom.gba", 0x10B65C, 0x0000002 - -gUnk_0810B65E:: @ 0810B65E - .incbin "baserom.gba", 0x10B65E, 0x0000002 - -gUnk_0810B660:: @ 0810B660 - .incbin "baserom.gba", 0x10B660, 0x0000020 - -gUnk_0810B680:: @ 0810B680 - .incbin "baserom.gba", 0x10B680, 0x000002A - -gUnk_0810B6AA:: @ 0810B6AA - .incbin "baserom.gba", 0x10B6AA, 0x0000009 - -gUnk_0810B6B3:: @ 0810B6B3 - .incbin "baserom.gba", 0x10B6B3, 0x0000021 - -gUnk_0810B6D4:: @ 0810B6D4 - .incbin "baserom.gba", 0x10B6D4, 0x000000C - -gUnk_0810B6E0:: @ 0810B6E0 - .incbin "baserom.gba", 0x10B6E0, 0x000000C - -gUnk_0810B6EC:: @ 0810B6EC - .incbin "baserom.gba", 0x10B6EC, 0x0000054 - -gUnk_0810B740:: @ 0810B740 - .incbin "baserom.gba", 0x10B740, 0x0000008 - -gUnk_0810B748:: @ 0810B748 - .incbin "baserom.gba", 0x10B748, 0x0000002 - -gUnk_0810B74A:: @ 0810B74A - .incbin "baserom.gba", 0x10B74A, 0x0000018 - -gUnk_0810B762:: @ 0810B762 - .incbin "baserom.gba", 0x10B762, 0x0000012 - -gUnk_0810B774:: @ 0810B774 - .incbin "baserom.gba", 0x10B774, 0x0000008 - -gUnk_0810B77C:: @ 0810B77C - .incbin "baserom.gba", 0x10B77C, 0x0000010 - -gUnk_0810B78C:: @ 0810B78C - .incbin "baserom.gba", 0x10B78C, 0x0000004 - -gUnk_0810B790:: @ 0810B790 - .incbin "baserom.gba", 0x10B790, 0x000001C - -gUnk_0810B7AC:: @ 0810B7AC - .incbin "baserom.gba", 0x10B7AC, 0x000000E - -gUnk_0810B7BA:: @ 0810B7BA - .incbin "baserom.gba", 0x10B7BA, 0x0000006 - -gUnk_0810B7C0:: @ 0810B7C0 - .incbin "baserom.gba", 0x10B7C0, 0x000012B - -gUnk_0810B8EB:: @ 0810B8EB - .incbin "baserom.gba", 0x10B8EB, 0x0000037 - -gUnk_0810B922:: @ 0810B922 - .incbin "baserom.gba", 0x10B922, 0x0000049 - -gUnk_0810B96B:: @ 0810B96B - .incbin "baserom.gba", 0x10B96B, 0x0000065 - -gUnk_0810B9D0:: @ 0810B9D0 - .incbin "baserom.gba", 0x10B9D0, 0x0000031 - -gUnk_0810BA01:: @ 0810BA01 - .incbin "baserom.gba", 0x10BA01, 0x0000117 - -gUnk_0810BB18:: @ 0810BB18 - .incbin "baserom.gba", 0x10BB18, 0x0000059 - -gUnk_0810BB71:: @ 0810BB71 - .incbin "baserom.gba", 0x10BB71, 0x000005B - -gUnk_0810BBCC:: @ 0810BBCC - .incbin "baserom.gba", 0x10BBCC, 0x000009C - -gUnk_0810BC68:: @ 0810BC68 - .incbin "baserom.gba", 0x10BC68, 0x0000098 - -gUnk_0810BD00:: @ 0810BD00 - .incbin "baserom.gba", 0x10BD00, 0x0000005 - -gUnk_0810BD05:: @ 0810BD05 - .incbin "baserom.gba", 0x10BD05, 0x0000005 - -gUnk_0810BD0A:: @ 0810BD0A - .incbin "baserom.gba", 0x10BD0A, 0x0000005 - -gUnk_0810BD0F:: @ 0810BD0F - .incbin "baserom.gba", 0x10BD0F, 0x0000005 - -gUnk_0810BD14:: @ 0810BD14 - .incbin "baserom.gba", 0x10BD14, 0x0000011 - -gUnk_0810BD25:: @ 0810BD25 - .incbin "baserom.gba", 0x10BD25, 0x0000011 - -gUnk_0810BD36:: @ 0810BD36 - .incbin "baserom.gba", 0x10BD36, 0x0000011 - -gUnk_0810BD47:: @ 0810BD47 - .incbin "baserom.gba", 0x10BD47, 0x0000011 - -gUnk_0810BD58:: @ 0810BD58 - .incbin "baserom.gba", 0x10BD58, 0x0000016 - -gUnk_0810BD6E:: @ 0810BD6E - .incbin "baserom.gba", 0x10BD6E, 0x000000E - -gUnk_0810BD7C:: @ 0810BD7C - .incbin "baserom.gba", 0x10BD7C, 0x0000010 - -gUnk_0810BD8C:: @ 0810BD8C - .incbin "baserom.gba", 0x10BD8C, 0x0000010 - -gUnk_0810BD9C:: @ 0810BD9C - .incbin "baserom.gba", 0x10BD9C, 0x0000010 - -gUnk_0810BDAC:: @ 0810BDAC - .incbin "baserom.gba", 0x10BDAC, 0x000000C - -gUnk_0810BDB8:: @ 0810BDB8 - .incbin "baserom.gba", 0x10BDB8, 0x000000C - -gUnk_0810BDC4:: @ 0810BDC4 - .incbin "baserom.gba", 0x10BDC4, 0x0000024 - -gUnk_0810BDE8:: @ 0810BDE8 - .incbin "baserom.gba", 0x10BDE8, 0x0000024 - -gUnk_0810BE0C:: @ 0810BE0C - .incbin "baserom.gba", 0x10BE0C, 0x0000003 - -gUnk_0810BE0F:: @ 0810BE0F - .incbin "baserom.gba", 0x10BE0F, 0x0000001 - -gUnk_0810BE10:: @ 0810BE10 - .incbin "baserom.gba", 0x10BE10, 0x0000031 - -gUnk_0810BE41:: @ 0810BE41 - .incbin "baserom.gba", 0x10BE41, 0x00000C2 - -gUnk_0810BF03:: @ 0810BF03 - .incbin "baserom.gba", 0x10BF03, 0x0000104 - -gUnk_0810C007:: @ 0810C007 - .incbin "baserom.gba", 0x10C007, 0x0000008 - -gUnk_0810C00F:: @ 0810C00F - .incbin "baserom.gba", 0x10C00F, 0x0000091 - -gUnk_0810C0A0:: @ 0810C0A0 - .incbin "baserom.gba", 0x10C0A0, 0x0000024 - -gUnk_0810C0C4:: @ 0810C0C4 - .incbin "baserom.gba", 0x10C0C4, 0x0000005 - -gUnk_0810C0C9:: @ 0810C0C9 - .incbin "baserom.gba", 0x10C0C9, 0x0000005 - -gUnk_0810C0CE:: @ 0810C0CE - .incbin "baserom.gba", 0x10C0CE, 0x0000005 - -gUnk_0810C0D3:: @ 0810C0D3 - .incbin "baserom.gba", 0x10C0D3, 0x0000005 - -gUnk_0810C0D8:: @ 0810C0D8 - .incbin "baserom.gba", 0x10C0D8, 0x0000011 - -gUnk_0810C0E9:: @ 0810C0E9 - .incbin "baserom.gba", 0x10C0E9, 0x0000011 - -gUnk_0810C0FA:: @ 0810C0FA - .incbin "baserom.gba", 0x10C0FA, 0x0000011 - -gUnk_0810C10B:: @ 0810C10B - .incbin "baserom.gba", 0x10C10B, 0x0000011 - -gUnk_0810C11C:: @ 0810C11C - .incbin "baserom.gba", 0x10C11C, 0x0000019 - -gUnk_0810C135:: @ 0810C135 - .incbin "baserom.gba", 0x10C135, 0x0000019 - -gUnk_0810C14E:: @ 0810C14E - .incbin "baserom.gba", 0x10C14E, 0x0000019 - -gUnk_0810C167:: @ 0810C167 - .incbin "baserom.gba", 0x10C167, 0x0000019 - -gUnk_0810C180:: @ 0810C180 - .incbin "baserom.gba", 0x10C180, 0x0000019 - -gUnk_0810C199:: @ 0810C199 - .incbin "baserom.gba", 0x10C199, 0x000000D - -gUnk_0810C1A6:: @ 0810C1A6 - .incbin "baserom.gba", 0x10C1A6, 0x0000018 - -gUnk_0810C1BE:: @ 0810C1BE - .incbin "baserom.gba", 0x10C1BE, 0x000000F - -gUnk_0810C1CD:: @ 0810C1CD - .incbin "baserom.gba", 0x10C1CD, 0x000000A - -gUnk_0810C1D7:: @ 0810C1D7 - .incbin "baserom.gba", 0x10C1D7, 0x0000005 - -gUnk_0810C1DC:: @ 0810C1DC - .incbin "baserom.gba", 0x10C1DC, 0x0000008 - -gUnk_0810C1E4:: @ 0810C1E4 - .incbin "baserom.gba", 0x10C1E4, 0x0000021 - -gUnk_0810C205:: @ 0810C205 - .incbin "baserom.gba", 0x10C205, 0x0000001 - -gUnk_0810C206:: @ 0810C206 - .incbin "baserom.gba", 0x10C206, 0x0000062 - -gUnk_0810C268:: @ 0810C268 - .incbin "baserom.gba", 0x10C268, 0x0000008 - -gUnk_0810C270:: @ 0810C270 - .incbin "baserom.gba", 0x10C270, 0x0000005 - -gUnk_0810C275:: @ 0810C275 - .incbin "baserom.gba", 0x10C275, 0x0000005 - -gUnk_0810C27A:: @ 0810C27A - .incbin "baserom.gba", 0x10C27A, 0x0000016 - -gUnk_0810C290:: @ 0810C290 - .incbin "baserom.gba", 0x10C290, 0x0000010 - -gUnk_0810C2A0:: @ 0810C2A0 - .incbin "baserom.gba", 0x10C2A0, 0x0000005 - -gUnk_0810C2A5:: @ 0810C2A5 - .incbin "baserom.gba", 0x10C2A5, 0x000000D - -gUnk_0810C2B2:: @ 0810C2B2 - .incbin "baserom.gba", 0x10C2B2, 0x000001A - -gStampBehaviors1:: @ 0810C2CC - .incbin "baserom.gba", 0x10C2CC, 0x0000010 - -gStampBehaviors2:: @ 0810C2DC - .incbin "baserom.gba", 0x10C2DC, 0x0000008 - -gUnk_0810C2E4:: @ 0810C2E4 - .incbin "baserom.gba", 0x10C2E4, 0x0000010 - -gUnk_0810C2F4:: @ 0810C2F4 - .incbin "baserom.gba", 0x10C2F4, 0x0000031 - -gUnk_0810C325:: @ 0810C325 - .incbin "baserom.gba", 0x10C325, 0x0000007 - -gUnk_0810C32C:: @ 0810C32C - .incbin "baserom.gba", 0x10C32C, 0x0000020 - -gUnk_0810C34C:: @ 0810C34C - .incbin "baserom.gba", 0x10C34C, 0x0000014 - -gUnk_0810C360:: @ 0810C360 - .incbin "baserom.gba", 0x10C360, 0x0000005 - -gUnk_0810C365:: @ 0810C365 - .incbin "baserom.gba", 0x10C365, 0x000001D - -gUnk_0810C382:: @ 0810C382 - .incbin "baserom.gba", 0x10C382, 0x000000E - -gUnk_0810C390:: @ 0810C390 - .incbin "baserom.gba", 0x10C390, 0x000000A - -gUnk_0810C39A:: @ 0810C39A - .incbin "baserom.gba", 0x10C39A, 0x0000026 - -gUnk_0810C3C0:: @ 0810C3C0 - .incbin "baserom.gba", 0x10C3C0, 0x0000008 - -gUnk_0810C3C8:: @ 0810C3C8 - .incbin "baserom.gba", 0x10C3C8, 0x0000019 - -gUnk_0810C3E1:: @ 0810C3E1 - .incbin "baserom.gba", 0x10C3E1, 0x0000011 - -gUnk_0810C3F2:: @ 0810C3F2 - .incbin "baserom.gba", 0x10C3F2, 0x0000011 - -gUnk_0810C403:: @ 0810C403 - .incbin "baserom.gba", 0x10C403, 0x0000011 - -gUnk_0810C414:: @ 0810C414 - .incbin "baserom.gba", 0x10C414, 0x0000001 - -gUnk_0810C415:: @ 0810C415 - .incbin "baserom.gba", 0x10C415, 0x0000013 - -gUnk_0810C428:: @ 0810C428 - .incbin "baserom.gba", 0x10C428, 0x0000008 - -gUnk_0810C430:: @ 0810C430 - .incbin "baserom.gba", 0x10C430, 0x0000005 - -gUnk_0810C435:: @ 0810C435 - .incbin "baserom.gba", 0x10C435, 0x0000008 - -gUnk_0810C43D:: @ 0810C43D - .incbin "baserom.gba", 0x10C43D, 0x0000008 - -gUnk_0810C445:: @ 0810C445 - .incbin "baserom.gba", 0x10C445, 0x0000005 - -gUnk_0810C44A:: @ 0810C44A - .incbin "baserom.gba", 0x10C44A, 0x000001E - -gUnk_0810C468:: @ 0810C468 - .incbin "baserom.gba", 0x10C468, 0x0000024 - -gUnk_0810C48C:: @ 0810C48C - .incbin "baserom.gba", 0x10C48C, 0x000000C - -gUnk_0810C498:: @ 0810C498 - .incbin "baserom.gba", 0x10C498, 0x0000008 - -gUnk_0810C4A0:: @ 0810C4A0 - .incbin "baserom.gba", 0x10C4A0, 0x0000005 - -gUnk_0810C4A5:: @ 0810C4A5 - .incbin "baserom.gba", 0x10C4A5, 0x0000005 - -gUnk_0810C4AA:: @ 0810C4AA - .incbin "baserom.gba", 0x10C4AA, 0x0000005 - -gUnk_0810C4AF:: @ 0810C4AF - .incbin "baserom.gba", 0x10C4AF, 0x0000005 - -gUnk_0810C4B4:: @ 0810C4B4 - .incbin "baserom.gba", 0x10C4B4, 0x0000015 - -gUnk_0810C4C9:: @ 0810C4C9 - .incbin "baserom.gba", 0x10C4C9, 0x0000015 - -gUnk_0810C4DE:: @ 0810C4DE - .incbin "baserom.gba", 0x10C4DE, 0x00000D1 - -gUnk_0810C5AF:: @ 0810C5AF - .incbin "baserom.gba", 0x10C5AF, 0x000000C - -gUnk_0810C5BB:: @ 0810C5BB - .incbin "baserom.gba", 0x10C5BB, 0x0000008 - -gUnk_0810C5C3:: @ 0810C5C3 - .incbin "baserom.gba", 0x10C5C3, 0x00000AB - -gUnk_0810C66E:: @ 0810C66E - .incbin "baserom.gba", 0x10C66E, 0x000001E - -gUnk_0810C68C:: @ 0810C68C - .incbin "baserom.gba", 0x10C68C, 0x000000C - -gUnk_0810C698:: @ 0810C698 - .incbin "baserom.gba", 0x10C698, 0x000004D - -gUnk_0810C6E5:: @ 0810C6E5 - .incbin "baserom.gba", 0x10C6E5, 0x000008D - -gUnk_0810C772:: @ 0810C772 - .incbin "baserom.gba", 0x10C772, 0x0000003 - -gUnk_0810C775:: @ 0810C775 - .incbin "baserom.gba", 0x10C775, 0x000000A - -gUnk_0810C77F:: @ 0810C77F - .incbin "baserom.gba", 0x10C77F, 0x000002D - -gUnk_0810C7AC:: @ 0810C7AC - .incbin "baserom.gba", 0x10C7AC, 0x0000008 - -gUnk_0810C7B4:: @ 0810C7B4 - .incbin "baserom.gba", 0x10C7B4, 0x000000A - -gUnk_0810C7BE:: @ 0810C7BE - .incbin "baserom.gba", 0x10C7BE, 0x000000B - -gUnk_0810C7C9:: @ 0810C7C9 - .incbin "baserom.gba", 0x10C7C9, 0x000000B - -gUnk_0810C7D4:: @ 0810C7D4 - .incbin "baserom.gba", 0x10C7D4, 0x0000030 - -gMailboxBehaviors:: @ 0810C804 - .incbin "baserom.gba", 0x10C804, 0x0000010 - -gUnk_0810C814:: @ 0810C814 - .incbin "baserom.gba", 0x10C814, 0x0000005 - -gUnk_0810C819:: @ 0810C819 - .incbin "baserom.gba", 0x10C819, 0x0000029 - -gUnk_0810C842:: @ 0810C842 - .incbin "baserom.gba", 0x10C842, 0x0000008 - -gUnk_0810C84A:: @ 0810C84A - .incbin "baserom.gba", 0x10C84A, 0x000001E - -gUnk_0810C868:: @ 0810C868 - .incbin "baserom.gba", 0x10C868, 0x0000024 - -gUnk_0810C88C:: @ 0810C88C - .incbin "baserom.gba", 0x10C88C, 0x0000008 - -gUnk_0810C894:: @ 0810C894 - .incbin "baserom.gba", 0x10C894, 0x0000008 - -gUnk_0810C89C:: @ 0810C89C - .incbin "baserom.gba", 0x10C89C, 0x0000011 - -gUnk_0810C8AD:: @ 0810C8AD - .incbin "baserom.gba", 0x10C8AD, 0x0000027 - -gUnk_0810C8D4:: @ 0810C8D4 - .incbin "baserom.gba", 0x10C8D4, 0x000000C - -gUnk_0810C8E0:: @ 0810C8E0 - .incbin "baserom.gba", 0x10C8E0, 0x0000010 - -gUnk_0810C8F0:: @ 0810C8F0 - .incbin "baserom.gba", 0x10C8F0, 0x0000078 - -gUnk_0810C968:: @ 0810C968 - .incbin "baserom.gba", 0x10C968, 0x000003D - -gUnk_0810C9A5:: @ 0810C9A5 - .incbin "baserom.gba", 0x10C9A5, 0x0000005 - -gUnk_0810C9AA:: @ 0810C9AA - .incbin "baserom.gba", 0x10C9AA, 0x0000005 - -gUnk_0810C9AF:: @ 0810C9AF - .incbin "baserom.gba", 0x10C9AF, 0x0000005 - -gUnk_0810C9B4:: @ 0810C9B4 - .incbin "baserom.gba", 0x10C9B4, 0x000003D - -gUnk_0810C9F1:: @ 0810C9F1 - .incbin "baserom.gba", 0x10C9F1, 0x000003D - -gUnk_0810CA2E:: @ 0810CA2E - .incbin "baserom.gba", 0x10CA2E, 0x000003E - -gUnk_0810CA6C:: @ 0810CA6C - .incbin "baserom.gba", 0x10CA6C, 0x0000034 - -gUnk_0810CAA0:: @ 0810CAA0 - .incbin "baserom.gba", 0x10CAA0, 0x000000C - -gUnk_0810CAAC:: @ 0810CAAC - .incbin "baserom.gba", 0x10CAAC, 0x0000050 - -gUnk_0810CAFC:: @ 0810CAFC - .incbin "baserom.gba", 0x10CAFC, 0x0000049 - -gUnk_0810CB45:: @ 0810CB45 - .incbin "baserom.gba", 0x10CB45, 0x0000005 - -gUnk_0810CB4A:: @ 0810CB4A - .incbin "baserom.gba", 0x10CB4A, 0x0000005 - -gUnk_0810CB4F:: @ 0810CB4F - .incbin "baserom.gba", 0x10CB4F, 0x0000005 - -gUnk_0810CB54:: @ 0810CB54 - .incbin "baserom.gba", 0x10CB54, 0x0000018 - -gUnk_0810CB6C:: @ 0810CB6C - .incbin "baserom.gba", 0x10CB6C, 0x000000C - -gUnk_0810CB78:: @ 0810CB78 - .incbin "baserom.gba", 0x10CB78, 0x0000048 - -gUnk_0810CBC0:: @ 0810CBC0 - .incbin "baserom.gba", 0x10CBC0, 0x000000D - -gUnk_0810CBCD:: @ 0810CBCD - .incbin "baserom.gba", 0x10CBCD, 0x000000B - -gUnk_0810CBD8:: @ 0810CBD8 - .incbin "baserom.gba", 0x10CBD8, 0x000000C - -gUnk_0810CBE4:: @ 0810CBE4 - .incbin "baserom.gba", 0x10CBE4, 0x0000020 - -gUnk_0810CC04:: @ 0810CC04 - .incbin "baserom.gba", 0x10CC04, 0x0000004 - -gUnk_0810CC08:: @ 0810CC08 - .incbin "baserom.gba", 0x10CC08, 0x0000180 - -gUnk_0810CD88:: @ 0810CD88 - .incbin "baserom.gba", 0x10CD88, 0x0000018 - -gUnk_0810CDA0:: @ 0810CDA0 - .incbin "baserom.gba", 0x10CDA0, 0x0000011 - -gUnk_0810CDB1:: @ 0810CDB1 - .incbin "baserom.gba", 0x10CDB1, 0x0000011 - -gUnk_0810CDC2:: @ 0810CDC2 - .incbin "baserom.gba", 0x10CDC2, 0x0000012 - -gUnk_0810CDD4:: @ 0810CDD4 - .incbin "baserom.gba", 0x10CDD4, 0x0000024 - -gUnk_0810CDF8:: @ 0810CDF8 - .incbin "baserom.gba", 0x10CDF8, 0x000000C - -gUnk_0810CE04:: @ 0810CE04 - .incbin "baserom.gba", 0x10CE04, 0x0000050 - -gUnk_0810CE54:: @ 0810CE54 - .incbin "baserom.gba", 0x10CE54, 0x0000013 - -gUnk_0810CE67:: @ 0810CE67 - .incbin "baserom.gba", 0x10CE67, 0x000003A - -gUnk_0810CEA1:: @ 0810CEA1 - .incbin "baserom.gba", 0x10CEA1, 0x000004D - -gUnk_0810CEEE:: @ 0810CEEE - .incbin "baserom.gba", 0x10CEEE, 0x0000021 - -gUnk_0810CF0F:: @ 0810CF0F - .incbin "baserom.gba", 0x10CF0F, 0x0000005 - -gUnk_0810CF14:: @ 0810CF14 - .incbin "baserom.gba", 0x10CF14, 0x0000005 - -gUnk_0810CF19:: @ 0810CF19 - .incbin "baserom.gba", 0x10CF19, 0x0000007 - -gUnk_0810CF20:: @ 0810CF20 - .incbin "baserom.gba", 0x10CF20, 0x000002A - -gUnk_0810CF4A:: @ 0810CF4A - .incbin "baserom.gba", 0x10CF4A, 0x0000002 - -gUnk_0810CF4C:: @ 0810CF4C - .incbin "baserom.gba", 0x10CF4C, 0x000002B - -gUnk_0810CF77:: @ 0810CF77 - .incbin "baserom.gba", 0x10CF77, 0x0000010 - -gUnk_0810CF87:: @ 0810CF87 - .incbin "baserom.gba", 0x10CF87, 0x0000057 - -gUnk_0810CFDE:: @ 0810CFDE - .incbin "baserom.gba", 0x10CFDE, 0x0000039 - -gUnk_0810D017:: @ 0810D017 - .incbin "baserom.gba", 0x10D017, 0x000008D - -gUnk_0810D0A4:: @ 0810D0A4 - .incbin "baserom.gba", 0x10D0A4, 0x0000008 - -gUnk_0810D0AC:: @ 0810D0AC - .incbin "baserom.gba", 0x10D0AC, 0x000001E - -gUnk_0810D0CA:: @ 0810D0CA - .incbin "baserom.gba", 0x10D0CA, 0x0000009 - -gUnk_0810D0D3:: @ 0810D0D3 - .incbin "baserom.gba", 0x10D0D3, 0x0000079 - -gUnk_0810D14C:: @ 0810D14C - .incbin "baserom.gba", 0x10D14C, 0x0000227 - -gUnk_0810D373:: @ 0810D373 - .incbin "baserom.gba", 0x10D373, 0x0000003 - -gUnk_0810D376:: @ 0810D376 - .incbin "baserom.gba", 0x10D376, 0x0000013 - -gUnk_0810D389:: @ 0810D389 - .incbin "baserom.gba", 0x10D389, 0x000003E - -gUnk_0810D3C7:: @ 0810D3C7 - .incbin "baserom.gba", 0x10D3C7, 0x0000040 - -gUnk_0810D407:: @ 0810D407 - .incbin "baserom.gba", 0x10D407, 0x00000C7 - -gUnk_0810D4CE:: @ 0810D4CE - .incbin "baserom.gba", 0x10D4CE, 0x0000007 - -gUnk_0810D4D5:: @ 0810D4D5 - .incbin "baserom.gba", 0x10D4D5, 0x000003C - -gUnk_0810D511:: @ 0810D511 - .incbin "baserom.gba", 0x10D511, 0x0000006 - -gUnk_0810D517:: @ 0810D517 - .incbin "baserom.gba", 0x10D517, 0x0000039 - -gUnk_0810D550:: @ 0810D550 - .incbin "baserom.gba", 0x10D550, 0x0000024 - -gUnk_0810D574:: @ 0810D574 - .incbin "baserom.gba", 0x10D574, 0x000005F - -gUnk_0810D5D3:: @ 0810D5D3 - .incbin "baserom.gba", 0x10D5D3, 0x00000DE - -gUnk_0810D6B1:: @ 0810D6B1 - .incbin "baserom.gba", 0x10D6B1, 0x0000056 - -gUnk_0810D707:: @ 0810D707 - .incbin "baserom.gba", 0x10D707, 0x00000D2 - -gUnk_0810D7D9:: @ 0810D7D9 - .incbin "baserom.gba", 0x10D7D9, 0x000002E - -gUnk_0810D807:: @ 0810D807 - .incbin "baserom.gba", 0x10D807, 0x0000021 - -gUnk_0810D828:: @ 0810D828 - .incbin "baserom.gba", 0x10D828, 0x00000DF - -gUnk_0810D907:: @ 0810D907 - .incbin "baserom.gba", 0x10D907, 0x0000100 - -gUnk_0810DA07:: @ 0810DA07 - .incbin "baserom.gba", 0x10DA07, 0x0000007 - -gUnk_0810DA0E:: @ 0810DA0E - .incbin "baserom.gba", 0x10DA0E, 0x00000B2 - -gUnk_0810DAC0:: @ 0810DAC0 - .incbin "baserom.gba", 0x10DAC0, 0x0000041 - -gUnk_0810DB01:: @ 0810DB01 - .incbin "baserom.gba", 0x10DB01, 0x0000003 - -gUnk_0810DB04:: @ 0810DB04 - .incbin "baserom.gba", 0x10DB04, 0x0000005 - -gUnk_0810DB09:: @ 0810DB09 - .incbin "baserom.gba", 0x10DB09, 0x00000FB - -gUnk_0810DC04:: @ 0810DC04 - .incbin "baserom.gba", 0x10DC04, 0x0000017 - -gUnk_0810DC1B:: @ 0810DC1B - .incbin "baserom.gba", 0x10DC1B, 0x00000C0 - -gUnk_0810DCDB:: @ 0810DCDB - .incbin "baserom.gba", 0x10DCDB, 0x0000001 - -gUnk_0810DCDC:: @ 0810DCDC - .incbin "baserom.gba", 0x10DCDC, 0x000012B - -gUnk_0810DE07:: @ 0810DE07 - .incbin "baserom.gba", 0x10DE07, 0x0000046 - -gUnk_0810DE4D:: @ 0810DE4D - .incbin "baserom.gba", 0x10DE4D, 0x0000293 - -gUnk_0810E0E0:: @ 0810E0E0 - .incbin "baserom.gba", 0x10E0E0, 0x0000011 - -gUnk_0810E0F1:: @ 0810E0F1 - .incbin "baserom.gba", 0x10E0F1, 0x000000C - -gUnk_0810E0FD:: @ 0810E0FD - .incbin "baserom.gba", 0x10E0FD, 0x00000C6 - -gUnk_0810E1C3:: @ 0810E1C3 - .incbin "baserom.gba", 0x10E1C3, 0x000002D - -gUnk_0810E1F0:: @ 0810E1F0 - .incbin "baserom.gba", 0x10E1F0, 0x00000FD - -gUnk_0810E2ED:: @ 0810E2ED - .incbin "baserom.gba", 0x10E2ED, 0x0000116 - -gUnk_0810E403:: @ 0810E403 - .incbin "baserom.gba", 0x10E403, 0x000000A - -gUnk_0810E40D:: @ 0810E40D - .incbin "baserom.gba", 0x10E40D, 0x0000009 - -gUnk_0810E416:: @ 0810E416 - .incbin "baserom.gba", 0x10E416, 0x0000072 - -gUnk_0810E488:: @ 0810E488 - .incbin "baserom.gba", 0x10E488, 0x000008E - -gUnk_0810E516:: @ 0810E516 - .incbin "baserom.gba", 0x10E516, 0x000007B - -gUnk_0810E591:: @ 0810E591 - .incbin "baserom.gba", 0x10E591, 0x000005A - -gUnk_0810E5EB:: @ 0810E5EB - .incbin "baserom.gba", 0x10E5EB, 0x000001C - -gUnk_0810E607:: @ 0810E607 - .incbin "baserom.gba", 0x10E607, 0x00000E1 - -gUnk_0810E6E8:: @ 0810E6E8 - .incbin "baserom.gba", 0x10E6E8, 0x0000021 - -gUnk_0810E709:: @ 0810E709 - .incbin "baserom.gba", 0x10E709, 0x00000DB - -gUnk_0810E7E4:: @ 0810E7E4 - .incbin "baserom.gba", 0x10E7E4, 0x000000B - -gUnk_0810E7EF:: @ 0810E7EF - .incbin "baserom.gba", 0x10E7EF, 0x0000009 - -gUnk_0810E7F8:: @ 0810E7F8 - .incbin "baserom.gba", 0x10E7F8, 0x000000F - -gUnk_0810E807:: @ 0810E807 - .incbin "baserom.gba", 0x10E807, 0x0000001 - -gUnk_0810E808:: @ 0810E808 - .incbin "baserom.gba", 0x10E808, 0x00000F0 - -gUnk_0810E8F8:: @ 0810E8F8 - .incbin "baserom.gba", 0x10E8F8, 0x00000F8 - -gUnk_0810E9F0:: @ 0810E9F0 - .incbin "baserom.gba", 0x10E9F0, 0x0000100 - -gUnk_0810EAF0:: @ 0810EAF0 - .incbin "baserom.gba", 0x10EAF0, 0x000000E - -gUnk_0810EAFE:: @ 0810EAFE - .incbin "baserom.gba", 0x10EAFE, 0x000003E - -gUnk_0810EB3C:: @ 0810EB3C - .incbin "baserom.gba", 0x10EB3C, 0x000001F - -gUnk_0810EB5B:: @ 0810EB5B - .incbin "baserom.gba", 0x10EB5B, 0x0000064 - -gUnk_0810EBBF:: @ 0810EBBF - .incbin "baserom.gba", 0x10EBBF, 0x0000010 - -gUnk_0810EBCF:: @ 0810EBCF - .incbin "baserom.gba", 0x10EBCF, 0x0000010 - -gUnk_0810EBDF:: @ 0810EBDF - .incbin "baserom.gba", 0x10EBDF, 0x0000029 - -gUnk_0810EC08:: @ 0810EC08 - .incbin "baserom.gba", 0x10EC08, 0x00000FC - -gUnk_0810ED04:: @ 0810ED04 - .incbin "baserom.gba", 0x10ED04, 0x0000005 - -gUnk_0810ED09:: @ 0810ED09 - .incbin "baserom.gba", 0x10ED09, 0x00000E0 - -gUnk_0810EDE9:: @ 0810EDE9 - .incbin "baserom.gba", 0x10EDE9, 0x0000008 - -gUnk_0810EDF1:: @ 0810EDF1 - .incbin "baserom.gba", 0x10EDF1, 0x0000036 - -gUnk_0810EE27:: @ 0810EE27 - .incbin "baserom.gba", 0x10EE27, 0x0000056 - -gUnk_0810EE7D:: @ 0810EE7D - .incbin "baserom.gba", 0x10EE7D, 0x0000080 - -gUnk_0810EEFD:: @ 0810EEFD - .incbin "baserom.gba", 0x10EEFD, 0x0000148 - -gUnk_0810F045:: @ 0810F045 - .incbin "baserom.gba", 0x10F045, 0x00000AA - -gUnk_0810F0EF:: @ 0810F0EF - .incbin "baserom.gba", 0x10F0EF, 0x0000001 - -gUnk_0810F0F0:: @ 0810F0F0 - .incbin "baserom.gba", 0x10F0F0, 0x0000208 - -gUnk_0810F2F8:: @ 0810F2F8 - .incbin "baserom.gba", 0x10F2F8, 0x0000006 - -gUnk_0810F2FE:: @ 0810F2FE - .incbin "baserom.gba", 0x10F2FE, 0x0000100 - -gUnk_0810F3FE:: @ 0810F3FE - .incbin "baserom.gba", 0x10F3FE, 0x0000002 - -gUnk_0810F400:: @ 0810F400 - .incbin "baserom.gba", 0x10F400, 0x00000E6 - -gUnk_0810F4E6:: @ 0810F4E6 - .incbin "baserom.gba", 0x10F4E6, 0x000000B - -gUnk_0810F4F1:: @ 0810F4F1 - .incbin "baserom.gba", 0x10F4F1, 0x0000007 - -gUnk_0810F4F8:: @ 0810F4F8 - .incbin "baserom.gba", 0x10F4F8, 0x000002C - -gUnk_0810F524:: @ 0810F524 - .incbin "baserom.gba", 0x10F524, 0x0000020 - -gUnk_0810F544:: @ 0810F544 - .incbin "baserom.gba", 0x10F544, 0x000000C - -gUnk_0810F550:: @ 0810F550 - .incbin "baserom.gba", 0x10F550, 0x0000010 - -gUnk_0810F560:: @ 0810F560 - .incbin "baserom.gba", 0x10F560, 0x000003A - -gUnk_0810F59A:: @ 0810F59A - .incbin "baserom.gba", 0x10F59A, 0x000003A - -gUnk_0810F5D4:: @ 0810F5D4 - .incbin "baserom.gba", 0x10F5D4, 0x000001F - -gUnk_0810F5F3:: @ 0810F5F3 - .incbin "baserom.gba", 0x10F5F3, 0x0000005 - -gUnk_0810F5F8:: @ 0810F5F8 - .incbin "baserom.gba", 0x10F5F8, 0x0000016 - -gUnk_0810F60E:: @ 0810F60E - .incbin "baserom.gba", 0x10F60E, 0x0000005 - -gUnk_0810F613:: @ 0810F613 - .incbin "baserom.gba", 0x10F613, 0x0000007 - -gUnk_0810F61A:: @ 0810F61A - .incbin "baserom.gba", 0x10F61A, 0x000002E - -gUnk_0810F648:: @ 0810F648 - .incbin "baserom.gba", 0x10F648, 0x000003A - -gUnk_0810F682:: @ 0810F682 - .incbin "baserom.gba", 0x10F682, 0x000003A - -gUnk_0810F6BC:: @ 0810F6BC - .incbin "baserom.gba", 0x10F6BC, 0x0000018 - -gUnk_0810F6D4:: @ 0810F6D4 - .incbin "baserom.gba", 0x10F6D4, 0x0000010 - -gUnk_0810F6E4:: @ 0810F6E4 - .incbin "baserom.gba", 0x10F6E4, 0x0000002 - -gUnk_0810F6E6:: @ 0810F6E6 - .incbin "baserom.gba", 0x10F6E6, 0x0000003 - -gUnk_0810F6E9:: @ 0810F6E9 - .incbin "baserom.gba", 0x10F6E9, 0x0000005 - -gUnk_0810F6EE:: @ 0810F6EE - .incbin "baserom.gba", 0x10F6EE, 0x0000001 - -gUnk_0810F6EF:: @ 0810F6EF - .incbin "baserom.gba", 0x10F6EF, 0x0000004 - -gUnk_0810F6F3:: @ 0810F6F3 - .incbin "baserom.gba", 0x10F6F3, 0x0000005 - -gUnk_0810F6F8:: @ 0810F6F8 - .incbin "baserom.gba", 0x10F6F8, 0x0000005 - -gUnk_0810F6FD:: @ 0810F6FD - .incbin "baserom.gba", 0x10F6FD, 0x0000003 - -gUnk_0810F700:: @ 0810F700 - .incbin "baserom.gba", 0x10F700, 0x0000002 - -gUnk_0810F702:: @ 0810F702 - .incbin "baserom.gba", 0x10F702, 0x0000005 - -gUnk_0810F707:: @ 0810F707 - .incbin "baserom.gba", 0x10F707, 0x0000005 - -gUnk_0810F70C:: @ 0810F70C - .incbin "baserom.gba", 0x10F70C, 0x0000011 - -gUnk_0810F71D:: @ 0810F71D - .incbin "baserom.gba", 0x10F71D, 0x0000011 - -gUnk_0810F72E:: @ 0810F72E - .incbin "baserom.gba", 0x10F72E, 0x0000011 - -gUnk_0810F73F:: @ 0810F73F - .incbin "baserom.gba", 0x10F73F, 0x0000011 - -gUnk_0810F750:: @ 0810F750 - .incbin "baserom.gba", 0x10F750, 0x0000011 - -gUnk_0810F761:: @ 0810F761 - .incbin "baserom.gba", 0x10F761, 0x0000011 - -gUnk_0810F772:: @ 0810F772 - .incbin "baserom.gba", 0x10F772, 0x0000011 - -gUnk_0810F783:: @ 0810F783 - .incbin "baserom.gba", 0x10F783, 0x0000011 - -gUnk_0810F794:: @ 0810F794 - .incbin "baserom.gba", 0x10F794, 0x0000005 - -gUnk_0810F799:: @ 0810F799 - .incbin "baserom.gba", 0x10F799, 0x0000025 - -gUnk_0810F7BE:: @ 0810F7BE - .incbin "baserom.gba", 0x10F7BE, 0x0000005 - -gUnk_0810F7C3:: @ 0810F7C3 - .incbin "baserom.gba", 0x10F7C3, 0x0000005 - -gUnk_0810F7C8:: @ 0810F7C8 - .incbin "baserom.gba", 0x10F7C8, 0x0000020 - -gUnk_0810F7E8:: @ 0810F7E8 - .incbin "baserom.gba", 0x10F7E8, 0x0000003 - -gUnk_0810F7EB:: @ 0810F7EB - .incbin "baserom.gba", 0x10F7EB, 0x0000003 - -gUnk_0810F7EE:: @ 0810F7EE - .incbin "baserom.gba", 0x10F7EE, 0x000000A - -gUnk_0810F7F8:: @ 0810F7F8 - .incbin "baserom.gba", 0x10F7F8, 0x0000005 - -gUnk_0810F7FD:: @ 0810F7FD - .incbin "baserom.gba", 0x10F7FD, 0x0000003 - -gUnk_0810F800:: @ 0810F800 - .incbin "baserom.gba", 0x10F800, 0x0000002 - -gUnk_0810F802:: @ 0810F802 - .incbin "baserom.gba", 0x10F802, 0x0000006 - -gUnk_0810F808:: @ 0810F808 - .incbin "baserom.gba", 0x10F808, 0x000000C - -gUnk_0810F814:: @ 0810F814 - .incbin "baserom.gba", 0x10F814, 0x0000060 - -gUnk_0810F874:: @ 0810F874 - .incbin "baserom.gba", 0x10F874, 0x0000018 - -gUnk_0810F88C:: @ 0810F88C - .incbin "baserom.gba", 0x10F88C, 0x0000008 - -gUnk_0810F894:: @ 0810F894 - .incbin "baserom.gba", 0x10F894, 0x0000024 - -gUnk_0810F8B8:: @ 0810F8B8 - .incbin "baserom.gba", 0x10F8B8, 0x0000018 - -gUnk_0810F8D0:: @ 0810F8D0 - .incbin "baserom.gba", 0x10F8D0, 0x0000014 - -gUnk_0810F8E4:: @ 0810F8E4 - .incbin "baserom.gba", 0x10F8E4, 0x0000005 - -gUnk_0810F8E9:: @ 0810F8E9 - .incbin "baserom.gba", 0x10F8E9, 0x0000005 - -gUnk_0810F8EE:: @ 0810F8EE - .incbin "baserom.gba", 0x10F8EE, 0x0000001 - -gUnk_0810F8EF:: @ 0810F8EF - .incbin "baserom.gba", 0x10F8EF, 0x0000004 - -gUnk_0810F8F3:: @ 0810F8F3 - .incbin "baserom.gba", 0x10F8F3, 0x0000001 - -gUnk_0810F8F4:: @ 0810F8F4 - .incbin "baserom.gba", 0x10F8F4, 0x0000004 - -gUnk_0810F8F8:: @ 0810F8F8 - .incbin "baserom.gba", 0x10F8F8, 0x0000001 - -gUnk_0810F8F9:: @ 0810F8F9 - .incbin "baserom.gba", 0x10F8F9, 0x0000010 - -gUnk_0810F909:: @ 0810F909 - .incbin "baserom.gba", 0x10F909, 0x0000011 - -gUnk_0810F91A:: @ 0810F91A - .incbin "baserom.gba", 0x10F91A, 0x0000011 - -gUnk_0810F92B:: @ 0810F92B - .incbin "baserom.gba", 0x10F92B, 0x0000011 - -gUnk_0810F93C:: @ 0810F93C - .incbin "baserom.gba", 0x10F93C, 0x0000008 - -gUnk_0810F944:: @ 0810F944 - .incbin "baserom.gba", 0x10F944, 0x0000028 - -gUnk_0810F96C:: @ 0810F96C - .incbin "baserom.gba", 0x10F96C, 0x0000005 - -gUnk_0810F971:: @ 0810F971 - .incbin "baserom.gba", 0x10F971, 0x0000005 - -gUnk_0810F976:: @ 0810F976 - .incbin "baserom.gba", 0x10F976, 0x0000005 - -gUnk_0810F97B:: @ 0810F97B - .incbin "baserom.gba", 0x10F97B, 0x0000011 - -gUnk_0810F98C:: @ 0810F98C - .incbin "baserom.gba", 0x10F98C, 0x0000024 - -gUnk_0810F9B0:: @ 0810F9B0 - .incbin "baserom.gba", 0x10F9B0, 0x0000005 - -gUnk_0810F9B5:: @ 0810F9B5 - .incbin "baserom.gba", 0x10F9B5, 0x0000005 - -gUnk_0810F9BA:: @ 0810F9BA - .incbin "baserom.gba", 0x10F9BA, 0x0000005 - -gUnk_0810F9BF:: @ 0810F9BF - .incbin "baserom.gba", 0x10F9BF, 0x0000011 - -gUnk_0810F9D0:: @ 0810F9D0 - .incbin "baserom.gba", 0x10F9D0, 0x0000020 - -gUnk_0810F9F0:: @ 0810F9F0 - .incbin "baserom.gba", 0x10F9F0, 0x0000004 - -gUnk_0810F9F4:: @ 0810F9F4 - .incbin "baserom.gba", 0x10F9F4, 0x0000004 - -gUnk_0810F9F8:: @ 0810F9F8 - .incbin "baserom.gba", 0x10F9F8, 0x0000001 - -gUnk_0810F9F9:: @ 0810F9F9 - .incbin "baserom.gba", 0x10F9F9, 0x0000005 - -gUnk_0810F9FE:: @ 0810F9FE - .incbin "baserom.gba", 0x10F9FE, 0x0000002 - -gUnk_0810FA00:: @ 0810FA00 - .incbin "baserom.gba", 0x10FA00, 0x0000003 - -gUnk_0810FA03:: @ 0810FA03 - .incbin "baserom.gba", 0x10FA03, 0x0000011 - -gUnk_0810FA14:: @ 0810FA14 - .incbin "baserom.gba", 0x10FA14, 0x0000018 - -gUnk_0810FA2C:: @ 0810FA2C - .incbin "baserom.gba", 0x10FA2C, 0x000000C - -gUnk_0810FA38:: @ 0810FA38 - .incbin "baserom.gba", 0x10FA38, 0x000000C - -gUnk_0810FA44:: @ 0810FA44 - .incbin "baserom.gba", 0x10FA44, 0x0000010 - -gUnk_0810FA54:: @ 0810FA54 - .incbin "baserom.gba", 0x10FA54, 0x0000006 - -gUnk_0810FA5A:: @ 0810FA5A - .incbin "baserom.gba", 0x10FA5A, 0x0000097 - -gUnk_0810FAF1:: @ 0810FAF1 - .incbin "baserom.gba", 0x10FAF1, 0x0000002 - -gUnk_0810FAF3:: @ 0810FAF3 - .incbin "baserom.gba", 0x10FAF3, 0x0000004 - -gUnk_0810FAF7:: @ 0810FAF7 - .incbin "baserom.gba", 0x10FAF7, 0x000002D - -gUnk_0810FB24:: @ 0810FB24 - .incbin "baserom.gba", 0x10FB24, 0x0000015 - -gUnk_0810FB39:: @ 0810FB39 - .incbin "baserom.gba", 0x10FB39, 0x0000015 - -gUnk_0810FB4E:: @ 0810FB4E - .incbin "baserom.gba", 0x10FB4E, 0x0000015 - -gUnk_0810FB63:: @ 0810FB63 - .incbin "baserom.gba", 0x10FB63, 0x0000015 - -gUnk_0810FB78:: @ 0810FB78 - .incbin "baserom.gba", 0x10FB78, 0x0000005 - -gUnk_0810FB7D:: @ 0810FB7D - .incbin "baserom.gba", 0x10FB7D, 0x0000005 - -gUnk_0810FB82:: @ 0810FB82 - .incbin "baserom.gba", 0x10FB82, 0x0000005 - -gUnk_0810FB87:: @ 0810FB87 - .incbin "baserom.gba", 0x10FB87, 0x0000005 - -gUnk_0810FB8C:: @ 0810FB8C - .incbin "baserom.gba", 0x10FB8C, 0x0000021 - -gUnk_0810FBAD:: @ 0810FBAD - .incbin "baserom.gba", 0x10FBAD, 0x0000023 - -gUnk_0810FBD0:: @ 0810FBD0 - .incbin "baserom.gba", 0x10FBD0, 0x000001B - -gUnk_0810FBEB:: @ 0810FBEB - .incbin "baserom.gba", 0x10FBEB, 0x000000E - -gUnk_0810FBF9:: @ 0810FBF9 - .incbin "baserom.gba", 0x10FBF9, 0x0000003 - -gUnk_0810FBFC:: @ 0810FBFC - .incbin "baserom.gba", 0x10FBFC, 0x000000C - -gUnk_0810FC08:: @ 0810FC08 - .incbin "baserom.gba", 0x10FC08, 0x0000048 - -gUnk_0810FC50:: @ 0810FC50 - .incbin "baserom.gba", 0x10FC50, 0x0000004 - -gUnk_0810FC54:: @ 0810FC54 - .incbin "baserom.gba", 0x10FC54, 0x000000A - -gUnk_0810FC5E:: @ 0810FC5E - .incbin "baserom.gba", 0x10FC5E, 0x000000A - -gUnk_0810FC68:: @ 0810FC68 - .incbin "baserom.gba", 0x10FC68, 0x0000045 - -gUnk_0810FCAD:: @ 0810FCAD - .incbin "baserom.gba", 0x10FCAD, 0x0000021 - -gUnk_0810FCCE:: @ 0810FCCE - .incbin "baserom.gba", 0x10FCCE, 0x0000026 - -gUnk_0810FCF4:: @ 0810FCF4 - .incbin "baserom.gba", 0x10FCF4, 0x0000022 - -gUnk_0810FD16:: @ 0810FD16 - .incbin "baserom.gba", 0x10FD16, 0x0000056 - -gUnk_0810FD6C:: @ 0810FD6C - .incbin "baserom.gba", 0x10FD6C, 0x0000034 - -gUnk_0810FDA0:: @ 0810FDA0 - .incbin "baserom.gba", 0x10FDA0, 0x0000004 - -gUnk_0810FDA4:: @ 0810FDA4 - .incbin "baserom.gba", 0x10FDA4, 0x0000014 - -gUnk_0810FDB8:: @ 0810FDB8 - .incbin "baserom.gba", 0x10FDB8, 0x0000010 - -gUnk_0810FDC8:: @ 0810FDC8 - .incbin "baserom.gba", 0x10FDC8, 0x0000020 - -gUnk_0810FDE8:: @ 0810FDE8 - .incbin "baserom.gba", 0x10FDE8, 0x0000005 - -gUnk_0810FDED:: @ 0810FDED - .incbin "baserom.gba", 0x10FDED, 0x0000005 - -gUnk_0810FDF2:: @ 0810FDF2 - .incbin "baserom.gba", 0x10FDF2, 0x0000005 - -gUnk_0810FDF7:: @ 0810FDF7 - .incbin "baserom.gba", 0x10FDF7, 0x000000C - -gUnk_0810FE03:: @ 0810FE03 - .incbin "baserom.gba", 0x10FE03, 0x0000005 - -gUnk_0810FE08:: @ 0810FE08 - .incbin "baserom.gba", 0x10FE08, 0x0000017 - -gUnk_0810FE1F:: @ 0810FE1F - .incbin "baserom.gba", 0x10FE1F, 0x0000049 - -gUnk_0810FE68:: @ 0810FE68 - .incbin "baserom.gba", 0x10FE68, 0x0000028 - -gUnk_0810FE90:: @ 0810FE90 - .incbin "baserom.gba", 0x10FE90, 0x0000020 - -gUnk_0810FEB0:: @ 0810FEB0 - .incbin "baserom.gba", 0x10FEB0, 0x000000C - -gUnk_0810FEBC:: @ 0810FEBC - .incbin "baserom.gba", 0x10FEBC, 0x0000008 - -gUnk_0810FEC4:: @ 0810FEC4 - .incbin "baserom.gba", 0x10FEC4, 0x0000014 - -gUnk_0810FED8:: @ 0810FED8 - .incbin "baserom.gba", 0x10FED8, 0x0000008 - -gUnk_0810FEE0:: @ 0810FEE0 - .incbin "baserom.gba", 0x10FEE0, 0x0000005 - -gUnk_0810FEE5:: @ 0810FEE5 - .incbin "baserom.gba", 0x10FEE5, 0x0000005 - -gUnk_0810FEEA:: @ 0810FEEA - .incbin "baserom.gba", 0x10FEEA, 0x0000005 - -gUnk_0810FEEF:: @ 0810FEEF - .incbin "baserom.gba", 0x10FEEF, 0x0000002 - -gUnk_0810FEF1:: @ 0810FEF1 - .incbin "baserom.gba", 0x10FEF1, 0x0000003 - -gUnk_0810FEF4:: @ 0810FEF4 - .incbin "baserom.gba", 0x10FEF4, 0x0000001 - -gUnk_0810FEF5:: @ 0810FEF5 - .incbin "baserom.gba", 0x10FEF5, 0x0000003 - -gUnk_0810FEF8:: @ 0810FEF8 - .incbin "baserom.gba", 0x10FEF8, 0x000000B - -gUnk_0810FF03:: @ 0810FF03 - .incbin "baserom.gba", 0x10FF03, 0x0000002 - -gUnk_0810FF05:: @ 0810FF05 - .incbin "baserom.gba", 0x10FF05, 0x000000A - -gUnk_0810FF0F:: @ 0810FF0F - .incbin "baserom.gba", 0x10FF0F, 0x0000001 - -gUnk_0810FF10:: @ 0810FF10 - .incbin "baserom.gba", 0x10FF10, 0x0000006 - -gUnk_0810FF16:: @ 0810FF16 - .incbin "baserom.gba", 0x10FF16, 0x0000011 - -gUnk_0810FF27:: @ 0810FF27 - .incbin "baserom.gba", 0x10FF27, 0x0000001 - -gUnk_0810FF28:: @ 0810FF28 - .incbin "baserom.gba", 0x10FF28, 0x0000010 - -gUnk_0810FF38:: @ 0810FF38 - .incbin "baserom.gba", 0x10FF38, 0x0000003 - -gUnk_0810FF3B:: @ 0810FF3B - .incbin "baserom.gba", 0x10FF3B, 0x0000021 - -gUnk_0810FF5C:: @ 0810FF5C - .incbin "baserom.gba", 0x10FF5C, 0x0000008 - -gUnk_0810FF64:: @ 0810FF64 - .incbin "baserom.gba", 0x10FF64, 0x000000C - -gUnk_0810FF70:: @ 0810FF70 - .incbin "baserom.gba", 0x10FF70, 0x0000005 - -gUnk_0810FF75:: @ 0810FF75 - .incbin "baserom.gba", 0x10FF75, 0x0000005 - -gUnk_0810FF7A:: @ 0810FF7A - .incbin "baserom.gba", 0x10FF7A, 0x0000004 - -gUnk_0810FF7E:: @ 0810FF7E - .incbin "baserom.gba", 0x10FF7E, 0x0000001 - -gUnk_0810FF7F:: @ 0810FF7F - .incbin "baserom.gba", 0x10FF7F, 0x0000005 - -gUnk_0810FF84:: @ 0810FF84 - .incbin "baserom.gba", 0x10FF84, 0x0000021 - -gUnk_0810FFA5:: @ 0810FFA5 - .incbin "baserom.gba", 0x10FFA5, 0x0000011 - -gUnk_0810FFB6:: @ 0810FFB6 - .incbin "baserom.gba", 0x10FFB6, 0x000000B - -gUnk_0810FFC1:: @ 0810FFC1 - .incbin "baserom.gba", 0x10FFC1, 0x0000016 - -gUnk_0810FFD7:: @ 0810FFD7 - .incbin "baserom.gba", 0x10FFD7, 0x000001F - -gUnk_0810FFF6:: @ 0810FFF6 - .incbin "baserom.gba", 0x10FFF6, 0x0000008 - -gUnk_0810FFFE:: @ 0810FFFE - .incbin "baserom.gba", 0x10FFFE, 0x0000002 - -gUnk_08110000:: @ 08110000 - .incbin "baserom.gba", 0x110000, 0x0000007 - -gUnk_08110007:: @ 08110007 - .incbin "baserom.gba", 0x110007, 0x000000D - -gUnk_08110014:: @ 08110014 - .incbin "baserom.gba", 0x110014, 0x0000013 - -gUnk_08110027:: @ 08110027 - .incbin "baserom.gba", 0x110027, 0x0000001 - -gUnk_08110028:: @ 08110028 - .incbin "baserom.gba", 0x110028, 0x0000044 - -gUnk_0811006C:: @ 0811006C - .incbin "baserom.gba", 0x11006C, 0x0000014 - -gUnk_08110080:: @ 08110080 - .incbin "baserom.gba", 0x110080, 0x0000008 - -gUnk_08110088:: @ 08110088 - .incbin "baserom.gba", 0x110088, 0x0000005 - -gUnk_0811008D:: @ 0811008D - .incbin "baserom.gba", 0x11008D, 0x0000005 - -gUnk_08110092:: @ 08110092 - .incbin "baserom.gba", 0x110092, 0x0000005 - -gUnk_08110097:: @ 08110097 - .incbin "baserom.gba", 0x110097, 0x0000021 - -gUnk_081100B8:: @ 081100B8 - .incbin "baserom.gba", 0x1100B8, 0x000002C - -gUnk_081100E4:: @ 081100E4 - .incbin "baserom.gba", 0x1100E4, 0x000002C - -gUnk_08110110:: @ 08110110 - .incbin "baserom.gba", 0x110110, 0x0000008 - -gMilkCartBehaviors:: @ 08110118 - .incbin "baserom.gba", 0x110118, 0x0000008 - -gUnk_08110120:: @ 08110120 - .incbin "baserom.gba", 0x110120, 0x0000005 - -gUnk_08110125:: @ 08110125 - .incbin "baserom.gba", 0x110125, 0x0000013 - -gUnk_08110138:: @ 08110138 - .incbin "baserom.gba", 0x110138, 0x0000009 - -gUnk_08110141:: @ 08110141 - .incbin "baserom.gba", 0x110141, 0x000001B - -gUnk_0811015C:: @ 0811015C - .incbin "baserom.gba", 0x11015C, 0x0000008 - -gUnk_08110164:: @ 08110164 - .incbin "baserom.gba", 0x110164, 0x0000018 - -gUnk_0811017C:: @ 0811017C - .incbin "baserom.gba", 0x11017C, 0x000000C - -gUnk_08110188:: @ 08110188 - .incbin "baserom.gba", 0x110188, 0x0000055 - -gUnk_081101DD:: @ 081101DD - .incbin "baserom.gba", 0x1101DD, 0x000001A - -gUnk_081101F7:: @ 081101F7 - .incbin "baserom.gba", 0x1101F7, 0x0000037 - -gUnk_0811022E:: @ 0811022E - .incbin "baserom.gba", 0x11022E, 0x0000046 - -gUnk_08110274:: @ 08110274 - .incbin "baserom.gba", 0x110274, 0x000000C - -gUnk_08110280:: @ 08110280 - .incbin "baserom.gba", 0x110280, 0x0000080 - -gUnk_08110300:: @ 08110300 - .incbin "baserom.gba", 0x110300, 0x0000011 - -gUnk_08110311:: @ 08110311 - .incbin "baserom.gba", 0x110311, 0x0000011 - -gUnk_08110322:: @ 08110322 - .incbin "baserom.gba", 0x110322, 0x0000011 - -gUnk_08110333:: @ 08110333 - .incbin "baserom.gba", 0x110333, 0x0000009 - -gUnk_0811033C:: @ 0811033C - .incbin "baserom.gba", 0x11033C, 0x0000018 - -gUnk_08110354:: @ 08110354 - .incbin "baserom.gba", 0x110354, 0x000000C - -gUnk_08110360:: @ 08110360 - .incbin "baserom.gba", 0x110360, 0x000000C - -gUnk_0811036C:: @ 0811036C - .incbin "baserom.gba", 0x11036C, 0x0000014 - -gUnk_08110380:: @ 08110380 - .incbin "baserom.gba", 0x110380, 0x0000010 - -gUnk_08110390:: @ 08110390 - .incbin "baserom.gba", 0x110390, 0x0000040 - -gUnk_081103D0:: @ 081103D0 - .incbin "baserom.gba", 0x1103D0, 0x000000B - -gUnk_081103DB:: @ 081103DB - .incbin "baserom.gba", 0x1103DB, 0x0000005 - -gUnk_081103E0:: @ 081103E0 - .incbin "baserom.gba", 0x1103E0, 0x0000004 - -gUnk_081103E4:: @ 081103E4 - .incbin "baserom.gba", 0x1103E4, 0x0000005 - -gUnk_081103E9:: @ 081103E9 - .incbin "baserom.gba", 0x1103E9, 0x0000005 - -gUnk_081103EE:: @ 081103EE - .incbin "baserom.gba", 0x1103EE, 0x0000005 - -gUnk_081103F3:: @ 081103F3 - .incbin "baserom.gba", 0x1103F3, 0x0000005 - -gUnk_081103F8:: @ 081103F8 - .incbin "baserom.gba", 0x1103F8, 0x0000006 - -gUnk_081103FE:: @ 081103FE - .incbin "baserom.gba", 0x1103FE, 0x0000002 - -gUnk_08110400:: @ 08110400 - .incbin "baserom.gba", 0x110400, 0x0000009 - -gUnk_08110409:: @ 08110409 - .incbin "baserom.gba", 0x110409, 0x0000011 - -gUnk_0811041A:: @ 0811041A - .incbin "baserom.gba", 0x11041A, 0x0000011 - -gUnk_0811042B:: @ 0811042B - .incbin "baserom.gba", 0x11042B, 0x0000011 - -gUnk_0811043C:: @ 0811043C - .incbin "baserom.gba", 0x11043C, 0x0000005 - -gUnk_08110441:: @ 08110441 - .incbin "baserom.gba", 0x110441, 0x0000005 - -gUnk_08110446:: @ 08110446 - .incbin "baserom.gba", 0x110446, 0x0000005 - -gUnk_0811044B:: @ 0811044B - .incbin "baserom.gba", 0x11044B, 0x0000029 - -gUnk_08110474:: @ 08110474 - .incbin "baserom.gba", 0x110474, 0x0000005 - -gUnk_08110479:: @ 08110479 - .incbin "baserom.gba", 0x110479, 0x0000005 - -gUnk_0811047E:: @ 0811047E - .incbin "baserom.gba", 0x11047E, 0x0000006 - -gUnk_08110484:: @ 08110484 - .incbin "baserom.gba", 0x110484, 0x0000044 - -gUnk_081104C8:: @ 081104C8 - .incbin "baserom.gba", 0x1104C8, 0x0000018 - -gUnk_081104E0:: @ 081104E0 - .incbin "baserom.gba", 0x1104E0, 0x000000C - -gUnk_081104EC:: @ 081104EC - .incbin "baserom.gba", 0x1104EC, 0x000000C - -gUnk_081104F8:: @ 081104F8 - .incbin "baserom.gba", 0x1104F8, 0x0000008 - -gUnk_08110500:: @ 08110500 - .incbin "baserom.gba", 0x110500, 0x0000005 - -gUnk_08110505:: @ 08110505 - .incbin "baserom.gba", 0x110505, 0x0000005 - -gUnk_0811050A:: @ 0811050A - .incbin "baserom.gba", 0x11050A, 0x0000004 - -gUnk_0811050E:: @ 0811050E - .incbin "baserom.gba", 0x11050E, 0x0000001 - -gUnk_0811050F:: @ 0811050F - .incbin "baserom.gba", 0x11050F, 0x0000005 - -gUnk_08110514:: @ 08110514 - .incbin "baserom.gba", 0x110514, 0x0000021 - -gUnk_08110535:: @ 08110535 - .incbin "baserom.gba", 0x110535, 0x0000021 - -gUnk_08110556:: @ 08110556 - .incbin "baserom.gba", 0x110556, 0x0000021 - -gUnk_08110577:: @ 08110577 - .incbin "baserom.gba", 0x110577, 0x0000009 - -gUnk_08110580:: @ 08110580 - .incbin "baserom.gba", 0x110580, 0x0000018 - -gUnk_08110598:: @ 08110598 - .incbin "baserom.gba", 0x110598, 0x0000011 - -gUnk_081105A9:: @ 081105A9 - .incbin "baserom.gba", 0x1105A9, 0x0000011 - -gUnk_081105BA:: @ 081105BA - .incbin "baserom.gba", 0x1105BA, 0x0000011 - -gUnk_081105CB:: @ 081105CB - .incbin "baserom.gba", 0x1105CB, 0x0000011 - -gUnk_081105DC:: @ 081105DC - .incbin "baserom.gba", 0x1105DC, 0x0000005 - -gUnk_081105E1:: @ 081105E1 - .incbin "baserom.gba", 0x1105E1, 0x0000010 - -gUnk_081105F1:: @ 081105F1 - .incbin "baserom.gba", 0x1105F1, 0x0000017 - -gUnk_08110608:: @ 08110608 - .incbin "baserom.gba", 0x110608, 0x0000004 - -gUnk_0811060C:: @ 0811060C - .incbin "baserom.gba", 0x11060C, 0x0000038 - -gUnk_08110644:: @ 08110644 - .incbin "baserom.gba", 0x110644, 0x000000C - -gUnk_08110650:: @ 08110650 - .incbin "baserom.gba", 0x110650, 0x0000008 - -gUnk_08110658:: @ 08110658 - .incbin "baserom.gba", 0x110658, 0x0000005 - -gUnk_0811065D:: @ 0811065D - .incbin "baserom.gba", 0x11065D, 0x0000005 - -gUnk_08110662:: @ 08110662 - .incbin "baserom.gba", 0x110662, 0x0000005 - -gUnk_08110667:: @ 08110667 - .incbin "baserom.gba", 0x110667, 0x0000005 - -gUnk_0811066C:: @ 0811066C - .incbin "baserom.gba", 0x11066C, 0x0000011 - -gUnk_0811067D:: @ 0811067D - .incbin "baserom.gba", 0x11067D, 0x0000005 - -gUnk_08110682:: @ 08110682 - .incbin "baserom.gba", 0x110682, 0x0000026 - -gUnk_081106A8:: @ 081106A8 - .incbin "baserom.gba", 0x1106A8, 0x000002C - -gUnk_081106D4:: @ 081106D4 - .incbin "baserom.gba", 0x1106D4, 0x000000C - -gUnk_081106E0:: @ 081106E0 - .incbin "baserom.gba", 0x1106E0, 0x0000008 - -gUnk_081106E8:: @ 081106E8 - .incbin "baserom.gba", 0x1106E8, 0x0000005 - -gUnk_081106ED:: @ 081106ED - .incbin "baserom.gba", 0x1106ED, 0x0000011 - -gUnk_081106FE:: @ 081106FE - .incbin "baserom.gba", 0x1106FE, 0x0000012 - -gUnk_08110710:: @ 08110710 - .incbin "baserom.gba", 0x110710, 0x0000024 - -gUnk_08110734:: @ 08110734 - .incbin "baserom.gba", 0x110734, 0x0000008 - -gUnk_0811073C:: @ 0811073C - .incbin "baserom.gba", 0x11073C, 0x0000005 - -gUnk_08110741:: @ 08110741 - .incbin "baserom.gba", 0x110741, 0x0000005 - -gUnk_08110746:: @ 08110746 - .incbin "baserom.gba", 0x110746, 0x0000005 - -gUnk_0811074B:: @ 0811074B - .incbin "baserom.gba", 0x11074B, 0x0000005 - -gUnk_08110750:: @ 08110750 - .incbin "baserom.gba", 0x110750, 0x0000011 - -gUnk_08110761:: @ 08110761 - .incbin "baserom.gba", 0x110761, 0x0000011 - -gUnk_08110772:: @ 08110772 - .incbin "baserom.gba", 0x110772, 0x0000011 - -gUnk_08110783:: @ 08110783 - .incbin "baserom.gba", 0x110783, 0x0000011 - -gUnk_08110794:: @ 08110794 - .incbin "baserom.gba", 0x110794, 0x0000005 - -gUnk_08110799:: @ 08110799 - .incbin "baserom.gba", 0x110799, 0x0000011 - -gUnk_081107AA:: @ 081107AA - .incbin "baserom.gba", 0x1107AA, 0x0000009 - -gUnk_081107B3:: @ 081107B3 - .incbin "baserom.gba", 0x1107B3, 0x0000009 - -gUnk_081107BC:: @ 081107BC - .incbin "baserom.gba", 0x1107BC, 0x0000010 - -gUnk_081107CC:: @ 081107CC - .incbin "baserom.gba", 0x1107CC, 0x000003C - -gUnk_08110808:: @ 08110808 - .incbin "baserom.gba", 0x110808, 0x0000038 - -gUnk_08110840:: @ 08110840 - .incbin "baserom.gba", 0x110840, 0x0000019 - -gUnk_08110859:: @ 08110859 - .incbin "baserom.gba", 0x110859, 0x0000005 - -gUnk_0811085E:: @ 0811085E - .incbin "baserom.gba", 0x11085E, 0x0000019 - -gUnk_08110877:: @ 08110877 - .incbin "baserom.gba", 0x110877, 0x0000005 - -gUnk_0811087C:: @ 0811087C - .incbin "baserom.gba", 0x11087C, 0x000001E - -gUnk_0811089A:: @ 0811089A - .incbin "baserom.gba", 0x11089A, 0x0000019 - -gUnk_081108B3:: @ 081108B3 - .incbin "baserom.gba", 0x1108B3, 0x0000019 - -gUnk_081108CC:: @ 081108CC - .incbin "baserom.gba", 0x1108CC, 0x0000019 - -gUnk_081108E5:: @ 081108E5 - .incbin "baserom.gba", 0x1108E5, 0x000000D - -gUnk_081108F2:: @ 081108F2 - .incbin "baserom.gba", 0x1108F2, 0x000000D - -gUnk_081108FF:: @ 081108FF - .incbin "baserom.gba", 0x1108FF, 0x000000D - -gUnk_0811090C:: @ 0811090C - .incbin "baserom.gba", 0x11090C, 0x000000C - -gUnk_08110918:: @ 08110918 - .incbin "baserom.gba", 0x110918, 0x0000005 - -gUnk_0811091D:: @ 0811091D - .incbin "baserom.gba", 0x11091D, 0x0000005 - -gUnk_08110922:: @ 08110922 - .incbin "baserom.gba", 0x110922, 0x0000005 - -gUnk_08110927:: @ 08110927 - .incbin "baserom.gba", 0x110927, 0x0000005 - -gUnk_0811092C:: @ 0811092C - .incbin "baserom.gba", 0x11092C, 0x0000005 - -gUnk_08110931:: @ 08110931 - .incbin "baserom.gba", 0x110931, 0x00000C1 - -gUnk_081109F2:: @ 081109F2 - .incbin "baserom.gba", 0x1109F2, 0x0000006 - -gUnk_081109F8:: @ 081109F8 - .incbin "baserom.gba", 0x1109F8, 0x00000DF - -gUnk_08110AD7:: @ 08110AD7 - .incbin "baserom.gba", 0x110AD7, 0x0000015 - -gUnk_08110AEC:: @ 08110AEC - .incbin "baserom.gba", 0x110AEC, 0x0000010 - -gUnk_08110AFC:: @ 08110AFC - .incbin "baserom.gba", 0x110AFC, 0x0000008 - -gUnk_08110B04:: @ 08110B04 - .incbin "baserom.gba", 0x110B04, 0x0000001 - -gUnk_08110B05:: @ 08110B05 - .incbin "baserom.gba", 0x110B05, 0x000004B - -gUnk_08110B50:: @ 08110B50 - .incbin "baserom.gba", 0x110B50, 0x0000088 - -gUnk_08110BD8:: @ 08110BD8 - .incbin "baserom.gba", 0x110BD8, 0x0000008 - -gUnk_08110BE0:: @ 08110BE0 - .incbin "baserom.gba", 0x110BE0, 0x000001F - -gUnk_08110BFF:: @ 08110BFF - .incbin "baserom.gba", 0x110BFF, 0x0000001 - -gUnk_08110C00:: @ 08110C00 - .incbin "baserom.gba", 0x110C00, 0x0000003 - -gUnk_08110C03:: @ 08110C03 - .incbin "baserom.gba", 0x110C03, 0x0000009 - -gUnk_08110C0C:: @ 08110C0C - .incbin "baserom.gba", 0x110C0C, 0x0000004 - -gUnk_08110C10:: @ 08110C10 - .incbin "baserom.gba", 0x110C10, 0x0000050 - -gUnk_08110C60:: @ 08110C60 - .incbin "baserom.gba", 0x110C60, 0x0000015 - -gUnk_08110C75:: @ 08110C75 - .incbin "baserom.gba", 0x110C75, 0x0000005 - -gUnk_08110C7A:: @ 08110C7A - .incbin "baserom.gba", 0x110C7A, 0x0000005 - -gUnk_08110C7F:: @ 08110C7F - .incbin "baserom.gba", 0x110C7F, 0x0000005 - -gUnk_08110C84:: @ 08110C84 - .incbin "baserom.gba", 0x110C84, 0x0000024 - -gUnk_08110CA8:: @ 08110CA8 - .incbin "baserom.gba", 0x110CA8, 0x0000040 - -gUnk_08110CE8:: @ 08110CE8 - .incbin "baserom.gba", 0x110CE8, 0x000000A - -gUnk_08110CF2:: @ 08110CF2 - .incbin "baserom.gba", 0x110CF2, 0x000000C - -gUnk_08110CFE:: @ 08110CFE - .incbin "baserom.gba", 0x110CFE, 0x0000002 - -gUnk_08110D00:: @ 08110D00 - .incbin "baserom.gba", 0x110D00, 0x0000002 - -gUnk_08110D02:: @ 08110D02 - .incbin "baserom.gba", 0x110D02, 0x0000006 - -gUnk_08110D08:: @ 08110D08 - .incbin "baserom.gba", 0x110D08, 0x0000025 - -gUnk_08110D2D:: @ 08110D2D - .incbin "baserom.gba", 0x110D2D, 0x0000005 - -gUnk_08110D32:: @ 08110D32 - .incbin "baserom.gba", 0x110D32, 0x0000005 - -gUnk_08110D37:: @ 08110D37 - .incbin "baserom.gba", 0x110D37, 0x0000005 - -gUnk_08110D3C:: @ 08110D3C - .incbin "baserom.gba", 0x110D3C, 0x0000025 - -gUnk_08110D61:: @ 08110D61 - .incbin "baserom.gba", 0x110D61, 0x0000005 - -gUnk_08110D66:: @ 08110D66 - .incbin "baserom.gba", 0x110D66, 0x0000005 - -gUnk_08110D6B:: @ 08110D6B - .incbin "baserom.gba", 0x110D6B, 0x0000005 - -gUnk_08110D70:: @ 08110D70 - .incbin "baserom.gba", 0x110D70, 0x000001D - -gUnk_08110D8D:: @ 08110D8D - .incbin "baserom.gba", 0x110D8D, 0x0000005 - -gUnk_08110D92:: @ 08110D92 - .incbin "baserom.gba", 0x110D92, 0x0000005 - -gUnk_08110D97:: @ 08110D97 - .incbin "baserom.gba", 0x110D97, 0x0000005 - -gUnk_08110D9C:: @ 08110D9C - .incbin "baserom.gba", 0x110D9C, 0x000001D - -gUnk_08110DB9:: @ 08110DB9 - .incbin "baserom.gba", 0x110DB9, 0x0000005 - -gUnk_08110DBE:: @ 08110DBE - .incbin "baserom.gba", 0x110DBE, 0x0000005 - -gUnk_08110DC3:: @ 08110DC3 - .incbin "baserom.gba", 0x110DC3, 0x0000005 - -gUnk_08110DC8:: @ 08110DC8 - .incbin "baserom.gba", 0x110DC8, 0x0000038 - -gUnk_08110E00:: @ 08110E00 - .incbin "baserom.gba", 0x110E00, 0x0000006 - -gUnk_08110E06:: @ 08110E06 - .incbin "baserom.gba", 0x110E06, 0x0000003 - -gUnk_08110E09:: @ 08110E09 - .incbin "baserom.gba", 0x110E09, 0x0000005 - -gUnk_08110E0E:: @ 08110E0E - .incbin "baserom.gba", 0x110E0E, 0x0000002 - -gUnk_08110E10:: @ 08110E10 - .incbin "baserom.gba", 0x110E10, 0x000003C - -gUnk_08110E4C:: @ 08110E4C - .incbin "baserom.gba", 0x110E4C, 0x0000010 - -gUnk_08110E5C:: @ 08110E5C - .incbin "baserom.gba", 0x110E5C, 0x0000008 - -gUnk_08110E64:: @ 08110E64 - .incbin "baserom.gba", 0x110E64, 0x0000004 - -gUnk_08110E68:: @ 08110E68 - .incbin "baserom.gba", 0x110E68, 0x0000010 - -gUnk_08110E78:: @ 08110E78 - .incbin "baserom.gba", 0x110E78, 0x0000012 - -gUnk_08110E8A:: @ 08110E8A - .incbin "baserom.gba", 0x110E8A, 0x000000A - -gUnk_08110E94:: @ 08110E94 - .incbin "baserom.gba", 0x110E94, 0x0000008 - -gUnk_08110E9C:: @ 08110E9C - .incbin "baserom.gba", 0x110E9C, 0x0000005 - -gUnk_08110EA1:: @ 08110EA1 - .incbin "baserom.gba", 0x110EA1, 0x0000005 - -gUnk_08110EA6:: @ 08110EA6 - .incbin "baserom.gba", 0x110EA6, 0x0000006 - -gUnk_08110EAC:: @ 08110EAC - .incbin "baserom.gba", 0x110EAC, 0x0000044 - -gUnk_08110EF0:: @ 08110EF0 - .incbin "baserom.gba", 0x110EF0, 0x0000008 - -gUnk_08110EF8:: @ 08110EF8 - .incbin "baserom.gba", 0x110EF8, 0x0000002 - -gUnk_08110EFA:: @ 08110EFA - .incbin "baserom.gba", 0x110EFA, 0x000000F - -gUnk_08110F09:: @ 08110F09 - .incbin "baserom.gba", 0x110F09, 0x0000001 - -gUnk_08110F0A:: @ 08110F0A - .incbin "baserom.gba", 0x110F0A, 0x0000002 - -gUnk_08110F0C:: @ 08110F0C - .incbin "baserom.gba", 0x110F0C, 0x000000A - -gUnk_08110F16:: @ 08110F16 - .incbin "baserom.gba", 0x110F16, 0x00000EA - -gUnk_08111000:: @ 08111000 - .incbin "baserom.gba", 0x111000, 0x0000003 - -gUnk_08111003:: @ 08111003 - .incbin "baserom.gba", 0x111003, 0x000000A - -gUnk_0811100D:: @ 0811100D - .incbin "baserom.gba", 0x11100D, 0x00000CB - -gCat:: @ 081110D8 - .incbin "baserom.gba", 0x1110D8, 0x0000024 - -gUnk_081110FC:: @ 081110FC - .incbin "baserom.gba", 0x1110FC, 0x0000008 - -gUnk_08111104:: @ 08111104 - .incbin "baserom.gba", 0x111104, 0x0000008 - -gUnk_0811110C:: @ 0811110C - .incbin "baserom.gba", 0x11110C, 0x0000001 - -gUnk_0811110D:: @ 0811110D - .incbin "baserom.gba", 0x11110D, 0x0000001 - -gUnk_0811110E:: @ 0811110E - .incbin "baserom.gba", 0x11110E, 0x0000001 - -gUnk_0811110F:: @ 0811110F - .incbin "baserom.gba", 0x11110F, 0x0000002 - -gUnk_08111111:: @ 08111111 - .incbin "baserom.gba", 0x111111, 0x0000002 - -gUnk_08111113:: @ 08111113 - .incbin "baserom.gba", 0x111113, 0x0000001 - -gUnk_08111114:: @ 08111114 - .incbin "baserom.gba", 0x111114, 0x0000008 - -gUnk_0811111C:: @ 0811111C - .incbin "baserom.gba", 0x11111C, 0x0000008 - -gUnk_08111124:: @ 08111124 - .incbin "baserom.gba", 0x111124, 0x0000008 - -gUnk_0811112C:: @ 0811112C - .incbin "baserom.gba", 0x11112C, 0x0000008 - -gUnk_08111134:: @ 08111134 - .incbin "baserom.gba", 0x111134, 0x0000008 - -gUnk_0811113C:: @ 0811113C - .incbin "baserom.gba", 0x11113C, 0x0000008 - -gUnk_08111144:: @ 08111144 - .incbin "baserom.gba", 0x111144, 0x0000008 - -gUnk_0811114C:: @ 0811114C - .incbin "baserom.gba", 0x11114C, 0x0000008 - -gUnk_08111154:: @ 08111154 - .incbin "baserom.gba", 0x111154, 0x0000017 - -gUnk_0811116B:: @ 0811116B - .incbin "baserom.gba", 0x11116B, 0x0000009 - -gUnk_08111174:: @ 08111174 - .incbin "baserom.gba", 0x111174, 0x000003C - -gUnk_081111B0:: @ 081111B0 - .incbin "baserom.gba", 0x1111B0, 0x0000009 - -gUnk_081111B9:: @ 081111B9 - .incbin "baserom.gba", 0x1111B9, 0x0000003 - -gUnk_081111BC:: @ 081111BC - .incbin "baserom.gba", 0x1111BC, 0x0000006 - -gUnk_081111C2:: @ 081111C2 - .incbin "baserom.gba", 0x1111C2, 0x0000011 - -gUnk_081111D3:: @ 081111D3 - .incbin "baserom.gba", 0x1111D3, 0x0000018 - -gUnk_081111EB:: @ 081111EB - .incbin "baserom.gba", 0x1111EB, 0x0000010 - -gUnk_081111FB:: @ 081111FB - .incbin "baserom.gba", 0x1111FB, 0x0000009 - -gUnk_08111204:: @ 08111204 - .incbin "baserom.gba", 0x111204, 0x000000D - -gUnk_08111211:: @ 08111211 - .incbin "baserom.gba", 0x111211, 0x000000D - -gUnk_0811121E:: @ 0811121E - .incbin "baserom.gba", 0x11121E, 0x000000E - -gUnk_0811122C:: @ 0811122C - .incbin "baserom.gba", 0x11122C, 0x000000C - -gUnk_08111238:: @ 08111238 - .incbin "baserom.gba", 0x111238, 0x0000024 - -gUnk_0811125C:: @ 0811125C - .incbin "baserom.gba", 0x11125C, 0x0000028 - -gUnk_08111284:: @ 08111284 - .incbin "baserom.gba", 0x111284, 0x0000080 - -gUnk_08111304:: @ 08111304 - .incbin "baserom.gba", 0x111304, 0x0000009 - -gUnk_0811130D:: @ 0811130D - .incbin "baserom.gba", 0x11130D, 0x0000001 - -gUnk_0811130E:: @ 0811130E - .incbin "baserom.gba", 0x11130E, 0x0000001 - -gUnk_0811130F:: @ 0811130F - .incbin "baserom.gba", 0x11130F, 0x0000009 - -gUnk_08111318:: @ 08111318 - .incbin "baserom.gba", 0x111318, 0x0000006 - -gUnk_0811131E:: @ 0811131E - .incbin "baserom.gba", 0x11131E, 0x0000025 - -gUnk_08111343:: @ 08111343 - .incbin "baserom.gba", 0x111343, 0x0000015 - -gUnk_08111358:: @ 08111358 - .incbin "baserom.gba", 0x111358, 0x0000010 - -gUnk_08111368:: @ 08111368 - .incbin "baserom.gba", 0x111368, 0x000000C - -gUnk_08111374:: @ 08111374 - .incbin "baserom.gba", 0x111374, 0x0000006 - -gUnk_0811137A:: @ 0811137A - .incbin "baserom.gba", 0x11137A, 0x0000006 - -gUnk_08111380:: @ 08111380 - .incbin "baserom.gba", 0x111380, 0x0000005 - -gUnk_08111385:: @ 08111385 - .incbin "baserom.gba", 0x111385, 0x0000005 - -gUnk_0811138A:: @ 0811138A - .incbin "baserom.gba", 0x11138A, 0x0000005 - -gUnk_0811138F:: @ 0811138F - .incbin "baserom.gba", 0x11138F, 0x0000005 - -gUnk_08111394:: @ 08111394 - .incbin "baserom.gba", 0x111394, 0x0000025 - -gUnk_081113B9:: @ 081113B9 - .incbin "baserom.gba", 0x1113B9, 0x0000025 - -gUnk_081113DE:: @ 081113DE - .incbin "baserom.gba", 0x1113DE, 0x0000021 - -gUnk_081113FF:: @ 081113FF - .incbin "baserom.gba", 0x1113FF, 0x0000008 - -gUnk_08111407:: @ 08111407 - .incbin "baserom.gba", 0x111407, 0x0000005 - -gUnk_0811140C:: @ 0811140C - .incbin "baserom.gba", 0x11140C, 0x0000002 - -gUnk_0811140E:: @ 0811140E - .incbin "baserom.gba", 0x11140E, 0x0000005 - -gUnk_08111413:: @ 08111413 - .incbin "baserom.gba", 0x111413, 0x0000009 - -gUnk_0811141C:: @ 0811141C - .incbin "baserom.gba", 0x11141C, 0x0000008 - -gUnk_08111424:: @ 08111424 - .incbin "baserom.gba", 0x111424, 0x0000025 - -gUnk_08111449:: @ 08111449 - .incbin "baserom.gba", 0x111449, 0x0000071 - -gUnk_081114BA:: @ 081114BA - .incbin "baserom.gba", 0x1114BA, 0x0000029 - -gUnk_081114E3:: @ 081114E3 - .incbin "baserom.gba", 0x1114E3, 0x0000005 - -gUnk_081114E8:: @ 081114E8 - .incbin "baserom.gba", 0x1114E8, 0x0000013 - -gUnk_081114FB:: @ 081114FB - .incbin "baserom.gba", 0x1114FB, 0x0000016 - -gUnk_08111511:: @ 08111511 - .incbin "baserom.gba", 0x111511, 0x0000002 - -gUnk_08111513:: @ 08111513 - .incbin "baserom.gba", 0x111513, 0x0000001 - -gUnk_08111514:: @ 08111514 - .incbin "baserom.gba", 0x111514, 0x0000003 - -gUnk_08111517:: @ 08111517 - .incbin "baserom.gba", 0x111517, 0x0000003 - -gUnk_0811151A:: @ 0811151A - .incbin "baserom.gba", 0x11151A, 0x0000001 - -gUnk_0811151B:: @ 0811151B - .incbin "baserom.gba", 0x11151B, 0x0000001 - -gUnk_0811151C:: @ 0811151C - .incbin "baserom.gba", 0x11151C, 0x0000004 - -gUnk_08111520:: @ 08111520 - .incbin "baserom.gba", 0x111520, 0x0000007 - -gUnk_08111527:: @ 08111527 - .incbin "baserom.gba", 0x111527, 0x0000002 - -gUnk_08111529:: @ 08111529 - .incbin "baserom.gba", 0x111529, 0x0000007 - -gUnk_08111530:: @ 08111530 - .incbin "baserom.gba", 0x111530, 0x0000008 - -gUnk_08111538:: @ 08111538 - .incbin "baserom.gba", 0x111538, 0x0000006 - -gUnk_0811153E:: @ 0811153E - .incbin "baserom.gba", 0x11153E, 0x0000006 - -gUnk_08111544:: @ 08111544 - .incbin "baserom.gba", 0x111544, 0x0000005 - -gUnk_08111549:: @ 08111549 - .incbin "baserom.gba", 0x111549, 0x0000005 - -gUnk_0811154E:: @ 0811154E - .incbin "baserom.gba", 0x11154E, 0x0000005 - -gUnk_08111553:: @ 08111553 - .incbin "baserom.gba", 0x111553, 0x0000039 - -gUnk_0811158C:: @ 0811158C - .incbin "baserom.gba", 0x11158C, 0x0000008 - -gUnk_08111594:: @ 08111594 - .incbin "baserom.gba", 0x111594, 0x000002C - -gUnk_081115C0:: @ 081115C0 - .incbin "baserom.gba", 0x1115C0, 0x0000010 - -gUnk_081115D0:: @ 081115D0 - .incbin "baserom.gba", 0x1115D0, 0x000000C - -gUnk_081115DC:: @ 081115DC - .incbin "baserom.gba", 0x1115DC, 0x0000010 - -gUnk_081115EC:: @ 081115EC - .incbin "baserom.gba", 0x1115EC, 0x0000024 - -gUnk_08111610:: @ 08111610 - .incbin "baserom.gba", 0x111610, 0x0000008 - -gUnk_08111618:: @ 08111618 - .incbin "baserom.gba", 0x111618, 0x0000003 - -gUnk_0811161B:: @ 0811161B - .incbin "baserom.gba", 0x11161B, 0x0000005 - -gUnk_08111620:: @ 08111620 - .incbin "baserom.gba", 0x111620, 0x0000003 - -gUnk_08111623:: @ 08111623 - .incbin "baserom.gba", 0x111623, 0x0000008 - -gUnk_0811162B:: @ 0811162B - .incbin "baserom.gba", 0x11162B, 0x000000D - -gUnk_08111638:: @ 08111638 - .incbin "baserom.gba", 0x111638, 0x000002C - -gUnk_08111664:: @ 08111664 - .incbin "baserom.gba", 0x111664, 0x0000016 - -gUnk_0811167A:: @ 0811167A - .incbin "baserom.gba", 0x11167A, 0x0000016 - -gUnk_08111690:: @ 08111690 - .incbin "baserom.gba", 0x111690, 0x0000016 - -gUnk_081116A6:: @ 081116A6 - .incbin "baserom.gba", 0x1116A6, 0x0000016 - -gUnk_081116BC:: @ 081116BC - .incbin "baserom.gba", 0x1116BC, 0x0000016 - -gUnk_081116D2:: @ 081116D2 - .incbin "baserom.gba", 0x1116D2, 0x0000016 - -gUnk_081116E8:: @ 081116E8 - .incbin "baserom.gba", 0x1116E8, 0x0000016 - -gUnk_081116FE:: @ 081116FE - .incbin "baserom.gba", 0x1116FE, 0x0000016 - -gUnk_08111714:: @ 08111714 - .incbin "baserom.gba", 0x111714, 0x0000003 - -gUnk_08111717:: @ 08111717 - .incbin "baserom.gba", 0x111717, 0x0000001 - -gUnk_08111718:: @ 08111718 - .incbin "baserom.gba", 0x111718, 0x0000001 - -gUnk_08111719:: @ 08111719 - .incbin "baserom.gba", 0x111719, 0x0000001 - -gUnk_0811171A:: @ 0811171A - .incbin "baserom.gba", 0x11171A, 0x0000010 - -gUnk_0811172A:: @ 0811172A - .incbin "baserom.gba", 0x11172A, 0x0000016 - -gUnk_08111740:: @ 08111740 - .incbin "baserom.gba", 0x111740, 0x000002C - -gUnk_0811176C:: @ 0811176C - .incbin "baserom.gba", 0x11176C, 0x0000005 - -gUnk_08111771:: @ 08111771 - .incbin "baserom.gba", 0x111771, 0x0000005 - -gUnk_08111776:: @ 08111776 - .incbin "baserom.gba", 0x111776, 0x0000005 - -gUnk_0811177B:: @ 0811177B - .incbin "baserom.gba", 0x11177B, 0x000004D - -gUnk_081117C8:: @ 081117C8 - .incbin "baserom.gba", 0x1117C8, 0x0000031 - -gUnk_081117F9:: @ 081117F9 - .incbin "baserom.gba", 0x1117F9, 0x000001E - -gUnk_08111817:: @ 08111817 - .incbin "baserom.gba", 0x111817, 0x0000002 - -gUnk_08111819:: @ 08111819 - .incbin "baserom.gba", 0x111819, 0x0000002 - -gUnk_0811181B:: @ 0811181B - .incbin "baserom.gba", 0x11181B, 0x0000001 - -gUnk_0811181C:: @ 0811181C - .incbin "baserom.gba", 0x11181C, 0x0000001 - -gUnk_0811181D:: @ 0811181D - .incbin "baserom.gba", 0x11181D, 0x0000001 - -gUnk_0811181E:: @ 0811181E - .incbin "baserom.gba", 0x11181E, 0x0000004 - -gUnk_08111822:: @ 08111822 - .incbin "baserom.gba", 0x111822, 0x0000008 - -gUnk_0811182A:: @ 0811182A - .incbin "baserom.gba", 0x11182A, 0x0000031 - -gUnk_0811185B:: @ 0811185B - .incbin "baserom.gba", 0x11185B, 0x0000071 - -gUnk_081118CC:: @ 081118CC - .incbin "baserom.gba", 0x1118CC, 0x0000024 - -gUnk_081118F0:: @ 081118F0 - .incbin "baserom.gba", 0x1118F0, 0x0000024 - -gUnk_08111914:: @ 08111914 - .incbin "baserom.gba", 0x111914, 0x0000004 - -gUnk_08111918:: @ 08111918 - .incbin "baserom.gba", 0x111918, 0x0000001 - -gUnk_08111919:: @ 08111919 - .incbin "baserom.gba", 0x111919, 0x0000001 - -gUnk_0811191A:: @ 0811191A - .incbin "baserom.gba", 0x11191A, 0x0000001 - -gUnk_0811191B:: @ 0811191B - .incbin "baserom.gba", 0x11191B, 0x0000002 - -gUnk_0811191D:: @ 0811191D - .incbin "baserom.gba", 0x11191D, 0x0000001 - -gUnk_0811191E:: @ 0811191E - .incbin "baserom.gba", 0x11191E, 0x0000002 - -gUnk_08111920:: @ 08111920 - .incbin "baserom.gba", 0x111920, 0x0000002 - -gUnk_08111922:: @ 08111922 - .incbin "baserom.gba", 0x111922, 0x0000006 - -gUnk_08111928:: @ 08111928 - .incbin "baserom.gba", 0x111928, 0x0000010 - -gUnk_08111938:: @ 08111938 - .incbin "baserom.gba", 0x111938, 0x0000028 - -gUnk_08111960:: @ 08111960 - .incbin "baserom.gba", 0x111960, 0x0000005 - -gUnk_08111965:: @ 08111965 - .incbin "baserom.gba", 0x111965, 0x0000005 - -gUnk_0811196A:: @ 0811196A - .incbin "baserom.gba", 0x11196A, 0x0000005 - -gUnk_0811196F:: @ 0811196F - .incbin "baserom.gba", 0x11196F, 0x0000005 - -gUnk_08111974:: @ 08111974 - .incbin "baserom.gba", 0x111974, 0x0000011 - -gUnk_08111985:: @ 08111985 - .incbin "baserom.gba", 0x111985, 0x0000011 - -gUnk_08111996:: @ 08111996 - .incbin "baserom.gba", 0x111996, 0x0000011 - -gUnk_081119A7:: @ 081119A7 - .incbin "baserom.gba", 0x1119A7, 0x0000011 - -gUnk_081119B8:: @ 081119B8 - .incbin "baserom.gba", 0x1119B8, 0x000000C - -gUnk_081119C4:: @ 081119C4 - .incbin "baserom.gba", 0x1119C4, 0x000000C - -gUnk_081119D0:: @ 081119D0 - .incbin "baserom.gba", 0x1119D0, 0x000000C - -gUnk_081119DC:: @ 081119DC - .incbin "baserom.gba", 0x1119DC, 0x000000C - -gUnk_081119E8:: @ 081119E8 - .incbin "baserom.gba", 0x1119E8, 0x0000009 - -gUnk_081119F1:: @ 081119F1 - .incbin "baserom.gba", 0x1119F1, 0x0000005 - -gUnk_081119F6:: @ 081119F6 - .incbin "baserom.gba", 0x1119F6, 0x0000004 - -gUnk_081119FA:: @ 081119FA - .incbin "baserom.gba", 0x1119FA, 0x0000009 - -gUnk_08111A03:: @ 08111A03 - .incbin "baserom.gba", 0x111A03, 0x0000009 - -gUnk_08111A0C:: @ 08111A0C - .incbin "baserom.gba", 0x111A0C, 0x0000008 - -gUnk_08111A14:: @ 08111A14 - .incbin "baserom.gba", 0x111A14, 0x0000002 - -gUnk_08111A16:: @ 08111A16 - .incbin "baserom.gba", 0x111A16, 0x0000002 - -gUnk_08111A18:: @ 08111A18 - .incbin "baserom.gba", 0x111A18, 0x0000001 - -gUnk_08111A19:: @ 08111A19 - .incbin "baserom.gba", 0x111A19, 0x0000003 - -gUnk_08111A1C:: @ 08111A1C - .incbin "baserom.gba", 0x111A1C, 0x0000003 - -gUnk_08111A1F:: @ 08111A1F - .incbin "baserom.gba", 0x111A1F, 0x0000002 - -gUnk_08111A21:: @ 08111A21 - .incbin "baserom.gba", 0x111A21, 0x0000001 - -gUnk_08111A22:: @ 08111A22 - .incbin "baserom.gba", 0x111A22, 0x0000002 - -gUnk_08111A24:: @ 08111A24 - .incbin "baserom.gba", 0x111A24, 0x0000008 - -gUnk_08111A2C:: @ 08111A2C - .incbin "baserom.gba", 0x111A2C, 0x0000054 - -gUnk_08111A80:: @ 08111A80 - .incbin "baserom.gba", 0x111A80, 0x000000C - -gUnk_08111A8C:: @ 08111A8C - .incbin "baserom.gba", 0x111A8C, 0x0000008 - -gUnk_08111A94:: @ 08111A94 - .incbin "baserom.gba", 0x111A94, 0x0000030 - -gUnk_08111AC4:: @ 08111AC4 - .incbin "baserom.gba", 0x111AC4, 0x0000005 - -gUnk_08111AC9:: @ 08111AC9 - .incbin "baserom.gba", 0x111AC9, 0x0000005 - -gUnk_08111ACE:: @ 08111ACE - .incbin "baserom.gba", 0x111ACE, 0x0000005 - -gUnk_08111AD3:: @ 08111AD3 - .incbin "baserom.gba", 0x111AD3, 0x0000005 - -gUnk_08111AD8:: @ 08111AD8 - .incbin "baserom.gba", 0x111AD8, 0x0000021 - -gUnk_08111AF9:: @ 08111AF9 - .incbin "baserom.gba", 0x111AF9, 0x0000021 - -gUnk_08111B1A:: @ 08111B1A - .incbin "baserom.gba", 0x111B1A, 0x0000005 - -gUnk_08111B1F:: @ 08111B1F - .incbin "baserom.gba", 0x111B1F, 0x0000007 - -gUnk_08111B26:: @ 08111B26 - .incbin "baserom.gba", 0x111B26, 0x0000015 - -gUnk_08111B3B:: @ 08111B3B - .incbin "baserom.gba", 0x111B3B, 0x000000B - -gUnk_08111B46:: @ 08111B46 - .incbin "baserom.gba", 0x111B46, 0x000001A - -gUnk_08111B60:: @ 08111B60 - .incbin "baserom.gba", 0x111B60, 0x0000023 - -gUnk_08111B83:: @ 08111B83 - .incbin "baserom.gba", 0x111B83, 0x0000005 - -gUnk_08111B88:: @ 08111B88 - .incbin "baserom.gba", 0x111B88, 0x0000010 - -gUnk_08111B98:: @ 08111B98 - .incbin "baserom.gba", 0x111B98, 0x0000008 - -gUnk_08111BA0:: @ 08111BA0 - .incbin "baserom.gba", 0x111BA0, 0x000001E - -gUnk_08111BBE:: @ 08111BBE - .incbin "baserom.gba", 0x111BBE, 0x0000005 - -gUnk_08111BC3:: @ 08111BC3 - .incbin "baserom.gba", 0x111BC3, 0x0000005 - -gUnk_08111BC8:: @ 08111BC8 - .incbin "baserom.gba", 0x111BC8, 0x0000005 - -gUnk_08111BCD:: @ 08111BCD - .incbin "baserom.gba", 0x111BCD, 0x0000025 - -gUnk_08111BF2:: @ 08111BF2 - .incbin "baserom.gba", 0x111BF2, 0x0000026 - -gUnk_08111C18:: @ 08111C18 - .incbin "baserom.gba", 0x111C18, 0x0000002 - -gUnk_08111C1A:: @ 08111C1A - .incbin "baserom.gba", 0x111C1A, 0x0000002 - -gUnk_08111C1C:: @ 08111C1C - .incbin "baserom.gba", 0x111C1C, 0x0000004 - -gUnk_08111C20:: @ 08111C20 - .incbin "baserom.gba", 0x111C20, 0x0000001 - -gUnk_08111C21:: @ 08111C21 - .incbin "baserom.gba", 0x111C21, 0x0000002 - -gUnk_08111C23:: @ 08111C23 - .incbin "baserom.gba", 0x111C23, 0x0000019 - -gUnk_08111C3C:: @ 08111C3C - .incbin "baserom.gba", 0x111C3C, 0x000000C - -gUnk_08111C48:: @ 08111C48 - .incbin "baserom.gba", 0x111C48, 0x0000008 - -gUnk_08111C50:: @ 08111C50 - .incbin "baserom.gba", 0x111C50, 0x000000C - -gUnk_08111C5C:: @ 08111C5C - .incbin "baserom.gba", 0x111C5C, 0x0000018 - -gUnk_08111C74:: @ 08111C74 - .incbin "baserom.gba", 0x111C74, 0x0000010 - -gUnk_08111C84:: @ 08111C84 - .incbin "baserom.gba", 0x111C84, 0x0000008 - -gUnk_08111C8C:: @ 08111C8C - .incbin "baserom.gba", 0x111C8C, 0x0000010 - -gUnk_08111C9C:: @ 08111C9C - .incbin "baserom.gba", 0x111C9C, 0x000000C - -gUnk_08111CA8:: @ 08111CA8 - .incbin "baserom.gba", 0x111CA8, 0x000000C - -gUnk_08111CB4:: @ 08111CB4 - .incbin "baserom.gba", 0x111CB4, 0x0000004 - -gUnk_08111CB8:: @ 08111CB8 - .incbin "baserom.gba", 0x111CB8, 0x0000004 - -gUnk_08111CBC:: @ 08111CBC - .incbin "baserom.gba", 0x111CBC, 0x0000005 - -gUnk_08111CC1:: @ 08111CC1 - .incbin "baserom.gba", 0x111CC1, 0x0000005 - -gUnk_08111CC6:: @ 08111CC6 - .incbin "baserom.gba", 0x111CC6, 0x0000005 - -gUnk_08111CCB:: @ 08111CCB - .incbin "baserom.gba", 0x111CCB, 0x0000005 - -gUnk_08111CD0:: @ 08111CD0 - .incbin "baserom.gba", 0x111CD0, 0x0000019 - -gUnk_08111CE9:: @ 08111CE9 - .incbin "baserom.gba", 0x111CE9, 0x0000019 - -gUnk_08111D02:: @ 08111D02 - .incbin "baserom.gba", 0x111D02, 0x0000015 - -gUnk_08111D17:: @ 08111D17 - .incbin "baserom.gba", 0x111D17, 0x0000004 - -gUnk_08111D1B:: @ 08111D1B - .incbin "baserom.gba", 0x111D1B, 0x000000F - -gUnk_08111D2A:: @ 08111D2A - .incbin "baserom.gba", 0x111D2A, 0x0000001 - -gUnk_08111D2B:: @ 08111D2B - .incbin "baserom.gba", 0x111D2B, 0x0000009 - -gUnk_08111D34:: @ 08111D34 - .incbin "baserom.gba", 0x111D34, 0x0000024 - -gUnk_08111D58:: @ 08111D58 - .incbin "baserom.gba", 0x111D58, 0x0000030 - -gUnk_08111D88:: @ 08111D88 - .incbin "baserom.gba", 0x111D88, 0x0000020 - -gUnk_08111DA8:: @ 08111DA8 - .incbin "baserom.gba", 0x111DA8, 0x0000008 - -gUnk_08111DB0:: @ 08111DB0 - .incbin "baserom.gba", 0x111DB0, 0x0000066 - -gUnk_08111E16:: @ 08111E16 - .incbin "baserom.gba", 0x111E16, 0x000001A - -gUnk_08111E30:: @ 08111E30 - .incbin "baserom.gba", 0x111E30, 0x0000004 - -gUnk_08111E34:: @ 08111E34 - .incbin "baserom.gba", 0x111E34, 0x00000AD - -gUnk_08111EE1:: @ 08111EE1 - .incbin "baserom.gba", 0x111EE1, 0x0000047 - -gUnk_08111F28:: @ 08111F28 - .incbin "baserom.gba", 0x111F28, 0x0000008 - -gUnk_08111F30:: @ 08111F30 - .incbin "baserom.gba", 0x111F30, 0x0000044 - -gUnk_08111F74:: @ 08111F74 - .incbin "baserom.gba", 0x111F74, 0x0000064 - -gUnk_08111FD8:: @ 08111FD8 - .incbin "baserom.gba", 0x111FD8, 0x000000A - -gUnk_08111FE2:: @ 08111FE2 - .incbin "baserom.gba", 0x111FE2, 0x0000005 - -gUnk_08111FE7:: @ 08111FE7 - .incbin "baserom.gba", 0x111FE7, 0x0000005 - -gUnk_08111FEC:: @ 08111FEC - .incbin "baserom.gba", 0x111FEC, 0x0000005 - -gUnk_08111FF1:: @ 08111FF1 - .incbin "baserom.gba", 0x111FF1, 0x0000005 - -gUnk_08111FF6:: @ 08111FF6 - .incbin "baserom.gba", 0x111FF6, 0x0000011 - -gUnk_08112007:: @ 08112007 - .incbin "baserom.gba", 0x112007, 0x0000007 - -gUnk_0811200E:: @ 0811200E - .incbin "baserom.gba", 0x11200E, 0x000000A - -gUnk_08112018:: @ 08112018 - .incbin "baserom.gba", 0x112018, 0x0000005 - -gUnk_0811201D:: @ 0811201D - .incbin "baserom.gba", 0x11201D, 0x0000005 - -gUnk_08112022:: @ 08112022 - .incbin "baserom.gba", 0x112022, 0x0000005 - -gUnk_08112027:: @ 08112027 - .incbin "baserom.gba", 0x112027, 0x0000005 - -gUnk_0811202C:: @ 0811202C - .incbin "baserom.gba", 0x11202C, 0x0000005 - -gUnk_08112031:: @ 08112031 - .incbin "baserom.gba", 0x112031, 0x0000005 - -gUnk_08112036:: @ 08112036 - .incbin "baserom.gba", 0x112036, 0x0000005 - -gUnk_0811203B:: @ 0811203B - .incbin "baserom.gba", 0x11203B, 0x0000005 - -gUnk_08112040:: @ 08112040 - .incbin "baserom.gba", 0x112040, 0x0000005 - -gUnk_08112045:: @ 08112045 - .incbin "baserom.gba", 0x112045, 0x0000005 - -gUnk_0811204A:: @ 0811204A - .incbin "baserom.gba", 0x11204A, 0x0000005 - -gUnk_0811204F:: @ 0811204F - .incbin "baserom.gba", 0x11204F, 0x0000005 - -gUnk_08112054:: @ 08112054 - .incbin "baserom.gba", 0x112054, 0x0000005 - -gUnk_08112059:: @ 08112059 - .incbin "baserom.gba", 0x112059, 0x0000005 - -gUnk_0811205E:: @ 0811205E - .incbin "baserom.gba", 0x11205E, 0x0000005 - -gUnk_08112063:: @ 08112063 - .incbin "baserom.gba", 0x112063, 0x0000005 - -gUnk_08112068:: @ 08112068 - .incbin "baserom.gba", 0x112068, 0x000000D - -gUnk_08112075:: @ 08112075 - .incbin "baserom.gba", 0x112075, 0x000000D - -gUnk_08112082:: @ 08112082 - .incbin "baserom.gba", 0x112082, 0x000000D - -gUnk_0811208F:: @ 0811208F - .incbin "baserom.gba", 0x11208F, 0x000000D - -gUnk_0811209C:: @ 0811209C - .incbin "baserom.gba", 0x11209C, 0x0000011 - -gUnk_081120AD:: @ 081120AD - .incbin "baserom.gba", 0x1120AD, 0x0000011 - -gUnk_081120BE:: @ 081120BE - .incbin "baserom.gba", 0x1120BE, 0x0000011 - -gUnk_081120CF:: @ 081120CF - .incbin "baserom.gba", 0x1120CF, 0x0000011 - -gUnk_081120E0:: @ 081120E0 - .incbin "baserom.gba", 0x1120E0, 0x0000020 - -gUnk_08112100:: @ 08112100 - .incbin "baserom.gba", 0x112100, 0x0000021 - -gUnk_08112121:: @ 08112121 - .incbin "baserom.gba", 0x112121, 0x000000A - -gUnk_0811212B:: @ 0811212B - .incbin "baserom.gba", 0x11212B, 0x0000089 - -gUnk_081121B4:: @ 081121B4 - .incbin "baserom.gba", 0x1121B4, 0x0000010 - -gUnk_081121C4:: @ 081121C4 - .incbin "baserom.gba", 0x1121C4, 0x0000010 - -gUnk_081121D4:: @ 081121D4 - .incbin "baserom.gba", 0x1121D4, 0x0000008 - -gUnk_081121DC:: @ 081121DC - .incbin "baserom.gba", 0x1121DC, 0x0000008 - -gUnk_081121E4:: @ 081121E4 - .incbin "baserom.gba", 0x1121E4, 0x0000020 - -gUnk_08112204:: @ 08112204 - .incbin "baserom.gba", 0x112204, 0x0000004 - -gUnk_08112208:: @ 08112208 - .incbin "baserom.gba", 0x112208, 0x0000024 - -gUnk_0811222C:: @ 0811222C - .incbin "baserom.gba", 0x11222C, 0x000000C - -gUnk_08112238:: @ 08112238 - .incbin "baserom.gba", 0x112238, 0x000000B - -gUnk_08112243:: @ 08112243 - .incbin "baserom.gba", 0x112243, 0x000001D - -gUnk_08112260:: @ 08112260 - .incbin "baserom.gba", 0x112260, 0x0000018 - -gUnk_08112278:: @ 08112278 - .incbin "baserom.gba", 0x112278, 0x000001C - -gUnk_08112294:: @ 08112294 - .incbin "baserom.gba", 0x112294, 0x0000008 - -gUnk_0811229C:: @ 0811229C - .incbin "baserom.gba", 0x11229C, 0x0000004 - -gUnk_081122A0:: @ 081122A0 - .incbin "baserom.gba", 0x1122A0, 0x0000008 - -gUnk_081122A8:: @ 081122A8 - .incbin "baserom.gba", 0x1122A8, 0x0000008 - -gUnk_081122B0:: @ 081122B0 - .incbin "baserom.gba", 0x1122B0, 0x0000008 - -gUnk_081122B8:: @ 081122B8 - .incbin "baserom.gba", 0x1122B8, 0x0000008 - -gUnk_081122C0:: @ 081122C0 - .incbin "baserom.gba", 0x1122C0, 0x0000009 - -gUnk_081122C9:: @ 081122C9 - .incbin "baserom.gba", 0x1122C9, 0x0000009 - -gUnk_081122D2:: @ 081122D2 - .incbin "baserom.gba", 0x1122D2, 0x0000009 - -gUnk_081122DB:: @ 081122DB - .incbin "baserom.gba", 0x1122DB, 0x0000025 - -gUnk_08112300:: @ 08112300 - .incbin "baserom.gba", 0x112300, 0x0000025 - -gUnk_08112325:: @ 08112325 - .incbin "baserom.gba", 0x112325, 0x0000025 - -gUnk_0811234A:: @ 0811234A - .incbin "baserom.gba", 0x11234A, 0x000003D - -gUnk_08112387:: @ 08112387 - .incbin "baserom.gba", 0x112387, 0x0000019 - -gUnk_081123A0:: @ 081123A0 - .incbin "baserom.gba", 0x1123A0, 0x0000029 - -gUnk_081123C9:: @ 081123C9 - .incbin "baserom.gba", 0x1123C9, 0x0000025 - -gUnk_081123EE:: @ 081123EE - .incbin "baserom.gba", 0x1123EE, 0x0000079 - -gUnk_08112467:: @ 08112467 - .incbin "baserom.gba", 0x112467, 0x0000032 - -gUnk_08112499:: @ 08112499 - .incbin "baserom.gba", 0x112499, 0x0000013 - -gUnk_081124AC:: @ 081124AC - .incbin "baserom.gba", 0x1124AC, 0x0000009 - -gUnk_081124B5:: @ 081124B5 - .incbin "baserom.gba", 0x1124B5, 0x000001D - -gUnk_081124D2:: @ 081124D2 - .incbin "baserom.gba", 0x1124D2, 0x0000019 - -gUnk_081124EB:: @ 081124EB - .incbin "baserom.gba", 0x1124EB, 0x0000014 - -gUnk_081124FF:: @ 081124FF - .incbin "baserom.gba", 0x1124FF, 0x0000025 - -gUnk_08112524:: @ 08112524 - .incbin "baserom.gba", 0x112524, 0x0000019 - -gUnk_0811253D:: @ 0811253D - .incbin "baserom.gba", 0x11253D, 0x0000045 - -gUnk_08112582:: @ 08112582 - .incbin "baserom.gba", 0x112582, 0x0000016 - -gUnk_08112598:: @ 08112598 - .incbin "baserom.gba", 0x112598, 0x000005C - -gUnk_081125F4:: @ 081125F4 - .incbin "baserom.gba", 0x1125F4, 0x000000C - -gUnk_08112600:: @ 08112600 - .incbin "baserom.gba", 0x112600, 0x0000074 - -gUnk_08112674:: @ 08112674 - .incbin "baserom.gba", 0x112674, 0x0000060 - -gUnk_081126D4:: @ 081126D4 - .incbin "baserom.gba", 0x1126D4, 0x0000010 - -gUnk_081126E4:: @ 081126E4 - .incbin "baserom.gba", 0x1126E4, 0x0000004 - -gUnk_081126E8:: @ 081126E8 - .incbin "baserom.gba", 0x1126E8, 0x0000008 - -gUnk_081126F0:: @ 081126F0 - .incbin "baserom.gba", 0x1126F0, 0x000024C - -gUnk_0811293C:: @ 0811293C - .incbin "baserom.gba", 0x11293C, 0x0000001 - -gUnk_0811293D:: @ 0811293D - .incbin "baserom.gba", 0x11293D, 0x00002B3 - -gUnk_08112BF0:: @ 08112BF0 - .incbin "baserom.gba", 0x112BF0, 0x0000050 - -gUnk_08112C40:: @ 08112C40 - .incbin "baserom.gba", 0x112C40, 0x000000A - -gUnk_08112C4A:: @ 08112C4A - .incbin "baserom.gba", 0x112C4A, 0x0000006 - -gUnk_08112C50:: @ 08112C50 - .incbin "baserom.gba", 0x112C50, 0x000000C - -gUnk_08112C5C:: @ 08112C5C - .incbin "baserom.gba", 0x112C5C, 0x0000004 - -gUnk_08112C60:: @ 08112C60 - .incbin "baserom.gba", 0x112C60, 0x0000008 - -gUnk_08112C68:: @ 08112C68 - .incbin "baserom.gba", 0x112C68, 0x0000005 - -gUnk_08112C6D:: @ 08112C6D - .incbin "baserom.gba", 0x112C6D, 0x0000005 - -gUnk_08112C72:: @ 08112C72 - .incbin "baserom.gba", 0x112C72, 0x0000005 - -gUnk_08112C77:: @ 08112C77 - .incbin "baserom.gba", 0x112C77, 0x0000005 - -gUnk_08112C7C:: @ 08112C7C - .incbin "baserom.gba", 0x112C7C, 0x0000021 - -gUnk_08112C9D:: @ 08112C9D - .incbin "baserom.gba", 0x112C9D, 0x0000021 - -gUnk_08112CBE:: @ 08112CBE - .incbin "baserom.gba", 0x112CBE, 0x0000021 - -gUnk_08112CDF:: @ 08112CDF - .incbin "baserom.gba", 0x112CDF, 0x0000021 - -gUnk_08112D00:: @ 08112D00 - .incbin "baserom.gba", 0x112D00, 0x0000005 - -gUnk_08112D05:: @ 08112D05 - .incbin "baserom.gba", 0x112D05, 0x0000005 - -gUnk_08112D0A:: @ 08112D0A - .incbin "baserom.gba", 0x112D0A, 0x0000005 - -gUnk_08112D0F:: @ 08112D0F - .incbin "baserom.gba", 0x112D0F, 0x0000005 - -gUnk_08112D14:: @ 08112D14 - .incbin "baserom.gba", 0x112D14, 0x0000034 - -gUnk_08112D48:: @ 08112D48 - .incbin "baserom.gba", 0x112D48, 0x0000008 - -gUnk_08112D50:: @ 08112D50 - .incbin "baserom.gba", 0x112D50, 0x000000A - -gUnk_08112D5A:: @ 08112D5A - .incbin "baserom.gba", 0x112D5A, 0x0000015 - -gUnk_08112D6F:: @ 08112D6F - .incbin "baserom.gba", 0x112D6F, 0x0000009 - -gUnk_08112D78:: @ 08112D78 - .incbin "baserom.gba", 0x112D78, 0x0000011 - -gUnk_08112D89:: @ 08112D89 - .incbin "baserom.gba", 0x112D89, 0x0000011 - -gUnk_08112D9A:: @ 08112D9A - .incbin "baserom.gba", 0x112D9A, 0x000004D - -gUnk_08112DE7:: @ 08112DE7 - .incbin "baserom.gba", 0x112DE7, 0x0000005 - -gUnk_08112DEC:: @ 08112DEC - .incbin "baserom.gba", 0x112DEC, 0x0000030 - -gUnk_08112E1C:: @ 08112E1C - .incbin "baserom.gba", 0x112E1C, 0x0000010 - -gUnk_08112E2C:: @ 08112E2C - .incbin "baserom.gba", 0x112E2C, 0x0000028 - -gUnk_08112E54:: @ 08112E54 - .incbin "baserom.gba", 0x112E54, 0x0000008 - -gUnk_08112E5C:: @ 08112E5C - .incbin "baserom.gba", 0x112E5C, 0x0000049 - -gUnk_08112EA5:: @ 08112EA5 - .incbin "baserom.gba", 0x112EA5, 0x0000005 - -gUnk_08112EAA:: @ 08112EAA - .incbin "baserom.gba", 0x112EAA, 0x0000005 - -gUnk_08112EAF:: @ 08112EAF - .incbin "baserom.gba", 0x112EAF, 0x0000005 - -gUnk_08112EB4:: @ 08112EB4 - .incbin "baserom.gba", 0x112EB4, 0x0000071 - -gUnk_08112F25:: @ 08112F25 - .incbin "baserom.gba", 0x112F25, 0x0000005 - -gUnk_08112F2A:: @ 08112F2A - .incbin "baserom.gba", 0x112F2A, 0x0000005 - -gUnk_08112F2F:: @ 08112F2F - .incbin "baserom.gba", 0x112F2F, 0x0000005 - -gUnk_08112F34:: @ 08112F34 - .incbin "baserom.gba", 0x112F34, 0x0000044 - -gUnk_08112F78:: @ 08112F78 - .incbin "baserom.gba", 0x112F78, 0x0000008 - -gUnk_08112F80:: @ 08112F80 - .incbin "baserom.gba", 0x112F80, 0x0000008 - -gUnk_08112F88:: @ 08112F88 - .incbin "baserom.gba", 0x112F88, 0x000003C - -gUnk_08112FC4:: @ 08112FC4 - .incbin "baserom.gba", 0x112FC4, 0x0000011 - -gUnk_08112FD5:: @ 08112FD5 - .incbin "baserom.gba", 0x112FD5, 0x000001F - -gUnk_08112FF4:: @ 08112FF4 - .incbin "baserom.gba", 0x112FF4, 0x0000010 - -gUnk_08113004:: @ 08113004 - .incbin "baserom.gba", 0x113004, 0x0000020 - -gUnk_08113024:: @ 08113024 - .incbin "baserom.gba", 0x113024, 0x0000008 - -gUnk_0811302C:: @ 0811302C - .incbin "baserom.gba", 0x11302C, 0x0000044 - -gUnk_08113070:: @ 08113070 - .incbin "baserom.gba", 0x113070, 0x0000008 - -gUnk_08113078:: @ 08113078 - .incbin "baserom.gba", 0x113078, 0x0000006 - -gUnk_0811307E:: @ 0811307E - .incbin "baserom.gba", 0x11307E, 0x0000005 - -gUnk_08113083:: @ 08113083 - .incbin "baserom.gba", 0x113083, 0x000000D - -gUnk_08113090:: @ 08113090 - .incbin "baserom.gba", 0x113090, 0x0000010 - -gUnk_081130A0:: @ 081130A0 - .incbin "baserom.gba", 0x1130A0, 0x0000038 - -gUnk_081130D8:: @ 081130D8 - .incbin "baserom.gba", 0x1130D8, 0x0000005 - -gUnk_081130DD:: @ 081130DD - .incbin "baserom.gba", 0x1130DD, 0x000000D - -gUnk_081130EA:: @ 081130EA - .incbin "baserom.gba", 0x1130EA, 0x000000D - -gUnk_081130F7:: @ 081130F7 - .incbin "baserom.gba", 0x1130F7, 0x000000B - -gUnk_08113102:: @ 08113102 - .incbin "baserom.gba", 0x113102, 0x0000006 - -gUnk_08113108:: @ 08113108 - .incbin "baserom.gba", 0x113108, 0x0000038 - -gUnk_08113140:: @ 08113140 - .incbin "baserom.gba", 0x113140, 0x0000018 - -gUnk_08113158:: @ 08113158 - .incbin "baserom.gba", 0x113158, 0x0000010 - -gUnk_08113168:: @ 08113168 - .incbin "baserom.gba", 0x113168, 0x0000025 - -gUnk_0811318D:: @ 0811318D - .incbin "baserom.gba", 0x11318D, 0x0000005 - -gUnk_08113192:: @ 08113192 - .incbin "baserom.gba", 0x113192, 0x0000005 - -gUnk_08113197:: @ 08113197 - .incbin "baserom.gba", 0x113197, 0x0000005 - -gUnk_0811319C:: @ 0811319C - .incbin "baserom.gba", 0x11319C, 0x0000044 - -gUnk_081131E0:: @ 081131E0 - .incbin "baserom.gba", 0x1131E0, 0x0000025 - -gUnk_08113205:: @ 08113205 - .incbin "baserom.gba", 0x113205, 0x0000005 - -gUnk_0811320A:: @ 0811320A - .incbin "baserom.gba", 0x11320A, 0x0000005 - -gUnk_0811320F:: @ 0811320F - .incbin "baserom.gba", 0x11320F, 0x0000005 - -gUnk_08113214:: @ 08113214 - .incbin "baserom.gba", 0x113214, 0x0000044 - -gUnk_08113258:: @ 08113258 - .incbin "baserom.gba", 0x113258, 0x0000005 - -gUnk_0811325D:: @ 0811325D - .incbin "baserom.gba", 0x11325D, 0x0000011 - -gUnk_0811326E:: @ 0811326E - .incbin "baserom.gba", 0x11326E, 0x0000031 - -gUnk_0811329F:: @ 0811329F - .incbin "baserom.gba", 0x11329F, 0x0000045 - -gUnk_081132E4:: @ 081132E4 - .incbin "baserom.gba", 0x1132E4, 0x0000030 - -gUnk_08113314:: @ 08113314 - .incbin "baserom.gba", 0x113314, 0x0000030 - -gUnk_08113344:: @ 08113344 - .incbin "baserom.gba", 0x113344, 0x0000006 - -gUnk_0811334A:: @ 0811334A - .incbin "baserom.gba", 0x11334A, 0x0000006 - -gUnk_08113350:: @ 08113350 - .incbin "baserom.gba", 0x113350, 0x0000019 - -gUnk_08113369:: @ 08113369 - .incbin "baserom.gba", 0x113369, 0x0000005 - -gUnk_0811336E:: @ 0811336E - .incbin "baserom.gba", 0x11336E, 0x0000009 - -gUnk_08113377:: @ 08113377 - .incbin "baserom.gba", 0x113377, 0x0000009 - -gUnk_08113380:: @ 08113380 - .incbin "baserom.gba", 0x113380, 0x0000024 - -gUnk_081133A4:: @ 081133A4 - .incbin "baserom.gba", 0x1133A4, 0x0000010 - -gUnk_081133B4:: @ 081133B4 - .incbin "baserom.gba", 0x1133B4, 0x0000004 - -gUnk_081133B8:: @ 081133B8 - .incbin "baserom.gba", 0x1133B8, 0x0000031 - -gUnk_081133E9:: @ 081133E9 - .incbin "baserom.gba", 0x1133E9, 0x0000011 - -gUnk_081133FA:: @ 081133FA - .incbin "baserom.gba", 0x1133FA, 0x0000019 - -gUnk_08113413:: @ 08113413 - .incbin "baserom.gba", 0x113413, 0x0000021 - -gUnk_08113434:: @ 08113434 - .incbin "baserom.gba", 0x113434, 0x0000009 - -gUnk_0811343D:: @ 0811343D - .incbin "baserom.gba", 0x11343D, 0x0000002 - -gUnk_0811343F:: @ 0811343F - .incbin "baserom.gba", 0x11343F, 0x0000007 - -gUnk_08113446:: @ 08113446 - .incbin "baserom.gba", 0x113446, 0x0000009 - -gUnk_0811344F:: @ 0811344F - .incbin "baserom.gba", 0x11344F, 0x0000041 - -gUnk_08113490:: @ 08113490 - .incbin "baserom.gba", 0x113490, 0x0000044 - -gUnk_081134D4:: @ 081134D4 - .incbin "baserom.gba", 0x1134D4, 0x0000034 - -gUnk_08113508:: @ 08113508 - .incbin "baserom.gba", 0x113508, 0x0000024 - -gUnk_0811352C:: @ 0811352C - .incbin "baserom.gba", 0x11352C, 0x0000021 - -gUnk_0811354D:: @ 0811354D - .incbin "baserom.gba", 0x11354D, 0x0000019 - -gUnk_08113566:: @ 08113566 - .incbin "baserom.gba", 0x113566, 0x0000008 - -gUnk_0811356E:: @ 0811356E - .incbin "baserom.gba", 0x11356E, 0x0000021 - -gUnk_0811358F:: @ 0811358F - .incbin "baserom.gba", 0x11358F, 0x0000021 - -gUnk_081135B0:: @ 081135B0 - .incbin "baserom.gba", 0x1135B0, 0x000002D - -gUnk_081135DD:: @ 081135DD - .incbin "baserom.gba", 0x1135DD, 0x0000005 - -gUnk_081135E2:: @ 081135E2 - .incbin "baserom.gba", 0x1135E2, 0x0000006 - -gUnk_081135E8:: @ 081135E8 - .incbin "baserom.gba", 0x1135E8, 0x0000044 - -gUnk_0811362C:: @ 0811362C - .incbin "baserom.gba", 0x11362C, 0x0000005 - -gUnk_08113631:: @ 08113631 - .incbin "baserom.gba", 0x113631, 0x0000005 - -gUnk_08113636:: @ 08113636 - .incbin "baserom.gba", 0x113636, 0x0000005 - -gUnk_0811363B:: @ 0811363B - .incbin "baserom.gba", 0x11363B, 0x0000005 - -gUnk_08113640:: @ 08113640 - .incbin "baserom.gba", 0x113640, 0x0000005 - -gUnk_08113645:: @ 08113645 - .incbin "baserom.gba", 0x113645, 0x0000005 - -gUnk_0811364A:: @ 0811364A - .incbin "baserom.gba", 0x11364A, 0x0000066 - -gUnk_081136B0:: @ 081136B0 - .incbin "baserom.gba", 0x1136B0, 0x0000028 - -gUnk_081136D8:: @ 081136D8 - .incbin "baserom.gba", 0x1136D8, 0x0000011 - -gUnk_081136E9:: @ 081136E9 - .incbin "baserom.gba", 0x1136E9, 0x0000011 - -gUnk_081136FA:: @ 081136FA - .incbin "baserom.gba", 0x1136FA, 0x0000011 - -gUnk_0811370B:: @ 0811370B - .incbin "baserom.gba", 0x11370B, 0x0000011 - -gUnk_0811371C:: @ 0811371C - .incbin "baserom.gba", 0x11371C, 0x0000005 - -gUnk_08113721:: @ 08113721 - .incbin "baserom.gba", 0x113721, 0x0000005 - -gUnk_08113726:: @ 08113726 - .incbin "baserom.gba", 0x113726, 0x0000005 - -gUnk_0811372B:: @ 0811372B - .incbin "baserom.gba", 0x11372B, 0x0000005 - -gUnk_08113730:: @ 08113730 - .incbin "baserom.gba", 0x113730, 0x0000024 - -gUnk_08113754:: @ 08113754 - .incbin "baserom.gba", 0x113754, 0x000000C - -gUnk_08113760:: @ 08113760 - .incbin "baserom.gba", 0x113760, 0x0000050 - -gUnk_081137B0:: @ 081137B0 - .incbin "baserom.gba", 0x1137B0, 0x0000039 - -gUnk_081137E9:: @ 081137E9 - .incbin "baserom.gba", 0x1137E9, 0x0000088 - -gUnk_08113871:: @ 08113871 - .incbin "baserom.gba", 0x113871, 0x0000021 - -gUnk_08113892:: @ 08113892 - .incbin "baserom.gba", 0x113892, 0x0000005 - -gUnk_08113897:: @ 08113897 - .incbin "baserom.gba", 0x113897, 0x0000019 - -gUnk_081138B0:: @ 081138B0 - .incbin "baserom.gba", 0x1138B0, 0x0000008 - -gUnk_081138B8:: @ 081138B8 - .incbin "baserom.gba", 0x1138B8, 0x0000024 - -gUnk_081138DC:: @ 081138DC - .incbin "baserom.gba", 0x1138DC, 0x0000005 - -gUnk_081138E1:: @ 081138E1 - .incbin "baserom.gba", 0x1138E1, 0x000001B - -gUnk_081138FC:: @ 081138FC - .incbin "baserom.gba", 0x1138FC, 0x0000014 - -gUnk_08113910:: @ 08113910 - .incbin "baserom.gba", 0x113910, 0x0000020 - -gUnk_08113930:: @ 08113930 - .incbin "baserom.gba", 0x113930, 0x0000080 - -gUnk_081139B0:: @ 081139B0 - .incbin "baserom.gba", 0x1139B0, 0x000001D - -gUnk_081139CD:: @ 081139CD - .incbin "baserom.gba", 0x1139CD, 0x000001D - -gUnk_081139EA:: @ 081139EA - .incbin "baserom.gba", 0x1139EA, 0x000001E - -gUnk_08113A08:: @ 08113A08 - .incbin "baserom.gba", 0x113A08, 0x0000014 - -gUnk_08113A1C:: @ 08113A1C - .incbin "baserom.gba", 0x113A1C, 0x0000060 - -gUnk_08113A7C:: @ 08113A7C - .incbin "baserom.gba", 0x113A7C, 0x0000010 - -gUnk_08113A8C:: @ 08113A8C - .incbin "baserom.gba", 0x113A8C, 0x0000030 - -gUnk_08113ABC:: @ 08113ABC - .incbin "baserom.gba", 0x113ABC, 0x0000050 - -gUnk_08113B0C:: @ 08113B0C - .incbin "baserom.gba", 0x113B0C, 0x0000006 - -gUnk_08113B12:: @ 08113B12 - .incbin "baserom.gba", 0x113B12, 0x0000004 - -gUnk_08113B16:: @ 08113B16 - .incbin "baserom.gba", 0x113B16, 0x0000008 - -gUnk_08113B1E:: @ 08113B1E - .incbin "baserom.gba", 0x113B1E, 0x0000004 - -gUnk_08113B22:: @ 08113B22 - .incbin "baserom.gba", 0x113B22, 0x0000006 - -gUnk_08113B28:: @ 08113B28 - .incbin "baserom.gba", 0x113B28, 0x0000008 - -gUnk_08113B30:: @ 08113B30 - .incbin "baserom.gba", 0x113B30, 0x0000008 - -gUnk_08113B38:: @ 08113B38 - .incbin "baserom.gba", 0x113B38, 0x0000007 - -gUnk_08113B3F:: @ 08113B3F - .incbin "baserom.gba", 0x113B3F, 0x0000005 - -gUnk_08113B44:: @ 08113B44 - .incbin "baserom.gba", 0x113B44, 0x0000005 - -gUnk_08113B49:: @ 08113B49 - .incbin "baserom.gba", 0x113B49, 0x0000005 - -gUnk_08113B4E:: @ 08113B4E - .incbin "baserom.gba", 0x113B4E, 0x0000005 - -gUnk_08113B53:: @ 08113B53 - .incbin "baserom.gba", 0x113B53, 0x0000011 - -gUnk_08113B64:: @ 08113B64 - .incbin "baserom.gba", 0x113B64, 0x0000011 - -gUnk_08113B75:: @ 08113B75 - .incbin "baserom.gba", 0x113B75, 0x0000011 - -gUnk_08113B86:: @ 08113B86 - .incbin "baserom.gba", 0x113B86, 0x0000012 - -gUnk_08113B98:: @ 08113B98 - .incbin "baserom.gba", 0x113B98, 0x0000024 - -gUnk_08113BBC:: @ 08113BBC - .incbin "baserom.gba", 0x113BBC, 0x0000005 - -gUnk_08113BC1:: @ 08113BC1 - .incbin "baserom.gba", 0x113BC1, 0x0000005 - -gUnk_08113BC6:: @ 08113BC6 - .incbin "baserom.gba", 0x113BC6, 0x0000005 - -gUnk_08113BCB:: @ 08113BCB - .incbin "baserom.gba", 0x113BCB, 0x0000005 - -gUnk_08113BD0:: @ 08113BD0 - .incbin "baserom.gba", 0x113BD0, 0x0000011 - -gUnk_08113BE1:: @ 08113BE1 - .incbin "baserom.gba", 0x113BE1, 0x0000011 - -gUnk_08113BF2:: @ 08113BF2 - .incbin "baserom.gba", 0x113BF2, 0x0000011 - -gUnk_08113C03:: @ 08113C03 - .incbin "baserom.gba", 0x113C03, 0x0000011 - -gUnk_08113C14:: @ 08113C14 - .incbin "baserom.gba", 0x113C14, 0x0000024 - -gUnk_08113C38:: @ 08113C38 - .incbin "baserom.gba", 0x113C38, 0x0000005 - -gUnk_08113C3D:: @ 08113C3D - .incbin "baserom.gba", 0x113C3D, 0x0000005 - -gUnk_08113C42:: @ 08113C42 - .incbin "baserom.gba", 0x113C42, 0x0000005 - -gUnk_08113C47:: @ 08113C47 - .incbin "baserom.gba", 0x113C47, 0x0000011 - -gUnk_08113C58:: @ 08113C58 - .incbin "baserom.gba", 0x113C58, 0x0000024 - -gUnk_08113C7C:: @ 08113C7C - .incbin "baserom.gba", 0x113C7C, 0x0000005 - -gUnk_08113C81:: @ 08113C81 - .incbin "baserom.gba", 0x113C81, 0x0000005 - -gUnk_08113C86:: @ 08113C86 - .incbin "baserom.gba", 0x113C86, 0x0000005 - -gUnk_08113C8B:: @ 08113C8B - .incbin "baserom.gba", 0x113C8B, 0x0000005 - -gUnk_08113C90:: @ 08113C90 - .incbin "baserom.gba", 0x113C90, 0x0000011 - -gUnk_08113CA1:: @ 08113CA1 - .incbin "baserom.gba", 0x113CA1, 0x0000011 - -gUnk_08113CB2:: @ 08113CB2 - .incbin "baserom.gba", 0x113CB2, 0x0000011 - -gUnk_08113CC3:: @ 08113CC3 - .incbin "baserom.gba", 0x113CC3, 0x0000011 - -gUnk_08113CD4:: @ 08113CD4 - .incbin "baserom.gba", 0x113CD4, 0x0000024 - -gUnk_08113CF8:: @ 08113CF8 - .incbin "baserom.gba", 0x113CF8, 0x0000005 - -gUnk_08113CFD:: @ 08113CFD - .incbin "baserom.gba", 0x113CFD, 0x0000005 - -gUnk_08113D02:: @ 08113D02 - .incbin "baserom.gba", 0x113D02, 0x0000005 - -gUnk_08113D07:: @ 08113D07 - .incbin "baserom.gba", 0x113D07, 0x0000015 - -gUnk_08113D1C:: @ 08113D1C - .incbin "baserom.gba", 0x113D1C, 0x0000024 - -gUnk_08113D40:: @ 08113D40 - .incbin "baserom.gba", 0x113D40, 0x0000005 - -gUnk_08113D45:: @ 08113D45 - .incbin "baserom.gba", 0x113D45, 0x0000005 - -gUnk_08113D4A:: @ 08113D4A - .incbin "baserom.gba", 0x113D4A, 0x0000005 - -gUnk_08113D4F:: @ 08113D4F - .incbin "baserom.gba", 0x113D4F, 0x0000011 - -gUnk_08113D60:: @ 08113D60 - .incbin "baserom.gba", 0x113D60, 0x0000024 - -gUnk_08113D84:: @ 08113D84 - .incbin "baserom.gba", 0x113D84, 0x0000008 - -gUnk_08113D8C:: @ 08113D8C - .incbin "baserom.gba", 0x113D8C, 0x0000010 - -gUnk_08113D9C:: @ 08113D9C - .incbin "baserom.gba", 0x113D9C, 0x0000011 - -gUnk_08113DAD:: @ 08113DAD - .incbin "baserom.gba", 0x113DAD, 0x0000005 - -gUnk_08113DB2:: @ 08113DB2 - .incbin "baserom.gba", 0x113DB2, 0x0000029 - -gUnk_08113DDB:: @ 08113DDB - .incbin "baserom.gba", 0x113DDB, 0x00000D9 - -gUnk_08113EB4:: @ 08113EB4 - .incbin "baserom.gba", 0x113EB4, 0x0000011 - -gUnk_08113EC5:: @ 08113EC5 - .incbin "baserom.gba", 0x113EC5, 0x0000011 - -gUnk_08113ED6:: @ 08113ED6 - .incbin "baserom.gba", 0x113ED6, 0x0000011 - -gUnk_08113EE7:: @ 08113EE7 - .incbin "baserom.gba", 0x113EE7, 0x0000005 - -gUnk_08113EEC:: @ 08113EEC - .incbin "baserom.gba", 0x113EEC, 0x0000005 - -gUnk_08113EF1:: @ 08113EF1 - .incbin "baserom.gba", 0x113EF1, 0x0000007 - -gUnk_08113EF8:: @ 08113EF8 - .incbin "baserom.gba", 0x113EF8, 0x000004C - -gUnk_08113F44:: @ 08113F44 - .incbin "baserom.gba", 0x113F44, 0x0000004 - -gUnk_08113F48:: @ 08113F48 - .incbin "baserom.gba", 0x113F48, 0x0000078 - -gUnk_08113FC0:: @ 08113FC0 - .incbin "baserom.gba", 0x113FC0, 0x0000005 - -gUnk_08113FC5:: @ 08113FC5 - .incbin "baserom.gba", 0x113FC5, 0x0000005 - -gUnk_08113FCA:: @ 08113FCA - .incbin "baserom.gba", 0x113FCA, 0x0000005 - -gUnk_08113FCF:: @ 08113FCF - .incbin "baserom.gba", 0x113FCF, 0x0000005 - -gUnk_08113FD4:: @ 08113FD4 - .incbin "baserom.gba", 0x113FD4, 0x0000011 - -gUnk_08113FE5:: @ 08113FE5 - .incbin "baserom.gba", 0x113FE5, 0x000004D - -gUnk_08114032:: @ 08114032 - .incbin "baserom.gba", 0x114032, 0x000000D - -gUnk_0811403F:: @ 0811403F - .incbin "baserom.gba", 0x11403F, 0x0000011 - -gUnk_08114050:: @ 08114050 - .incbin "baserom.gba", 0x114050, 0x0000011 - -gUnk_08114061:: @ 08114061 - .incbin "baserom.gba", 0x114061, 0x0000029 - -gUnk_0811408A:: @ 0811408A - .incbin "baserom.gba", 0x11408A, 0x000000E - -gUnk_08114098:: @ 08114098 - .incbin "baserom.gba", 0x114098, 0x0000034 - -gUnk_081140CC:: @ 081140CC - .incbin "baserom.gba", 0x1140CC, 0x0000008 - -gUnk_081140D4:: @ 081140D4 - .incbin "baserom.gba", 0x1140D4, 0x000002C - -gUnk_08114100:: @ 08114100 - .incbin "baserom.gba", 0x114100, 0x0000004 - -gUnk_08114104:: @ 08114104 - .incbin "baserom.gba", 0x114104, 0x0000030 - -gUnk_08114134:: @ 08114134 - .incbin "baserom.gba", 0x114134, 0x0000010 - -gUnk_08114144:: @ 08114144 - .incbin "baserom.gba", 0x114144, 0x0000010 - -gUnk_08114154:: @ 08114154 - .incbin "baserom.gba", 0x114154, 0x0000008 - -gUnk_0811415C:: @ 0811415C - .incbin "baserom.gba", 0x11415C, 0x0000048 - -gUnk_081141A4:: @ 081141A4 - .incbin "baserom.gba", 0x1141A4, 0x0000040 - -gUnk_081141E4:: @ 081141E4 - .incbin "baserom.gba", 0x1141E4, 0x0000010 - -gUnk_081141F4:: @ 081141F4 - .incbin "baserom.gba", 0x1141F4, 0x0000014 - -gUnk_08114208:: @ 08114208 - .incbin "baserom.gba", 0x114208, 0x0000005 - -gUnk_0811420D:: @ 0811420D - .incbin "baserom.gba", 0x11420D, 0x0000004 - -gUnk_08114211:: @ 08114211 - .incbin "baserom.gba", 0x114211, 0x0000005 - -gUnk_08114216:: @ 08114216 - .incbin "baserom.gba", 0x114216, 0x0000009 - -gUnk_0811421F:: @ 0811421F - .incbin "baserom.gba", 0x11421F, 0x0000009 - -gUnk_08114228:: @ 08114228 - .incbin "baserom.gba", 0x114228, 0x0000014 - -gUnk_0811423C:: @ 0811423C - .incbin "baserom.gba", 0x11423C, 0x0000008 - -gUnk_08114244:: @ 08114244 - .incbin "baserom.gba", 0x114244, 0x0000019 - -gUnk_0811425D:: @ 0811425D - .incbin "baserom.gba", 0x11425D, 0x0000019 - -gUnk_08114276:: @ 08114276 - .incbin "baserom.gba", 0x114276, 0x0000019 - -gUnk_0811428F:: @ 0811428F - .incbin "baserom.gba", 0x11428F, 0x0000019 - -gUnk_081142A8:: @ 081142A8 - .incbin "baserom.gba", 0x1142A8, 0x0000014 - -gUnk_081142BC:: @ 081142BC - .incbin "baserom.gba", 0x1142BC, 0x0000010 - -gUnk_081142CC:: @ 081142CC - .incbin "baserom.gba", 0x1142CC, 0x0000010 - -gUnk_081142DC:: @ 081142DC - .incbin "baserom.gba", 0x1142DC, 0x0000020 - -gUnk_081142FC:: @ 081142FC - .incbin "baserom.gba", 0x1142FC, 0x0000008 - -gUnk_08114304:: @ 08114304 - .incbin "baserom.gba", 0x114304, 0x0000004 - -gUnk_08114308:: @ 08114308 - .incbin "baserom.gba", 0x114308, 0x0000128 - -gUnk_08114430:: @ 08114430 - .incbin "baserom.gba", 0x114430, 0x0000002 - -gUnk_08114432:: @ 08114432 - .incbin "baserom.gba", 0x114432, 0x0000012 - -gUnk_08114444:: @ 08114444 - .incbin "baserom.gba", 0x114444, 0x0000084 - -gUnk_081144C8:: @ 081144C8 - .incbin "baserom.gba", 0x1144C8, 0x0000005 - -gUnk_081144CD:: @ 081144CD - .incbin "baserom.gba", 0x1144CD, 0x0000005 - -gUnk_081144D2:: @ 081144D2 - .incbin "baserom.gba", 0x1144D2, 0x0000005 - -gUnk_081144D7:: @ 081144D7 - .incbin "baserom.gba", 0x1144D7, 0x0000005 - -gUnk_081144DC:: @ 081144DC - .incbin "baserom.gba", 0x1144DC, 0x0000014 - -gUnk_081144F0:: @ 081144F0 - .incbin "baserom.gba", 0x1144F0, 0x000000C - -gUnk_081144FC:: @ 081144FC - .incbin "baserom.gba", 0x1144FC, 0x0000035 - -gUnk_08114531:: @ 08114531 - .incbin "baserom.gba", 0x114531, 0x000000B - -gUnk_0811453C:: @ 0811453C - .incbin "baserom.gba", 0x11453C, 0x0000011 - -gUnk_0811454D:: @ 0811454D - .incbin "baserom.gba", 0x11454D, 0x0000011 - -gUnk_0811455E:: @ 0811455E - .incbin "baserom.gba", 0x11455E, 0x0000011 - -gUnk_0811456F:: @ 0811456F - .incbin "baserom.gba", 0x11456F, 0x0000005 - -gUnk_08114574:: @ 08114574 - .incbin "baserom.gba", 0x114574, 0x0000005 - -gUnk_08114579:: @ 08114579 - .incbin "baserom.gba", 0x114579, 0x0000007 - -gUnk_08114580:: @ 08114580 - .incbin "baserom.gba", 0x114580, 0x0000034 - -gUnk_081145B4:: @ 081145B4 - .incbin "baserom.gba", 0x1145B4, 0x0000014 - -gUnk_081145C8:: @ 081145C8 - .incbin "baserom.gba", 0x1145C8, 0x0000008 - -gUnk_081145D0:: @ 081145D0 - .incbin "baserom.gba", 0x1145D0, 0x0000004 - -gUnk_081145D4:: @ 081145D4 - .incbin "baserom.gba", 0x1145D4, 0x0000010 - -gUnk_081145E4:: @ 081145E4 - .incbin "baserom.gba", 0x1145E4, 0x00000D4 - -gUnk_081146B8:: @ 081146B8 - .incbin "baserom.gba", 0x1146B8, 0x0000018 - -gUnk_081146D0:: @ 081146D0 - .incbin "baserom.gba", 0x1146D0, 0x0000014 - -gUnk_081146E4:: @ 081146E4 - .incbin "baserom.gba", 0x1146E4, 0x0000010 - -gUnk_081146F4:: @ 081146F4 - .incbin "baserom.gba", 0x1146F4, 0x00000A8 - -gUnk_0811479C:: @ 0811479C - .incbin "baserom.gba", 0x11479C, 0x0000048 - -gUnk_081147E4:: @ 081147E4 - .incbin "baserom.gba", 0x1147E4, 0x0000020 - -gUnk_08114804:: @ 08114804 - .incbin "baserom.gba", 0x114804, 0x0000010 - -gUnk_08114814:: @ 08114814 - .incbin "baserom.gba", 0x114814, 0x0000010 - -gUnk_08114824:: @ 08114824 - .incbin "baserom.gba", 0x114824, 0x0000040 - -gUnk_08114864:: @ 08114864 - .incbin "baserom.gba", 0x114864, 0x0000010 - -gUnk_08114874:: @ 08114874 - .incbin "baserom.gba", 0x114874, 0x0000030 - -gUnk_081148A4:: @ 081148A4 - .incbin "baserom.gba", 0x1148A4, 0x0000020 - -gUnk_081148C4:: @ 081148C4 - .incbin "baserom.gba", 0x1148C4, 0x0000020 - -gUnk_081148E4:: @ 081148E4 - .incbin "baserom.gba", 0x1148E4, 0x0000030 - -gUnk_08114914:: @ 08114914 - .incbin "baserom.gba", 0x114914, 0x0000030 - -gUnk_08114944:: @ 08114944 - .incbin "baserom.gba", 0x114944, 0x0000030 - -gUnk_08114974:: @ 08114974 - .incbin "baserom.gba", 0x114974, 0x0000010 - -gUnk_08114984:: @ 08114984 - .incbin "baserom.gba", 0x114984, 0x0000010 - -gUnk_08114994:: @ 08114994 - .incbin "baserom.gba", 0x114994, 0x0000010 - -gUnk_081149A4:: @ 081149A4 - .incbin "baserom.gba", 0x1149A4, 0x0000010 - -gUnk_081149B4:: @ 081149B4 - .incbin "baserom.gba", 0x1149B4, 0x0000010 - -gUnk_081149C4:: @ 081149C4 - .incbin "baserom.gba", 0x1149C4, 0x0000030 - -gUnk_081149F4:: @ 081149F4 - .incbin "baserom.gba", 0x1149F4, 0x0000020 - -gUnk_08114A14:: @ 08114A14 - .incbin "baserom.gba", 0x114A14, 0x0000058 - -gUnk_08114A6C:: @ 08114A6C - .incbin "baserom.gba", 0x114A6C, 0x0000020 - -gUnk_08114A8C:: @ 08114A8C - .incbin "baserom.gba", 0x114A8C, 0x0000030 - -gUnk_08114ABC:: @ 08114ABC - .incbin "baserom.gba", 0x114ABC, 0x0000028 - -gUnk_08114AE4:: @ 08114AE4 - .incbin "baserom.gba", 0x114AE4, 0x0000400 - -gUnk_08114EE4:: @ 08114EE4 - .incbin "baserom.gba", 0x114EE4, 0x0000018 - -gUnk_08114EFC:: @ 08114EFC - .incbin "baserom.gba", 0x114EFC, 0x0000010 - -gUnk_08114F0C:: @ 08114F0C - .incbin "baserom.gba", 0x114F0C, 0x0000024 - -gUnk_08114F30:: @ 08114F30 - .incbin "baserom.gba", 0x114F30, 0x0000004 - -gUnk_08114F34:: @ 08114F34 - .incbin "baserom.gba", 0x114F34, 0x0000004 - -gUnk_08114F38:: @ 08114F38 - .incbin "baserom.gba", 0x114F38, 0x0000020 - -gUnk_08114F58:: @ 08114F58 - .incbin "baserom.gba", 0x114F58, 0x0000020 - -gUnk_08114F78:: @ 08114F78 - .incbin "baserom.gba", 0x114F78, 0x0000008 - -gUnk_08114F80:: @ 08114F80 - .incbin "baserom.gba", 0x114F80, 0x0000008 - -gUnk_08114F88:: @ 08114F88 - .incbin "baserom.gba", 0x114F88, 0x0000010 - -gUnk_08114F98:: @ 08114F98 - .incbin "baserom.gba", 0x114F98, 0x00003F4 - -gUnk_0811538C:: @ 0811538C - .incbin "baserom.gba", 0x11538C, 0x0000153 - -gUnk_081154DF:: @ 081154DF - .incbin "baserom.gba", 0x1154DF, 0x0000042 - -gUnk_08115521:: @ 08115521 - .incbin "baserom.gba", 0x115521, 0x0000002 - -gUnk_08115523:: @ 08115523 - .incbin "baserom.gba", 0x115523, 0x0000003 - -gUnk_08115526:: @ 08115526 - .incbin "baserom.gba", 0x115526, 0x00001FE - -gUnk_08115724:: @ 08115724 - .incbin "baserom.gba", 0x115724, 0x00003D4 - -gUnk_08115AF8:: @ 08115AF8 - .incbin "baserom.gba", 0x115AF8, 0x00003A4 - -gUnk_08115E9C:: @ 08115E9C - .incbin "baserom.gba", 0x115E9C, 0x0000176 - -gUnk_08116012:: @ 08116012 - .incbin "baserom.gba", 0x116012, 0x000026E - -gUnk_08116280:: @ 08116280 - .incbin "baserom.gba", 0x116280, 0x00002B0 - -gUnk_08116530:: @ 08116530 - .incbin "baserom.gba", 0x116530, 0x00001D3 - -gUnk_08116703:: @ 08116703 - .incbin "baserom.gba", 0x116703, 0x0000085 - -gUnk_08116788:: @ 08116788 - .incbin "baserom.gba", 0x116788, 0x0000100 - -gUnk_08116888:: @ 08116888 - .incbin "baserom.gba", 0x116888, 0x0000017 - -gUnk_0811689F:: @ 0811689F - .incbin "baserom.gba", 0x11689F, 0x00001FD - -gUnk_08116A9C:: @ 08116A9C - .incbin "baserom.gba", 0x116A9C, 0x0000270 - -gUnk_08116D0C:: @ 08116D0C - .incbin "baserom.gba", 0x116D0C, 0x00000C8 - -gUnk_08116DD4:: @ 08116DD4 - .incbin "baserom.gba", 0x116DD4, 0x0000071 - -gUnk_08116E45:: @ 08116E45 - .incbin "baserom.gba", 0x116E45, 0x000011F - -gUnk_08116F64:: @ 08116F64 - .incbin "baserom.gba", 0x116F64, 0x00002A4 - -gUnk_08117208:: @ 08117208 - .incbin "baserom.gba", 0x117208, 0x0000038 - -gUnk_08117240:: @ 08117240 - .incbin "baserom.gba", 0x117240, 0x000039C - -gUnk_081175DC:: @ 081175DC - .incbin "baserom.gba", 0x1175DC, 0x00002D4 - -gUnk_081178B0:: @ 081178B0 - .incbin "baserom.gba", 0x1178B0, 0x00002D4 - -gUnk_08117B84:: @ 08117B84 - .incbin "baserom.gba", 0x117B84, 0x00001E0 - -gUnk_08117D64:: @ 08117D64 - .incbin "baserom.gba", 0x117D64, 0x00000DC - -gUnk_08117E40:: @ 08117E40 - .incbin "baserom.gba", 0x117E40, 0x0000128 - -gUnk_08117F68:: @ 08117F68 - .incbin "baserom.gba", 0x117F68, 0x000006C - -gUnk_08117FD4:: @ 08117FD4 - .incbin "baserom.gba", 0x117FD4, 0x00001AD - -gUnk_08118181:: @ 08118181 - .incbin "baserom.gba", 0x118181, 0x0000033 - -gUnk_081181B4:: @ 081181B4 - .incbin "baserom.gba", 0x1181B4, 0x0000030 - -gUnk_081181E4:: @ 081181E4 - .incbin "baserom.gba", 0x1181E4, 0x0000054 - -gUnk_08118238:: @ 08118238 - .incbin "baserom.gba", 0x118238, 0x000002C - -gUnk_08118264:: @ 08118264 - .incbin "baserom.gba", 0x118264, 0x0000034 - -gUnk_08118298:: @ 08118298 - .incbin "baserom.gba", 0x118298, 0x0000100 - -gUnk_08118398:: @ 08118398 - .incbin "baserom.gba", 0x118398, 0x0000024 - -gUnk_081183BC:: @ 081183BC - .incbin "baserom.gba", 0x1183BC, 0x00000B0 - -gUnk_0811846C:: @ 0811846C - .incbin "baserom.gba", 0x11846C, 0x000003C - -gUnk_081184A8:: @ 081184A8 - .incbin "baserom.gba", 0x1184A8, 0x00000B0 - -gUnk_08118558:: @ 08118558 - .incbin "baserom.gba", 0x118558, 0x00001C8 - -gUnk_08118720:: @ 08118720 - .incbin "baserom.gba", 0x118720, 0x0000048 - -gUnk_08118768:: @ 08118768 - .incbin "baserom.gba", 0x118768, 0x0000018 - -gUnk_08118780:: @ 08118780 - .incbin "baserom.gba", 0x118780, 0x0000008 - -gUnk_08118788:: @ 08118788 - .incbin "baserom.gba", 0x118788, 0x000000C - -gUnk_08118794:: @ 08118794 - .incbin "baserom.gba", 0x118794, 0x000012C - -gUnk_081188C0:: @ 081188C0 - .incbin "baserom.gba", 0x1188C0, 0x0000088 - -gUnk_08118948:: @ 08118948 - .incbin "baserom.gba", 0x118948, 0x0000018 - -gUnk_08118960:: @ 08118960 - .incbin "baserom.gba", 0x118960, 0x0000014 - -gUnk_08118974:: @ 08118974 - .incbin "baserom.gba", 0x118974, 0x0000014 - -gUnk_08118988:: @ 08118988 - .incbin "baserom.gba", 0x118988, 0x0000278 - -gUnk_08118C00:: @ 08118C00 - .incbin "baserom.gba", 0x118C00, 0x0000138 - -gUnk_08118D38:: @ 08118D38 - .incbin "baserom.gba", 0x118D38, 0x000006C - -gUnk_08118DA4:: @ 08118DA4 - .incbin "baserom.gba", 0x118DA4, 0x000002C - -gUnk_08118DD0:: @ 08118DD0 - .incbin "baserom.gba", 0x118DD0, 0x000000C - -gUnk_08118DDC:: @ 08118DDC - .incbin "baserom.gba", 0x118DDC, 0x0000080 - -gUnk_08118E5C:: @ 08118E5C - .incbin "baserom.gba", 0x118E5C, 0x00000A8 - -gUnk_08118F04:: @ 08118F04 - .incbin "baserom.gba", 0x118F04, 0x0000038 - -gUnk_08118F3C:: @ 08118F3C - .incbin "baserom.gba", 0x118F3C, 0x0000028 - -gUnk_08118F64:: @ 08118F64 - .incbin "baserom.gba", 0x118F64, 0x0000034 - -gUnk_08118F98:: @ 08118F98 - .incbin "baserom.gba", 0x118F98, 0x0000108 - -gUnk_081190A0:: @ 081190A0 - .incbin "baserom.gba", 0x1190A0, 0x0000044 - -gUnk_081190E4:: @ 081190E4 - .incbin "baserom.gba", 0x1190E4, 0x0000038 - -gUnk_0811911C:: @ 0811911C - .incbin "baserom.gba", 0x11911C, 0x0000010 - -gUnk_0811912C:: @ 0811912C - .incbin "baserom.gba", 0x11912C, 0x000005C - -gUnk_08119188:: @ 08119188 - .incbin "baserom.gba", 0x119188, 0x0000120 - -gUnk_081192A8:: @ 081192A8 - .incbin "baserom.gba", 0x1192A8, 0x00002A0 - -gUnk_08119548:: @ 08119548 - .incbin "baserom.gba", 0x119548, 0x000027C - -gUnk_081197C4:: @ 081197C4 - .incbin "baserom.gba", 0x1197C4, 0x0000030 - -gUnk_081197F4:: @ 081197F4 - .incbin "baserom.gba", 0x1197F4, 0x00000D0 - -gUnk_081198C4:: @ 081198C4 - .incbin "baserom.gba", 0x1198C4, 0x0000028 - -gUnk_081198EC:: @ 081198EC - .incbin "baserom.gba", 0x1198EC, 0x00000B8 - -gUnk_081199A4:: @ 081199A4 - .incbin "baserom.gba", 0x1199A4, 0x0000054 - -gUnk_081199F8:: @ 081199F8 - .incbin "baserom.gba", 0x1199F8, 0x000007C - -gUnk_08119A74:: @ 08119A74 - .incbin "baserom.gba", 0x119A74, 0x000007C - -gUnk_08119AF0:: @ 08119AF0 - .incbin "baserom.gba", 0x119AF0, 0x000008C - -gUnk_08119B7C:: @ 08119B7C - .incbin "baserom.gba", 0x119B7C, 0x0000074 - -gUnk_08119BF0:: @ 08119BF0 - .incbin "baserom.gba", 0x119BF0, 0x0000074 - -gUnk_08119C64:: @ 08119C64 - .incbin "baserom.gba", 0x119C64, 0x0000090 - -gUnk_08119CF4:: @ 08119CF4 - .incbin "baserom.gba", 0x119CF4, 0x0000060 - -gUnk_08119D54:: @ 08119D54 - .incbin "baserom.gba", 0x119D54, 0x0000054 - -gUnk_08119DA8:: @ 08119DA8 - .incbin "baserom.gba", 0x119DA8, 0x0000054 - -gUnk_08119DFC:: @ 08119DFC - .incbin "baserom.gba", 0x119DFC, 0x000001C - -gUnk_08119E18:: @ 08119E18 - .incbin "baserom.gba", 0x119E18, 0x000002C - -gUnk_08119E44:: @ 08119E44 - .incbin "baserom.gba", 0x119E44, 0x000006C - -gUnk_08119EB0:: @ 08119EB0 - .incbin "baserom.gba", 0x119EB0, 0x0000028 - -gUnk_08119ED8:: @ 08119ED8 - .incbin "baserom.gba", 0x119ED8, 0x00000A8 - -gUnk_08119F80:: @ 08119F80 - .incbin "baserom.gba", 0x119F80, 0x0000024 - -gUnk_08119FA4:: @ 08119FA4 - .incbin "baserom.gba", 0x119FA4, 0x0000024 - -gUnk_08119FC8:: @ 08119FC8 - .incbin "baserom.gba", 0x119FC8, 0x000000C - -gUnk_08119FD4:: @ 08119FD4 - .incbin "baserom.gba", 0x119FD4, 0x0000048 - -gUnk_0811A01C:: @ 0811A01C - .incbin "baserom.gba", 0x11A01C, 0x0000030 - -gUnk_0811A04C:: @ 0811A04C - .incbin "baserom.gba", 0x11A04C, 0x000001C - -gUnk_0811A068:: @ 0811A068 - .incbin "baserom.gba", 0x11A068, 0x000003C - -gUnk_0811A0A4:: @ 0811A0A4 - .incbin "baserom.gba", 0x11A0A4, 0x0000028 - -gUnk_0811A0CC:: @ 0811A0CC - .incbin "baserom.gba", 0x11A0CC, 0x0000018 - -gUnk_0811A0E4:: @ 0811A0E4 - .incbin "baserom.gba", 0x11A0E4, 0x0000040 - -gUnk_0811A124:: @ 0811A124 - .incbin "baserom.gba", 0x11A124, 0x0000020 - -gUnk_0811A144:: @ 0811A144 - .incbin "baserom.gba", 0x11A144, 0x0000038 - -gUnk_0811A17C:: @ 0811A17C - .incbin "baserom.gba", 0x11A17C, 0x000004C - -gUnk_0811A1C8:: @ 0811A1C8 - .incbin "baserom.gba", 0x11A1C8, 0x0000030 - -gUnk_0811A1F8:: @ 0811A1F8 - .incbin "baserom.gba", 0x11A1F8, 0x0000030 - -gUnk_0811A228:: @ 0811A228 - .incbin "baserom.gba", 0x11A228, 0x0000058 - -gUnk_0811A280:: @ 0811A280 - .incbin "baserom.gba", 0x11A280, 0x000000C - -gUnk_0811A28C:: @ 0811A28C - .incbin "baserom.gba", 0x11A28C, 0x000001C - -gUnk_0811A2A8:: @ 0811A2A8 - .incbin "baserom.gba", 0x11A2A8, 0x0000028 - -gUnk_0811A2D0:: @ 0811A2D0 - .incbin "baserom.gba", 0x11A2D0, 0x000002C - -gUnk_0811A2FC:: @ 0811A2FC - .incbin "baserom.gba", 0x11A2FC, 0x0000214 - -gUnk_0811A510:: @ 0811A510 - .incbin "baserom.gba", 0x11A510, 0x000024C - -gUnk_0811A75C:: @ 0811A75C - .incbin "baserom.gba", 0x11A75C, 0x000004C - -gUnk_0811A7A8:: @ 0811A7A8 - .incbin "baserom.gba", 0x11A7A8, 0x00000C4 - -gUnk_0811A86C:: @ 0811A86C - .incbin "baserom.gba", 0x11A86C, 0x0000060 - -gUnk_0811A8CC:: @ 0811A8CC - .incbin "baserom.gba", 0x11A8CC, 0x00000E8 - -gUnk_0811A9B4:: @ 0811A9B4 - .incbin "baserom.gba", 0x11A9B4, 0x0000078 - -gUnk_0811AA2C:: @ 0811AA2C - .incbin "baserom.gba", 0x11AA2C, 0x0000050 - -gUnk_0811AA7C:: @ 0811AA7C - .incbin "baserom.gba", 0x11AA7C, 0x000009C - -gUnk_0811AB18:: @ 0811AB18 - .incbin "baserom.gba", 0x11AB18, 0x00000E0 - -gUnk_0811ABF8:: @ 0811ABF8 - .incbin "baserom.gba", 0x11ABF8, 0x0000019 - -gUnk_0811AC11:: @ 0811AC11 - .incbin "baserom.gba", 0x11AC11, 0x0000113 - -gUnk_0811AD24:: @ 0811AD24 - .incbin "baserom.gba", 0x11AD24, 0x00000A8 - -gUnk_0811ADCC:: @ 0811ADCC - .incbin "baserom.gba", 0x11ADCC, 0x00000E4 - -gUnk_0811AEB0:: @ 0811AEB0 - .incbin "baserom.gba", 0x11AEB0, 0x0000028 - -gUnk_0811AED8:: @ 0811AED8 - .incbin "baserom.gba", 0x11AED8, 0x000004C - -gUnk_0811AF24:: @ 0811AF24 - .incbin "baserom.gba", 0x11AF24, 0x0000010 - -gUnk_0811AF34:: @ 0811AF34 - .incbin "baserom.gba", 0x11AF34, 0x0000030 - -gUnk_0811AF64:: @ 0811AF64 - .incbin "baserom.gba", 0x11AF64, 0x0000028 - -gUnk_0811AF8C:: @ 0811AF8C - .incbin "baserom.gba", 0x11AF8C, 0x0000030 - -gUnk_0811AFBC:: @ 0811AFBC - .incbin "baserom.gba", 0x11AFBC, 0x0000014 - -gUnk_0811AFD0:: @ 0811AFD0 - .incbin "baserom.gba", 0x11AFD0, 0x0000030 - -gUnk_0811B000:: @ 0811B000 - .incbin "baserom.gba", 0x11B000, 0x000001C - -gUnk_0811B01C:: @ 0811B01C - .incbin "baserom.gba", 0x11B01C, 0x0000010 - -gUnk_0811B02C:: @ 0811B02C - .incbin "baserom.gba", 0x11B02C, 0x0000084 - -gUnk_0811B0B0:: @ 0811B0B0 - .incbin "baserom.gba", 0x11B0B0, 0x0000080 - -gUnk_0811B130:: @ 0811B130 - .incbin "baserom.gba", 0x11B130, 0x0000048 - -gUnk_0811B178:: @ 0811B178 - .incbin "baserom.gba", 0x11B178, 0x0000018 - -gUnk_0811B190:: @ 0811B190 - .incbin "baserom.gba", 0x11B190, 0x0000084 - -gUnk_0811B214:: @ 0811B214 - .incbin "baserom.gba", 0x11B214, 0x0000044 - -gUnk_0811B258:: @ 0811B258 - .incbin "baserom.gba", 0x11B258, 0x000003C - -gUnk_0811B294:: @ 0811B294 - .incbin "baserom.gba", 0x11B294, 0x0000068 - -gUnk_0811B2FC:: @ 0811B2FC - .incbin "baserom.gba", 0x11B2FC, 0x0000050 - -gUnk_0811B34C:: @ 0811B34C - .incbin "baserom.gba", 0x11B34C, 0x0000048 - -gUnk_0811B394:: @ 0811B394 - .incbin "baserom.gba", 0x11B394, 0x0000010 - -gUnk_0811B3A4:: @ 0811B3A4 - .incbin "baserom.gba", 0x11B3A4, 0x0000010 - -gUnk_0811B3B4:: @ 0811B3B4 - .incbin "baserom.gba", 0x11B3B4, 0x0000014 - -gUnk_0811B3C8:: @ 0811B3C8 - .incbin "baserom.gba", 0x11B3C8, 0x0000040 - -gUnk_0811B408:: @ 0811B408 - .incbin "baserom.gba", 0x11B408, 0x0000138 - -gUnk_0811B540:: @ 0811B540 - .incbin "baserom.gba", 0x11B540, 0x0000024 - -gUnk_0811B564:: @ 0811B564 - .incbin "baserom.gba", 0x11B564, 0x0000014 - -gUnk_0811B578:: @ 0811B578 - .incbin "baserom.gba", 0x11B578, 0x00003C8 - -gUnk_0811B940:: @ 0811B940 - .incbin "baserom.gba", 0x11B940, 0x000004C - -gUnk_0811B98C:: @ 0811B98C - .incbin "baserom.gba", 0x11B98C, 0x0000014 - -gUnk_0811B9A0:: @ 0811B9A0 - .incbin "baserom.gba", 0x11B9A0, 0x0000008 - -gUnk_0811B9A8:: @ 0811B9A8 - .incbin "baserom.gba", 0x11B9A8, 0x0000020 - -gUnk_0811B9C8:: @ 0811B9C8 - .incbin "baserom.gba", 0x11B9C8, 0x0000008 - -gUnk_0811B9D0:: @ 0811B9D0 - .incbin "baserom.gba", 0x11B9D0, 0x0000008 - -gUnk_0811B9D8:: @ 0811B9D8 - .incbin "baserom.gba", 0x11B9D8, 0x0000008 - -gUnk_0811B9E0:: @ 0811B9E0 - .incbin "baserom.gba", 0x11B9E0, 0x0000080 - -gUnk_0811BA60:: @ 0811BA60 - .incbin "baserom.gba", 0x11BA60, 0x0000008 - -gUnk_0811BA68:: @ 0811BA68 - .incbin "baserom.gba", 0x11BA68, 0x000000C - -gUnk_0811BA74:: @ 0811BA74 - .incbin "baserom.gba", 0x11BA74, 0x0000008 - -gUnk_0811BA7C:: @ 0811BA7C - .incbin "baserom.gba", 0x11BA7C, 0x000000C - -gUnk_0811BA88:: @ 0811BA88 - .incbin "baserom.gba", 0x11BA88, 0x000000C - -gUnk_0811BA94:: @ 0811BA94 - .incbin "baserom.gba", 0x11BA94, 0x0000008 - -gUnk_0811BA9C:: @ 0811BA9C - .incbin "baserom.gba", 0x11BA9C, 0x0000020 - -gUnk_0811BABC:: @ 0811BABC - .incbin "baserom.gba", 0x11BABC, 0x0000008 - -gUnk_0811BAC4:: @ 0811BAC4 - .incbin "baserom.gba", 0x11BAC4, 0x0000010 - -gUnk_0811BAD4:: @ 0811BAD4 - .incbin "baserom.gba", 0x11BAD4, 0x0000010 - -gUnk_0811BAE4:: @ 0811BAE4 - .incbin "baserom.gba", 0x11BAE4, 0x000000C - -gUnk_0811BAF0:: @ 0811BAF0 - .incbin "baserom.gba", 0x11BAF0, 0x000003C - -gUnk_0811BB2C:: @ 0811BB2C - .incbin "baserom.gba", 0x11BB2C, 0x000000C - -gUnk_0811BB38:: @ 0811BB38 - .incbin "baserom.gba", 0x11BB38, 0x0000004 - -gUnk_0811BB3C:: @ 0811BB3C - .incbin "baserom.gba", 0x11BB3C, 0x000000C - -gUnk_0811BB48:: @ 0811BB48 - .incbin "baserom.gba", 0x11BB48, 0x0000008 - -gUnk_0811BB50:: @ 0811BB50 - .incbin "baserom.gba", 0x11BB50, 0x0000008 - -gUnk_0811BB58:: @ 0811BB58 - .incbin "baserom.gba", 0x11BB58, 0x0000008 - -gUnk_0811BB60:: @ 0811BB60 - .incbin "baserom.gba", 0x11BB60, 0x0000008 - -gUnk_0811BB68:: @ 0811BB68 - .incbin "baserom.gba", 0x11BB68, 0x0000008 - -gUnk_0811BB70:: @ 0811BB70 - .incbin "baserom.gba", 0x11BB70, 0x0000010 - -gUnk_0811BB80:: @ 0811BB80 - .incbin "baserom.gba", 0x11BB80, 0x0000008 - -gUnk_0811BB88:: @ 0811BB88 - .incbin "baserom.gba", 0x11BB88, 0x0000008 - -gUnk_0811BB90:: @ 0811BB90 - .incbin "baserom.gba", 0x11BB90, 0x0000008 - -gUnk_0811BB98:: @ 0811BB98 - .incbin "baserom.gba", 0x11BB98, 0x0000014 - -gUnk_0811BBAC:: @ 0811BBAC - .incbin "baserom.gba", 0x11BBAC, 0x0000010 - -gUnk_0811BBBC:: @ 0811BBBC - .incbin "baserom.gba", 0x11BBBC, 0x0000006 - -gUnk_0811BBC2:: @ 0811BBC2 - .incbin "baserom.gba", 0x11BBC2, 0x0000006 - -gUnk_0811BBC8:: @ 0811BBC8 - .incbin "baserom.gba", 0x11BBC8, 0x0000006 - -gUnk_0811BBCE:: @ 0811BBCE - .incbin "baserom.gba", 0x11BBCE, 0x0000006 - -gUnk_0811BBD4:: @ 0811BBD4 - .incbin "baserom.gba", 0x11BBD4, 0x0000010 - -gUnk_0811BBE4:: @ 0811BBE4 - .incbin "baserom.gba", 0x11BBE4, 0x0000008 - -gUnk_0811BBEC:: @ 0811BBEC - .incbin "baserom.gba", 0x11BBEC, 0x000000C - -gUnk_0811BBF8:: @ 0811BBF8 - .incbin "baserom.gba", 0x11BBF8, 0x0000010 - -gUnk_0811BC08:: @ 0811BC08 - .incbin "baserom.gba", 0x11BC08, 0x0000020 - -gUnk_0811BC28:: @ 0811BC28 - .incbin "baserom.gba", 0x11BC28, 0x0000008 - -gUnk_0811BC30:: @ 0811BC30 - .incbin "baserom.gba", 0x11BC30, 0x0000008 - -gUnk_0811BC38:: @ 0811BC38 - .incbin "baserom.gba", 0x11BC38, 0x0000008 - -gUnk_0811BC40:: @ 0811BC40 - .incbin "baserom.gba", 0x11BC40, 0x0000008 - -gUnk_0811BC48:: @ 0811BC48 - .incbin "baserom.gba", 0x11BC48, 0x0000018 - -gUnk_0811BC60:: @ 0811BC60 - .incbin "baserom.gba", 0x11BC60, 0x0000020 - -gUnk_0811BC80:: @ 0811BC80 - .incbin "baserom.gba", 0x11BC80, 0x0000008 - -gUnk_0811BC88:: @ 0811BC88 - .incbin "baserom.gba", 0x11BC88, 0x0000010 - -gUnk_0811BC98:: @ 0811BC98 - .incbin "baserom.gba", 0x11BC98, 0x000001C - -gUnk_0811BCB4:: @ 0811BCB4 - .incbin "baserom.gba", 0x11BCB4, 0x0000010 diff --git a/data/data_08108D30.s b/data/data_08108D30.s new file mode 100644 index 00000000..492d4aa5 --- /dev/null +++ b/data/data_08108D30.s @@ -0,0 +1,5558 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + .align 2 + +gUnk_08108D30:: @ 08108D30 + .incbin "baserom.gba", 0x108D30, 0x000000C + +gUnk_08108D3C:: @ 08108D3C + .incbin "baserom.gba", 0x108D3C, 0x0000008 + +gUnk_08108D44:: @ 08108D44 + .incbin "baserom.gba", 0x108D44, 0x000000C + +gUnk_08108D50:: @ 08108D50 + .incbin "baserom.gba", 0x108D50, 0x000000C + +gUnk_08108D5C:: @ 08108D5C + .incbin "baserom.gba", 0x108D5C, 0x0000018 + +gUnk_08108D74:: @ 08108D74 + .incbin "baserom.gba", 0x108D74, 0x0000008 + +gUnk_08108D7C:: @ 08108D7C + .incbin "baserom.gba", 0x108D7C, 0x0000010 + +gUnk_08108D8C:: @ 08108D8C + .incbin "baserom.gba", 0x108D8C, 0x000000B + +gUnk_08108D97:: @ 08108D97 + .incbin "baserom.gba", 0x108D97, 0x0000001 + +gUnk_08108D98:: @ 08108D98 + .incbin "baserom.gba", 0x108D98, 0x0000010 + +gUnk_08108DA8:: @ 08108DA8 + .incbin "baserom.gba", 0x108DA8, 0x0000014 + +gUnk_08108DBC:: @ 08108DBC + .incbin "baserom.gba", 0x108DBC, 0x0000008 + +gUnk_08108DC4:: @ 08108DC4 + .incbin "baserom.gba", 0x108DC4, 0x0000014 + +gUnk_08108DD8:: @ 08108DD8 + .incbin "baserom.gba", 0x108DD8, 0x0000008 + +gUnk_08108DE0:: @ 08108DE0 + .incbin "baserom.gba", 0x108DE0, 0x0000008 + +gUnk_08108DE8:: @ 08108DE8 + .incbin "baserom.gba", 0x108DE8, 0x0000040 + +gUnk_08108E28:: @ 08108E28 + .incbin "baserom.gba", 0x108E28, 0x0000008 + +gUnk_08108E30:: @ 08108E30 + .incbin "baserom.gba", 0x108E30, 0x0000018 + +gUnk_08108E48:: @ 08108E48 + .incbin "baserom.gba", 0x108E48, 0x0000002 + +gUnk_08108E4A:: @ 08108E4A + .incbin "baserom.gba", 0x108E4A, 0x0000016 + +gUnk_08108E60:: @ 08108E60 + .incbin "baserom.gba", 0x108E60, 0x000000C + +gUnk_08108E6C:: @ 08108E6C + .incbin "baserom.gba", 0x108E6C, 0x000000C + +gUnk_08108E78:: @ 08108E78 + .incbin "baserom.gba", 0x108E78, 0x0000018 + +gUnk_08108E90:: @ 08108E90 + .incbin "baserom.gba", 0x108E90, 0x0000008 + +gUnk_08108E98:: @ 08108E98 + .incbin "baserom.gba", 0x108E98, 0x000000C + +gUnk_08108EA4:: @ 08108EA4 + .incbin "baserom.gba", 0x108EA4, 0x0000018 + +gUnk_08108EBC:: @ 08108EBC + .incbin "baserom.gba", 0x108EBC, 0x0000008 + +gUnk_08108EC4:: @ 08108EC4 + .incbin "baserom.gba", 0x108EC4, 0x000000C + +gUnk_08108ED0:: @ 08108ED0 + .incbin "baserom.gba", 0x108ED0, 0x0000018 + +gUnk_08108EE8:: @ 08108EE8 + .incbin "baserom.gba", 0x108EE8, 0x0000008 + +gUnk_08108EF0:: @ 08108EF0 + .incbin "baserom.gba", 0x108EF0, 0x000000C + +gUnk_08108EFC:: @ 08108EFC + .incbin "baserom.gba", 0x108EFC, 0x0000018 + +gUnk_08108F14:: @ 08108F14 + .incbin "baserom.gba", 0x108F14, 0x0000008 + +gUnk_08108F1C:: @ 08108F1C + .incbin "baserom.gba", 0x108F1C, 0x000000C + +gUnk_08108F28:: @ 08108F28 + .incbin "baserom.gba", 0x108F28, 0x0000018 + +gUnk_08108F40:: @ 08108F40 + .incbin "baserom.gba", 0x108F40, 0x0000008 + +gUnk_08108F48:: @ 08108F48 + .incbin "baserom.gba", 0x108F48, 0x0000004 + +gUnk_08108F4C:: @ 08108F4C + .incbin "baserom.gba", 0x108F4C, 0x0000008 + +gUnk_08108F54:: @ 08108F54 + .incbin "baserom.gba", 0x108F54, 0x0000018 + +gUnk_08108F6C:: @ 08108F6C + .incbin "baserom.gba", 0x108F6C, 0x0000008 + +gUnk_08108F74:: @ 08108F74 + .incbin "baserom.gba", 0x108F74, 0x000000C + +gUnk_08108F80:: @ 08108F80 + .incbin "baserom.gba", 0x108F80, 0x0000018 + +gUnk_08108F98:: @ 08108F98 + .incbin "baserom.gba", 0x108F98, 0x0000008 + +gUnk_08108FA0:: @ 08108FA0 + .incbin "baserom.gba", 0x108FA0, 0x000000C + +gUnk_08108FAC:: @ 08108FAC + .incbin "baserom.gba", 0x108FAC, 0x0000018 + +gUnk_08108FC4:: @ 08108FC4 + .incbin "baserom.gba", 0x108FC4, 0x0000008 + +gUnk_08108FCC:: @ 08108FCC + .incbin "baserom.gba", 0x108FCC, 0x000000C + +gUnk_08108FD8:: @ 08108FD8 + .incbin "baserom.gba", 0x108FD8, 0x0000018 + +gUnk_08108FF0:: @ 08108FF0 + .incbin "baserom.gba", 0x108FF0, 0x0000008 + +gUnk_08108FF8:: @ 08108FF8 + .incbin "baserom.gba", 0x108FF8, 0x000000C + +gUnk_08109004:: @ 08109004 + .incbin "baserom.gba", 0x109004, 0x0000001 + +gUnk_08109005:: @ 08109005 + .incbin "baserom.gba", 0x109005, 0x0000014 + +gUnk_08109019:: @ 08109019 + .incbin "baserom.gba", 0x109019, 0x0000003 + +gUnk_0810901C:: @ 0810901C + .incbin "baserom.gba", 0x10901C, 0x0000008 + +gUnk_08109024:: @ 08109024 + .incbin "baserom.gba", 0x109024, 0x000000C + +gUnk_08109030:: @ 08109030 + .incbin "baserom.gba", 0x109030, 0x0000003 + +gUnk_08109033:: @ 08109033 + .incbin "baserom.gba", 0x109033, 0x0000015 + +gUnk_08109048:: @ 08109048 + .incbin "baserom.gba", 0x109048, 0x0000008 + +gUnk_08109050:: @ 08109050 + .incbin "baserom.gba", 0x109050, 0x000000C + +gUnk_0810905C:: @ 0810905C + .incbin "baserom.gba", 0x10905C, 0x0000018 + +gUnk_08109074:: @ 08109074 + .incbin "baserom.gba", 0x109074, 0x0000008 + +gUnk_0810907C:: @ 0810907C + .incbin "baserom.gba", 0x10907C, 0x000000C + +gUnk_08109088:: @ 08109088 + .incbin "baserom.gba", 0x109088, 0x0000018 + +gUnk_081090A0:: @ 081090A0 + .incbin "baserom.gba", 0x1090A0, 0x0000008 + +gUnk_081090A8:: @ 081090A8 + .incbin "baserom.gba", 0x1090A8, 0x000000C + +gUnk_081090B4:: @ 081090B4 + .incbin "baserom.gba", 0x1090B4, 0x0000018 + +gUnk_081090CC:: @ 081090CC + .incbin "baserom.gba", 0x1090CC, 0x0000008 + +gUnk_081090D4:: @ 081090D4 + .incbin "baserom.gba", 0x1090D4, 0x000000C + +gUnk_081090E0:: @ 081090E0 + .incbin "baserom.gba", 0x1090E0, 0x0000018 + +gUnk_081090F8:: @ 081090F8 + .incbin "baserom.gba", 0x1090F8, 0x0000008 + +gUnk_08109100:: @ 08109100 + .incbin "baserom.gba", 0x109100, 0x000000C + +gUnk_0810910C:: @ 0810910C + .incbin "baserom.gba", 0x10910C, 0x0000018 + +gUnk_08109124:: @ 08109124 + .incbin "baserom.gba", 0x109124, 0x0000008 + +gUnk_0810912C:: @ 0810912C + .incbin "baserom.gba", 0x10912C, 0x000000C + +gUnk_08109138:: @ 08109138 + .incbin "baserom.gba", 0x109138, 0x0000008 + +gUnk_08109140:: @ 08109140 + .incbin "baserom.gba", 0x109140, 0x0000018 + +gUnk_08109158:: @ 08109158 + .incbin "baserom.gba", 0x109158, 0x0000008 + +gUnk_08109160:: @ 08109160 + .incbin "baserom.gba", 0x109160, 0x0000018 + +gUnk_08109178:: @ 08109178 + .incbin "baserom.gba", 0x109178, 0x0000008 + +gUnk_08109180:: @ 08109180 + .incbin "baserom.gba", 0x109180, 0x000000C + +gUnk_0810918C:: @ 0810918C + .incbin "baserom.gba", 0x10918C, 0x0000008 + +gUnk_08109194:: @ 08109194 + .incbin "baserom.gba", 0x109194, 0x0000009 + +gUnk_0810919D:: @ 0810919D + .incbin "baserom.gba", 0x10919D, 0x0000047 + +gUnk_081091E4:: @ 081091E4 + .incbin "baserom.gba", 0x1091E4, 0x000000A + +gUnk_081091EE:: @ 081091EE + .incbin "baserom.gba", 0x1091EE, 0x000000A + +gUnk_081091F8:: @ 081091F8 + .incbin "baserom.gba", 0x1091F8, 0x000000A + +gUnk_08109202:: @ 08109202 + .incbin "baserom.gba", 0x109202, 0x0000012 + +gUnk_08109214:: @ 08109214 + .incbin "baserom.gba", 0x109214, 0x000001C + +gUnk_08109230:: @ 08109230 + .incbin "baserom.gba", 0x109230, 0x0000014 + +gUnk_08109244:: @ 08109244 + .incbin "baserom.gba", 0x109244, 0x0000004 + +gUnk_08109248:: @ 08109248 + .incbin "baserom.gba", 0x109248, 0x0000024 + +gUnk_0810926C:: @ 0810926C + .incbin "baserom.gba", 0x10926C, 0x0000040 + +gUnk_081092AC:: @ 081092AC + .incbin "baserom.gba", 0x1092AC, 0x0000028 + +gUnk_081092D4:: @ 081092D4 + .incbin "baserom.gba", 0x1092D4, 0x000002F + +gUnk_08109303:: @ 08109303 + .incbin "baserom.gba", 0x109303, 0x000005E + +gUnk_08109361:: @ 08109361 + .incbin "baserom.gba", 0x109361, 0x00000A5 + +gUnk_08109406:: @ 08109406 + .incbin "baserom.gba", 0x109406, 0x0000028 + +gUnk_0810942E:: @ 0810942E + .incbin "baserom.gba", 0x10942E, 0x00000A0 + +gUnk_081094CE:: @ 081094CE + .incbin "baserom.gba", 0x1094CE, 0x00000FB + +gUnk_081095C9:: @ 081095C9 + .incbin "baserom.gba", 0x1095C9, 0x000014C + +gUnk_08109715:: @ 08109715 + .incbin "baserom.gba", 0x109715, 0x0000063 + +gUnk_08109778:: @ 08109778 + .incbin "baserom.gba", 0x109778, 0x0000005 + +gUnk_0810977D:: @ 0810977D + .incbin "baserom.gba", 0x10977D, 0x0000017 + +gUnk_08109794:: @ 08109794 + .incbin "baserom.gba", 0x109794, 0x0000104 + +gUnk_08109898:: @ 08109898 + .incbin "baserom.gba", 0x109898, 0x000000F + +gUnk_081098A7:: @ 081098A7 + .incbin "baserom.gba", 0x1098A7, 0x000005F + +gUnk_08109906:: @ 08109906 + .incbin "baserom.gba", 0x109906, 0x000012A + +gUnk_08109A30:: @ 08109A30 + .incbin "baserom.gba", 0x109A30, 0x0000028 + +gUnk_08109A58:: @ 08109A58 + .incbin "baserom.gba", 0x109A58, 0x0000010 + +gUnk_08109A68:: @ 08109A68 + .incbin "baserom.gba", 0x109A68, 0x0000010 + +gUnk_08109A78:: @ 08109A78 + .incbin "baserom.gba", 0x109A78, 0x0000010 + +gUnk_08109A88:: @ 08109A88 + .incbin "baserom.gba", 0x109A88, 0x0000010 + +gUnk_08109A98:: @ 08109A98 + .incbin "baserom.gba", 0x109A98, 0x0000006 + +gUnk_08109A9E:: @ 08109A9E + .incbin "baserom.gba", 0x109A9E, 0x000000A + +gUnk_08109AA8:: @ 08109AA8 + .incbin "baserom.gba", 0x109AA8, 0x0000010 + +gUnk_08109AB8:: @ 08109AB8 + .incbin "baserom.gba", 0x109AB8, 0x0000010 + +gUnk_08109AC8:: @ 08109AC8 + .incbin "baserom.gba", 0x109AC8, 0x0000008 + +gUnk_08109AD0:: @ 08109AD0 + .incbin "baserom.gba", 0x109AD0, 0x0000008 + +gUnk_08109AD8:: @ 08109AD8 + .incbin "baserom.gba", 0x109AD8, 0x0000005 + +gUnk_08109ADD:: @ 08109ADD + .incbin "baserom.gba", 0x109ADD, 0x0000005 + +gUnk_08109AE2:: @ 08109AE2 + .incbin "baserom.gba", 0x109AE2, 0x0000005 + +gUnk_08109AE7:: @ 08109AE7 + .incbin "baserom.gba", 0x109AE7, 0x0000005 + +gUnk_08109AEC:: @ 08109AEC + .incbin "baserom.gba", 0x109AEC, 0x0000011 + +gUnk_08109AFD:: @ 08109AFD + .incbin "baserom.gba", 0x109AFD, 0x000000B + +gUnk_08109B08:: @ 08109B08 + .incbin "baserom.gba", 0x109B08, 0x0000006 + +gUnk_08109B0E:: @ 08109B0E + .incbin "baserom.gba", 0x109B0E, 0x000002D + +gUnk_08109B3B:: @ 08109B3B + .incbin "baserom.gba", 0x109B3B, 0x0000025 + +gUnk_08109B60:: @ 08109B60 + .incbin "baserom.gba", 0x109B60, 0x0000020 + +gUnk_08109B80:: @ 08109B80 + .incbin "baserom.gba", 0x109B80, 0x000003C + +gUnk_08109BBC:: @ 08109BBC + .incbin "baserom.gba", 0x109BBC, 0x000000C + +gUnk_08109BC8:: @ 08109BC8 + .incbin "baserom.gba", 0x109BC8, 0x0000005 + +gUnk_08109BCD:: @ 08109BCD + .incbin "baserom.gba", 0x109BCD, 0x0000005 + +gUnk_08109BD2:: @ 08109BD2 + .incbin "baserom.gba", 0x109BD2, 0x0000005 + +gUnk_08109BD7:: @ 08109BD7 + .incbin "baserom.gba", 0x109BD7, 0x0000011 + +gUnk_08109BE8:: @ 08109BE8 + .incbin "baserom.gba", 0x109BE8, 0x0000011 + +gUnk_08109BF9:: @ 08109BF9 + .incbin "baserom.gba", 0x109BF9, 0x0000035 + +gUnk_08109C2E:: @ 08109C2E + .incbin "baserom.gba", 0x109C2E, 0x000001D + +gUnk_08109C4B:: @ 08109C4B + .incbin "baserom.gba", 0x109C4B, 0x0000009 + +gUnk_08109C54:: @ 08109C54 + .incbin "baserom.gba", 0x109C54, 0x0000005 + +gUnk_08109C59:: @ 08109C59 + .incbin "baserom.gba", 0x109C59, 0x0000007 + +gUnk_08109C60:: @ 08109C60 + .incbin "baserom.gba", 0x109C60, 0x0000038 + +gUnk_08109C98:: @ 08109C98 + .incbin "baserom.gba", 0x109C98, 0x0000080 + +gUnk_08109D18:: @ 08109D18 + .incbin "baserom.gba", 0x109D18, 0x0000063 + +gUnk_08109D7B:: @ 08109D7B + .incbin "baserom.gba", 0x109D7B, 0x000002E + +gUnk_08109DA9:: @ 08109DA9 + .incbin "baserom.gba", 0x109DA9, 0x000001F + +gUnk_08109DC8:: @ 08109DC8 + .incbin "baserom.gba", 0x109DC8, 0x000003F + +gUnk_08109E07:: @ 08109E07 + .incbin "baserom.gba", 0x109E07, 0x000010E + +gUnk_08109F15:: @ 08109F15 + .incbin "baserom.gba", 0x109F15, 0x0000052 + +gUnk_08109F67:: @ 08109F67 + .incbin "baserom.gba", 0x109F67, 0x0000005 + +gUnk_08109F6C:: @ 08109F6C + .incbin "baserom.gba", 0x109F6C, 0x000002B + +gUnk_08109F97:: @ 08109F97 + .incbin "baserom.gba", 0x109F97, 0x00000B1 + +gUnk_0810A048:: @ 0810A048 + .incbin "baserom.gba", 0x10A048, 0x0000111 + +gUnk_0810A159:: @ 0810A159 + .incbin "baserom.gba", 0x10A159, 0x0000048 + +gUnk_0810A1A1:: @ 0810A1A1 + .incbin "baserom.gba", 0x10A1A1, 0x00001A7 + +gUnk_0810A348:: @ 0810A348 + .incbin "baserom.gba", 0x10A348, 0x000000C + +gUnk_0810A354:: @ 0810A354 + .incbin "baserom.gba", 0x10A354, 0x0000006 + +gUnk_0810A35A:: @ 0810A35A + .incbin "baserom.gba", 0x10A35A, 0x0000008 + +gUnk_0810A362:: @ 0810A362 + .incbin "baserom.gba", 0x10A362, 0x0000008 + +gUnk_0810A36A:: @ 0810A36A + .incbin "baserom.gba", 0x10A36A, 0x0000005 + +gUnk_0810A36F:: @ 0810A36F + .incbin "baserom.gba", 0x10A36F, 0x0000005 + +gUnk_0810A374:: @ 0810A374 + .incbin "baserom.gba", 0x10A374, 0x0000005 + +gUnk_0810A379:: @ 0810A379 + .incbin "baserom.gba", 0x10A379, 0x0000001 + +gUnk_0810A37A:: @ 0810A37A + .incbin "baserom.gba", 0x10A37A, 0x0000004 + +gUnk_0810A37E:: @ 0810A37E + .incbin "baserom.gba", 0x10A37E, 0x0000021 + +gUnk_0810A39F:: @ 0810A39F + .incbin "baserom.gba", 0x10A39F, 0x0000021 + +gUnk_0810A3C0:: @ 0810A3C0 + .incbin "baserom.gba", 0x10A3C0, 0x0000021 + +gUnk_0810A3E1:: @ 0810A3E1 + .incbin "baserom.gba", 0x10A3E1, 0x000001F + +gUnk_0810A400:: @ 0810A400 + .incbin "baserom.gba", 0x10A400, 0x0000002 + +gUnk_0810A402:: @ 0810A402 + .incbin "baserom.gba", 0x10A402, 0x0000005 + +gUnk_0810A407:: @ 0810A407 + .incbin "baserom.gba", 0x10A407, 0x0000001 + +gUnk_0810A408:: @ 0810A408 + .incbin "baserom.gba", 0x10A408, 0x0000004 + +gUnk_0810A40C:: @ 0810A40C + .incbin "baserom.gba", 0x10A40C, 0x0000005 + +gUnk_0810A411:: @ 0810A411 + .incbin "baserom.gba", 0x10A411, 0x0000005 + +gUnk_0810A416:: @ 0810A416 + .incbin "baserom.gba", 0x10A416, 0x000000D + +gUnk_0810A423:: @ 0810A423 + .incbin "baserom.gba", 0x10A423, 0x000000D + +gUnk_0810A430:: @ 0810A430 + .incbin "baserom.gba", 0x10A430, 0x000000D + +gUnk_0810A43D:: @ 0810A43D + .incbin "baserom.gba", 0x10A43D, 0x000000D + +gUnk_0810A44A:: @ 0810A44A + .incbin "baserom.gba", 0x10A44A, 0x000000D + +gUnk_0810A457:: @ 0810A457 + .incbin "baserom.gba", 0x10A457, 0x000000D + +gUnk_0810A464:: @ 0810A464 + .incbin "baserom.gba", 0x10A464, 0x000000D + +gUnk_0810A471:: @ 0810A471 + .incbin "baserom.gba", 0x10A471, 0x000000D + +gUnk_0810A47E:: @ 0810A47E + .incbin "baserom.gba", 0x10A47E, 0x000000D + +gUnk_0810A48B:: @ 0810A48B + .incbin "baserom.gba", 0x10A48B, 0x000000D + +gUnk_0810A498:: @ 0810A498 + .incbin "baserom.gba", 0x10A498, 0x000000D + +gUnk_0810A4A5:: @ 0810A4A5 + .incbin "baserom.gba", 0x10A4A5, 0x000000D + +gUnk_0810A4B2:: @ 0810A4B2 + .incbin "baserom.gba", 0x10A4B2, 0x000000D + +gUnk_0810A4BF:: @ 0810A4BF + .incbin "baserom.gba", 0x10A4BF, 0x000000D + +gUnk_0810A4CC:: @ 0810A4CC + .incbin "baserom.gba", 0x10A4CC, 0x000000D + +gUnk_0810A4D9:: @ 0810A4D9 + .incbin "baserom.gba", 0x10A4D9, 0x000000D + +gUnk_0810A4E6:: @ 0810A4E6 + .incbin "baserom.gba", 0x10A4E6, 0x000000D + +gUnk_0810A4F3:: @ 0810A4F3 + .incbin "baserom.gba", 0x10A4F3, 0x000000D + +gUnk_0810A500:: @ 0810A500 + .incbin "baserom.gba", 0x10A500, 0x000000D + +gUnk_0810A50D:: @ 0810A50D + .incbin "baserom.gba", 0x10A50D, 0x000000D + +gUnk_0810A51A:: @ 0810A51A + .incbin "baserom.gba", 0x10A51A, 0x000000D + +gUnk_0810A527:: @ 0810A527 + .incbin "baserom.gba", 0x10A527, 0x000000D + +gUnk_0810A534:: @ 0810A534 + .incbin "baserom.gba", 0x10A534, 0x000000D + +gUnk_0810A541:: @ 0810A541 + .incbin "baserom.gba", 0x10A541, 0x000000D + +gUnk_0810A54E:: @ 0810A54E + .incbin "baserom.gba", 0x10A54E, 0x000000D + +gUnk_0810A55B:: @ 0810A55B + .incbin "baserom.gba", 0x10A55B, 0x000000D + +gUnk_0810A568:: @ 0810A568 + .incbin "baserom.gba", 0x10A568, 0x000000D + +gUnk_0810A575:: @ 0810A575 + .incbin "baserom.gba", 0x10A575, 0x000000D + +gUnk_0810A582:: @ 0810A582 + .incbin "baserom.gba", 0x10A582, 0x000000D + +gUnk_0810A58F:: @ 0810A58F + .incbin "baserom.gba", 0x10A58F, 0x000000D + +gUnk_0810A59C:: @ 0810A59C + .incbin "baserom.gba", 0x10A59C, 0x000000D + +gUnk_0810A5A9:: @ 0810A5A9 + .incbin "baserom.gba", 0x10A5A9, 0x000000F + +gUnk_0810A5B8:: @ 0810A5B8 + .incbin "baserom.gba", 0x10A5B8, 0x00000B4 + +gUnk_0810A66C:: @ 0810A66C + .incbin "baserom.gba", 0x10A66C, 0x00000BC + +gUnk_0810A728:: @ 0810A728 + .incbin "baserom.gba", 0x10A728, 0x0000040 + +gUnk_0810A768:: @ 0810A768 + .incbin "baserom.gba", 0x10A768, 0x0000005 + +gUnk_0810A76D:: @ 0810A76D + .incbin "baserom.gba", 0x10A76D, 0x0000005 + +gUnk_0810A772:: @ 0810A772 + .incbin "baserom.gba", 0x10A772, 0x0000005 + +gUnk_0810A777:: @ 0810A777 + .incbin "baserom.gba", 0x10A777, 0x0000006 + +gUnk_0810A77D:: @ 0810A77D + .incbin "baserom.gba", 0x10A77D, 0x0000006 + +gUnk_0810A783:: @ 0810A783 + .incbin "baserom.gba", 0x10A783, 0x0000006 + +gUnk_0810A789:: @ 0810A789 + .incbin "baserom.gba", 0x10A789, 0x0000005 + +gUnk_0810A78E:: @ 0810A78E + .incbin "baserom.gba", 0x10A78E, 0x0000006 + +gUnk_0810A794:: @ 0810A794 + .incbin "baserom.gba", 0x10A794, 0x0000006 + +gUnk_0810A79A:: @ 0810A79A + .incbin "baserom.gba", 0x10A79A, 0x0000006 + +gUnk_0810A7A0:: @ 0810A7A0 + .incbin "baserom.gba", 0x10A7A0, 0x0000006 + +gUnk_0810A7A6:: @ 0810A7A6 + .incbin "baserom.gba", 0x10A7A6, 0x0000006 + +gUnk_0810A7AC:: @ 0810A7AC + .incbin "baserom.gba", 0x10A7AC, 0x0000007 + +gUnk_0810A7B3:: @ 0810A7B3 + .incbin "baserom.gba", 0x10A7B3, 0x0000006 + +gUnk_0810A7B9:: @ 0810A7B9 + .incbin "baserom.gba", 0x10A7B9, 0x0000006 + +gUnk_0810A7BF:: @ 0810A7BF + .incbin "baserom.gba", 0x10A7BF, 0x0000006 + +gUnk_0810A7C5:: @ 0810A7C5 + .incbin "baserom.gba", 0x10A7C5, 0x0000005 + +gUnk_0810A7CA:: @ 0810A7CA + .incbin "baserom.gba", 0x10A7CA, 0x0000006 + +gUnk_0810A7D0:: @ 0810A7D0 + .incbin "baserom.gba", 0x10A7D0, 0x0000006 + +gUnk_0810A7D6:: @ 0810A7D6 + .incbin "baserom.gba", 0x10A7D6, 0x0000005 + +gUnk_0810A7DB:: @ 0810A7DB + .incbin "baserom.gba", 0x10A7DB, 0x0000005 + +gUnk_0810A7E0:: @ 0810A7E0 + .incbin "baserom.gba", 0x10A7E0, 0x0000005 + +gUnk_0810A7E5:: @ 0810A7E5 + .incbin "baserom.gba", 0x10A7E5, 0x0000010 + +gUnk_0810A7F5:: @ 0810A7F5 + .incbin "baserom.gba", 0x10A7F5, 0x0000010 + +gUnk_0810A805:: @ 0810A805 + .incbin "baserom.gba", 0x10A805, 0x0000008 + +gUnk_0810A80D:: @ 0810A80D + .incbin "baserom.gba", 0x10A80D, 0x0000008 + +gUnk_0810A815:: @ 0810A815 + .incbin "baserom.gba", 0x10A815, 0x0000005 + +gUnk_0810A81A:: @ 0810A81A + .incbin "baserom.gba", 0x10A81A, 0x0000005 + +gUnk_0810A81F:: @ 0810A81F + .incbin "baserom.gba", 0x10A81F, 0x0000006 + +gUnk_0810A825:: @ 0810A825 + .incbin "baserom.gba", 0x10A825, 0x0000005 + +gUnk_0810A82A:: @ 0810A82A + .incbin "baserom.gba", 0x10A82A, 0x0000005 + +gUnk_0810A82F:: @ 0810A82F + .incbin "baserom.gba", 0x10A82F, 0x0000006 + +gUnk_0810A835:: @ 0810A835 + .incbin "baserom.gba", 0x10A835, 0x0000006 + +gUnk_0810A83B:: @ 0810A83B + .incbin "baserom.gba", 0x10A83B, 0x0000006 + +gUnk_0810A841:: @ 0810A841 + .incbin "baserom.gba", 0x10A841, 0x0000007 + +gUnk_0810A848:: @ 0810A848 + .incbin "baserom.gba", 0x10A848, 0x0000007 + +gUnk_0810A84F:: @ 0810A84F + .incbin "baserom.gba", 0x10A84F, 0x000000F + +gUnk_0810A85E:: @ 0810A85E + .incbin "baserom.gba", 0x10A85E, 0x000000F + +gUnk_0810A86D:: @ 0810A86D + .incbin "baserom.gba", 0x10A86D, 0x0000005 + +gUnk_0810A872:: @ 0810A872 + .incbin "baserom.gba", 0x10A872, 0x0000005 + +gUnk_0810A877:: @ 0810A877 + .incbin "baserom.gba", 0x10A877, 0x0000005 + +gUnk_0810A87C:: @ 0810A87C + .incbin "baserom.gba", 0x10A87C, 0x0000005 + +gUnk_0810A881:: @ 0810A881 + .incbin "baserom.gba", 0x10A881, 0x0000005 + +gUnk_0810A886:: @ 0810A886 + .incbin "baserom.gba", 0x10A886, 0x0000005 + +gUnk_0810A88B:: @ 0810A88B + .incbin "baserom.gba", 0x10A88B, 0x0000006 + +gUnk_0810A891:: @ 0810A891 + .incbin "baserom.gba", 0x10A891, 0x0000006 + +gUnk_0810A897:: @ 0810A897 + .incbin "baserom.gba", 0x10A897, 0x0000005 + +gUnk_0810A89C:: @ 0810A89C + .incbin "baserom.gba", 0x10A89C, 0x0000006 + +gUnk_0810A8A2:: @ 0810A8A2 + .incbin "baserom.gba", 0x10A8A2, 0x0000005 + +gUnk_0810A8A7:: @ 0810A8A7 + .incbin "baserom.gba", 0x10A8A7, 0x0000005 + +gUnk_0810A8AC:: @ 0810A8AC + .incbin "baserom.gba", 0x10A8AC, 0x0000005 + +gUnk_0810A8B1:: @ 0810A8B1 + .incbin "baserom.gba", 0x10A8B1, 0x0000005 + +gUnk_0810A8B6:: @ 0810A8B6 + .incbin "baserom.gba", 0x10A8B6, 0x0000005 + +gUnk_0810A8BB:: @ 0810A8BB + .incbin "baserom.gba", 0x10A8BB, 0x0000005 + +gUnk_0810A8C0:: @ 0810A8C0 + .incbin "baserom.gba", 0x10A8C0, 0x000000B + +gUnk_0810A8CB:: @ 0810A8CB + .incbin "baserom.gba", 0x10A8CB, 0x000000B + +gUnk_0810A8D6:: @ 0810A8D6 + .incbin "baserom.gba", 0x10A8D6, 0x0000005 + +gUnk_0810A8DB:: @ 0810A8DB + .incbin "baserom.gba", 0x10A8DB, 0x0000005 + +gUnk_0810A8E0:: @ 0810A8E0 + .incbin "baserom.gba", 0x10A8E0, 0x0000009 + +gUnk_0810A8E9:: @ 0810A8E9 + .incbin "baserom.gba", 0x10A8E9, 0x0000009 + +gUnk_0810A8F2:: @ 0810A8F2 + .incbin "baserom.gba", 0x10A8F2, 0x0000007 + +gUnk_0810A8F9:: @ 0810A8F9 + .incbin "baserom.gba", 0x10A8F9, 0x0000007 + +gUnk_0810A900:: @ 0810A900 + .incbin "baserom.gba", 0x10A900, 0x0000005 + +gUnk_0810A905:: @ 0810A905 + .incbin "baserom.gba", 0x10A905, 0x0000006 + +gUnk_0810A90B:: @ 0810A90B + .incbin "baserom.gba", 0x10A90B, 0x0000006 + +gUnk_0810A911:: @ 0810A911 + .incbin "baserom.gba", 0x10A911, 0x0000007 + +gUnk_0810A918:: @ 0810A918 + .incbin "baserom.gba", 0x10A918, 0x000010C + +gUnk_0810AA24:: @ 0810AA24 + .incbin "baserom.gba", 0x10AA24, 0x000000C + +gUnk_0810AA30:: @ 0810AA30 + .incbin "baserom.gba", 0x10AA30, 0x0000040 + +gUnk_0810AA70:: @ 0810AA70 + .incbin "baserom.gba", 0x10AA70, 0x0000020 + +gUnk_0810AA90:: @ 0810AA90 + .incbin "baserom.gba", 0x10AA90, 0x0000029 + +gUnk_0810AAB9:: @ 0810AAB9 + .incbin "baserom.gba", 0x10AAB9, 0x0000029 + +gUnk_0810AAE2:: @ 0810AAE2 + .incbin "baserom.gba", 0x10AAE2, 0x0000029 + +gUnk_0810AB0B:: @ 0810AB0B + .incbin "baserom.gba", 0x10AB0B, 0x0000029 + +gUnk_0810AB34:: @ 0810AB34 + .incbin "baserom.gba", 0x10AB34, 0x0000031 + +gUnk_0810AB65:: @ 0810AB65 + .incbin "baserom.gba", 0x10AB65, 0x0000031 + +gUnk_0810AB96:: @ 0810AB96 + .incbin "baserom.gba", 0x10AB96, 0x0000031 + +gUnk_0810ABC7:: @ 0810ABC7 + .incbin "baserom.gba", 0x10ABC7, 0x0000031 + +gUnk_0810ABF8:: @ 0810ABF8 + .incbin "baserom.gba", 0x10ABF8, 0x0000024 + +gUnk_0810AC1C:: @ 0810AC1C + .incbin "baserom.gba", 0x10AC1C, 0x0000010 + +gUnk_0810AC2C:: @ 0810AC2C + .incbin "baserom.gba", 0x10AC2C, 0x0000020 + +gUnk_0810AC4C:: @ 0810AC4C + .incbin "baserom.gba", 0x10AC4C, 0x0000008 + +gUnk_0810AC54:: @ 0810AC54 + .incbin "baserom.gba", 0x10AC54, 0x0000009 + +gUnk_0810AC5D:: @ 0810AC5D + .incbin "baserom.gba", 0x10AC5D, 0x0000013 + +gUnk_0810AC70:: @ 0810AC70 + .incbin "baserom.gba", 0x10AC70, 0x0000008 + +gUnk_0810AC78:: @ 0810AC78 + .incbin "baserom.gba", 0x10AC78, 0x0000009 + +gUnk_0810AC81:: @ 0810AC81 + .incbin "baserom.gba", 0x10AC81, 0x0000019 + +gUnk_0810AC9A:: @ 0810AC9A + .incbin "baserom.gba", 0x10AC9A, 0x0000019 + +gUnk_0810ACB3:: @ 0810ACB3 + .incbin "baserom.gba", 0x10ACB3, 0x0000019 + +gUnk_0810ACCC:: @ 0810ACCC + .incbin "baserom.gba", 0x10ACCC, 0x0000021 + +gUnk_0810ACED:: @ 0810ACED + .incbin "baserom.gba", 0x10ACED, 0x0000021 + +gUnk_0810AD0E:: @ 0810AD0E + .incbin "baserom.gba", 0x10AD0E, 0x0000021 + +gUnk_0810AD2F:: @ 0810AD2F + .incbin "baserom.gba", 0x10AD2F, 0x0000021 + +gUnk_0810AD50:: @ 0810AD50 + .incbin "baserom.gba", 0x10AD50, 0x0000021 + +gUnk_0810AD71:: @ 0810AD71 + .incbin "baserom.gba", 0x10AD71, 0x0000021 + +gUnk_0810AD92:: @ 0810AD92 + .incbin "baserom.gba", 0x10AD92, 0x000001B + +gUnk_0810ADAD:: @ 0810ADAD + .incbin "baserom.gba", 0x10ADAD, 0x0000006 + +gUnk_0810ADB3:: @ 0810ADB3 + .incbin "baserom.gba", 0x10ADB3, 0x0000021 + +gUnk_0810ADD4:: @ 0810ADD4 + .incbin "baserom.gba", 0x10ADD4, 0x0000021 + +gUnk_0810ADF5:: @ 0810ADF5 + .incbin "baserom.gba", 0x10ADF5, 0x0000021 + +gUnk_0810AE16:: @ 0810AE16 + .incbin "baserom.gba", 0x10AE16, 0x0000021 + +gUnk_0810AE37:: @ 0810AE37 + .incbin "baserom.gba", 0x10AE37, 0x0000021 + +gUnk_0810AE58:: @ 0810AE58 + .incbin "baserom.gba", 0x10AE58, 0x0000024 + +gUnk_0810AE7C:: @ 0810AE7C + .incbin "baserom.gba", 0x10AE7C, 0x0000021 + +gUnk_0810AE9D:: @ 0810AE9D + .incbin "baserom.gba", 0x10AE9D, 0x0000003 + +gUnk_0810AEA0:: @ 0810AEA0 + .incbin "baserom.gba", 0x10AEA0, 0x0000024 + +gUnk_0810AEC4:: @ 0810AEC4 + .incbin "baserom.gba", 0x10AEC4, 0x0000024 + +gUnk_0810AEE8:: @ 0810AEE8 + .incbin "baserom.gba", 0x10AEE8, 0x000001F + +gUnk_0810AF07:: @ 0810AF07 + .incbin "baserom.gba", 0x10AF07, 0x0000012 + +gUnk_0810AF19:: @ 0810AF19 + .incbin "baserom.gba", 0x10AF19, 0x000002B + +gUnk_0810AF44:: @ 0810AF44 + .incbin "baserom.gba", 0x10AF44, 0x0000006 + +gUnk_0810AF4A:: @ 0810AF4A + .incbin "baserom.gba", 0x10AF4A, 0x0000031 + +gUnk_0810AF7B:: @ 0810AF7B + .incbin "baserom.gba", 0x10AF7B, 0x0000031 + +gUnk_0810AFAC:: @ 0810AFAC + .incbin "baserom.gba", 0x10AFAC, 0x0000021 + +gUnk_0810AFCD:: @ 0810AFCD + .incbin "baserom.gba", 0x10AFCD, 0x0000021 + +gUnk_0810AFEE:: @ 0810AFEE + .incbin "baserom.gba", 0x10AFEE, 0x000001A + +gUnk_0810B008:: @ 0810B008 + .incbin "baserom.gba", 0x10B008, 0x0000007 + +gUnk_0810B00F:: @ 0810B00F + .incbin "baserom.gba", 0x10B00F, 0x0000021 + +gUnk_0810B030:: @ 0810B030 + .incbin "baserom.gba", 0x10B030, 0x000000C + +gUnk_0810B03C:: @ 0810B03C + .incbin "baserom.gba", 0x10B03C, 0x000000C + +gUnk_0810B048:: @ 0810B048 + .incbin "baserom.gba", 0x10B048, 0x000000C + +gUnk_0810B054:: @ 0810B054 + .incbin "baserom.gba", 0x10B054, 0x000000C + +gUnk_0810B060:: @ 0810B060 + .incbin "baserom.gba", 0x10B060, 0x0000011 + +gUnk_0810B071:: @ 0810B071 + .incbin "baserom.gba", 0x10B071, 0x0000011 + +gUnk_0810B082:: @ 0810B082 + .incbin "baserom.gba", 0x10B082, 0x0000011 + +gUnk_0810B093:: @ 0810B093 + .incbin "baserom.gba", 0x10B093, 0x0000011 + +gUnk_0810B0A4:: @ 0810B0A4 + .incbin "baserom.gba", 0x10B0A4, 0x0000011 + +gUnk_0810B0B5:: @ 0810B0B5 + .incbin "baserom.gba", 0x10B0B5, 0x0000011 + +gUnk_0810B0C6:: @ 0810B0C6 + .incbin "baserom.gba", 0x10B0C6, 0x0000011 + +gUnk_0810B0D7:: @ 0810B0D7 + .incbin "baserom.gba", 0x10B0D7, 0x0000011 + +gUnk_0810B0E8:: @ 0810B0E8 + .incbin "baserom.gba", 0x10B0E8, 0x0000011 + +gUnk_0810B0F9:: @ 0810B0F9 + .incbin "baserom.gba", 0x10B0F9, 0x0000011 + +gUnk_0810B10A:: @ 0810B10A + .incbin "baserom.gba", 0x10B10A, 0x0000011 + +gUnk_0810B11B:: @ 0810B11B + .incbin "baserom.gba", 0x10B11B, 0x0000011 + +gUnk_0810B12C:: @ 0810B12C + .incbin "baserom.gba", 0x10B12C, 0x0000011 + +gUnk_0810B13D:: @ 0810B13D + .incbin "baserom.gba", 0x10B13D, 0x0000011 + +gUnk_0810B14E:: @ 0810B14E + .incbin "baserom.gba", 0x10B14E, 0x0000011 + +gUnk_0810B15F:: @ 0810B15F + .incbin "baserom.gba", 0x10B15F, 0x0000011 + +gUnk_0810B170:: @ 0810B170 + .incbin "baserom.gba", 0x10B170, 0x000001C + +gUnk_0810B18C:: @ 0810B18C + .incbin "baserom.gba", 0x10B18C, 0x000001C + +gUnk_0810B1A8:: @ 0810B1A8 + .incbin "baserom.gba", 0x10B1A8, 0x0000009 + +gUnk_0810B1B1:: @ 0810B1B1 + .incbin "baserom.gba", 0x10B1B1, 0x0000013 + +gUnk_0810B1C4:: @ 0810B1C4 + .incbin "baserom.gba", 0x10B1C4, 0x000001C + +gUnk_0810B1E0:: @ 0810B1E0 + .incbin "baserom.gba", 0x10B1E0, 0x000001C + +gUnk_0810B1FC:: @ 0810B1FC + .incbin "baserom.gba", 0x10B1FC, 0x000001C + +gUnk_0810B218:: @ 0810B218 + .incbin "baserom.gba", 0x10B218, 0x000001C + +gUnk_0810B234:: @ 0810B234 + .incbin "baserom.gba", 0x10B234, 0x000001C + +gUnk_0810B250:: @ 0810B250 + .incbin "baserom.gba", 0x10B250, 0x0000030 + +gUnk_0810B280:: @ 0810B280 + .incbin "baserom.gba", 0x10B280, 0x0000030 + +gUnk_0810B2B0:: @ 0810B2B0 + .incbin "baserom.gba", 0x10B2B0, 0x0000030 + +gUnk_0810B2E0:: @ 0810B2E0 + .incbin "baserom.gba", 0x10B2E0, 0x0000030 + +gUnk_0810B310:: @ 0810B310 + .incbin "baserom.gba", 0x10B310, 0x0000030 + +gUnk_0810B340:: @ 0810B340 + .incbin "baserom.gba", 0x10B340, 0x0000030 + +gUnk_0810B370:: @ 0810B370 + .incbin "baserom.gba", 0x10B370, 0x0000030 + +gUnk_0810B3A0:: @ 0810B3A0 + .incbin "baserom.gba", 0x10B3A0, 0x0000022 + +gUnk_0810B3C2:: @ 0810B3C2 + .incbin "baserom.gba", 0x10B3C2, 0x000000E + +gUnk_0810B3D0:: @ 0810B3D0 + .incbin "baserom.gba", 0x10B3D0, 0x0000028 + +gUnk_0810B3F8:: @ 0810B3F8 + .incbin "baserom.gba", 0x10B3F8, 0x000000F + +gUnk_0810B407:: @ 0810B407 + .incbin "baserom.gba", 0x10B407, 0x0000019 + +gUnk_0810B420:: @ 0810B420 + .incbin "baserom.gba", 0x10B420, 0x0000028 + +gUnk_0810B448:: @ 0810B448 + .incbin "baserom.gba", 0x10B448, 0x0000028 + +gUnk_0810B470:: @ 0810B470 + .incbin "baserom.gba", 0x10B470, 0x0000019 + +gUnk_0810B489:: @ 0810B489 + .incbin "baserom.gba", 0x10B489, 0x0000005 + +gUnk_0810B48E:: @ 0810B48E + .incbin "baserom.gba", 0x10B48E, 0x0000019 + +gUnk_0810B4A7:: @ 0810B4A7 + .incbin "baserom.gba", 0x10B4A7, 0x0000035 + +gUnk_0810B4DC:: @ 0810B4DC + .incbin "baserom.gba", 0x10B4DC, 0x0000010 + +gUnk_0810B4EC:: @ 0810B4EC + .incbin "baserom.gba", 0x10B4EC, 0x0000164 + +gUnk_0810B650:: @ 0810B650 + .incbin "baserom.gba", 0x10B650, 0x0000002 + +gUnk_0810B652:: @ 0810B652 + .incbin "baserom.gba", 0x10B652, 0x0000002 + +gUnk_0810B654:: @ 0810B654 + .incbin "baserom.gba", 0x10B654, 0x0000002 + +gUnk_0810B656:: @ 0810B656 + .incbin "baserom.gba", 0x10B656, 0x0000002 + +gUnk_0810B658:: @ 0810B658 + .incbin "baserom.gba", 0x10B658, 0x0000002 + +gUnk_0810B65A:: @ 0810B65A + .incbin "baserom.gba", 0x10B65A, 0x0000002 + +gUnk_0810B65C:: @ 0810B65C + .incbin "baserom.gba", 0x10B65C, 0x0000002 + +gUnk_0810B65E:: @ 0810B65E + .incbin "baserom.gba", 0x10B65E, 0x0000002 + +gUnk_0810B660:: @ 0810B660 + .incbin "baserom.gba", 0x10B660, 0x0000020 + +gUnk_0810B680:: @ 0810B680 + .incbin "baserom.gba", 0x10B680, 0x000002A + +gUnk_0810B6AA:: @ 0810B6AA + .incbin "baserom.gba", 0x10B6AA, 0x0000009 + +gUnk_0810B6B3:: @ 0810B6B3 + .incbin "baserom.gba", 0x10B6B3, 0x0000021 + +gUnk_0810B6D4:: @ 0810B6D4 + .incbin "baserom.gba", 0x10B6D4, 0x000000C + +gUnk_0810B6E0:: @ 0810B6E0 + .incbin "baserom.gba", 0x10B6E0, 0x000000C + +gUnk_0810B6EC:: @ 0810B6EC + .incbin "baserom.gba", 0x10B6EC, 0x0000054 + +gUnk_0810B740:: @ 0810B740 + .incbin "baserom.gba", 0x10B740, 0x0000008 + +gUnk_0810B748:: @ 0810B748 + .incbin "baserom.gba", 0x10B748, 0x0000002 + +gUnk_0810B74A:: @ 0810B74A + .incbin "baserom.gba", 0x10B74A, 0x0000018 + +gUnk_0810B762:: @ 0810B762 + .incbin "baserom.gba", 0x10B762, 0x0000012 + +gUnk_0810B774:: @ 0810B774 + .incbin "baserom.gba", 0x10B774, 0x0000008 + +gUnk_0810B77C:: @ 0810B77C + .incbin "baserom.gba", 0x10B77C, 0x0000010 + +gUnk_0810B78C:: @ 0810B78C + .incbin "baserom.gba", 0x10B78C, 0x0000004 + +gUnk_0810B790:: @ 0810B790 + .incbin "baserom.gba", 0x10B790, 0x000001C + +gUnk_0810B7AC:: @ 0810B7AC + .incbin "baserom.gba", 0x10B7AC, 0x000000E + +gUnk_0810B7BA:: @ 0810B7BA + .incbin "baserom.gba", 0x10B7BA, 0x0000006 + +gUnk_0810B7C0:: @ 0810B7C0 + .incbin "baserom.gba", 0x10B7C0, 0x000012B + +gUnk_0810B8EB:: @ 0810B8EB + .incbin "baserom.gba", 0x10B8EB, 0x0000037 + +gUnk_0810B922:: @ 0810B922 + .incbin "baserom.gba", 0x10B922, 0x0000049 + +gUnk_0810B96B:: @ 0810B96B + .incbin "baserom.gba", 0x10B96B, 0x0000065 + +gUnk_0810B9D0:: @ 0810B9D0 + .incbin "baserom.gba", 0x10B9D0, 0x0000031 + +gUnk_0810BA01:: @ 0810BA01 + .incbin "baserom.gba", 0x10BA01, 0x0000117 + +gUnk_0810BB18:: @ 0810BB18 + .incbin "baserom.gba", 0x10BB18, 0x0000059 + +gUnk_0810BB71:: @ 0810BB71 + .incbin "baserom.gba", 0x10BB71, 0x000005B + +gUnk_0810BBCC:: @ 0810BBCC + .incbin "baserom.gba", 0x10BBCC, 0x000009C + +gUnk_0810BC68:: @ 0810BC68 + .incbin "baserom.gba", 0x10BC68, 0x0000098 + +gUnk_0810BD00:: @ 0810BD00 + .incbin "baserom.gba", 0x10BD00, 0x0000005 + +gUnk_0810BD05:: @ 0810BD05 + .incbin "baserom.gba", 0x10BD05, 0x0000005 + +gUnk_0810BD0A:: @ 0810BD0A + .incbin "baserom.gba", 0x10BD0A, 0x0000005 + +gUnk_0810BD0F:: @ 0810BD0F + .incbin "baserom.gba", 0x10BD0F, 0x0000005 + +gUnk_0810BD14:: @ 0810BD14 + .incbin "baserom.gba", 0x10BD14, 0x0000011 + +gUnk_0810BD25:: @ 0810BD25 + .incbin "baserom.gba", 0x10BD25, 0x0000011 + +gUnk_0810BD36:: @ 0810BD36 + .incbin "baserom.gba", 0x10BD36, 0x0000011 + +gUnk_0810BD47:: @ 0810BD47 + .incbin "baserom.gba", 0x10BD47, 0x0000011 + +gUnk_0810BD58:: @ 0810BD58 + .incbin "baserom.gba", 0x10BD58, 0x0000016 + +gUnk_0810BD6E:: @ 0810BD6E + .incbin "baserom.gba", 0x10BD6E, 0x000000E + +gUnk_0810BD7C:: @ 0810BD7C + .incbin "baserom.gba", 0x10BD7C, 0x0000010 + +gUnk_0810BD8C:: @ 0810BD8C + .incbin "baserom.gba", 0x10BD8C, 0x0000010 + +gUnk_0810BD9C:: @ 0810BD9C + .incbin "baserom.gba", 0x10BD9C, 0x0000010 + +gUnk_0810BDAC:: @ 0810BDAC + .incbin "baserom.gba", 0x10BDAC, 0x000000C + +gUnk_0810BDB8:: @ 0810BDB8 + .incbin "baserom.gba", 0x10BDB8, 0x000000C + +gUnk_0810BDC4:: @ 0810BDC4 + .incbin "baserom.gba", 0x10BDC4, 0x0000024 + +gUnk_0810BDE8:: @ 0810BDE8 + .incbin "baserom.gba", 0x10BDE8, 0x0000024 + +gUnk_0810BE0C:: @ 0810BE0C + .incbin "baserom.gba", 0x10BE0C, 0x0000003 + +gUnk_0810BE0F:: @ 0810BE0F + .incbin "baserom.gba", 0x10BE0F, 0x0000001 + +gUnk_0810BE10:: @ 0810BE10 + .incbin "baserom.gba", 0x10BE10, 0x0000031 + +gUnk_0810BE41:: @ 0810BE41 + .incbin "baserom.gba", 0x10BE41, 0x00000C2 + +gUnk_0810BF03:: @ 0810BF03 + .incbin "baserom.gba", 0x10BF03, 0x0000104 + +gUnk_0810C007:: @ 0810C007 + .incbin "baserom.gba", 0x10C007, 0x0000008 + +gUnk_0810C00F:: @ 0810C00F + .incbin "baserom.gba", 0x10C00F, 0x0000091 + +gUnk_0810C0A0:: @ 0810C0A0 + .incbin "baserom.gba", 0x10C0A0, 0x0000024 + +gUnk_0810C0C4:: @ 0810C0C4 + .incbin "baserom.gba", 0x10C0C4, 0x0000005 + +gUnk_0810C0C9:: @ 0810C0C9 + .incbin "baserom.gba", 0x10C0C9, 0x0000005 + +gUnk_0810C0CE:: @ 0810C0CE + .incbin "baserom.gba", 0x10C0CE, 0x0000005 + +gUnk_0810C0D3:: @ 0810C0D3 + .incbin "baserom.gba", 0x10C0D3, 0x0000005 + +gUnk_0810C0D8:: @ 0810C0D8 + .incbin "baserom.gba", 0x10C0D8, 0x0000011 + +gUnk_0810C0E9:: @ 0810C0E9 + .incbin "baserom.gba", 0x10C0E9, 0x0000011 + +gUnk_0810C0FA:: @ 0810C0FA + .incbin "baserom.gba", 0x10C0FA, 0x0000011 + +gUnk_0810C10B:: @ 0810C10B + .incbin "baserom.gba", 0x10C10B, 0x0000011 + +gUnk_0810C11C:: @ 0810C11C + .incbin "baserom.gba", 0x10C11C, 0x0000019 + +gUnk_0810C135:: @ 0810C135 + .incbin "baserom.gba", 0x10C135, 0x0000019 + +gUnk_0810C14E:: @ 0810C14E + .incbin "baserom.gba", 0x10C14E, 0x0000019 + +gUnk_0810C167:: @ 0810C167 + .incbin "baserom.gba", 0x10C167, 0x0000019 + +gUnk_0810C180:: @ 0810C180 + .incbin "baserom.gba", 0x10C180, 0x0000019 + +gUnk_0810C199:: @ 0810C199 + .incbin "baserom.gba", 0x10C199, 0x000000D + +gUnk_0810C1A6:: @ 0810C1A6 + .incbin "baserom.gba", 0x10C1A6, 0x0000018 + +gUnk_0810C1BE:: @ 0810C1BE + .incbin "baserom.gba", 0x10C1BE, 0x000000F + +gUnk_0810C1CD:: @ 0810C1CD + .incbin "baserom.gba", 0x10C1CD, 0x000000A + +gUnk_0810C1D7:: @ 0810C1D7 + .incbin "baserom.gba", 0x10C1D7, 0x0000005 + +gUnk_0810C1DC:: @ 0810C1DC + .incbin "baserom.gba", 0x10C1DC, 0x0000008 + +gUnk_0810C1E4:: @ 0810C1E4 + .incbin "baserom.gba", 0x10C1E4, 0x0000021 + +gUnk_0810C205:: @ 0810C205 + .incbin "baserom.gba", 0x10C205, 0x0000001 + +gUnk_0810C206:: @ 0810C206 + .incbin "baserom.gba", 0x10C206, 0x0000062 + +gUnk_0810C268:: @ 0810C268 + .incbin "baserom.gba", 0x10C268, 0x0000008 + +gUnk_0810C270:: @ 0810C270 + .incbin "baserom.gba", 0x10C270, 0x0000005 + +gUnk_0810C275:: @ 0810C275 + .incbin "baserom.gba", 0x10C275, 0x0000005 + +gUnk_0810C27A:: @ 0810C27A + .incbin "baserom.gba", 0x10C27A, 0x0000016 + +gUnk_0810C290:: @ 0810C290 + .incbin "baserom.gba", 0x10C290, 0x0000010 + +gUnk_0810C2A0:: @ 0810C2A0 + .incbin "baserom.gba", 0x10C2A0, 0x0000005 + +gUnk_0810C2A5:: @ 0810C2A5 + .incbin "baserom.gba", 0x10C2A5, 0x000000D + +gUnk_0810C2B2:: @ 0810C2B2 + .incbin "baserom.gba", 0x10C2B2, 0x000001A + +gStampBehaviors1:: @ 0810C2CC + .incbin "baserom.gba", 0x10C2CC, 0x0000010 + +gStampBehaviors2:: @ 0810C2DC + .incbin "baserom.gba", 0x10C2DC, 0x0000008 + +gUnk_0810C2E4:: @ 0810C2E4 + .incbin "baserom.gba", 0x10C2E4, 0x0000010 + +gUnk_0810C2F4:: @ 0810C2F4 + .incbin "baserom.gba", 0x10C2F4, 0x0000031 + +gUnk_0810C325:: @ 0810C325 + .incbin "baserom.gba", 0x10C325, 0x0000007 + +gUnk_0810C32C:: @ 0810C32C + .incbin "baserom.gba", 0x10C32C, 0x0000020 + +gUnk_0810C34C:: @ 0810C34C + .incbin "baserom.gba", 0x10C34C, 0x0000014 + +gUnk_0810C360:: @ 0810C360 + .incbin "baserom.gba", 0x10C360, 0x0000005 + +gUnk_0810C365:: @ 0810C365 + .incbin "baserom.gba", 0x10C365, 0x000001D + +gUnk_0810C382:: @ 0810C382 + .incbin "baserom.gba", 0x10C382, 0x000000E + +gUnk_0810C390:: @ 0810C390 + .incbin "baserom.gba", 0x10C390, 0x000000A + +gUnk_0810C39A:: @ 0810C39A + .incbin "baserom.gba", 0x10C39A, 0x0000026 + +gUnk_0810C3C0:: @ 0810C3C0 + .incbin "baserom.gba", 0x10C3C0, 0x0000008 + +gUnk_0810C3C8:: @ 0810C3C8 + .incbin "baserom.gba", 0x10C3C8, 0x0000019 + +gUnk_0810C3E1:: @ 0810C3E1 + .incbin "baserom.gba", 0x10C3E1, 0x0000011 + +gUnk_0810C3F2:: @ 0810C3F2 + .incbin "baserom.gba", 0x10C3F2, 0x0000011 + +gUnk_0810C403:: @ 0810C403 + .incbin "baserom.gba", 0x10C403, 0x0000011 + +gUnk_0810C414:: @ 0810C414 + .incbin "baserom.gba", 0x10C414, 0x0000001 + +gUnk_0810C415:: @ 0810C415 + .incbin "baserom.gba", 0x10C415, 0x0000013 + +gUnk_0810C428:: @ 0810C428 + .incbin "baserom.gba", 0x10C428, 0x0000008 + +gUnk_0810C430:: @ 0810C430 + .incbin "baserom.gba", 0x10C430, 0x0000005 + +gUnk_0810C435:: @ 0810C435 + .incbin "baserom.gba", 0x10C435, 0x0000008 + +gUnk_0810C43D:: @ 0810C43D + .incbin "baserom.gba", 0x10C43D, 0x0000008 + +gUnk_0810C445:: @ 0810C445 + .incbin "baserom.gba", 0x10C445, 0x0000005 + +gUnk_0810C44A:: @ 0810C44A + .incbin "baserom.gba", 0x10C44A, 0x000001E + +gUnk_0810C468:: @ 0810C468 + .incbin "baserom.gba", 0x10C468, 0x0000024 + +gUnk_0810C48C:: @ 0810C48C + .incbin "baserom.gba", 0x10C48C, 0x000000C + +gUnk_0810C498:: @ 0810C498 + .incbin "baserom.gba", 0x10C498, 0x0000008 + +gUnk_0810C4A0:: @ 0810C4A0 + .incbin "baserom.gba", 0x10C4A0, 0x0000005 + +gUnk_0810C4A5:: @ 0810C4A5 + .incbin "baserom.gba", 0x10C4A5, 0x0000005 + +gUnk_0810C4AA:: @ 0810C4AA + .incbin "baserom.gba", 0x10C4AA, 0x0000005 + +gUnk_0810C4AF:: @ 0810C4AF + .incbin "baserom.gba", 0x10C4AF, 0x0000005 + +gUnk_0810C4B4:: @ 0810C4B4 + .incbin "baserom.gba", 0x10C4B4, 0x0000015 + +gUnk_0810C4C9:: @ 0810C4C9 + .incbin "baserom.gba", 0x10C4C9, 0x0000015 + +gUnk_0810C4DE:: @ 0810C4DE + .incbin "baserom.gba", 0x10C4DE, 0x00000D1 + +gUnk_0810C5AF:: @ 0810C5AF + .incbin "baserom.gba", 0x10C5AF, 0x000000C + +gUnk_0810C5BB:: @ 0810C5BB + .incbin "baserom.gba", 0x10C5BB, 0x0000008 + +gUnk_0810C5C3:: @ 0810C5C3 + .incbin "baserom.gba", 0x10C5C3, 0x00000AB + +gUnk_0810C66E:: @ 0810C66E + .incbin "baserom.gba", 0x10C66E, 0x000001E + +gUnk_0810C68C:: @ 0810C68C + .incbin "baserom.gba", 0x10C68C, 0x000000C + +gUnk_0810C698:: @ 0810C698 + .incbin "baserom.gba", 0x10C698, 0x000004D + +gUnk_0810C6E5:: @ 0810C6E5 + .incbin "baserom.gba", 0x10C6E5, 0x000008D + +gUnk_0810C772:: @ 0810C772 + .incbin "baserom.gba", 0x10C772, 0x0000003 + +gUnk_0810C775:: @ 0810C775 + .incbin "baserom.gba", 0x10C775, 0x000000A + +gUnk_0810C77F:: @ 0810C77F + .incbin "baserom.gba", 0x10C77F, 0x000002D + +gUnk_0810C7AC:: @ 0810C7AC + .incbin "baserom.gba", 0x10C7AC, 0x0000008 + +gUnk_0810C7B4:: @ 0810C7B4 + .incbin "baserom.gba", 0x10C7B4, 0x000000A + +gUnk_0810C7BE:: @ 0810C7BE + .incbin "baserom.gba", 0x10C7BE, 0x000000B + +gUnk_0810C7C9:: @ 0810C7C9 + .incbin "baserom.gba", 0x10C7C9, 0x000000B + +gUnk_0810C7D4:: @ 0810C7D4 + .incbin "baserom.gba", 0x10C7D4, 0x0000030 + +gMailboxBehaviors:: @ 0810C804 + .incbin "baserom.gba", 0x10C804, 0x0000010 + +gUnk_0810C814:: @ 0810C814 + .incbin "baserom.gba", 0x10C814, 0x0000005 + +gUnk_0810C819:: @ 0810C819 + .incbin "baserom.gba", 0x10C819, 0x0000029 + +gUnk_0810C842:: @ 0810C842 + .incbin "baserom.gba", 0x10C842, 0x0000008 + +gUnk_0810C84A:: @ 0810C84A + .incbin "baserom.gba", 0x10C84A, 0x000001E + +gUnk_0810C868:: @ 0810C868 + .incbin "baserom.gba", 0x10C868, 0x0000024 + +gUnk_0810C88C:: @ 0810C88C + .incbin "baserom.gba", 0x10C88C, 0x0000008 + +gUnk_0810C894:: @ 0810C894 + .incbin "baserom.gba", 0x10C894, 0x0000008 + +gUnk_0810C89C:: @ 0810C89C + .incbin "baserom.gba", 0x10C89C, 0x0000011 + +gUnk_0810C8AD:: @ 0810C8AD + .incbin "baserom.gba", 0x10C8AD, 0x0000027 + +gUnk_0810C8D4:: @ 0810C8D4 + .incbin "baserom.gba", 0x10C8D4, 0x000000C + +gUnk_0810C8E0:: @ 0810C8E0 + .incbin "baserom.gba", 0x10C8E0, 0x0000010 + +gUnk_0810C8F0:: @ 0810C8F0 + .incbin "baserom.gba", 0x10C8F0, 0x0000078 + +gUnk_0810C968:: @ 0810C968 + .incbin "baserom.gba", 0x10C968, 0x000003D + +gUnk_0810C9A5:: @ 0810C9A5 + .incbin "baserom.gba", 0x10C9A5, 0x0000005 + +gUnk_0810C9AA:: @ 0810C9AA + .incbin "baserom.gba", 0x10C9AA, 0x0000005 + +gUnk_0810C9AF:: @ 0810C9AF + .incbin "baserom.gba", 0x10C9AF, 0x0000005 + +gUnk_0810C9B4:: @ 0810C9B4 + .incbin "baserom.gba", 0x10C9B4, 0x000003D + +gUnk_0810C9F1:: @ 0810C9F1 + .incbin "baserom.gba", 0x10C9F1, 0x000003D + +gUnk_0810CA2E:: @ 0810CA2E + .incbin "baserom.gba", 0x10CA2E, 0x000003E + +gUnk_0810CA6C:: @ 0810CA6C + .incbin "baserom.gba", 0x10CA6C, 0x0000034 + +gUnk_0810CAA0:: @ 0810CAA0 + .incbin "baserom.gba", 0x10CAA0, 0x000000C + +gUnk_0810CAAC:: @ 0810CAAC + .incbin "baserom.gba", 0x10CAAC, 0x0000050 + +gUnk_0810CAFC:: @ 0810CAFC + .incbin "baserom.gba", 0x10CAFC, 0x0000049 + +gUnk_0810CB45:: @ 0810CB45 + .incbin "baserom.gba", 0x10CB45, 0x0000005 + +gUnk_0810CB4A:: @ 0810CB4A + .incbin "baserom.gba", 0x10CB4A, 0x0000005 + +gUnk_0810CB4F:: @ 0810CB4F + .incbin "baserom.gba", 0x10CB4F, 0x0000005 + +gUnk_0810CB54:: @ 0810CB54 + .incbin "baserom.gba", 0x10CB54, 0x0000018 + +gUnk_0810CB6C:: @ 0810CB6C + .incbin "baserom.gba", 0x10CB6C, 0x000000C + +gUnk_0810CB78:: @ 0810CB78 + .incbin "baserom.gba", 0x10CB78, 0x0000048 + +gUnk_0810CBC0:: @ 0810CBC0 + .incbin "baserom.gba", 0x10CBC0, 0x000000D + +gUnk_0810CBCD:: @ 0810CBCD + .incbin "baserom.gba", 0x10CBCD, 0x000000B + +gUnk_0810CBD8:: @ 0810CBD8 + .incbin "baserom.gba", 0x10CBD8, 0x000000C + +gUnk_0810CBE4:: @ 0810CBE4 + .incbin "baserom.gba", 0x10CBE4, 0x0000020 + +gUnk_0810CC04:: @ 0810CC04 + .incbin "baserom.gba", 0x10CC04, 0x0000004 + +gUnk_0810CC08:: @ 0810CC08 + .incbin "baserom.gba", 0x10CC08, 0x0000180 + +gUnk_0810CD88:: @ 0810CD88 + .incbin "baserom.gba", 0x10CD88, 0x0000018 + +gUnk_0810CDA0:: @ 0810CDA0 + .incbin "baserom.gba", 0x10CDA0, 0x0000011 + +gUnk_0810CDB1:: @ 0810CDB1 + .incbin "baserom.gba", 0x10CDB1, 0x0000011 + +gUnk_0810CDC2:: @ 0810CDC2 + .incbin "baserom.gba", 0x10CDC2, 0x0000012 + +gUnk_0810CDD4:: @ 0810CDD4 + .incbin "baserom.gba", 0x10CDD4, 0x0000024 + +gUnk_0810CDF8:: @ 0810CDF8 + .incbin "baserom.gba", 0x10CDF8, 0x000000C + +gUnk_0810CE04:: @ 0810CE04 + .incbin "baserom.gba", 0x10CE04, 0x0000050 + +gUnk_0810CE54:: @ 0810CE54 + .incbin "baserom.gba", 0x10CE54, 0x0000013 + +gUnk_0810CE67:: @ 0810CE67 + .incbin "baserom.gba", 0x10CE67, 0x000003A + +gUnk_0810CEA1:: @ 0810CEA1 + .incbin "baserom.gba", 0x10CEA1, 0x000004D + +gUnk_0810CEEE:: @ 0810CEEE + .incbin "baserom.gba", 0x10CEEE, 0x0000021 + +gUnk_0810CF0F:: @ 0810CF0F + .incbin "baserom.gba", 0x10CF0F, 0x0000005 + +gUnk_0810CF14:: @ 0810CF14 + .incbin "baserom.gba", 0x10CF14, 0x0000005 + +gUnk_0810CF19:: @ 0810CF19 + .incbin "baserom.gba", 0x10CF19, 0x0000007 + +gUnk_0810CF20:: @ 0810CF20 + .incbin "baserom.gba", 0x10CF20, 0x000002A + +gUnk_0810CF4A:: @ 0810CF4A + .incbin "baserom.gba", 0x10CF4A, 0x0000002 + +gUnk_0810CF4C:: @ 0810CF4C + .incbin "baserom.gba", 0x10CF4C, 0x000002B + +gUnk_0810CF77:: @ 0810CF77 + .incbin "baserom.gba", 0x10CF77, 0x0000010 + +gUnk_0810CF87:: @ 0810CF87 + .incbin "baserom.gba", 0x10CF87, 0x0000057 + +gUnk_0810CFDE:: @ 0810CFDE + .incbin "baserom.gba", 0x10CFDE, 0x0000039 + +gUnk_0810D017:: @ 0810D017 + .incbin "baserom.gba", 0x10D017, 0x000008D + +gUnk_0810D0A4:: @ 0810D0A4 + .incbin "baserom.gba", 0x10D0A4, 0x0000008 + +gUnk_0810D0AC:: @ 0810D0AC + .incbin "baserom.gba", 0x10D0AC, 0x000001E + +gUnk_0810D0CA:: @ 0810D0CA + .incbin "baserom.gba", 0x10D0CA, 0x0000009 + +gUnk_0810D0D3:: @ 0810D0D3 + .incbin "baserom.gba", 0x10D0D3, 0x0000079 + +gUnk_0810D14C:: @ 0810D14C + .incbin "baserom.gba", 0x10D14C, 0x0000227 + +gUnk_0810D373:: @ 0810D373 + .incbin "baserom.gba", 0x10D373, 0x0000003 + +gUnk_0810D376:: @ 0810D376 + .incbin "baserom.gba", 0x10D376, 0x0000013 + +gUnk_0810D389:: @ 0810D389 + .incbin "baserom.gba", 0x10D389, 0x000003E + +gUnk_0810D3C7:: @ 0810D3C7 + .incbin "baserom.gba", 0x10D3C7, 0x0000040 + +gUnk_0810D407:: @ 0810D407 + .incbin "baserom.gba", 0x10D407, 0x00000C7 + +gUnk_0810D4CE:: @ 0810D4CE + .incbin "baserom.gba", 0x10D4CE, 0x0000007 + +gUnk_0810D4D5:: @ 0810D4D5 + .incbin "baserom.gba", 0x10D4D5, 0x000003C + +gUnk_0810D511:: @ 0810D511 + .incbin "baserom.gba", 0x10D511, 0x0000006 + +gUnk_0810D517:: @ 0810D517 + .incbin "baserom.gba", 0x10D517, 0x0000039 + +gUnk_0810D550:: @ 0810D550 + .incbin "baserom.gba", 0x10D550, 0x0000024 + +gUnk_0810D574:: @ 0810D574 + .incbin "baserom.gba", 0x10D574, 0x000005F + +gUnk_0810D5D3:: @ 0810D5D3 + .incbin "baserom.gba", 0x10D5D3, 0x00000DE + +gUnk_0810D6B1:: @ 0810D6B1 + .incbin "baserom.gba", 0x10D6B1, 0x0000056 + +gUnk_0810D707:: @ 0810D707 + .incbin "baserom.gba", 0x10D707, 0x00000D2 + +gUnk_0810D7D9:: @ 0810D7D9 + .incbin "baserom.gba", 0x10D7D9, 0x000002E + +gUnk_0810D807:: @ 0810D807 + .incbin "baserom.gba", 0x10D807, 0x0000021 + +gUnk_0810D828:: @ 0810D828 + .incbin "baserom.gba", 0x10D828, 0x00000DF + +gUnk_0810D907:: @ 0810D907 + .incbin "baserom.gba", 0x10D907, 0x0000100 + +gUnk_0810DA07:: @ 0810DA07 + .incbin "baserom.gba", 0x10DA07, 0x0000007 + +gUnk_0810DA0E:: @ 0810DA0E + .incbin "baserom.gba", 0x10DA0E, 0x00000B2 + +gUnk_0810DAC0:: @ 0810DAC0 + .incbin "baserom.gba", 0x10DAC0, 0x0000041 + +gUnk_0810DB01:: @ 0810DB01 + .incbin "baserom.gba", 0x10DB01, 0x0000003 + +gUnk_0810DB04:: @ 0810DB04 + .incbin "baserom.gba", 0x10DB04, 0x0000005 + +gUnk_0810DB09:: @ 0810DB09 + .incbin "baserom.gba", 0x10DB09, 0x00000FB + +gUnk_0810DC04:: @ 0810DC04 + .incbin "baserom.gba", 0x10DC04, 0x0000017 + +gUnk_0810DC1B:: @ 0810DC1B + .incbin "baserom.gba", 0x10DC1B, 0x00000C0 + +gUnk_0810DCDB:: @ 0810DCDB + .incbin "baserom.gba", 0x10DCDB, 0x0000001 + +gUnk_0810DCDC:: @ 0810DCDC + .incbin "baserom.gba", 0x10DCDC, 0x000012B + +gUnk_0810DE07:: @ 0810DE07 + .incbin "baserom.gba", 0x10DE07, 0x0000046 + +gUnk_0810DE4D:: @ 0810DE4D + .incbin "baserom.gba", 0x10DE4D, 0x0000293 + +gUnk_0810E0E0:: @ 0810E0E0 + .incbin "baserom.gba", 0x10E0E0, 0x0000011 + +gUnk_0810E0F1:: @ 0810E0F1 + .incbin "baserom.gba", 0x10E0F1, 0x000000C + +gUnk_0810E0FD:: @ 0810E0FD + .incbin "baserom.gba", 0x10E0FD, 0x00000C6 + +gUnk_0810E1C3:: @ 0810E1C3 + .incbin "baserom.gba", 0x10E1C3, 0x000002D + +gUnk_0810E1F0:: @ 0810E1F0 + .incbin "baserom.gba", 0x10E1F0, 0x00000FD + +gUnk_0810E2ED:: @ 0810E2ED + .incbin "baserom.gba", 0x10E2ED, 0x0000116 + +gUnk_0810E403:: @ 0810E403 + .incbin "baserom.gba", 0x10E403, 0x000000A + +gUnk_0810E40D:: @ 0810E40D + .incbin "baserom.gba", 0x10E40D, 0x0000009 + +gUnk_0810E416:: @ 0810E416 + .incbin "baserom.gba", 0x10E416, 0x0000072 + +gUnk_0810E488:: @ 0810E488 + .incbin "baserom.gba", 0x10E488, 0x000008E + +gUnk_0810E516:: @ 0810E516 + .incbin "baserom.gba", 0x10E516, 0x000007B + +gUnk_0810E591:: @ 0810E591 + .incbin "baserom.gba", 0x10E591, 0x000005A + +gUnk_0810E5EB:: @ 0810E5EB + .incbin "baserom.gba", 0x10E5EB, 0x000001C + +gUnk_0810E607:: @ 0810E607 + .incbin "baserom.gba", 0x10E607, 0x00000E1 + +gUnk_0810E6E8:: @ 0810E6E8 + .incbin "baserom.gba", 0x10E6E8, 0x0000021 + +gUnk_0810E709:: @ 0810E709 + .incbin "baserom.gba", 0x10E709, 0x00000DB + +gUnk_0810E7E4:: @ 0810E7E4 + .incbin "baserom.gba", 0x10E7E4, 0x000000B + +gUnk_0810E7EF:: @ 0810E7EF + .incbin "baserom.gba", 0x10E7EF, 0x0000009 + +gUnk_0810E7F8:: @ 0810E7F8 + .incbin "baserom.gba", 0x10E7F8, 0x000000F + +gUnk_0810E807:: @ 0810E807 + .incbin "baserom.gba", 0x10E807, 0x0000001 + +gUnk_0810E808:: @ 0810E808 + .incbin "baserom.gba", 0x10E808, 0x00000F0 + +gUnk_0810E8F8:: @ 0810E8F8 + .incbin "baserom.gba", 0x10E8F8, 0x00000F8 + +gUnk_0810E9F0:: @ 0810E9F0 + .incbin "baserom.gba", 0x10E9F0, 0x0000100 + +gUnk_0810EAF0:: @ 0810EAF0 + .incbin "baserom.gba", 0x10EAF0, 0x000000E + +gUnk_0810EAFE:: @ 0810EAFE + .incbin "baserom.gba", 0x10EAFE, 0x000003E + +gUnk_0810EB3C:: @ 0810EB3C + .incbin "baserom.gba", 0x10EB3C, 0x000001F + +gUnk_0810EB5B:: @ 0810EB5B + .incbin "baserom.gba", 0x10EB5B, 0x0000064 + +gUnk_0810EBBF:: @ 0810EBBF + .incbin "baserom.gba", 0x10EBBF, 0x0000010 + +gUnk_0810EBCF:: @ 0810EBCF + .incbin "baserom.gba", 0x10EBCF, 0x0000010 + +gUnk_0810EBDF:: @ 0810EBDF + .incbin "baserom.gba", 0x10EBDF, 0x0000029 + +gUnk_0810EC08:: @ 0810EC08 + .incbin "baserom.gba", 0x10EC08, 0x00000FC + +gUnk_0810ED04:: @ 0810ED04 + .incbin "baserom.gba", 0x10ED04, 0x0000005 + +gUnk_0810ED09:: @ 0810ED09 + .incbin "baserom.gba", 0x10ED09, 0x00000E0 + +gUnk_0810EDE9:: @ 0810EDE9 + .incbin "baserom.gba", 0x10EDE9, 0x0000008 + +gUnk_0810EDF1:: @ 0810EDF1 + .incbin "baserom.gba", 0x10EDF1, 0x0000036 + +gUnk_0810EE27:: @ 0810EE27 + .incbin "baserom.gba", 0x10EE27, 0x0000056 + +gUnk_0810EE7D:: @ 0810EE7D + .incbin "baserom.gba", 0x10EE7D, 0x0000080 + +gUnk_0810EEFD:: @ 0810EEFD + .incbin "baserom.gba", 0x10EEFD, 0x0000148 + +gUnk_0810F045:: @ 0810F045 + .incbin "baserom.gba", 0x10F045, 0x00000AA + +gUnk_0810F0EF:: @ 0810F0EF + .incbin "baserom.gba", 0x10F0EF, 0x0000001 + +gUnk_0810F0F0:: @ 0810F0F0 + .incbin "baserom.gba", 0x10F0F0, 0x0000208 + +gUnk_0810F2F8:: @ 0810F2F8 + .incbin "baserom.gba", 0x10F2F8, 0x0000006 + +gUnk_0810F2FE:: @ 0810F2FE + .incbin "baserom.gba", 0x10F2FE, 0x0000100 + +gUnk_0810F3FE:: @ 0810F3FE + .incbin "baserom.gba", 0x10F3FE, 0x0000002 + +gUnk_0810F400:: @ 0810F400 + .incbin "baserom.gba", 0x10F400, 0x00000E6 + +gUnk_0810F4E6:: @ 0810F4E6 + .incbin "baserom.gba", 0x10F4E6, 0x000000B + +gUnk_0810F4F1:: @ 0810F4F1 + .incbin "baserom.gba", 0x10F4F1, 0x0000007 + +gUnk_0810F4F8:: @ 0810F4F8 + .incbin "baserom.gba", 0x10F4F8, 0x000002C + +gUnk_0810F524:: @ 0810F524 + .incbin "baserom.gba", 0x10F524, 0x0000020 + +gUnk_0810F544:: @ 0810F544 + .incbin "baserom.gba", 0x10F544, 0x000000C + +gUnk_0810F550:: @ 0810F550 + .incbin "baserom.gba", 0x10F550, 0x0000010 + +gUnk_0810F560:: @ 0810F560 + .incbin "baserom.gba", 0x10F560, 0x000003A + +gUnk_0810F59A:: @ 0810F59A + .incbin "baserom.gba", 0x10F59A, 0x000003A + +gUnk_0810F5D4:: @ 0810F5D4 + .incbin "baserom.gba", 0x10F5D4, 0x000001F + +gUnk_0810F5F3:: @ 0810F5F3 + .incbin "baserom.gba", 0x10F5F3, 0x0000005 + +gUnk_0810F5F8:: @ 0810F5F8 + .incbin "baserom.gba", 0x10F5F8, 0x0000016 + +gUnk_0810F60E:: @ 0810F60E + .incbin "baserom.gba", 0x10F60E, 0x0000005 + +gUnk_0810F613:: @ 0810F613 + .incbin "baserom.gba", 0x10F613, 0x0000007 + +gUnk_0810F61A:: @ 0810F61A + .incbin "baserom.gba", 0x10F61A, 0x000002E + +gUnk_0810F648:: @ 0810F648 + .incbin "baserom.gba", 0x10F648, 0x000003A + +gUnk_0810F682:: @ 0810F682 + .incbin "baserom.gba", 0x10F682, 0x000003A + +gUnk_0810F6BC:: @ 0810F6BC + .incbin "baserom.gba", 0x10F6BC, 0x0000018 + +gUnk_0810F6D4:: @ 0810F6D4 + .incbin "baserom.gba", 0x10F6D4, 0x0000010 + +gUnk_0810F6E4:: @ 0810F6E4 + .incbin "baserom.gba", 0x10F6E4, 0x0000002 + +gUnk_0810F6E6:: @ 0810F6E6 + .incbin "baserom.gba", 0x10F6E6, 0x0000003 + +gUnk_0810F6E9:: @ 0810F6E9 + .incbin "baserom.gba", 0x10F6E9, 0x0000005 + +gUnk_0810F6EE:: @ 0810F6EE + .incbin "baserom.gba", 0x10F6EE, 0x0000001 + +gUnk_0810F6EF:: @ 0810F6EF + .incbin "baserom.gba", 0x10F6EF, 0x0000004 + +gUnk_0810F6F3:: @ 0810F6F3 + .incbin "baserom.gba", 0x10F6F3, 0x0000005 + +gUnk_0810F6F8:: @ 0810F6F8 + .incbin "baserom.gba", 0x10F6F8, 0x0000005 + +gUnk_0810F6FD:: @ 0810F6FD + .incbin "baserom.gba", 0x10F6FD, 0x0000003 + +gUnk_0810F700:: @ 0810F700 + .incbin "baserom.gba", 0x10F700, 0x0000002 + +gUnk_0810F702:: @ 0810F702 + .incbin "baserom.gba", 0x10F702, 0x0000005 + +gUnk_0810F707:: @ 0810F707 + .incbin "baserom.gba", 0x10F707, 0x0000005 + +gUnk_0810F70C:: @ 0810F70C + .incbin "baserom.gba", 0x10F70C, 0x0000011 + +gUnk_0810F71D:: @ 0810F71D + .incbin "baserom.gba", 0x10F71D, 0x0000011 + +gUnk_0810F72E:: @ 0810F72E + .incbin "baserom.gba", 0x10F72E, 0x0000011 + +gUnk_0810F73F:: @ 0810F73F + .incbin "baserom.gba", 0x10F73F, 0x0000011 + +gUnk_0810F750:: @ 0810F750 + .incbin "baserom.gba", 0x10F750, 0x0000011 + +gUnk_0810F761:: @ 0810F761 + .incbin "baserom.gba", 0x10F761, 0x0000011 + +gUnk_0810F772:: @ 0810F772 + .incbin "baserom.gba", 0x10F772, 0x0000011 + +gUnk_0810F783:: @ 0810F783 + .incbin "baserom.gba", 0x10F783, 0x0000011 + +gUnk_0810F794:: @ 0810F794 + .incbin "baserom.gba", 0x10F794, 0x0000005 + +gUnk_0810F799:: @ 0810F799 + .incbin "baserom.gba", 0x10F799, 0x0000025 + +gUnk_0810F7BE:: @ 0810F7BE + .incbin "baserom.gba", 0x10F7BE, 0x0000005 + +gUnk_0810F7C3:: @ 0810F7C3 + .incbin "baserom.gba", 0x10F7C3, 0x0000005 + +gUnk_0810F7C8:: @ 0810F7C8 + .incbin "baserom.gba", 0x10F7C8, 0x0000020 + +gUnk_0810F7E8:: @ 0810F7E8 + .incbin "baserom.gba", 0x10F7E8, 0x0000003 + +gUnk_0810F7EB:: @ 0810F7EB + .incbin "baserom.gba", 0x10F7EB, 0x0000003 + +gUnk_0810F7EE:: @ 0810F7EE + .incbin "baserom.gba", 0x10F7EE, 0x000000A + +gUnk_0810F7F8:: @ 0810F7F8 + .incbin "baserom.gba", 0x10F7F8, 0x0000005 + +gUnk_0810F7FD:: @ 0810F7FD + .incbin "baserom.gba", 0x10F7FD, 0x0000003 + +gUnk_0810F800:: @ 0810F800 + .incbin "baserom.gba", 0x10F800, 0x0000002 + +gUnk_0810F802:: @ 0810F802 + .incbin "baserom.gba", 0x10F802, 0x0000006 + +gUnk_0810F808:: @ 0810F808 + .incbin "baserom.gba", 0x10F808, 0x000000C + +gUnk_0810F814:: @ 0810F814 + .incbin "baserom.gba", 0x10F814, 0x0000060 + +gUnk_0810F874:: @ 0810F874 + .incbin "baserom.gba", 0x10F874, 0x0000018 + +gUnk_0810F88C:: @ 0810F88C + .incbin "baserom.gba", 0x10F88C, 0x0000008 + +gUnk_0810F894:: @ 0810F894 + .incbin "baserom.gba", 0x10F894, 0x0000024 + +gUnk_0810F8B8:: @ 0810F8B8 + .incbin "baserom.gba", 0x10F8B8, 0x0000018 + +gUnk_0810F8D0:: @ 0810F8D0 + .incbin "baserom.gba", 0x10F8D0, 0x0000014 + +gUnk_0810F8E4:: @ 0810F8E4 + .incbin "baserom.gba", 0x10F8E4, 0x0000005 + +gUnk_0810F8E9:: @ 0810F8E9 + .incbin "baserom.gba", 0x10F8E9, 0x0000005 + +gUnk_0810F8EE:: @ 0810F8EE + .incbin "baserom.gba", 0x10F8EE, 0x0000001 + +gUnk_0810F8EF:: @ 0810F8EF + .incbin "baserom.gba", 0x10F8EF, 0x0000004 + +gUnk_0810F8F3:: @ 0810F8F3 + .incbin "baserom.gba", 0x10F8F3, 0x0000001 + +gUnk_0810F8F4:: @ 0810F8F4 + .incbin "baserom.gba", 0x10F8F4, 0x0000004 + +gUnk_0810F8F8:: @ 0810F8F8 + .incbin "baserom.gba", 0x10F8F8, 0x0000001 + +gUnk_0810F8F9:: @ 0810F8F9 + .incbin "baserom.gba", 0x10F8F9, 0x0000010 + +gUnk_0810F909:: @ 0810F909 + .incbin "baserom.gba", 0x10F909, 0x0000011 + +gUnk_0810F91A:: @ 0810F91A + .incbin "baserom.gba", 0x10F91A, 0x0000011 + +gUnk_0810F92B:: @ 0810F92B + .incbin "baserom.gba", 0x10F92B, 0x0000011 + +gUnk_0810F93C:: @ 0810F93C + .incbin "baserom.gba", 0x10F93C, 0x0000008 + +gUnk_0810F944:: @ 0810F944 + .incbin "baserom.gba", 0x10F944, 0x0000028 + +gUnk_0810F96C:: @ 0810F96C + .incbin "baserom.gba", 0x10F96C, 0x0000005 + +gUnk_0810F971:: @ 0810F971 + .incbin "baserom.gba", 0x10F971, 0x0000005 + +gUnk_0810F976:: @ 0810F976 + .incbin "baserom.gba", 0x10F976, 0x0000005 + +gUnk_0810F97B:: @ 0810F97B + .incbin "baserom.gba", 0x10F97B, 0x0000011 + +gUnk_0810F98C:: @ 0810F98C + .incbin "baserom.gba", 0x10F98C, 0x0000024 + +gUnk_0810F9B0:: @ 0810F9B0 + .incbin "baserom.gba", 0x10F9B0, 0x0000005 + +gUnk_0810F9B5:: @ 0810F9B5 + .incbin "baserom.gba", 0x10F9B5, 0x0000005 + +gUnk_0810F9BA:: @ 0810F9BA + .incbin "baserom.gba", 0x10F9BA, 0x0000005 + +gUnk_0810F9BF:: @ 0810F9BF + .incbin "baserom.gba", 0x10F9BF, 0x0000011 + +gUnk_0810F9D0:: @ 0810F9D0 + .incbin "baserom.gba", 0x10F9D0, 0x0000020 + +gUnk_0810F9F0:: @ 0810F9F0 + .incbin "baserom.gba", 0x10F9F0, 0x0000004 + +gUnk_0810F9F4:: @ 0810F9F4 + .incbin "baserom.gba", 0x10F9F4, 0x0000004 + +gUnk_0810F9F8:: @ 0810F9F8 + .incbin "baserom.gba", 0x10F9F8, 0x0000001 + +gUnk_0810F9F9:: @ 0810F9F9 + .incbin "baserom.gba", 0x10F9F9, 0x0000005 + +gUnk_0810F9FE:: @ 0810F9FE + .incbin "baserom.gba", 0x10F9FE, 0x0000002 + +gUnk_0810FA00:: @ 0810FA00 + .incbin "baserom.gba", 0x10FA00, 0x0000003 + +gUnk_0810FA03:: @ 0810FA03 + .incbin "baserom.gba", 0x10FA03, 0x0000011 + +gUnk_0810FA14:: @ 0810FA14 + .incbin "baserom.gba", 0x10FA14, 0x0000018 + +gUnk_0810FA2C:: @ 0810FA2C + .incbin "baserom.gba", 0x10FA2C, 0x000000C + +gUnk_0810FA38:: @ 0810FA38 + .incbin "baserom.gba", 0x10FA38, 0x000000C + +gUnk_0810FA44:: @ 0810FA44 + .incbin "baserom.gba", 0x10FA44, 0x0000010 + +gUnk_0810FA54:: @ 0810FA54 + .incbin "baserom.gba", 0x10FA54, 0x0000006 + +gUnk_0810FA5A:: @ 0810FA5A + .incbin "baserom.gba", 0x10FA5A, 0x0000097 + +gUnk_0810FAF1:: @ 0810FAF1 + .incbin "baserom.gba", 0x10FAF1, 0x0000002 + +gUnk_0810FAF3:: @ 0810FAF3 + .incbin "baserom.gba", 0x10FAF3, 0x0000004 + +gUnk_0810FAF7:: @ 0810FAF7 + .incbin "baserom.gba", 0x10FAF7, 0x000002D + +gUnk_0810FB24:: @ 0810FB24 + .incbin "baserom.gba", 0x10FB24, 0x0000015 + +gUnk_0810FB39:: @ 0810FB39 + .incbin "baserom.gba", 0x10FB39, 0x0000015 + +gUnk_0810FB4E:: @ 0810FB4E + .incbin "baserom.gba", 0x10FB4E, 0x0000015 + +gUnk_0810FB63:: @ 0810FB63 + .incbin "baserom.gba", 0x10FB63, 0x0000015 + +gUnk_0810FB78:: @ 0810FB78 + .incbin "baserom.gba", 0x10FB78, 0x0000005 + +gUnk_0810FB7D:: @ 0810FB7D + .incbin "baserom.gba", 0x10FB7D, 0x0000005 + +gUnk_0810FB82:: @ 0810FB82 + .incbin "baserom.gba", 0x10FB82, 0x0000005 + +gUnk_0810FB87:: @ 0810FB87 + .incbin "baserom.gba", 0x10FB87, 0x0000005 + +gUnk_0810FB8C:: @ 0810FB8C + .incbin "baserom.gba", 0x10FB8C, 0x0000021 + +gUnk_0810FBAD:: @ 0810FBAD + .incbin "baserom.gba", 0x10FBAD, 0x0000023 + +gUnk_0810FBD0:: @ 0810FBD0 + .incbin "baserom.gba", 0x10FBD0, 0x000001B + +gUnk_0810FBEB:: @ 0810FBEB + .incbin "baserom.gba", 0x10FBEB, 0x000000E + +gUnk_0810FBF9:: @ 0810FBF9 + .incbin "baserom.gba", 0x10FBF9, 0x0000003 + +gUnk_0810FBFC:: @ 0810FBFC + .incbin "baserom.gba", 0x10FBFC, 0x000000C + +gUnk_0810FC08:: @ 0810FC08 + .incbin "baserom.gba", 0x10FC08, 0x0000048 + +gUnk_0810FC50:: @ 0810FC50 + .incbin "baserom.gba", 0x10FC50, 0x0000004 + +gUnk_0810FC54:: @ 0810FC54 + .incbin "baserom.gba", 0x10FC54, 0x000000A + +gUnk_0810FC5E:: @ 0810FC5E + .incbin "baserom.gba", 0x10FC5E, 0x000000A + +gUnk_0810FC68:: @ 0810FC68 + .incbin "baserom.gba", 0x10FC68, 0x0000045 + +gUnk_0810FCAD:: @ 0810FCAD + .incbin "baserom.gba", 0x10FCAD, 0x0000021 + +gUnk_0810FCCE:: @ 0810FCCE + .incbin "baserom.gba", 0x10FCCE, 0x0000026 + +gUnk_0810FCF4:: @ 0810FCF4 + .incbin "baserom.gba", 0x10FCF4, 0x0000022 + +gUnk_0810FD16:: @ 0810FD16 + .incbin "baserom.gba", 0x10FD16, 0x0000056 + +gUnk_0810FD6C:: @ 0810FD6C + .incbin "baserom.gba", 0x10FD6C, 0x0000034 + +gUnk_0810FDA0:: @ 0810FDA0 + .incbin "baserom.gba", 0x10FDA0, 0x0000004 + +gUnk_0810FDA4:: @ 0810FDA4 + .incbin "baserom.gba", 0x10FDA4, 0x0000014 + +gUnk_0810FDB8:: @ 0810FDB8 + .incbin "baserom.gba", 0x10FDB8, 0x0000010 + +gUnk_0810FDC8:: @ 0810FDC8 + .incbin "baserom.gba", 0x10FDC8, 0x0000020 + +gUnk_0810FDE8:: @ 0810FDE8 + .incbin "baserom.gba", 0x10FDE8, 0x0000005 + +gUnk_0810FDED:: @ 0810FDED + .incbin "baserom.gba", 0x10FDED, 0x0000005 + +gUnk_0810FDF2:: @ 0810FDF2 + .incbin "baserom.gba", 0x10FDF2, 0x0000005 + +gUnk_0810FDF7:: @ 0810FDF7 + .incbin "baserom.gba", 0x10FDF7, 0x000000C + +gUnk_0810FE03:: @ 0810FE03 + .incbin "baserom.gba", 0x10FE03, 0x0000005 + +gUnk_0810FE08:: @ 0810FE08 + .incbin "baserom.gba", 0x10FE08, 0x0000017 + +gUnk_0810FE1F:: @ 0810FE1F + .incbin "baserom.gba", 0x10FE1F, 0x0000049 + +gUnk_0810FE68:: @ 0810FE68 + .incbin "baserom.gba", 0x10FE68, 0x0000028 + +gUnk_0810FE90:: @ 0810FE90 + .incbin "baserom.gba", 0x10FE90, 0x0000020 + +gUnk_0810FEB0:: @ 0810FEB0 + .incbin "baserom.gba", 0x10FEB0, 0x000000C + +gUnk_0810FEBC:: @ 0810FEBC + .incbin "baserom.gba", 0x10FEBC, 0x0000008 + +gUnk_0810FEC4:: @ 0810FEC4 + .incbin "baserom.gba", 0x10FEC4, 0x0000014 + +gUnk_0810FED8:: @ 0810FED8 + .incbin "baserom.gba", 0x10FED8, 0x0000008 + +gUnk_0810FEE0:: @ 0810FEE0 + .incbin "baserom.gba", 0x10FEE0, 0x0000005 + +gUnk_0810FEE5:: @ 0810FEE5 + .incbin "baserom.gba", 0x10FEE5, 0x0000005 + +gUnk_0810FEEA:: @ 0810FEEA + .incbin "baserom.gba", 0x10FEEA, 0x0000005 + +gUnk_0810FEEF:: @ 0810FEEF + .incbin "baserom.gba", 0x10FEEF, 0x0000002 + +gUnk_0810FEF1:: @ 0810FEF1 + .incbin "baserom.gba", 0x10FEF1, 0x0000003 + +gUnk_0810FEF4:: @ 0810FEF4 + .incbin "baserom.gba", 0x10FEF4, 0x0000001 + +gUnk_0810FEF5:: @ 0810FEF5 + .incbin "baserom.gba", 0x10FEF5, 0x0000003 + +gUnk_0810FEF8:: @ 0810FEF8 + .incbin "baserom.gba", 0x10FEF8, 0x000000B + +gUnk_0810FF03:: @ 0810FF03 + .incbin "baserom.gba", 0x10FF03, 0x0000002 + +gUnk_0810FF05:: @ 0810FF05 + .incbin "baserom.gba", 0x10FF05, 0x000000A + +gUnk_0810FF0F:: @ 0810FF0F + .incbin "baserom.gba", 0x10FF0F, 0x0000001 + +gUnk_0810FF10:: @ 0810FF10 + .incbin "baserom.gba", 0x10FF10, 0x0000006 + +gUnk_0810FF16:: @ 0810FF16 + .incbin "baserom.gba", 0x10FF16, 0x0000011 + +gUnk_0810FF27:: @ 0810FF27 + .incbin "baserom.gba", 0x10FF27, 0x0000001 + +gUnk_0810FF28:: @ 0810FF28 + .incbin "baserom.gba", 0x10FF28, 0x0000010 + +gUnk_0810FF38:: @ 0810FF38 + .incbin "baserom.gba", 0x10FF38, 0x0000003 + +gUnk_0810FF3B:: @ 0810FF3B + .incbin "baserom.gba", 0x10FF3B, 0x0000021 + +gUnk_0810FF5C:: @ 0810FF5C + .incbin "baserom.gba", 0x10FF5C, 0x0000008 + +gUnk_0810FF64:: @ 0810FF64 + .incbin "baserom.gba", 0x10FF64, 0x000000C + +gUnk_0810FF70:: @ 0810FF70 + .incbin "baserom.gba", 0x10FF70, 0x0000005 + +gUnk_0810FF75:: @ 0810FF75 + .incbin "baserom.gba", 0x10FF75, 0x0000005 + +gUnk_0810FF7A:: @ 0810FF7A + .incbin "baserom.gba", 0x10FF7A, 0x0000004 + +gUnk_0810FF7E:: @ 0810FF7E + .incbin "baserom.gba", 0x10FF7E, 0x0000001 + +gUnk_0810FF7F:: @ 0810FF7F + .incbin "baserom.gba", 0x10FF7F, 0x0000005 + +gUnk_0810FF84:: @ 0810FF84 + .incbin "baserom.gba", 0x10FF84, 0x0000021 + +gUnk_0810FFA5:: @ 0810FFA5 + .incbin "baserom.gba", 0x10FFA5, 0x0000011 + +gUnk_0810FFB6:: @ 0810FFB6 + .incbin "baserom.gba", 0x10FFB6, 0x000000B + +gUnk_0810FFC1:: @ 0810FFC1 + .incbin "baserom.gba", 0x10FFC1, 0x0000016 + +gUnk_0810FFD7:: @ 0810FFD7 + .incbin "baserom.gba", 0x10FFD7, 0x000001F + +gUnk_0810FFF6:: @ 0810FFF6 + .incbin "baserom.gba", 0x10FFF6, 0x0000008 + +gUnk_0810FFFE:: @ 0810FFFE + .incbin "baserom.gba", 0x10FFFE, 0x0000002 + +gUnk_08110000:: @ 08110000 + .incbin "baserom.gba", 0x110000, 0x0000007 + +gUnk_08110007:: @ 08110007 + .incbin "baserom.gba", 0x110007, 0x000000D + +gUnk_08110014:: @ 08110014 + .incbin "baserom.gba", 0x110014, 0x0000013 + +gUnk_08110027:: @ 08110027 + .incbin "baserom.gba", 0x110027, 0x0000001 + +gUnk_08110028:: @ 08110028 + .incbin "baserom.gba", 0x110028, 0x0000044 + +gUnk_0811006C:: @ 0811006C + .incbin "baserom.gba", 0x11006C, 0x0000014 + +gUnk_08110080:: @ 08110080 + .incbin "baserom.gba", 0x110080, 0x0000008 + +gUnk_08110088:: @ 08110088 + .incbin "baserom.gba", 0x110088, 0x0000005 + +gUnk_0811008D:: @ 0811008D + .incbin "baserom.gba", 0x11008D, 0x0000005 + +gUnk_08110092:: @ 08110092 + .incbin "baserom.gba", 0x110092, 0x0000005 + +gUnk_08110097:: @ 08110097 + .incbin "baserom.gba", 0x110097, 0x0000021 + +gUnk_081100B8:: @ 081100B8 + .incbin "baserom.gba", 0x1100B8, 0x000002C + +gUnk_081100E4:: @ 081100E4 + .incbin "baserom.gba", 0x1100E4, 0x000002C + +gUnk_08110110:: @ 08110110 + .incbin "baserom.gba", 0x110110, 0x0000008 + +gMilkCartBehaviors:: @ 08110118 + .incbin "baserom.gba", 0x110118, 0x0000008 + +gUnk_08110120:: @ 08110120 + .incbin "baserom.gba", 0x110120, 0x0000005 + +gUnk_08110125:: @ 08110125 + .incbin "baserom.gba", 0x110125, 0x0000013 + +gUnk_08110138:: @ 08110138 + .incbin "baserom.gba", 0x110138, 0x0000009 + +gUnk_08110141:: @ 08110141 + .incbin "baserom.gba", 0x110141, 0x000001B + +gUnk_0811015C:: @ 0811015C + .incbin "baserom.gba", 0x11015C, 0x0000008 + +gUnk_08110164:: @ 08110164 + .incbin "baserom.gba", 0x110164, 0x0000018 + +gUnk_0811017C:: @ 0811017C + .incbin "baserom.gba", 0x11017C, 0x000000C + +gUnk_08110188:: @ 08110188 + .incbin "baserom.gba", 0x110188, 0x0000055 + +gUnk_081101DD:: @ 081101DD + .incbin "baserom.gba", 0x1101DD, 0x000001A + +gUnk_081101F7:: @ 081101F7 + .incbin "baserom.gba", 0x1101F7, 0x0000037 + +gUnk_0811022E:: @ 0811022E + .incbin "baserom.gba", 0x11022E, 0x0000046 + +gUnk_08110274:: @ 08110274 + .incbin "baserom.gba", 0x110274, 0x000000C + +gUnk_08110280:: @ 08110280 + .incbin "baserom.gba", 0x110280, 0x0000080 + +gUnk_08110300:: @ 08110300 + .incbin "baserom.gba", 0x110300, 0x0000011 + +gUnk_08110311:: @ 08110311 + .incbin "baserom.gba", 0x110311, 0x0000011 + +gUnk_08110322:: @ 08110322 + .incbin "baserom.gba", 0x110322, 0x0000011 + +gUnk_08110333:: @ 08110333 + .incbin "baserom.gba", 0x110333, 0x0000009 + +gUnk_0811033C:: @ 0811033C + .incbin "baserom.gba", 0x11033C, 0x0000018 + +gUnk_08110354:: @ 08110354 + .incbin "baserom.gba", 0x110354, 0x000000C + +gUnk_08110360:: @ 08110360 + .incbin "baserom.gba", 0x110360, 0x000000C + +gUnk_0811036C:: @ 0811036C + .incbin "baserom.gba", 0x11036C, 0x0000014 + +gUnk_08110380:: @ 08110380 + .incbin "baserom.gba", 0x110380, 0x0000010 + +gUnk_08110390:: @ 08110390 + .incbin "baserom.gba", 0x110390, 0x0000040 + +gUnk_081103D0:: @ 081103D0 + .incbin "baserom.gba", 0x1103D0, 0x000000B + +gUnk_081103DB:: @ 081103DB + .incbin "baserom.gba", 0x1103DB, 0x0000005 + +gUnk_081103E0:: @ 081103E0 + .incbin "baserom.gba", 0x1103E0, 0x0000004 + +gUnk_081103E4:: @ 081103E4 + .incbin "baserom.gba", 0x1103E4, 0x0000005 + +gUnk_081103E9:: @ 081103E9 + .incbin "baserom.gba", 0x1103E9, 0x0000005 + +gUnk_081103EE:: @ 081103EE + .incbin "baserom.gba", 0x1103EE, 0x0000005 + +gUnk_081103F3:: @ 081103F3 + .incbin "baserom.gba", 0x1103F3, 0x0000005 + +gUnk_081103F8:: @ 081103F8 + .incbin "baserom.gba", 0x1103F8, 0x0000006 + +gUnk_081103FE:: @ 081103FE + .incbin "baserom.gba", 0x1103FE, 0x0000002 + +gUnk_08110400:: @ 08110400 + .incbin "baserom.gba", 0x110400, 0x0000009 + +gUnk_08110409:: @ 08110409 + .incbin "baserom.gba", 0x110409, 0x0000011 + +gUnk_0811041A:: @ 0811041A + .incbin "baserom.gba", 0x11041A, 0x0000011 + +gUnk_0811042B:: @ 0811042B + .incbin "baserom.gba", 0x11042B, 0x0000011 + +gUnk_0811043C:: @ 0811043C + .incbin "baserom.gba", 0x11043C, 0x0000005 + +gUnk_08110441:: @ 08110441 + .incbin "baserom.gba", 0x110441, 0x0000005 + +gUnk_08110446:: @ 08110446 + .incbin "baserom.gba", 0x110446, 0x0000005 + +gUnk_0811044B:: @ 0811044B + .incbin "baserom.gba", 0x11044B, 0x0000029 + +gUnk_08110474:: @ 08110474 + .incbin "baserom.gba", 0x110474, 0x0000005 + +gUnk_08110479:: @ 08110479 + .incbin "baserom.gba", 0x110479, 0x0000005 + +gUnk_0811047E:: @ 0811047E + .incbin "baserom.gba", 0x11047E, 0x0000006 + +gUnk_08110484:: @ 08110484 + .incbin "baserom.gba", 0x110484, 0x0000044 + +gUnk_081104C8:: @ 081104C8 + .incbin "baserom.gba", 0x1104C8, 0x0000018 + +gUnk_081104E0:: @ 081104E0 + .incbin "baserom.gba", 0x1104E0, 0x000000C + +gUnk_081104EC:: @ 081104EC + .incbin "baserom.gba", 0x1104EC, 0x000000C + +gUnk_081104F8:: @ 081104F8 + .incbin "baserom.gba", 0x1104F8, 0x0000008 + +gUnk_08110500:: @ 08110500 + .incbin "baserom.gba", 0x110500, 0x0000005 + +gUnk_08110505:: @ 08110505 + .incbin "baserom.gba", 0x110505, 0x0000005 + +gUnk_0811050A:: @ 0811050A + .incbin "baserom.gba", 0x11050A, 0x0000004 + +gUnk_0811050E:: @ 0811050E + .incbin "baserom.gba", 0x11050E, 0x0000001 + +gUnk_0811050F:: @ 0811050F + .incbin "baserom.gba", 0x11050F, 0x0000005 + +gUnk_08110514:: @ 08110514 + .incbin "baserom.gba", 0x110514, 0x0000021 + +gUnk_08110535:: @ 08110535 + .incbin "baserom.gba", 0x110535, 0x0000021 + +gUnk_08110556:: @ 08110556 + .incbin "baserom.gba", 0x110556, 0x0000021 + +gUnk_08110577:: @ 08110577 + .incbin "baserom.gba", 0x110577, 0x0000009 + +gUnk_08110580:: @ 08110580 + .incbin "baserom.gba", 0x110580, 0x0000018 + +gUnk_08110598:: @ 08110598 + .incbin "baserom.gba", 0x110598, 0x0000011 + +gUnk_081105A9:: @ 081105A9 + .incbin "baserom.gba", 0x1105A9, 0x0000011 + +gUnk_081105BA:: @ 081105BA + .incbin "baserom.gba", 0x1105BA, 0x0000011 + +gUnk_081105CB:: @ 081105CB + .incbin "baserom.gba", 0x1105CB, 0x0000011 + +gUnk_081105DC:: @ 081105DC + .incbin "baserom.gba", 0x1105DC, 0x0000005 + +gUnk_081105E1:: @ 081105E1 + .incbin "baserom.gba", 0x1105E1, 0x0000010 + +gUnk_081105F1:: @ 081105F1 + .incbin "baserom.gba", 0x1105F1, 0x0000017 + +gUnk_08110608:: @ 08110608 + .incbin "baserom.gba", 0x110608, 0x0000004 + +gUnk_0811060C:: @ 0811060C + .incbin "baserom.gba", 0x11060C, 0x0000038 + +gUnk_08110644:: @ 08110644 + .incbin "baserom.gba", 0x110644, 0x000000C + +gUnk_08110650:: @ 08110650 + .incbin "baserom.gba", 0x110650, 0x0000008 + +gUnk_08110658:: @ 08110658 + .incbin "baserom.gba", 0x110658, 0x0000005 + +gUnk_0811065D:: @ 0811065D + .incbin "baserom.gba", 0x11065D, 0x0000005 + +gUnk_08110662:: @ 08110662 + .incbin "baserom.gba", 0x110662, 0x0000005 + +gUnk_08110667:: @ 08110667 + .incbin "baserom.gba", 0x110667, 0x0000005 + +gUnk_0811066C:: @ 0811066C + .incbin "baserom.gba", 0x11066C, 0x0000011 + +gUnk_0811067D:: @ 0811067D + .incbin "baserom.gba", 0x11067D, 0x0000005 + +gUnk_08110682:: @ 08110682 + .incbin "baserom.gba", 0x110682, 0x0000026 + +gUnk_081106A8:: @ 081106A8 + .incbin "baserom.gba", 0x1106A8, 0x000002C + +gUnk_081106D4:: @ 081106D4 + .incbin "baserom.gba", 0x1106D4, 0x000000C + +gUnk_081106E0:: @ 081106E0 + .incbin "baserom.gba", 0x1106E0, 0x0000008 + +gUnk_081106E8:: @ 081106E8 + .incbin "baserom.gba", 0x1106E8, 0x0000005 + +gUnk_081106ED:: @ 081106ED + .incbin "baserom.gba", 0x1106ED, 0x0000011 + +gUnk_081106FE:: @ 081106FE + .incbin "baserom.gba", 0x1106FE, 0x0000012 + +gUnk_08110710:: @ 08110710 + .incbin "baserom.gba", 0x110710, 0x0000024 + +gUnk_08110734:: @ 08110734 + .incbin "baserom.gba", 0x110734, 0x0000008 + +gUnk_0811073C:: @ 0811073C + .incbin "baserom.gba", 0x11073C, 0x0000005 + +gUnk_08110741:: @ 08110741 + .incbin "baserom.gba", 0x110741, 0x0000005 + +gUnk_08110746:: @ 08110746 + .incbin "baserom.gba", 0x110746, 0x0000005 + +gUnk_0811074B:: @ 0811074B + .incbin "baserom.gba", 0x11074B, 0x0000005 + +gUnk_08110750:: @ 08110750 + .incbin "baserom.gba", 0x110750, 0x0000011 + +gUnk_08110761:: @ 08110761 + .incbin "baserom.gba", 0x110761, 0x0000011 + +gUnk_08110772:: @ 08110772 + .incbin "baserom.gba", 0x110772, 0x0000011 + +gUnk_08110783:: @ 08110783 + .incbin "baserom.gba", 0x110783, 0x0000011 + +gUnk_08110794:: @ 08110794 + .incbin "baserom.gba", 0x110794, 0x0000005 + +gUnk_08110799:: @ 08110799 + .incbin "baserom.gba", 0x110799, 0x0000011 + +gUnk_081107AA:: @ 081107AA + .incbin "baserom.gba", 0x1107AA, 0x0000009 + +gUnk_081107B3:: @ 081107B3 + .incbin "baserom.gba", 0x1107B3, 0x0000009 + +gUnk_081107BC:: @ 081107BC + .incbin "baserom.gba", 0x1107BC, 0x0000010 + +gUnk_081107CC:: @ 081107CC + .incbin "baserom.gba", 0x1107CC, 0x000003C + +gUnk_08110808:: @ 08110808 + .incbin "baserom.gba", 0x110808, 0x0000038 + +gUnk_08110840:: @ 08110840 + .incbin "baserom.gba", 0x110840, 0x0000019 + +gUnk_08110859:: @ 08110859 + .incbin "baserom.gba", 0x110859, 0x0000005 + +gUnk_0811085E:: @ 0811085E + .incbin "baserom.gba", 0x11085E, 0x0000019 + +gUnk_08110877:: @ 08110877 + .incbin "baserom.gba", 0x110877, 0x0000005 + +gUnk_0811087C:: @ 0811087C + .incbin "baserom.gba", 0x11087C, 0x000001E + +gUnk_0811089A:: @ 0811089A + .incbin "baserom.gba", 0x11089A, 0x0000019 + +gUnk_081108B3:: @ 081108B3 + .incbin "baserom.gba", 0x1108B3, 0x0000019 + +gUnk_081108CC:: @ 081108CC + .incbin "baserom.gba", 0x1108CC, 0x0000019 + +gUnk_081108E5:: @ 081108E5 + .incbin "baserom.gba", 0x1108E5, 0x000000D + +gUnk_081108F2:: @ 081108F2 + .incbin "baserom.gba", 0x1108F2, 0x000000D + +gUnk_081108FF:: @ 081108FF + .incbin "baserom.gba", 0x1108FF, 0x000000D + +gUnk_0811090C:: @ 0811090C + .incbin "baserom.gba", 0x11090C, 0x000000C + +gUnk_08110918:: @ 08110918 + .incbin "baserom.gba", 0x110918, 0x0000005 + +gUnk_0811091D:: @ 0811091D + .incbin "baserom.gba", 0x11091D, 0x0000005 + +gUnk_08110922:: @ 08110922 + .incbin "baserom.gba", 0x110922, 0x0000005 + +gUnk_08110927:: @ 08110927 + .incbin "baserom.gba", 0x110927, 0x0000005 + +gUnk_0811092C:: @ 0811092C + .incbin "baserom.gba", 0x11092C, 0x0000005 + +gUnk_08110931:: @ 08110931 + .incbin "baserom.gba", 0x110931, 0x00000C1 + +gUnk_081109F2:: @ 081109F2 + .incbin "baserom.gba", 0x1109F2, 0x0000006 + +gUnk_081109F8:: @ 081109F8 + .incbin "baserom.gba", 0x1109F8, 0x00000DF + +gUnk_08110AD7:: @ 08110AD7 + .incbin "baserom.gba", 0x110AD7, 0x0000015 + +gUnk_08110AEC:: @ 08110AEC + .incbin "baserom.gba", 0x110AEC, 0x0000010 + +gUnk_08110AFC:: @ 08110AFC + .incbin "baserom.gba", 0x110AFC, 0x0000008 + +gUnk_08110B04:: @ 08110B04 + .incbin "baserom.gba", 0x110B04, 0x0000001 + +gUnk_08110B05:: @ 08110B05 + .incbin "baserom.gba", 0x110B05, 0x000004B + +gUnk_08110B50:: @ 08110B50 + .incbin "baserom.gba", 0x110B50, 0x0000088 + +gUnk_08110BD8:: @ 08110BD8 + .incbin "baserom.gba", 0x110BD8, 0x0000008 + +gUnk_08110BE0:: @ 08110BE0 + .incbin "baserom.gba", 0x110BE0, 0x000001F + +gUnk_08110BFF:: @ 08110BFF + .incbin "baserom.gba", 0x110BFF, 0x0000001 + +gUnk_08110C00:: @ 08110C00 + .incbin "baserom.gba", 0x110C00, 0x0000003 + +gUnk_08110C03:: @ 08110C03 + .incbin "baserom.gba", 0x110C03, 0x0000009 + +gUnk_08110C0C:: @ 08110C0C + .incbin "baserom.gba", 0x110C0C, 0x0000004 + +gUnk_08110C10:: @ 08110C10 + .incbin "baserom.gba", 0x110C10, 0x0000050 + +gUnk_08110C60:: @ 08110C60 + .incbin "baserom.gba", 0x110C60, 0x0000015 + +gUnk_08110C75:: @ 08110C75 + .incbin "baserom.gba", 0x110C75, 0x0000005 + +gUnk_08110C7A:: @ 08110C7A + .incbin "baserom.gba", 0x110C7A, 0x0000005 + +gUnk_08110C7F:: @ 08110C7F + .incbin "baserom.gba", 0x110C7F, 0x0000005 + +gUnk_08110C84:: @ 08110C84 + .incbin "baserom.gba", 0x110C84, 0x0000024 + +gUnk_08110CA8:: @ 08110CA8 + .incbin "baserom.gba", 0x110CA8, 0x0000040 + +gUnk_08110CE8:: @ 08110CE8 + .incbin "baserom.gba", 0x110CE8, 0x000000A + +gUnk_08110CF2:: @ 08110CF2 + .incbin "baserom.gba", 0x110CF2, 0x000000C + +gUnk_08110CFE:: @ 08110CFE + .incbin "baserom.gba", 0x110CFE, 0x0000002 + +gUnk_08110D00:: @ 08110D00 + .incbin "baserom.gba", 0x110D00, 0x0000002 + +gUnk_08110D02:: @ 08110D02 + .incbin "baserom.gba", 0x110D02, 0x0000006 + +gUnk_08110D08:: @ 08110D08 + .incbin "baserom.gba", 0x110D08, 0x0000025 + +gUnk_08110D2D:: @ 08110D2D + .incbin "baserom.gba", 0x110D2D, 0x0000005 + +gUnk_08110D32:: @ 08110D32 + .incbin "baserom.gba", 0x110D32, 0x0000005 + +gUnk_08110D37:: @ 08110D37 + .incbin "baserom.gba", 0x110D37, 0x0000005 + +gUnk_08110D3C:: @ 08110D3C + .incbin "baserom.gba", 0x110D3C, 0x0000025 + +gUnk_08110D61:: @ 08110D61 + .incbin "baserom.gba", 0x110D61, 0x0000005 + +gUnk_08110D66:: @ 08110D66 + .incbin "baserom.gba", 0x110D66, 0x0000005 + +gUnk_08110D6B:: @ 08110D6B + .incbin "baserom.gba", 0x110D6B, 0x0000005 + +gUnk_08110D70:: @ 08110D70 + .incbin "baserom.gba", 0x110D70, 0x000001D + +gUnk_08110D8D:: @ 08110D8D + .incbin "baserom.gba", 0x110D8D, 0x0000005 + +gUnk_08110D92:: @ 08110D92 + .incbin "baserom.gba", 0x110D92, 0x0000005 + +gUnk_08110D97:: @ 08110D97 + .incbin "baserom.gba", 0x110D97, 0x0000005 + +gUnk_08110D9C:: @ 08110D9C + .incbin "baserom.gba", 0x110D9C, 0x000001D + +gUnk_08110DB9:: @ 08110DB9 + .incbin "baserom.gba", 0x110DB9, 0x0000005 + +gUnk_08110DBE:: @ 08110DBE + .incbin "baserom.gba", 0x110DBE, 0x0000005 + +gUnk_08110DC3:: @ 08110DC3 + .incbin "baserom.gba", 0x110DC3, 0x0000005 + +gUnk_08110DC8:: @ 08110DC8 + .incbin "baserom.gba", 0x110DC8, 0x0000038 + +gUnk_08110E00:: @ 08110E00 + .incbin "baserom.gba", 0x110E00, 0x0000006 + +gUnk_08110E06:: @ 08110E06 + .incbin "baserom.gba", 0x110E06, 0x0000003 + +gUnk_08110E09:: @ 08110E09 + .incbin "baserom.gba", 0x110E09, 0x0000005 + +gUnk_08110E0E:: @ 08110E0E + .incbin "baserom.gba", 0x110E0E, 0x0000002 + +gUnk_08110E10:: @ 08110E10 + .incbin "baserom.gba", 0x110E10, 0x000003C + +gUnk_08110E4C:: @ 08110E4C + .incbin "baserom.gba", 0x110E4C, 0x0000010 + +gUnk_08110E5C:: @ 08110E5C + .incbin "baserom.gba", 0x110E5C, 0x0000008 + +gUnk_08110E64:: @ 08110E64 + .incbin "baserom.gba", 0x110E64, 0x0000004 + +gUnk_08110E68:: @ 08110E68 + .incbin "baserom.gba", 0x110E68, 0x0000010 + +gUnk_08110E78:: @ 08110E78 + .incbin "baserom.gba", 0x110E78, 0x0000012 + +gUnk_08110E8A:: @ 08110E8A + .incbin "baserom.gba", 0x110E8A, 0x000000A + +gUnk_08110E94:: @ 08110E94 + .incbin "baserom.gba", 0x110E94, 0x0000008 + +gUnk_08110E9C:: @ 08110E9C + .incbin "baserom.gba", 0x110E9C, 0x0000005 + +gUnk_08110EA1:: @ 08110EA1 + .incbin "baserom.gba", 0x110EA1, 0x0000005 + +gUnk_08110EA6:: @ 08110EA6 + .incbin "baserom.gba", 0x110EA6, 0x0000006 + +gUnk_08110EAC:: @ 08110EAC + .incbin "baserom.gba", 0x110EAC, 0x0000044 + +gUnk_08110EF0:: @ 08110EF0 + .incbin "baserom.gba", 0x110EF0, 0x0000008 + +gUnk_08110EF8:: @ 08110EF8 + .incbin "baserom.gba", 0x110EF8, 0x0000002 + +gUnk_08110EFA:: @ 08110EFA + .incbin "baserom.gba", 0x110EFA, 0x000000F + +gUnk_08110F09:: @ 08110F09 + .incbin "baserom.gba", 0x110F09, 0x0000001 + +gUnk_08110F0A:: @ 08110F0A + .incbin "baserom.gba", 0x110F0A, 0x0000002 + +gUnk_08110F0C:: @ 08110F0C + .incbin "baserom.gba", 0x110F0C, 0x000000A + +gUnk_08110F16:: @ 08110F16 + .incbin "baserom.gba", 0x110F16, 0x00000EA + +gUnk_08111000:: @ 08111000 + .incbin "baserom.gba", 0x111000, 0x0000003 + +gUnk_08111003:: @ 08111003 + .incbin "baserom.gba", 0x111003, 0x000000A + +gUnk_0811100D:: @ 0811100D + .incbin "baserom.gba", 0x11100D, 0x00000CB + +gCat:: @ 081110D8 + .incbin "baserom.gba", 0x1110D8, 0x0000024 + +gUnk_081110FC:: @ 081110FC + .incbin "baserom.gba", 0x1110FC, 0x0000008 + +gUnk_08111104:: @ 08111104 + .incbin "baserom.gba", 0x111104, 0x0000008 + +gUnk_0811110C:: @ 0811110C + .incbin "baserom.gba", 0x11110C, 0x0000001 + +gUnk_0811110D:: @ 0811110D + .incbin "baserom.gba", 0x11110D, 0x0000001 + +gUnk_0811110E:: @ 0811110E + .incbin "baserom.gba", 0x11110E, 0x0000001 + +gUnk_0811110F:: @ 0811110F + .incbin "baserom.gba", 0x11110F, 0x0000002 + +gUnk_08111111:: @ 08111111 + .incbin "baserom.gba", 0x111111, 0x0000002 + +gUnk_08111113:: @ 08111113 + .incbin "baserom.gba", 0x111113, 0x0000001 + +gUnk_08111114:: @ 08111114 + .incbin "baserom.gba", 0x111114, 0x0000008 + +gUnk_0811111C:: @ 0811111C + .incbin "baserom.gba", 0x11111C, 0x0000008 + +gUnk_08111124:: @ 08111124 + .incbin "baserom.gba", 0x111124, 0x0000008 + +gUnk_0811112C:: @ 0811112C + .incbin "baserom.gba", 0x11112C, 0x0000008 + +gUnk_08111134:: @ 08111134 + .incbin "baserom.gba", 0x111134, 0x0000008 + +gUnk_0811113C:: @ 0811113C + .incbin "baserom.gba", 0x11113C, 0x0000008 + +gUnk_08111144:: @ 08111144 + .incbin "baserom.gba", 0x111144, 0x0000008 + +gUnk_0811114C:: @ 0811114C + .incbin "baserom.gba", 0x11114C, 0x0000008 + +gUnk_08111154:: @ 08111154 + .incbin "baserom.gba", 0x111154, 0x0000017 + +gUnk_0811116B:: @ 0811116B + .incbin "baserom.gba", 0x11116B, 0x0000009 + +gUnk_08111174:: @ 08111174 + .incbin "baserom.gba", 0x111174, 0x000003C + +gUnk_081111B0:: @ 081111B0 + .incbin "baserom.gba", 0x1111B0, 0x0000009 + +gUnk_081111B9:: @ 081111B9 + .incbin "baserom.gba", 0x1111B9, 0x0000003 + +gUnk_081111BC:: @ 081111BC + .incbin "baserom.gba", 0x1111BC, 0x0000006 + +gUnk_081111C2:: @ 081111C2 + .incbin "baserom.gba", 0x1111C2, 0x0000011 + +gUnk_081111D3:: @ 081111D3 + .incbin "baserom.gba", 0x1111D3, 0x0000018 + +gUnk_081111EB:: @ 081111EB + .incbin "baserom.gba", 0x1111EB, 0x0000010 + +gUnk_081111FB:: @ 081111FB + .incbin "baserom.gba", 0x1111FB, 0x0000009 + +gUnk_08111204:: @ 08111204 + .incbin "baserom.gba", 0x111204, 0x000000D + +gUnk_08111211:: @ 08111211 + .incbin "baserom.gba", 0x111211, 0x000000D + +gUnk_0811121E:: @ 0811121E + .incbin "baserom.gba", 0x11121E, 0x000000E + +gUnk_0811122C:: @ 0811122C + .incbin "baserom.gba", 0x11122C, 0x000000C + +gUnk_08111238:: @ 08111238 + .incbin "baserom.gba", 0x111238, 0x0000024 + +gUnk_0811125C:: @ 0811125C + .incbin "baserom.gba", 0x11125C, 0x0000028 + +gUnk_08111284:: @ 08111284 + .incbin "baserom.gba", 0x111284, 0x0000080 + +gUnk_08111304:: @ 08111304 + .incbin "baserom.gba", 0x111304, 0x0000009 + +gUnk_0811130D:: @ 0811130D + .incbin "baserom.gba", 0x11130D, 0x0000001 + +gUnk_0811130E:: @ 0811130E + .incbin "baserom.gba", 0x11130E, 0x0000001 + +gUnk_0811130F:: @ 0811130F + .incbin "baserom.gba", 0x11130F, 0x0000009 + +gUnk_08111318:: @ 08111318 + .incbin "baserom.gba", 0x111318, 0x0000006 + +gUnk_0811131E:: @ 0811131E + .incbin "baserom.gba", 0x11131E, 0x0000025 + +gUnk_08111343:: @ 08111343 + .incbin "baserom.gba", 0x111343, 0x0000015 + +gUnk_08111358:: @ 08111358 + .incbin "baserom.gba", 0x111358, 0x0000010 + +gUnk_08111368:: @ 08111368 + .incbin "baserom.gba", 0x111368, 0x000000C + +gUnk_08111374:: @ 08111374 + .incbin "baserom.gba", 0x111374, 0x0000006 + +gUnk_0811137A:: @ 0811137A + .incbin "baserom.gba", 0x11137A, 0x0000006 + +gUnk_08111380:: @ 08111380 + .incbin "baserom.gba", 0x111380, 0x0000005 + +gUnk_08111385:: @ 08111385 + .incbin "baserom.gba", 0x111385, 0x0000005 + +gUnk_0811138A:: @ 0811138A + .incbin "baserom.gba", 0x11138A, 0x0000005 + +gUnk_0811138F:: @ 0811138F + .incbin "baserom.gba", 0x11138F, 0x0000005 + +gUnk_08111394:: @ 08111394 + .incbin "baserom.gba", 0x111394, 0x0000025 + +gUnk_081113B9:: @ 081113B9 + .incbin "baserom.gba", 0x1113B9, 0x0000025 + +gUnk_081113DE:: @ 081113DE + .incbin "baserom.gba", 0x1113DE, 0x0000021 + +gUnk_081113FF:: @ 081113FF + .incbin "baserom.gba", 0x1113FF, 0x0000008 + +gUnk_08111407:: @ 08111407 + .incbin "baserom.gba", 0x111407, 0x0000005 + +gUnk_0811140C:: @ 0811140C + .incbin "baserom.gba", 0x11140C, 0x0000002 + +gUnk_0811140E:: @ 0811140E + .incbin "baserom.gba", 0x11140E, 0x0000005 + +gUnk_08111413:: @ 08111413 + .incbin "baserom.gba", 0x111413, 0x0000009 + +gUnk_0811141C:: @ 0811141C + .incbin "baserom.gba", 0x11141C, 0x0000008 + +gUnk_08111424:: @ 08111424 + .incbin "baserom.gba", 0x111424, 0x0000025 + +gUnk_08111449:: @ 08111449 + .incbin "baserom.gba", 0x111449, 0x0000071 + +gUnk_081114BA:: @ 081114BA + .incbin "baserom.gba", 0x1114BA, 0x0000029 + +gUnk_081114E3:: @ 081114E3 + .incbin "baserom.gba", 0x1114E3, 0x0000005 + +gUnk_081114E8:: @ 081114E8 + .incbin "baserom.gba", 0x1114E8, 0x0000013 + +gUnk_081114FB:: @ 081114FB + .incbin "baserom.gba", 0x1114FB, 0x0000016 + +gUnk_08111511:: @ 08111511 + .incbin "baserom.gba", 0x111511, 0x0000002 + +gUnk_08111513:: @ 08111513 + .incbin "baserom.gba", 0x111513, 0x0000001 + +gUnk_08111514:: @ 08111514 + .incbin "baserom.gba", 0x111514, 0x0000003 + +gUnk_08111517:: @ 08111517 + .incbin "baserom.gba", 0x111517, 0x0000003 + +gUnk_0811151A:: @ 0811151A + .incbin "baserom.gba", 0x11151A, 0x0000001 + +gUnk_0811151B:: @ 0811151B + .incbin "baserom.gba", 0x11151B, 0x0000001 + +gUnk_0811151C:: @ 0811151C + .incbin "baserom.gba", 0x11151C, 0x0000004 + +gUnk_08111520:: @ 08111520 + .incbin "baserom.gba", 0x111520, 0x0000007 + +gUnk_08111527:: @ 08111527 + .incbin "baserom.gba", 0x111527, 0x0000002 + +gUnk_08111529:: @ 08111529 + .incbin "baserom.gba", 0x111529, 0x0000007 + +gUnk_08111530:: @ 08111530 + .incbin "baserom.gba", 0x111530, 0x0000008 + +gUnk_08111538:: @ 08111538 + .incbin "baserom.gba", 0x111538, 0x0000006 + +gUnk_0811153E:: @ 0811153E + .incbin "baserom.gba", 0x11153E, 0x0000006 + +gUnk_08111544:: @ 08111544 + .incbin "baserom.gba", 0x111544, 0x0000005 + +gUnk_08111549:: @ 08111549 + .incbin "baserom.gba", 0x111549, 0x0000005 + +gUnk_0811154E:: @ 0811154E + .incbin "baserom.gba", 0x11154E, 0x0000005 + +gUnk_08111553:: @ 08111553 + .incbin "baserom.gba", 0x111553, 0x0000039 + +gUnk_0811158C:: @ 0811158C + .incbin "baserom.gba", 0x11158C, 0x0000008 + +gUnk_08111594:: @ 08111594 + .incbin "baserom.gba", 0x111594, 0x000002C + +gUnk_081115C0:: @ 081115C0 + .incbin "baserom.gba", 0x1115C0, 0x0000010 + +gUnk_081115D0:: @ 081115D0 + .incbin "baserom.gba", 0x1115D0, 0x000000C + +gUnk_081115DC:: @ 081115DC + .incbin "baserom.gba", 0x1115DC, 0x0000010 + +gUnk_081115EC:: @ 081115EC + .incbin "baserom.gba", 0x1115EC, 0x0000024 + +gUnk_08111610:: @ 08111610 + .incbin "baserom.gba", 0x111610, 0x0000008 + +gUnk_08111618:: @ 08111618 + .incbin "baserom.gba", 0x111618, 0x0000003 + +gUnk_0811161B:: @ 0811161B + .incbin "baserom.gba", 0x11161B, 0x0000005 + +gUnk_08111620:: @ 08111620 + .incbin "baserom.gba", 0x111620, 0x0000003 + +gUnk_08111623:: @ 08111623 + .incbin "baserom.gba", 0x111623, 0x0000008 + +gUnk_0811162B:: @ 0811162B + .incbin "baserom.gba", 0x11162B, 0x000000D + +gUnk_08111638:: @ 08111638 + .incbin "baserom.gba", 0x111638, 0x000002C + +gUnk_08111664:: @ 08111664 + .incbin "baserom.gba", 0x111664, 0x0000016 + +gUnk_0811167A:: @ 0811167A + .incbin "baserom.gba", 0x11167A, 0x0000016 + +gUnk_08111690:: @ 08111690 + .incbin "baserom.gba", 0x111690, 0x0000016 + +gUnk_081116A6:: @ 081116A6 + .incbin "baserom.gba", 0x1116A6, 0x0000016 + +gUnk_081116BC:: @ 081116BC + .incbin "baserom.gba", 0x1116BC, 0x0000016 + +gUnk_081116D2:: @ 081116D2 + .incbin "baserom.gba", 0x1116D2, 0x0000016 + +gUnk_081116E8:: @ 081116E8 + .incbin "baserom.gba", 0x1116E8, 0x0000016 + +gUnk_081116FE:: @ 081116FE + .incbin "baserom.gba", 0x1116FE, 0x0000016 + +gUnk_08111714:: @ 08111714 + .incbin "baserom.gba", 0x111714, 0x0000003 + +gUnk_08111717:: @ 08111717 + .incbin "baserom.gba", 0x111717, 0x0000001 + +gUnk_08111718:: @ 08111718 + .incbin "baserom.gba", 0x111718, 0x0000001 + +gUnk_08111719:: @ 08111719 + .incbin "baserom.gba", 0x111719, 0x0000001 + +gUnk_0811171A:: @ 0811171A + .incbin "baserom.gba", 0x11171A, 0x0000010 + +gUnk_0811172A:: @ 0811172A + .incbin "baserom.gba", 0x11172A, 0x0000016 + +gUnk_08111740:: @ 08111740 + .incbin "baserom.gba", 0x111740, 0x000002C + +gUnk_0811176C:: @ 0811176C + .incbin "baserom.gba", 0x11176C, 0x0000005 + +gUnk_08111771:: @ 08111771 + .incbin "baserom.gba", 0x111771, 0x0000005 + +gUnk_08111776:: @ 08111776 + .incbin "baserom.gba", 0x111776, 0x0000005 + +gUnk_0811177B:: @ 0811177B + .incbin "baserom.gba", 0x11177B, 0x000004D + +gUnk_081117C8:: @ 081117C8 + .incbin "baserom.gba", 0x1117C8, 0x0000031 + +gUnk_081117F9:: @ 081117F9 + .incbin "baserom.gba", 0x1117F9, 0x000001E + +gUnk_08111817:: @ 08111817 + .incbin "baserom.gba", 0x111817, 0x0000002 + +gUnk_08111819:: @ 08111819 + .incbin "baserom.gba", 0x111819, 0x0000002 + +gUnk_0811181B:: @ 0811181B + .incbin "baserom.gba", 0x11181B, 0x0000001 + +gUnk_0811181C:: @ 0811181C + .incbin "baserom.gba", 0x11181C, 0x0000001 + +gUnk_0811181D:: @ 0811181D + .incbin "baserom.gba", 0x11181D, 0x0000001 + +gUnk_0811181E:: @ 0811181E + .incbin "baserom.gba", 0x11181E, 0x0000004 + +gUnk_08111822:: @ 08111822 + .incbin "baserom.gba", 0x111822, 0x0000008 + +gUnk_0811182A:: @ 0811182A + .incbin "baserom.gba", 0x11182A, 0x0000031 + +gUnk_0811185B:: @ 0811185B + .incbin "baserom.gba", 0x11185B, 0x0000071 + +gUnk_081118CC:: @ 081118CC + .incbin "baserom.gba", 0x1118CC, 0x0000024 + +gUnk_081118F0:: @ 081118F0 + .incbin "baserom.gba", 0x1118F0, 0x0000024 + +gUnk_08111914:: @ 08111914 + .incbin "baserom.gba", 0x111914, 0x0000004 + +gUnk_08111918:: @ 08111918 + .incbin "baserom.gba", 0x111918, 0x0000001 + +gUnk_08111919:: @ 08111919 + .incbin "baserom.gba", 0x111919, 0x0000001 + +gUnk_0811191A:: @ 0811191A + .incbin "baserom.gba", 0x11191A, 0x0000001 + +gUnk_0811191B:: @ 0811191B + .incbin "baserom.gba", 0x11191B, 0x0000002 + +gUnk_0811191D:: @ 0811191D + .incbin "baserom.gba", 0x11191D, 0x0000001 + +gUnk_0811191E:: @ 0811191E + .incbin "baserom.gba", 0x11191E, 0x0000002 + +gUnk_08111920:: @ 08111920 + .incbin "baserom.gba", 0x111920, 0x0000002 + +gUnk_08111922:: @ 08111922 + .incbin "baserom.gba", 0x111922, 0x0000006 + +gUnk_08111928:: @ 08111928 + .incbin "baserom.gba", 0x111928, 0x0000010 + +gUnk_08111938:: @ 08111938 + .incbin "baserom.gba", 0x111938, 0x0000028 + +gUnk_08111960:: @ 08111960 + .incbin "baserom.gba", 0x111960, 0x0000005 + +gUnk_08111965:: @ 08111965 + .incbin "baserom.gba", 0x111965, 0x0000005 + +gUnk_0811196A:: @ 0811196A + .incbin "baserom.gba", 0x11196A, 0x0000005 + +gUnk_0811196F:: @ 0811196F + .incbin "baserom.gba", 0x11196F, 0x0000005 + +gUnk_08111974:: @ 08111974 + .incbin "baserom.gba", 0x111974, 0x0000011 + +gUnk_08111985:: @ 08111985 + .incbin "baserom.gba", 0x111985, 0x0000011 + +gUnk_08111996:: @ 08111996 + .incbin "baserom.gba", 0x111996, 0x0000011 + +gUnk_081119A7:: @ 081119A7 + .incbin "baserom.gba", 0x1119A7, 0x0000011 + +gUnk_081119B8:: @ 081119B8 + .incbin "baserom.gba", 0x1119B8, 0x000000C + +gUnk_081119C4:: @ 081119C4 + .incbin "baserom.gba", 0x1119C4, 0x000000C + +gUnk_081119D0:: @ 081119D0 + .incbin "baserom.gba", 0x1119D0, 0x000000C + +gUnk_081119DC:: @ 081119DC + .incbin "baserom.gba", 0x1119DC, 0x000000C + +gUnk_081119E8:: @ 081119E8 + .incbin "baserom.gba", 0x1119E8, 0x0000009 + +gUnk_081119F1:: @ 081119F1 + .incbin "baserom.gba", 0x1119F1, 0x0000005 + +gUnk_081119F6:: @ 081119F6 + .incbin "baserom.gba", 0x1119F6, 0x0000004 + +gUnk_081119FA:: @ 081119FA + .incbin "baserom.gba", 0x1119FA, 0x0000009 + +gUnk_08111A03:: @ 08111A03 + .incbin "baserom.gba", 0x111A03, 0x0000009 + +gUnk_08111A0C:: @ 08111A0C + .incbin "baserom.gba", 0x111A0C, 0x0000008 + +gUnk_08111A14:: @ 08111A14 + .incbin "baserom.gba", 0x111A14, 0x0000002 + +gUnk_08111A16:: @ 08111A16 + .incbin "baserom.gba", 0x111A16, 0x0000002 + +gUnk_08111A18:: @ 08111A18 + .incbin "baserom.gba", 0x111A18, 0x0000001 + +gUnk_08111A19:: @ 08111A19 + .incbin "baserom.gba", 0x111A19, 0x0000003 + +gUnk_08111A1C:: @ 08111A1C + .incbin "baserom.gba", 0x111A1C, 0x0000003 + +gUnk_08111A1F:: @ 08111A1F + .incbin "baserom.gba", 0x111A1F, 0x0000002 + +gUnk_08111A21:: @ 08111A21 + .incbin "baserom.gba", 0x111A21, 0x0000001 + +gUnk_08111A22:: @ 08111A22 + .incbin "baserom.gba", 0x111A22, 0x0000002 + +gUnk_08111A24:: @ 08111A24 + .incbin "baserom.gba", 0x111A24, 0x0000008 + +gUnk_08111A2C:: @ 08111A2C + .incbin "baserom.gba", 0x111A2C, 0x0000054 + +gUnk_08111A80:: @ 08111A80 + .incbin "baserom.gba", 0x111A80, 0x000000C + +gUnk_08111A8C:: @ 08111A8C + .incbin "baserom.gba", 0x111A8C, 0x0000008 + +gUnk_08111A94:: @ 08111A94 + .incbin "baserom.gba", 0x111A94, 0x0000030 + +gUnk_08111AC4:: @ 08111AC4 + .incbin "baserom.gba", 0x111AC4, 0x0000005 + +gUnk_08111AC9:: @ 08111AC9 + .incbin "baserom.gba", 0x111AC9, 0x0000005 + +gUnk_08111ACE:: @ 08111ACE + .incbin "baserom.gba", 0x111ACE, 0x0000005 + +gUnk_08111AD3:: @ 08111AD3 + .incbin "baserom.gba", 0x111AD3, 0x0000005 + +gUnk_08111AD8:: @ 08111AD8 + .incbin "baserom.gba", 0x111AD8, 0x0000021 + +gUnk_08111AF9:: @ 08111AF9 + .incbin "baserom.gba", 0x111AF9, 0x0000021 + +gUnk_08111B1A:: @ 08111B1A + .incbin "baserom.gba", 0x111B1A, 0x0000005 + +gUnk_08111B1F:: @ 08111B1F + .incbin "baserom.gba", 0x111B1F, 0x0000007 + +gUnk_08111B26:: @ 08111B26 + .incbin "baserom.gba", 0x111B26, 0x0000015 + +gUnk_08111B3B:: @ 08111B3B + .incbin "baserom.gba", 0x111B3B, 0x000000B + +gUnk_08111B46:: @ 08111B46 + .incbin "baserom.gba", 0x111B46, 0x000001A + +gUnk_08111B60:: @ 08111B60 + .incbin "baserom.gba", 0x111B60, 0x0000023 + +gUnk_08111B83:: @ 08111B83 + .incbin "baserom.gba", 0x111B83, 0x0000005 + +gUnk_08111B88:: @ 08111B88 + .incbin "baserom.gba", 0x111B88, 0x0000010 + +gUnk_08111B98:: @ 08111B98 + .incbin "baserom.gba", 0x111B98, 0x0000008 + +gUnk_08111BA0:: @ 08111BA0 + .incbin "baserom.gba", 0x111BA0, 0x000001E + +gUnk_08111BBE:: @ 08111BBE + .incbin "baserom.gba", 0x111BBE, 0x0000005 + +gUnk_08111BC3:: @ 08111BC3 + .incbin "baserom.gba", 0x111BC3, 0x0000005 + +gUnk_08111BC8:: @ 08111BC8 + .incbin "baserom.gba", 0x111BC8, 0x0000005 + +gUnk_08111BCD:: @ 08111BCD + .incbin "baserom.gba", 0x111BCD, 0x0000025 + +gUnk_08111BF2:: @ 08111BF2 + .incbin "baserom.gba", 0x111BF2, 0x0000026 + +gUnk_08111C18:: @ 08111C18 + .incbin "baserom.gba", 0x111C18, 0x0000002 + +gUnk_08111C1A:: @ 08111C1A + .incbin "baserom.gba", 0x111C1A, 0x0000002 + +gUnk_08111C1C:: @ 08111C1C + .incbin "baserom.gba", 0x111C1C, 0x0000004 + +gUnk_08111C20:: @ 08111C20 + .incbin "baserom.gba", 0x111C20, 0x0000001 + +gUnk_08111C21:: @ 08111C21 + .incbin "baserom.gba", 0x111C21, 0x0000002 + +gUnk_08111C23:: @ 08111C23 + .incbin "baserom.gba", 0x111C23, 0x0000019 + +gUnk_08111C3C:: @ 08111C3C + .incbin "baserom.gba", 0x111C3C, 0x000000C + +gUnk_08111C48:: @ 08111C48 + .incbin "baserom.gba", 0x111C48, 0x0000008 + +gUnk_08111C50:: @ 08111C50 + .incbin "baserom.gba", 0x111C50, 0x000000C + +gUnk_08111C5C:: @ 08111C5C + .incbin "baserom.gba", 0x111C5C, 0x0000018 + +gUnk_08111C74:: @ 08111C74 + .incbin "baserom.gba", 0x111C74, 0x0000010 + +gUnk_08111C84:: @ 08111C84 + .incbin "baserom.gba", 0x111C84, 0x0000008 + +gUnk_08111C8C:: @ 08111C8C + .incbin "baserom.gba", 0x111C8C, 0x0000010 + +gUnk_08111C9C:: @ 08111C9C + .incbin "baserom.gba", 0x111C9C, 0x000000C + +gUnk_08111CA8:: @ 08111CA8 + .incbin "baserom.gba", 0x111CA8, 0x000000C + +gUnk_08111CB4:: @ 08111CB4 + .incbin "baserom.gba", 0x111CB4, 0x0000004 + +gUnk_08111CB8:: @ 08111CB8 + .incbin "baserom.gba", 0x111CB8, 0x0000004 + +gUnk_08111CBC:: @ 08111CBC + .incbin "baserom.gba", 0x111CBC, 0x0000005 + +gUnk_08111CC1:: @ 08111CC1 + .incbin "baserom.gba", 0x111CC1, 0x0000005 + +gUnk_08111CC6:: @ 08111CC6 + .incbin "baserom.gba", 0x111CC6, 0x0000005 + +gUnk_08111CCB:: @ 08111CCB + .incbin "baserom.gba", 0x111CCB, 0x0000005 + +gUnk_08111CD0:: @ 08111CD0 + .incbin "baserom.gba", 0x111CD0, 0x0000019 + +gUnk_08111CE9:: @ 08111CE9 + .incbin "baserom.gba", 0x111CE9, 0x0000019 + +gUnk_08111D02:: @ 08111D02 + .incbin "baserom.gba", 0x111D02, 0x0000015 + +gUnk_08111D17:: @ 08111D17 + .incbin "baserom.gba", 0x111D17, 0x0000004 + +gUnk_08111D1B:: @ 08111D1B + .incbin "baserom.gba", 0x111D1B, 0x000000F + +gUnk_08111D2A:: @ 08111D2A + .incbin "baserom.gba", 0x111D2A, 0x0000001 + +gUnk_08111D2B:: @ 08111D2B + .incbin "baserom.gba", 0x111D2B, 0x0000009 + +gUnk_08111D34:: @ 08111D34 + .incbin "baserom.gba", 0x111D34, 0x0000024 + +gUnk_08111D58:: @ 08111D58 + .incbin "baserom.gba", 0x111D58, 0x0000030 + +gUnk_08111D88:: @ 08111D88 + .incbin "baserom.gba", 0x111D88, 0x0000020 + +gUnk_08111DA8:: @ 08111DA8 + .incbin "baserom.gba", 0x111DA8, 0x0000008 + +gUnk_08111DB0:: @ 08111DB0 + .incbin "baserom.gba", 0x111DB0, 0x0000066 + +gUnk_08111E16:: @ 08111E16 + .incbin "baserom.gba", 0x111E16, 0x000001A + +gUnk_08111E30:: @ 08111E30 + .incbin "baserom.gba", 0x111E30, 0x0000004 + +gUnk_08111E34:: @ 08111E34 + .incbin "baserom.gba", 0x111E34, 0x00000AD + +gUnk_08111EE1:: @ 08111EE1 + .incbin "baserom.gba", 0x111EE1, 0x0000047 + +gUnk_08111F28:: @ 08111F28 + .incbin "baserom.gba", 0x111F28, 0x0000008 + +gUnk_08111F30:: @ 08111F30 + .incbin "baserom.gba", 0x111F30, 0x0000044 + +gUnk_08111F74:: @ 08111F74 + .incbin "baserom.gba", 0x111F74, 0x0000064 + +gUnk_08111FD8:: @ 08111FD8 + .incbin "baserom.gba", 0x111FD8, 0x000000A + +gUnk_08111FE2:: @ 08111FE2 + .incbin "baserom.gba", 0x111FE2, 0x0000005 + +gUnk_08111FE7:: @ 08111FE7 + .incbin "baserom.gba", 0x111FE7, 0x0000005 + +gUnk_08111FEC:: @ 08111FEC + .incbin "baserom.gba", 0x111FEC, 0x0000005 + +gUnk_08111FF1:: @ 08111FF1 + .incbin "baserom.gba", 0x111FF1, 0x0000005 + +gUnk_08111FF6:: @ 08111FF6 + .incbin "baserom.gba", 0x111FF6, 0x0000011 + +gUnk_08112007:: @ 08112007 + .incbin "baserom.gba", 0x112007, 0x0000007 + +gUnk_0811200E:: @ 0811200E + .incbin "baserom.gba", 0x11200E, 0x000000A + +gUnk_08112018:: @ 08112018 + .incbin "baserom.gba", 0x112018, 0x0000005 + +gUnk_0811201D:: @ 0811201D + .incbin "baserom.gba", 0x11201D, 0x0000005 + +gUnk_08112022:: @ 08112022 + .incbin "baserom.gba", 0x112022, 0x0000005 + +gUnk_08112027:: @ 08112027 + .incbin "baserom.gba", 0x112027, 0x0000005 + +gUnk_0811202C:: @ 0811202C + .incbin "baserom.gba", 0x11202C, 0x0000005 + +gUnk_08112031:: @ 08112031 + .incbin "baserom.gba", 0x112031, 0x0000005 + +gUnk_08112036:: @ 08112036 + .incbin "baserom.gba", 0x112036, 0x0000005 + +gUnk_0811203B:: @ 0811203B + .incbin "baserom.gba", 0x11203B, 0x0000005 + +gUnk_08112040:: @ 08112040 + .incbin "baserom.gba", 0x112040, 0x0000005 + +gUnk_08112045:: @ 08112045 + .incbin "baserom.gba", 0x112045, 0x0000005 + +gUnk_0811204A:: @ 0811204A + .incbin "baserom.gba", 0x11204A, 0x0000005 + +gUnk_0811204F:: @ 0811204F + .incbin "baserom.gba", 0x11204F, 0x0000005 + +gUnk_08112054:: @ 08112054 + .incbin "baserom.gba", 0x112054, 0x0000005 + +gUnk_08112059:: @ 08112059 + .incbin "baserom.gba", 0x112059, 0x0000005 + +gUnk_0811205E:: @ 0811205E + .incbin "baserom.gba", 0x11205E, 0x0000005 + +gUnk_08112063:: @ 08112063 + .incbin "baserom.gba", 0x112063, 0x0000005 + +gUnk_08112068:: @ 08112068 + .incbin "baserom.gba", 0x112068, 0x000000D + +gUnk_08112075:: @ 08112075 + .incbin "baserom.gba", 0x112075, 0x000000D + +gUnk_08112082:: @ 08112082 + .incbin "baserom.gba", 0x112082, 0x000000D + +gUnk_0811208F:: @ 0811208F + .incbin "baserom.gba", 0x11208F, 0x000000D + +gUnk_0811209C:: @ 0811209C + .incbin "baserom.gba", 0x11209C, 0x0000011 + +gUnk_081120AD:: @ 081120AD + .incbin "baserom.gba", 0x1120AD, 0x0000011 + +gUnk_081120BE:: @ 081120BE + .incbin "baserom.gba", 0x1120BE, 0x0000011 + +gUnk_081120CF:: @ 081120CF + .incbin "baserom.gba", 0x1120CF, 0x0000011 + +gUnk_081120E0:: @ 081120E0 + .incbin "baserom.gba", 0x1120E0, 0x0000020 + +gUnk_08112100:: @ 08112100 + .incbin "baserom.gba", 0x112100, 0x0000021 + +gUnk_08112121:: @ 08112121 + .incbin "baserom.gba", 0x112121, 0x000000A + +gUnk_0811212B:: @ 0811212B + .incbin "baserom.gba", 0x11212B, 0x0000089 + +gUnk_081121B4:: @ 081121B4 + .incbin "baserom.gba", 0x1121B4, 0x0000010 + +gUnk_081121C4:: @ 081121C4 + .incbin "baserom.gba", 0x1121C4, 0x0000010 + +gUnk_081121D4:: @ 081121D4 + .incbin "baserom.gba", 0x1121D4, 0x0000008 + +gUnk_081121DC:: @ 081121DC + .incbin "baserom.gba", 0x1121DC, 0x0000008 + +gUnk_081121E4:: @ 081121E4 + .incbin "baserom.gba", 0x1121E4, 0x0000020 + +gUnk_08112204:: @ 08112204 + .incbin "baserom.gba", 0x112204, 0x0000004 + +gUnk_08112208:: @ 08112208 + .incbin "baserom.gba", 0x112208, 0x0000024 + +gUnk_0811222C:: @ 0811222C + .incbin "baserom.gba", 0x11222C, 0x000000C + +gUnk_08112238:: @ 08112238 + .incbin "baserom.gba", 0x112238, 0x000000B + +gUnk_08112243:: @ 08112243 + .incbin "baserom.gba", 0x112243, 0x000001D + +gUnk_08112260:: @ 08112260 + .incbin "baserom.gba", 0x112260, 0x0000018 + +gUnk_08112278:: @ 08112278 + .incbin "baserom.gba", 0x112278, 0x000001C + +gUnk_08112294:: @ 08112294 + .incbin "baserom.gba", 0x112294, 0x0000008 + +gUnk_0811229C:: @ 0811229C + .incbin "baserom.gba", 0x11229C, 0x0000004 + +gUnk_081122A0:: @ 081122A0 + .incbin "baserom.gba", 0x1122A0, 0x0000008 + +gUnk_081122A8:: @ 081122A8 + .incbin "baserom.gba", 0x1122A8, 0x0000008 + +gUnk_081122B0:: @ 081122B0 + .incbin "baserom.gba", 0x1122B0, 0x0000008 + +gUnk_081122B8:: @ 081122B8 + .incbin "baserom.gba", 0x1122B8, 0x0000008 + +gUnk_081122C0:: @ 081122C0 + .incbin "baserom.gba", 0x1122C0, 0x0000009 + +gUnk_081122C9:: @ 081122C9 + .incbin "baserom.gba", 0x1122C9, 0x0000009 + +gUnk_081122D2:: @ 081122D2 + .incbin "baserom.gba", 0x1122D2, 0x0000009 + +gUnk_081122DB:: @ 081122DB + .incbin "baserom.gba", 0x1122DB, 0x0000025 + +gUnk_08112300:: @ 08112300 + .incbin "baserom.gba", 0x112300, 0x0000025 + +gUnk_08112325:: @ 08112325 + .incbin "baserom.gba", 0x112325, 0x0000025 + +gUnk_0811234A:: @ 0811234A + .incbin "baserom.gba", 0x11234A, 0x000003D + +gUnk_08112387:: @ 08112387 + .incbin "baserom.gba", 0x112387, 0x0000019 + +gUnk_081123A0:: @ 081123A0 + .incbin "baserom.gba", 0x1123A0, 0x0000029 + +gUnk_081123C9:: @ 081123C9 + .incbin "baserom.gba", 0x1123C9, 0x0000025 + +gUnk_081123EE:: @ 081123EE + .incbin "baserom.gba", 0x1123EE, 0x0000079 + +gUnk_08112467:: @ 08112467 + .incbin "baserom.gba", 0x112467, 0x0000032 + +gUnk_08112499:: @ 08112499 + .incbin "baserom.gba", 0x112499, 0x0000013 + +gUnk_081124AC:: @ 081124AC + .incbin "baserom.gba", 0x1124AC, 0x0000009 + +gUnk_081124B5:: @ 081124B5 + .incbin "baserom.gba", 0x1124B5, 0x000001D + +gUnk_081124D2:: @ 081124D2 + .incbin "baserom.gba", 0x1124D2, 0x0000019 + +gUnk_081124EB:: @ 081124EB + .incbin "baserom.gba", 0x1124EB, 0x0000014 + +gUnk_081124FF:: @ 081124FF + .incbin "baserom.gba", 0x1124FF, 0x0000025 + +gUnk_08112524:: @ 08112524 + .incbin "baserom.gba", 0x112524, 0x0000019 + +gUnk_0811253D:: @ 0811253D + .incbin "baserom.gba", 0x11253D, 0x0000045 + +gUnk_08112582:: @ 08112582 + .incbin "baserom.gba", 0x112582, 0x0000016 + +gUnk_08112598:: @ 08112598 + .incbin "baserom.gba", 0x112598, 0x000005C + +gUnk_081125F4:: @ 081125F4 + .incbin "baserom.gba", 0x1125F4, 0x000000C + +gUnk_08112600:: @ 08112600 + .incbin "baserom.gba", 0x112600, 0x0000074 + +gUnk_08112674:: @ 08112674 + .incbin "baserom.gba", 0x112674, 0x0000060 + +gUnk_081126D4:: @ 081126D4 + .incbin "baserom.gba", 0x1126D4, 0x0000010 + +gUnk_081126E4:: @ 081126E4 + .incbin "baserom.gba", 0x1126E4, 0x0000004 + +gUnk_081126E8:: @ 081126E8 + .incbin "baserom.gba", 0x1126E8, 0x0000008 + +gUnk_081126F0:: @ 081126F0 + .incbin "baserom.gba", 0x1126F0, 0x000024C + +gUnk_0811293C:: @ 0811293C + .incbin "baserom.gba", 0x11293C, 0x0000001 + +gUnk_0811293D:: @ 0811293D + .incbin "baserom.gba", 0x11293D, 0x00002B3 + +gUnk_08112BF0:: @ 08112BF0 + .incbin "baserom.gba", 0x112BF0, 0x0000050 + +gUnk_08112C40:: @ 08112C40 + .incbin "baserom.gba", 0x112C40, 0x000000A + +gUnk_08112C4A:: @ 08112C4A + .incbin "baserom.gba", 0x112C4A, 0x0000006 + +gUnk_08112C50:: @ 08112C50 + .incbin "baserom.gba", 0x112C50, 0x000000C + +gUnk_08112C5C:: @ 08112C5C + .incbin "baserom.gba", 0x112C5C, 0x0000004 + +gUnk_08112C60:: @ 08112C60 + .incbin "baserom.gba", 0x112C60, 0x0000008 + +gUnk_08112C68:: @ 08112C68 + .incbin "baserom.gba", 0x112C68, 0x0000005 + +gUnk_08112C6D:: @ 08112C6D + .incbin "baserom.gba", 0x112C6D, 0x0000005 + +gUnk_08112C72:: @ 08112C72 + .incbin "baserom.gba", 0x112C72, 0x0000005 + +gUnk_08112C77:: @ 08112C77 + .incbin "baserom.gba", 0x112C77, 0x0000005 + +gUnk_08112C7C:: @ 08112C7C + .incbin "baserom.gba", 0x112C7C, 0x0000021 + +gUnk_08112C9D:: @ 08112C9D + .incbin "baserom.gba", 0x112C9D, 0x0000021 + +gUnk_08112CBE:: @ 08112CBE + .incbin "baserom.gba", 0x112CBE, 0x0000021 + +gUnk_08112CDF:: @ 08112CDF + .incbin "baserom.gba", 0x112CDF, 0x0000021 + +gUnk_08112D00:: @ 08112D00 + .incbin "baserom.gba", 0x112D00, 0x0000005 + +gUnk_08112D05:: @ 08112D05 + .incbin "baserom.gba", 0x112D05, 0x0000005 + +gUnk_08112D0A:: @ 08112D0A + .incbin "baserom.gba", 0x112D0A, 0x0000005 + +gUnk_08112D0F:: @ 08112D0F + .incbin "baserom.gba", 0x112D0F, 0x0000005 + +gUnk_08112D14:: @ 08112D14 + .incbin "baserom.gba", 0x112D14, 0x0000034 + +gUnk_08112D48:: @ 08112D48 + .incbin "baserom.gba", 0x112D48, 0x0000008 + +gUnk_08112D50:: @ 08112D50 + .incbin "baserom.gba", 0x112D50, 0x000000A + +gUnk_08112D5A:: @ 08112D5A + .incbin "baserom.gba", 0x112D5A, 0x0000015 + +gUnk_08112D6F:: @ 08112D6F + .incbin "baserom.gba", 0x112D6F, 0x0000009 + +gUnk_08112D78:: @ 08112D78 + .incbin "baserom.gba", 0x112D78, 0x0000011 + +gUnk_08112D89:: @ 08112D89 + .incbin "baserom.gba", 0x112D89, 0x0000011 + +gUnk_08112D9A:: @ 08112D9A + .incbin "baserom.gba", 0x112D9A, 0x000004D + +gUnk_08112DE7:: @ 08112DE7 + .incbin "baserom.gba", 0x112DE7, 0x0000005 + +gUnk_08112DEC:: @ 08112DEC + .incbin "baserom.gba", 0x112DEC, 0x0000030 + +gUnk_08112E1C:: @ 08112E1C + .incbin "baserom.gba", 0x112E1C, 0x0000010 + +gUnk_08112E2C:: @ 08112E2C + .incbin "baserom.gba", 0x112E2C, 0x0000028 + +gUnk_08112E54:: @ 08112E54 + .incbin "baserom.gba", 0x112E54, 0x0000008 + +gUnk_08112E5C:: @ 08112E5C + .incbin "baserom.gba", 0x112E5C, 0x0000049 + +gUnk_08112EA5:: @ 08112EA5 + .incbin "baserom.gba", 0x112EA5, 0x0000005 + +gUnk_08112EAA:: @ 08112EAA + .incbin "baserom.gba", 0x112EAA, 0x0000005 + +gUnk_08112EAF:: @ 08112EAF + .incbin "baserom.gba", 0x112EAF, 0x0000005 + +gUnk_08112EB4:: @ 08112EB4 + .incbin "baserom.gba", 0x112EB4, 0x0000071 + +gUnk_08112F25:: @ 08112F25 + .incbin "baserom.gba", 0x112F25, 0x0000005 + +gUnk_08112F2A:: @ 08112F2A + .incbin "baserom.gba", 0x112F2A, 0x0000005 + +gUnk_08112F2F:: @ 08112F2F + .incbin "baserom.gba", 0x112F2F, 0x0000005 + +gUnk_08112F34:: @ 08112F34 + .incbin "baserom.gba", 0x112F34, 0x0000044 + +gUnk_08112F78:: @ 08112F78 + .incbin "baserom.gba", 0x112F78, 0x0000008 + +gUnk_08112F80:: @ 08112F80 + .incbin "baserom.gba", 0x112F80, 0x0000008 + +gUnk_08112F88:: @ 08112F88 + .incbin "baserom.gba", 0x112F88, 0x000003C + +gUnk_08112FC4:: @ 08112FC4 + .incbin "baserom.gba", 0x112FC4, 0x0000011 + +gUnk_08112FD5:: @ 08112FD5 + .incbin "baserom.gba", 0x112FD5, 0x000001F + +gUnk_08112FF4:: @ 08112FF4 + .incbin "baserom.gba", 0x112FF4, 0x0000010 + +gUnk_08113004:: @ 08113004 + .incbin "baserom.gba", 0x113004, 0x0000020 + +gUnk_08113024:: @ 08113024 + .incbin "baserom.gba", 0x113024, 0x0000008 + +gUnk_0811302C:: @ 0811302C + .incbin "baserom.gba", 0x11302C, 0x0000044 + +gUnk_08113070:: @ 08113070 + .incbin "baserom.gba", 0x113070, 0x0000008 + +gUnk_08113078:: @ 08113078 + .incbin "baserom.gba", 0x113078, 0x0000006 + +gUnk_0811307E:: @ 0811307E + .incbin "baserom.gba", 0x11307E, 0x0000005 + +gUnk_08113083:: @ 08113083 + .incbin "baserom.gba", 0x113083, 0x000000D + +gUnk_08113090:: @ 08113090 + .incbin "baserom.gba", 0x113090, 0x0000010 + +gUnk_081130A0:: @ 081130A0 + .incbin "baserom.gba", 0x1130A0, 0x0000038 + +gUnk_081130D8:: @ 081130D8 + .incbin "baserom.gba", 0x1130D8, 0x0000005 + +gUnk_081130DD:: @ 081130DD + .incbin "baserom.gba", 0x1130DD, 0x000000D + +gUnk_081130EA:: @ 081130EA + .incbin "baserom.gba", 0x1130EA, 0x000000D + +gUnk_081130F7:: @ 081130F7 + .incbin "baserom.gba", 0x1130F7, 0x000000B + +gUnk_08113102:: @ 08113102 + .incbin "baserom.gba", 0x113102, 0x0000006 + +gUnk_08113108:: @ 08113108 + .incbin "baserom.gba", 0x113108, 0x0000038 + +gUnk_08113140:: @ 08113140 + .incbin "baserom.gba", 0x113140, 0x0000018 + +gUnk_08113158:: @ 08113158 + .incbin "baserom.gba", 0x113158, 0x0000010 + +gUnk_08113168:: @ 08113168 + .incbin "baserom.gba", 0x113168, 0x0000025 + +gUnk_0811318D:: @ 0811318D + .incbin "baserom.gba", 0x11318D, 0x0000005 + +gUnk_08113192:: @ 08113192 + .incbin "baserom.gba", 0x113192, 0x0000005 + +gUnk_08113197:: @ 08113197 + .incbin "baserom.gba", 0x113197, 0x0000005 + +gUnk_0811319C:: @ 0811319C + .incbin "baserom.gba", 0x11319C, 0x0000044 + +gUnk_081131E0:: @ 081131E0 + .incbin "baserom.gba", 0x1131E0, 0x0000025 + +gUnk_08113205:: @ 08113205 + .incbin "baserom.gba", 0x113205, 0x0000005 + +gUnk_0811320A:: @ 0811320A + .incbin "baserom.gba", 0x11320A, 0x0000005 + +gUnk_0811320F:: @ 0811320F + .incbin "baserom.gba", 0x11320F, 0x0000005 + +gUnk_08113214:: @ 08113214 + .incbin "baserom.gba", 0x113214, 0x0000044 + +gUnk_08113258:: @ 08113258 + .incbin "baserom.gba", 0x113258, 0x0000005 + +gUnk_0811325D:: @ 0811325D + .incbin "baserom.gba", 0x11325D, 0x0000011 + +gUnk_0811326E:: @ 0811326E + .incbin "baserom.gba", 0x11326E, 0x0000031 + +gUnk_0811329F:: @ 0811329F + .incbin "baserom.gba", 0x11329F, 0x0000045 + +gUnk_081132E4:: @ 081132E4 + .incbin "baserom.gba", 0x1132E4, 0x0000030 + +gUnk_08113314:: @ 08113314 + .incbin "baserom.gba", 0x113314, 0x0000030 + +gUnk_08113344:: @ 08113344 + .incbin "baserom.gba", 0x113344, 0x0000006 + +gUnk_0811334A:: @ 0811334A + .incbin "baserom.gba", 0x11334A, 0x0000006 + +gUnk_08113350:: @ 08113350 + .incbin "baserom.gba", 0x113350, 0x0000019 + +gUnk_08113369:: @ 08113369 + .incbin "baserom.gba", 0x113369, 0x0000005 + +gUnk_0811336E:: @ 0811336E + .incbin "baserom.gba", 0x11336E, 0x0000009 + +gUnk_08113377:: @ 08113377 + .incbin "baserom.gba", 0x113377, 0x0000009 + +gUnk_08113380:: @ 08113380 + .incbin "baserom.gba", 0x113380, 0x0000024 + +gUnk_081133A4:: @ 081133A4 + .incbin "baserom.gba", 0x1133A4, 0x0000010 + +gUnk_081133B4:: @ 081133B4 + .incbin "baserom.gba", 0x1133B4, 0x0000004 + +gUnk_081133B8:: @ 081133B8 + .incbin "baserom.gba", 0x1133B8, 0x0000031 + +gUnk_081133E9:: @ 081133E9 + .incbin "baserom.gba", 0x1133E9, 0x0000011 + +gUnk_081133FA:: @ 081133FA + .incbin "baserom.gba", 0x1133FA, 0x0000019 + +gUnk_08113413:: @ 08113413 + .incbin "baserom.gba", 0x113413, 0x0000021 + +gUnk_08113434:: @ 08113434 + .incbin "baserom.gba", 0x113434, 0x0000009 + +gUnk_0811343D:: @ 0811343D + .incbin "baserom.gba", 0x11343D, 0x0000002 + +gUnk_0811343F:: @ 0811343F + .incbin "baserom.gba", 0x11343F, 0x0000007 + +gUnk_08113446:: @ 08113446 + .incbin "baserom.gba", 0x113446, 0x0000009 + +gUnk_0811344F:: @ 0811344F + .incbin "baserom.gba", 0x11344F, 0x0000041 + +gUnk_08113490:: @ 08113490 + .incbin "baserom.gba", 0x113490, 0x0000044 + +gUnk_081134D4:: @ 081134D4 + .incbin "baserom.gba", 0x1134D4, 0x0000034 + +gUnk_08113508:: @ 08113508 + .incbin "baserom.gba", 0x113508, 0x0000024 + +gUnk_0811352C:: @ 0811352C + .incbin "baserom.gba", 0x11352C, 0x0000021 + +gUnk_0811354D:: @ 0811354D + .incbin "baserom.gba", 0x11354D, 0x0000019 + +gUnk_08113566:: @ 08113566 + .incbin "baserom.gba", 0x113566, 0x0000008 + +gUnk_0811356E:: @ 0811356E + .incbin "baserom.gba", 0x11356E, 0x0000021 + +gUnk_0811358F:: @ 0811358F + .incbin "baserom.gba", 0x11358F, 0x0000021 + +gUnk_081135B0:: @ 081135B0 + .incbin "baserom.gba", 0x1135B0, 0x000002D + +gUnk_081135DD:: @ 081135DD + .incbin "baserom.gba", 0x1135DD, 0x0000005 + +gUnk_081135E2:: @ 081135E2 + .incbin "baserom.gba", 0x1135E2, 0x0000006 + +gUnk_081135E8:: @ 081135E8 + .incbin "baserom.gba", 0x1135E8, 0x0000044 + +gUnk_0811362C:: @ 0811362C + .incbin "baserom.gba", 0x11362C, 0x0000005 + +gUnk_08113631:: @ 08113631 + .incbin "baserom.gba", 0x113631, 0x0000005 + +gUnk_08113636:: @ 08113636 + .incbin "baserom.gba", 0x113636, 0x0000005 + +gUnk_0811363B:: @ 0811363B + .incbin "baserom.gba", 0x11363B, 0x0000005 + +gUnk_08113640:: @ 08113640 + .incbin "baserom.gba", 0x113640, 0x0000005 + +gUnk_08113645:: @ 08113645 + .incbin "baserom.gba", 0x113645, 0x0000005 + +gUnk_0811364A:: @ 0811364A + .incbin "baserom.gba", 0x11364A, 0x0000066 + +gUnk_081136B0:: @ 081136B0 + .incbin "baserom.gba", 0x1136B0, 0x0000028 + +gUnk_081136D8:: @ 081136D8 + .incbin "baserom.gba", 0x1136D8, 0x0000011 + +gUnk_081136E9:: @ 081136E9 + .incbin "baserom.gba", 0x1136E9, 0x0000011 + +gUnk_081136FA:: @ 081136FA + .incbin "baserom.gba", 0x1136FA, 0x0000011 + +gUnk_0811370B:: @ 0811370B + .incbin "baserom.gba", 0x11370B, 0x0000011 + +gUnk_0811371C:: @ 0811371C + .incbin "baserom.gba", 0x11371C, 0x0000005 + +gUnk_08113721:: @ 08113721 + .incbin "baserom.gba", 0x113721, 0x0000005 + +gUnk_08113726:: @ 08113726 + .incbin "baserom.gba", 0x113726, 0x0000005 + +gUnk_0811372B:: @ 0811372B + .incbin "baserom.gba", 0x11372B, 0x0000005 + +gUnk_08113730:: @ 08113730 + .incbin "baserom.gba", 0x113730, 0x0000024 + +gUnk_08113754:: @ 08113754 + .incbin "baserom.gba", 0x113754, 0x000000C + +gUnk_08113760:: @ 08113760 + .incbin "baserom.gba", 0x113760, 0x0000050 + +gUnk_081137B0:: @ 081137B0 + .incbin "baserom.gba", 0x1137B0, 0x0000039 + +gUnk_081137E9:: @ 081137E9 + .incbin "baserom.gba", 0x1137E9, 0x0000088 + +gUnk_08113871:: @ 08113871 + .incbin "baserom.gba", 0x113871, 0x0000021 + +gUnk_08113892:: @ 08113892 + .incbin "baserom.gba", 0x113892, 0x0000005 + +gUnk_08113897:: @ 08113897 + .incbin "baserom.gba", 0x113897, 0x0000019 + +gUnk_081138B0:: @ 081138B0 + .incbin "baserom.gba", 0x1138B0, 0x0000008 + +gUnk_081138B8:: @ 081138B8 + .incbin "baserom.gba", 0x1138B8, 0x0000024 + +gUnk_081138DC:: @ 081138DC + .incbin "baserom.gba", 0x1138DC, 0x0000005 + +gUnk_081138E1:: @ 081138E1 + .incbin "baserom.gba", 0x1138E1, 0x000001B + +gUnk_081138FC:: @ 081138FC + .incbin "baserom.gba", 0x1138FC, 0x0000014 + +gUnk_08113910:: @ 08113910 + .incbin "baserom.gba", 0x113910, 0x0000020 + +gUnk_08113930:: @ 08113930 + .incbin "baserom.gba", 0x113930, 0x0000080 + +gUnk_081139B0:: @ 081139B0 + .incbin "baserom.gba", 0x1139B0, 0x000001D + +gUnk_081139CD:: @ 081139CD + .incbin "baserom.gba", 0x1139CD, 0x000001D + +gUnk_081139EA:: @ 081139EA + .incbin "baserom.gba", 0x1139EA, 0x000001E + +gUnk_08113A08:: @ 08113A08 + .incbin "baserom.gba", 0x113A08, 0x0000014 + +gUnk_08113A1C:: @ 08113A1C + .incbin "baserom.gba", 0x113A1C, 0x0000060 + +gUnk_08113A7C:: @ 08113A7C + .incbin "baserom.gba", 0x113A7C, 0x0000010 + +gUnk_08113A8C:: @ 08113A8C + .incbin "baserom.gba", 0x113A8C, 0x0000030 + +gUnk_08113ABC:: @ 08113ABC + .incbin "baserom.gba", 0x113ABC, 0x0000050 + +gUnk_08113B0C:: @ 08113B0C + .incbin "baserom.gba", 0x113B0C, 0x0000006 + +gUnk_08113B12:: @ 08113B12 + .incbin "baserom.gba", 0x113B12, 0x0000004 + +gUnk_08113B16:: @ 08113B16 + .incbin "baserom.gba", 0x113B16, 0x0000008 + +gUnk_08113B1E:: @ 08113B1E + .incbin "baserom.gba", 0x113B1E, 0x0000004 + +gUnk_08113B22:: @ 08113B22 + .incbin "baserom.gba", 0x113B22, 0x0000006 + +gUnk_08113B28:: @ 08113B28 + .incbin "baserom.gba", 0x113B28, 0x0000008 + +gUnk_08113B30:: @ 08113B30 + .incbin "baserom.gba", 0x113B30, 0x0000008 + +gUnk_08113B38:: @ 08113B38 + .incbin "baserom.gba", 0x113B38, 0x0000007 + +gUnk_08113B3F:: @ 08113B3F + .incbin "baserom.gba", 0x113B3F, 0x0000005 + +gUnk_08113B44:: @ 08113B44 + .incbin "baserom.gba", 0x113B44, 0x0000005 + +gUnk_08113B49:: @ 08113B49 + .incbin "baserom.gba", 0x113B49, 0x0000005 + +gUnk_08113B4E:: @ 08113B4E + .incbin "baserom.gba", 0x113B4E, 0x0000005 + +gUnk_08113B53:: @ 08113B53 + .incbin "baserom.gba", 0x113B53, 0x0000011 + +gUnk_08113B64:: @ 08113B64 + .incbin "baserom.gba", 0x113B64, 0x0000011 + +gUnk_08113B75:: @ 08113B75 + .incbin "baserom.gba", 0x113B75, 0x0000011 + +gUnk_08113B86:: @ 08113B86 + .incbin "baserom.gba", 0x113B86, 0x0000012 + +gUnk_08113B98:: @ 08113B98 + .incbin "baserom.gba", 0x113B98, 0x0000024 + +gUnk_08113BBC:: @ 08113BBC + .incbin "baserom.gba", 0x113BBC, 0x0000005 + +gUnk_08113BC1:: @ 08113BC1 + .incbin "baserom.gba", 0x113BC1, 0x0000005 + +gUnk_08113BC6:: @ 08113BC6 + .incbin "baserom.gba", 0x113BC6, 0x0000005 + +gUnk_08113BCB:: @ 08113BCB + .incbin "baserom.gba", 0x113BCB, 0x0000005 + +gUnk_08113BD0:: @ 08113BD0 + .incbin "baserom.gba", 0x113BD0, 0x0000011 + +gUnk_08113BE1:: @ 08113BE1 + .incbin "baserom.gba", 0x113BE1, 0x0000011 + +gUnk_08113BF2:: @ 08113BF2 + .incbin "baserom.gba", 0x113BF2, 0x0000011 + +gUnk_08113C03:: @ 08113C03 + .incbin "baserom.gba", 0x113C03, 0x0000011 + +gUnk_08113C14:: @ 08113C14 + .incbin "baserom.gba", 0x113C14, 0x0000024 + +gUnk_08113C38:: @ 08113C38 + .incbin "baserom.gba", 0x113C38, 0x0000005 + +gUnk_08113C3D:: @ 08113C3D + .incbin "baserom.gba", 0x113C3D, 0x0000005 + +gUnk_08113C42:: @ 08113C42 + .incbin "baserom.gba", 0x113C42, 0x0000005 + +gUnk_08113C47:: @ 08113C47 + .incbin "baserom.gba", 0x113C47, 0x0000011 + +gUnk_08113C58:: @ 08113C58 + .incbin "baserom.gba", 0x113C58, 0x0000024 + +gUnk_08113C7C:: @ 08113C7C + .incbin "baserom.gba", 0x113C7C, 0x0000005 + +gUnk_08113C81:: @ 08113C81 + .incbin "baserom.gba", 0x113C81, 0x0000005 + +gUnk_08113C86:: @ 08113C86 + .incbin "baserom.gba", 0x113C86, 0x0000005 + +gUnk_08113C8B:: @ 08113C8B + .incbin "baserom.gba", 0x113C8B, 0x0000005 + +gUnk_08113C90:: @ 08113C90 + .incbin "baserom.gba", 0x113C90, 0x0000011 + +gUnk_08113CA1:: @ 08113CA1 + .incbin "baserom.gba", 0x113CA1, 0x0000011 + +gUnk_08113CB2:: @ 08113CB2 + .incbin "baserom.gba", 0x113CB2, 0x0000011 + +gUnk_08113CC3:: @ 08113CC3 + .incbin "baserom.gba", 0x113CC3, 0x0000011 + +gUnk_08113CD4:: @ 08113CD4 + .incbin "baserom.gba", 0x113CD4, 0x0000024 + +gUnk_08113CF8:: @ 08113CF8 + .incbin "baserom.gba", 0x113CF8, 0x0000005 + +gUnk_08113CFD:: @ 08113CFD + .incbin "baserom.gba", 0x113CFD, 0x0000005 + +gUnk_08113D02:: @ 08113D02 + .incbin "baserom.gba", 0x113D02, 0x0000005 + +gUnk_08113D07:: @ 08113D07 + .incbin "baserom.gba", 0x113D07, 0x0000015 + +gUnk_08113D1C:: @ 08113D1C + .incbin "baserom.gba", 0x113D1C, 0x0000024 + +gUnk_08113D40:: @ 08113D40 + .incbin "baserom.gba", 0x113D40, 0x0000005 + +gUnk_08113D45:: @ 08113D45 + .incbin "baserom.gba", 0x113D45, 0x0000005 + +gUnk_08113D4A:: @ 08113D4A + .incbin "baserom.gba", 0x113D4A, 0x0000005 + +gUnk_08113D4F:: @ 08113D4F + .incbin "baserom.gba", 0x113D4F, 0x0000011 + +gUnk_08113D60:: @ 08113D60 + .incbin "baserom.gba", 0x113D60, 0x0000024 + +gUnk_08113D84:: @ 08113D84 + .incbin "baserom.gba", 0x113D84, 0x0000008 + +gUnk_08113D8C:: @ 08113D8C + .incbin "baserom.gba", 0x113D8C, 0x0000010 + +gUnk_08113D9C:: @ 08113D9C + .incbin "baserom.gba", 0x113D9C, 0x0000011 + +gUnk_08113DAD:: @ 08113DAD + .incbin "baserom.gba", 0x113DAD, 0x0000005 + +gUnk_08113DB2:: @ 08113DB2 + .incbin "baserom.gba", 0x113DB2, 0x0000029 + +gUnk_08113DDB:: @ 08113DDB + .incbin "baserom.gba", 0x113DDB, 0x00000D9 + +gUnk_08113EB4:: @ 08113EB4 + .incbin "baserom.gba", 0x113EB4, 0x0000011 + +gUnk_08113EC5:: @ 08113EC5 + .incbin "baserom.gba", 0x113EC5, 0x0000011 + +gUnk_08113ED6:: @ 08113ED6 + .incbin "baserom.gba", 0x113ED6, 0x0000011 + +gUnk_08113EE7:: @ 08113EE7 + .incbin "baserom.gba", 0x113EE7, 0x0000005 + +gUnk_08113EEC:: @ 08113EEC + .incbin "baserom.gba", 0x113EEC, 0x0000005 + +gUnk_08113EF1:: @ 08113EF1 + .incbin "baserom.gba", 0x113EF1, 0x0000007 + +gUnk_08113EF8:: @ 08113EF8 + .incbin "baserom.gba", 0x113EF8, 0x000004C + +gUnk_08113F44:: @ 08113F44 + .incbin "baserom.gba", 0x113F44, 0x0000004 + +gUnk_08113F48:: @ 08113F48 + .incbin "baserom.gba", 0x113F48, 0x0000078 + +gUnk_08113FC0:: @ 08113FC0 + .incbin "baserom.gba", 0x113FC0, 0x0000005 + +gUnk_08113FC5:: @ 08113FC5 + .incbin "baserom.gba", 0x113FC5, 0x0000005 + +gUnk_08113FCA:: @ 08113FCA + .incbin "baserom.gba", 0x113FCA, 0x0000005 + +gUnk_08113FCF:: @ 08113FCF + .incbin "baserom.gba", 0x113FCF, 0x0000005 + +gUnk_08113FD4:: @ 08113FD4 + .incbin "baserom.gba", 0x113FD4, 0x0000011 + +gUnk_08113FE5:: @ 08113FE5 + .incbin "baserom.gba", 0x113FE5, 0x000004D + +gUnk_08114032:: @ 08114032 + .incbin "baserom.gba", 0x114032, 0x000000D + +gUnk_0811403F:: @ 0811403F + .incbin "baserom.gba", 0x11403F, 0x0000011 + +gUnk_08114050:: @ 08114050 + .incbin "baserom.gba", 0x114050, 0x0000011 + +gUnk_08114061:: @ 08114061 + .incbin "baserom.gba", 0x114061, 0x0000029 + +gUnk_0811408A:: @ 0811408A + .incbin "baserom.gba", 0x11408A, 0x000000E + +gUnk_08114098:: @ 08114098 + .incbin "baserom.gba", 0x114098, 0x0000034 + +gUnk_081140CC:: @ 081140CC + .incbin "baserom.gba", 0x1140CC, 0x0000008 + +gUnk_081140D4:: @ 081140D4 + .incbin "baserom.gba", 0x1140D4, 0x000002C + +gUnk_08114100:: @ 08114100 + .incbin "baserom.gba", 0x114100, 0x0000004 + +gUnk_08114104:: @ 08114104 + .incbin "baserom.gba", 0x114104, 0x0000030 + +gUnk_08114134:: @ 08114134 + .incbin "baserom.gba", 0x114134, 0x0000010 + +gUnk_08114144:: @ 08114144 + .incbin "baserom.gba", 0x114144, 0x0000010 + +gUnk_08114154:: @ 08114154 + .incbin "baserom.gba", 0x114154, 0x0000008 + +gUnk_0811415C:: @ 0811415C + .incbin "baserom.gba", 0x11415C, 0x0000048 + +gUnk_081141A4:: @ 081141A4 + .incbin "baserom.gba", 0x1141A4, 0x0000040 + +gUnk_081141E4:: @ 081141E4 + .incbin "baserom.gba", 0x1141E4, 0x0000010 + +gUnk_081141F4:: @ 081141F4 + .incbin "baserom.gba", 0x1141F4, 0x0000014 + +gUnk_08114208:: @ 08114208 + .incbin "baserom.gba", 0x114208, 0x0000005 + +gUnk_0811420D:: @ 0811420D + .incbin "baserom.gba", 0x11420D, 0x0000004 + +gUnk_08114211:: @ 08114211 + .incbin "baserom.gba", 0x114211, 0x0000005 + +gUnk_08114216:: @ 08114216 + .incbin "baserom.gba", 0x114216, 0x0000009 + +gUnk_0811421F:: @ 0811421F + .incbin "baserom.gba", 0x11421F, 0x0000009 + +gUnk_08114228:: @ 08114228 + .incbin "baserom.gba", 0x114228, 0x0000014 + +gUnk_0811423C:: @ 0811423C + .incbin "baserom.gba", 0x11423C, 0x0000008 + +gUnk_08114244:: @ 08114244 + .incbin "baserom.gba", 0x114244, 0x0000019 + +gUnk_0811425D:: @ 0811425D + .incbin "baserom.gba", 0x11425D, 0x0000019 + +gUnk_08114276:: @ 08114276 + .incbin "baserom.gba", 0x114276, 0x0000019 + +gUnk_0811428F:: @ 0811428F + .incbin "baserom.gba", 0x11428F, 0x0000019 + +gUnk_081142A8:: @ 081142A8 + .incbin "baserom.gba", 0x1142A8, 0x0000014 + +gUnk_081142BC:: @ 081142BC + .incbin "baserom.gba", 0x1142BC, 0x0000010 + +gUnk_081142CC:: @ 081142CC + .incbin "baserom.gba", 0x1142CC, 0x0000010 + +gUnk_081142DC:: @ 081142DC + .incbin "baserom.gba", 0x1142DC, 0x0000020 + +gUnk_081142FC:: @ 081142FC + .incbin "baserom.gba", 0x1142FC, 0x0000008 + +gUnk_08114304:: @ 08114304 + .incbin "baserom.gba", 0x114304, 0x0000004 + +gUnk_08114308:: @ 08114308 + .incbin "baserom.gba", 0x114308, 0x0000128 + +gUnk_08114430:: @ 08114430 + .incbin "baserom.gba", 0x114430, 0x0000002 + +gUnk_08114432:: @ 08114432 + .incbin "baserom.gba", 0x114432, 0x0000012 + +gUnk_08114444:: @ 08114444 + .incbin "baserom.gba", 0x114444, 0x0000084 + +gUnk_081144C8:: @ 081144C8 + .incbin "baserom.gba", 0x1144C8, 0x0000005 + +gUnk_081144CD:: @ 081144CD + .incbin "baserom.gba", 0x1144CD, 0x0000005 + +gUnk_081144D2:: @ 081144D2 + .incbin "baserom.gba", 0x1144D2, 0x0000005 + +gUnk_081144D7:: @ 081144D7 + .incbin "baserom.gba", 0x1144D7, 0x0000005 + +gUnk_081144DC:: @ 081144DC + .incbin "baserom.gba", 0x1144DC, 0x0000014 + +gUnk_081144F0:: @ 081144F0 + .incbin "baserom.gba", 0x1144F0, 0x000000C + +gUnk_081144FC:: @ 081144FC + .incbin "baserom.gba", 0x1144FC, 0x0000035 + +gUnk_08114531:: @ 08114531 + .incbin "baserom.gba", 0x114531, 0x000000B + +gUnk_0811453C:: @ 0811453C + .incbin "baserom.gba", 0x11453C, 0x0000011 + +gUnk_0811454D:: @ 0811454D + .incbin "baserom.gba", 0x11454D, 0x0000011 + +gUnk_0811455E:: @ 0811455E + .incbin "baserom.gba", 0x11455E, 0x0000011 + +gUnk_0811456F:: @ 0811456F + .incbin "baserom.gba", 0x11456F, 0x0000005 + +gUnk_08114574:: @ 08114574 + .incbin "baserom.gba", 0x114574, 0x0000005 + +gUnk_08114579:: @ 08114579 + .incbin "baserom.gba", 0x114579, 0x0000007 + +gUnk_08114580:: @ 08114580 + .incbin "baserom.gba", 0x114580, 0x0000034 + +gUnk_081145B4:: @ 081145B4 + .incbin "baserom.gba", 0x1145B4, 0x0000014 + +gUnk_081145C8:: @ 081145C8 + .incbin "baserom.gba", 0x1145C8, 0x0000008 + +gUnk_081145D0:: @ 081145D0 + .incbin "baserom.gba", 0x1145D0, 0x0000004 + +gUnk_081145D4:: @ 081145D4 + .incbin "baserom.gba", 0x1145D4, 0x0000010 + +gUnk_081145E4:: @ 081145E4 + .incbin "baserom.gba", 0x1145E4, 0x00000D4 + +gUnk_081146B8:: @ 081146B8 + .incbin "baserom.gba", 0x1146B8, 0x0000018 + +gUnk_081146D0:: @ 081146D0 + .incbin "baserom.gba", 0x1146D0, 0x0000014 + +gUnk_081146E4:: @ 081146E4 + .incbin "baserom.gba", 0x1146E4, 0x0000010 + +gUnk_081146F4:: @ 081146F4 + .incbin "baserom.gba", 0x1146F4, 0x00000A8 + +gUnk_0811479C:: @ 0811479C + .incbin "baserom.gba", 0x11479C, 0x0000048 + +gUnk_081147E4:: @ 081147E4 + .incbin "baserom.gba", 0x1147E4, 0x0000020 + +gUnk_08114804:: @ 08114804 + .incbin "baserom.gba", 0x114804, 0x0000010 + +gUnk_08114814:: @ 08114814 + .incbin "baserom.gba", 0x114814, 0x0000010 + +gUnk_08114824:: @ 08114824 + .incbin "baserom.gba", 0x114824, 0x0000040 + +gUnk_08114864:: @ 08114864 + .incbin "baserom.gba", 0x114864, 0x0000010 + +gUnk_08114874:: @ 08114874 + .incbin "baserom.gba", 0x114874, 0x0000030 + +gUnk_081148A4:: @ 081148A4 + .incbin "baserom.gba", 0x1148A4, 0x0000020 + +gUnk_081148C4:: @ 081148C4 + .incbin "baserom.gba", 0x1148C4, 0x0000020 + +gUnk_081148E4:: @ 081148E4 + .incbin "baserom.gba", 0x1148E4, 0x0000030 + +gUnk_08114914:: @ 08114914 + .incbin "baserom.gba", 0x114914, 0x0000030 + +gUnk_08114944:: @ 08114944 + .incbin "baserom.gba", 0x114944, 0x0000030 + +gUnk_08114974:: @ 08114974 + .incbin "baserom.gba", 0x114974, 0x0000010 + +gUnk_08114984:: @ 08114984 + .incbin "baserom.gba", 0x114984, 0x0000010 + +gUnk_08114994:: @ 08114994 + .incbin "baserom.gba", 0x114994, 0x0000010 + +gUnk_081149A4:: @ 081149A4 + .incbin "baserom.gba", 0x1149A4, 0x0000010 + +gUnk_081149B4:: @ 081149B4 + .incbin "baserom.gba", 0x1149B4, 0x0000010 + +gUnk_081149C4:: @ 081149C4 + .incbin "baserom.gba", 0x1149C4, 0x0000030 + +gUnk_081149F4:: @ 081149F4 + .incbin "baserom.gba", 0x1149F4, 0x0000020 + +gUnk_08114A14:: @ 08114A14 + .incbin "baserom.gba", 0x114A14, 0x0000058 + +gUnk_08114A6C:: @ 08114A6C + .incbin "baserom.gba", 0x114A6C, 0x0000020 + +gUnk_08114A8C:: @ 08114A8C + .incbin "baserom.gba", 0x114A8C, 0x0000030 + +gUnk_08114ABC:: @ 08114ABC + .incbin "baserom.gba", 0x114ABC, 0x0000028 + +gUnk_08114AE4:: @ 08114AE4 + .incbin "baserom.gba", 0x114AE4, 0x0000400 + +gUnk_08114EE4:: @ 08114EE4 + .incbin "baserom.gba", 0x114EE4, 0x0000018 + +gUnk_08114EFC:: @ 08114EFC + .incbin "baserom.gba", 0x114EFC, 0x0000010 + +gUnk_08114F0C:: @ 08114F0C + .incbin "baserom.gba", 0x114F0C, 0x0000024 + +gUnk_08114F30:: @ 08114F30 + .incbin "baserom.gba", 0x114F30, 0x0000004 + +gUnk_08114F34:: @ 08114F34 + .incbin "baserom.gba", 0x114F34, 0x0000004 + +gUnk_08114F38:: @ 08114F38 + .incbin "baserom.gba", 0x114F38, 0x0000020 + +gUnk_08114F58:: @ 08114F58 + .incbin "baserom.gba", 0x114F58, 0x0000020 + +gUnk_08114F78:: @ 08114F78 + .incbin "baserom.gba", 0x114F78, 0x0000008 + +gUnk_08114F80:: @ 08114F80 + .incbin "baserom.gba", 0x114F80, 0x0000008 + +gUnk_08114F88:: @ 08114F88 + .incbin "baserom.gba", 0x114F88, 0x0000010 + +gUnk_08114F98:: @ 08114F98 + .incbin "baserom.gba", 0x114F98, 0x00003F4 + +gUnk_0811538C:: @ 0811538C + .incbin "baserom.gba", 0x11538C, 0x0000153 + +gUnk_081154DF:: @ 081154DF + .incbin "baserom.gba", 0x1154DF, 0x0000042 + +gUnk_08115521:: @ 08115521 + .incbin "baserom.gba", 0x115521, 0x0000002 + +gUnk_08115523:: @ 08115523 + .incbin "baserom.gba", 0x115523, 0x0000003 + +gUnk_08115526:: @ 08115526 + .incbin "baserom.gba", 0x115526, 0x00001FE + +gUnk_08115724:: @ 08115724 + .incbin "baserom.gba", 0x115724, 0x00003D4 + +gUnk_08115AF8:: @ 08115AF8 + .incbin "baserom.gba", 0x115AF8, 0x00003A4 + +gUnk_08115E9C:: @ 08115E9C + .incbin "baserom.gba", 0x115E9C, 0x0000176 + +gUnk_08116012:: @ 08116012 + .incbin "baserom.gba", 0x116012, 0x000026E + +gUnk_08116280:: @ 08116280 + .incbin "baserom.gba", 0x116280, 0x00002B0 + +gUnk_08116530:: @ 08116530 + .incbin "baserom.gba", 0x116530, 0x00001D3 + +gUnk_08116703:: @ 08116703 + .incbin "baserom.gba", 0x116703, 0x0000085 + +gUnk_08116788:: @ 08116788 + .incbin "baserom.gba", 0x116788, 0x0000100 + +gUnk_08116888:: @ 08116888 + .incbin "baserom.gba", 0x116888, 0x0000017 + +gUnk_0811689F:: @ 0811689F + .incbin "baserom.gba", 0x11689F, 0x00001FD + +gUnk_08116A9C:: @ 08116A9C + .incbin "baserom.gba", 0x116A9C, 0x0000270 + +gUnk_08116D0C:: @ 08116D0C + .incbin "baserom.gba", 0x116D0C, 0x00000C8 + +gUnk_08116DD4:: @ 08116DD4 + .incbin "baserom.gba", 0x116DD4, 0x0000071 + +gUnk_08116E45:: @ 08116E45 + .incbin "baserom.gba", 0x116E45, 0x000011F + +gUnk_08116F64:: @ 08116F64 + .incbin "baserom.gba", 0x116F64, 0x00002A4 + +gUnk_08117208:: @ 08117208 + .incbin "baserom.gba", 0x117208, 0x0000038 + +gUnk_08117240:: @ 08117240 + .incbin "baserom.gba", 0x117240, 0x000039C + +gUnk_081175DC:: @ 081175DC + .incbin "baserom.gba", 0x1175DC, 0x00002D4 + +gUnk_081178B0:: @ 081178B0 + .incbin "baserom.gba", 0x1178B0, 0x00002D4 + +gUnk_08117B84:: @ 08117B84 + .incbin "baserom.gba", 0x117B84, 0x00001E0 + +gUnk_08117D64:: @ 08117D64 + .incbin "baserom.gba", 0x117D64, 0x00000DC + +gUnk_08117E40:: @ 08117E40 + .incbin "baserom.gba", 0x117E40, 0x0000128 + +gUnk_08117F68:: @ 08117F68 + .incbin "baserom.gba", 0x117F68, 0x000006C + +gUnk_08117FD4:: @ 08117FD4 + .incbin "baserom.gba", 0x117FD4, 0x00001AD + +gUnk_08118181:: @ 08118181 + .incbin "baserom.gba", 0x118181, 0x0000033 + +gUnk_081181B4:: @ 081181B4 + .incbin "baserom.gba", 0x1181B4, 0x0000030 + +gUnk_081181E4:: @ 081181E4 + .incbin "baserom.gba", 0x1181E4, 0x0000054 + +gUnk_08118238:: @ 08118238 + .incbin "baserom.gba", 0x118238, 0x000002C + +gUnk_08118264:: @ 08118264 + .incbin "baserom.gba", 0x118264, 0x0000034 + +gUnk_08118298:: @ 08118298 + .incbin "baserom.gba", 0x118298, 0x0000100 + +gUnk_08118398:: @ 08118398 + .incbin "baserom.gba", 0x118398, 0x0000024 + +gUnk_081183BC:: @ 081183BC + .incbin "baserom.gba", 0x1183BC, 0x00000B0 + +gUnk_0811846C:: @ 0811846C + .incbin "baserom.gba", 0x11846C, 0x000003C + +gUnk_081184A8:: @ 081184A8 + .incbin "baserom.gba", 0x1184A8, 0x00000B0 + +gUnk_08118558:: @ 08118558 + .incbin "baserom.gba", 0x118558, 0x00001C8 + +gUnk_08118720:: @ 08118720 + .incbin "baserom.gba", 0x118720, 0x0000048 + +gUnk_08118768:: @ 08118768 + .incbin "baserom.gba", 0x118768, 0x0000018 + +gUnk_08118780:: @ 08118780 + .incbin "baserom.gba", 0x118780, 0x0000008 + +gUnk_08118788:: @ 08118788 + .incbin "baserom.gba", 0x118788, 0x000000C + +gUnk_08118794:: @ 08118794 + .incbin "baserom.gba", 0x118794, 0x000012C + +gUnk_081188C0:: @ 081188C0 + .incbin "baserom.gba", 0x1188C0, 0x0000088 + +gUnk_08118948:: @ 08118948 + .incbin "baserom.gba", 0x118948, 0x0000018 + +gUnk_08118960:: @ 08118960 + .incbin "baserom.gba", 0x118960, 0x0000014 + +gUnk_08118974:: @ 08118974 + .incbin "baserom.gba", 0x118974, 0x0000014 + +gUnk_08118988:: @ 08118988 + .incbin "baserom.gba", 0x118988, 0x0000278 + +gUnk_08118C00:: @ 08118C00 + .incbin "baserom.gba", 0x118C00, 0x0000138 + +gUnk_08118D38:: @ 08118D38 + .incbin "baserom.gba", 0x118D38, 0x000006C + +gUnk_08118DA4:: @ 08118DA4 + .incbin "baserom.gba", 0x118DA4, 0x000002C + +gUnk_08118DD0:: @ 08118DD0 + .incbin "baserom.gba", 0x118DD0, 0x000000C + +gUnk_08118DDC:: @ 08118DDC + .incbin "baserom.gba", 0x118DDC, 0x0000080 + +gUnk_08118E5C:: @ 08118E5C + .incbin "baserom.gba", 0x118E5C, 0x00000A8 + +gUnk_08118F04:: @ 08118F04 + .incbin "baserom.gba", 0x118F04, 0x0000038 + +gUnk_08118F3C:: @ 08118F3C + .incbin "baserom.gba", 0x118F3C, 0x0000028 + +gUnk_08118F64:: @ 08118F64 + .incbin "baserom.gba", 0x118F64, 0x0000034 + +gUnk_08118F98:: @ 08118F98 + .incbin "baserom.gba", 0x118F98, 0x0000108 + +gUnk_081190A0:: @ 081190A0 + .incbin "baserom.gba", 0x1190A0, 0x0000044 + +gUnk_081190E4:: @ 081190E4 + .incbin "baserom.gba", 0x1190E4, 0x0000038 + +gUnk_0811911C:: @ 0811911C + .incbin "baserom.gba", 0x11911C, 0x0000010 + +gUnk_0811912C:: @ 0811912C + .incbin "baserom.gba", 0x11912C, 0x000005C + +gUnk_08119188:: @ 08119188 + .incbin "baserom.gba", 0x119188, 0x0000120 + +gUnk_081192A8:: @ 081192A8 + .incbin "baserom.gba", 0x1192A8, 0x00002A0 + +gUnk_08119548:: @ 08119548 + .incbin "baserom.gba", 0x119548, 0x000027C + +gUnk_081197C4:: @ 081197C4 + .incbin "baserom.gba", 0x1197C4, 0x0000030 + +gUnk_081197F4:: @ 081197F4 + .incbin "baserom.gba", 0x1197F4, 0x00000D0 + +gUnk_081198C4:: @ 081198C4 + .incbin "baserom.gba", 0x1198C4, 0x0000028 + +gUnk_081198EC:: @ 081198EC + .incbin "baserom.gba", 0x1198EC, 0x00000B8 + +gUnk_081199A4:: @ 081199A4 + .incbin "baserom.gba", 0x1199A4, 0x0000054 + +gUnk_081199F8:: @ 081199F8 + .incbin "baserom.gba", 0x1199F8, 0x000007C + +gUnk_08119A74:: @ 08119A74 + .incbin "baserom.gba", 0x119A74, 0x000007C + +gUnk_08119AF0:: @ 08119AF0 + .incbin "baserom.gba", 0x119AF0, 0x000008C + +gUnk_08119B7C:: @ 08119B7C + .incbin "baserom.gba", 0x119B7C, 0x0000074 + +gUnk_08119BF0:: @ 08119BF0 + .incbin "baserom.gba", 0x119BF0, 0x0000074 + +gUnk_08119C64:: @ 08119C64 + .incbin "baserom.gba", 0x119C64, 0x0000090 + +gUnk_08119CF4:: @ 08119CF4 + .incbin "baserom.gba", 0x119CF4, 0x0000060 + +gUnk_08119D54:: @ 08119D54 + .incbin "baserom.gba", 0x119D54, 0x0000054 + +gUnk_08119DA8:: @ 08119DA8 + .incbin "baserom.gba", 0x119DA8, 0x0000054 + +gUnk_08119DFC:: @ 08119DFC + .incbin "baserom.gba", 0x119DFC, 0x000001C + +gUnk_08119E18:: @ 08119E18 + .incbin "baserom.gba", 0x119E18, 0x000002C + +gUnk_08119E44:: @ 08119E44 + .incbin "baserom.gba", 0x119E44, 0x000006C + +gUnk_08119EB0:: @ 08119EB0 + .incbin "baserom.gba", 0x119EB0, 0x0000028 + +gUnk_08119ED8:: @ 08119ED8 + .incbin "baserom.gba", 0x119ED8, 0x00000A8 + +gUnk_08119F80:: @ 08119F80 + .incbin "baserom.gba", 0x119F80, 0x0000024 + +gUnk_08119FA4:: @ 08119FA4 + .incbin "baserom.gba", 0x119FA4, 0x0000024 + +gUnk_08119FC8:: @ 08119FC8 + .incbin "baserom.gba", 0x119FC8, 0x000000C + +gUnk_08119FD4:: @ 08119FD4 + .incbin "baserom.gba", 0x119FD4, 0x0000048 + +gUnk_0811A01C:: @ 0811A01C + .incbin "baserom.gba", 0x11A01C, 0x0000030 + +gUnk_0811A04C:: @ 0811A04C + .incbin "baserom.gba", 0x11A04C, 0x000001C + +gUnk_0811A068:: @ 0811A068 + .incbin "baserom.gba", 0x11A068, 0x000003C + +gUnk_0811A0A4:: @ 0811A0A4 + .incbin "baserom.gba", 0x11A0A4, 0x0000028 + +gUnk_0811A0CC:: @ 0811A0CC + .incbin "baserom.gba", 0x11A0CC, 0x0000018 + +gUnk_0811A0E4:: @ 0811A0E4 + .incbin "baserom.gba", 0x11A0E4, 0x0000040 + +gUnk_0811A124:: @ 0811A124 + .incbin "baserom.gba", 0x11A124, 0x0000020 + +gUnk_0811A144:: @ 0811A144 + .incbin "baserom.gba", 0x11A144, 0x0000038 + +gUnk_0811A17C:: @ 0811A17C + .incbin "baserom.gba", 0x11A17C, 0x000004C + +gUnk_0811A1C8:: @ 0811A1C8 + .incbin "baserom.gba", 0x11A1C8, 0x0000030 + +gUnk_0811A1F8:: @ 0811A1F8 + .incbin "baserom.gba", 0x11A1F8, 0x0000030 + +gUnk_0811A228:: @ 0811A228 + .incbin "baserom.gba", 0x11A228, 0x0000058 + +gUnk_0811A280:: @ 0811A280 + .incbin "baserom.gba", 0x11A280, 0x000000C + +gUnk_0811A28C:: @ 0811A28C + .incbin "baserom.gba", 0x11A28C, 0x000001C + +gUnk_0811A2A8:: @ 0811A2A8 + .incbin "baserom.gba", 0x11A2A8, 0x0000028 + +gUnk_0811A2D0:: @ 0811A2D0 + .incbin "baserom.gba", 0x11A2D0, 0x000002C + +gUnk_0811A2FC:: @ 0811A2FC + .incbin "baserom.gba", 0x11A2FC, 0x0000214 + +gUnk_0811A510:: @ 0811A510 + .incbin "baserom.gba", 0x11A510, 0x000024C + +gUnk_0811A75C:: @ 0811A75C + .incbin "baserom.gba", 0x11A75C, 0x000004C + +gUnk_0811A7A8:: @ 0811A7A8 + .incbin "baserom.gba", 0x11A7A8, 0x00000C4 + +gUnk_0811A86C:: @ 0811A86C + .incbin "baserom.gba", 0x11A86C, 0x0000060 + +gUnk_0811A8CC:: @ 0811A8CC + .incbin "baserom.gba", 0x11A8CC, 0x00000E8 + +gUnk_0811A9B4:: @ 0811A9B4 + .incbin "baserom.gba", 0x11A9B4, 0x0000078 + +gUnk_0811AA2C:: @ 0811AA2C + .incbin "baserom.gba", 0x11AA2C, 0x0000050 + +gUnk_0811AA7C:: @ 0811AA7C + .incbin "baserom.gba", 0x11AA7C, 0x000009C + +gUnk_0811AB18:: @ 0811AB18 + .incbin "baserom.gba", 0x11AB18, 0x00000E0 + +gUnk_0811ABF8:: @ 0811ABF8 + .incbin "baserom.gba", 0x11ABF8, 0x0000019 + +gUnk_0811AC11:: @ 0811AC11 + .incbin "baserom.gba", 0x11AC11, 0x0000113 + +gUnk_0811AD24:: @ 0811AD24 + .incbin "baserom.gba", 0x11AD24, 0x00000A8 + +gUnk_0811ADCC:: @ 0811ADCC + .incbin "baserom.gba", 0x11ADCC, 0x00000E4 + +gUnk_0811AEB0:: @ 0811AEB0 + .incbin "baserom.gba", 0x11AEB0, 0x0000028 + +gUnk_0811AED8:: @ 0811AED8 + .incbin "baserom.gba", 0x11AED8, 0x000004C + +gUnk_0811AF24:: @ 0811AF24 + .incbin "baserom.gba", 0x11AF24, 0x0000010 + +gUnk_0811AF34:: @ 0811AF34 + .incbin "baserom.gba", 0x11AF34, 0x0000030 + +gUnk_0811AF64:: @ 0811AF64 + .incbin "baserom.gba", 0x11AF64, 0x0000028 + +gUnk_0811AF8C:: @ 0811AF8C + .incbin "baserom.gba", 0x11AF8C, 0x0000030 + +gUnk_0811AFBC:: @ 0811AFBC + .incbin "baserom.gba", 0x11AFBC, 0x0000014 + +gUnk_0811AFD0:: @ 0811AFD0 + .incbin "baserom.gba", 0x11AFD0, 0x0000030 + +gUnk_0811B000:: @ 0811B000 + .incbin "baserom.gba", 0x11B000, 0x000001C + +gUnk_0811B01C:: @ 0811B01C + .incbin "baserom.gba", 0x11B01C, 0x0000010 + +gUnk_0811B02C:: @ 0811B02C + .incbin "baserom.gba", 0x11B02C, 0x0000084 + +gUnk_0811B0B0:: @ 0811B0B0 + .incbin "baserom.gba", 0x11B0B0, 0x0000080 + +gUnk_0811B130:: @ 0811B130 + .incbin "baserom.gba", 0x11B130, 0x0000048 + +gUnk_0811B178:: @ 0811B178 + .incbin "baserom.gba", 0x11B178, 0x0000018 + +gUnk_0811B190:: @ 0811B190 + .incbin "baserom.gba", 0x11B190, 0x0000084 + +gUnk_0811B214:: @ 0811B214 + .incbin "baserom.gba", 0x11B214, 0x0000044 + +gUnk_0811B258:: @ 0811B258 + .incbin "baserom.gba", 0x11B258, 0x000003C + +gUnk_0811B294:: @ 0811B294 + .incbin "baserom.gba", 0x11B294, 0x0000068 + +gUnk_0811B2FC:: @ 0811B2FC + .incbin "baserom.gba", 0x11B2FC, 0x0000050 + +gUnk_0811B34C:: @ 0811B34C + .incbin "baserom.gba", 0x11B34C, 0x0000048 + +gUnk_0811B394:: @ 0811B394 + .incbin "baserom.gba", 0x11B394, 0x0000010 + +gUnk_0811B3A4:: @ 0811B3A4 + .incbin "baserom.gba", 0x11B3A4, 0x0000010 + +gUnk_0811B3B4:: @ 0811B3B4 + .incbin "baserom.gba", 0x11B3B4, 0x0000014 + +gUnk_0811B3C8:: @ 0811B3C8 + .incbin "baserom.gba", 0x11B3C8, 0x0000040 + +gUnk_0811B408:: @ 0811B408 + .incbin "baserom.gba", 0x11B408, 0x0000138 + +gUnk_0811B540:: @ 0811B540 + .incbin "baserom.gba", 0x11B540, 0x0000024 + +gUnk_0811B564:: @ 0811B564 + .incbin "baserom.gba", 0x11B564, 0x0000014 + +gUnk_0811B578:: @ 0811B578 + .incbin "baserom.gba", 0x11B578, 0x00003C8 + +gUnk_0811B940:: @ 0811B940 + .incbin "baserom.gba", 0x11B940, 0x000004C + +gUnk_0811B98C:: @ 0811B98C + .incbin "baserom.gba", 0x11B98C, 0x0000014 + +gUnk_0811B9A0:: @ 0811B9A0 + .incbin "baserom.gba", 0x11B9A0, 0x0000008 + +gUnk_0811B9A8:: @ 0811B9A8 + .incbin "baserom.gba", 0x11B9A8, 0x0000020 + +gUnk_0811B9C8:: @ 0811B9C8 + .incbin "baserom.gba", 0x11B9C8, 0x0000008 + +gUnk_0811B9D0:: @ 0811B9D0 + .incbin "baserom.gba", 0x11B9D0, 0x0000008 + +gUnk_0811B9D8:: @ 0811B9D8 + .incbin "baserom.gba", 0x11B9D8, 0x0000008 + +gUnk_0811B9E0:: @ 0811B9E0 + .incbin "baserom.gba", 0x11B9E0, 0x0000080 + +gUnk_0811BA60:: @ 0811BA60 + .incbin "baserom.gba", 0x11BA60, 0x0000008 + +gUnk_0811BA68:: @ 0811BA68 + .incbin "baserom.gba", 0x11BA68, 0x000000C + +gUnk_0811BA74:: @ 0811BA74 + .incbin "baserom.gba", 0x11BA74, 0x0000008 + +gUnk_0811BA7C:: @ 0811BA7C + .incbin "baserom.gba", 0x11BA7C, 0x000000C + +gUnk_0811BA88:: @ 0811BA88 + .incbin "baserom.gba", 0x11BA88, 0x000000C + +gUnk_0811BA94:: @ 0811BA94 + .incbin "baserom.gba", 0x11BA94, 0x0000008 + +gUnk_0811BA9C:: @ 0811BA9C + .incbin "baserom.gba", 0x11BA9C, 0x0000020 + +gUnk_0811BABC:: @ 0811BABC + .incbin "baserom.gba", 0x11BABC, 0x0000008 + +gUnk_0811BAC4:: @ 0811BAC4 + .incbin "baserom.gba", 0x11BAC4, 0x0000010 + +gUnk_0811BAD4:: @ 0811BAD4 + .incbin "baserom.gba", 0x11BAD4, 0x0000010 + +gUnk_0811BAE4:: @ 0811BAE4 + .incbin "baserom.gba", 0x11BAE4, 0x000000C + +gUnk_0811BAF0:: @ 0811BAF0 + .incbin "baserom.gba", 0x11BAF0, 0x000003C + +gUnk_0811BB2C:: @ 0811BB2C + .incbin "baserom.gba", 0x11BB2C, 0x000000C + +gUnk_0811BB38:: @ 0811BB38 + .incbin "baserom.gba", 0x11BB38, 0x0000004 + +gUnk_0811BB3C:: @ 0811BB3C + .incbin "baserom.gba", 0x11BB3C, 0x000000C + +gUnk_0811BB48:: @ 0811BB48 + .incbin "baserom.gba", 0x11BB48, 0x0000008 + +gUnk_0811BB50:: @ 0811BB50 + .incbin "baserom.gba", 0x11BB50, 0x0000008 + +gUnk_0811BB58:: @ 0811BB58 + .incbin "baserom.gba", 0x11BB58, 0x0000008 + +gUnk_0811BB60:: @ 0811BB60 + .incbin "baserom.gba", 0x11BB60, 0x0000008 + +gUnk_0811BB68:: @ 0811BB68 + .incbin "baserom.gba", 0x11BB68, 0x0000008 + +gUnk_0811BB70:: @ 0811BB70 + .incbin "baserom.gba", 0x11BB70, 0x0000010 + +gUnk_0811BB80:: @ 0811BB80 + .incbin "baserom.gba", 0x11BB80, 0x0000008 + +gUnk_0811BB88:: @ 0811BB88 + .incbin "baserom.gba", 0x11BB88, 0x0000008 + +gUnk_0811BB90:: @ 0811BB90 + .incbin "baserom.gba", 0x11BB90, 0x0000008 + +gUnk_0811BB98:: @ 0811BB98 + .incbin "baserom.gba", 0x11BB98, 0x0000014 + +gUnk_0811BBAC:: @ 0811BBAC + .incbin "baserom.gba", 0x11BBAC, 0x0000010 + +gUnk_0811BBBC:: @ 0811BBBC + .incbin "baserom.gba", 0x11BBBC, 0x0000006 + +gUnk_0811BBC2:: @ 0811BBC2 + .incbin "baserom.gba", 0x11BBC2, 0x0000006 + +gUnk_0811BBC8:: @ 0811BBC8 + .incbin "baserom.gba", 0x11BBC8, 0x0000006 + +gUnk_0811BBCE:: @ 0811BBCE + .incbin "baserom.gba", 0x11BBCE, 0x0000006 + +gUnk_0811BBD4:: @ 0811BBD4 + .incbin "baserom.gba", 0x11BBD4, 0x0000010 + +gUnk_0811BBE4:: @ 0811BBE4 + .incbin "baserom.gba", 0x11BBE4, 0x0000008 + +gUnk_0811BBEC:: @ 0811BBEC + .incbin "baserom.gba", 0x11BBEC, 0x000000C + +gUnk_0811BBF8:: @ 0811BBF8 + .incbin "baserom.gba", 0x11BBF8, 0x0000010 + +gUnk_0811BC08:: @ 0811BC08 + .incbin "baserom.gba", 0x11BC08, 0x0000020 + +gUnk_0811BC28:: @ 0811BC28 + .incbin "baserom.gba", 0x11BC28, 0x0000008 + +gUnk_0811BC30:: @ 0811BC30 + .incbin "baserom.gba", 0x11BC30, 0x0000008 + +gUnk_0811BC38:: @ 0811BC38 + .incbin "baserom.gba", 0x11BC38, 0x0000008 + +gUnk_0811BC40:: @ 0811BC40 + .incbin "baserom.gba", 0x11BC40, 0x0000008 + +gUnk_0811BC48:: @ 0811BC48 + .incbin "baserom.gba", 0x11BC48, 0x0000018 + +gUnk_0811BC60:: @ 0811BC60 + .incbin "baserom.gba", 0x11BC60, 0x0000020 + +gUnk_0811BC80:: @ 0811BC80 + .incbin "baserom.gba", 0x11BC80, 0x0000008 + +gUnk_0811BC88:: @ 0811BC88 + .incbin "baserom.gba", 0x11BC88, 0x0000010 + +gUnk_0811BC98:: @ 0811BC98 + .incbin "baserom.gba", 0x11BC98, 0x000001C + +gUnk_0811BCB4:: @ 0811BCB4 + .incbin "baserom.gba", 0x11BCB4, 0x0000010 diff --git a/linker.ld b/linker.ld index d3c9a02a..6343716e 100644 --- a/linker.ld +++ b/linker.ld @@ -1009,6 +1009,8 @@ SECTIONS { data/data_08108308.o(.rodata); src/manager/manager1E.o(.rodata); data/data_08108C94.o(.rodata); + src/manager/manager28.o(.rodata); + data/data_08108D30.o(.rodata); src/item.o(.rodata); data/data_0811BD44.o(.rodata); data/room_headers.o(.rodata); diff --git a/src/manager/manager28.c b/src/manager/manager28.c index 44b33b08..3ea38f38 100644 --- a/src/manager/manager28.c +++ b/src/manager/manager28.c @@ -9,33 +9,46 @@ typedef struct { Entity* unk_20[8]; } Manager28; -extern void (* const gUnk_08108D28[])(Manager28*); - -void sub_0805C934(Manager28*); -void sub_0805C94C(Manager28*); +void Manager28_Main(Manager28*); +void Manager28_Init(Manager28*); void sub_0805C9BC(Manager28*); -u32 sub_0805CA6C(Manager28*); -Entity* sub_0805CAF0(EntityData*); -void sub_0805CB48(Manager28*); +u32 Manager28_FindMatchingEntities(Manager28*); +Entity* Manager28_FindMatchingEntity(EntityData*); +void Manager28_RemoveDeletedEntities(Manager28*); -void sub_0805C934(Manager28* this) { +void (* const gUnk_08108D28[])(Manager28*) = { + Manager28_Init, + Manager28_Main +}; + +enum Manager28_Action { + Init = 0, + Main = 1 +}; + +enum Manager28_InitState { + DoInit = 0, + DoNotInit = 1 +}; + +void Manager28_Entry(Manager28* this) { gUnk_08108D28[this->manager.action](this); } -NONMATCH("asm/non_matching/manager28/sub_0805C94C.inc", void sub_0805C94C(Manager28* this)) { - if (!this->manager.unk_0a) { +NONMATCH("asm/non_matching/manager28/Manager28_Init.inc", void Manager28_Init(Manager28* this)) { + if (this->manager.unk_0a == DoInit) { s32 tmp2; int tmp4; for (tmp4 = 0; tmp4 < 8; tmp4++) { this->unk_20[tmp4] = 0; } - tmp2 = sub_0805CA6C(this);//maybe 2 params? + tmp2 = Manager28_FindMatchingEntities(this); if (tmp2 > 1) { Manager28* tmp3 = (Manager28*) GetEmptyManager(); if (tmp3) { tmp3->manager.type = 9; tmp3->manager.subtype = 0x28; - tmp3->manager.unk_0a = 1; + tmp3->manager.unk_0a = DoNotInit; tmp3->manager.unk_0e = tmp2; for (tmp4 = 0; tmp4 < 8; tmp4++) { tmp3->unk_20[tmp4] = this->unk_20[tmp4]; @@ -45,18 +58,18 @@ NONMATCH("asm/non_matching/manager28/sub_0805C94C.inc", void sub_0805C94C(Manage } DeleteManager(&this->manager); } else { - this->manager.action = 1; + this->manager.action = Main; this->manager.unk_0f = 0; } } END_NONMATCH -void sub_0805C9BC(Manager28* this) { +void Manager28_Main(Manager28* this) { s32 n; s32 i; s32 j; Entity* tmp; - sub_0805CB48(this); + Manager28_RemoveDeletedEntities(this); n = this->manager.unk_0e - 1; if ((this->manager.unk_0f++) & 1) { for (i = 0; i < n; i++) { @@ -75,7 +88,7 @@ void sub_0805C9BC(Manager28* this) { } } -u32 sub_0805CA6C(Manager28* this) { +u32 Manager28_FindMatchingEntities(Manager28* this) { u32 re = 0; EntityData * tmp = GetCurrentRoomProperty(this->manager.unk_0b); if (!tmp) return 0; @@ -83,7 +96,7 @@ u32 sub_0805CA6C(Manager28* this) { Entity* tmp2; u32 i; if (tmp->type != 3) continue; - tmp2 = sub_0805CAF0(tmp); + tmp2 = Manager28_FindMatchingEntity(tmp); if (!tmp2) continue; for (i = 0; i < re; i++) { if (this->unk_20[i] == tmp2) break; @@ -95,7 +108,7 @@ u32 sub_0805CA6C(Manager28* this) { return re; } -Entity* sub_0805CAF0(EntityData* unk1) { +Entity* Manager28_FindMatchingEntity(EntityData* unk1) { u32 x, y; Entity* i; LinkedList* tmp; @@ -114,12 +127,12 @@ Entity* sub_0805CAF0(EntityData* unk1) { return 0; } -void sub_0805CB48(Manager28* this) { +void Manager28_RemoveDeletedEntities(Manager28* this) { s32 i; for (i = 0; i < this->manager.unk_0e; i++) { if (this->unk_20[i]->next == 0) { if (this->manager.unk_0e-1 == i) { - this->unk_20[i] = this->unk_20[i]->next; + this->unk_20[i] = 0; } else { this->unk_20[i] = this->unk_20[this->manager.unk_0e-1]; } From dee308d56d04ad6233784e3395dc8d72c9cf03f8 Mon Sep 17 00:00:00 2001 From: Ibot02 Date: Mon, 18 Jan 2021 16:58:25 +0100 Subject: [PATCH 033/101] manager28.c: more renaming --- src/manager/manager28.c | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/src/manager/manager28.c b/src/manager/manager28.c index 3ea38f38..382f072f 100644 --- a/src/manager/manager28.c +++ b/src/manager/manager28.c @@ -6,17 +6,17 @@ typedef struct { Manager manager; - Entity* unk_20[8]; + Entity* enemies[8]; } Manager28; -void Manager28_Main(Manager28*); +void Manager28_Entry(Manager28*); void Manager28_Init(Manager28*); -void sub_0805C9BC(Manager28*); +void Manager28_Main(Manager28*); u32 Manager28_FindMatchingEntities(Manager28*); Entity* Manager28_FindMatchingEntity(EntityData*); void Manager28_RemoveDeletedEntities(Manager28*); -void (* const gUnk_08108D28[])(Manager28*) = { +void (* const Manager28_ActionFuncs[])(Manager28*) = { Manager28_Init, Manager28_Main }; @@ -32,7 +32,7 @@ enum Manager28_InitState { }; void Manager28_Entry(Manager28* this) { - gUnk_08108D28[this->manager.action](this); + Manager28_ActionFuncs[this->manager.action](this); } NONMATCH("asm/non_matching/manager28/Manager28_Init.inc", void Manager28_Init(Manager28* this)) { @@ -40,7 +40,7 @@ NONMATCH("asm/non_matching/manager28/Manager28_Init.inc", void Manager28_Init(Ma s32 tmp2; int tmp4; for (tmp4 = 0; tmp4 < 8; tmp4++) { - this->unk_20[tmp4] = 0; + this->enemies[tmp4] = 0; } tmp2 = Manager28_FindMatchingEntities(this); if (tmp2 > 1) { @@ -51,7 +51,7 @@ NONMATCH("asm/non_matching/manager28/Manager28_Init.inc", void Manager28_Init(Ma tmp3->manager.unk_0a = DoNotInit; tmp3->manager.unk_0e = tmp2; for (tmp4 = 0; tmp4 < 8; tmp4++) { - tmp3->unk_20[tmp4] = this->unk_20[tmp4]; + tmp3->enemies[tmp4] = this->enemies[tmp4]; } AppendEntityToList(tmp3, 6); } @@ -73,16 +73,16 @@ void Manager28_Main(Manager28* this) { n = this->manager.unk_0e - 1; if ((this->manager.unk_0f++) & 1) { for (i = 0; i < n; i++) { - tmp = this->unk_20[i]; + tmp = this->enemies[i]; for (j = i + 1; j < this->manager.unk_0e; j++) { - sub_08004484(tmp, this->unk_20[j]); + sub_08004484(tmp, this->enemies[j]); } } } else { for (i = 0; i < n; i++) { - tmp = this->unk_20[i]; + tmp = this->enemies[i]; for (j = i + 1; j < this->manager.unk_0e; j++) { - sub_08004484(this->unk_20[j], tmp); + sub_08004484(this->enemies[j], tmp); } } } @@ -99,10 +99,10 @@ u32 Manager28_FindMatchingEntities(Manager28* this) { tmp2 = Manager28_FindMatchingEntity(tmp); if (!tmp2) continue; for (i = 0; i < re; i++) { - if (this->unk_20[i] == tmp2) break; + if (this->enemies[i] == tmp2) break; } if (i != re) continue; - this->unk_20[re++] = tmp2; + this->enemies[re++] = tmp2; if (re == 8) return 8; } return re; @@ -130,11 +130,11 @@ Entity* Manager28_FindMatchingEntity(EntityData* unk1) { void Manager28_RemoveDeletedEntities(Manager28* this) { s32 i; for (i = 0; i < this->manager.unk_0e; i++) { - if (this->unk_20[i]->next == 0) { + if (this->enemies[i]->next == 0) { if (this->manager.unk_0e-1 == i) { - this->unk_20[i] = 0; + this->enemies[i] = 0; } else { - this->unk_20[i] = this->unk_20[this->manager.unk_0e-1]; + this->enemies[i] = this->enemies[this->manager.unk_0e-1]; } this->manager.unk_0e--; } From ba81e992a1b30c04e32e3068ff11f9a2dc1bd103 Mon Sep 17 00:00:00 2001 From: Ibot02 Date: Wed, 20 Jan 2021 23:49:25 +0100 Subject: [PATCH 034/101] manager26.c: ok --- asm/manager26.s | 200 ---------------------------------------- linker.ld | 2 +- src/manager/manager26.c | 98 ++++++++++++++++++++ 3 files changed, 99 insertions(+), 201 deletions(-) delete mode 100644 asm/manager26.s create mode 100644 src/manager/manager26.c diff --git a/asm/manager26.s b/asm/manager26.s deleted file mode 100644 index 7e21f1dd..00000000 --- a/asm/manager26.s +++ /dev/null @@ -1,200 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_0805C6B8 -sub_0805C6B8: @ 0x0805C6B8 - push {lr} - ldr r2, _0805C6CC @ =gUnk_08108D04 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0805C6CC: .4byte gUnk_08108D04 - - thumb_func_start sub_0805C6D0 -sub_0805C6D0: @ 0x0805C6D0 - push {r4, r5, r6, r7, lr} - sub sp, #4 - adds r5, r0, #0 - ldrb r0, [r5, #0xa] - bl GetCurrentRoomProperty - adds r4, r0, #0 - cmp r4, #0 - bne _0805C6EA - adds r0, r5, #0 - bl DeleteManager - b _0805C79A -_0805C6EA: - ldr r3, _0805C784 @ =gRoomControls - ldrh r0, [r3, #8] - ldrb r1, [r5, #0xe] - adds r0, r0, r1 - movs r1, #0 - strh r0, [r5, #0x2a] - strb r1, [r5, #0xe] - adds r0, r5, #0 - adds r0, #0x28 - strb r1, [r0] - adds r2, r5, #0 - adds r2, #0x29 - strb r1, [r2] - ldrb r0, [r4] - cmp r0, #0xff - beq _0805C778 - ldrb r0, [r5, #0xe] - cmp r0, #0x1f - bhi _0805C778 - adds r7, r3, #0 - movs r3, #1 - adds r6, r2, #0 -_0805C716: - ldrb r1, [r4, #1] - ldrb r2, [r4, #2] - movs r0, #0x4c - str r3, [sp] - bl CreateObject - adds r2, r0, #0 - ldr r3, [sp] - cmp r2, #0 - beq _0805C762 - ldrb r0, [r4, #3] - strb r0, [r2, #0xe] - ldrh r0, [r4, #4] - ldrh r1, [r7, #6] - adds r0, r0, r1 - strh r0, [r2, #0x2e] - ldrh r0, [r4, #6] - ldrh r1, [r7, #8] - adds r0, r0, r1 - strh r0, [r2, #0x32] - str r5, [r2, #0x50] - adds r0, r2, #0 - adds r0, #0x38 - strb r3, [r0] - ldrb r0, [r5, #0xe] - adds r1, r2, #0 - adds r1, #0x83 - strb r0, [r1] - ldrb r1, [r4] - adds r0, r2, #0 - adds r0, #0x82 - strb r1, [r0] - adds r0, r3, #0 - ldrb r1, [r5, #0xe] - lsls r0, r1 - ldrb r1, [r6] - orrs r0, r1 - strb r0, [r6] -_0805C762: - adds r4, #8 - ldrb r0, [r5, #0xe] - adds r1, r0, #1 - strb r1, [r5, #0xe] - ldrb r0, [r4] - cmp r0, #0xff - beq _0805C778 - lsls r0, r1, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #0x1f - bls _0805C716 -_0805C778: - ldrb r0, [r5, #0xb] - cmp r0, #0xff - bne _0805C788 - movs r0, #2 - b _0805C798 - .align 2, 0 -_0805C784: .4byte gRoomControls -_0805C788: - ldrb r0, [r5, #0xb] - bl CheckLocalFlag - cmp r0, #0 - beq _0805C796 - movs r0, #2 - b _0805C798 -_0805C796: - movs r0, #1 -_0805C798: - strb r0, [r5, #0xc] -_0805C79A: - add sp, #4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_0805C7A0 -sub_0805C7A0: @ 0x0805C7A0 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x28 - adds r1, r4, #0 - adds r1, #0x29 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bne _0805C7BC - movs r0, #2 - strb r0, [r4, #0xc] - ldrb r0, [r4, #0xb] - bl SetLocalFlag -_0805C7BC: - adds r0, r4, #0 - bl sub_0805C7CC - pop {r4, pc} - - thumb_func_start sub_0805C7C4 -sub_0805C7C4: @ 0x0805C7C4 - push {lr} - bl sub_0805C7CC - pop {pc} - - thumb_func_start sub_0805C7CC -sub_0805C7CC: @ 0x0805C7CC - push {lr} - adds r2, r0, #0 - ldr r0, _0805C7F0 @ =gPlayerState - ldr r0, [r0, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0805C7FC - ldr r0, _0805C7F4 @ =gPlayerEntity - movs r3, #0x32 - ldrsh r1, [r0, r3] - ldrh r0, [r2, #0x2a] - adds r0, #0x10 - cmp r1, r0 - bge _0805C7F8 - movs r0, #1 - b _0805C816 - .align 2, 0 -_0805C7F0: .4byte gPlayerState -_0805C7F4: .4byte gPlayerEntity -_0805C7F8: - movs r0, #0 - b _0805C816 -_0805C7FC: - ldr r0, _0805C810 @ =gPlayerEntity - movs r3, #0x32 - ldrsh r1, [r0, r3] - ldrh r0, [r2, #0x2a] - adds r0, #0x28 - cmp r1, r0 - bge _0805C814 - movs r0, #3 - b _0805C816 - .align 2, 0 -_0805C810: .4byte gPlayerEntity -_0805C814: - movs r0, #2 -_0805C816: - strb r0, [r2, #0xd] - pop {pc} - .align 2, 0 diff --git a/linker.ld b/linker.ld index 6343716e..346b4f93 100644 --- a/linker.ld +++ b/linker.ld @@ -508,7 +508,7 @@ SECTIONS { asm/manager23.o(.text); asm/manager24.o(.text); asm/manager25.o(.text); - asm/manager26.o(.text); + src/manager/manager26.o(.text); src/manager/manager27.o(.text); src/manager/manager28.o(.text); asm/manager29.o(.text); diff --git a/src/manager/manager26.c b/src/manager/manager26.c new file mode 100644 index 00000000..885f7f03 --- /dev/null +++ b/src/manager/manager26.c @@ -0,0 +1,98 @@ +#include "global.h" +#include "manager.h" +#include "entity.h" +#include "flags.h" +#include "room.h" +#include "functions.h" + +typedef struct { + Manager manager; + u8 unk_20[0x8]; + u8 unk_28; + u8 unk_29; + u16 unk_2a; +} Manager26; + +typedef struct { + u8 unk_00; + u8 unk_01; + u8 unk_02; + u8 unk_03; + u16 unk_04; + u16 unk_06; +} UnkManager26HelperStruct; + +extern void (* const gUnk_08108D04[])(Manager26*); + +extern void * GetCurrentRoomProperty(u32); + +void sub_0805C7CC(Manager26*); + +void sub_0805C6B8(Manager26* this) { + gUnk_08108D04[this->manager.action](this); +} + +void sub_0805C6D0(Manager26* this) { + UnkManager26HelperStruct* tmp = GetCurrentRoomProperty(this->manager.unk_0a); + if (!tmp) { + DeleteManager(&this->manager); + return; + } + this->unk_2a = gRoomControls.roomOriginY + this->manager.unk_0e; + this->manager.unk_0e = 0; + this->unk_28 = 0; + this->unk_29 = 0; + while (tmp->unk_00 != 0xFF && this->manager.unk_0e < 0x20) { + Entity* obj; + obj = CreateObject(0x4C, tmp->unk_01, tmp->unk_02); + if (obj) { + obj->actionDelay = tmp->unk_03; + obj->x.HALF.HI = gRoomControls.roomOriginX + tmp->unk_04; + obj->y.HALF.HI = gRoomControls.roomOriginY + tmp->unk_06; + obj->parent = (Entity*) this; + obj->collisionLayer = 1; + obj->field_0x82.HALF.HI = this->manager.unk_0e; + obj->field_0x82.HALF.LO = tmp->unk_00; + this->unk_29 |= 1 << this->manager.unk_0e; + } + tmp++; + this->manager.unk_0e++; + } + if (this->manager.unk_0b == 0xFF) { + this->manager.action = 2; + } else { + if (CheckLocalFlag(this->manager.unk_0b)) { + this->manager.action = 2; + } else { + this->manager.action = 1; + } + } +} + +void sub_0805C7A0(Manager26* this) { + if (this->unk_28 == this->unk_29) { + this->manager.action = 2; + SetLocalFlag(this->manager.unk_0b); + } + sub_0805C7CC(this); +} + +void sub_0805C7C4(Manager26* this) { + sub_0805C7CC(this); +} + +void sub_0805C7CC(Manager26* this) { + if (gPlayerState.flags.all & 0x80) { + if (gPlayerEntity.y.HALF.HI < this->unk_2a + 0x10) { + this->manager.unk_0d = 1; + } else { + this->manager.unk_0d = 0; + } + } else { + if (gPlayerEntity.y.HALF.HI < this->unk_2a + 0x28) { + this->manager.unk_0d = 3; + } else { + this->manager.unk_0d = 2; + } + } +} From 44915bff1fa79f5aab47461eb1a45e00cd5d521f Mon Sep 17 00:00:00 2001 From: Ibot02 Date: Thu, 21 Jan 2021 20:24:49 +0100 Subject: [PATCH 035/101] manager26 and manager27: split out rodata --- data/data_08108C94.s | 12 ------------ linker.ld | 2 ++ src/manager/manager26.c | 10 ++++++++-- src/manager/manager27.c | 18 +++++++++++++++--- 4 files changed, 25 insertions(+), 17 deletions(-) diff --git a/data/data_08108C94.s b/data/data_08108C94.s index e2fb8853..7d6cf7b4 100644 --- a/data/data_08108C94.s +++ b/data/data_08108C94.s @@ -24,15 +24,3 @@ gUnk_08108CE8:: @ 08108CE8 gUnk_08108CFC:: @ 08108CFC .incbin "baserom.gba", 0x108CFC, 0x0000008 - -gUnk_08108D04:: @ 08108D04 - .incbin "baserom.gba", 0x108D04, 0x000000C - -gUnk_08108D10:: @ 08108D10 - .incbin "baserom.gba", 0x108D10, 0x000000C - -gUnk_08108D1C:: @ 08108D1C - .incbin "baserom.gba", 0x108D1C, 0x0000004 - -gUnk_08108D20:: @ 08108D20 - .incbin "baserom.gba", 0x108D20, 0x0000008 diff --git a/linker.ld b/linker.ld index 346b4f93..82d74022 100644 --- a/linker.ld +++ b/linker.ld @@ -1009,6 +1009,8 @@ SECTIONS { data/data_08108308.o(.rodata); src/manager/manager1E.o(.rodata); data/data_08108C94.o(.rodata); + src/manager/manager26.o(.rodata); + src/manager/manager27.o(.rodata); src/manager/manager28.o(.rodata); data/data_08108D30.o(.rodata); src/item.o(.rodata); diff --git a/src/manager/manager26.c b/src/manager/manager26.c index 885f7f03..46aa2565 100644 --- a/src/manager/manager26.c +++ b/src/manager/manager26.c @@ -22,9 +22,15 @@ typedef struct { u16 unk_06; } UnkManager26HelperStruct; -extern void (* const gUnk_08108D04[])(Manager26*); +void sub_0805C6D0(Manager26*); +void sub_0805C7A0(Manager26*); +void sub_0805C7C4(Manager26*); -extern void * GetCurrentRoomProperty(u32); +void (* const gUnk_08108D04[])(Manager26*) = { + sub_0805C6D0, + sub_0805C7A0, + sub_0805C7C4 +}; void sub_0805C7CC(Manager26*); diff --git a/src/manager/manager27.c b/src/manager/manager27.c index 13e3c09b..641fdc9b 100644 --- a/src/manager/manager27.c +++ b/src/manager/manager27.c @@ -5,9 +5,22 @@ extern u32 sub_0805C920(Entity*); extern void LoadPaletteGroup(u32); -extern void (*const gUnk_08108D10[])(Entity*); -extern u8 gUnk_08108D20[]; +void sub_0805C874(Entity*); +void sub_0805C894(Entity*); +void sub_0805C8B4(Entity*); +void sub_0805C908(Entity*); + +void (*const gUnk_08108D10[])(Entity*) = { + sub_0805C874, + sub_0805C894, + sub_0805C8B4, + sub_0805C908 +}; + +const u8 gUnk_08108D20[] = { + 0x6F, 0x70, 0x71, 0x72, 0x71, 0x70 +}; void Manager27(Entity* this) { @@ -33,7 +46,6 @@ void sub_0805C874(Entity* this) { } void sub_0805C894(Entity* this) { - if (sub_0805C920(this)) { this->action = 2; this->actionDelay = 1; From 468746bf6debf8687556280c8557cad5cd9732e4 Mon Sep 17 00:00:00 2001 From: Ibot02 Date: Fri, 22 Jan 2021 00:38:22 +0100 Subject: [PATCH 036/101] manager26.c: moved struct for rom data to header --- include/manager.h | 9 +++++++++ src/manager/manager26.c | 9 --------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/include/manager.h b/include/manager.h index 4a711380..18850056 100644 --- a/include/manager.h +++ b/include/manager.h @@ -124,4 +124,13 @@ extern struct { extern DiggingCaveEntrance* gUnk_08107DC0[]; +typedef struct { + u8 unk_00; + u8 unk_01; + u8 unk_02; + u8 unk_03; + u16 unk_04; + u16 unk_06; +} UnkManager26HelperStruct; + #endif diff --git a/src/manager/manager26.c b/src/manager/manager26.c index 46aa2565..dda5761c 100644 --- a/src/manager/manager26.c +++ b/src/manager/manager26.c @@ -13,15 +13,6 @@ typedef struct { u16 unk_2a; } Manager26; -typedef struct { - u8 unk_00; - u8 unk_01; - u8 unk_02; - u8 unk_03; - u16 unk_04; - u16 unk_06; -} UnkManager26HelperStruct; - void sub_0805C6D0(Manager26*); void sub_0805C7A0(Manager26*); void sub_0805C7C4(Manager26*); From ced13c2c8d727e01bdb687a4c982ed9296c9e10e Mon Sep 17 00:00:00 2001 From: theo3 Date: Sun, 31 Jan 2021 11:23:42 -0800 Subject: [PATCH 037/101] finish main.c --- Makefile | 2 +- asm/code_08055FF4.s | 369 ------------------------------ asm/non_matching/sub_080560B8.inc | 66 ++++++ data/data_08100CD4.s | 8 - include/functions.h | 2 + include/gba/macro.h | 6 + include/gba/syscall.h | 12 + include/global.h | 1 + include/main.h | 7 + include/screen.h | 5 + include/structures.h | 11 +- linker.ld | 6 +- src/code_0807CC3C.c | 2 +- src/enemy/helmasaur.c | 2 +- src/{mainLoop.c => main.c} | 129 +++++++++++ src/npc/beedle.c | 2 +- src/npc/forestMinish.c | 4 +- src/npc/goron.c | 2 +- src/npc/goronMerchant.c | 2 +- src/npc/guard.c | 4 +- src/npc/mutoh.c | 2 +- src/npc/townMinish.c | 2 +- src/object/lightableSwitch.c | 2 +- src/room.c | 2 +- src/textbox.c | 35 ++- src/tmc.code-workspace | 4 +- 26 files changed, 268 insertions(+), 421 deletions(-) delete mode 100644 asm/code_08055FF4.s create mode 100644 asm/non_matching/sub_080560B8.inc delete mode 100755 data/data_08100CD4.s rename src/{mainLoop.c => main.c} (54%) diff --git a/Makefile b/Makefile index a4c4568c..99b1d5c6 100644 --- a/Makefile +++ b/Makefile @@ -38,7 +38,7 @@ MID_BUILDDIR = $(OBJ_DIR)/$(MID_SUBDIR) ASFLAGS := -mcpu=arm7tdmi --defsym $(GAME_VERSION)=1 --defsym REVISION=$(REVISION) --defsym $(GAME_LANGUAGE)=1 CC1 := tools/agbcc/bin/agbcc -override CFLAGS += -Wimplicit -Wparentheses -Werror -O2 +override CFLAGS += -Wimplicit -Wparentheses -Werror -Wno-multichar -O2 # -fhex-asm ifeq ($(DINFO),1) diff --git a/asm/code_08055FF4.s b/asm/code_08055FF4.s deleted file mode 100644 index 0effa9a0..00000000 --- a/asm/code_08055FF4.s +++ /dev/null @@ -1,369 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_080560B8 -sub_080560B8: @ 0x080560B8 - push {r4, lr} - bl sub_08056134 - cmp r0, #0 - bne _080560F8 - movs r0, #0x80 - lsls r0, r0, #0x12 - bl sub_0807CF30 - adds r1, r0, #0 - movs r0, #1 - rsbs r0, r0, #0 - cmp r1, r0 - blt _080560E4 - cmp r1, #0 - ble _080560E4 - cmp r1, #1 - bne _080560E4 - bl sub_08056134 - cmp r0, #0 - bne _080560F8 -_080560E4: - ldr r0, _08056128 @ =gUnk_08100CD4 - movs r4, #0x80 - lsls r4, r4, #0x12 - adds r1, r4, #0 - movs r2, #0x10 - bl _DmaCopy - adds r0, r4, #0 - bl sub_0807CF10 -_080560F8: - ldr r2, _0805612C @ =gUnk_02000010 - ldr r1, [r2] - ldr r0, _08056130 @ =0x4D435A33 - eors r1, r0 - rsbs r0, r1, #0 - orrs r0, r1 - lsrs r0, r0, #0x1f - ldrb r1, [r2, #4] - cmp r1, #0 - beq _08056112 - cmp r1, #0xc1 - beq _08056112 - movs r0, #1 -_08056112: - cmp r0, #0 - beq _08056124 - ldr r4, _0805612C @ =gUnk_02000010 - adds r0, r4, #0 - movs r1, #0x20 - bl _DmaZero - ldr r0, _08056130 @ =0x4D435A33 - str r0, [r4] -_08056124: - pop {r4, pc} - .align 2, 0 -_08056128: .4byte gUnk_08100CD4 -_0805612C: .4byte gUnk_02000010 -_08056130: .4byte 0x4D435A33 - - thumb_func_start sub_08056134 -sub_08056134: @ 0x08056134 - push {lr} - movs r2, #0x80 - lsls r2, r2, #0x12 - ldr r1, [r2] - ldr r0, _08056164 @ =0x4D435A33 - cmp r1, r0 - bne _08056160 - ldrb r0, [r2, #4] - cmp r0, #2 - bhi _08056160 - ldrb r0, [r2, #5] - cmp r0, #2 - bhi _08056160 - ldrb r0, [r2, #6] - cmp r0, #2 - bhi _08056160 - ldrb r0, [r2, #7] - cmp r0, #1 - bne _08056160 - ldrb r0, [r2, #0xe] - cmp r0, #0 - beq _08056168 -_08056160: - movs r0, #0 - b _0805616A - .align 2, 0 -_08056164: .4byte 0x4D435A33 -_08056168: - movs r0, #1 -_0805616A: - pop {pc} - - thumb_func_start sub_0805616C -sub_0805616C: @ 0x0805616C - push {lr} - ldr r0, _080561E8 @ =0x80040000 - bl PlaySFX - ldr r0, _080561EC @ =gScreen - adds r3, r0, #0 - adds r3, #0x6c - ldrb r2, [r3] - adds r0, #0x6d - movs r1, #0 - strb r2, [r0] - strb r1, [r3] - ldr r1, _080561F0 @ =0x040000B0 - ldrh r2, [r1, #0xa] - ldr r0, _080561F4 @ =0x0000C5FF - ands r0, r2 - strh r0, [r1, #0xa] - ldrh r2, [r1, #0xa] - ldr r0, _080561F8 @ =0x00007FFF - ands r0, r2 - strh r0, [r1, #0xa] - ldrh r0, [r1, #0xa] - ldr r0, [r1, #8] - movs r2, #0x80 - lsls r2, r2, #0x18 - cmp r0, #0 - bge _080561AA -_080561A2: - ldr r0, [r1, #8] - ands r0, r2 - cmp r0, #0 - bne _080561A2 -_080561AA: - ldr r2, _080561FC @ =0x040000BC - ldr r0, [r2, #8] - movs r1, #0x80 - lsls r1, r1, #0x18 - cmp r0, #0 - bge _080561BE -_080561B6: - ldr r0, [r2, #8] - ands r0, r1 - cmp r0, #0 - bne _080561B6 -_080561BE: - ldr r2, _08056200 @ =0x040000C8 - ldr r0, [r2, #8] - movs r1, #0x80 - lsls r1, r1, #0x18 - cmp r0, #0 - bge _080561D2 -_080561CA: - ldr r0, [r2, #8] - ands r0, r1 - cmp r0, #0 - bne _080561CA -_080561D2: - ldr r2, _08056204 @ =0x040000D4 - ldr r0, [r2, #8] - movs r1, #0x80 - lsls r1, r1, #0x18 - cmp r0, #0 - bge _080561E6 -_080561DE: - ldr r0, [r2, #8] - ands r0, r1 - cmp r0, #0 - bne _080561DE -_080561E6: - pop {pc} - .align 2, 0 -_080561E8: .4byte 0x80040000 -_080561EC: .4byte gScreen -_080561F0: .4byte 0x040000B0 -_080561F4: .4byte 0x0000C5FF -_080561F8: .4byte 0x00007FFF -_080561FC: .4byte 0x040000BC -_08056200: .4byte 0x040000C8 -_08056204: .4byte 0x040000D4 - - thumb_func_start sub_08056208 -sub_08056208: @ 0x08056208 - push {lr} - ldr r0, _08056224 @ =0x80060000 - bl PlaySFX - ldr r0, _08056228 @ =gScreen - adds r3, r0, #0 - adds r3, #0x6d - ldrb r2, [r3] - adds r0, #0x6c - movs r1, #0 - strb r2, [r0] - strb r1, [r3] - pop {pc} - .align 2, 0 -_08056224: .4byte 0x80060000 -_08056228: .4byte gScreen - - thumb_func_start sub_0805622C -sub_0805622C: @ 0x0805622C - ldr r3, _08056248 @ =gScreen - str r0, [r3, #0x70] - str r1, [r3, #0x74] - str r2, [r3, #0x78] - adds r3, #0x6c - movs r2, #1 - movs r0, #1 - strb r0, [r3] - ldr r1, _0805624C @ =gUnk_03003DE4 - ldrb r0, [r1] - eors r0, r2 - strb r0, [r1] - bx lr - .align 2, 0 -_08056248: .4byte gScreen -_0805624C: .4byte gUnk_03003DE4 - - thumb_func_start sub_08056250 -sub_08056250: @ 0x08056250 - ldr r0, _0805625C @ =gScreen - adds r0, #0x6c - movs r1, #0 - strb r1, [r0] - bx lr - .align 2, 0 -_0805625C: .4byte gScreen - - thumb_func_start sub_08056260 -sub_08056260: @ 0x08056260 - push {r4, r5, r6, lr} - mov r6, sb - mov r5, r8 - push {r5, r6} - movs r1, #0x80 - lsls r1, r1, #0x13 - movs r0, #0x80 - strh r0, [r1] - ldr r1, _080562B8 @ =0x04000132 - ldr r2, _080562BC @ =0x00008304 - adds r0, r2, #0 - strh r0, [r1] - ldr r6, _080562C0 @ =0x04000208 - movs r0, #0 - mov r8, r0 - strh r0, [r6] - ldr r5, _080562C4 @ =0x04000200 - ldrh r4, [r5] - movs r1, #0xc0 - lsls r1, r1, #6 - adds r0, r1, #0 - strh r0, [r5] - movs r2, #1 - mov sb, r2 - strh r2, [r6] - bl SoundBiasReset - svc #3 - bl SoundBiasSet - mov r0, r8 - strh r0, [r6] - strh r4, [r5] - mov r1, sb - strh r1, [r6] - ldr r0, _080562C8 @ =gUnk_03001000 - ldrb r1, [r0, #1] - mov r2, r8 - strb r2, [r0, #1] - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, pc} - .align 2, 0 -_080562B8: .4byte 0x04000132 -_080562BC: .4byte 0x00008304 -_080562C0: .4byte 0x04000208 -_080562C4: .4byte 0x04000200 -_080562C8: .4byte gUnk_03001000 - - thumb_func_start sub_080562CC -sub_080562CC: @ 0x080562CC - push {r4, r5, r6, lr} - ldr r6, _080562FC @ =gRoomControls - movs r4, #0xa - ldrsh r5, [r6, r4] - ldrh r4, [r6, #6] - subs r5, r5, r4 - subs r5, r5, r0 - adds r5, #0xf0 - movs r4, #0xc - ldrsh r0, [r6, r4] - ldrh r4, [r6, #8] - subs r0, r0, r4 - subs r0, r0, r1 - adds r0, #0xa0 - adds r2, #0xf0 - adds r3, #0xa0 - movs r1, #0 - cmp r5, r2 - bhs _080562F8 - cmp r0, r3 - bhs _080562F8 - movs r1, #1 -_080562F8: - adds r0, r1, #0 - pop {r4, r5, r6, pc} - .align 2, 0 -_080562FC: .4byte gRoomControls - - thumb_func_start sub_08056300 -sub_08056300: @ 0x08056300 - push {r4, lr} - adds r4, r0, #0 - b _0805631C -_08056306: - ldrh r0, [r4, #2] - ldrh r1, [r4, #4] - ldrh r2, [r4, #6] - ldrh r3, [r4, #8] - bl sub_080562CC - cmp r0, #0 - beq _0805631A - ldrh r0, [r4] - b _08056324 -_0805631A: - adds r4, #0xa -_0805631C: - ldrh r0, [r4] - cmp r0, #0xff - bne _08056306 - movs r0, #0xff -_08056324: - pop {r4, pc} - .align 2, 0 - - thumb_func_start NulledItem -NulledItem: @ 0x08056328 - push {lr} - bl DeleteThisEntity - pop {pc} - - thumb_func_start sub_08056330 -sub_08056330: @ 0x08056330 - push {lr} - bl DeleteThisEntity - pop {pc} - - thumb_func_start sub_08056338 -sub_08056338: @ 0x08056338 - push {lr} - movs r2, #1 - rsbs r2, r2, #0 - ldr r0, _08056358 @ =gTextBox - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - bne _08056354 - ldr r1, _0805635C @ =gUnk_02000040 - ldrb r0, [r1] - cmp r0, #3 - bne _08056354 - ldrb r2, [r1, #1] -_08056354: - adds r0, r2, #0 - pop {pc} - .align 2, 0 -_08056358: .4byte gTextBox -_0805635C: .4byte gUnk_02000040 diff --git a/asm/non_matching/sub_080560B8.inc b/asm/non_matching/sub_080560B8.inc new file mode 100644 index 00000000..87523947 --- /dev/null +++ b/asm/non_matching/sub_080560B8.inc @@ -0,0 +1,66 @@ + .include "asm/macros.inc" + + .include "constants/constants.inc" + + .syntax unified + + .text + + push {r4, lr} + bl sub_08056134 + cmp r0, #0 + bne _080560F8 + movs r0, #0x80 + lsls r0, r0, #0x12 + bl sub_0807CF30 + adds r1, r0, #0 + movs r0, #1 + rsbs r0, r0, #0 + cmp r1, r0 + blt _080560E4 + cmp r1, #0 + ble _080560E4 + cmp r1, #1 + bne _080560E4 + bl sub_08056134 + cmp r0, #0 + bne _080560F8 +_080560E4: + ldr r0, _08056128 @ =sDefaultSettings + movs r4, #0x80 + lsls r4, r4, #0x12 + adds r1, r4, #0 + movs r2, #0x10 + bl _DmaCopy + adds r0, r4, #0 + bl sub_0807CF10 +_080560F8: + ldr r2, _0805612C @ =gUnk_02000010 + ldr r1, [r2] + ldr r0, _08056130 @ =0x4D435A33 + eors r1, r0 + rsbs r0, r1, #0 + orrs r0, r1 + lsrs r0, r0, #0x1f + ldrb r1, [r2, #4] + cmp r1, #0 + beq _08056112 + cmp r1, #0xc1 + beq _08056112 + movs r0, #1 +_08056112: + cmp r0, #0 + beq _08056124 + ldr r4, _0805612C @ =gUnk_02000010 + adds r0, r4, #0 + movs r1, #0x20 + bl _DmaZero + ldr r0, _08056130 @ =0x4D435A33 + str r0, [r4] +_08056124: + pop {r4, pc} + .align 2, 0 +_08056128: .4byte sDefaultSettings +_0805612C: .4byte gUnk_02000010 +_08056130: .4byte 0x4D435A33 + .syntax divided diff --git a/data/data_08100CD4.s b/data/data_08100CD4.s deleted file mode 100755 index 6c1a96b2..00000000 --- a/data/data_08100CD4.s +++ /dev/null @@ -1,8 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2 - -gUnk_08100CD4:: @ 08100CD4 - .incbin "baserom.gba", 0x100CD4, 0x0000010 diff --git a/include/functions.h b/include/functions.h index b2f73c87..a7e2d24c 100644 --- a/include/functions.h +++ b/include/functions.h @@ -321,4 +321,6 @@ extern void sub_08008790(Entity*, u32); extern u32 CheckIsDungeon(); extern void sub_0804ACF8(); extern void sub_08073904(Entity*); +extern u32 sub_08056134(void); +extern u32 sub_0807CF30(void*); #endif diff --git a/include/gba/macro.h b/include/gba/macro.h index 63043ebb..2fa1abb2 100644 --- a/include/gba/macro.h +++ b/include/gba/macro.h @@ -167,6 +167,12 @@ #define DmaClear16Defvars(dmaNum, dest, size) DmaClearDefvars(dmaNum, dest, size, 16) #define DmaClear32Defvars(dmaNum, dest, size) DmaClearDefvars(dmaNum, dest, size, 32) +#define DmaWait(DmaNo) \ +{ \ + vu32 *(DmaCntp) = (vu32 *)REG_ADDR_DMA##DmaNo; \ + while (DmaCntp[2] & (DMA_ENABLE << 16)) ; \ +} + #define IntrEnable(flags) \ { \ u16 imeTemp; \ diff --git a/include/gba/syscall.h b/include/gba/syscall.h index dc528ffe..d319a9fe 100644 --- a/include/gba/syscall.h +++ b/include/gba/syscall.h @@ -11,6 +11,18 @@ #define RESET_REGS 0x80 #define RESET_ALL 0xFF +#define SystemCall(x) { asm("svc " #x); } + +extern void SoundBiasReset(); +extern void SoundBiasSet(); + +#define Stop() \ +{ \ + SoundBiasReset(); \ + SystemCall(3); \ + SoundBiasSet(); \ +} + void SoftReset(u32 resetFlags); void RegisterRamReset(u32 resetFlags); diff --git a/include/global.h b/include/global.h index 146dfc14..de47c6ac 100644 --- a/include/global.h +++ b/include/global.h @@ -47,6 +47,7 @@ #define min(a, b) ((a) < (b) ? (a) : (b)) #define max(a, b) ((a) >= (b) ? (a) : (b)) +#define BOOLCAST(x) ((-x | x) >> 31) #define static_assert(cond) extern char assertion[(cond) ? 1 : -1] #if NON_MATCHING diff --git a/include/main.h b/include/main.h index 7fa87211..71d6fbd0 100644 --- a/include/main.h +++ b/include/main.h @@ -23,6 +23,13 @@ enum { SCREEN_DEBUG_TEXT, }; +#define GAME_LANGUAGE GAME_LANGUAGE_EN +#define SIGNATURE 'MCZ3' +#define GAME_LANGUAGE_EN 1 +#define MAX_MSG_SPEED 3 +#define MAX_SAVE_FILES 3 +#define MAX_BRIGHTNESS 3 + typedef struct { u8 interruptFlag; u8 field_0x1; diff --git a/include/screen.h b/include/screen.h index 953cde84..5046e62f 100644 --- a/include/screen.h +++ b/include/screen.h @@ -72,6 +72,11 @@ typedef struct { /*0x08*/ BgSettings bg; /*0x20*/ BgAffSettings affine; /*0x38*/ BgControls controls; + /*0x6c*/ u8 _6c; + /*0x6d*/ u8 _6d; + /*0x70*/ u32 _70; + /*0x74*/ u32 _74; + /*0x78*/ u32 _78; } Screen; extern BgControls gBgControls; diff --git a/include/structures.h b/include/structures.h index 596fa9bb..fecc4af0 100644 --- a/include/structures.h +++ b/include/structures.h @@ -6,12 +6,16 @@ #include "player.h" typedef struct { - char header[4]; + int signature; u8 saveFileId; u8 messageSpeed; u8 brightnessPref; u8 gameLanguage; + u8 _8[6]; + u8 _e; } struct_02000000; +#define gUnk_02000000 ((struct_02000000*)(0x2000000)) +// extern struct_02000000 gUnk_02000000; typedef struct { u8 unk_00; @@ -30,11 +34,8 @@ typedef struct { u16 field_0xa; } struct_0807D1C4; -#define gUnk_02000000 ((struct_02000000*)(0x2000000)) -// extern struct_02000000 gUnk_02000000; - typedef struct { - u8 filler0[0x4]; + s32 signature; u8 field_0x4; u8 listenForKeyPresses; } struct_02000010; diff --git a/linker.ld b/linker.ld index 2c9e5126..69f5cc52 100644 --- a/linker.ld +++ b/linker.ld @@ -465,8 +465,7 @@ SECTIONS { src/code_0805436C.o(.text); asm/code_0805436C.o(.text); src/sub_08055E08.o(.text); - src/mainLoop.o(.text); - asm/code_08055FF4.o(.text); + src/main.o(.text); src/textbox.o(.text); asm/code_08056418.o(.text); src/manager/manager1.o(.text); @@ -993,8 +992,7 @@ SECTIONS { data/data_080D3D94.o(.rodata); data/entity_headers.o(.rodata); data/data_080D5360.o(.rodata); - src/mainLoop.o(.rodata); - data/data_08100CD4.o(.rodata); + src/main.o(.rodata); data/tileset_headers.o(.rodata); data/metatile_headers.o(.rodata); data/map_headers.o(.rodata); diff --git a/src/code_0807CC3C.c b/src/code_0807CC3C.c index 80e0bfe7..b16dca9e 100644 --- a/src/code_0807CC3C.c +++ b/src/code_0807CC3C.c @@ -42,7 +42,7 @@ u32 sub_0807CDE8(u32 arg0) { temp = 1; break; case 2: - temp = sub_0807CF10((u8*)gUnk_02000000->header); + temp = sub_0807CF10((u8*)&gUnk_02000000->signature); break; } gMenu.field_0xa = temp; diff --git a/src/enemy/helmasaur.c b/src/enemy/helmasaur.c index 3980c94c..5dd4c27d 100644 --- a/src/enemy/helmasaur.c +++ b/src/enemy/helmasaur.c @@ -337,7 +337,7 @@ bool32 sub_0802C0E8(Entity* this) { u32 ret = FALSE; if (!sub_0806FC24(TILE(x, y), 9)) { u32 tmp = sub_080AE4CC(ent, x, y, 0); - ret = (-tmp | tmp) >> 0x1f; + ret = BOOLCAST(tmp); } return ret; } diff --git a/src/mainLoop.c b/src/main.c similarity index 54% rename from src/mainLoop.c rename to src/main.c index 33c1d27a..ed058b61 100644 --- a/src/mainLoop.c +++ b/src/main.c @@ -1,9 +1,13 @@ #include "global.h" #include "functions.h" +#include "structures.h" #include "main.h" +#include "screen.h" #include "random.h" #include "readKeyInput.h" +extern u8 gUnk_03003DE4; + extern void sub_0804FF84(u32); extern u16 gPaletteBuffer[]; extern void VBlankInterruptWait(void); @@ -137,3 +141,128 @@ void DoSoftReset(void) { DisableInterruptsAndDMA(); SoftReset(RESET_ALL & ~(RESET_EWRAM | RESET_SIO_REGS)); } + +const int sDefaultSettings[] = { SIGNATURE, '\1\1\1\0', 'KNIL', '\0\0\0\0' }; + +// single misplaced ldr +NONMATCH("asm/non_matching/sub_080560B8.inc", void sub_080560B8(void)) { + u32 temp; + u32 b; + + if (!sub_08056134()) { + switch ((s32)sub_0807CF30((void*)0x2000000)) { + case 1: + if (sub_08056134()) + break; + case 0: + case -1: + default: + _DmaCopy(&sDefaultSettings, (void*)0x2000000, 16); + sub_0807CF10((u8*)0x2000000); + break; + } + } + + temp = gUnk_02000010.signature ^ SIGNATURE; + b = BOOLCAST(temp); + + if ((gUnk_02000010.field_0x4 != 0) && (gUnk_02000010.field_0x4 != 0xc1)) { + b = 1; + } + if (b != 0) { + _DmaZero((u8*)&gUnk_02000010.signature, 0x20); + gUnk_02000010.signature = SIGNATURE; + } +} +END_NONMATCH + +u32 sub_08056134(void) { + if ((gUnk_02000000->signature != SIGNATURE) || (gUnk_02000000->saveFileId >= MAX_SAVE_FILES) || + (gUnk_02000000->messageSpeed >= MAX_MSG_SPEED) || (gUnk_02000000->brightnessPref >= MAX_BRIGHTNESS) || + (gUnk_02000000->gameLanguage != GAME_LANGUAGE) || (gUnk_02000000->_e != 0)) + return FALSE; + + return TRUE; +} + +void sub_0805616C() { + PlaySFX(0x80040000); + gScreen._6d = gScreen._6c; + gScreen._6c = 0; + + DmaStop(0); + + DmaWait(0); + DmaWait(1); + DmaWait(2); + DmaWait(3); +} + +void sub_08056208() { + PlaySFX(0x80060000); + gScreen._6c = gScreen._6d; + gScreen._6d = 0; +} + +void sub_0805622C(u32 a1, u32 a2, u32 a3) { + gScreen._70 = a1; + gScreen._74 = a2; + gScreen._78 = a3; + gScreen._6c = 1; + gUnk_03003DE4 ^= 1; +} + +void sub_08056250() { + gScreen._6c = 0; +} + +void sub_08056260(void) { + u32 temp; + Main* temp2; + + REG_DISPCNT = 0x80; + REG_KEYCNT = 0x8304; + REG_IME = 0; + temp = REG_IE; + REG_IE = 0x3000; + REG_IME = 1; + Stop(); + REG_IME = 0; + REG_IE = temp; + REG_IME = 1; + temp2 = &gUnk_03001000; + asm("ldrb r1, [r0, #0x1]"); + temp2->field_0x1 = 0; +} + +// Convert in-game AABB to screen coordinates and check if it's within the viewport +u32 sub_080562CC(u32 x0, u32 y0, u32 x1, u32 y1) { + u32 result; + u32 x = ((gRoomControls.roomScrollX - gRoomControls.roomOriginX) - x0 + DISPLAY_WIDTH); + u32 y = ((gRoomControls.roomScrollY - gRoomControls.roomOriginY) - y0 + DISPLAY_HEIGHT); + u32 a = x1 + DISPLAY_WIDTH; + u32 b = y1 + DISPLAY_HEIGHT; + if ((x < a) && (y < b)) + result = TRUE; + else + result = FALSE; + return result; +} + +// Iterate over array of AABBs and check if any fit on screen +u16 sub_08056300(u16* arr) { + u16* i; + for (i = arr; *i != 0xff; i += 5) { + if (sub_080562CC(i[1], i[2], i[3], i[4]) != 0) + return *i; + } + return 0xff; +} + +void NulledItem() { + DeleteThisEntity(); +} + +void sub_08056330() { + DeleteThisEntity(); +} diff --git a/src/npc/beedle.c b/src/npc/beedle.c index 3b30e19b..6e6a525a 100644 --- a/src/npc/beedle.c +++ b/src/npc/beedle.c @@ -159,5 +159,5 @@ void sub_08063504(Entity* this, u32* param_2) { u32 uVar1; uVar1 = sub_080544DC(gUnk_0810C88C[this->entityType.parameter]); - param_2[5] = (-uVar1 | uVar1) >> 0x1F; + param_2[5] = BOOLCAST(uVar1); } diff --git a/src/npc/forestMinish.c b/src/npc/forestMinish.c index abf4878d..be59fbaa 100644 --- a/src/npc/forestMinish.c +++ b/src/npc/forestMinish.c @@ -154,7 +154,7 @@ void sub_080601D4(Entity* this) { uVar2 = 2; } else { temp = CheckKinstoneFused(0x17); - uVar2 = (-temp | temp) >> 0x1f; + uVar2 = BOOLCAST(temp); } TextboxNoOverlap(gUnk_0810A354[uVar2], this); } @@ -169,7 +169,7 @@ void sub_0806021C(Entity* this) { // jabber nut uVar1 = GetInventoryValue(0x5B); - uVar2 = (-uVar1 | uVar1) >> 0x1f; + uVar2 = BOOLCAST(uVar1); // earth element if (GetInventoryValue(0x40)) { diff --git a/src/npc/goron.c b/src/npc/goron.c index 33345e48..dcc0ac33 100644 --- a/src/npc/goron.c +++ b/src/npc/goron.c @@ -64,7 +64,7 @@ void sub_080693D0(Entity* this) { sub_0807DD94(this, 0); if (this->animIndex == 8) { u32 var0 = this->field_0x82.HWORD & 0xF; - bool32 createFx65 = ((-var0) | var0) >> 0x1F; // = !var0 + bool32 createFx65 = BOOLCAST(var0); // = !var0 if (this->frames.all == 1) { this->frames.all = 0; diff --git a/src/npc/goronMerchant.c b/src/npc/goronMerchant.c index 35de4c0a..7cfdb685 100644 --- a/src/npc/goronMerchant.c +++ b/src/npc/goronMerchant.c @@ -114,7 +114,7 @@ u32 sub_080696BC(Entity* this) { } temp = CheckGlobalFlag(0x3e); - uVar1 = (-temp | temp) >> 0x1f; + uVar1 = BOOLCAST(temp); if (CheckGlobalFlag(0x3f)) { uVar1 = 2; diff --git a/src/npc/guard.c b/src/npc/guard.c index cfcb027d..e225c33b 100644 --- a/src/npc/guard.c +++ b/src/npc/guard.c @@ -68,7 +68,7 @@ void sub_08063D44(Entity* this) { temp = this->entityType.subtype; temp ^= 0x15; - idx = ((-temp | temp) >> 0x1f) * 4; + idx = BOOLCAST(temp) * 4; if (!LoadExtraSpriteData(this, &gUnk_0810F524[idx])) return; @@ -132,7 +132,7 @@ void sub_08063E90(Entity* this) { temp = this->entityType.subtype; temp ^= 0x15; - idx = ((-temp | temp) >> 0x1f) * 4; + idx = BOOLCAST(temp) * 4; if (!LoadExtraSpriteData(this, &gUnk_0810F524[idx])) return; diff --git a/src/npc/mutoh.c b/src/npc/mutoh.c index 1be4d5e8..01cf6481 100644 --- a/src/npc/mutoh.c +++ b/src/npc/mutoh.c @@ -66,7 +66,7 @@ void sub_080670B4(Entity* this) { uVar2 = 0; if (GetInventoryValue(0x11) == 0) { uVar1 = CheckGlobalFlag(TABIDACHI); - uVar2 = (-uVar1 | uVar1) >> 0x1f; + uVar2 = BOOLCAST(uVar1); } TextboxNoOverlap(gUnk_08110C0C[uVar2], this); } diff --git a/src/npc/townMinish.c b/src/npc/townMinish.c index 0f454fc6..69b7eda7 100644 --- a/src/npc/townMinish.c +++ b/src/npc/townMinish.c @@ -299,7 +299,7 @@ void sub_0806B098(Entity* this) { idx = 1; if (CheckGlobalFlag(0x29)) { f = CheckGlobalFlag(0x2a); - idx = (-f | f) >> 0x1f; + idx = BOOLCAST(f); } } TextboxNoOverlap(gUnk_08112C50[(this->entityType.parameter - 7) * 3 + idx], this); diff --git a/src/object/lightableSwitch.c b/src/object/lightableSwitch.c index ecc6449e..16609d50 100644 --- a/src/object/lightableSwitch.c +++ b/src/object/lightableSwitch.c @@ -60,7 +60,7 @@ void sub_0809EABC(Entity* this) { u32 f; f = CheckFlags(this->field_0x86.HWORD); - anySet = (-f | f) >> 0x1F; + anySet = BOOLCAST(f); if (this->frameIndex != anySet) { this->frameIndex = anySet; } diff --git a/src/room.c b/src/room.c index e9d2c358..e2c418c6 100644 --- a/src/room.c +++ b/src/room.c @@ -4489,7 +4489,7 @@ void sub_0804E3C4() { u32 index; u32 tmp; tmp = CheckGlobalFlag(LV4_CLEAR); - index = (-tmp | tmp) >> 0x1F; + index = BOOLCAST(tmp); if (CheckGlobalFlag(LV5_CLEAR)) { index = 2; } diff --git a/src/textbox.c b/src/textbox.c index f426e392..6237ffe5 100644 --- a/src/textbox.c +++ b/src/textbox.c @@ -2,6 +2,7 @@ #include "room.h" #include "entity.h" #include "textbox.h" +#include "structures.h" void _DmaZero(); void ShowTextbox(); @@ -10,31 +11,31 @@ void TextboxAtPosition(); extern u32 gUnk_02022780; extern u32 gUnk_02036A40; extern u32 gUnk_02036A38; -extern u32 gUnk_02000040; -void sub_08056360(void) +s32 sub_08056338(void) { + s32 result; -{ - if ((gTextBox.doTextBox & 127) != 0) { - gTextBox.doTextBox = 136; - } - return; + result = -1; + if (((gTextBox.doTextBox & 0x7f) == 0) && (gUnk_02000040.unk_00 == 3)) + result = gUnk_02000040.unk_01; + return result; } -void TextboxNoOverlapFollow(u32 index) +void sub_08056360(void) { + if ((gTextBox.doTextBox & 0x7f) != 0) { + gTextBox.doTextBox = 0x80 | 0x8; + } +} -{ +void TextboxNoOverlapFollow(u32 index) { if (gRoomControls.cameraTarget != NULL) { TextboxNoOverlap(index, gRoomControls.cameraTarget); } else { ShowTextbox(index); } - return; } -void TextboxNoOverlap(u32 index, Entity* ent) - -{ +void TextboxNoOverlap(u32 index, Entity* ent) { s16 y; s16 h; @@ -43,22 +44,19 @@ void TextboxNoOverlap(u32 index, Entity* ent) y = ent->y.HALF.HI; h = ent->height.HALF.HI; - if (88 < ((y + h) - gRoomControls.roomScrollY)) { + if (((y + h) - gRoomControls.roomScrollY) > 0x58) { gTextBox.textWindowPosY = 1; } - return; } void sub_080563C8(u32 param_1, u32 param_2) { TextboxAtPosition(param_1, 1, param_2); - return; } void TextboxAtPosition(u32 index, u32 x, u32 y) { ShowTextbox(index); gTextBox.textWindowPosX = x; gTextBox.textWindowPosY = y; - return; } void ShowTextbox(u32 index, u32 param_2, u32* dest) { @@ -70,15 +68,12 @@ void ShowTextbox(u32 index, u32 param_2, u32* dest) { gTextBox.textWindowPosX = 1; gTextBox.textWindowPosY = 12; gTextBox.doTextBox = 1; - return; } void sub_08056418(void) { - _DmaZero(&gTextBox, 32); _DmaZero(&gUnk_02022780, 168); _DmaZero(&gUnk_02036A40, 8); _DmaZero(&gUnk_02036A38, 8); _DmaZero(&gUnk_02000040, 4); - return; } diff --git a/src/tmc.code-workspace b/src/tmc.code-workspace index f890504e..6ed05aa3 100644 --- a/src/tmc.code-workspace +++ b/src/tmc.code-workspace @@ -1,7 +1,9 @@ { "folders" : [ { "path" : ".." } ], "settings" : { "files.associations" : { - "algorithm" : "cpp", "ios" : "c" + "algorithm": "cpp", + "ios": "c", + "functions.h": "c" } } } From d58f3fbd63dbecc920980287903385d0065b66ce Mon Sep 17 00:00:00 2001 From: theo3 Date: Sun, 31 Jan 2021 20:33:33 -0800 Subject: [PATCH 038/101] more textbox --- asm/code_08056418.s | 305 ---------------------- asm/non_matching/textbox/sub_080564EC.inc | 90 +++++++ include/functions.h | 61 +++-- src/chooseFile.c | 1 - src/main.c | 1 - src/textbox.c | 173 +++++++++++- src/tmc.code-workspace | 4 +- 7 files changed, 299 insertions(+), 336 deletions(-) create mode 100644 asm/non_matching/textbox/sub_080564EC.inc diff --git a/asm/code_08056418.s b/asm/code_08056418.s index 45b6209b..2b845adf 100644 --- a/asm/code_08056418.s +++ b/asm/code_08056418.s @@ -6,311 +6,6 @@ .text - - thumb_func_start sub_08056458 -sub_08056458: @ 0x08056458 - push {r4, r5, lr} - ldr r0, _08056484 @ =gTextBox - ldrb r0, [r0] - cmp r0, #1 - bne _08056470 - ldr r0, _08056488 @ =gUnk_02022780 - movs r1, #0xa8 - bl _DmaZero - movs r0, #1 - bl sub_080564C8 -_08056470: - ldr r2, _08056488 @ =gUnk_02022780 - adds r1, r2, #0 - adds r1, #0x8a - ldrb r0, [r1] - cmp r0, #0 - beq _0805648C - subs r0, #1 - strb r0, [r1] - b _080564A2 - .align 2, 0 -_08056484: .4byte gTextBox -_08056488: .4byte gUnk_02022780 -_0805648C: - ldr r5, _080564C0 @ =gUnk_08107BC8 - adds r4, r2, #0 - adds r4, #0x88 -_08056492: - ldrb r0, [r4] - lsls r0, r0, #2 - adds r0, r0, r5 - ldr r0, [r0] - bl _call_via_r0 - cmp r0, #0 - bne _08056492 -_080564A2: - ldr r0, _080564C4 @ =gUnk_02022780 - adds r1, r0, #0 - adds r1, #0x9d - ldrb r0, [r1] - cmp r0, #0 - beq _080564B6 - movs r0, #0 - strb r0, [r1] - bl sub_08056F70 -_080564B6: - bl sub_08056C68 - bl sub_08056D70 - pop {r4, r5, pc} - .align 2, 0 -_080564C0: .4byte gUnk_08107BC8 -_080564C4: .4byte gUnk_02022780 - - thumb_func_start sub_080564C8 -sub_080564C8: @ 0x080564C8 - ldr r1, _080564D8 @ =gUnk_02022780 - adds r2, r1, #0 - adds r2, #0x88 - movs r3, #0 - strb r0, [r2] - adds r1, #0x89 - strb r3, [r1] - bx lr - .align 2, 0 -_080564D8: .4byte gUnk_02022780 - - thumb_func_start sub_080564DC -sub_080564DC: @ 0x080564DC - ldr r0, _080564E8 @ =gUnk_02022780 - adds r0, #0x99 - movs r1, #0 - strb r1, [r0] - movs r0, #0 - bx lr - .align 2, 0 -_080564E8: .4byte gUnk_02022780 - - thumb_func_start sub_080564EC -sub_080564EC: @ 0x080564EC - push {r4, lr} - ldr r0, _08056598 @ =gUnk_02036A40 - movs r1, #8 - bl _DmaZero - ldr r0, _0805659C @ =gUnk_02024030 - movs r1, #0x18 - bl _DmaZero - ldr r4, _080565A0 @ =gUnk_02022780 - adds r0, r4, #0 - movs r1, #0xa8 - bl _DmaZero - ldr r0, _080565A4 @ =gTextBox - adds r1, r4, #0 - movs r2, #0x20 - bl _DmaCopy - ldrb r0, [r4, #2] - cmp r0, #0x63 - bne _08056520 - movs r0, #0x80 - lsls r0, r0, #0x12 - ldrb r0, [r0, #5] - strb r0, [r4, #2] -_08056520: - adds r1, r4, #0 - adds r1, #0x9c - movs r0, #0xff - strb r0, [r1] - adds r0, r4, #0 - adds r0, #0x20 - ldrh r1, [r4, #8] - bl sub_0805EEB4 - adds r3, r4, #0 - adds r3, #0x5c - movs r0, #2 - strb r0, [r3] - movs r0, #0xe - strb r0, [r3, #1] - adds r3, #2 - movs r2, #0 - ldr r0, _080565A8 @ =gUnk_02002A40 - adds r0, #0x80 - ldrb r1, [r0] - cmp r1, #0 - beq _08056560 - adds r4, r0, #0 -_0805654E: - strb r1, [r3] - adds r3, #1 - adds r2, #1 - cmp r2, #5 - bhi _08056560 - adds r0, r2, r4 - ldrb r1, [r0] - cmp r1, #0 - bne _0805654E -_08056560: - movs r0, #2 - strb r0, [r3] - movs r0, #0xf - strb r0, [r3, #1] - movs r0, #0 - strb r0, [r3, #2] - ldr r4, _080565A0 @ =gUnk_02022780 - adds r0, r4, #0 - bl sub_08056FBC - ldr r0, _080565AC @ =gUnk_08107BE0 - str r0, [r4, #0x2c] - ldr r0, _080565B0 @ =gUnk_02000D00 - str r0, [r4, #0x58] - adds r4, #0x54 - movs r0, #0xd0 - strh r0, [r4] - movs r0, #2 - bl sub_08056C54 - movs r0, #0 - bl sub_08056BDC - movs r0, #2 - bl sub_080564C8 - movs r0, #1 - pop {r4, pc} - .align 2, 0 -_08056598: .4byte gUnk_02036A40 -_0805659C: .4byte gUnk_02024030 -_080565A0: .4byte gUnk_02022780 -_080565A4: .4byte gTextBox -_080565A8: .4byte gUnk_02002A40 -_080565AC: .4byte gUnk_08107BE0 -_080565B0: .4byte gUnk_02000D00 - - thumb_func_start sub_080565B4 -sub_080565B4: @ 0x080565B4 - push {r4, lr} - ldr r4, _080565F4 @ =gUnk_02022780 - adds r1, r4, #0 - adds r1, #0x89 - ldrb r0, [r1] - cmp r0, #0 - bne _080565DA - movs r0, #1 - strb r0, [r1] - adds r1, #0x10 - strb r0, [r1] - ldrb r0, [r4, #3] - subs r1, #0x46 - ldrb r1, [r1] - bl sub_08056F88 - movs r0, #0x65 - bl PlaySFX -_080565DA: - movs r0, #1 - bl sub_08056CC0 - cmp r0, #0 - beq _080565F0 - adds r1, r4, #0 - adds r1, #0x99 - movs r0, #2 - strb r0, [r1] - bl sub_080564C8 -_080565F0: - movs r0, #0 - pop {r4, pc} - .align 2, 0 -_080565F4: .4byte gUnk_02022780 - - thumb_func_start sub_080565F8 -sub_080565F8: @ 0x080565F8 - push {r4, lr} - ldr r4, _0805663C @ =gUnk_02022780 - adds r1, r4, #0 - adds r1, #0x89 - ldrb r0, [r1] - cmp r0, #0 - bne _0805661C - movs r0, #1 - strb r0, [r1] - adds r1, #0x10 - movs r0, #3 - strb r0, [r1] - movs r0, #0 - bl sub_08056BDC - movs r0, #0x66 - bl PlaySFX -_0805661C: - movs r0, #1 - rsbs r0, r0, #0 - bl sub_08056CC0 - cmp r0, #0 - beq _08056636 - adds r1, r4, #0 - adds r1, #0x99 - movs r0, #0 - strb r0, [r1] - movs r0, #2 - bl sub_080564C8 -_08056636: - movs r0, #0 - pop {r4, pc} - .align 2, 0 -_0805663C: .4byte gUnk_02022780 - - thumb_func_start sub_08056640 -sub_08056640: @ 0x08056640 - push {lr} - movs r0, #0 - bl sub_08056C54 - movs r0, #0 - bl sub_080564C8 - movs r0, #0 - pop {pc} - .align 2, 0 - - thumb_func_start sub_08056654 -sub_08056654: @ 0x08056654 - push {lr} - movs r0, #4 - bl sub_08056C54 - ldr r2, _0805667C @ =gUnk_08107BF4 - ldr r0, _08056680 @ =gUnk_02022780 - adds r1, r0, #0 - adds r1, #0x89 - ldrb r1, [r1] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - movs r0, #0 - bl sub_08056CC0 - movs r0, #0 - pop {pc} - .align 2, 0 -_0805667C: .4byte gUnk_08107BF4 -_08056680: .4byte gUnk_02022780 - - thumb_func_start sub_08056684 -sub_08056684: @ 0x08056684 - push {r4, lr} - adds r2, r0, #0 - ldr r4, _080566AC @ =gUnk_02022780 - adds r0, r4, #0 - adds r0, #0x20 - ldrb r1, [r0] - movs r3, #1 - adds r0, r3, #0 - ands r0, r1 - cmp r0, #0 - bne _080566B0 - adds r0, r4, #0 - adds r0, #0x99 - ldrb r0, [r0] - cmp r0, #0 - bne _080566B6 - movs r0, #5 - bl sub_080564C8 - b _080566B6 - .align 2, 0 -_080566AC: .4byte gUnk_02022780 -_080566B0: - adds r0, r2, #0 - adds r0, #0x89 - strb r3, [r0] -_080566B6: - pop {r4, pc} - thumb_func_start sub_080566B8 sub_080566B8: @ 0x080566B8 push {r4, r5, r6, r7, lr} diff --git a/asm/non_matching/textbox/sub_080564EC.inc b/asm/non_matching/textbox/sub_080564EC.inc new file mode 100644 index 00000000..8d0dc2ce --- /dev/null +++ b/asm/non_matching/textbox/sub_080564EC.inc @@ -0,0 +1,90 @@ + .syntax unified + push {r4, lr} + ldr r0, _08056598 @ =gUnk_02036A40 + movs r1, #8 + bl _DmaZero + ldr r0, _0805659C @ =gUnk_02024030 + movs r1, #0x18 + bl _DmaZero + ldr r4, _080565A0 @ =gUnk_02022780 + adds r0, r4, #0 + movs r1, #0xa8 + bl _DmaZero + ldr r0, _080565A4 @ =gTextBox + adds r1, r4, #0 + movs r2, #0x20 + bl _DmaCopy + ldrb r0, [r4, #2] + cmp r0, #0x63 + bne _08056520 + movs r0, #0x80 + lsls r0, r0, #0x12 + ldrb r0, [r0, #5] + strb r0, [r4, #2] +_08056520: + adds r1, r4, #0 + adds r1, #0x9c + movs r0, #0xff + strb r0, [r1] + adds r0, r4, #0 + adds r0, #0x20 + ldrh r1, [r4, #8] + bl sub_0805EEB4 + adds r3, r4, #0 + adds r3, #0x5c + movs r0, #2 + strb r0, [r3] + movs r0, #0xe + strb r0, [r3, #1] + adds r3, #2 + movs r2, #0 + ldr r0, _080565A8 @ =gUnk_02002A40 + adds r0, #0x80 + ldrb r1, [r0] + cmp r1, #0 + beq _08056560 + adds r4, r0, #0 +_0805654E: + strb r1, [r3] + adds r3, #1 + adds r2, #1 + cmp r2, #5 + bhi _08056560 + adds r0, r2, r4 + ldrb r1, [r0] + cmp r1, #0 + bne _0805654E +_08056560: + movs r0, #2 + strb r0, [r3] + movs r0, #0xf + strb r0, [r3, #1] + movs r0, #0 + strb r0, [r3, #2] + ldr r4, _080565A0 @ =gUnk_02022780 + adds r0, r4, #0 + bl sub_08056FBC + ldr r0, _080565AC @ =gUnk_08107BE0 + str r0, [r4, #0x2c] + ldr r0, _080565B0 @ =gUnk_02000D00 + str r0, [r4, #0x58] + adds r4, #0x54 + movs r0, #0xd0 + strh r0, [r4] + movs r0, #2 + bl sub_08056C54 + movs r0, #0 + bl sub_08056BDC + movs r0, #2 + bl sub_080564C8 + movs r0, #1 + pop {r4, pc} + .align 2, 0 +_08056598: .4byte gUnk_02036A40 +_0805659C: .4byte gUnk_02024030 +_080565A0: .4byte gUnk_02022780 +_080565A4: .4byte gTextBox +_080565A8: .4byte gUnk_02002A40 +_080565AC: .4byte gUnk_08107BE0 +_080565B0: .4byte gUnk_02000D00 + .syntax divided \ No newline at end of file diff --git a/include/functions.h b/include/functions.h index 9e66730c..e4a00199 100644 --- a/include/functions.h +++ b/include/functions.h @@ -46,6 +46,32 @@ extern u32 LoadFixedGFX(Entity*, u32); extern void ExecuteScriptCommandSet(); extern void _DmaFill32(u32, void*, u32); extern Entity* CreateItemEntity(u32, u32, u32); +void _DmaCopy(const void* src, void* dst, u32 size); +extern u32 ProcessMovement(Entity*); +extern Entity* FindEntityInListBySubtype(u32, u32, u32); +extern Entity* FindEntityInListByForm(u32, u32, u32, u32, u32); +extern void _DmaZero(void*, u32); +extern void MenuFadeIn(u32, u32); +extern void LoadAssetAsync(const void*, u32, u32); +extern void LoadPaletteGroup(u32); +extern void TryLoadPrologueHyruleTown(void); +extern Manager* GetEmptyManager(void); +extern void AppendEntityToList(void*, u32); +extern void LoadGfxGroup(u32); +extern void EnqueueSFX(u32); +extern void ResetPlayer(void); +extern void CreateDust(Entity*); +extern u32 IsItemEquipped(u32); +extern void DeleteManager(Manager*); +extern bool32 CheckPlayerInRegion(u32 centerX, u32 centerY, u32 radiusX, u32 radiusY); +extern u32 CheckIsDungeon(); +extern void HandleIntroScreen(void); +extern void HandleChooseFileScreen(void); +extern void HandleGameplayScreen(void); +extern void HandleGameOverScreen(void); +extern void HandleCreditsScreen(void); +extern void HandleDebugTextScreen(void); +extern u32 GetTileTypeByEntity(Entity*); // Unidentified extern u32 sub_0806ED78(Entity*); @@ -53,7 +79,6 @@ extern void sub_0806920C(Entity*); extern u32 sub_0805ACC0(Entity*); extern u32 sub_0801E99C(Entity*); extern void sub_0806924C(Entity*); -extern u32 ProcessMovement(Entity*); extern Entity* sub_080873AC(Entity*, u32, u32); extern void sub_08078778(Entity*); extern void sub_080787A8(Entity*, u32); @@ -74,8 +99,6 @@ extern u32 sub_0806F5A4(u32); extern void sub_08078784(Entity*, u32); extern void sub_0807DD50(Entity*); extern void sub_0807DD94(Entity*, u32); -extern Entity* FindEntityInListBySubtype(u32, u32, u32); -extern Entity* FindEntityInListByForm(u32, u32, u32, u32, u32); extern s32 sub_0806ED9C(Entity*, u32, u32); extern void sub_0807000C(Entity*); extern void sub_0805E47C(Entity*); @@ -105,7 +128,6 @@ extern Entity* sub_0804A98C(Entity*, u8, u8); extern u32 sub_080544DC(u32); extern void sub_08077E54(Entity*); extern void sub_080042BA(Entity*, u32); -extern void _DmaZero(void*, u32); extern void sub_08077F24(ItemBehavior*, u32); extern void sub_08079184(); extern void sub_08077F50(ItemBehavior* beh, u32 arg1); @@ -118,7 +140,6 @@ extern void sub_080AD90C(void); extern void sub_080AD9B0(void); extern void sub_080AD918(void); extern void sub_0801E104(void); -extern void MenuFadeIn(u32, u32); extern void sub_080A57F4(void); extern void sub_0804B29C(void*); extern void sub_08030118(u32); @@ -139,8 +160,6 @@ extern void sub_0804C2F0(void); extern void sub_0801AFE4(void); extern u32 sub_08060354(void); extern void sub_08057E64(void); -extern void LoadAssetAsync(const void*, u32, u32); -extern void LoadPaletteGroup(u32); extern void sub_0809F814(u32); extern void sub_080300E8(void); extern void sub_0801DA90(u32); @@ -157,7 +176,6 @@ extern void sub_080534AC(); extern void sub_0807BA8C(u32, u32); extern void sub_0804D9B0(); extern void sub_0807BB98(u32, u32, u32, u32); -extern void TryLoadPrologueHyruleTown(void); extern void sub_0801D000(u32); extern void sub_08018C58(u32); extern void sub_0804E150(void); @@ -170,7 +188,6 @@ extern void sub_080AF2E4(void); extern void sub_0805ADD8(u32); extern void sub_0804F578(void); extern void sub_08059994(void); -extern void LoadGfxGroup(u32); extern s32 sub_0801CFA8(u32); extern void sub_080A3210(void); extern void sub_080ADA14(u32, u32); @@ -193,15 +210,10 @@ extern void sub_08001242(Entity*); extern u32 sub_08003FC4(Entity*, u32); extern u32 sub_080043E8(Entity*); extern void sub_08001290(Entity*, u32); -extern void EnqueueSFX(u32); extern void sub_08004596(Entity*, u32); extern u32 sub_080045B4(Entity*, u32, u32); extern u32 sub_0807953C(void); -extern void ResetPlayer(void); -extern void CreateDust(Entity*); extern void sub_080AE068(Entity*); -extern Manager* GetEmptyManager(void); -extern void AppendEntityToList(void*, u32); extern u32 sub_0800445C(Entity*); extern void sub_0807A108(void); extern void sub_0801766C(Entity*); @@ -233,7 +245,6 @@ extern u32 sub_0808288C(Entity*, u32, u32, u32); extern void sub_0806FDA0(Entity*); extern void sub_080AE008(Entity*, u32, u32); extern u32 sub_08016A30(Entity*); -extern u32 IsItemEquipped(u32); extern void sub_08077728(); extern void sub_0807AEE4(); extern u32 sub_08078EFC(); @@ -241,12 +252,6 @@ extern void sub_0807921C(); extern void sub_0807A1B8(); extern void sub_08079938(); extern void sub_0807ACCC(Entity*); -extern void HandleIntroScreen(void); -extern void HandleChooseFileScreen(void); -extern void HandleGameplayScreen(void); -extern void HandleGameOverScreen(void); -extern void HandleCreditsScreen(void); -extern void HandleDebugTextScreen(void); extern void sub_080A2BE4(Entity*, u32); extern u32 sub_08097ADC(Entity*); extern void sub_08097B24(Entity*); @@ -265,7 +270,6 @@ extern u32 sub_080040A8(Entity*); extern u32 sub_08017850(Entity*); extern void sub_080809D4(void); extern void sub_08080CB4(Entity*); -extern u32 GetTileTypeByEntity(Entity*); extern u32 sub_0800442E(Entity*); extern void sub_08081404(Entity*, u32); extern void sub_0807B7D8(u32, u32, u32); @@ -288,8 +292,6 @@ extern void sub_080A1D70(Entity*, u32); extern void sub_0806F62C(Entity*, u32, u32); extern u32 sub_08079F8C(void); extern void sub_080A1ED0(u32, u32, u32); -extern void DeleteManager(Manager*); -extern bool32 CheckPlayerInRegion(u32 centerX, u32 centerY, u32 radiusX, u32 radiusY); extern u32 sub_0806F5B0(u32); extern void sub_0801DFB4(Entity*, u32, u32, u32); extern void sub_0801E00C(); @@ -318,10 +320,19 @@ extern void sub_0807A108(); extern u32 sub_08079FC4(u32); extern void sub_0800455E(Entity*); extern void sub_08008790(Entity*, u32); -extern u32 CheckIsDungeon(); extern void sub_0804ACF8(); extern void sub_08073904(Entity*); extern u32 sub_08056134(void); extern u32 sub_0807CF30(void*); extern void sub_08004484(Entity*, Entity*); +extern void sub_080564C8(u32); +extern void sub_08056F70(void); +extern void sub_08056C68(void); +extern void sub_08056D70(void); +extern void sub_0805EEB4(u8*, u32, u32); +extern void sub_08056FBC(void*); +extern void sub_08056C54(u32); +extern void sub_08056BDC(u32); +extern void sub_08056F88(u32, u32); +extern u32 sub_08056CC0(u32); #endif diff --git a/src/chooseFile.c b/src/chooseFile.c index 682606af..e20247f1 100644 --- a/src/chooseFile.c +++ b/src/chooseFile.c @@ -47,7 +47,6 @@ static void sub_08050624(u32); static void sub_0805066C(void); static void sub_080507FC(void); -extern void _DmaCopy(const void* src, void* dest, u32 size); extern void sub_08056FEC(u32, struct_020227E8*); extern void sub_0805F46C(u32, struct_080FC844*); extern void sub_0801C4A0(u32, u32); diff --git a/src/main.c b/src/main.c index ed058b61..fdb72796 100644 --- a/src/main.c +++ b/src/main.c @@ -12,7 +12,6 @@ extern void sub_0804FF84(u32); extern u16 gPaletteBuffer[]; extern void VBlankInterruptWait(void); extern void DisableInterruptsAndDMA(void); -extern void _DmaCopy(void*, u8*, int); extern void sub_08016B34(void); static void sub_08055F70(void); diff --git a/src/textbox.c b/src/textbox.c index 6237ffe5..ad3bc4d8 100644 --- a/src/textbox.c +++ b/src/textbox.c @@ -1,16 +1,57 @@ #include "global.h" #include "room.h" #include "entity.h" +#include "functions.h" #include "textbox.h" #include "structures.h" -void _DmaZero(); void ShowTextbox(); void TextboxAtPosition(); -extern u32 gUnk_02022780; +typedef struct { + u8 _0; + u8 _1; + u8 _2; + u8 _3[5]; + u16 _8; + u8 _b[0x16]; + u8 _20; + u8 _21; + u8 _22[0xa]; + void* _2c; + u8 _30[0x23]; + u8 _53; + u16 _54; + u8 _56[0x2]; + void* _58; + u8 _5c; + u8 _5d; + u8 _5e[24]; + u8 _76; + u8 _77[0x11]; + u8 _88; + u8 _89; + u8 _8a; + u8 _8b[0xe]; + u8 _99; + u8 _9a; + u8 _9b; + u8 _9c; + u8 _9d; + u8 _9e[0xa]; +} struct_02022780; +extern struct_02022780 gUnk_02022780; +static_assert(sizeof(struct_02022780) == 0xa8); + +extern const s32 (*const gUnk_08107BC8[])(); +extern const void (*const gUnk_08107BF4[])(struct_02022780*); + extern u32 gUnk_02036A40; extern u32 gUnk_02036A38; +extern u8 gUnk_02024030; +extern u8 gUnk_020227A0; +extern u8 gUnk_02000D00; +extern u8 gUnk_08107BE0; s32 sub_08056338(void) { s32 result; @@ -60,7 +101,7 @@ void TextboxAtPosition(u32 index, u32 x, u32 y) { } void ShowTextbox(u32 index, u32 param_2, u32* dest) { - _DmaZero(&gTextBox, 32, dest); + _DmaZero(&gTextBox, 32); gTextBox.textIndex = index; gTextBox.textSpeed = 99; gTextBox.textWindowWidth = 26; @@ -77,3 +118,129 @@ void sub_08056418(void) { _DmaZero(&gUnk_02036A38, 8); _DmaZero(&gUnk_02000040, 4); } + +void sub_08056458(void) { + int iVar1; + + if (gTextBox.doTextBox == 1) { + _DmaZero((u32*)&gUnk_02022780, sizeof(gUnk_02022780)); + sub_080564C8(1); + } + + if (gUnk_02022780._8a != 0) { + gUnk_02022780._8a--; + } else { + do { + iVar1 = gUnk_08107BC8[gUnk_02022780._88](); + } while (iVar1 != 0); + } + if (gUnk_02022780._9d != 0) { + gUnk_02022780._9d = 0; + sub_08056F70(); + } + sub_08056C68(); + sub_08056D70(); +} + +void sub_080564C8(u32 a1) { + gUnk_02022780._88 = a1; + gUnk_02022780._89 = 0; +} + +u32 sub_080564DC(void) { + gUnk_02022780._99 = 0; + return 0; +} + +// regalloc in loop +NONMATCH("asm/non_matching/textbox/sub_080564EC.inc", u32 sub_080564EC(void)) { + u32 uVar1; + char* dest; + u32 i; + char c; + + _DmaZero((void *)&gUnk_02036A40, 8); + _DmaZero((void *)&gUnk_02024030, 0x18); + _DmaZero((void *)&gUnk_02022780, 0xa8); + _DmaCopy(&gTextBox, &gUnk_02022780, 32); + if (gUnk_02022780._2 == 0x63) { + gUnk_02022780._2 = gUnk_02000000->messageSpeed; + } + gUnk_02022780._9c = 0xff; + sub_0805EEB4(&gUnk_02022780._20, gUnk_02022780._8, 32); + gUnk_02022780._5c = 2; + gUnk_02022780._5d = 0xe; + dest = gUnk_02022780._5e; + + for (i = 0; i < 6; ++i) { + c = gUnk_02002A40.playerName[i]; + if (c == '\0') break; + dest[i] = c; + } + + dest[0] = 2; + dest[1] = 15; + dest[2] = 0; + sub_08056FBC(&gUnk_02022780); + gUnk_02022780._2c = &gUnk_08107BE0; + gUnk_02022780._58 = &gUnk_02000D00; + gUnk_02022780._54 = 0xd0; + sub_08056C54(2); + sub_08056BDC(0); + sub_080564C8(2); + return 1; +} +END_NONMATCH + +u32 sub_080565B4(void) { + if (gUnk_02022780._89 == 0) { + gUnk_02022780._89 = 1; + gUnk_02022780._99 = 1; + sub_08056F88(gUnk_02022780._3[0], gUnk_02022780._53); + PlaySFX(0x65); + } + + if (sub_08056CC0(1)) { + gUnk_02022780._99 = 2; + sub_080564C8(2); + } + return 0; +} + +u32 sub_080565F8(void) { + if (gUnk_02022780._89 == 0) { + gUnk_02022780._89 = 1; + gUnk_02022780._99 = 3; + sub_08056BDC(0); + PlaySFX(0x66); + } + + if (sub_08056CC0(-1)) { + gUnk_02022780._99 = 0; + sub_080564C8(2); + } + return 0; +} + +u32 sub_08056640() { + sub_08056C54(0); + sub_080564C8(0); + return 0; +} + +u32 sub_08056654(void) { + sub_08056C54(4); + gUnk_08107BF4[gUnk_02022780._89](&gUnk_02022780); + sub_08056CC0(0); + return 0; +} + +void sub_08056684(struct_02022780* this) { + if ((gUnk_02022780._20 & 1) == 0) { + if (gUnk_02022780._99 == '\0') { + sub_080564C8(5); + } + } else { + this->_89 = 1; + } +} diff --git a/src/tmc.code-workspace b/src/tmc.code-workspace index 6ed05aa3..788922bd 100644 --- a/src/tmc.code-workspace +++ b/src/tmc.code-workspace @@ -3,7 +3,9 @@ "files.associations" : { "algorithm": "cpp", "ios": "c", - "functions.h": "c" + "functions.h": "c", + "textbox.h": "c", + "structures.h": "c" } } } From 54d8f8fa1bd3211f3d1902bfb3091c2db878aebd Mon Sep 17 00:00:00 2001 From: Ibot02 Date: Mon, 1 Feb 2021 12:49:26 +0100 Subject: [PATCH 039/101] Manager28.c: match nonmatching --- asm/non_matching/manager28/Manager28_Init.inc | 56 ------------------- src/manager/manager28.c | 34 +++++------ 2 files changed, 18 insertions(+), 72 deletions(-) delete mode 100644 asm/non_matching/manager28/Manager28_Init.inc diff --git a/asm/non_matching/manager28/Manager28_Init.inc b/asm/non_matching/manager28/Manager28_Init.inc deleted file mode 100644 index 45cfc6cb..00000000 --- a/asm/non_matching/manager28/Manager28_Init.inc +++ /dev/null @@ -1,56 +0,0 @@ -sub_0805C94C: @ 0x0805C94C - push {r4, r5, r6, lr} - add r4, r0, #0 - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _0805C9B0 - add r6, r4, #0 - add r6, r6, #0x20 - add r1, r6, #0 - mov r2, #0 - add r0, r4, #0 - add r0, r0, #0x3c -_0805C962: - str r2, [r0] - sub r0, r0, #0x4 - cmp r0, r1 - bge _0805C962 - add r0, r4, #0 - bl Manager28_FindMatchingEntities - add r5, r0, #0 - cmp r5, #0x1 - ble _0805C9A8 - bl GetEmptyManager - add r2, r0, #0 - cmp r2, #0 - beq _0805C9A8 - mov r0, #0x9 - strb r0, [r2, #0x8] - mov r0, #0x28 - strb r0, [r2, #0x9] - mov r0, #0x1 - strb r0, [r2, #0xa] - strb r5, [r2, #0xe] - add r1, r2, #0 - add r1, r1, #0x20 - add r0, r6, #0 - ldm r0!, {r3, r5, r6} - stm r1!, {r3, r5, r6} - ldm r0!, {r3, r5, r6} - stm r1!, {r3, r5, r6} - ldm r0!, {r3, r5} - stm r1!, {r3, r5} - add r0, r2, #0 - mov r1, #0x6 - bl AppendEntityToList -_0805C9A8: - add r0, r4, #0 - bl DeleteManager - b _0805C9B8 -_0805C9B0: - mov r1, #0 - mov r0, #0x1 - strb r0, [r4, #0xc] - strb r1, [r4, #0xf] -_0805C9B8: - pop {r4, r5, r6, pc} diff --git a/src/manager/manager28.c b/src/manager/manager28.c index 382f072f..66864d13 100644 --- a/src/manager/manager28.c +++ b/src/manager/manager28.c @@ -6,7 +6,9 @@ typedef struct { Manager manager; - Entity* enemies[8]; + struct { + Entity* enemies[8]; + } d; } Manager28; void Manager28_Entry(Manager28*); @@ -35,12 +37,12 @@ void Manager28_Entry(Manager28* this) { Manager28_ActionFuncs[this->manager.action](this); } -NONMATCH("asm/non_matching/manager28/Manager28_Init.inc", void Manager28_Init(Manager28* this)) { +void Manager28_Init(Manager28* this) { if (this->manager.unk_0a == DoInit) { s32 tmp2; int tmp4; for (tmp4 = 0; tmp4 < 8; tmp4++) { - this->enemies[tmp4] = 0; + this->d.enemies[tmp4] = 0; } tmp2 = Manager28_FindMatchingEntities(this); if (tmp2 > 1) { @@ -50,9 +52,10 @@ NONMATCH("asm/non_matching/manager28/Manager28_Init.inc", void Manager28_Init(Ma tmp3->manager.subtype = 0x28; tmp3->manager.unk_0a = DoNotInit; tmp3->manager.unk_0e = tmp2; - for (tmp4 = 0; tmp4 < 8; tmp4++) { - tmp3->enemies[tmp4] = this->enemies[tmp4]; - } + /* for (tmp4 = 0; tmp4 < 8; tmp4++) { */ + /* tmp3->enemies[tmp4] = this->enemies[tmp4]; */ + /* } */ + tmp3->d = this->d; AppendEntityToList(tmp3, 6); } } @@ -62,7 +65,6 @@ NONMATCH("asm/non_matching/manager28/Manager28_Init.inc", void Manager28_Init(Ma this->manager.unk_0f = 0; } } -END_NONMATCH void Manager28_Main(Manager28* this) { s32 n; @@ -73,16 +75,16 @@ void Manager28_Main(Manager28* this) { n = this->manager.unk_0e - 1; if ((this->manager.unk_0f++) & 1) { for (i = 0; i < n; i++) { - tmp = this->enemies[i]; + tmp = this->d.enemies[i]; for (j = i + 1; j < this->manager.unk_0e; j++) { - sub_08004484(tmp, this->enemies[j]); + sub_08004484(tmp, this->d.enemies[j]); } } } else { for (i = 0; i < n; i++) { - tmp = this->enemies[i]; + tmp = this->d.enemies[i]; for (j = i + 1; j < this->manager.unk_0e; j++) { - sub_08004484(this->enemies[j], tmp); + sub_08004484(this->d.enemies[j], tmp); } } } @@ -99,10 +101,10 @@ u32 Manager28_FindMatchingEntities(Manager28* this) { tmp2 = Manager28_FindMatchingEntity(tmp); if (!tmp2) continue; for (i = 0; i < re; i++) { - if (this->enemies[i] == tmp2) break; + if (this->d.enemies[i] == tmp2) break; } if (i != re) continue; - this->enemies[re++] = tmp2; + this->d.enemies[re++] = tmp2; if (re == 8) return 8; } return re; @@ -130,11 +132,11 @@ Entity* Manager28_FindMatchingEntity(EntityData* unk1) { void Manager28_RemoveDeletedEntities(Manager28* this) { s32 i; for (i = 0; i < this->manager.unk_0e; i++) { - if (this->enemies[i]->next == 0) { + if (this->d.enemies[i]->next == 0) { if (this->manager.unk_0e-1 == i) { - this->enemies[i] = 0; + this->d.enemies[i] = 0; } else { - this->enemies[i] = this->enemies[this->manager.unk_0e-1]; + this->d.enemies[i] = this->d.enemies[this->manager.unk_0e-1]; } this->manager.unk_0e--; } From 32fc754306283eb9a1933f8615d1a164049b82b4 Mon Sep 17 00:00:00 2001 From: theo3 Date: Tue, 2 Feb 2021 13:58:05 -0800 Subject: [PATCH 040/101] document filescreen --- Makefile | 2 +- asm/code_08016DF8.s | 4 +- asm/code_08019444.s | 4 +- asm/code_0801D79C.s | 4 +- asm/code_0804AA84.s | 2 +- asm/code_080526F8.s | 4 +- asm/code_0805436C.s | 2 +- asm/code_080A29BC.s | 4 +- asm/code_080A3480.s | 4 +- asm/code_080A3BD0.s | 8 +- asm/code_080A5574.s | 8 +- asm/code_080AD90C.s | 4 +- asm/{chooseFile.s => fileScreen.s} | 474 +--- asm/non_matching/save/sub_08050B3C.inc | 125 ++ data/data_080D5360.s | 1929 ----------------- data/data_080FC8A4.s | 1928 ++++++++++++++++ data/data_08107BC8.s | 9 - data/data_0811E454.s | 24 - include/fileScreen.h | 77 + include/functions.h | 22 +- include/main.h | 43 +- include/menu.h | 23 +- include/object.h | 2 +- include/save.h | 24 + include/structures.h | 10 +- include/textbox.h | 42 +- linker.ld | 26 +- src/chooseFile.c | 557 ----- src/code_0804AA84.c | 2 +- src/code_0808091C.c | 3 - src/fileScreen.c | 680 ++++++ src/intro.c | 54 +- src/main.c | 24 +- src/object.c | 3 +- .../{object48.c => fileScreenObjects.c} | 48 +- src/{code_0807CC3C.c => save.c} | 78 +- src/sub_080A3B84.c | 4 +- src/textbox.c | 72 +- src/tmc.code-workspace | 9 +- 39 files changed, 3159 insertions(+), 3183 deletions(-) rename asm/{chooseFile.s => fileScreen.s} (85%) create mode 100644 asm/non_matching/save/sub_08050B3C.inc create mode 100644 data/data_080FC8A4.s create mode 100644 include/fileScreen.h create mode 100644 include/save.h delete mode 100644 src/chooseFile.c create mode 100644 src/fileScreen.c rename src/object/{object48.c => fileScreenObjects.c} (91%) rename src/{code_0807CC3C.c => save.c} (53%) diff --git a/Makefile b/Makefile index 99b1d5c6..6ffb4b4a 100644 --- a/Makefile +++ b/Makefile @@ -38,7 +38,7 @@ MID_BUILDDIR = $(OBJ_DIR)/$(MID_SUBDIR) ASFLAGS := -mcpu=arm7tdmi --defsym $(GAME_VERSION)=1 --defsym REVISION=$(REVISION) --defsym $(GAME_LANGUAGE)=1 CC1 := tools/agbcc/bin/agbcc -override CFLAGS += -Wimplicit -Wparentheses -Werror -Wno-multichar -O2 +override CFLAGS += -O2 -Wimplicit -Wparentheses -Werror -Wno-multichar # -fhex-asm ifeq ($(DINFO),1) diff --git a/asm/code_08016DF8.s b/asm/code_08016DF8.s index 1ce2fbce..49db41cf 100644 --- a/asm/code_08016DF8.s +++ b/asm/code_08016DF8.s @@ -128,7 +128,7 @@ _08016ED6: cmp r1, #0 beq _08016EFC ldr r2, _08016F14 @ =0x040000D4 - ldr r0, _08016F24 @ =gUnk_020344B0 + ldr r0, _08016F24 @ =gBG2Buffer str r0, [r2] ldrh r1, [r1] movs r0, #0xf8 @@ -155,7 +155,7 @@ _08016F14: .4byte 0x040000D4 _08016F18: .4byte gBG1Buffer _08016F1C: .4byte 0x84000170 _08016F20: .4byte gUnk_0200B650 -_08016F24: .4byte gUnk_020344B0 +_08016F24: .4byte gBG2Buffer thumb_func_start sub_08016F28 sub_08016F28: @ 0x08016F28 diff --git a/asm/code_08019444.s b/asm/code_08019444.s index 8636cbce..b63d2531 100644 --- a/asm/code_08019444.s +++ b/asm/code_08019444.s @@ -359,7 +359,7 @@ sub_08019698: @ 0x08019698 _08019700: movs r0, #0x11 bl LoadGfxGroup - bl sub_080AD90C + bl FlushSprites bl sub_080AD9B0 bl sub_080AD918 movs r0, #4 @@ -402,7 +402,7 @@ _08019760: .4byte gUnk_02018EB0 thumb_func_start sub_08019764 sub_08019764: @ 0x08019764 push {lr} - bl sub_080AD90C + bl FlushSprites bl sub_0805E5C0 bl sub_080AD9B0 bl sub_080AD918 diff --git a/asm/code_0801D79C.s b/asm/code_0801D79C.s index 7847ec07..38bfd35d 100644 --- a/asm/code_0801D79C.s +++ b/asm/code_0801D79C.s @@ -378,7 +378,7 @@ sub_0801DB34: @ 0x0801DB34 str r0, [r4, #0x1c] ldr r0, _0801DB7C @ =0x00001C01 strh r0, [r4, #0x14] - ldr r0, _0801DB80 @ =gUnk_020344B0 + ldr r0, _0801DB80 @ =gBG2Buffer str r0, [r4, #0x28] ldr r0, _0801DB84 @ =0x00001D02 strh r0, [r4, #0x20] @@ -398,7 +398,7 @@ _0801DB70: .4byte gBG0Buffer _0801DB74: .4byte 0x00001F0C _0801DB78: .4byte gBG1Buffer _0801DB7C: .4byte 0x00001C01 -_0801DB80: .4byte gUnk_020344B0 +_0801DB80: .4byte gBG2Buffer _0801DB84: .4byte 0x00001D02 _0801DB88: .4byte gBG3Buffer _0801DB8C: .4byte 0x00001E03 diff --git a/asm/code_0804AA84.s b/asm/code_0804AA84.s index 5ea286c8..8b1015f6 100644 --- a/asm/code_0804AA84.s +++ b/asm/code_0804AA84.s @@ -120,7 +120,7 @@ _0804AC5E: strh r0, [r2, #0x16] ldrh r0, [r1, #0xc] strh r0, [r2, #0x18] - bl sub_080AD90C + bl FlushSprites bl sub_080AD9B0 bl sub_080AD918 ldr r0, _0804AC98 @ =gUnk_02018EB0 diff --git a/asm/code_080526F8.s b/asm/code_080526F8.s index bfb2dd80..63821ab5 100644 --- a/asm/code_080526F8.s +++ b/asm/code_080526F8.s @@ -1574,7 +1574,7 @@ sub_08053320: @ 0x08053320 ldr r0, _08053380 @ =gBG1Buffer adds r1, r4, #0 bl _DmaZero - ldr r0, _08053384 @ =gUnk_020344B0 + ldr r0, _08053384 @ =gBG2Buffer adds r1, r4, #0 bl _DmaZero ldr r0, _08053388 @ =gBG3Buffer @@ -1604,7 +1604,7 @@ _08053362: .align 2, 0 _0805337C: .4byte gBG0Buffer _08053380: .4byte gBG1Buffer -_08053384: .4byte gUnk_020344B0 +_08053384: .4byte gBG2Buffer _08053388: .4byte gBG3Buffer _0805338C: .4byte gRoomControls diff --git a/asm/code_0805436C.s b/asm/code_0805436C.s index a166b867..45ab199a 100644 --- a/asm/code_0805436C.s +++ b/asm/code_0805436C.s @@ -57,7 +57,7 @@ sub_080548E8: @ 0x080548E8 adds r0, r0, r1 ldr r0, [r0] bl _call_via_r0 - bl sub_080AD90C + bl FlushSprites bl sub_0805E5C0 bl sub_080AD9B0 bl sub_080AD918 diff --git a/asm/code_080A29BC.s b/asm/code_080A29BC.s index 291dd7c3..5ab95a89 100644 --- a/asm/code_080A29BC.s +++ b/asm/code_080A29BC.s @@ -982,8 +982,8 @@ _080A3200: pop {r4, r5, pc} .align 2, 0 - thumb_func_start sub_080A3204 -sub_080A3204: @ 0x080A3204 + thumb_func_start InitSound +InitSound: @ 0xInitSound push {lr} bl sub_080A3210 bl m4aSoundInit diff --git a/asm/code_080A3480.s b/asm/code_080A3480.s index 825a6551..36ba6916 100644 --- a/asm/code_080A3480.s +++ b/asm/code_080A3480.s @@ -586,7 +586,7 @@ sub_080A38D0: @ 0x080A38D0 mov r8, r0 movs r5, #1 strh r5, [r4, #0x1a] - ldr r0, _080A3928 @ =gUnk_020344B0 + ldr r0, _080A3928 @ =gBG2Buffer adds r1, r6, #0 bl _DmaZero strh r5, [r4, #0x26] @@ -608,7 +608,7 @@ _080A3914: _080A391C: .4byte gFadeControl _080A3920: .4byte gBG1Buffer _080A3924: .4byte gScreen -_080A3928: .4byte gUnk_020344B0 +_080A3928: .4byte gBG2Buffer _080A392C: .4byte gMenu thumb_func_start sub_080A3930 diff --git a/asm/code_080A3BD0.s b/asm/code_080A3BD0.s index 10cb10be..20d43006 100644 --- a/asm/code_080A3BD0.s +++ b/asm/code_080A3BD0.s @@ -1207,7 +1207,7 @@ _080A45A2: thumb_func_start sub_080A45A4 sub_080A45A4: @ 0x080A45A4 push {lr} - bl sub_080AD90C + bl FlushSprites ldr r0, _080A45C4 @ =gUnk_02032EC0 ldrb r0, [r0, #3] cmp r0, #0xff @@ -2249,7 +2249,7 @@ sub_080A4DB8: @ 0x080A4DB8 ldr r0, _080A4E5C @ =gBG1Buffer adds r1, r4, #0 bl _DmaZero - ldr r0, _080A4E60 @ =gUnk_020344B0 + ldr r0, _080A4E60 @ =gBG2Buffer adds r1, r4, #0 bl _DmaZero ldr r0, _080A4E64 @ =gUnk_0200AF34 @@ -2314,7 +2314,7 @@ _080A4E54: .align 2, 0 _080A4E58: .4byte gBG0Buffer _080A4E5C: .4byte gBG1Buffer -_080A4E60: .4byte gUnk_020344B0 +_080A4E60: .4byte gBG2Buffer _080A4E64: .4byte gUnk_0200AF34 _080A4E68: .4byte gMenu _080A4E6C: .4byte 0x0000FFFF @@ -2357,7 +2357,7 @@ sub_080A4EA0: @ 0x080A4EA0 .align 2, 0 _080A4EB8: .4byte gUnk_02034490 _080A4EBC: - bl sub_080AD90C + bl FlushSprites ldr r1, _080A4F18 @ =gUnk_08128B30 ldrb r0, [r4, #0x11] lsls r0, r0, #2 diff --git a/asm/code_080A5574.s b/asm/code_080A5574.s index d527c237..837f9140 100644 --- a/asm/code_080A5574.s +++ b/asm/code_080A5574.s @@ -1980,7 +1980,7 @@ _080A64F8: .4byte 0x00003D3F thumb_func_start sub_080A64FC sub_080A64FC: @ 0x080A64FC push {r4, lr} - bl sub_080AD90C + bl FlushSprites ldr r1, _080A652C @ =gUnk_08128E70 ldr r4, _080A6530 @ =gMenu ldrb r0, [r4, #5] @@ -2710,7 +2710,7 @@ _080A6AB6: thumb_func_start sub_080A6AB8 sub_080A6AB8: @ 0x080A6AB8 push {r4, lr} - bl sub_080AD90C + bl FlushSprites ldr r1, _080A6AF4 @ =gUnk_08128F1C ldr r4, _080A6AF8 @ =gMenu ldrb r0, [r4, #5] @@ -2912,7 +2912,7 @@ _080A6C70: .4byte gMenu thumb_func_start sub_080A6C74 sub_080A6C74: @ 0x080A6C74 push {r4, lr} - bl sub_080AD90C + bl FlushSprites ldr r1, _080A6CA0 @ =gUnk_08128F24 ldr r4, _080A6CA4 @ =gMenu ldrb r0, [r4, #5] @@ -3955,7 +3955,7 @@ sub_080A74F4: @ 0x080A74F4 ldr r1, _080A7524 @ =gUnk_03001000 movs r0, #0 strb r0, [r1, #0xb] - bl sub_080AD90C + bl FlushSprites bl sub_0805E5C0 bl sub_0805E5F8 bl sub_0801C344 diff --git a/asm/code_080AD90C.s b/asm/code_080AD90C.s index 8b329187..9c9d41c4 100644 --- a/asm/code_080AD90C.s +++ b/asm/code_080AD90C.s @@ -5,8 +5,8 @@ .text - thumb_func_start sub_080AD90C -sub_080AD90C: @ 0x080AD90C + thumb_func_start FlushSprites +FlushSprites: @ 0x080AD90C ldr r1, _080AD914 @ =gUnk_03000000 movs r0, #0 strb r0, [r1, #3] diff --git a/asm/chooseFile.s b/asm/fileScreen.s similarity index 85% rename from asm/chooseFile.s rename to asm/fileScreen.s index 0ea31128..0cf9c0a5 100755 --- a/asm/chooseFile.s +++ b/asm/fileScreen.s @@ -5,428 +5,8 @@ .text - thumb_func_start sub_08050B3C -sub_08050B3C: @ 0x08050B3C - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #8 - str r0, [sp] - ldr r1, _08050C18 @ =gUnk_02002A40 - adds r0, r1, #0 - adds r0, #0xaa - ldrb r0, [r0] - lsrs r2, r0, #1 - cmp r2, #0 - bne _08050B5A - movs r2, #1 -_08050B5A: - adds r0, r1, #0 - adds r0, #0xab - ldrb r0, [r0] - lsrs r3, r0, #1 - cmp r3, #0 - beq RETURN - cmp r2, r3 - ble _08050B6C - adds r2, r3, #0 -_08050B6C: - movs r0, #3 - ands r0, r2 - str r0, [sp, #4] - adds r0, r2, #0 - asrs r5, r0, #2 - mov ip, r5 - cmp r5, #0xa - ble _08050B80 - movs r2, #0xa - mov ip, r2 -_08050B80: - adds r6, r5, #0 - subs r6, #0xa - mov sb, r6 - cmp r6, #0 - bge _08050B8E - movs r7, #0 - mov sb, r7 -_08050B8E: - adds r0, r3, #0 - asrs r3, r0, #2 - adds r0, r3, #0 - cmp r3, #0xa - ble _08050B9A - movs r3, #0xa -_08050B9A: - adds r4, r0, #0 - subs r4, #0xa - ldr r2, [sp] - ldr r0, _08050C1C @ =0x0000F24C - mov sl, r0 - strh r0, [r2] - ldr r1, _08050C20 @ =0x040000D4 - movs r7, #0xa - mov r8, r7 - mov r0, r8 - mov r7, ip @ var5 - subs r0, r0, r7 @ 10 - var5 - lsls r0, r0, #1 - ldr r7, _08050C24 @ =gUnk_080FC914 - mov ip, r7 - add r0, ip - str r0, [r1] - adds r0, r2, #2 - str r0, [r1, #4] - movs r0, #0x80 - lsls r0, r0, #0x18 - orrs r3, r0 - str r3, [r1, #8] - ldr r0, [r1, #8] - cmp r4, #0 - ble _08050BEE - adds r2, #0x40 - mov r3, sl - strh r3, [r2] - mov r7, r8 - mov r3, sb - subs r0, r7, r3 - lsls r0, r0, #1 - add r0, ip - str r0, [r1] - adds r0, r2, #2 - str r0, [r1, #4] - movs r7, #0x80 - lsls r7, r7, #0x18 - orrs r4, r7 - str r4, [r1, #8] - ldr r0, [r1, #8] -_08050BEE: - ldr r0, [sp, #4] - cmp r0, #0 - beq RETURN - ldr r2, [sp] - cmp r5, #9 - ble _08050BFE - adds r5, r6, #0 - adds r2, #0x40 -_08050BFE: - lsls r0, r5, #1 - adds r0, r0, r2 - ldr r2, [sp, #4] - ldr r3, _08050C28 @ =0xFFFFF24D - adds r1, r2, r3 - strh r1, [r0, #2] -RETURN: - add sp, #8 - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08050C18: .4byte gUnk_02002A40 -_08050C1C: .4byte 0x0000F24C -_08050C20: .4byte 0x040000D4 -_08050C24: .4byte gUnk_080FC914 -_08050C28: .4byte 0xFFFFF24D - - thumb_func_start sub_08050C2C -sub_08050C2C: @ 0x08050C2C - push {lr} - ldr r1, _08050C48 @ =gUnk_080FC93C - ldr r0, _08050C4C @ =gMenu - ldrb r0, [r0, #5] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - ldr r0, _08050C50 @ =gUnk_02019EE0 - ldrb r0, [r0, #6] - bl sub_08050A64 - pop {pc} - .align 2, 0 -_08050C48: .4byte gUnk_080FC93C -_08050C4C: .4byte gMenu -_08050C50: .4byte gUnk_02019EE0 - - thumb_func_start sub_08050C54 -sub_08050C54: @ 0x08050C54 - push {r4, lr} - ldr r0, _08050C78 @ =gUnk_02019EE0 - ldrb r0, [r0] - cmp r0, #0 - beq _08050C60 - b _08050D60 -_08050C60: - ldr r0, _08050C7C @ =gMenu - ldrb r4, [r0, #1] - ldr r0, _08050C80 @ =gUnk_03000FF0 - ldrh r0, [r0, #2] - subs r0, #1 - cmp r0, #0x1f - bhi _08050D44 - lsls r0, r0, #2 - ldr r1, _08050C84 @ =_08050C88 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08050C78: .4byte gUnk_02019EE0 -_08050C7C: .4byte gMenu -_08050C80: .4byte gUnk_03000FF0 -_08050C84: .4byte _08050C88 -_08050C88: @ jump table - .4byte _08050D08 @ case 0 - .4byte _08050D30 @ case 1 - .4byte _08050D44 @ case 2 - .4byte _08050D44 @ case 3 - .4byte _08050D44 @ case 4 - .4byte _08050D44 @ case 5 - .4byte _08050D44 @ case 6 - .4byte _08050D08 @ case 7 - .4byte _08050D44 @ case 8 - .4byte _08050D44 @ case 9 - .4byte _08050D44 @ case 10 - .4byte _08050D44 @ case 11 - .4byte _08050D44 @ case 12 - .4byte _08050D44 @ case 13 - .4byte _08050D44 @ case 14 - .4byte _08050D42 @ case 15 - .4byte _08050D44 @ case 16 - .4byte _08050D44 @ case 17 - .4byte _08050D44 @ case 18 - .4byte _08050D44 @ case 19 - .4byte _08050D44 @ case 20 - .4byte _08050D44 @ case 21 - .4byte _08050D44 @ case 22 - .4byte _08050D44 @ case 23 - .4byte _08050D44 @ case 24 - .4byte _08050D44 @ case 25 - .4byte _08050D44 @ case 26 - .4byte _08050D44 @ case 27 - .4byte _08050D44 @ case 28 - .4byte _08050D44 @ case 29 - .4byte _08050D44 @ case 30 - .4byte _08050D3E @ case 31 -_08050D08: - cmp r4, #0 - bne _08050D12 - ldr r0, _08050D28 @ =0x80080000 - bl PlaySFX -_08050D12: - ldr r1, _08050D2C @ =gMenu - movs r0, #0xf - strh r0, [r1, #8] - movs r0, #1 - bl sub_080A7114 - movs r0, #0x6a - bl PlaySFX - b _08050D44 - .align 2, 0 -_08050D28: .4byte 0x80080000 -_08050D2C: .4byte gMenu -_08050D30: - movs r0, #0x6c - bl PlaySFX - movs r0, #0 - bl sub_080503BC - b _08050D44 -_08050D3E: - subs r4, #1 - b _08050D44 -_08050D42: - adds r4, #1 -_08050D44: - cmp r4, #0 - bge _08050D4A - movs r4, #0 -_08050D4A: - cmp r4, #2 - ble _08050D50 - movs r4, #2 -_08050D50: - ldr r1, _08050D64 @ =gMenu - ldrb r0, [r1, #1] - cmp r0, r4 - beq _08050D60 - strb r4, [r1, #1] - movs r0, #0x69 - bl PlaySFX -_08050D60: - pop {r4, pc} - .align 2, 0 -_08050D64: .4byte gMenu - - thumb_func_start sub_08050D68 -sub_08050D68: @ 0x08050D68 - push {lr} - ldr r1, _08050D84 @ =gMenu - ldrh r0, [r1, #8] - cmp r0, #0 - bne _08050D94 - ldrb r0, [r1, #1] - cmp r0, #1 - beq _08050D88 - cmp r0, #1 - ble _08050D80 - cmp r0, #2 - beq _08050D8C -_08050D80: - movs r0, #7 - b _08050D8E - .align 2, 0 -_08050D84: .4byte gMenu -_08050D88: - movs r0, #5 - b _08050D8E -_08050D8C: - movs r0, #6 -_08050D8E: - bl sub_080503BC - b _08050D98 -_08050D94: - subs r0, #1 - strh r0, [r1, #8] -_08050D98: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08050D9C -sub_08050D9C: @ 0x08050D9C - push {lr} - ldr r1, _08050DB0 @ =gUnk_080FC944 - ldr r0, _08050DB4 @ =gMenu - ldrb r0, [r0, #5] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_08050DB0: .4byte gUnk_080FC944 -_08050DB4: .4byte gMenu - - thumb_func_start sub_08050DB8 -sub_08050DB8: @ 0x08050DB8 - push {lr} - ldr r0, _08050DDC @ =gUnk_020344B0 - movs r1, #0x80 - lsls r1, r1, #4 - bl _DmaZero - movs r0, #0xc - bl sub_080503A8 - ldr r1, _08050DE0 @ =gMenu - movs r0, #0x80 - lsls r0, r0, #0x12 - ldrb r0, [r0, #7] - strb r0, [r1, #4] - movs r0, #1 - bl sub_080A7114 - pop {pc} - .align 2, 0 -_08050DDC: .4byte gUnk_020344B0 -_08050DE0: .4byte gMenu - - thumb_func_start sub_08050DE4 -sub_08050DE4: @ 0x08050DE4 - push {r4, lr} - ldr r0, _08050E0C @ =gUnk_02019EE0 - ldrb r0, [r0] - cmp r0, #0 - bne _08050E80 - movs r1, #0x80 - lsls r1, r1, #0x12 - ldrb r4, [r1, #7] - ldr r0, _08050E10 @ =gUnk_03000FF0 - ldrh r0, [r0, #2] - cmp r0, #8 - beq _08050E26 - cmp r0, #8 - bgt _08050E14 - cmp r0, #1 - beq _08050E26 - cmp r0, #2 - beq _08050E50 - b _08050E62 - .align 2, 0 -_08050E0C: .4byte gUnk_02019EE0 -_08050E10: .4byte gUnk_03000FF0 -_08050E14: - cmp r0, #0x40 - beq _08050E1E - cmp r0, #0x80 - beq _08050E22 - b _08050E62 -_08050E1E: - subs r4, #1 - b _08050E62 -_08050E22: - adds r4, #1 - b _08050E62 -_08050E26: - movs r0, #0x6a - bl PlaySFX - ldr r0, _08050E44 @ =gMenu - ldrb r0, [r0, #4] - cmp r0, r4 - beq _08050E48 - movs r0, #2 - bl sub_080A7114 - movs r0, #8 - movs r1, #0 - bl sub_08050318 - b _08050E62 - .align 2, 0 -_08050E44: .4byte gMenu -_08050E48: - movs r0, #0 - bl sub_080503BC - b _08050E62 -_08050E50: - ldr r0, _08050E84 @ =gMenu - ldrb r4, [r0, #4] - strb r4, [r1, #7] - movs r0, #0x6c - bl PlaySFX - movs r0, #0 - bl sub_080503BC -_08050E62: - cmp r4, #1 - bgt _08050E68 - movs r4, #2 -_08050E68: - cmp r4, #6 - ble _08050E6E - movs r4, #6 -_08050E6E: - movs r1, #0x80 - lsls r1, r1, #0x12 - ldrb r0, [r1, #7] - cmp r0, r4 - beq _08050E80 - strb r4, [r1, #7] - movs r0, #0x69 - bl PlaySFX -_08050E80: - pop {r4, pc} - .align 2, 0 -_08050E84: .4byte gMenu - - thumb_func_start sub_08050E88 -sub_08050E88: @ 0x08050E88 - push {lr} - movs r0, #2 - bl sub_0807CDA4 - cmp r0, #0 - beq _08050E9A - movs r0, #0 - bl sub_080503BC -_08050E9A: - pop {pc} - - thumb_func_start sub_08050E9C -sub_08050E9C: @ 0x08050E9C + thumb_func_start HandleFileOptions +HandleFileOptions: @ 0x08050E9C push {lr} ldr r1, _08050EB0 @ =gUnk_080FC950 ldr r0, _08050EB4 @ =gMenu @@ -581,7 +161,7 @@ _08050FBA: bl sub_080A7114 ldr r0, _08050FCC @ =gUnk_02019EE0 ldrb r0, [r0, #6] - bl sub_0805041C + bl SetActiveSave b _08050FF4 .align 2, 0 _08050FCC: .4byte gUnk_02019EE0 @@ -599,7 +179,7 @@ _08050FE2: beq _08050FF4 strb r2, [r4] ldrb r0, [r6, #6] - bl sub_080503E4 + bl LoadOptionsFromSave movs r0, #0x69 bl PlaySFX _08050FF4: @@ -669,12 +249,12 @@ _08051060: _08051068: .4byte gUnk_03000FF0 _0805106C: movs r0, #0 - bl sub_080503BC + bl SetFileSelectState _08051072: pop {pc} - thumb_func_start sub_08051074 -sub_08051074: @ 0x08051074 + thumb_func_start HandleFileNew +HandleFileNew: @ 0x08051074 push {lr} ldr r1, _08051088 @ =gUnk_080FC960 ldr r0, _0805108C @ =gMenu @@ -1189,7 +769,7 @@ _08051448: sub_0805144C: @ 0x0805144C push {lr} movs r0, #0 - bl sub_080503BC + bl SetFileSelectState pop {pc} .align 2, 0 @@ -1372,8 +952,8 @@ _08051594: .4byte gUnk_02002A40 _08051598: .4byte gUnk_02019EE0 _0805159C: .4byte 0x000004B4 - thumb_func_start sub_080515A0 -sub_080515A0: @ 0x080515A0 + thumb_func_start HandleFileDelete +HandleFileDelete: @ 0x080515A0 push {lr} ldr r1, _080515BC @ =gUnk_080FC9BC ldr r0, _080515C0 @ =gMenu @@ -1480,7 +1060,7 @@ _08051694: _080516B0: .4byte gMenu _080516B4: movs r0, #0 - bl sub_080503BC + bl SetFileSelectState movs r0, #0x6c bl PlaySFX b _080516C8 @@ -1518,15 +1098,15 @@ sub_080516E0: @ 0x080516E0 movs r0, #2 strh r0, [r1, #8] movs r0, #0 - bl sub_080503BC + bl SetFileSelectState _08051706: pop {r4, pc} .align 2, 0 _08051708: .4byte gUnk_02019EE0 _0805170C: .4byte gMenu - thumb_func_start sub_08051710 -sub_08051710: @ 0x08051710 + thumb_func_start HandleFileCopy +HandleFileCopy: @ 0x08051710 push {lr} ldr r1, _0805172C @ =gUnk_080FC9C8 ldr r0, _08051730 @ =gMenu @@ -1697,7 +1277,7 @@ _08051848: movs r0, #0x6c bl PlaySFX movs r0, #0 - bl sub_080503BC + bl SetFileSelectState _08051858: adds r0, r4, #0 bl sub_080517B4 @@ -1744,7 +1324,7 @@ sub_08051874: @ 0x08051874 adds r1, r1, r3 bl _DmaCopy movs r0, #0 - bl sub_080503BC + bl SetFileSelectState b _080518DE .align 2, 0 _080518B8: .4byte gUnk_02019EE0 @@ -1780,7 +1360,7 @@ sub_080518E4: @ 0x080518E4 cmp r0, #0 beq _08051910 movs r0, #0 - bl sub_080503BC + bl SetFileSelectState b _08051910 .align 2, 0 _08051904: .4byte gMenu @@ -1792,8 +1372,8 @@ _08051910: pop {pc} .align 2, 0 - thumb_func_start sub_08051914 -sub_08051914: @ 0x08051914 + thumb_func_start HandleFileStart +HandleFileStart: @ 0x08051914 push {lr} ldr r1, _08051940 @ =gMenu ldrb r0, [r1, #5] @@ -2014,7 +1594,7 @@ _08051B02: bl sub_08000108 bl sub_0801C344 bl sub_0805E5F8 - bl sub_080AD90C + bl FlushSprites bl sub_0801C208 bl sub_08078CB4 bl sub_080AD9B0 @@ -2115,7 +1695,7 @@ sub_08051BD0: @ 0x08051BD0 _08051C02: bl sub_08078B48 _08051C06: - bl sub_080AD90C + bl FlushSprites bl sub_0805E5C0 bl sub_08080A40 bl sub_080175F4 @@ -2182,7 +1762,7 @@ sub_08051CA8: @ 0x08051CA8 bl sub_080175F4 bl sub_0801C344 bl sub_0805E5F8 - bl sub_080AD90C + bl FlushSprites bl sub_0801C208 bl sub_08078CB4 bl sub_080AD9B0 @@ -2202,7 +1782,7 @@ _08051CEC: .4byte gFadeControl thumb_func_start sub_08051CF0 sub_08051CF0: @ 0x08051CF0 push {r4, r5, r6, lr} - bl sub_080AD90C + bl FlushSprites bl sub_0801C208 bl sub_080AD9B0 ldr r5, _08051D20 @ =gUnk_03001000 @@ -2449,7 +2029,7 @@ sub_08051F04: @ 0x08051F04 adds r0, r0, r1 ldr r0, [r0] bl _call_via_r0 - bl sub_080AD90C + bl FlushSprites bl sub_0805E5C0 bl sub_080AD9B0 bl sub_080AD918 @@ -2581,7 +2161,7 @@ sub_08052010: @ 0x08052010 lsls r4, r4, #4 adds r1, r4, #0 bl _DmaZero - ldr r0, _08052080 @ =gUnk_020344B0 + ldr r0, _08052080 @ =gBG2Buffer adds r1, r4, #0 bl _DmaZero bl sub_080A4D34 @@ -2616,7 +2196,7 @@ sub_08052010: @ 0x08052010 pop {r4, pc} .align 2, 0 _0805207C: .4byte gBG1Buffer -_08052080: .4byte gUnk_020344B0 +_08052080: .4byte gBG2Buffer _08052084: .4byte gMenu _08052088: .4byte gScreen _0805208C: .4byte 0x00001C01 @@ -2635,7 +2215,7 @@ HandleGameOverScreen: @ 0x08052094 ldrb r0, [r4, #3] cmp r0, #0 beq _080520B8 - bl sub_080AD90C + bl FlushSprites bl sub_080523D4 bl sub_080AD918 _080520B8: diff --git a/asm/non_matching/save/sub_08050B3C.inc b/asm/non_matching/save/sub_08050B3C.inc new file mode 100644 index 00000000..d7e96a1f --- /dev/null +++ b/asm/non_matching/save/sub_08050B3C.inc @@ -0,0 +1,125 @@ + .syntax unified + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #8 + str r0, [sp] + ldr r1, _08050C18 @ =gUnk_02002A40 + adds r0, r1, #0 + adds r0, #0xaa + ldrb r0, [r0] + lsrs r2, r0, #1 + cmp r2, #0 + bne _08050B5A + movs r2, #1 +_08050B5A: + adds r0, r1, #0 + adds r0, #0xab + ldrb r0, [r0] + lsrs r3, r0, #1 + cmp r3, #0 + beq RETURN + cmp r2, r3 + ble _08050B6C + adds r2, r3, #0 +_08050B6C: + movs r0, #3 + ands r0, r2 + str r0, [sp, #4] + adds r0, r2, #0 + asrs r5, r0, #2 + mov ip, r5 + cmp r5, #0xa + ble _08050B80 + movs r2, #0xa + mov ip, r2 +_08050B80: + adds r6, r5, #0 + subs r6, #0xa + mov sb, r6 + cmp r6, #0 + bge _08050B8E + movs r7, #0 + mov sb, r7 +_08050B8E: + adds r0, r3, #0 + asrs r3, r0, #2 + adds r0, r3, #0 + cmp r3, #0xa + ble _08050B9A + movs r3, #0xa +_08050B9A: + adds r4, r0, #0 + subs r4, #0xa + ldr r2, [sp] + ldr r0, _08050C1C @ =0x0000F24C + mov sl, r0 + strh r0, [r2] + ldr r1, _08050C20 @ =0x040000D4 + movs r7, #0xa + mov r8, r7 + mov r0, r8 + mov r7, ip @ var5 + subs r0, r0, r7 @ 10 - var5 + lsls r0, r0, #1 + ldr r7, _08050C24 @ =gUnk_080FC914 + mov ip, r7 + add r0, ip + str r0, [r1] + adds r0, r2, #2 + str r0, [r1, #4] + movs r0, #0x80 + lsls r0, r0, #0x18 + orrs r3, r0 + str r3, [r1, #8] + ldr r0, [r1, #8] + cmp r4, #0 + ble _08050BEE + adds r2, #0x40 + mov r3, sl + strh r3, [r2] + mov r7, r8 + mov r3, sb + subs r0, r7, r3 + lsls r0, r0, #1 + add r0, ip + str r0, [r1] + adds r0, r2, #2 + str r0, [r1, #4] + movs r7, #0x80 + lsls r7, r7, #0x18 + orrs r4, r7 + str r4, [r1, #8] + ldr r0, [r1, #8] +_08050BEE: + ldr r0, [sp, #4] + cmp r0, #0 + beq RETURN + ldr r2, [sp] + cmp r5, #9 + ble _08050BFE + adds r5, r6, #0 + adds r2, #0x40 +_08050BFE: + lsls r0, r5, #1 + adds r0, r0, r2 + ldr r2, [sp, #4] + ldr r3, _08050C28 @ =0xFFFFF24D + adds r1, r2, r3 + strh r1, [r0, #2] +RETURN: + add sp, #8 + pop {r3, r4, r5} + mov r8, r3 + mov sb, r4 + mov sl, r5 + pop {r4, r5, r6, r7, pc} + .align 2, 0 +_08050C18: .4byte gUnk_02002A40 +_08050C1C: .4byte 0x0000F24C +_08050C20: .4byte 0x040000D4 +_08050C24: .4byte gUnk_080FC914 +_08050C28: .4byte 0xFFFFF24D + .syntax divided \ No newline at end of file diff --git a/data/data_080D5360.s b/data/data_080D5360.s index f6d67766..95021411 100644 --- a/data/data_080D5360.s +++ b/data/data_080D5360.s @@ -11210,1932 +11210,3 @@ gUnk_080FC844:: @ 080FC844 gUnk_080FC85C:: @ 080FC85C .incbin "baserom.gba", 0x0FC85C, 0x0000048 - -gUnk_080FC8A4:: @ 080FC8A4 - .incbin "baserom.gba", 0x0FC8A4, 0x000000C - -gUnk_080FC8B0:: @ 080FC8B0 - .incbin "baserom.gba", 0x0FC8B0, 0x0000020 - -gUnk_080FC8D0:: @ 080FC8D0 - .incbin "baserom.gba", 0x0FC8D0, 0x000000E - -gUnk_080FC8DE:: @ 080FC8DE - .incbin "baserom.gba", 0x0FC8DE, 0x000001E - -gUnk_080FC8FC:: @ 080FC8FC - .incbin "baserom.gba", 0x0FC8FC, 0x0000007 - -gUnk_080FC903:: @ 080FC903 - .incbin "baserom.gba", 0x0FC903, 0x0000005 - -gUnk_080FC908:: @ 080FC908 - .incbin "baserom.gba", 0x0FC908, 0x000000C - -gUnk_080FC914:: @ 080FC914 - .incbin "baserom.gba", 0x0FC914, 0x0000028 - -gUnk_080FC93C:: @ 080FC93C - .incbin "baserom.gba", 0x0FC93C, 0x0000008 - -gUnk_080FC944:: @ 080FC944 - .incbin "baserom.gba", 0x0FC944, 0x000000C - -gUnk_080FC950:: @ 080FC950 - .incbin "baserom.gba", 0x0FC950, 0x0000010 - -gUnk_080FC960:: @ 080FC960 - .incbin "baserom.gba", 0x0FC960, 0x0000010 - -gUnk_080FC970:: @ 080FC970 - .incbin "baserom.gba", 0x0FC970, 0x0000010 - -gUnk_080FC980:: @ 080FC980 - .incbin "baserom.gba", 0x0FC980, 0x0000020 - -gUnk_080FC9A0:: @ 080FC9A0 - .incbin "baserom.gba", 0x0FC9A0, 0x0000010 - -gUnk_080FC9B0:: @ 080FC9B0 - .incbin "baserom.gba", 0x0FC9B0, 0x000000C - -gUnk_080FC9BC:: @ 080FC9BC - .incbin "baserom.gba", 0x0FC9BC, 0x000000C - -gUnk_080FC9C8:: @ 080FC9C8 - .incbin "baserom.gba", 0x0FC9C8, 0x0000010 - -gUnk_080FC9D8:: @ 080FC9D8 - .incbin "baserom.gba", 0x0FC9D8, 0x0000010 - -gUnk_080FC9E8:: @ 080FC9E8 - .incbin "baserom.gba", 0x0FC9E8, 0x0000020 - -gUnk_080FCA08:: @ 080FCA08 - .incbin "baserom.gba", 0x0FCA08, 0x000000C - -gUnk_080FCA14:: @ 080FCA14 - .incbin "baserom.gba", 0x0FCA14, 0x000000C - -gUnk_080FCA20:: @ 080FCA20 - .incbin "baserom.gba", 0x0FCA20, 0x0000050 - -gUnk_080FCA70:: @ 080FCA70 - .incbin "baserom.gba", 0x0FCA70, 0x0000014 - -gUnk_080FCA84:: @ 080FCA84 - .incbin "baserom.gba", 0x0FCA84, 0x0000008 - -gUnk_080FCA8C:: @ 080FCA8C - .incbin "baserom.gba", 0x0FCA8C, 0x0000018 - -gUnk_080FCAA4:: @ 080FCAA4 - .incbin "baserom.gba", 0x0FCAA4, 0x0000024 - -gUnk_080FCAC8:: @ 080FCAC8 - .incbin "baserom.gba", 0x0FCAC8, 0x000000E - -gUnk_080FCAD6:: @ 080FCAD6 - .incbin "baserom.gba", 0x0FCAD6, 0x0000022 - -gUnk_080FCAF8:: @ 080FCAF8 - .incbin "baserom.gba", 0x0FCAF8, 0x0000020 - -gUnk_080FCB18:: @ 080FCB18 - .incbin "baserom.gba", 0x0FCB18, 0x0000020 - -gUnk_080FCB38:: @ 080FCB38 - .incbin "baserom.gba", 0x0FCB38, 0x000002A - -gUnk_080FCB62:: @ 080FCB62 - .incbin "baserom.gba", 0x0FCB62, 0x0000032 - -gUnk_080FCB94:: @ 080FCB94 - .incbin "baserom.gba", 0x0FCB94, 0x0000020 - -gUnk_080FCBB4:: @ 080FCBB4 - .incbin "baserom.gba", 0x0FCBB4, 0x0000010 - -gUnk_080FCBC4:: @ 080FCBC4 - .incbin "baserom.gba", 0x0FCBC4, 0x0000050 - -gUnk_080FCC14:: @ 080FCC14 - .incbin "baserom.gba", 0x0FCC14, 0x0000040 - -gUnk_080FCC54:: @ 080FCC54 - .incbin "baserom.gba", 0x0FCC54, 0x0000030 - -gUnk_080FCC84:: @ 080FCC84 - .incbin "baserom.gba", 0x0FCC84, 0x0000018 - -gUnk_080FCC9C:: @ 080FCC9C - .incbin "baserom.gba", 0x0FCC9C, 0x0000018 - -gUnk_080FCCB4:: @ 080FCCB4 - .incbin "baserom.gba", 0x0FCCB4, 0x0000048 - -gUnk_080FCCFC:: @ 080FCCFC - .incbin "baserom.gba", 0x0FCCFC, 0x000003C - -gUnk_080FCD38:: @ 080FCD38 - .incbin "baserom.gba", 0x0FCD38, 0x0000008 - -gUnk_080FCD40:: @ 080FCD40 - .incbin "baserom.gba", 0x0FCD40, 0x0000044 - -gUnk_080FCD84:: @ 080FCD84 - .incbin "baserom.gba", 0x0FCD84, 0x0000050 - -gUnk_080FCDD4:: @ 080FCDD4 - .incbin "baserom.gba", 0x0FCDD4, 0x000000C - -gUnk_080FCDE0:: @ 080FCDE0 - .incbin "baserom.gba", 0x0FCDE0, 0x0000050 - -gUnk_080FCE30:: @ 080FCE30 - .incbin "baserom.gba", 0x0FCE30, 0x0000080 - -gUnk_080FCEB0:: @ 080FCEB0 - .incbin "baserom.gba", 0x0FCEB0, 0x000000C - -gUnk_080FCEBC:: @ 080FCEBC - .incbin "baserom.gba", 0x0FCEBC, 0x0000030 - -gUnk_080FCEEC:: @ 080FCEEC - .incbin "baserom.gba", 0x0FCEEC, 0x000000C - -gUnk_080FCEF8:: @ 080FCEF8 - .incbin "baserom.gba", 0x0FCEF8, 0x000000C - -gUnk_080FCF04:: @ 080FCF04 - .incbin "baserom.gba", 0x0FCF04, 0x0000020 - -gUnk_080FCF24:: @ 080FCF24 - .incbin "baserom.gba", 0x0FCF24, 0x0000020 - -gUnk_080FCF44:: @ 080FCF44 - .incbin "baserom.gba", 0x0FCF44, 0x0000020 - -gUnk_080FCF64:: @ 080FCF64 - .incbin "baserom.gba", 0x0FCF64, 0x0000020 - -gUnk_080FCF84:: @ 080FCF84 - .incbin "baserom.gba", 0x0FCF84, 0x0000020 - -gUnk_080FCFA4:: @ 080FCFA4 - .incbin "baserom.gba", 0x0FCFA4, 0x0000014 - -gUnk_080FCFB8:: @ 080FCFB8 - .incbin "baserom.gba", 0x0FCFB8, 0x0000030 - -gUnk_080FCFE8:: @ 080FCFE8 - .incbin "baserom.gba", 0x0FCFE8, 0x0000020 - -gUnk_080FD008:: @ 080FD008 - .incbin "baserom.gba", 0x0FD008, 0x0000020 - -gUnk_080FD028:: @ 080FD028 - .incbin "baserom.gba", 0x0FD028, 0x0000020 - -gUnk_080FD048:: @ 080FD048 - .incbin "baserom.gba", 0x0FD048, 0x0000030 - -gUnk_080FD078:: @ 080FD078 - .incbin "baserom.gba", 0x0FD078, 0x0000020 - -gUnk_080FD098:: @ 080FD098 - .incbin "baserom.gba", 0x0FD098, 0x0000030 - -gUnk_080FD0C8:: @ 080FD0C8 - .incbin "baserom.gba", 0x0FD0C8, 0x0000020 - -gUnk_080FD0E8:: @ 080FD0E8 - .incbin "baserom.gba", 0x0FD0E8, 0x0000020 - -gUnk_080FD108:: @ 080FD108 - .incbin "baserom.gba", 0x0FD108, 0x0000030 - -gUnk_080FD138:: @ 080FD138 - .incbin "baserom.gba", 0x0FD138, 0x0000018 - -gUnk_080FD150:: @ 080FD150 - .incbin "baserom.gba", 0x0FD150, 0x0000008 - -gUnk_080FD158:: @ 080FD158 - .incbin "baserom.gba", 0x0FD158, 0x0000008 - -gUnk_080FD160:: @ 080FD160 - .incbin "baserom.gba", 0x0FD160, 0x0000008 - -gUnk_080FD168:: @ 080FD168 - .incbin "baserom.gba", 0x0FD168, 0x0000008 - -gUnk_080FD170:: @ 080FD170 - .incbin "baserom.gba", 0x0FD170, 0x0000008 - -gUnk_080FD178:: @ 080FD178 - .incbin "baserom.gba", 0x0FD178, 0x0000008 - -gUnk_080FD180:: @ 080FD180 - .incbin "baserom.gba", 0x0FD180, 0x0000008 - -gUnk_080FD188:: @ 080FD188 - .incbin "baserom.gba", 0x0FD188, 0x0000008 - -gUnk_080FD190:: @ 080FD190 - .incbin "baserom.gba", 0x0FD190, 0x0000008 - -gUnk_080FD198:: @ 080FD198 - .incbin "baserom.gba", 0x0FD198, 0x0000008 - -gUnk_080FD1A0:: @ 080FD1A0 - .incbin "baserom.gba", 0x0FD1A0, 0x0000008 - -gUnk_080FD1A8:: @ 080FD1A8 - .incbin "baserom.gba", 0x0FD1A8, 0x000000C - -gUnk_080FD1B4:: @ 080FD1B4 - .incbin "baserom.gba", 0x0FD1B4, 0x0000010 - -gUnk_080FD1C4:: @ 080FD1C4 - .incbin "baserom.gba", 0x0FD1C4, 0x0000008 - -gUnk_080FD1CC:: @ 080FD1CC - .incbin "baserom.gba", 0x0FD1CC, 0x0000008 - -gUnk_080FD1D4:: @ 080FD1D4 - .incbin "baserom.gba", 0x0FD1D4, 0x0000008 - -gUnk_080FD1DC:: @ 080FD1DC - .incbin "baserom.gba", 0x0FD1DC, 0x0000008 - -gUnk_080FD1E4:: @ 080FD1E4 - .incbin "baserom.gba", 0x0FD1E4, 0x0000008 - -gUnk_080FD1EC:: @ 080FD1EC - .incbin "baserom.gba", 0x0FD1EC, 0x0000008 - -gUnk_080FD1F4:: @ 080FD1F4 - .incbin "baserom.gba", 0x0FD1F4, 0x0000008 - -gUnk_080FD1FC:: @ 080FD1FC - .incbin "baserom.gba", 0x0FD1FC, 0x0000008 - -gUnk_080FD204:: @ 080FD204 - .incbin "baserom.gba", 0x0FD204, 0x0000008 - -gUnk_080FD20C:: @ 080FD20C - .incbin "baserom.gba", 0x0FD20C, 0x0000008 - -gUnk_080FD214:: @ 080FD214 - .incbin "baserom.gba", 0x0FD214, 0x0000008 - -gUnk_080FD21C:: @ 080FD21C - .incbin "baserom.gba", 0x0FD21C, 0x0000008 - -gUnk_080FD224:: @ 080FD224 - .incbin "baserom.gba", 0x0FD224, 0x0000008 - -gUnk_080FD22C:: @ 080FD22C - .incbin "baserom.gba", 0x0FD22C, 0x000000C - -gUnk_080FD238:: @ 080FD238 - .incbin "baserom.gba", 0x0FD238, 0x0000008 - -gUnk_080FD240:: @ 080FD240 - .incbin "baserom.gba", 0x0FD240, 0x0000008 - -gUnk_080FD248:: @ 080FD248 - .incbin "baserom.gba", 0x0FD248, 0x0000008 - -gUnk_080FD250:: @ 080FD250 - .incbin "baserom.gba", 0x0FD250, 0x0000008 - -gUnk_080FD258:: @ 080FD258 - .incbin "baserom.gba", 0x0FD258, 0x0000008 - -gUnk_080FD260:: @ 080FD260 - .incbin "baserom.gba", 0x0FD260, 0x0000008 - -gUnk_080FD268:: @ 080FD268 - .incbin "baserom.gba", 0x0FD268, 0x0000008 - -gUnk_080FD270:: @ 080FD270 - .incbin "baserom.gba", 0x0FD270, 0x0000008 - -gUnk_080FD278:: @ 080FD278 - .incbin "baserom.gba", 0x0FD278, 0x0000008 - -gUnk_080FD280:: @ 080FD280 - .incbin "baserom.gba", 0x0FD280, 0x0000008 - -gUnk_080FD288:: @ 080FD288 - .incbin "baserom.gba", 0x0FD288, 0x0000008 - -gUnk_080FD290:: @ 080FD290 - .incbin "baserom.gba", 0x0FD290, 0x0000008 - -gUnk_080FD298:: @ 080FD298 - .incbin "baserom.gba", 0x0FD298, 0x0000008 - -gUnk_080FD2A0:: @ 080FD2A0 - .incbin "baserom.gba", 0x0FD2A0, 0x0000008 - -gUnk_080FD2A8:: @ 080FD2A8 - .incbin "baserom.gba", 0x0FD2A8, 0x0000008 - -gUnk_080FD2B0:: @ 080FD2B0 - .incbin "baserom.gba", 0x0FD2B0, 0x0000008 - -gUnk_080FD2B8:: @ 080FD2B8 - .incbin "baserom.gba", 0x0FD2B8, 0x0000008 - -gUnk_080FD2C0:: @ 080FD2C0 - .incbin "baserom.gba", 0x0FD2C0, 0x0000008 - -gUnk_080FD2C8:: @ 080FD2C8 - .incbin "baserom.gba", 0x0FD2C8, 0x0000008 - -gUnk_080FD2D0:: @ 080FD2D0 - .incbin "baserom.gba", 0x0FD2D0, 0x0000008 - -gUnk_080FD2D8:: @ 080FD2D8 - .incbin "baserom.gba", 0x0FD2D8, 0x0000008 - -gUnk_080FD2E0:: @ 080FD2E0 - .incbin "baserom.gba", 0x0FD2E0, 0x0000008 - -gUnk_080FD2E8:: @ 080FD2E8 - .incbin "baserom.gba", 0x0FD2E8, 0x0000008 - -gUnk_080FD2F0:: @ 080FD2F0 - .incbin "baserom.gba", 0x0FD2F0, 0x0000008 - -gUnk_080FD2F8:: @ 080FD2F8 - .incbin "baserom.gba", 0x0FD2F8, 0x0000008 - -gUnk_080FD300:: @ 080FD300 - .incbin "baserom.gba", 0x0FD300, 0x0000008 - -gUnk_080FD308:: @ 080FD308 - .incbin "baserom.gba", 0x0FD308, 0x0000008 - -gUnk_080FD310:: @ 080FD310 - .incbin "baserom.gba", 0x0FD310, 0x0000008 - -gUnk_080FD318:: @ 080FD318 - .incbin "baserom.gba", 0x0FD318, 0x0000008 - -gUnk_080FD320:: @ 080FD320 - .incbin "baserom.gba", 0x0FD320, 0x0000008 - -gUnk_080FD328:: @ 080FD328 - .incbin "baserom.gba", 0x0FD328, 0x0000008 - -gUnk_080FD330:: @ 080FD330 - .incbin "baserom.gba", 0x0FD330, 0x0000008 - -gUnk_080FD338:: @ 080FD338 - .incbin "baserom.gba", 0x0FD338, 0x0000008 - -gUnk_080FD340:: @ 080FD340 - .incbin "baserom.gba", 0x0FD340, 0x000000C - -gUnk_080FD34C:: @ 080FD34C - .incbin "baserom.gba", 0x0FD34C, 0x0000008 - -gUnk_080FD354:: @ 080FD354 - .incbin "baserom.gba", 0x0FD354, 0x0000008 - -gUnk_080FD35C:: @ 080FD35C - .incbin "baserom.gba", 0x0FD35C, 0x0000008 - -gUnk_080FD364:: @ 080FD364 - .incbin "baserom.gba", 0x0FD364, 0x0000008 - -gUnk_080FD36C:: @ 080FD36C - .incbin "baserom.gba", 0x0FD36C, 0x0000008 - -gUnk_080FD374:: @ 080FD374 - .incbin "baserom.gba", 0x0FD374, 0x0000008 - -gUnk_080FD37C:: @ 080FD37C - .incbin "baserom.gba", 0x0FD37C, 0x0000008 - -gUnk_080FD384:: @ 080FD384 - .incbin "baserom.gba", 0x0FD384, 0x0000008 - -gUnk_080FD38C:: @ 080FD38C - .incbin "baserom.gba", 0x0FD38C, 0x0000008 - -gUnk_080FD394:: @ 080FD394 - .incbin "baserom.gba", 0x0FD394, 0x0000008 - -gUnk_080FD39C:: @ 080FD39C - .incbin "baserom.gba", 0x0FD39C, 0x0000008 - -gUnk_080FD3A4:: @ 080FD3A4 - .incbin "baserom.gba", 0x0FD3A4, 0x0000008 - -gUnk_080FD3AC:: @ 080FD3AC - .incbin "baserom.gba", 0x0FD3AC, 0x0000008 - -gUnk_080FD3B4:: @ 080FD3B4 - .incbin "baserom.gba", 0x0FD3B4, 0x0000008 - -gUnk_080FD3BC:: @ 080FD3BC - .incbin "baserom.gba", 0x0FD3BC, 0x0000008 - -gUnk_080FD3C4:: @ 080FD3C4 - .incbin "baserom.gba", 0x0FD3C4, 0x0000008 - -gUnk_080FD3CC:: @ 080FD3CC - .incbin "baserom.gba", 0x0FD3CC, 0x0000010 - -gUnk_080FD3DC:: @ 080FD3DC - .incbin "baserom.gba", 0x0FD3DC, 0x0000008 - -gUnk_080FD3E4:: @ 080FD3E4 - .incbin "baserom.gba", 0x0FD3E4, 0x0000008 - -gUnk_080FD3EC:: @ 080FD3EC - .incbin "baserom.gba", 0x0FD3EC, 0x0000008 - -gUnk_080FD3F4:: @ 080FD3F4 - .incbin "baserom.gba", 0x0FD3F4, 0x0000008 - -gUnk_080FD3FC:: @ 080FD3FC - .incbin "baserom.gba", 0x0FD3FC, 0x000000C - -gUnk_080FD408:: @ 080FD408 - .incbin "baserom.gba", 0x0FD408, 0x0000008 - -gUnk_080FD410:: @ 080FD410 - .incbin "baserom.gba", 0x0FD410, 0x000000C - -gUnk_080FD41C:: @ 080FD41C - .incbin "baserom.gba", 0x0FD41C, 0x0000008 - -gUnk_080FD424:: @ 080FD424 - .incbin "baserom.gba", 0x0FD424, 0x0000008 - -gUnk_080FD42C:: @ 080FD42C - .incbin "baserom.gba", 0x0FD42C, 0x0000008 - -gUnk_080FD434:: @ 080FD434 - .incbin "baserom.gba", 0x0FD434, 0x0000008 - -gUnk_080FD43C:: @ 080FD43C - .incbin "baserom.gba", 0x0FD43C, 0x000000C - -gUnk_080FD448:: @ 080FD448 - .incbin "baserom.gba", 0x0FD448, 0x0000008 - -gUnk_080FD450:: @ 080FD450 - .incbin "baserom.gba", 0x0FD450, 0x0000008 - -gUnk_080FD458:: @ 080FD458 - .incbin "baserom.gba", 0x0FD458, 0x0000008 - -gUnk_080FD460:: @ 080FD460 - .incbin "baserom.gba", 0x0FD460, 0x0000008 - -gUnk_080FD468:: @ 080FD468 - .incbin "baserom.gba", 0x0FD468, 0x0000008 - -gUnk_080FD470:: @ 080FD470 - .incbin "baserom.gba", 0x0FD470, 0x0000010 - -gUnk_080FD480:: @ 080FD480 - .incbin "baserom.gba", 0x0FD480, 0x0000008 - -gUnk_080FD488:: @ 080FD488 - .incbin "baserom.gba", 0x0FD488, 0x0000008 - -gUnk_080FD490:: @ 080FD490 - .incbin "baserom.gba", 0x0FD490, 0x0000008 - -gUnk_080FD498:: @ 080FD498 - .incbin "baserom.gba", 0x0FD498, 0x000000C - -gUnk_080FD4A4:: @ 080FD4A4 - .incbin "baserom.gba", 0x0FD4A4, 0x0000014 - -gUnk_080FD4B8:: @ 080FD4B8 - .incbin "baserom.gba", 0x0FD4B8, 0x0000008 - -gUnk_080FD4C0:: @ 080FD4C0 - .incbin "baserom.gba", 0x0FD4C0, 0x0000008 - -gUnk_080FD4C8:: @ 080FD4C8 - .incbin "baserom.gba", 0x0FD4C8, 0x0000008 - -gUnk_080FD4D0:: @ 080FD4D0 - .incbin "baserom.gba", 0x0FD4D0, 0x0000008 - -gUnk_080FD4D8:: @ 080FD4D8 - .incbin "baserom.gba", 0x0FD4D8, 0x0000008 - -gUnk_080FD4E0:: @ 080FD4E0 - .incbin "baserom.gba", 0x0FD4E0, 0x0000008 - -gUnk_080FD4E8:: @ 080FD4E8 - .incbin "baserom.gba", 0x0FD4E8, 0x0000008 - -gUnk_080FD4F0:: @ 080FD4F0 - .incbin "baserom.gba", 0x0FD4F0, 0x0000008 - -gUnk_080FD4F8:: @ 080FD4F8 - .incbin "baserom.gba", 0x0FD4F8, 0x0000008 - -gUnk_080FD500:: @ 080FD500 - .incbin "baserom.gba", 0x0FD500, 0x0000008 - -gUnk_080FD508:: @ 080FD508 - .incbin "baserom.gba", 0x0FD508, 0x0000008 - -gUnk_080FD510:: @ 080FD510 - .incbin "baserom.gba", 0x0FD510, 0x0000008 - -gUnk_080FD518:: @ 080FD518 - .incbin "baserom.gba", 0x0FD518, 0x0000008 - -gUnk_080FD520:: @ 080FD520 - .incbin "baserom.gba", 0x0FD520, 0x0000008 - -gUnk_080FD528:: @ 080FD528 - .incbin "baserom.gba", 0x0FD528, 0x0000008 - -gUnk_080FD530:: @ 080FD530 - .incbin "baserom.gba", 0x0FD530, 0x0000008 - -gUnk_080FD538:: @ 080FD538 - .incbin "baserom.gba", 0x0FD538, 0x000000C - -gUnk_080FD544:: @ 080FD544 - .incbin "baserom.gba", 0x0FD544, 0x0000008 - -gUnk_080FD54C:: @ 080FD54C - .incbin "baserom.gba", 0x0FD54C, 0x000000C - -gUnk_080FD558:: @ 080FD558 - .incbin "baserom.gba", 0x0FD558, 0x0000008 - -gUnk_080FD560:: @ 080FD560 - .incbin "baserom.gba", 0x0FD560, 0x0000008 - -gUnk_080FD568:: @ 080FD568 - .incbin "baserom.gba", 0x0FD568, 0x0000008 - -gUnk_080FD570:: @ 080FD570 - .incbin "baserom.gba", 0x0FD570, 0x0000008 - -gUnk_080FD578:: @ 080FD578 - .incbin "baserom.gba", 0x0FD578, 0x0000008 - -gUnk_080FD580:: @ 080FD580 - .incbin "baserom.gba", 0x0FD580, 0x0000008 - -gUnk_080FD588:: @ 080FD588 - .incbin "baserom.gba", 0x0FD588, 0x0000008 - -gWalletSizes:: @ 080FD590 - .incbin "baserom.gba", 0x0FD590, 0x0000010 - -gBombBagSizes:: @ 080FD5A0 - .incbin "baserom.gba", 0x0FD5A0, 0x0000004 - -gQuiverSizes:: @ 080FD5A4 - .incbin "baserom.gba", 0x0FD5A4, 0x0000004 - -gUnk_080FD5A8:: @ 080FD5A8 - .incbin "baserom.gba", 0x0FD5A8, 0x000000C - -gUnk_080FD5B4:: @ 080FD5B4 - .incbin "baserom.gba", 0x0FD5B4, 0x00003B0 - -gUnk_080FD964:: @ 080FD964 - .incbin "baserom.gba", 0x0FD964, 0x00003B0 - -gUnk_080FDD14:: @ 080FDD14 - .incbin "baserom.gba", 0x0FDD14, 0x0000005 - -gUnk_080FDD19:: @ 080FDD19 - .incbin "baserom.gba", 0x0FDD19, 0x0000005 - -gUnk_080FDD1E:: @ 080FDD1E - .incbin "baserom.gba", 0x0FDD1E, 0x0000005 - -gUnk_080FDD23:: @ 080FDD23 - .incbin "baserom.gba", 0x0FDD23, 0x0000005 - -gUnk_080FDD28:: @ 080FDD28 - .incbin "baserom.gba", 0x0FDD28, 0x0000005 - -gUnk_080FDD2D:: @ 080FDD2D - .incbin "baserom.gba", 0x0FDD2D, 0x0000005 - -gUnk_080FDD32:: @ 080FDD32 - .incbin "baserom.gba", 0x0FDD32, 0x0000005 - -gUnk_080FDD37:: @ 080FDD37 - .incbin "baserom.gba", 0x0FDD37, 0x0000011 - -gUnk_080FDD48:: @ 080FDD48 - .incbin "baserom.gba", 0x0FDD48, 0x0000005 - -gUnk_080FDD4D:: @ 080FDD4D - .incbin "baserom.gba", 0x0FDD4D, 0x0000005 - -gUnk_080FDD52:: @ 080FDD52 - .incbin "baserom.gba", 0x0FDD52, 0x0000005 - -gUnk_080FDD57:: @ 080FDD57 - .incbin "baserom.gba", 0x0FDD57, 0x0000005 - -gUnk_080FDD5C:: @ 080FDD5C - .incbin "baserom.gba", 0x0FDD5C, 0x0000005 - -gUnk_080FDD61:: @ 080FDD61 - .incbin "baserom.gba", 0x0FDD61, 0x0000031 - -gUnk_080FDD92:: @ 080FDD92 - .incbin "baserom.gba", 0x0FDD92, 0x0000005 - -gUnk_080FDD97:: @ 080FDD97 - .incbin "baserom.gba", 0x0FDD97, 0x0000011 - -gUnk_080FDDA8:: @ 080FDDA8 - .incbin "baserom.gba", 0x0FDDA8, 0x0000005 - -gUnk_080FDDAD:: @ 080FDDAD - .incbin "baserom.gba", 0x0FDDAD, 0x0000005 - -gUnk_080FDDB2:: @ 080FDDB2 - .incbin "baserom.gba", 0x0FDDB2, 0x0000005 - -gUnk_080FDDB7:: @ 080FDDB7 - .incbin "baserom.gba", 0x0FDDB7, 0x0000005 - -gUnk_080FDDBC:: @ 080FDDBC - .incbin "baserom.gba", 0x0FDDBC, 0x0000005 - -gUnk_080FDDC1:: @ 080FDDC1 - .incbin "baserom.gba", 0x0FDDC1, 0x0000005 - -gUnk_080FDDC6:: @ 080FDDC6 - .incbin "baserom.gba", 0x0FDDC6, 0x0000005 - -gUnk_080FDDCB:: @ 080FDDCB - .incbin "baserom.gba", 0x0FDDCB, 0x0000005 - -gUnk_080FDDD0:: @ 080FDDD0 - .incbin "baserom.gba", 0x0FDDD0, 0x0000005 - -gUnk_080FDDD5:: @ 080FDDD5 - .incbin "baserom.gba", 0x0FDDD5, 0x0000005 - -gUnk_080FDDDA:: @ 080FDDDA - .incbin "baserom.gba", 0x0FDDDA, 0x0000005 - -gUnk_080FDDDF:: @ 080FDDDF - .incbin "baserom.gba", 0x0FDDDF, 0x0000005 - -gUnk_080FDDE4:: @ 080FDDE4 - .incbin "baserom.gba", 0x0FDDE4, 0x0000011 - -gUnk_080FDDF5:: @ 080FDDF5 - .incbin "baserom.gba", 0x0FDDF5, 0x0000019 - -gUnk_080FDE0E:: @ 080FDE0E - .incbin "baserom.gba", 0x0FDE0E, 0x0000019 - -gUnk_080FDE27:: @ 080FDE27 - .incbin "baserom.gba", 0x0FDE27, 0x0000019 - -gUnk_080FDE40:: @ 080FDE40 - .incbin "baserom.gba", 0x0FDE40, 0x0000019 - -gUnk_080FDE59:: @ 080FDE59 - .incbin "baserom.gba", 0x0FDE59, 0x0000019 - -gUnk_080FDE72:: @ 080FDE72 - .incbin "baserom.gba", 0x0FDE72, 0x0000019 - -gUnk_080FDE8B:: @ 080FDE8B - .incbin "baserom.gba", 0x0FDE8B, 0x0000005 - -gUnk_080FDE90:: @ 080FDE90 - .incbin "baserom.gba", 0x0FDE90, 0x0000005 - -gUnk_080FDE95:: @ 080FDE95 - .incbin "baserom.gba", 0x0FDE95, 0x0000005 - -gUnk_080FDE9A:: @ 080FDE9A - .incbin "baserom.gba", 0x0FDE9A, 0x0000005 - -gUnk_080FDE9F:: @ 080FDE9F - .incbin "baserom.gba", 0x0FDE9F, 0x0000005 - -gUnk_080FDEA4:: @ 080FDEA4 - .incbin "baserom.gba", 0x0FDEA4, 0x0000005 - -gUnk_080FDEA9:: @ 080FDEA9 - .incbin "baserom.gba", 0x0FDEA9, 0x0000005 - -gUnk_080FDEAE:: @ 080FDEAE - .incbin "baserom.gba", 0x0FDEAE, 0x0000005 - -gUnk_080FDEB3:: @ 080FDEB3 - .incbin "baserom.gba", 0x0FDEB3, 0x0000005 - -gUnk_080FDEB8:: @ 080FDEB8 - .incbin "baserom.gba", 0x0FDEB8, 0x0000005 - -gUnk_080FDEBD:: @ 080FDEBD - .incbin "baserom.gba", 0x0FDEBD, 0x0000005 - -gUnk_080FDEC2:: @ 080FDEC2 - .incbin "baserom.gba", 0x0FDEC2, 0x0000005 - -gUnk_080FDEC7:: @ 080FDEC7 - .incbin "baserom.gba", 0x0FDEC7, 0x0000005 - -gUnk_080FDECC:: @ 080FDECC - .incbin "baserom.gba", 0x0FDECC, 0x0000005 - -gUnk_080FDED1:: @ 080FDED1 - .incbin "baserom.gba", 0x0FDED1, 0x0000005 - -gUnk_080FDED6:: @ 080FDED6 - .incbin "baserom.gba", 0x0FDED6, 0x0000005 - -gUnk_080FDEDB:: @ 080FDEDB - .incbin "baserom.gba", 0x0FDEDB, 0x0000005 - -gUnk_080FDEE0:: @ 080FDEE0 - .incbin "baserom.gba", 0x0FDEE0, 0x0000005 - -gUnk_080FDEE5:: @ 080FDEE5 - .incbin "baserom.gba", 0x0FDEE5, 0x0000005 - -gUnk_080FDEEA:: @ 080FDEEA - .incbin "baserom.gba", 0x0FDEEA, 0x0000005 - -gUnk_080FDEEF:: @ 080FDEEF - .incbin "baserom.gba", 0x0FDEEF, 0x0000005 - -gUnk_080FDEF4:: @ 080FDEF4 - .incbin "baserom.gba", 0x0FDEF4, 0x0000005 - -gUnk_080FDEF9:: @ 080FDEF9 - .incbin "baserom.gba", 0x0FDEF9, 0x0000005 - -gUnk_080FDEFE:: @ 080FDEFE - .incbin "baserom.gba", 0x0FDEFE, 0x0000005 - -gUnk_080FDF03:: @ 080FDF03 - .incbin "baserom.gba", 0x0FDF03, 0x0000005 - -gUnk_080FDF08:: @ 080FDF08 - .incbin "baserom.gba", 0x0FDF08, 0x0000005 - -gUnk_080FDF0D:: @ 080FDF0D - .incbin "baserom.gba", 0x0FDF0D, 0x0000005 - -gUnk_080FDF12:: @ 080FDF12 - .incbin "baserom.gba", 0x0FDF12, 0x0000005 - -gUnk_080FDF17:: @ 080FDF17 - .incbin "baserom.gba", 0x0FDF17, 0x0000011 - -gUnk_080FDF28:: @ 080FDF28 - .incbin "baserom.gba", 0x0FDF28, 0x000001D - -gUnk_080FDF45:: @ 080FDF45 - .incbin "baserom.gba", 0x0FDF45, 0x0000005 - -gUnk_080FDF4A:: @ 080FDF4A - .incbin "baserom.gba", 0x0FDF4A, 0x0000005 - -gUnk_080FDF4F:: @ 080FDF4F - .incbin "baserom.gba", 0x0FDF4F, 0x0000005 - -gUnk_080FDF54:: @ 080FDF54 - .incbin "baserom.gba", 0x0FDF54, 0x0000005 - -gUnk_080FDF59:: @ 080FDF59 - .incbin "baserom.gba", 0x0FDF59, 0x0000005 - -gUnk_080FDF5E:: @ 080FDF5E - .incbin "baserom.gba", 0x0FDF5E, 0x0000005 - -gUnk_080FDF63:: @ 080FDF63 - .incbin "baserom.gba", 0x0FDF63, 0x0000005 - -gUnk_080FDF68:: @ 080FDF68 - .incbin "baserom.gba", 0x0FDF68, 0x0000005 - -gUnk_080FDF6D:: @ 080FDF6D - .incbin "baserom.gba", 0x0FDF6D, 0x0000005 - -gUnk_080FDF72:: @ 080FDF72 - .incbin "baserom.gba", 0x0FDF72, 0x0000005 - -gUnk_080FDF77:: @ 080FDF77 - .incbin "baserom.gba", 0x0FDF77, 0x0000005 - -gUnk_080FDF7C:: @ 080FDF7C - .incbin "baserom.gba", 0x0FDF7C, 0x0000005 - -gUnk_080FDF81:: @ 080FDF81 - .incbin "baserom.gba", 0x0FDF81, 0x0000005 - -gUnk_080FDF86:: @ 080FDF86 - .incbin "baserom.gba", 0x0FDF86, 0x0000009 - -gUnk_080FDF8F:: @ 080FDF8F - .incbin "baserom.gba", 0x0FDF8F, 0x0000005 - -gUnk_080FDF94:: @ 080FDF94 - .incbin "baserom.gba", 0x0FDF94, 0x0000005 - -gUnk_080FDF99:: @ 080FDF99 - .incbin "baserom.gba", 0x0FDF99, 0x0000005 - -gUnk_080FDF9E:: @ 080FDF9E - .incbin "baserom.gba", 0x0FDF9E, 0x0000005 - -gUnk_080FDFA3:: @ 080FDFA3 - .incbin "baserom.gba", 0x0FDFA3, 0x0000005 - -gUnk_080FDFA8:: @ 080FDFA8 - .incbin "baserom.gba", 0x0FDFA8, 0x0000019 - -gUnk_080FDFC1:: @ 080FDFC1 - .incbin "baserom.gba", 0x0FDFC1, 0x0000005 - -gUnk_080FDFC6:: @ 080FDFC6 - .incbin "baserom.gba", 0x0FDFC6, 0x0000005 - -gUnk_080FDFCB:: @ 080FDFCB - .incbin "baserom.gba", 0x0FDFCB, 0x0000005 - -gUnk_080FDFD0:: @ 080FDFD0 - .incbin "baserom.gba", 0x0FDFD0, 0x0000008 - -gUnk_080FDFD8:: @ 080FDFD8 - .incbin "baserom.gba", 0x0FDFD8, 0x00001DC - -gUnk_080FE1B4:: @ 080FE1B4 - .incbin "baserom.gba", 0x0FE1B4, 0x0000012 - -gUnk_080FE1C6:: @ 080FE1C6 - .incbin "baserom.gba", 0x0FE1C6, 0x0000017 - -gUnk_080FE1DD:: @ 080FE1DD - .incbin "baserom.gba", 0x0FE1DD, 0x00000C3 - -gUnk_080FE2A0:: @ 080FE2A0 - .incbin "baserom.gba", 0x0FE2A0, 0x000000C - -gUnk_080FE2AC:: @ 080FE2AC - .incbin "baserom.gba", 0x0FE2AC, 0x0000074 - -gUnk_080FE320:: @ 080FE320 - .incbin "baserom.gba", 0x0FE320, 0x00002F0 - -gUnk_080FE610:: @ 080FE610 - .incbin "baserom.gba", 0x0FE610, 0x00004B8 - -gUnk_080FEAC8:: @ 080FEAC8 - .incbin "baserom.gba", 0x0FEAC8, 0x0000003 - -gUnk_080FEACB:: @ 080FEACB - .incbin "baserom.gba", 0x0FEACB, 0x0000023 - -gUnk_080FEAEE:: @ 080FEAEE - .incbin "baserom.gba", 0x0FEAEE, 0x000002C - -gUnk_080FEB1A:: @ 080FEB1A - .incbin "baserom.gba", 0x0FEB1A, 0x00000C2 - -gUnk_080FEBDC:: @ 080FEBDC - .incbin "baserom.gba", 0x0FEBDC, 0x000000C - -gUnk_080FEBE8:: @ 080FEBE8 - .incbin "baserom.gba", 0x0FEBE8, 0x0000006 - -gUnk_080FEBEE:: @ 080FEBEE - .incbin "baserom.gba", 0x0FEBEE, 0x000001B - -gUnk_080FEC09:: @ 080FEC09 - .incbin "baserom.gba", 0x0FEC09, 0x000001F - -gUnk_080FEC28:: @ 080FEC28 - .incbin "baserom.gba", 0x0FEC28, 0x00000A0 - -gUnk_080FECC8:: @ 080FECC8 - .incbin "baserom.gba", 0x0FECC8, 0x0000050 - -gUnk_080FED18:: @ 080FED18 - .incbin "baserom.gba", 0x0FED18, 0x0000040 - -gUnk_080FED58:: @ 080FED58 - .incbin "baserom.gba", 0x0FED58, 0x0000040 - -gUnk_080FED98:: @ 080FED98 - .incbin "baserom.gba", 0x0FED98, 0x000000C - -gUnk_080FEDA4:: @ 080FEDA4 - .incbin "baserom.gba", 0x0FEDA4, 0x0000036 - -gUnk_080FEDDA:: @ 080FEDDA - .incbin "baserom.gba", 0x0FEDDA, 0x000001E - -gUnk_080FEDF8:: @ 080FEDF8 - .incbin "baserom.gba", 0x0FEDF8, 0x0000020 - -gUnk_080FEE18:: @ 080FEE18 - .incbin "baserom.gba", 0x0FEE18, 0x0000020 - -gUnk_080FEE38:: @ 080FEE38 - .incbin "baserom.gba", 0x0FEE38, 0x0000010 - -gUnk_080FEE48:: @ 080FEE48 - .incbin "baserom.gba", 0x0FEE48, 0x0000010 - -gUnk_080FEE58:: @ 080FEE58 - .incbin "baserom.gba", 0x0FEE58, 0x0000020 - -gUnk_080FEE78:: @ 080FEE78 - .incbin "baserom.gba", 0x0FEE78, 0x0000030 - -gUnk_080FEEA8:: @ 080FEEA8 - .incbin "baserom.gba", 0x0FEEA8, 0x0000008 - -gUnk_080FEEB0:: @ 080FEEB0 - .incbin "baserom.gba", 0x0FEEB0, 0x0000008 - -gUnk_080FEEB8:: @ 080FEEB8 - .incbin "baserom.gba", 0x0FEEB8, 0x0000010 - -gUnk_080FEEC8:: @ 080FEEC8 - .incbin "baserom.gba", 0x0FEEC8, 0x000000C - -gUnk_080FEED4:: @ 080FEED4 - .incbin "baserom.gba", 0x0FEED4, 0x0000060 - -gUnk_080FEF34:: @ 080FEF34 - .incbin "baserom.gba", 0x0FEF34, 0x0000008 - -gUnk_080FEF3C:: @ 080FEF3C - .incbin "baserom.gba", 0x0FEF3C, 0x000000C - -gUnk_080FEF48:: @ 080FEF48 - .incbin "baserom.gba", 0x0FEF48, 0x0000030 - -gUnk_080FEF78:: @ 080FEF78 - .incbin "baserom.gba", 0x0FEF78, 0x0000030 - -gUnk_080FEFA8:: @ 080FEFA8 - .incbin "baserom.gba", 0x0FEFA8, 0x0000040 - -gUnk_080FEFE8:: @ 080FEFE8 - .incbin "baserom.gba", 0x0FEFE8, 0x0000050 - -gUnk_080FF038:: @ 080FF038 - .incbin "baserom.gba", 0x0FF038, 0x0000060 - -gUnk_080FF098:: @ 080FF098 - .incbin "baserom.gba", 0x0FF098, 0x0000070 - -gUnk_080FF108:: @ 080FF108 - .incbin "baserom.gba", 0x0FF108, 0x0000018 - -gUnk_080FF120:: @ 080FF120 - .incbin "baserom.gba", 0x0FF120, 0x0000008 - -gUnk_080FF128:: @ 080FF128 - .incbin "baserom.gba", 0x0FF128, 0x0000020 - -gUnk_080FF148:: @ 080FF148 - .incbin "baserom.gba", 0x0FF148, 0x000000C - -gUnk_080FF154:: @ 080FF154 - .incbin "baserom.gba", 0x0FF154, 0x0000020 - -gUnk_080FF174:: @ 080FF174 - .incbin "baserom.gba", 0x0FF174, 0x0000008 - -gUnk_080FF17C:: @ 080FF17C - .incbin "baserom.gba", 0x0FF17C, 0x0000050 - -gUnk_080FF1CC:: @ 080FF1CC - .incbin "baserom.gba", 0x0FF1CC, 0x0000008 - -gUnk_080FF1D4:: @ 080FF1D4 - .incbin "baserom.gba", 0x0FF1D4, 0x0000018 - -gUnk_080FF1EC:: @ 080FF1EC - .incbin "baserom.gba", 0x0FF1EC, 0x0000008 - -gUnk_080FF1F4:: @ 080FF1F4 - .incbin "baserom.gba", 0x0FF1F4, 0x000000C - -gUnk_080FF200:: @ 080FF200 - .incbin "baserom.gba", 0x0FF200, 0x0000004 - -gUnk_080FF204:: @ 080FF204 - .incbin "baserom.gba", 0x0FF204, 0x0000024 - -gUnk_080FF228:: @ 080FF228 - .incbin "baserom.gba", 0x0FF228, 0x0000010 - -gUnk_080FF238:: @ 080FF238 - .incbin "baserom.gba", 0x0FF238, 0x0000010 - -gUnk_080FF248:: @ 080FF248 - .incbin "baserom.gba", 0x0FF248, 0x000000C - -gUnk_080FF254:: @ 080FF254 - .incbin "baserom.gba", 0x0FF254, 0x0000010 - -gUnk_080FF264:: @ 080FF264 - .incbin "baserom.gba", 0x0FF264, 0x0000020 - -gUnk_080FF284:: @ 080FF284 - .incbin "baserom.gba", 0x0FF284, 0x0000008 - -gUnk_080FF28C:: @ 080FF28C - .incbin "baserom.gba", 0x0FF28C, 0x000000C - -gUnk_080FF298:: @ 080FF298 - .incbin "baserom.gba", 0x0FF298, 0x0000020 - -gUnk_080FF2B8:: @ 080FF2B8 - .incbin "baserom.gba", 0x0FF2B8, 0x0000008 - -gUnk_080FF2C0:: @ 080FF2C0 - .incbin "baserom.gba", 0x0FF2C0, 0x0000040 - -gUnk_080FF300:: @ 080FF300 - .incbin "baserom.gba", 0x0FF300, 0x0000008 - -gUnk_080FF308:: @ 080FF308 - .incbin "baserom.gba", 0x0FF308, 0x0000020 - -gUnk_080FF328:: @ 080FF328 - .incbin "baserom.gba", 0x0FF328, 0x0000008 - -gUnk_080FF330:: @ 080FF330 - .incbin "baserom.gba", 0x0FF330, 0x000000C - -gUnk_080FF33C:: @ 080FF33C - .incbin "baserom.gba", 0x0FF33C, 0x0000020 - -gUnk_080FF35C:: @ 080FF35C - .incbin "baserom.gba", 0x0FF35C, 0x0000010 - -gUnk_080FF36C:: @ 080FF36C - .incbin "baserom.gba", 0x0FF36C, 0x000000C - -gUnk_080FF378:: @ 080FF378 - .incbin "baserom.gba", 0x0FF378, 0x0000050 - -gUnk_080FF3C8:: @ 080FF3C8 - .incbin "baserom.gba", 0x0FF3C8, 0x0000020 - -gUnk_080FF3E8:: @ 080FF3E8 - .incbin "baserom.gba", 0x0FF3E8, 0x000000C - -gUnk_080FF3F4:: @ 080FF3F4 - .incbin "baserom.gba", 0x0FF3F4, 0x000000C - -gUnk_080FF400:: @ 080FF400 - .incbin "baserom.gba", 0x0FF400, 0x0000020 - -gUnk_080FF420:: @ 080FF420 - .incbin "baserom.gba", 0x0FF420, 0x0000008 - -gUnk_080FF428:: @ 080FF428 - .incbin "baserom.gba", 0x0FF428, 0x0000428 - -gPaletteGroups:: @ 080FF850 - .word 0x00000000 - .word 0x080FF428 - .word 0x080FF430 - .word 0x080FF438 - .word 0x080FF444 - .word 0x080FF450 - .word 0x080FF454 - .word 0x080FF458 - .word 0x080FF45C - .word 0x080FF460 - .word 0x080FF474 - .word 0x080FF488 - .word 0x080FF484 - .word 0x080FF5C8 - .word 0x080FF4A0 - .word 0x080FF4DC - .word 0x080FF560 - .word 0x080FF4E4 - .word 0x080FF4C4 - .word 0x080FF570 - .word 0x080FF49C - .word 0x080FF498 - .word 0x080FF4A4 - .word 0x080FF4A8 - .word 0x080FF4AC - .word 0x080FF4B0 - .word 0x080FF4E8 - .word 0x080FF4B8 - .word 0x080FF490 - .word 0x080FF574 - .word 0x080FF578 - .word 0x080FF590 - .word 0x080FF594 - .word 0x080FF57C - .word 0x080FF5E4 - .word 0x080FF5F8 - .word 0x080FF4F0 - .word 0x080FF4F4 - .word 0x080FF598 - .word 0x080FF494 - .word 0x080FF6C4 - .word 0x080FF59C - .word 0x080FF6C8 - .word 0x080FF6CC - .word 0x080FF58C - .word 0x080FF5CC - .word 0x080FF564 - .word 0x080FF6D0 - .word 0x080FF6D4 - .word 0x080FF6D8 - .word 0x080FF6DC - .word 0x080FF5B0 - .word 0x080FF5B4 - .word 0x080FF5C4 - .word 0x080FF4C0 - .word 0x080FF500 - .word 0x080FF510 - .word 0x080FF518 - .word 0x080FF51C - .word 0x080FF524 - .word 0x080FF50C - .word 0x080FF4B4 - .word 0x080FF5A0 - .word 0x080FF4C8 - .word 0x080FF4CC - .word 0x080FF4D0 - .word 0x080FF4D4 - .word 0x080FF568 - .word 0x080FF650 - .word 0x080FF654 - .word 0x080FF658 - .word 0x080FF65C - .word 0x080FF660 - .word 0x080FF664 - .word 0x080FF668 - .word 0x080FF66C - .word 0x080FF670 - .word 0x080FF680 - .word 0x080FF684 - .word 0x080FF688 - .word 0x080FF68C - .word 0x080FF690 - .word 0x080FF694 - .word 0x080FF698 - .word 0x080FF69C - .word 0x080FF56C - .word 0x080FF674 - .word 0x080FF678 - .word 0x080FF67C - .word 0x080FF5B8 - .word 0x080FF4EC - .word 0x080FF6E0 - .word 0x080FF5A4 - .word 0x080FF4D8 - .word 0x080FF4FC - .word 0x080FF640 - .word 0x080FF644 - .word 0x080FF648 - .word 0x080FF64C - .word 0x080FF580 - .word 0x080FF584 - .word 0x080FF5FC - .word 0x080FF5A8 - .word 0x080FF5AC - .word 0x080FF504 - .word 0x080FF53C - .word 0x080FF540 - .word 0x080FF544 - .word 0x080FF548 - .word 0x080FF4E0 - .word 0x080FF600 - .word 0x080FF630 - .word 0x080FF634 - .word 0x080FF638 - .word 0x080FF63C - .word 0x080FF6A0 - .word 0x080FF6A4 - .word 0x080FF6A8 - .word 0x080FF6AC - .word 0x080FF6B0 - .word 0x080FF54C - .word 0x080FF604 - .word 0x080FF6C0 - .word 0x080FF6BC - .word 0x080FF6B8 - .word 0x080FF608 - .word 0x080FF60C - .word 0x080FF610 - .word 0x080FF4F8 - .word 0x080FF6B4 - .word 0x080FF508 - .word 0x080FF614 - .word 0x080FF618 - .word 0x080FF61C - .word 0x080FF6E4 - .word 0x080FF6E8 - .word 0x080FF6EC - .word 0x080FF6F0 - .word 0x080FF6F4 - .word 0x080FF6F8 - .word 0x080FF6FC - .word 0x080FF700 - .word 0x080FF704 - .word 0x080FF708 - .word 0x080FF528 - .word 0x080FF520 - .word 0x080FF5D0 - .word 0x080FF5D4 - .word 0x080FF5D8 - .word 0x080FF5DC - .word 0x080FF5E0 - .word 0x080FF5E8 - .word 0x080FF5EC - .word 0x080FF5F0 - .word 0x080FF5F4 - .word 0x080FF530 - .word 0x080FF534 - .word 0x080FF5BC - .word 0x080FF620 - .word 0x080FF624 - .word 0x080FF628 - .word 0x080FF62C - .word 0x080FF514 - .word 0x080FF550 - .word 0x080FF554 - .word 0x080FF558 - .word 0x080FF55C - .word 0x080FF588 - .word 0x080FF5C0 - .word 0x080FF538 - .word 0x080FF4BC - .word 0x080FF70C - .word 0x080FF710 - .word 0x080FF714 - .word 0x080FF718 - .word 0x080FF71C - .word 0x080FF720 - .word 0x080FF724 - .word 0x080FF728 - .word 0x080FF72C - .word 0x080FF52C - .word 0x080FF730 - .word 0x080FF73C - .word 0x080FF744 - .word 0x080FF750 - .word 0x080FF75C - .word 0x080FF770 - .word 0x080FF778 - .word 0x080FF780 - .word 0x080FF788 - .word 0x080FF790 - .word 0x080FF798 - .word 0x080FF7A0 - .word 0x080FF7A8 - .word 0x080FF7B0 - .word 0x080FF7B8 - .word 0x080FF7C0 - .word 0x080FF7C8 - .word 0x080FF7D0 - .word 0x080FF7D8 - .word 0x080FF7E0 - .word 0x080FF7E8 - .word 0x080FF7F0 - .word 0x080FF7F8 - .word 0x080FF808 - .word 0x080FF814 - .word 0x080FF83C - .word 0x080FF844 - -gUnk_080FFB90:: @ 080FFB90 - .incbin "baserom.gba", 0x0FFB90, 0x0000018 - -gUnk_080FFBA8:: @ 080FFBA8 - .incbin "baserom.gba", 0x0FFBA8, 0x0000035 - -gUnk_080FFBDD:: @ 080FFBDD - .incbin "baserom.gba", 0x0FFBDD, 0x0000013 - -gUnk_080FFBF0:: @ 080FFBF0 - .incbin "baserom.gba", 0x0FFBF0, 0x0000024 - -gUnk_080FFC14:: @ 080FFC14 - .incbin "baserom.gba", 0x0FFC14, 0x0000024 - -gUnk_080FFC38:: @ 080FFC38 - .incbin "baserom.gba", 0x0FFC38, 0x0000030 - -gUnk_080FFC68:: @ 080FFC68 - .incbin "baserom.gba", 0x0FFC68, 0x0000018 - -gUnk_080FFC80:: @ 080FFC80 - .incbin "baserom.gba", 0x0FFC80, 0x000000C - -gUnk_080FFC8C:: @ 080FFC8C - .incbin "baserom.gba", 0x0FFC8C, 0x000000C - -gUnk_080FFC98:: @ 080FFC98 - .incbin "baserom.gba", 0x0FFC98, 0x0000018 - -gUnk_080FFCB0:: @ 080FFCB0 - .incbin "baserom.gba", 0x0FFCB0, 0x0000018 - -gUnk_080FFCC8:: @ 080FFCC8 - .incbin "baserom.gba", 0x0FFCC8, 0x000000C - -gUnk_080FFCD4:: @ 080FFCD4 - .incbin "baserom.gba", 0x0FFCD4, 0x0000018 - -gUnk_080FFCEC:: @ 080FFCEC - .incbin "baserom.gba", 0x0FFCEC, 0x0000001 - -gUnk_080FFCED:: @ 080FFCED - .incbin "baserom.gba", 0x0FFCED, 0x0000017 - -gUnk_080FFD04:: @ 080FFD04 - .incbin "baserom.gba", 0x0FFD04, 0x0000018 - -gUnk_080FFD1C:: @ 080FFD1C - .incbin "baserom.gba", 0x0FFD1C, 0x000000C - -gUnk_080FFD28:: @ 080FFD28 - .incbin "baserom.gba", 0x0FFD28, 0x0000018 - -gUnk_080FFD40:: @ 080FFD40 - .incbin "baserom.gba", 0x0FFD40, 0x000000C - -gUnk_080FFD4C:: @ 080FFD4C - .incbin "baserom.gba", 0x0FFD4C, 0x000000C - -gUnk_080FFD58:: @ 080FFD58 - .incbin "baserom.gba", 0x0FFD58, 0x000000C - -gUnk_080FFD64:: @ 080FFD64 - .incbin "baserom.gba", 0x0FFD64, 0x000000C - -gUnk_080FFD70:: @ 080FFD70 - .incbin "baserom.gba", 0x0FFD70, 0x000000C - -gUnk_080FFD7C:: @ 080FFD7C - .incbin "baserom.gba", 0x0FFD7C, 0x000000C - -gUnk_080FFD88:: @ 080FFD88 - .incbin "baserom.gba", 0x0FFD88, 0x000000C - -gUnk_080FFD94:: @ 080FFD94 - .incbin "baserom.gba", 0x0FFD94, 0x0000018 - -gUnk_080FFDAC:: @ 080FFDAC - .incbin "baserom.gba", 0x0FFDAC, 0x0000018 - -gUnk_080FFDC4:: @ 080FFDC4 - .incbin "baserom.gba", 0x0FFDC4, 0x000000C - -gUnk_080FFDD0:: @ 080FFDD0 - .incbin "baserom.gba", 0x0FFDD0, 0x0000018 - -gUnk_080FFDE8:: @ 080FFDE8 - .incbin "baserom.gba", 0x0FFDE8, 0x000000C - -gUnk_080FFDF4:: @ 080FFDF4 - .incbin "baserom.gba", 0x0FFDF4, 0x0000005 - -gUnk_080FFDF9:: @ 080FFDF9 - .incbin "baserom.gba", 0x0FFDF9, 0x0000007 - -gUnk_080FFE00:: @ 080FFE00 - .incbin "baserom.gba", 0x0FFE00, 0x0000018 - -gUnk_080FFE18:: @ 080FFE18 - .incbin "baserom.gba", 0x0FFE18, 0x0000018 - -gUnk_080FFE30:: @ 080FFE30 - .incbin "baserom.gba", 0x0FFE30, 0x000003C - -gUnk_080FFE6C:: @ 080FFE6C - .incbin "baserom.gba", 0x0FFE6C, 0x000003C - -gUnk_080FFEA8:: @ 080FFEA8 - .incbin "baserom.gba", 0x0FFEA8, 0x000003C - -gUnk_080FFEE4:: @ 080FFEE4 - .incbin "baserom.gba", 0x0FFEE4, 0x000003C - -gUnk_080FFF20:: @ 080FFF20 - .incbin "baserom.gba", 0x0FFF20, 0x000003C - -gUnk_080FFF5C:: @ 080FFF5C - .incbin "baserom.gba", 0x0FFF5C, 0x000003C - -gUnk_080FFF98:: @ 080FFF98 - .incbin "baserom.gba", 0x0FFF98, 0x0000030 - -gUnk_080FFFC8:: @ 080FFFC8 - .incbin "baserom.gba", 0x0FFFC8, 0x0000018 - -gUnk_080FFFE0:: @ 080FFFE0 - .incbin "baserom.gba", 0x0FFFE0, 0x000000C - -gUnk_080FFFEC:: @ 080FFFEC - .incbin "baserom.gba", 0x0FFFEC, 0x000000C - -gUnk_080FFFF8:: @ 080FFFF8 - .incbin "baserom.gba", 0x0FFFF8, 0x0000008 - -gUnk_08100000:: @ 08100000 - .incbin "baserom.gba", 0x100000, 0x0000001 - -gUnk_08100001:: @ 08100001 - .incbin "baserom.gba", 0x100001, 0x0000002 - -gUnk_08100003:: @ 08100003 - .incbin "baserom.gba", 0x100003, 0x0000001 - -gUnk_08100004:: @ 08100004 - .incbin "baserom.gba", 0x100004, 0x000000C - -gUnk_08100010:: @ 08100010 - .incbin "baserom.gba", 0x100010, 0x0000005 - -gUnk_08100015:: @ 08100015 - .incbin "baserom.gba", 0x100015, 0x0000007 - -gUnk_0810001C:: @ 0810001C - .incbin "baserom.gba", 0x10001C, 0x000000C - -gUnk_08100028:: @ 08100028 - .incbin "baserom.gba", 0x100028, 0x0000004 - -gUnk_0810002C:: @ 0810002C - .incbin "baserom.gba", 0x10002C, 0x0000008 - -gUnk_08100034:: @ 08100034 - .incbin "baserom.gba", 0x100034, 0x000000B - -gUnk_0810003F:: @ 0810003F - .incbin "baserom.gba", 0x10003F, 0x0000001 - -gUnk_08100040:: @ 08100040 - .incbin "baserom.gba", 0x100040, 0x0000002 - -gUnk_08100042:: @ 08100042 - .incbin "baserom.gba", 0x100042, 0x000000A - -gUnk_0810004C:: @ 0810004C - .incbin "baserom.gba", 0x10004C, 0x000000C - -gUnk_08100058:: @ 08100058 - .incbin "baserom.gba", 0x100058, 0x000000C - -gUnk_08100064:: @ 08100064 - .incbin "baserom.gba", 0x100064, 0x000000C - -gUnk_08100070:: @ 08100070 - .incbin "baserom.gba", 0x100070, 0x000000C - -gUnk_0810007C:: @ 0810007C - .incbin "baserom.gba", 0x10007C, 0x000000C - -gUnk_08100088:: @ 08100088 - .incbin "baserom.gba", 0x100088, 0x000000C - -gUnk_08100094:: @ 08100094 - .incbin "baserom.gba", 0x100094, 0x000000C - -gUnk_081000A0:: @ 081000A0 - .incbin "baserom.gba", 0x1000A0, 0x000000C - -gUnk_081000AC:: @ 081000AC - .incbin "baserom.gba", 0x1000AC, 0x000000C - -gUnk_081000B8:: @ 081000B8 - .incbin "baserom.gba", 0x1000B8, 0x000000C - -gUnk_081000C4:: @ 081000C4 - .incbin "baserom.gba", 0x1000C4, 0x000000C - -gUnk_081000D0:: @ 081000D0 - .incbin "baserom.gba", 0x1000D0, 0x000000C - -gUnk_081000DC:: @ 081000DC - .incbin "baserom.gba", 0x1000DC, 0x0000008 - -gUnk_081000E4:: @ 081000E4 - .incbin "baserom.gba", 0x1000E4, 0x0000004 - -gUnk_081000E8:: @ 081000E8 - .incbin "baserom.gba", 0x1000E8, 0x0000008 - -gUnk_081000F0:: @ 081000F0 - .incbin "baserom.gba", 0x1000F0, 0x0000004 - -gUnk_081000F4:: @ 081000F4 - .incbin "baserom.gba", 0x1000F4, 0x000000C - -gUnk_08100100:: @ 08100100 - .incbin "baserom.gba", 0x100100, 0x0000007 - -gUnk_08100107:: @ 08100107 - .incbin "baserom.gba", 0x100107, 0x0000002 - -gUnk_08100109:: @ 08100109 - .incbin "baserom.gba", 0x100109, 0x0000003 - -gUnk_0810010C:: @ 0810010C - .incbin "baserom.gba", 0x10010C, 0x000000C - -gUnk_08100118:: @ 08100118 - .incbin "baserom.gba", 0x100118, 0x0000008 - -gUnk_08100120:: @ 08100120 - .incbin "baserom.gba", 0x100120, 0x0000006 - -gUnk_08100126:: @ 08100126 - .incbin "baserom.gba", 0x100126, 0x000000A - -gUnk_08100130:: @ 08100130 - .incbin "baserom.gba", 0x100130, 0x0000018 - -gUnk_08100148:: @ 08100148 - .incbin "baserom.gba", 0x100148, 0x0000018 - -gUnk_08100160:: @ 08100160 - .incbin "baserom.gba", 0x100160, 0x0000018 - -gUnk_08100178:: @ 08100178 - .incbin "baserom.gba", 0x100178, 0x0000018 - -gUnk_08100190:: @ 08100190 - .incbin "baserom.gba", 0x100190, 0x0000018 - -gUnk_081001A8:: @ 081001A8 - .incbin "baserom.gba", 0x1001A8, 0x0000018 - -gUnk_081001C0:: @ 081001C0 - .incbin "baserom.gba", 0x1001C0, 0x0000018 - -gUnk_081001D8:: @ 081001D8 - .incbin "baserom.gba", 0x1001D8, 0x0000018 - -gUnk_081001F0:: @ 081001F0 - .incbin "baserom.gba", 0x1001F0, 0x0000009 - -gUnk_081001F9:: @ 081001F9 - .incbin "baserom.gba", 0x1001F9, 0x000000D - -gUnk_08100206:: @ 08100206 - .incbin "baserom.gba", 0x100206, 0x0000002 - -gUnk_08100208:: @ 08100208 - .incbin "baserom.gba", 0x100208, 0x0000018 - -gUnk_08100220:: @ 08100220 - .incbin "baserom.gba", 0x100220, 0x0000018 - -gUnk_08100238:: @ 08100238 - .incbin "baserom.gba", 0x100238, 0x0000018 - -gUnk_08100250:: @ 08100250 - .incbin "baserom.gba", 0x100250, 0x0000018 - -gUnk_08100268:: @ 08100268 - .incbin "baserom.gba", 0x100268, 0x0000018 - -gUnk_08100280:: @ 08100280 - .incbin "baserom.gba", 0x100280, 0x0000018 - -gUnk_08100298:: @ 08100298 - .incbin "baserom.gba", 0x100298, 0x0000018 - -gUnk_081002B0:: @ 081002B0 - .incbin "baserom.gba", 0x1002B0, 0x0000018 - -gUnk_081002C8:: @ 081002C8 - .incbin "baserom.gba", 0x1002C8, 0x0000018 - -gUnk_081002E0:: @ 081002E0 - .incbin "baserom.gba", 0x1002E0, 0x000000C - -gUnk_081002EC:: @ 081002EC - .incbin "baserom.gba", 0x1002EC, 0x000000C - -gUnk_081002F8:: @ 081002F8 - .incbin "baserom.gba", 0x1002F8, 0x000000C - -gUnk_08100304:: @ 08100304 - .incbin "baserom.gba", 0x100304, 0x000000C - -gUnk_08100310:: @ 08100310 - .incbin "baserom.gba", 0x100310, 0x0000007 - -gUnk_08100317:: @ 08100317 - .incbin "baserom.gba", 0x100317, 0x0000011 - -gUnk_08100328:: @ 08100328 - .incbin "baserom.gba", 0x100328, 0x0000030 - -gUnk_08100358:: @ 08100358 - .incbin "baserom.gba", 0x100358, 0x0000030 - -gUnk_08100388:: @ 08100388 - .incbin "baserom.gba", 0x100388, 0x0000054 - -gUnk_081003DC:: @ 081003DC - .incbin "baserom.gba", 0x1003DC, 0x0000024 - -gUnk_08100400:: @ 08100400 - .incbin "baserom.gba", 0x100400, 0x0000001 - -gUnk_08100401:: @ 08100401 - .incbin "baserom.gba", 0x100401, 0x0000006 - -gUnk_08100407:: @ 08100407 - .incbin "baserom.gba", 0x100407, 0x000001D - -gUnk_08100424:: @ 08100424 - .incbin "baserom.gba", 0x100424, 0x0000048 - -gUnk_0810046C:: @ 0810046C - .incbin "baserom.gba", 0x10046C, 0x0000048 - -gUnk_081004B4:: @ 081004B4 - .incbin "baserom.gba", 0x1004B4, 0x0000018 - -gUnk_081004CC:: @ 081004CC - .incbin "baserom.gba", 0x1004CC, 0x0000024 - -gUnk_081004F0:: @ 081004F0 - .incbin "baserom.gba", 0x1004F0, 0x0000008 - -gUnk_081004F8:: @ 081004F8 - .incbin "baserom.gba", 0x1004F8, 0x0000002 - -gUnk_081004FA:: @ 081004FA - .incbin "baserom.gba", 0x1004FA, 0x0000004 - -gUnk_081004FE:: @ 081004FE - .incbin "baserom.gba", 0x1004FE, 0x0000012 - -gUnk_08100510:: @ 08100510 - .incbin "baserom.gba", 0x100510, 0x0000001 - -gUnk_08100511:: @ 08100511 - .incbin "baserom.gba", 0x100511, 0x0000003 - -gUnk_08100514:: @ 08100514 - .incbin "baserom.gba", 0x100514, 0x000000C - -gUnk_08100520:: @ 08100520 - .incbin "baserom.gba", 0x100520, 0x0000021 - -gUnk_08100541:: @ 08100541 - .incbin "baserom.gba", 0x100541, 0x000000F - -gUnk_08100550:: @ 08100550 - .incbin "baserom.gba", 0x100550, 0x0000030 - -gUnk_08100580:: @ 08100580 - .incbin "baserom.gba", 0x100580, 0x0000030 - -gUnk_081005B0:: @ 081005B0 - .incbin "baserom.gba", 0x1005B0, 0x0000030 - -gUnk_081005E0:: @ 081005E0 - .incbin "baserom.gba", 0x1005E0, 0x000001B - -gUnk_081005FB:: @ 081005FB - .incbin "baserom.gba", 0x1005FB, 0x0000004 - -gUnk_081005FF:: @ 081005FF - .incbin "baserom.gba", 0x1005FF, 0x0000001 - -gUnk_08100600:: @ 08100600 - .incbin "baserom.gba", 0x100600, 0x0000005 - -gUnk_08100605:: @ 08100605 - .incbin "baserom.gba", 0x100605, 0x0000001 - -gUnk_08100606:: @ 08100606 - .incbin "baserom.gba", 0x100606, 0x000000A - -gUnk_08100610:: @ 08100610 - .incbin "baserom.gba", 0x100610, 0x0000010 - -gUnk_08100620:: @ 08100620 - .incbin "baserom.gba", 0x100620, 0x0000020 - -gUnk_08100640:: @ 08100640 - .incbin "baserom.gba", 0x100640, 0x0000030 - -gUnk_08100670:: @ 08100670 - .incbin "baserom.gba", 0x100670, 0x0000011 - -gUnk_08100681:: @ 08100681 - .incbin "baserom.gba", 0x100681, 0x000001F - -gUnk_081006A0:: @ 081006A0 - .incbin "baserom.gba", 0x1006A0, 0x0000030 - -gUnk_081006D0:: @ 081006D0 - .incbin "baserom.gba", 0x1006D0, 0x0000030 - -gUnk_08100700:: @ 08100700 - .incbin "baserom.gba", 0x100700, 0x0000010 - -gUnk_08100710:: @ 08100710 - .incbin "baserom.gba", 0x100710, 0x0000010 - -gUnk_08100720:: @ 08100720 - .incbin "baserom.gba", 0x100720, 0x0000010 - -gUnk_08100730:: @ 08100730 - .incbin "baserom.gba", 0x100730, 0x0000010 - -gUnk_08100740:: @ 08100740 - .incbin "baserom.gba", 0x100740, 0x0000010 - -gUnk_08100750:: @ 08100750 - .incbin "baserom.gba", 0x100750, 0x0000010 - -gUnk_08100760:: @ 08100760 - .incbin "baserom.gba", 0x100760, 0x0000020 - -gUnk_08100780:: @ 08100780 - .incbin "baserom.gba", 0x100780, 0x0000001 - -gUnk_08100781:: @ 08100781 - .incbin "baserom.gba", 0x100781, 0x000000F - -gUnk_08100790:: @ 08100790 - .incbin "baserom.gba", 0x100790, 0x0000030 - -gUnk_081007C0:: @ 081007C0 - .incbin "baserom.gba", 0x1007C0, 0x0000020 - -gUnk_081007E0:: @ 081007E0 - .incbin "baserom.gba", 0x1007E0, 0x0000010 - -gUnk_081007F0:: @ 081007F0 - .incbin "baserom.gba", 0x1007F0, 0x000000E - -gUnk_081007FE:: @ 081007FE - .incbin "baserom.gba", 0x1007FE, 0x0000001 - -gUnk_081007FF:: @ 081007FF - .incbin "baserom.gba", 0x1007FF, 0x0000001 - -gUnk_08100800:: @ 08100800 - .incbin "baserom.gba", 0x100800, 0x0000004 - -gUnk_08100804:: @ 08100804 - .incbin "baserom.gba", 0x100804, 0x0000005 - -gUnk_08100809:: @ 08100809 - .incbin "baserom.gba", 0x100809, 0x0000007 - -gUnk_08100810:: @ 08100810 - .incbin "baserom.gba", 0x100810, 0x0000003 - -gUnk_08100813:: @ 08100813 - .incbin "baserom.gba", 0x100813, 0x000000D - -gUnk_08100820:: @ 08100820 - .incbin "baserom.gba", 0x100820, 0x0000021 - -gUnk_08100841:: @ 08100841 - .incbin "baserom.gba", 0x100841, 0x000000F - -gUnk_08100850:: @ 08100850 - .incbin "baserom.gba", 0x100850, 0x0000030 - -gUnk_08100880:: @ 08100880 - .incbin "baserom.gba", 0x100880, 0x0000001 - -gUnk_08100881:: @ 08100881 - .incbin "baserom.gba", 0x100881, 0x000002F - -gUnk_081008B0:: @ 081008B0 - .incbin "baserom.gba", 0x1008B0, 0x0000030 - -gUnk_081008E0:: @ 081008E0 - .incbin "baserom.gba", 0x1008E0, 0x0000023 - -gUnk_08100903:: @ 08100903 - .incbin "baserom.gba", 0x100903, 0x0000001 - -gUnk_08100904:: @ 08100904 - .incbin "baserom.gba", 0x100904, 0x000000C - -gUnk_08100910:: @ 08100910 - .incbin "baserom.gba", 0x100910, 0x0000030 - -gUnk_08100940:: @ 08100940 - .incbin "baserom.gba", 0x100940, 0x0000030 - -gUnk_08100970:: @ 08100970 - .incbin "baserom.gba", 0x100970, 0x000003C - -gUnk_081009AC:: @ 081009AC - .incbin "baserom.gba", 0x1009AC, 0x000000C - -gUnk_081009B8:: @ 081009B8 - .incbin "baserom.gba", 0x1009B8, 0x000000C - -gUnk_081009C4:: @ 081009C4 - .incbin "baserom.gba", 0x1009C4, 0x000000C - -gUnk_081009D0:: @ 081009D0 - .incbin "baserom.gba", 0x1009D0, 0x0000009 - -gUnk_081009D9:: @ 081009D9 - .incbin "baserom.gba", 0x1009D9, 0x0000003 - -gUnk_081009DC:: @ 081009DC - .incbin "baserom.gba", 0x1009DC, 0x000000C - -gUnk_081009E8:: @ 081009E8 - .incbin "baserom.gba", 0x1009E8, 0x0000005 - -gUnk_081009ED:: @ 081009ED - .incbin "baserom.gba", 0x1009ED, 0x0000007 - -gUnk_081009F4:: @ 081009F4 - .incbin "baserom.gba", 0x1009F4, 0x000000C - -gUnk_08100A00:: @ 08100A00 - .incbin "baserom.gba", 0x100A00, 0x0000006 - -gUnk_08100A06:: @ 08100A06 - .incbin "baserom.gba", 0x100A06, 0x0000004 - -gUnk_08100A0A:: @ 08100A0A - .incbin "baserom.gba", 0x100A0A, 0x0000002 - -gUnk_08100A0C:: @ 08100A0C - .incbin "baserom.gba", 0x100A0C, 0x0000005 - -gUnk_08100A11:: @ 08100A11 - .incbin "baserom.gba", 0x100A11, 0x000001F - -gUnk_08100A30:: @ 08100A30 - .incbin "baserom.gba", 0x100A30, 0x0000054 - -gUnk_08100A84:: @ 08100A84 - .incbin "baserom.gba", 0x100A84, 0x000000C - -gUnk_08100A90:: @ 08100A90 - .incbin "baserom.gba", 0x100A90, 0x000000C - -gUnk_08100A9C:: @ 08100A9C - .incbin "baserom.gba", 0x100A9C, 0x000000C - -gUnk_08100AA8:: @ 08100AA8 - .incbin "baserom.gba", 0x100AA8, 0x000005F - -gUnk_08100B07:: @ 08100B07 - .incbin "baserom.gba", 0x100B07, 0x0000009 - -gUnk_08100B10:: @ 08100B10 - .incbin "baserom.gba", 0x100B10, 0x0000004 - -gUnk_08100B14:: @ 08100B14 - .incbin "baserom.gba", 0x100B14, 0x00000DC - -gUnk_08100BF0:: @ 08100BF0 - .incbin "baserom.gba", 0x100BF0, 0x000000D - -gUnk_08100BFD:: @ 08100BFD - .incbin "baserom.gba", 0x100BFD, 0x0000004 - -gUnk_08100C01:: @ 08100C01 - .incbin "baserom.gba", 0x100C01, 0x0000001 - -gUnk_08100C02:: @ 08100C02 - .incbin "baserom.gba", 0x100C02, 0x000007F - -gUnk_08100C81:: @ 08100C81 - .incbin "baserom.gba", 0x100C81, 0x000003B diff --git a/data/data_080FC8A4.s b/data/data_080FC8A4.s new file mode 100644 index 00000000..4b2d84c6 --- /dev/null +++ b/data/data_080FC8A4.s @@ -0,0 +1,1928 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + .align 2 + +gUnk_080FC8D0:: @ 080FC8D0 + .incbin "baserom.gba", 0x0FC8D0, 0x000000E + +gUnk_080FC8DE:: @ 080FC8DE + .incbin "baserom.gba", 0x0FC8DE, 0x000001E + +sFileSelectDefaultHandlers:: @ 080FC8FC + .incbin "baserom.gba", 0x0FC8FC, 0x0000007 + +gUnk_080FC903:: @ 080FC903 + .incbin "baserom.gba", 0x0FC903, 0x0000005 + +gUnk_080FC908:: @ 080FC908 + .incbin "baserom.gba", 0x0FC908, 0x000000C + +gUnk_080FC914:: @ 080FC914 + .incbin "baserom.gba", 0x0FC914, 0x0000028 + +gUnk_080FC93C:: @ 080FC93C + .incbin "baserom.gba", 0x0FC93C, 0x0000008 + +gUnk_080FC944:: @ 080FC944 + .incbin "baserom.gba", 0x0FC944, 0x000000C + +gUnk_080FC950:: @ 080FC950 + .incbin "baserom.gba", 0x0FC950, 0x0000010 + +gUnk_080FC960:: @ 080FC960 + .incbin "baserom.gba", 0x0FC960, 0x0000010 + +gUnk_080FC970:: @ 080FC970 + .incbin "baserom.gba", 0x0FC970, 0x0000010 + +gUnk_080FC980:: @ 080FC980 + .incbin "baserom.gba", 0x0FC980, 0x0000020 + +gUnk_080FC9A0:: @ 080FC9A0 + .incbin "baserom.gba", 0x0FC9A0, 0x0000010 + +gUnk_080FC9B0:: @ 080FC9B0 + .incbin "baserom.gba", 0x0FC9B0, 0x000000C + +gUnk_080FC9BC:: @ 080FC9BC + .incbin "baserom.gba", 0x0FC9BC, 0x000000C + +gUnk_080FC9C8:: @ 080FC9C8 + .incbin "baserom.gba", 0x0FC9C8, 0x0000010 + +gUnk_080FC9D8:: @ 080FC9D8 + .incbin "baserom.gba", 0x0FC9D8, 0x0000010 + +gUnk_080FC9E8:: @ 080FC9E8 + .incbin "baserom.gba", 0x0FC9E8, 0x0000020 + +gUnk_080FCA08:: @ 080FCA08 + .incbin "baserom.gba", 0x0FCA08, 0x000000C + +gUnk_080FCA14:: @ 080FCA14 + .incbin "baserom.gba", 0x0FCA14, 0x000000C + +gUnk_080FCA20:: @ 080FCA20 + .incbin "baserom.gba", 0x0FCA20, 0x0000050 + +gUnk_080FCA70:: @ 080FCA70 + .incbin "baserom.gba", 0x0FCA70, 0x0000014 + +gUnk_080FCA84:: @ 080FCA84 + .incbin "baserom.gba", 0x0FCA84, 0x0000008 + +gUnk_080FCA8C:: @ 080FCA8C + .incbin "baserom.gba", 0x0FCA8C, 0x0000018 + +gUnk_080FCAA4:: @ 080FCAA4 + .incbin "baserom.gba", 0x0FCAA4, 0x0000024 + +gUnk_080FCAC8:: @ 080FCAC8 + .incbin "baserom.gba", 0x0FCAC8, 0x000000E + +gUnk_080FCAD6:: @ 080FCAD6 + .incbin "baserom.gba", 0x0FCAD6, 0x0000022 + +gUnk_080FCAF8:: @ 080FCAF8 + .incbin "baserom.gba", 0x0FCAF8, 0x0000020 + +gUnk_080FCB18:: @ 080FCB18 + .incbin "baserom.gba", 0x0FCB18, 0x0000020 + +gUnk_080FCB38:: @ 080FCB38 + .incbin "baserom.gba", 0x0FCB38, 0x000002A + +gUnk_080FCB62:: @ 080FCB62 + .incbin "baserom.gba", 0x0FCB62, 0x0000032 + +gUnk_080FCB94:: @ 080FCB94 + .incbin "baserom.gba", 0x0FCB94, 0x0000020 + +gUnk_080FCBB4:: @ 080FCBB4 + .incbin "baserom.gba", 0x0FCBB4, 0x0000010 + +gUnk_080FCBC4:: @ 080FCBC4 + .incbin "baserom.gba", 0x0FCBC4, 0x0000050 + +gUnk_080FCC14:: @ 080FCC14 + .incbin "baserom.gba", 0x0FCC14, 0x0000040 + +gUnk_080FCC54:: @ 080FCC54 + .incbin "baserom.gba", 0x0FCC54, 0x0000030 + +gUnk_080FCC84:: @ 080FCC84 + .incbin "baserom.gba", 0x0FCC84, 0x0000018 + +gUnk_080FCC9C:: @ 080FCC9C + .incbin "baserom.gba", 0x0FCC9C, 0x0000018 + +gUnk_080FCCB4:: @ 080FCCB4 + .incbin "baserom.gba", 0x0FCCB4, 0x0000048 + +gUnk_080FCCFC:: @ 080FCCFC + .incbin "baserom.gba", 0x0FCCFC, 0x000003C + +gUnk_080FCD38:: @ 080FCD38 + .incbin "baserom.gba", 0x0FCD38, 0x0000008 + +gUnk_080FCD40:: @ 080FCD40 + .incbin "baserom.gba", 0x0FCD40, 0x0000044 + +gUnk_080FCD84:: @ 080FCD84 + .incbin "baserom.gba", 0x0FCD84, 0x0000050 + +gUnk_080FCDD4:: @ 080FCDD4 + .incbin "baserom.gba", 0x0FCDD4, 0x000000C + +gUnk_080FCDE0:: @ 080FCDE0 + .incbin "baserom.gba", 0x0FCDE0, 0x0000050 + +gUnk_080FCE30:: @ 080FCE30 + .incbin "baserom.gba", 0x0FCE30, 0x0000080 + +gUnk_080FCEB0:: @ 080FCEB0 + .incbin "baserom.gba", 0x0FCEB0, 0x000000C + +gUnk_080FCEBC:: @ 080FCEBC + .incbin "baserom.gba", 0x0FCEBC, 0x0000030 + +gUnk_080FCEEC:: @ 080FCEEC + .incbin "baserom.gba", 0x0FCEEC, 0x000000C + +gUnk_080FCEF8:: @ 080FCEF8 + .incbin "baserom.gba", 0x0FCEF8, 0x000000C + +gUnk_080FCF04:: @ 080FCF04 + .incbin "baserom.gba", 0x0FCF04, 0x0000020 + +gUnk_080FCF24:: @ 080FCF24 + .incbin "baserom.gba", 0x0FCF24, 0x0000020 + +gUnk_080FCF44:: @ 080FCF44 + .incbin "baserom.gba", 0x0FCF44, 0x0000020 + +gUnk_080FCF64:: @ 080FCF64 + .incbin "baserom.gba", 0x0FCF64, 0x0000020 + +gUnk_080FCF84:: @ 080FCF84 + .incbin "baserom.gba", 0x0FCF84, 0x0000020 + +gUnk_080FCFA4:: @ 080FCFA4 + .incbin "baserom.gba", 0x0FCFA4, 0x0000014 + +gUnk_080FCFB8:: @ 080FCFB8 + .incbin "baserom.gba", 0x0FCFB8, 0x0000030 + +gUnk_080FCFE8:: @ 080FCFE8 + .incbin "baserom.gba", 0x0FCFE8, 0x0000020 + +gUnk_080FD008:: @ 080FD008 + .incbin "baserom.gba", 0x0FD008, 0x0000020 + +gUnk_080FD028:: @ 080FD028 + .incbin "baserom.gba", 0x0FD028, 0x0000020 + +gUnk_080FD048:: @ 080FD048 + .incbin "baserom.gba", 0x0FD048, 0x0000030 + +gUnk_080FD078:: @ 080FD078 + .incbin "baserom.gba", 0x0FD078, 0x0000020 + +gUnk_080FD098:: @ 080FD098 + .incbin "baserom.gba", 0x0FD098, 0x0000030 + +gUnk_080FD0C8:: @ 080FD0C8 + .incbin "baserom.gba", 0x0FD0C8, 0x0000020 + +gUnk_080FD0E8:: @ 080FD0E8 + .incbin "baserom.gba", 0x0FD0E8, 0x0000020 + +gUnk_080FD108:: @ 080FD108 + .incbin "baserom.gba", 0x0FD108, 0x0000030 + +gUnk_080FD138:: @ 080FD138 + .incbin "baserom.gba", 0x0FD138, 0x0000018 + +gUnk_080FD150:: @ 080FD150 + .incbin "baserom.gba", 0x0FD150, 0x0000008 + +gUnk_080FD158:: @ 080FD158 + .incbin "baserom.gba", 0x0FD158, 0x0000008 + +gUnk_080FD160:: @ 080FD160 + .incbin "baserom.gba", 0x0FD160, 0x0000008 + +gUnk_080FD168:: @ 080FD168 + .incbin "baserom.gba", 0x0FD168, 0x0000008 + +gUnk_080FD170:: @ 080FD170 + .incbin "baserom.gba", 0x0FD170, 0x0000008 + +gUnk_080FD178:: @ 080FD178 + .incbin "baserom.gba", 0x0FD178, 0x0000008 + +gUnk_080FD180:: @ 080FD180 + .incbin "baserom.gba", 0x0FD180, 0x0000008 + +gUnk_080FD188:: @ 080FD188 + .incbin "baserom.gba", 0x0FD188, 0x0000008 + +gUnk_080FD190:: @ 080FD190 + .incbin "baserom.gba", 0x0FD190, 0x0000008 + +gUnk_080FD198:: @ 080FD198 + .incbin "baserom.gba", 0x0FD198, 0x0000008 + +gUnk_080FD1A0:: @ 080FD1A0 + .incbin "baserom.gba", 0x0FD1A0, 0x0000008 + +gUnk_080FD1A8:: @ 080FD1A8 + .incbin "baserom.gba", 0x0FD1A8, 0x000000C + +gUnk_080FD1B4:: @ 080FD1B4 + .incbin "baserom.gba", 0x0FD1B4, 0x0000010 + +gUnk_080FD1C4:: @ 080FD1C4 + .incbin "baserom.gba", 0x0FD1C4, 0x0000008 + +gUnk_080FD1CC:: @ 080FD1CC + .incbin "baserom.gba", 0x0FD1CC, 0x0000008 + +gUnk_080FD1D4:: @ 080FD1D4 + .incbin "baserom.gba", 0x0FD1D4, 0x0000008 + +gUnk_080FD1DC:: @ 080FD1DC + .incbin "baserom.gba", 0x0FD1DC, 0x0000008 + +gUnk_080FD1E4:: @ 080FD1E4 + .incbin "baserom.gba", 0x0FD1E4, 0x0000008 + +gUnk_080FD1EC:: @ 080FD1EC + .incbin "baserom.gba", 0x0FD1EC, 0x0000008 + +gUnk_080FD1F4:: @ 080FD1F4 + .incbin "baserom.gba", 0x0FD1F4, 0x0000008 + +gUnk_080FD1FC:: @ 080FD1FC + .incbin "baserom.gba", 0x0FD1FC, 0x0000008 + +gUnk_080FD204:: @ 080FD204 + .incbin "baserom.gba", 0x0FD204, 0x0000008 + +gUnk_080FD20C:: @ 080FD20C + .incbin "baserom.gba", 0x0FD20C, 0x0000008 + +gUnk_080FD214:: @ 080FD214 + .incbin "baserom.gba", 0x0FD214, 0x0000008 + +gUnk_080FD21C:: @ 080FD21C + .incbin "baserom.gba", 0x0FD21C, 0x0000008 + +gUnk_080FD224:: @ 080FD224 + .incbin "baserom.gba", 0x0FD224, 0x0000008 + +gUnk_080FD22C:: @ 080FD22C + .incbin "baserom.gba", 0x0FD22C, 0x000000C + +gUnk_080FD238:: @ 080FD238 + .incbin "baserom.gba", 0x0FD238, 0x0000008 + +gUnk_080FD240:: @ 080FD240 + .incbin "baserom.gba", 0x0FD240, 0x0000008 + +gUnk_080FD248:: @ 080FD248 + .incbin "baserom.gba", 0x0FD248, 0x0000008 + +gUnk_080FD250:: @ 080FD250 + .incbin "baserom.gba", 0x0FD250, 0x0000008 + +gUnk_080FD258:: @ 080FD258 + .incbin "baserom.gba", 0x0FD258, 0x0000008 + +gUnk_080FD260:: @ 080FD260 + .incbin "baserom.gba", 0x0FD260, 0x0000008 + +gUnk_080FD268:: @ 080FD268 + .incbin "baserom.gba", 0x0FD268, 0x0000008 + +gUnk_080FD270:: @ 080FD270 + .incbin "baserom.gba", 0x0FD270, 0x0000008 + +gUnk_080FD278:: @ 080FD278 + .incbin "baserom.gba", 0x0FD278, 0x0000008 + +gUnk_080FD280:: @ 080FD280 + .incbin "baserom.gba", 0x0FD280, 0x0000008 + +gUnk_080FD288:: @ 080FD288 + .incbin "baserom.gba", 0x0FD288, 0x0000008 + +gUnk_080FD290:: @ 080FD290 + .incbin "baserom.gba", 0x0FD290, 0x0000008 + +gUnk_080FD298:: @ 080FD298 + .incbin "baserom.gba", 0x0FD298, 0x0000008 + +gUnk_080FD2A0:: @ 080FD2A0 + .incbin "baserom.gba", 0x0FD2A0, 0x0000008 + +gUnk_080FD2A8:: @ 080FD2A8 + .incbin "baserom.gba", 0x0FD2A8, 0x0000008 + +gUnk_080FD2B0:: @ 080FD2B0 + .incbin "baserom.gba", 0x0FD2B0, 0x0000008 + +gUnk_080FD2B8:: @ 080FD2B8 + .incbin "baserom.gba", 0x0FD2B8, 0x0000008 + +gUnk_080FD2C0:: @ 080FD2C0 + .incbin "baserom.gba", 0x0FD2C0, 0x0000008 + +gUnk_080FD2C8:: @ 080FD2C8 + .incbin "baserom.gba", 0x0FD2C8, 0x0000008 + +gUnk_080FD2D0:: @ 080FD2D0 + .incbin "baserom.gba", 0x0FD2D0, 0x0000008 + +gUnk_080FD2D8:: @ 080FD2D8 + .incbin "baserom.gba", 0x0FD2D8, 0x0000008 + +gUnk_080FD2E0:: @ 080FD2E0 + .incbin "baserom.gba", 0x0FD2E0, 0x0000008 + +gUnk_080FD2E8:: @ 080FD2E8 + .incbin "baserom.gba", 0x0FD2E8, 0x0000008 + +gUnk_080FD2F0:: @ 080FD2F0 + .incbin "baserom.gba", 0x0FD2F0, 0x0000008 + +gUnk_080FD2F8:: @ 080FD2F8 + .incbin "baserom.gba", 0x0FD2F8, 0x0000008 + +gUnk_080FD300:: @ 080FD300 + .incbin "baserom.gba", 0x0FD300, 0x0000008 + +gUnk_080FD308:: @ 080FD308 + .incbin "baserom.gba", 0x0FD308, 0x0000008 + +gUnk_080FD310:: @ 080FD310 + .incbin "baserom.gba", 0x0FD310, 0x0000008 + +gUnk_080FD318:: @ 080FD318 + .incbin "baserom.gba", 0x0FD318, 0x0000008 + +gUnk_080FD320:: @ 080FD320 + .incbin "baserom.gba", 0x0FD320, 0x0000008 + +gUnk_080FD328:: @ 080FD328 + .incbin "baserom.gba", 0x0FD328, 0x0000008 + +gUnk_080FD330:: @ 080FD330 + .incbin "baserom.gba", 0x0FD330, 0x0000008 + +gUnk_080FD338:: @ 080FD338 + .incbin "baserom.gba", 0x0FD338, 0x0000008 + +gUnk_080FD340:: @ 080FD340 + .incbin "baserom.gba", 0x0FD340, 0x000000C + +gUnk_080FD34C:: @ 080FD34C + .incbin "baserom.gba", 0x0FD34C, 0x0000008 + +gUnk_080FD354:: @ 080FD354 + .incbin "baserom.gba", 0x0FD354, 0x0000008 + +gUnk_080FD35C:: @ 080FD35C + .incbin "baserom.gba", 0x0FD35C, 0x0000008 + +gUnk_080FD364:: @ 080FD364 + .incbin "baserom.gba", 0x0FD364, 0x0000008 + +gUnk_080FD36C:: @ 080FD36C + .incbin "baserom.gba", 0x0FD36C, 0x0000008 + +gUnk_080FD374:: @ 080FD374 + .incbin "baserom.gba", 0x0FD374, 0x0000008 + +gUnk_080FD37C:: @ 080FD37C + .incbin "baserom.gba", 0x0FD37C, 0x0000008 + +gUnk_080FD384:: @ 080FD384 + .incbin "baserom.gba", 0x0FD384, 0x0000008 + +gUnk_080FD38C:: @ 080FD38C + .incbin "baserom.gba", 0x0FD38C, 0x0000008 + +gUnk_080FD394:: @ 080FD394 + .incbin "baserom.gba", 0x0FD394, 0x0000008 + +gUnk_080FD39C:: @ 080FD39C + .incbin "baserom.gba", 0x0FD39C, 0x0000008 + +gUnk_080FD3A4:: @ 080FD3A4 + .incbin "baserom.gba", 0x0FD3A4, 0x0000008 + +gUnk_080FD3AC:: @ 080FD3AC + .incbin "baserom.gba", 0x0FD3AC, 0x0000008 + +gUnk_080FD3B4:: @ 080FD3B4 + .incbin "baserom.gba", 0x0FD3B4, 0x0000008 + +gUnk_080FD3BC:: @ 080FD3BC + .incbin "baserom.gba", 0x0FD3BC, 0x0000008 + +gUnk_080FD3C4:: @ 080FD3C4 + .incbin "baserom.gba", 0x0FD3C4, 0x0000008 + +gUnk_080FD3CC:: @ 080FD3CC + .incbin "baserom.gba", 0x0FD3CC, 0x0000010 + +gUnk_080FD3DC:: @ 080FD3DC + .incbin "baserom.gba", 0x0FD3DC, 0x0000008 + +gUnk_080FD3E4:: @ 080FD3E4 + .incbin "baserom.gba", 0x0FD3E4, 0x0000008 + +gUnk_080FD3EC:: @ 080FD3EC + .incbin "baserom.gba", 0x0FD3EC, 0x0000008 + +gUnk_080FD3F4:: @ 080FD3F4 + .incbin "baserom.gba", 0x0FD3F4, 0x0000008 + +gUnk_080FD3FC:: @ 080FD3FC + .incbin "baserom.gba", 0x0FD3FC, 0x000000C + +gUnk_080FD408:: @ 080FD408 + .incbin "baserom.gba", 0x0FD408, 0x0000008 + +gUnk_080FD410:: @ 080FD410 + .incbin "baserom.gba", 0x0FD410, 0x000000C + +gUnk_080FD41C:: @ 080FD41C + .incbin "baserom.gba", 0x0FD41C, 0x0000008 + +gUnk_080FD424:: @ 080FD424 + .incbin "baserom.gba", 0x0FD424, 0x0000008 + +gUnk_080FD42C:: @ 080FD42C + .incbin "baserom.gba", 0x0FD42C, 0x0000008 + +gUnk_080FD434:: @ 080FD434 + .incbin "baserom.gba", 0x0FD434, 0x0000008 + +gUnk_080FD43C:: @ 080FD43C + .incbin "baserom.gba", 0x0FD43C, 0x000000C + +gUnk_080FD448:: @ 080FD448 + .incbin "baserom.gba", 0x0FD448, 0x0000008 + +gUnk_080FD450:: @ 080FD450 + .incbin "baserom.gba", 0x0FD450, 0x0000008 + +gUnk_080FD458:: @ 080FD458 + .incbin "baserom.gba", 0x0FD458, 0x0000008 + +gUnk_080FD460:: @ 080FD460 + .incbin "baserom.gba", 0x0FD460, 0x0000008 + +gUnk_080FD468:: @ 080FD468 + .incbin "baserom.gba", 0x0FD468, 0x0000008 + +gUnk_080FD470:: @ 080FD470 + .incbin "baserom.gba", 0x0FD470, 0x0000010 + +gUnk_080FD480:: @ 080FD480 + .incbin "baserom.gba", 0x0FD480, 0x0000008 + +gUnk_080FD488:: @ 080FD488 + .incbin "baserom.gba", 0x0FD488, 0x0000008 + +gUnk_080FD490:: @ 080FD490 + .incbin "baserom.gba", 0x0FD490, 0x0000008 + +gUnk_080FD498:: @ 080FD498 + .incbin "baserom.gba", 0x0FD498, 0x000000C + +gUnk_080FD4A4:: @ 080FD4A4 + .incbin "baserom.gba", 0x0FD4A4, 0x0000014 + +gUnk_080FD4B8:: @ 080FD4B8 + .incbin "baserom.gba", 0x0FD4B8, 0x0000008 + +gUnk_080FD4C0:: @ 080FD4C0 + .incbin "baserom.gba", 0x0FD4C0, 0x0000008 + +gUnk_080FD4C8:: @ 080FD4C8 + .incbin "baserom.gba", 0x0FD4C8, 0x0000008 + +gUnk_080FD4D0:: @ 080FD4D0 + .incbin "baserom.gba", 0x0FD4D0, 0x0000008 + +gUnk_080FD4D8:: @ 080FD4D8 + .incbin "baserom.gba", 0x0FD4D8, 0x0000008 + +gUnk_080FD4E0:: @ 080FD4E0 + .incbin "baserom.gba", 0x0FD4E0, 0x0000008 + +gUnk_080FD4E8:: @ 080FD4E8 + .incbin "baserom.gba", 0x0FD4E8, 0x0000008 + +gUnk_080FD4F0:: @ 080FD4F0 + .incbin "baserom.gba", 0x0FD4F0, 0x0000008 + +gUnk_080FD4F8:: @ 080FD4F8 + .incbin "baserom.gba", 0x0FD4F8, 0x0000008 + +gUnk_080FD500:: @ 080FD500 + .incbin "baserom.gba", 0x0FD500, 0x0000008 + +gUnk_080FD508:: @ 080FD508 + .incbin "baserom.gba", 0x0FD508, 0x0000008 + +gUnk_080FD510:: @ 080FD510 + .incbin "baserom.gba", 0x0FD510, 0x0000008 + +gUnk_080FD518:: @ 080FD518 + .incbin "baserom.gba", 0x0FD518, 0x0000008 + +gUnk_080FD520:: @ 080FD520 + .incbin "baserom.gba", 0x0FD520, 0x0000008 + +gUnk_080FD528:: @ 080FD528 + .incbin "baserom.gba", 0x0FD528, 0x0000008 + +gUnk_080FD530:: @ 080FD530 + .incbin "baserom.gba", 0x0FD530, 0x0000008 + +gUnk_080FD538:: @ 080FD538 + .incbin "baserom.gba", 0x0FD538, 0x000000C + +gUnk_080FD544:: @ 080FD544 + .incbin "baserom.gba", 0x0FD544, 0x0000008 + +gUnk_080FD54C:: @ 080FD54C + .incbin "baserom.gba", 0x0FD54C, 0x000000C + +gUnk_080FD558:: @ 080FD558 + .incbin "baserom.gba", 0x0FD558, 0x0000008 + +gUnk_080FD560:: @ 080FD560 + .incbin "baserom.gba", 0x0FD560, 0x0000008 + +gUnk_080FD568:: @ 080FD568 + .incbin "baserom.gba", 0x0FD568, 0x0000008 + +gUnk_080FD570:: @ 080FD570 + .incbin "baserom.gba", 0x0FD570, 0x0000008 + +gUnk_080FD578:: @ 080FD578 + .incbin "baserom.gba", 0x0FD578, 0x0000008 + +gUnk_080FD580:: @ 080FD580 + .incbin "baserom.gba", 0x0FD580, 0x0000008 + +gUnk_080FD588:: @ 080FD588 + .incbin "baserom.gba", 0x0FD588, 0x0000008 + +gWalletSizes:: @ 080FD590 + .incbin "baserom.gba", 0x0FD590, 0x0000010 + +gBombBagSizes:: @ 080FD5A0 + .incbin "baserom.gba", 0x0FD5A0, 0x0000004 + +gQuiverSizes:: @ 080FD5A4 + .incbin "baserom.gba", 0x0FD5A4, 0x0000004 + +gUnk_080FD5A8:: @ 080FD5A8 + .incbin "baserom.gba", 0x0FD5A8, 0x000000C + +gUnk_080FD5B4:: @ 080FD5B4 + .incbin "baserom.gba", 0x0FD5B4, 0x00003B0 + +gUnk_080FD964:: @ 080FD964 + .incbin "baserom.gba", 0x0FD964, 0x00003B0 + +gUnk_080FDD14:: @ 080FDD14 + .incbin "baserom.gba", 0x0FDD14, 0x0000005 + +gUnk_080FDD19:: @ 080FDD19 + .incbin "baserom.gba", 0x0FDD19, 0x0000005 + +gUnk_080FDD1E:: @ 080FDD1E + .incbin "baserom.gba", 0x0FDD1E, 0x0000005 + +gUnk_080FDD23:: @ 080FDD23 + .incbin "baserom.gba", 0x0FDD23, 0x0000005 + +gUnk_080FDD28:: @ 080FDD28 + .incbin "baserom.gba", 0x0FDD28, 0x0000005 + +gUnk_080FDD2D:: @ 080FDD2D + .incbin "baserom.gba", 0x0FDD2D, 0x0000005 + +gUnk_080FDD32:: @ 080FDD32 + .incbin "baserom.gba", 0x0FDD32, 0x0000005 + +gUnk_080FDD37:: @ 080FDD37 + .incbin "baserom.gba", 0x0FDD37, 0x0000011 + +gUnk_080FDD48:: @ 080FDD48 + .incbin "baserom.gba", 0x0FDD48, 0x0000005 + +gUnk_080FDD4D:: @ 080FDD4D + .incbin "baserom.gba", 0x0FDD4D, 0x0000005 + +gUnk_080FDD52:: @ 080FDD52 + .incbin "baserom.gba", 0x0FDD52, 0x0000005 + +gUnk_080FDD57:: @ 080FDD57 + .incbin "baserom.gba", 0x0FDD57, 0x0000005 + +gUnk_080FDD5C:: @ 080FDD5C + .incbin "baserom.gba", 0x0FDD5C, 0x0000005 + +gUnk_080FDD61:: @ 080FDD61 + .incbin "baserom.gba", 0x0FDD61, 0x0000031 + +gUnk_080FDD92:: @ 080FDD92 + .incbin "baserom.gba", 0x0FDD92, 0x0000005 + +gUnk_080FDD97:: @ 080FDD97 + .incbin "baserom.gba", 0x0FDD97, 0x0000011 + +gUnk_080FDDA8:: @ 080FDDA8 + .incbin "baserom.gba", 0x0FDDA8, 0x0000005 + +gUnk_080FDDAD:: @ 080FDDAD + .incbin "baserom.gba", 0x0FDDAD, 0x0000005 + +gUnk_080FDDB2:: @ 080FDDB2 + .incbin "baserom.gba", 0x0FDDB2, 0x0000005 + +gUnk_080FDDB7:: @ 080FDDB7 + .incbin "baserom.gba", 0x0FDDB7, 0x0000005 + +gUnk_080FDDBC:: @ 080FDDBC + .incbin "baserom.gba", 0x0FDDBC, 0x0000005 + +gUnk_080FDDC1:: @ 080FDDC1 + .incbin "baserom.gba", 0x0FDDC1, 0x0000005 + +gUnk_080FDDC6:: @ 080FDDC6 + .incbin "baserom.gba", 0x0FDDC6, 0x0000005 + +gUnk_080FDDCB:: @ 080FDDCB + .incbin "baserom.gba", 0x0FDDCB, 0x0000005 + +gUnk_080FDDD0:: @ 080FDDD0 + .incbin "baserom.gba", 0x0FDDD0, 0x0000005 + +gUnk_080FDDD5:: @ 080FDDD5 + .incbin "baserom.gba", 0x0FDDD5, 0x0000005 + +gUnk_080FDDDA:: @ 080FDDDA + .incbin "baserom.gba", 0x0FDDDA, 0x0000005 + +gUnk_080FDDDF:: @ 080FDDDF + .incbin "baserom.gba", 0x0FDDDF, 0x0000005 + +gUnk_080FDDE4:: @ 080FDDE4 + .incbin "baserom.gba", 0x0FDDE4, 0x0000011 + +gUnk_080FDDF5:: @ 080FDDF5 + .incbin "baserom.gba", 0x0FDDF5, 0x0000019 + +gUnk_080FDE0E:: @ 080FDE0E + .incbin "baserom.gba", 0x0FDE0E, 0x0000019 + +gUnk_080FDE27:: @ 080FDE27 + .incbin "baserom.gba", 0x0FDE27, 0x0000019 + +gUnk_080FDE40:: @ 080FDE40 + .incbin "baserom.gba", 0x0FDE40, 0x0000019 + +gUnk_080FDE59:: @ 080FDE59 + .incbin "baserom.gba", 0x0FDE59, 0x0000019 + +gUnk_080FDE72:: @ 080FDE72 + .incbin "baserom.gba", 0x0FDE72, 0x0000019 + +gUnk_080FDE8B:: @ 080FDE8B + .incbin "baserom.gba", 0x0FDE8B, 0x0000005 + +gUnk_080FDE90:: @ 080FDE90 + .incbin "baserom.gba", 0x0FDE90, 0x0000005 + +gUnk_080FDE95:: @ 080FDE95 + .incbin "baserom.gba", 0x0FDE95, 0x0000005 + +gUnk_080FDE9A:: @ 080FDE9A + .incbin "baserom.gba", 0x0FDE9A, 0x0000005 + +gUnk_080FDE9F:: @ 080FDE9F + .incbin "baserom.gba", 0x0FDE9F, 0x0000005 + +gUnk_080FDEA4:: @ 080FDEA4 + .incbin "baserom.gba", 0x0FDEA4, 0x0000005 + +gUnk_080FDEA9:: @ 080FDEA9 + .incbin "baserom.gba", 0x0FDEA9, 0x0000005 + +gUnk_080FDEAE:: @ 080FDEAE + .incbin "baserom.gba", 0x0FDEAE, 0x0000005 + +gUnk_080FDEB3:: @ 080FDEB3 + .incbin "baserom.gba", 0x0FDEB3, 0x0000005 + +gUnk_080FDEB8:: @ 080FDEB8 + .incbin "baserom.gba", 0x0FDEB8, 0x0000005 + +gUnk_080FDEBD:: @ 080FDEBD + .incbin "baserom.gba", 0x0FDEBD, 0x0000005 + +gUnk_080FDEC2:: @ 080FDEC2 + .incbin "baserom.gba", 0x0FDEC2, 0x0000005 + +gUnk_080FDEC7:: @ 080FDEC7 + .incbin "baserom.gba", 0x0FDEC7, 0x0000005 + +gUnk_080FDECC:: @ 080FDECC + .incbin "baserom.gba", 0x0FDECC, 0x0000005 + +gUnk_080FDED1:: @ 080FDED1 + .incbin "baserom.gba", 0x0FDED1, 0x0000005 + +gUnk_080FDED6:: @ 080FDED6 + .incbin "baserom.gba", 0x0FDED6, 0x0000005 + +gUnk_080FDEDB:: @ 080FDEDB + .incbin "baserom.gba", 0x0FDEDB, 0x0000005 + +gUnk_080FDEE0:: @ 080FDEE0 + .incbin "baserom.gba", 0x0FDEE0, 0x0000005 + +gUnk_080FDEE5:: @ 080FDEE5 + .incbin "baserom.gba", 0x0FDEE5, 0x0000005 + +gUnk_080FDEEA:: @ 080FDEEA + .incbin "baserom.gba", 0x0FDEEA, 0x0000005 + +gUnk_080FDEEF:: @ 080FDEEF + .incbin "baserom.gba", 0x0FDEEF, 0x0000005 + +gUnk_080FDEF4:: @ 080FDEF4 + .incbin "baserom.gba", 0x0FDEF4, 0x0000005 + +gUnk_080FDEF9:: @ 080FDEF9 + .incbin "baserom.gba", 0x0FDEF9, 0x0000005 + +gUnk_080FDEFE:: @ 080FDEFE + .incbin "baserom.gba", 0x0FDEFE, 0x0000005 + +gUnk_080FDF03:: @ 080FDF03 + .incbin "baserom.gba", 0x0FDF03, 0x0000005 + +gUnk_080FDF08:: @ 080FDF08 + .incbin "baserom.gba", 0x0FDF08, 0x0000005 + +gUnk_080FDF0D:: @ 080FDF0D + .incbin "baserom.gba", 0x0FDF0D, 0x0000005 + +gUnk_080FDF12:: @ 080FDF12 + .incbin "baserom.gba", 0x0FDF12, 0x0000005 + +gUnk_080FDF17:: @ 080FDF17 + .incbin "baserom.gba", 0x0FDF17, 0x0000011 + +gUnk_080FDF28:: @ 080FDF28 + .incbin "baserom.gba", 0x0FDF28, 0x000001D + +gUnk_080FDF45:: @ 080FDF45 + .incbin "baserom.gba", 0x0FDF45, 0x0000005 + +gUnk_080FDF4A:: @ 080FDF4A + .incbin "baserom.gba", 0x0FDF4A, 0x0000005 + +gUnk_080FDF4F:: @ 080FDF4F + .incbin "baserom.gba", 0x0FDF4F, 0x0000005 + +gUnk_080FDF54:: @ 080FDF54 + .incbin "baserom.gba", 0x0FDF54, 0x0000005 + +gUnk_080FDF59:: @ 080FDF59 + .incbin "baserom.gba", 0x0FDF59, 0x0000005 + +gUnk_080FDF5E:: @ 080FDF5E + .incbin "baserom.gba", 0x0FDF5E, 0x0000005 + +gUnk_080FDF63:: @ 080FDF63 + .incbin "baserom.gba", 0x0FDF63, 0x0000005 + +gUnk_080FDF68:: @ 080FDF68 + .incbin "baserom.gba", 0x0FDF68, 0x0000005 + +gUnk_080FDF6D:: @ 080FDF6D + .incbin "baserom.gba", 0x0FDF6D, 0x0000005 + +gUnk_080FDF72:: @ 080FDF72 + .incbin "baserom.gba", 0x0FDF72, 0x0000005 + +gUnk_080FDF77:: @ 080FDF77 + .incbin "baserom.gba", 0x0FDF77, 0x0000005 + +gUnk_080FDF7C:: @ 080FDF7C + .incbin "baserom.gba", 0x0FDF7C, 0x0000005 + +gUnk_080FDF81:: @ 080FDF81 + .incbin "baserom.gba", 0x0FDF81, 0x0000005 + +gUnk_080FDF86:: @ 080FDF86 + .incbin "baserom.gba", 0x0FDF86, 0x0000009 + +gUnk_080FDF8F:: @ 080FDF8F + .incbin "baserom.gba", 0x0FDF8F, 0x0000005 + +gUnk_080FDF94:: @ 080FDF94 + .incbin "baserom.gba", 0x0FDF94, 0x0000005 + +gUnk_080FDF99:: @ 080FDF99 + .incbin "baserom.gba", 0x0FDF99, 0x0000005 + +gUnk_080FDF9E:: @ 080FDF9E + .incbin "baserom.gba", 0x0FDF9E, 0x0000005 + +gUnk_080FDFA3:: @ 080FDFA3 + .incbin "baserom.gba", 0x0FDFA3, 0x0000005 + +gUnk_080FDFA8:: @ 080FDFA8 + .incbin "baserom.gba", 0x0FDFA8, 0x0000019 + +gUnk_080FDFC1:: @ 080FDFC1 + .incbin "baserom.gba", 0x0FDFC1, 0x0000005 + +gUnk_080FDFC6:: @ 080FDFC6 + .incbin "baserom.gba", 0x0FDFC6, 0x0000005 + +gUnk_080FDFCB:: @ 080FDFCB + .incbin "baserom.gba", 0x0FDFCB, 0x0000005 + +gUnk_080FDFD0:: @ 080FDFD0 + .incbin "baserom.gba", 0x0FDFD0, 0x0000008 + +gUnk_080FDFD8:: @ 080FDFD8 + .incbin "baserom.gba", 0x0FDFD8, 0x00001DC + +gUnk_080FE1B4:: @ 080FE1B4 + .incbin "baserom.gba", 0x0FE1B4, 0x0000012 + +gUnk_080FE1C6:: @ 080FE1C6 + .incbin "baserom.gba", 0x0FE1C6, 0x0000017 + +gUnk_080FE1DD:: @ 080FE1DD + .incbin "baserom.gba", 0x0FE1DD, 0x00000C3 + +gUnk_080FE2A0:: @ 080FE2A0 + .incbin "baserom.gba", 0x0FE2A0, 0x000000C + +gUnk_080FE2AC:: @ 080FE2AC + .incbin "baserom.gba", 0x0FE2AC, 0x0000074 + +gUnk_080FE320:: @ 080FE320 + .incbin "baserom.gba", 0x0FE320, 0x00002F0 + +gUnk_080FE610:: @ 080FE610 + .incbin "baserom.gba", 0x0FE610, 0x00004B8 + +gUnk_080FEAC8:: @ 080FEAC8 + .incbin "baserom.gba", 0x0FEAC8, 0x0000003 + +gUnk_080FEACB:: @ 080FEACB + .incbin "baserom.gba", 0x0FEACB, 0x0000023 + +gUnk_080FEAEE:: @ 080FEAEE + .incbin "baserom.gba", 0x0FEAEE, 0x000002C + +gUnk_080FEB1A:: @ 080FEB1A + .incbin "baserom.gba", 0x0FEB1A, 0x00000C2 + +gUnk_080FEBDC:: @ 080FEBDC + .incbin "baserom.gba", 0x0FEBDC, 0x000000C + +gUnk_080FEBE8:: @ 080FEBE8 + .incbin "baserom.gba", 0x0FEBE8, 0x0000006 + +gUnk_080FEBEE:: @ 080FEBEE + .incbin "baserom.gba", 0x0FEBEE, 0x000001B + +gUnk_080FEC09:: @ 080FEC09 + .incbin "baserom.gba", 0x0FEC09, 0x000001F + +gUnk_080FEC28:: @ 080FEC28 + .incbin "baserom.gba", 0x0FEC28, 0x00000A0 + +gUnk_080FECC8:: @ 080FECC8 + .incbin "baserom.gba", 0x0FECC8, 0x0000050 + +gUnk_080FED18:: @ 080FED18 + .incbin "baserom.gba", 0x0FED18, 0x0000040 + +gUnk_080FED58:: @ 080FED58 + .incbin "baserom.gba", 0x0FED58, 0x0000040 + +gUnk_080FED98:: @ 080FED98 + .incbin "baserom.gba", 0x0FED98, 0x000000C + +gUnk_080FEDA4:: @ 080FEDA4 + .incbin "baserom.gba", 0x0FEDA4, 0x0000036 + +gUnk_080FEDDA:: @ 080FEDDA + .incbin "baserom.gba", 0x0FEDDA, 0x000001E + +gUnk_080FEDF8:: @ 080FEDF8 + .incbin "baserom.gba", 0x0FEDF8, 0x0000020 + +gUnk_080FEE18:: @ 080FEE18 + .incbin "baserom.gba", 0x0FEE18, 0x0000020 + +gUnk_080FEE38:: @ 080FEE38 + .incbin "baserom.gba", 0x0FEE38, 0x0000010 + +gUnk_080FEE48:: @ 080FEE48 + .incbin "baserom.gba", 0x0FEE48, 0x0000010 + +gUnk_080FEE58:: @ 080FEE58 + .incbin "baserom.gba", 0x0FEE58, 0x0000020 + +gUnk_080FEE78:: @ 080FEE78 + .incbin "baserom.gba", 0x0FEE78, 0x0000030 + +gUnk_080FEEA8:: @ 080FEEA8 + .incbin "baserom.gba", 0x0FEEA8, 0x0000008 + +gUnk_080FEEB0:: @ 080FEEB0 + .incbin "baserom.gba", 0x0FEEB0, 0x0000008 + +gUnk_080FEEB8:: @ 080FEEB8 + .incbin "baserom.gba", 0x0FEEB8, 0x0000010 + +gUnk_080FEEC8:: @ 080FEEC8 + .incbin "baserom.gba", 0x0FEEC8, 0x000000C + +gUnk_080FEED4:: @ 080FEED4 + .incbin "baserom.gba", 0x0FEED4, 0x0000060 + +gUnk_080FEF34:: @ 080FEF34 + .incbin "baserom.gba", 0x0FEF34, 0x0000008 + +gUnk_080FEF3C:: @ 080FEF3C + .incbin "baserom.gba", 0x0FEF3C, 0x000000C + +gUnk_080FEF48:: @ 080FEF48 + .incbin "baserom.gba", 0x0FEF48, 0x0000030 + +gUnk_080FEF78:: @ 080FEF78 + .incbin "baserom.gba", 0x0FEF78, 0x0000030 + +gUnk_080FEFA8:: @ 080FEFA8 + .incbin "baserom.gba", 0x0FEFA8, 0x0000040 + +gUnk_080FEFE8:: @ 080FEFE8 + .incbin "baserom.gba", 0x0FEFE8, 0x0000050 + +gUnk_080FF038:: @ 080FF038 + .incbin "baserom.gba", 0x0FF038, 0x0000060 + +gUnk_080FF098:: @ 080FF098 + .incbin "baserom.gba", 0x0FF098, 0x0000070 + +gUnk_080FF108:: @ 080FF108 + .incbin "baserom.gba", 0x0FF108, 0x0000018 + +gUnk_080FF120:: @ 080FF120 + .incbin "baserom.gba", 0x0FF120, 0x0000008 + +gUnk_080FF128:: @ 080FF128 + .incbin "baserom.gba", 0x0FF128, 0x0000020 + +gUnk_080FF148:: @ 080FF148 + .incbin "baserom.gba", 0x0FF148, 0x000000C + +gUnk_080FF154:: @ 080FF154 + .incbin "baserom.gba", 0x0FF154, 0x0000020 + +gUnk_080FF174:: @ 080FF174 + .incbin "baserom.gba", 0x0FF174, 0x0000008 + +gUnk_080FF17C:: @ 080FF17C + .incbin "baserom.gba", 0x0FF17C, 0x0000050 + +gUnk_080FF1CC:: @ 080FF1CC + .incbin "baserom.gba", 0x0FF1CC, 0x0000008 + +gUnk_080FF1D4:: @ 080FF1D4 + .incbin "baserom.gba", 0x0FF1D4, 0x0000018 + +gUnk_080FF1EC:: @ 080FF1EC + .incbin "baserom.gba", 0x0FF1EC, 0x0000008 + +gUnk_080FF1F4:: @ 080FF1F4 + .incbin "baserom.gba", 0x0FF1F4, 0x000000C + +gUnk_080FF200:: @ 080FF200 + .incbin "baserom.gba", 0x0FF200, 0x0000004 + +gUnk_080FF204:: @ 080FF204 + .incbin "baserom.gba", 0x0FF204, 0x0000024 + +gUnk_080FF228:: @ 080FF228 + .incbin "baserom.gba", 0x0FF228, 0x0000010 + +gUnk_080FF238:: @ 080FF238 + .incbin "baserom.gba", 0x0FF238, 0x0000010 + +gUnk_080FF248:: @ 080FF248 + .incbin "baserom.gba", 0x0FF248, 0x000000C + +gUnk_080FF254:: @ 080FF254 + .incbin "baserom.gba", 0x0FF254, 0x0000010 + +gUnk_080FF264:: @ 080FF264 + .incbin "baserom.gba", 0x0FF264, 0x0000020 + +gUnk_080FF284:: @ 080FF284 + .incbin "baserom.gba", 0x0FF284, 0x0000008 + +gUnk_080FF28C:: @ 080FF28C + .incbin "baserom.gba", 0x0FF28C, 0x000000C + +gUnk_080FF298:: @ 080FF298 + .incbin "baserom.gba", 0x0FF298, 0x0000020 + +gUnk_080FF2B8:: @ 080FF2B8 + .incbin "baserom.gba", 0x0FF2B8, 0x0000008 + +gUnk_080FF2C0:: @ 080FF2C0 + .incbin "baserom.gba", 0x0FF2C0, 0x0000040 + +gUnk_080FF300:: @ 080FF300 + .incbin "baserom.gba", 0x0FF300, 0x0000008 + +gUnk_080FF308:: @ 080FF308 + .incbin "baserom.gba", 0x0FF308, 0x0000020 + +gUnk_080FF328:: @ 080FF328 + .incbin "baserom.gba", 0x0FF328, 0x0000008 + +gUnk_080FF330:: @ 080FF330 + .incbin "baserom.gba", 0x0FF330, 0x000000C + +gUnk_080FF33C:: @ 080FF33C + .incbin "baserom.gba", 0x0FF33C, 0x0000020 + +gUnk_080FF35C:: @ 080FF35C + .incbin "baserom.gba", 0x0FF35C, 0x0000010 + +gUnk_080FF36C:: @ 080FF36C + .incbin "baserom.gba", 0x0FF36C, 0x000000C + +gUnk_080FF378:: @ 080FF378 + .incbin "baserom.gba", 0x0FF378, 0x0000050 + +gUnk_080FF3C8:: @ 080FF3C8 + .incbin "baserom.gba", 0x0FF3C8, 0x0000020 + +gUnk_080FF3E8:: @ 080FF3E8 + .incbin "baserom.gba", 0x0FF3E8, 0x000000C + +gUnk_080FF3F4:: @ 080FF3F4 + .incbin "baserom.gba", 0x0FF3F4, 0x000000C + +gUnk_080FF400:: @ 080FF400 + .incbin "baserom.gba", 0x0FF400, 0x0000020 + +gUnk_080FF420:: @ 080FF420 + .incbin "baserom.gba", 0x0FF420, 0x0000008 + +gUnk_080FF428:: @ 080FF428 + .incbin "baserom.gba", 0x0FF428, 0x0000428 + +gPaletteGroups:: @ 080FF850 + .word 0x00000000 + .word 0x080FF428 + .word 0x080FF430 + .word 0x080FF438 + .word 0x080FF444 + .word 0x080FF450 + .word 0x080FF454 + .word 0x080FF458 + .word 0x080FF45C + .word 0x080FF460 + .word 0x080FF474 + .word 0x080FF488 + .word 0x080FF484 + .word 0x080FF5C8 + .word 0x080FF4A0 + .word 0x080FF4DC + .word 0x080FF560 + .word 0x080FF4E4 + .word 0x080FF4C4 + .word 0x080FF570 + .word 0x080FF49C + .word 0x080FF498 + .word 0x080FF4A4 + .word 0x080FF4A8 + .word 0x080FF4AC + .word 0x080FF4B0 + .word 0x080FF4E8 + .word 0x080FF4B8 + .word 0x080FF490 + .word 0x080FF574 + .word 0x080FF578 + .word 0x080FF590 + .word 0x080FF594 + .word 0x080FF57C + .word 0x080FF5E4 + .word 0x080FF5F8 + .word 0x080FF4F0 + .word 0x080FF4F4 + .word 0x080FF598 + .word 0x080FF494 + .word 0x080FF6C4 + .word 0x080FF59C + .word 0x080FF6C8 + .word 0x080FF6CC + .word 0x080FF58C + .word 0x080FF5CC + .word 0x080FF564 + .word 0x080FF6D0 + .word 0x080FF6D4 + .word 0x080FF6D8 + .word 0x080FF6DC + .word 0x080FF5B0 + .word 0x080FF5B4 + .word 0x080FF5C4 + .word 0x080FF4C0 + .word 0x080FF500 + .word 0x080FF510 + .word 0x080FF518 + .word 0x080FF51C + .word 0x080FF524 + .word 0x080FF50C + .word 0x080FF4B4 + .word 0x080FF5A0 + .word 0x080FF4C8 + .word 0x080FF4CC + .word 0x080FF4D0 + .word 0x080FF4D4 + .word 0x080FF568 + .word 0x080FF650 + .word 0x080FF654 + .word 0x080FF658 + .word 0x080FF65C + .word 0x080FF660 + .word 0x080FF664 + .word 0x080FF668 + .word 0x080FF66C + .word 0x080FF670 + .word 0x080FF680 + .word 0x080FF684 + .word 0x080FF688 + .word 0x080FF68C + .word 0x080FF690 + .word 0x080FF694 + .word 0x080FF698 + .word 0x080FF69C + .word 0x080FF56C + .word 0x080FF674 + .word 0x080FF678 + .word 0x080FF67C + .word 0x080FF5B8 + .word 0x080FF4EC + .word 0x080FF6E0 + .word 0x080FF5A4 + .word 0x080FF4D8 + .word 0x080FF4FC + .word 0x080FF640 + .word 0x080FF644 + .word 0x080FF648 + .word 0x080FF64C + .word 0x080FF580 + .word 0x080FF584 + .word 0x080FF5FC + .word 0x080FF5A8 + .word 0x080FF5AC + .word 0x080FF504 + .word 0x080FF53C + .word 0x080FF540 + .word 0x080FF544 + .word 0x080FF548 + .word 0x080FF4E0 + .word 0x080FF600 + .word 0x080FF630 + .word 0x080FF634 + .word 0x080FF638 + .word 0x080FF63C + .word 0x080FF6A0 + .word 0x080FF6A4 + .word 0x080FF6A8 + .word 0x080FF6AC + .word 0x080FF6B0 + .word 0x080FF54C + .word 0x080FF604 + .word 0x080FF6C0 + .word 0x080FF6BC + .word 0x080FF6B8 + .word 0x080FF608 + .word 0x080FF60C + .word 0x080FF610 + .word 0x080FF4F8 + .word 0x080FF6B4 + .word 0x080FF508 + .word 0x080FF614 + .word 0x080FF618 + .word 0x080FF61C + .word 0x080FF6E4 + .word 0x080FF6E8 + .word 0x080FF6EC + .word 0x080FF6F0 + .word 0x080FF6F4 + .word 0x080FF6F8 + .word 0x080FF6FC + .word 0x080FF700 + .word 0x080FF704 + .word 0x080FF708 + .word 0x080FF528 + .word 0x080FF520 + .word 0x080FF5D0 + .word 0x080FF5D4 + .word 0x080FF5D8 + .word 0x080FF5DC + .word 0x080FF5E0 + .word 0x080FF5E8 + .word 0x080FF5EC + .word 0x080FF5F0 + .word 0x080FF5F4 + .word 0x080FF530 + .word 0x080FF534 + .word 0x080FF5BC + .word 0x080FF620 + .word 0x080FF624 + .word 0x080FF628 + .word 0x080FF62C + .word 0x080FF514 + .word 0x080FF550 + .word 0x080FF554 + .word 0x080FF558 + .word 0x080FF55C + .word 0x080FF588 + .word 0x080FF5C0 + .word 0x080FF538 + .word 0x080FF4BC + .word 0x080FF70C + .word 0x080FF710 + .word 0x080FF714 + .word 0x080FF718 + .word 0x080FF71C + .word 0x080FF720 + .word 0x080FF724 + .word 0x080FF728 + .word 0x080FF72C + .word 0x080FF52C + .word 0x080FF730 + .word 0x080FF73C + .word 0x080FF744 + .word 0x080FF750 + .word 0x080FF75C + .word 0x080FF770 + .word 0x080FF778 + .word 0x080FF780 + .word 0x080FF788 + .word 0x080FF790 + .word 0x080FF798 + .word 0x080FF7A0 + .word 0x080FF7A8 + .word 0x080FF7B0 + .word 0x080FF7B8 + .word 0x080FF7C0 + .word 0x080FF7C8 + .word 0x080FF7D0 + .word 0x080FF7D8 + .word 0x080FF7E0 + .word 0x080FF7E8 + .word 0x080FF7F0 + .word 0x080FF7F8 + .word 0x080FF808 + .word 0x080FF814 + .word 0x080FF83C + .word 0x080FF844 + +gUnk_080FFB90:: @ 080FFB90 + .incbin "baserom.gba", 0x0FFB90, 0x0000018 + +gUnk_080FFBA8:: @ 080FFBA8 + .incbin "baserom.gba", 0x0FFBA8, 0x0000035 + +gUnk_080FFBDD:: @ 080FFBDD + .incbin "baserom.gba", 0x0FFBDD, 0x0000013 + +gUnk_080FFBF0:: @ 080FFBF0 + .incbin "baserom.gba", 0x0FFBF0, 0x0000024 + +gUnk_080FFC14:: @ 080FFC14 + .incbin "baserom.gba", 0x0FFC14, 0x0000024 + +gUnk_080FFC38:: @ 080FFC38 + .incbin "baserom.gba", 0x0FFC38, 0x0000030 + +gUnk_080FFC68:: @ 080FFC68 + .incbin "baserom.gba", 0x0FFC68, 0x0000018 + +gUnk_080FFC80:: @ 080FFC80 + .incbin "baserom.gba", 0x0FFC80, 0x000000C + +gUnk_080FFC8C:: @ 080FFC8C + .incbin "baserom.gba", 0x0FFC8C, 0x000000C + +gUnk_080FFC98:: @ 080FFC98 + .incbin "baserom.gba", 0x0FFC98, 0x0000018 + +gUnk_080FFCB0:: @ 080FFCB0 + .incbin "baserom.gba", 0x0FFCB0, 0x0000018 + +gUnk_080FFCC8:: @ 080FFCC8 + .incbin "baserom.gba", 0x0FFCC8, 0x000000C + +gUnk_080FFCD4:: @ 080FFCD4 + .incbin "baserom.gba", 0x0FFCD4, 0x0000018 + +gUnk_080FFCEC:: @ 080FFCEC + .incbin "baserom.gba", 0x0FFCEC, 0x0000001 + +gUnk_080FFCED:: @ 080FFCED + .incbin "baserom.gba", 0x0FFCED, 0x0000017 + +gUnk_080FFD04:: @ 080FFD04 + .incbin "baserom.gba", 0x0FFD04, 0x0000018 + +gUnk_080FFD1C:: @ 080FFD1C + .incbin "baserom.gba", 0x0FFD1C, 0x000000C + +gUnk_080FFD28:: @ 080FFD28 + .incbin "baserom.gba", 0x0FFD28, 0x0000018 + +gUnk_080FFD40:: @ 080FFD40 + .incbin "baserom.gba", 0x0FFD40, 0x000000C + +gUnk_080FFD4C:: @ 080FFD4C + .incbin "baserom.gba", 0x0FFD4C, 0x000000C + +gUnk_080FFD58:: @ 080FFD58 + .incbin "baserom.gba", 0x0FFD58, 0x000000C + +gUnk_080FFD64:: @ 080FFD64 + .incbin "baserom.gba", 0x0FFD64, 0x000000C + +gUnk_080FFD70:: @ 080FFD70 + .incbin "baserom.gba", 0x0FFD70, 0x000000C + +gUnk_080FFD7C:: @ 080FFD7C + .incbin "baserom.gba", 0x0FFD7C, 0x000000C + +gUnk_080FFD88:: @ 080FFD88 + .incbin "baserom.gba", 0x0FFD88, 0x000000C + +gUnk_080FFD94:: @ 080FFD94 + .incbin "baserom.gba", 0x0FFD94, 0x0000018 + +gUnk_080FFDAC:: @ 080FFDAC + .incbin "baserom.gba", 0x0FFDAC, 0x0000018 + +gUnk_080FFDC4:: @ 080FFDC4 + .incbin "baserom.gba", 0x0FFDC4, 0x000000C + +gUnk_080FFDD0:: @ 080FFDD0 + .incbin "baserom.gba", 0x0FFDD0, 0x0000018 + +gUnk_080FFDE8:: @ 080FFDE8 + .incbin "baserom.gba", 0x0FFDE8, 0x000000C + +gUnk_080FFDF4:: @ 080FFDF4 + .incbin "baserom.gba", 0x0FFDF4, 0x0000005 + +gUnk_080FFDF9:: @ 080FFDF9 + .incbin "baserom.gba", 0x0FFDF9, 0x0000007 + +gUnk_080FFE00:: @ 080FFE00 + .incbin "baserom.gba", 0x0FFE00, 0x0000018 + +gUnk_080FFE18:: @ 080FFE18 + .incbin "baserom.gba", 0x0FFE18, 0x0000018 + +gUnk_080FFE30:: @ 080FFE30 + .incbin "baserom.gba", 0x0FFE30, 0x000003C + +gUnk_080FFE6C:: @ 080FFE6C + .incbin "baserom.gba", 0x0FFE6C, 0x000003C + +gUnk_080FFEA8:: @ 080FFEA8 + .incbin "baserom.gba", 0x0FFEA8, 0x000003C + +gUnk_080FFEE4:: @ 080FFEE4 + .incbin "baserom.gba", 0x0FFEE4, 0x000003C + +gUnk_080FFF20:: @ 080FFF20 + .incbin "baserom.gba", 0x0FFF20, 0x000003C + +gUnk_080FFF5C:: @ 080FFF5C + .incbin "baserom.gba", 0x0FFF5C, 0x000003C + +gUnk_080FFF98:: @ 080FFF98 + .incbin "baserom.gba", 0x0FFF98, 0x0000030 + +gUnk_080FFFC8:: @ 080FFFC8 + .incbin "baserom.gba", 0x0FFFC8, 0x0000018 + +gUnk_080FFFE0:: @ 080FFFE0 + .incbin "baserom.gba", 0x0FFFE0, 0x000000C + +gUnk_080FFFEC:: @ 080FFFEC + .incbin "baserom.gba", 0x0FFFEC, 0x000000C + +gUnk_080FFFF8:: @ 080FFFF8 + .incbin "baserom.gba", 0x0FFFF8, 0x0000008 + +gUnk_08100000:: @ 08100000 + .incbin "baserom.gba", 0x100000, 0x0000001 + +gUnk_08100001:: @ 08100001 + .incbin "baserom.gba", 0x100001, 0x0000002 + +gUnk_08100003:: @ 08100003 + .incbin "baserom.gba", 0x100003, 0x0000001 + +gUnk_08100004:: @ 08100004 + .incbin "baserom.gba", 0x100004, 0x000000C + +gUnk_08100010:: @ 08100010 + .incbin "baserom.gba", 0x100010, 0x0000005 + +gUnk_08100015:: @ 08100015 + .incbin "baserom.gba", 0x100015, 0x0000007 + +gUnk_0810001C:: @ 0810001C + .incbin "baserom.gba", 0x10001C, 0x000000C + +gUnk_08100028:: @ 08100028 + .incbin "baserom.gba", 0x100028, 0x0000004 + +gUnk_0810002C:: @ 0810002C + .incbin "baserom.gba", 0x10002C, 0x0000008 + +gUnk_08100034:: @ 08100034 + .incbin "baserom.gba", 0x100034, 0x000000B + +gUnk_0810003F:: @ 0810003F + .incbin "baserom.gba", 0x10003F, 0x0000001 + +gUnk_08100040:: @ 08100040 + .incbin "baserom.gba", 0x100040, 0x0000002 + +gUnk_08100042:: @ 08100042 + .incbin "baserom.gba", 0x100042, 0x000000A + +gUnk_0810004C:: @ 0810004C + .incbin "baserom.gba", 0x10004C, 0x000000C + +gUnk_08100058:: @ 08100058 + .incbin "baserom.gba", 0x100058, 0x000000C + +gUnk_08100064:: @ 08100064 + .incbin "baserom.gba", 0x100064, 0x000000C + +gUnk_08100070:: @ 08100070 + .incbin "baserom.gba", 0x100070, 0x000000C + +gUnk_0810007C:: @ 0810007C + .incbin "baserom.gba", 0x10007C, 0x000000C + +gUnk_08100088:: @ 08100088 + .incbin "baserom.gba", 0x100088, 0x000000C + +gUnk_08100094:: @ 08100094 + .incbin "baserom.gba", 0x100094, 0x000000C + +gUnk_081000A0:: @ 081000A0 + .incbin "baserom.gba", 0x1000A0, 0x000000C + +gUnk_081000AC:: @ 081000AC + .incbin "baserom.gba", 0x1000AC, 0x000000C + +gUnk_081000B8:: @ 081000B8 + .incbin "baserom.gba", 0x1000B8, 0x000000C + +gUnk_081000C4:: @ 081000C4 + .incbin "baserom.gba", 0x1000C4, 0x000000C + +gUnk_081000D0:: @ 081000D0 + .incbin "baserom.gba", 0x1000D0, 0x000000C + +gUnk_081000DC:: @ 081000DC + .incbin "baserom.gba", 0x1000DC, 0x0000008 + +gUnk_081000E4:: @ 081000E4 + .incbin "baserom.gba", 0x1000E4, 0x0000004 + +gUnk_081000E8:: @ 081000E8 + .incbin "baserom.gba", 0x1000E8, 0x0000008 + +gUnk_081000F0:: @ 081000F0 + .incbin "baserom.gba", 0x1000F0, 0x0000004 + +gUnk_081000F4:: @ 081000F4 + .incbin "baserom.gba", 0x1000F4, 0x000000C + +gUnk_08100100:: @ 08100100 + .incbin "baserom.gba", 0x100100, 0x0000007 + +gUnk_08100107:: @ 08100107 + .incbin "baserom.gba", 0x100107, 0x0000002 + +gUnk_08100109:: @ 08100109 + .incbin "baserom.gba", 0x100109, 0x0000003 + +gUnk_0810010C:: @ 0810010C + .incbin "baserom.gba", 0x10010C, 0x000000C + +gUnk_08100118:: @ 08100118 + .incbin "baserom.gba", 0x100118, 0x0000008 + +gUnk_08100120:: @ 08100120 + .incbin "baserom.gba", 0x100120, 0x0000006 + +gUnk_08100126:: @ 08100126 + .incbin "baserom.gba", 0x100126, 0x000000A + +gUnk_08100130:: @ 08100130 + .incbin "baserom.gba", 0x100130, 0x0000018 + +gUnk_08100148:: @ 08100148 + .incbin "baserom.gba", 0x100148, 0x0000018 + +gUnk_08100160:: @ 08100160 + .incbin "baserom.gba", 0x100160, 0x0000018 + +gUnk_08100178:: @ 08100178 + .incbin "baserom.gba", 0x100178, 0x0000018 + +gUnk_08100190:: @ 08100190 + .incbin "baserom.gba", 0x100190, 0x0000018 + +gUnk_081001A8:: @ 081001A8 + .incbin "baserom.gba", 0x1001A8, 0x0000018 + +gUnk_081001C0:: @ 081001C0 + .incbin "baserom.gba", 0x1001C0, 0x0000018 + +gUnk_081001D8:: @ 081001D8 + .incbin "baserom.gba", 0x1001D8, 0x0000018 + +gUnk_081001F0:: @ 081001F0 + .incbin "baserom.gba", 0x1001F0, 0x0000009 + +gUnk_081001F9:: @ 081001F9 + .incbin "baserom.gba", 0x1001F9, 0x000000D + +gUnk_08100206:: @ 08100206 + .incbin "baserom.gba", 0x100206, 0x0000002 + +gUnk_08100208:: @ 08100208 + .incbin "baserom.gba", 0x100208, 0x0000018 + +gUnk_08100220:: @ 08100220 + .incbin "baserom.gba", 0x100220, 0x0000018 + +gUnk_08100238:: @ 08100238 + .incbin "baserom.gba", 0x100238, 0x0000018 + +gUnk_08100250:: @ 08100250 + .incbin "baserom.gba", 0x100250, 0x0000018 + +gUnk_08100268:: @ 08100268 + .incbin "baserom.gba", 0x100268, 0x0000018 + +gUnk_08100280:: @ 08100280 + .incbin "baserom.gba", 0x100280, 0x0000018 + +gUnk_08100298:: @ 08100298 + .incbin "baserom.gba", 0x100298, 0x0000018 + +gUnk_081002B0:: @ 081002B0 + .incbin "baserom.gba", 0x1002B0, 0x0000018 + +gUnk_081002C8:: @ 081002C8 + .incbin "baserom.gba", 0x1002C8, 0x0000018 + +gUnk_081002E0:: @ 081002E0 + .incbin "baserom.gba", 0x1002E0, 0x000000C + +gUnk_081002EC:: @ 081002EC + .incbin "baserom.gba", 0x1002EC, 0x000000C + +gUnk_081002F8:: @ 081002F8 + .incbin "baserom.gba", 0x1002F8, 0x000000C + +gUnk_08100304:: @ 08100304 + .incbin "baserom.gba", 0x100304, 0x000000C + +gUnk_08100310:: @ 08100310 + .incbin "baserom.gba", 0x100310, 0x0000007 + +gUnk_08100317:: @ 08100317 + .incbin "baserom.gba", 0x100317, 0x0000011 + +gUnk_08100328:: @ 08100328 + .incbin "baserom.gba", 0x100328, 0x0000030 + +gUnk_08100358:: @ 08100358 + .incbin "baserom.gba", 0x100358, 0x0000030 + +gUnk_08100388:: @ 08100388 + .incbin "baserom.gba", 0x100388, 0x0000054 + +gUnk_081003DC:: @ 081003DC + .incbin "baserom.gba", 0x1003DC, 0x0000024 + +gUnk_08100400:: @ 08100400 + .incbin "baserom.gba", 0x100400, 0x0000001 + +gUnk_08100401:: @ 08100401 + .incbin "baserom.gba", 0x100401, 0x0000006 + +gUnk_08100407:: @ 08100407 + .incbin "baserom.gba", 0x100407, 0x000001D + +gUnk_08100424:: @ 08100424 + .incbin "baserom.gba", 0x100424, 0x0000048 + +gUnk_0810046C:: @ 0810046C + .incbin "baserom.gba", 0x10046C, 0x0000048 + +gUnk_081004B4:: @ 081004B4 + .incbin "baserom.gba", 0x1004B4, 0x0000018 + +gUnk_081004CC:: @ 081004CC + .incbin "baserom.gba", 0x1004CC, 0x0000024 + +gUnk_081004F0:: @ 081004F0 + .incbin "baserom.gba", 0x1004F0, 0x0000008 + +gUnk_081004F8:: @ 081004F8 + .incbin "baserom.gba", 0x1004F8, 0x0000002 + +gUnk_081004FA:: @ 081004FA + .incbin "baserom.gba", 0x1004FA, 0x0000004 + +gUnk_081004FE:: @ 081004FE + .incbin "baserom.gba", 0x1004FE, 0x0000012 + +gUnk_08100510:: @ 08100510 + .incbin "baserom.gba", 0x100510, 0x0000001 + +gUnk_08100511:: @ 08100511 + .incbin "baserom.gba", 0x100511, 0x0000003 + +gUnk_08100514:: @ 08100514 + .incbin "baserom.gba", 0x100514, 0x000000C + +gUnk_08100520:: @ 08100520 + .incbin "baserom.gba", 0x100520, 0x0000021 + +gUnk_08100541:: @ 08100541 + .incbin "baserom.gba", 0x100541, 0x000000F + +gUnk_08100550:: @ 08100550 + .incbin "baserom.gba", 0x100550, 0x0000030 + +gUnk_08100580:: @ 08100580 + .incbin "baserom.gba", 0x100580, 0x0000030 + +gUnk_081005B0:: @ 081005B0 + .incbin "baserom.gba", 0x1005B0, 0x0000030 + +gUnk_081005E0:: @ 081005E0 + .incbin "baserom.gba", 0x1005E0, 0x000001B + +gUnk_081005FB:: @ 081005FB + .incbin "baserom.gba", 0x1005FB, 0x0000004 + +gUnk_081005FF:: @ 081005FF + .incbin "baserom.gba", 0x1005FF, 0x0000001 + +gUnk_08100600:: @ 08100600 + .incbin "baserom.gba", 0x100600, 0x0000005 + +gUnk_08100605:: @ 08100605 + .incbin "baserom.gba", 0x100605, 0x0000001 + +gUnk_08100606:: @ 08100606 + .incbin "baserom.gba", 0x100606, 0x000000A + +gUnk_08100610:: @ 08100610 + .incbin "baserom.gba", 0x100610, 0x0000010 + +gUnk_08100620:: @ 08100620 + .incbin "baserom.gba", 0x100620, 0x0000020 + +gUnk_08100640:: @ 08100640 + .incbin "baserom.gba", 0x100640, 0x0000030 + +gUnk_08100670:: @ 08100670 + .incbin "baserom.gba", 0x100670, 0x0000011 + +gUnk_08100681:: @ 08100681 + .incbin "baserom.gba", 0x100681, 0x000001F + +gUnk_081006A0:: @ 081006A0 + .incbin "baserom.gba", 0x1006A0, 0x0000030 + +gUnk_081006D0:: @ 081006D0 + .incbin "baserom.gba", 0x1006D0, 0x0000030 + +gUnk_08100700:: @ 08100700 + .incbin "baserom.gba", 0x100700, 0x0000010 + +gUnk_08100710:: @ 08100710 + .incbin "baserom.gba", 0x100710, 0x0000010 + +gUnk_08100720:: @ 08100720 + .incbin "baserom.gba", 0x100720, 0x0000010 + +gUnk_08100730:: @ 08100730 + .incbin "baserom.gba", 0x100730, 0x0000010 + +gUnk_08100740:: @ 08100740 + .incbin "baserom.gba", 0x100740, 0x0000010 + +gUnk_08100750:: @ 08100750 + .incbin "baserom.gba", 0x100750, 0x0000010 + +gUnk_08100760:: @ 08100760 + .incbin "baserom.gba", 0x100760, 0x0000020 + +gUnk_08100780:: @ 08100780 + .incbin "baserom.gba", 0x100780, 0x0000001 + +gUnk_08100781:: @ 08100781 + .incbin "baserom.gba", 0x100781, 0x000000F + +gUnk_08100790:: @ 08100790 + .incbin "baserom.gba", 0x100790, 0x0000030 + +gUnk_081007C0:: @ 081007C0 + .incbin "baserom.gba", 0x1007C0, 0x0000020 + +gUnk_081007E0:: @ 081007E0 + .incbin "baserom.gba", 0x1007E0, 0x0000010 + +gUnk_081007F0:: @ 081007F0 + .incbin "baserom.gba", 0x1007F0, 0x000000E + +gUnk_081007FE:: @ 081007FE + .incbin "baserom.gba", 0x1007FE, 0x0000001 + +gUnk_081007FF:: @ 081007FF + .incbin "baserom.gba", 0x1007FF, 0x0000001 + +gUnk_08100800:: @ 08100800 + .incbin "baserom.gba", 0x100800, 0x0000004 + +gUnk_08100804:: @ 08100804 + .incbin "baserom.gba", 0x100804, 0x0000005 + +gUnk_08100809:: @ 08100809 + .incbin "baserom.gba", 0x100809, 0x0000007 + +gUnk_08100810:: @ 08100810 + .incbin "baserom.gba", 0x100810, 0x0000003 + +gUnk_08100813:: @ 08100813 + .incbin "baserom.gba", 0x100813, 0x000000D + +gUnk_08100820:: @ 08100820 + .incbin "baserom.gba", 0x100820, 0x0000021 + +gUnk_08100841:: @ 08100841 + .incbin "baserom.gba", 0x100841, 0x000000F + +gUnk_08100850:: @ 08100850 + .incbin "baserom.gba", 0x100850, 0x0000030 + +gUnk_08100880:: @ 08100880 + .incbin "baserom.gba", 0x100880, 0x0000001 + +gUnk_08100881:: @ 08100881 + .incbin "baserom.gba", 0x100881, 0x000002F + +gUnk_081008B0:: @ 081008B0 + .incbin "baserom.gba", 0x1008B0, 0x0000030 + +gUnk_081008E0:: @ 081008E0 + .incbin "baserom.gba", 0x1008E0, 0x0000023 + +gUnk_08100903:: @ 08100903 + .incbin "baserom.gba", 0x100903, 0x0000001 + +gUnk_08100904:: @ 08100904 + .incbin "baserom.gba", 0x100904, 0x000000C + +gUnk_08100910:: @ 08100910 + .incbin "baserom.gba", 0x100910, 0x0000030 + +gUnk_08100940:: @ 08100940 + .incbin "baserom.gba", 0x100940, 0x0000030 + +gUnk_08100970:: @ 08100970 + .incbin "baserom.gba", 0x100970, 0x000003C + +gUnk_081009AC:: @ 081009AC + .incbin "baserom.gba", 0x1009AC, 0x000000C + +gUnk_081009B8:: @ 081009B8 + .incbin "baserom.gba", 0x1009B8, 0x000000C + +gUnk_081009C4:: @ 081009C4 + .incbin "baserom.gba", 0x1009C4, 0x000000C + +gUnk_081009D0:: @ 081009D0 + .incbin "baserom.gba", 0x1009D0, 0x0000009 + +gUnk_081009D9:: @ 081009D9 + .incbin "baserom.gba", 0x1009D9, 0x0000003 + +gUnk_081009DC:: @ 081009DC + .incbin "baserom.gba", 0x1009DC, 0x000000C + +gUnk_081009E8:: @ 081009E8 + .incbin "baserom.gba", 0x1009E8, 0x0000005 + +gUnk_081009ED:: @ 081009ED + .incbin "baserom.gba", 0x1009ED, 0x0000007 + +gUnk_081009F4:: @ 081009F4 + .incbin "baserom.gba", 0x1009F4, 0x000000C + +gUnk_08100A00:: @ 08100A00 + .incbin "baserom.gba", 0x100A00, 0x0000006 + +gUnk_08100A06:: @ 08100A06 + .incbin "baserom.gba", 0x100A06, 0x0000004 + +gUnk_08100A0A:: @ 08100A0A + .incbin "baserom.gba", 0x100A0A, 0x0000002 + +gUnk_08100A0C:: @ 08100A0C + .incbin "baserom.gba", 0x100A0C, 0x0000005 + +gUnk_08100A11:: @ 08100A11 + .incbin "baserom.gba", 0x100A11, 0x000001F + +gUnk_08100A30:: @ 08100A30 + .incbin "baserom.gba", 0x100A30, 0x0000054 + +gUnk_08100A84:: @ 08100A84 + .incbin "baserom.gba", 0x100A84, 0x000000C + +gUnk_08100A90:: @ 08100A90 + .incbin "baserom.gba", 0x100A90, 0x000000C + +gUnk_08100A9C:: @ 08100A9C + .incbin "baserom.gba", 0x100A9C, 0x000000C + +gUnk_08100AA8:: @ 08100AA8 + .incbin "baserom.gba", 0x100AA8, 0x000005F + +gUnk_08100B07:: @ 08100B07 + .incbin "baserom.gba", 0x100B07, 0x0000009 + +gUnk_08100B10:: @ 08100B10 + .incbin "baserom.gba", 0x100B10, 0x0000004 + +gUnk_08100B14:: @ 08100B14 + .incbin "baserom.gba", 0x100B14, 0x00000DC + +gUnk_08100BF0:: @ 08100BF0 + .incbin "baserom.gba", 0x100BF0, 0x000000D + +gUnk_08100BFD:: @ 08100BFD + .incbin "baserom.gba", 0x100BFD, 0x0000004 + +gUnk_08100C01:: @ 08100C01 + .incbin "baserom.gba", 0x100C01, 0x0000001 + +gUnk_08100C02:: @ 08100C02 + .incbin "baserom.gba", 0x100C02, 0x000007F + +gUnk_08100C81:: @ 08100C81 + .incbin "baserom.gba", 0x100C81, 0x000003B diff --git a/data/data_08107BC8.s b/data/data_08107BC8.s index 699c41d5..599388bd 100755 --- a/data/data_08107BC8.s +++ b/data/data_08107BC8.s @@ -4,15 +4,6 @@ .section .rodata .align 2 -gUnk_08107BC8:: @ 08107BC8 - .incbin "baserom.gba", 0x107BC8, 0x0000018 - -gUnk_08107BE0:: @ 08107BE0 - .incbin "baserom.gba", 0x107BE0, 0x0000014 - -gUnk_08107BF4:: @ 08107BF4 - .incbin "baserom.gba", 0x107BF4, 0x0000018 - gUnk_08107C0C:: @ 08107C0C .incbin "baserom.gba", 0x107C0C, 0x0000003 diff --git a/data/data_0811E454.s b/data/data_0811E454.s index 520aaa25..e1d26604 100755 --- a/data/data_0811E454.s +++ b/data/data_0811E454.s @@ -4,30 +4,6 @@ .section .rodata .align 2 -gUnk_0811E454:: @ 0811E454 - .incbin "baserom.gba", 0x11E454, 0x000001C - -gUnk_0811E470:: @ 0811E470 - .incbin "baserom.gba", 0x11E470, 0x0000008 - -gUnk_0811E478:: @ 0811E478 - .incbin "baserom.gba", 0x11E478, 0x000000C - -gUnk_0811E484:: @ 0811E484 - .incbin "baserom.gba", 0x11E484, 0x0000020 - -gUnk_0811E4A4:: @ 0811E4A4 - .incbin "baserom.gba", 0x11E4A4, 0x0000008 - -gUnk_0811E4AC:: @ 0811E4AC - .incbin "baserom.gba", 0x11E4AC, 0x0000001 - -gUnk_0811E4AD:: @ 0811E4AD - .incbin "baserom.gba", 0x11E4AD, 0x0000007 - -gUnk_0811E4B4:: @ 0811E4B4 - .incbin "baserom.gba", 0x11E4B4, 0x0000008 - gUnk_0811E4BC:: @ 0811E4BC .incbin "baserom.gba", 0x11E4BC, 0x0000054 diff --git a/include/fileScreen.h b/include/fileScreen.h new file mode 100644 index 00000000..ffc99996 --- /dev/null +++ b/include/fileScreen.h @@ -0,0 +1,77 @@ +#ifndef FILESELECT_H +#define FILESELECT_H + +#include "global.h" +#include "functions.h" +#include "main.h" +#include "player.h" +#include "readKeyInput.h" +#include "screen.h" +#include "menu.h" +#include "save.h" + +typedef struct { + u8 filler0[0x5]; + u8 state; + u8 subState; + u16 timer; + u8 fillerA[0x26]; +} ChooseFileState; + +// TODO: This occupies the same memory region as gMenu +extern ChooseFileState gChooseFileState; + +typedef struct { + u8 filler0[0x1]; + u8 unk1; + u8 charColor; + u8 bgColor; + u16 unk4; + u16 unk6; + u8* unk8; +} struct_02036540; + +typedef struct { + u8 filler0[0x10]; + u16 unk10; + u8 filler12[0x6]; +} struct_080FC844; + +typedef struct { + u8 filler0[0x4]; +} struct_020227E8; + +extern struct_020227E8 gUnk_020227E8; + +extern SaveFile gSaveFiles[]; +extern u32 gUsedPalettes; +extern u8 gUnk_02000D00[]; + +struct OAMCommand { + u16 x; + u16 y; + u16 _4; + u16 _6; + u16 _8; +} extern gUnk_03001010; + +extern void sub_08056FEC(u32, struct_020227E8*); +extern void sub_0805F46C(u32, struct_080FC844*); +extern void sub_0801C4A0(u32, u32); +extern void sub_08080668(void); +extern void sub_0805194C(u32); +extern void LoadPalettes(const u8*, int, int); +extern struct_02036540* sub_0805F2C8(void); +extern void sub_0805F7DC(u32, struct_02036540*); +extern void sub_0805F300(struct_02036540*); +extern void sub_08050A64(u32); +extern void sub_08050AFC(u32); + +extern const struct_080FC844 gUnk_080FC844; +extern const u16 gUnk_080FC85C[][3]; +extern void (*const gUnk_080FC908[])(void); +extern const u16 gUnk_080FC8DE[]; +extern const u8 gGlobalGfxAndPalettes[]; +extern void (*const gUnk_080FC93C[])(); + +#endif \ No newline at end of file diff --git a/include/functions.h b/include/functions.h index e4a00199..4f77c1cf 100644 --- a/include/functions.h +++ b/include/functions.h @@ -65,12 +65,6 @@ extern u32 IsItemEquipped(u32); extern void DeleteManager(Manager*); extern bool32 CheckPlayerInRegion(u32 centerX, u32 centerY, u32 radiusX, u32 radiusY); extern u32 CheckIsDungeon(); -extern void HandleIntroScreen(void); -extern void HandleChooseFileScreen(void); -extern void HandleGameplayScreen(void); -extern void HandleGameOverScreen(void); -extern void HandleCreditsScreen(void); -extern void HandleDebugTextScreen(void); extern u32 GetTileTypeByEntity(Entity*); // Unidentified @@ -136,7 +130,7 @@ extern s32 sub_0807887C(Entity*, u32, u32); extern s32 sub_08078904(); extern void sub_0805E5A8(void); extern void sub_0805E5C0(void); -extern void sub_080AD90C(void); +extern void FlushSprites(void); extern void sub_080AD9B0(void); extern void sub_080AD918(void); extern void sub_0801E104(void); @@ -190,7 +184,7 @@ extern void sub_0804F578(void); extern void sub_08059994(void); extern s32 sub_0801CFA8(u32); extern void sub_080A3210(void); -extern void sub_080ADA14(u32, u32); +extern void sub_080ADA14(u32, u32); // trampoline to sub_080B27F4 extern void sub_0801E1B8(u32, u32); extern void sub_0801E1EC(s32, s32, s32); extern void sub_08050008(void); @@ -203,7 +197,6 @@ extern u32 sub_080A4494(void); extern void sub_080A4528(void); extern void sub_080A4398(void); extern void sub_0801E738(u32); -extern void sub_080A70AC(const void*); extern void sub_080A7114(u32); extern void sub_08001324(Entity*); extern void sub_08001242(Entity*); @@ -219,7 +212,7 @@ extern void sub_0807A108(void); extern void sub_0801766C(Entity*); extern void sub_08004168(Entity*); extern u32 sub_08052638(u32); -extern void sub_0805616C(void); +extern void InitDMA(void); extern u32 sub_0807CF08(u32, u8*); extern void sub_0807CF48(u32); extern u32 sub_0807CF10(u8*); @@ -227,12 +220,11 @@ extern void sub_08056208(void); extern void sub_08050384(); extern void sub_080B1520(u32); extern struct_0807D1C4* sub_0807D1C4(u32); -extern u32 sub_0807D24C(u32, char*, u32); +extern u32 sub_0807D24C(u32, const char*, u32); extern void sub_0807CF68(u32); -extern void sub_0807D20C(u32, char*, u32); +extern void sub_0807D20C(u32, const char*, u32); extern u32 sub_0807CF88(u32, u8*); -extern u32 sub_0807D008(u32, void*); -extern void sub_0807D184(u32, char*); +extern void sub_0807D184(u32, const char*); extern u32 sub_0806F520(); extern void sub_0806F4E8(Entity*); extern u32 sub_0806F3E4(Entity*); @@ -323,7 +315,7 @@ extern void sub_08008790(Entity*, u32); extern void sub_0804ACF8(); extern void sub_08073904(Entity*); extern u32 sub_08056134(void); -extern u32 sub_0807CF30(void*); +extern u32 sub_0807CF30(SaveFile*); extern void sub_08004484(Entity*, Entity*); extern void sub_080564C8(u32); extern void sub_08056F70(void); diff --git a/include/main.h b/include/main.h index 71d6fbd0..767b9441 100644 --- a/include/main.h +++ b/include/main.h @@ -13,6 +13,26 @@ typedef struct { // 0x03001000 u8 field_0xb; u32 spritePriority; } MainStruct; +#define SIGNATURE 'MCZ3' +#define MAX_MSG_SPEED 3 +#define NUM_SAVE_SLOTS 3 +#define MAX_BRIGHTNESS 3 + +typedef enum { + LANGUAGE_JP, + LANGUAGE_EN, + LANGUAGE_FR, + LANGUAGE_DE, + LANGUAGE_ES, + LANGUAGE_IT, + NUM_LANGUAGES, +} Language; + +#ifdef ENGLISH +#define GAME_LANGUAGE LANGUAGE_EN +#else +#define GAME_LANGUAGE LANGUAGE_JP +#endif enum { SCREEN_INTRO, @@ -23,13 +43,6 @@ enum { SCREEN_DEBUG_TEXT, }; -#define GAME_LANGUAGE GAME_LANGUAGE_EN -#define SIGNATURE 'MCZ3' -#define GAME_LANGUAGE_EN 1 -#define MAX_MSG_SPEED 3 -#define MAX_SAVE_FILES 3 -#define MAX_BRIGHTNESS 3 - typedef struct { u8 interruptFlag; u8 field_0x1; @@ -47,7 +60,7 @@ typedef struct { typedef struct { /*0x00*/ u16 nextToLoad; - /*0x02*/ u8 transitionType; + /*0x02*/ u8 lastState; /*0x03*/ u8 field_0x3; /*0x04*/ u8 state; /*0x05*/ u8 field_0x5; @@ -62,7 +75,7 @@ static_assert(sizeof(UI) == 0x3b4); extern Main gUnk_03001000; extern UI gUnk_02032EC0; -extern void sub_080A3204(void); +extern void InitSound(void); extern void sub_0807CE90(void); extern void sub_080560B8(void); extern void sub_08056208(void); @@ -76,9 +89,19 @@ extern void ReadKeyInput(void); extern void DoSoftReset(void); extern void sub_08056260(void); extern void VBlankIntrWait(); -extern s32 _call_via_r0(s32); extern void sub_08056458(void); extern void sub_08050154(void); extern void sub_080A3480(void); +extern u8 gUnk_03003DE4; + +extern void sub_0804FF84(u32); +extern u16 gPaletteBuffer[]; +extern void VBlankInterruptWait(void); +extern void DisableInterruptsAndDMA(void); +extern void sub_08016B34(void); + +static void sub_08055F70(void); +static bool32 SoftResetKeysPressed(void); + #endif diff --git a/include/menu.h b/include/menu.h index 1203978e..7d8c2abd 100644 --- a/include/menu.h +++ b/include/menu.h @@ -17,9 +17,30 @@ typedef struct { u32 filler3[3]; } MenuControls; +typedef struct { + u8 key; + u8 value; +} KeySetting; + +typedef struct { + u8 aButtonX; + u8 aButtonY; + u8 aButtonText; + u8 bButtonX; + u8 bButtonY; + u8 bButtonText; + u8 rButtonX; + u8 rButtonY; + u8 rButtonText; + KeySetting settingDict[0]; + u8 eof; +} PACKED KeyButtonLayout; + +extern void sub_080A70AC(const KeyButtonLayout*); + typedef struct { u8 field_0x0; - u8 field_0x1; + u8 column_idx; u8 field_0x2; u8 field_0x3; u8 field_0x4; diff --git a/include/object.h b/include/object.h index b407ebb2..d0bdcea8 100644 --- a/include/object.h +++ b/include/object.h @@ -76,7 +76,7 @@ extern void Object44(Entity*); extern void Object45(Entity*); extern void GiantBookLadder(Entity*); extern void HeartContainer(Entity*); -extern void Object48(Entity*); +extern void FileScreenObjects(Entity*); extern void Object49(Entity*); extern void BackgroundCloud(Entity*); extern void Object4B(Entity*); diff --git a/include/save.h b/include/save.h new file mode 100644 index 00000000..bb044997 --- /dev/null +++ b/include/save.h @@ -0,0 +1,24 @@ +#ifndef SAVE_H +#define SAVE_H + +#include "global.h" +#include "entity.h" +#include "functions.h" +#include "menu.h" +#include "structures.h" + +typedef enum { + SAVE_BUSY = 0, + SAVE_OK = 1, + SAVE_ERROR = 0xFFFFFFFF, +} SaveResult; + +typedef enum { + SAVE_INIT, + SAVE_IN_PROGRESS, + SAVE_DONE, +} SaveState; + +extern u32 sub_0807CDA4(SaveState state); + +#endif \ No newline at end of file diff --git a/include/structures.h b/include/structures.h index fecc4af0..0e7f202b 100644 --- a/include/structures.h +++ b/include/structures.h @@ -114,14 +114,15 @@ typedef struct { } ScreenTransitionData; typedef struct { - /*0x00*/ u8 unk0; + /*0x00*/ u8 isTransitioning; /*0x01*/ u8 unk1; /*0x02*/ u8 unk2; /*0x03*/ u8 unk3; /*0x04*/ u8 filler4[0x2]; /*0x06*/ u8 unk6; /*0x07*/ u8 unk7; - /*0x08*/ s8 unk8[0xE20]; + /*0x08*/ s8 saveStatus[3]; + /*0x0b*/ u8 unkB[0xE1D]; } struct_02019EE0; extern struct_02019EE0 gUnk_02019EE0; @@ -147,9 +148,9 @@ extern struct_03000FD0 gFadeControl; typedef struct { u8 filler0[0x1A]; - u16 unk1A; + u16 rButtonX; u8 filler1C[0x4]; - u16 unk20; + u16 rButtonY; u8 filler22[0x2]; u8 ezloNagFuncIndex; u8 filler25[0x30F]; @@ -200,6 +201,7 @@ typedef struct { } BGBuffer; extern BGBuffer gBG0Buffer; extern BGBuffer gBG1Buffer; +extern BGBuffer gBG2Buffer; static_assert(sizeof(BGBuffer) == 0x800); /* diff --git a/include/textbox.h b/include/textbox.h index 8089e3bc..4b0333a5 100644 --- a/include/textbox.h +++ b/include/textbox.h @@ -19,10 +19,46 @@ typedef struct { u16 field_0xe; u32 field_0x10; } TextBox; - extern TextBox gTextBox; -void TextboxNoOverlap(u32 index, Entity* ent); +typedef struct { + u8 _0; + u8 _1; + u8 _2; + u8 _3[5]; + u16 _8; + u8 _b[0x16]; + u8 _20; + u8 _21; + u8 _22[0xa]; + void* _2c; + u8 _30[0x23]; + u8 _53; + u16 _54; + u8 _56[0x2]; + void* _58; + u8 _5c; + u8 _5d; + u8 _5e[24]; + u8 _76; + u8 _77[0x11]; + u8 _88; + u8 _89; + u8 _8a; + u8 _8b[0xe]; + u8 _99; + u8 _9a; + u8 _9b; + u8 _9c; + u8 _9d; + u8 _9e[0xa]; +} struct_02022780; +extern struct_02022780 gUnk_02022780; +static_assert(sizeof(struct_02022780) == 0xa8); + +void ShowTextbox(u32 index); +void TextboxAtPosition(u32 index, u32 x, u32 y); +void TextboxNoOverlap(u32 index, Entity* ent); +void TextboxNoOverlapFollow(u32 index); -extern void TextboxNoOverlapFollow(u32 index); #endif diff --git a/linker.ld b/linker.ld index f904239b..74df0a87 100644 --- a/linker.ld +++ b/linker.ld @@ -87,7 +87,11 @@ SECTIONS { . = 0x00022740; gUnk_02022740 = .; . = 0x00022750; gUnk_02022750 = .; . = 0x00022780; gUnk_02022780 = .; + . = 0x000227DC; gUnk_020227DC = .; . = 0x000227E8; gUnk_020227E8 = .; + . = 0x000227F0; gUnk_020227F0 = .; + . = 0x000227F8; gUnk_020227F8 = .; + . = 0x00022800; gUnk_02022800 = .; . = 0x0002281E; gUnk_0202281E = .; . = 0x00022830; gUnk_02022830 = .; . = 0x00024030; gUnk_02024030 = .; @@ -124,7 +128,7 @@ SECTIONS { . = 0x00034490; gUnk_02034490 = .; . = 0x00034492; gUnk_02034492 = .; . = 0x000344A0; gUnk_020344A0 = .; - . = 0x000344B0; gUnk_020344B0 = .; + . = 0x000344B0; gBG2Buffer = .; . = 0x000344F0; gUnk_020344F0 = .; . = 0x00034CB0; gBG0Buffer = .; . = 0x00034CB2; gUnk_02034CB2 = .; @@ -452,8 +456,8 @@ SECTIONS { src/sub_08050008.o(.text); src/sub_08050024.o(.text); asm/code_08050038.o(.text); - src/chooseFile.o(.text); - asm/chooseFile.o(.text); + src/fileScreen.o(.text); + asm/fileScreen.o(.text); asm/sub_08052418.o(.text); src/initializePlayer.o(.text); src/area.o(.text); @@ -671,7 +675,7 @@ SECTIONS { asm/getInventoryValue.o(.text); asm/code_0807CAA0.o(.text); src/flags.o(.text); - src/code_0807CC3C.o(.text); + src/save.o(.text); asm/code_0807CC3C.o(.text); src/executeScriptCommandSet.o(.text); asm/code_0807F0D8.o(.text); @@ -755,7 +759,7 @@ SECTIONS { asm/object45.o(.text); asm/giantBookLadder.o(.text); src/object/heartContainer.o(.text); - src/object/object48.o(.text); + src/object/fileScreenObjects.o(.text); src/object/object49.o(.text); src/object/backgroundCloud.o(.text); asm/object4B.o(.text); @@ -992,20 +996,23 @@ SECTIONS { data/data_080D3D94.o(.rodata); data/entity_headers.o(.rodata); data/data_080D5360.o(.rodata); + src/fileScreen.o(.rodata); + data/data_080FC8A4.o(.rodata); src/main.o(.rodata); data/tileset_headers.o(.rodata); data/metatile_headers.o(.rodata); data/map_headers.o(.rodata); + src/textbox.o(.rodata); data/data_08107BC8.o(.rodata); src/manager/manager5.o(.rodata); src/manager/manager7.o(.rodata); . = ALIGN(4); - src/manager/manager9.o(.rodata); - src/manager/managerA.o(.rodata); + src/manager/manager9.o(.rodata); + src/manager/managerA.o(.rodata); src/manager/managerB.o(.rodata); src/manager/managerC.o(.rodata); data/data_08108308.o(.rodata); - src/manager/manager1E.o(.rodata); + src/manager/manager1E.o(.rodata); data/data_08108C94.o(.rodata); src/manager/manager26.o(.rodata); src/manager/manager27.o(.rodata); @@ -1014,8 +1021,9 @@ SECTIONS { src/item.o(.rodata); data/data_0811BD44.o(.rodata); data/room_headers.o(.rodata); + src/save.o(.rodata); data/data_0811E454.o(.rodata); - src/executeScriptCommandSet.o(.rodata); + src/executeScriptCommandSet.o(.rodata); data/data_0811E750.o(.rodata); src/object/greatFairy.o(.rodata); data/animations/greatFairy.o(.rodata); diff --git a/src/chooseFile.c b/src/chooseFile.c deleted file mode 100644 index e20247f1..00000000 --- a/src/chooseFile.c +++ /dev/null @@ -1,557 +0,0 @@ -#include "global.h" -#include "functions.h" -#include "main.h" -#include "player.h" -#include "readKeyInput.h" -#include "screen.h" - -typedef struct { - u8 filler0[0x5]; - u8 state; - u8 subState; - u16 timer; - u8 fillerA[0x26]; -} ChooseFileState; - -// TODO: This occupies the same memory region as gMenu -extern ChooseFileState gChooseFileState; - -typedef struct { - u8 filler0[0x1]; - u8 unk1; - u8 unk2; - u8 unk3; - u16 unk4; - u16 unk6; - u8* unk8; -} struct_02036540; - -typedef struct { - u8 filler0[0x10]; - u16 unk10; - u8 filler12[0x6]; -} struct_080FC844; - -typedef struct { - u8 filler0[0x4]; -} struct_020227E8; - -extern struct_020227E8 gUnk_020227E8; - -extern SaveFile gSaveFiles[]; -extern u32 gUsedPalettes; -extern u8 gUnk_02000D00[]; -extern u16 gUnk_03001010[5]; - -static void sub_08050624(u32); -static void sub_0805066C(void); -static void sub_080507FC(void); - -extern void sub_08056FEC(u32, struct_020227E8*); -extern void sub_0805F46C(u32, struct_080FC844*); -extern void sub_0801C4A0(u32, u32); -extern void sub_08080668(void); -extern void sub_0805194C(u32); -extern void LoadPalettes(const u8*, int, int); -extern struct_02036540* sub_0805F2C8(void); -extern void sub_0805F7DC(u32, struct_02036540*); -extern void sub_0805F300(struct_02036540*); -extern void sub_08050A64(u32); -extern void sub_08050AFC(u32); - -extern const struct_080FC844 gUnk_080FC844; -extern const u16 gUnk_080FC85C[][3]; -extern void (*const gUnk_080FC8A4[])(void); -extern void (*const gUnk_080FC8B0[])(void); -extern void (*const gUnk_080FC8FC[])(void); -extern void (*const gUnk_080FC908[])(void); -extern const u8 gUnk_080FC8D0[]; -extern const u16 gUnk_080FC8DE[]; -extern const u8 gGlobalGfxAndPalettes[]; - -void sub_08050318(u32 arg0, u32 arg1) { - u32 sfx; - struct_080FC844 var0; - - sub_08050384(); - _DmaCopy(&gUnk_080FC844, &var0, sizeof(gUnk_080FC844)); - sub_08056FEC(arg1, &gUnk_020227E8); - var0.unk10 |= gUnk_080FC85C[arg0][0] << 0xC; - sub_0805F46C(gUnk_080FC85C[arg0][1], &var0); - sfx = gUnk_080FC85C[arg0][2]; - if (sfx) { - PlaySFX(sfx); - } - gScreen.bg.bg3Control = 1; -} - -void sub_08050384(void) { - sub_0801C4A0(0, 0); - _DmaZero(&gBG0Buffer, sizeof(gBG0Buffer)); - gScreen.bg.bg3Control = 1; -} - -void sub_080503A8(u32 gfxGroup) { - LoadGfxGroup(gfxGroup); - gScreen.bg.bg2yOffset = 1; - gScreen.affine.unk = 1; -} - -void sub_080503BC(u8 state) { - gUnk_02032EC0.state = state; - _DmaZero(&gBG0Buffer, sizeof(gBG0Buffer)); - _DmaZero(&gBG1Buffer, sizeof(gBG1Buffer)); -} - -void sub_080503E4(u32 saveFileId) { - u8 messageSpeed; - u8 brightnessPref; - - if (saveFileId > 2) { - messageSpeed = 1; - brightnessPref = 1; - } else { - SaveFile* saveFile = &gSaveFiles[saveFileId]; - messageSpeed = saveFile->messageSpeed; - brightnessPref = saveFile->brightnessPref; - } - - ((struct_02000000*)0x2000000)->messageSpeed = messageSpeed; - ((struct_02000000*)0x2000000)->brightnessPref = brightnessPref; - gUsedPalettes = 0xFFFFFFFF; -} - -void sub_0805041C(u32 saveFileId) { - SaveFile* saveFile; - - if (saveFileId < 3) { - ((struct_02000000*)0x2000000)->saveFileId = saveFileId; - saveFile = &gSaveFiles[saveFileId]; - _DmaCopy(saveFile, &gUnk_02002A40, sizeof(*saveFile)); - } - sub_080503E4(saveFileId); -} - -void HandleChooseFileScreen(void) { - sub_080AD90C(); - gUnk_080FC8A4[gUnk_03001000.funcIndex](); - if (gUnk_02032EC0.transitionType != gUnk_02032EC0.state) { - gUnk_02032EC0.transitionType = gUnk_02032EC0.state; - gScreen.bg.bg1Control = 0; - gScreen.bg.bg2Control = 0; - gScreen.bg.bg1yOffset = 0; - gScreen.bg.bg2xOffset = 0; - gScreen.affine.bg2xOffset = 0; - gScreen.affine.bg2yOffset = 0; - _DmaZero(&gChooseFileState, sizeof(gChooseFileState)); - } - - sub_080507FC(); - gUnk_080FC8B0[gUnk_02032EC0.transitionType](); - gUnk_02019EE0.unk0 = 0; - sub_0805E5C0(); - sub_0805066C(); - sub_0801C1D4(); - sub_0801C208(); - sub_080AD9B0(); - sub_080AD918(); - if (gUnk_02019EE0.unk3 != ((struct_02000000*)0x2000000)->gameLanguage) { - gUnk_02019EE0.unk3 = ((struct_02000000*)0x2000000)->gameLanguage; - sub_080503A8(0x6); - sub_080503A8(0xF); - } -} - -void sub_080504F4(void) { - u32 i; - - sub_0801DA90(1); - sub_080A3210(); - _DmaZero((void*)VRAM, 0x80); - sub_08056418(); - EraseAllEntities(); - sub_08080668(); - sub_080ADD30(); - sub_0801CFA8(0); - _DmaZero(&gUnk_0200AF00, sizeof(gUnk_0200AF00)); - _DmaZero(&gUnk_02019EE0, sizeof(gUnk_02019EE0)); - gUnk_02019EE0.unk3 = 7; - gUnk_02019EE0.unk6 = ((struct_02000000*)0x2000000)->gameLanguage > 1 ? 3 : 0; - _DmaZero(&gUnk_02032EC0, sizeof(gUnk_02032EC0)); - gUnk_02032EC0.transitionType = 8; - sub_080503BC(0); - sub_0805616C(); - sub_08050624(0); - sub_08050624(1); - sub_08050624(2); - sub_08056208(); - sub_080503A8(0x5); - LoadPaletteGroup(0x9); - for (i = 0; i < 26; i++) { - CreateObject(0x48, i, 0); - } - - sub_080A70AC(gUnk_080FC8D0); - sub_080507FC(); - gScreen.lcd.displayControl |= 0x1F00; - gScreen.affine.bg3Control = 0x1E0B; - gScreen.controls.layerFXControl = 0x844; - gScreen.controls.alphaBlend = BLDALPHA_BLEND(15, 10); - gUnk_02024490.unk0 = 1; - gUnk_03001000.funcIndex = 1; - PlaySFX(0x7); - DoFade(4, 8); -} - -void nullsub_479(void) { -} - -void sub_0805060C(void) { - if (!gFadeControl.active) { - InitScreen(SCREEN_GAMEPLAY); - } -} - -static void sub_08050624(u32 saveFileId) { - SaveFile* saveFile = &gSaveFiles[saveFileId]; - int var0 = sub_0807CF28(saveFileId, saveFile); - switch (var0) { - case -1: - sub_0807CF48(saveFileId); - // fallthrough - case 0: - sub_0805194C(saveFileId); - break; - } - gUnk_02019EE0.unk8[saveFileId] = var0; -} - -static void sub_0805066C(void) { - u32 loadNewPalette; - const u8* paletteOffset; - - loadNewPalette = FALSE; - if (--gUnk_02019EE0.unk1 == 0) { - gUnk_02019EE0.unk1 = 16; - gUnk_02019EE0.unk2 = (gUnk_02019EE0.unk2 + 1) % 15; - loadNewPalette = TRUE; - } - - if (gUnk_02019EE0.unk2 == 0) { - gUnk_02019EE0.unk2 = 1; - gUnk_02019EE0.unk1 = (Random() & 0x7) * 16 + 8; - loadNewPalette = TRUE; - } - - if (loadNewPalette) { - paletteOffset = &gGlobalGfxAndPalettes[gUnk_080FC8DE[gUnk_02019EE0.unk2]]; - LoadPalettes(&paletteOffset[0x11AA0], 11, 1); - LoadPalettes(&paletteOffset[0x11BA0], 12, 1); - LoadPalettes(&paletteOffset[0x11CA0], 13, 1); - LoadPalettes(&paletteOffset[0x11DA0], 14, 1); - } -} - -void sub_0805070C(void) { - u32 i; - int j; - struct_02036540* var0; - u8* playerName; - - var0 = sub_0805F2C8(); - if (var0) { - var0->unk2 = 0; - var0->unk3 = 5; - var0->unk1 = 1; - var0->unk4 = 0x30; - var0->unk8 = gUnk_02000D00; - for (i = 0; i < 3; i++) { - var0->unk6 = 0; - _DmaZero(var0->unk8, 0x200); - playerName = gSaveFiles[i].playerName; - for (j = 0; j < 6; j++) { - sub_0805F7DC(playerName[j], var0); - } - _DmaCopy(var0->unk8, (void*)(OBJ_VRAM0 + 0x4000 + i * 0x200), 0x200); - } - sub_0805F300(var0); - } -} - -void sub_08050790(void) { - u32 i, j; - struct_02036540* var0; - u32 var1; - - var0 = sub_0805F2C8(); - if (var0) { - var0->unk2 = 0; - var0->unk3 = 5; - var0->unk1 = 1; - var0->unk4 = 0x80; - var0->unk8 = gUnk_02000D00; - for (i = 0; i < 16; i++) { - var0->unk6 = 0; - var1 = i * 16; - for (j = 0; j < 16; j++) { - sub_0805F7DC(var1, var0); - var1++; - } - _DmaCopy(gUnk_02000D00, (void*)(BG_VRAM + i * 0x400), 0x400); - } - sub_0805F300(var0); - } -} - -static void sub_080507FC(void) { - gUnk_0200AF00.unk1A = 0x140; - gUnk_0200AF00.unk20 = 0x24; -} - -void sub_08050810(void) { - gUnk_0200AF00.unk1A = 0xD0; - gUnk_0200AF00.unk20 = 0x24; -} - -void sub_08050820(void) { - gUnk_080FC8FC[gChooseFileState.state](); - sub_08050A64(gUnk_02019EE0.unk6); -} - -void sub_08050848(void) { - sub_080503A8(0x7); - sub_0805070C(); - gUnk_02019EE0.unk7 = 0; - sub_08050AFC(gUnk_02019EE0.unk6); - sub_080A7114(1); -} - -void sub_0805086C(void) { - gUnk_080FC908[gChooseFileState.subState](); -} - -void sub_08050888(void) { - if (!gFadeControl.active) { - switch (gUnk_02019EE0.unk8[gUnk_02019EE0.unk7]) { - case 0: - sub_0805194C(gUnk_02019EE0.unk7); - gChooseFileState.subState = 2; - break; - case 1: - gChooseFileState.subState = 2; - break; - default: - sub_0805194C(gUnk_02019EE0.unk7); - sub_08050318(0, gUnk_02019EE0.unk7 + 1); - gChooseFileState.timer = 30; - gChooseFileState.subState = 1; - break; - } - } -} - -void sub_080508E4(void) { - if (gChooseFileState.timer == 0) { - if (gUnk_03000FF0.newKeys & (A_BUTTON | START_BUTTON)) { - gChooseFileState.subState = 2; - } - } else { - gChooseFileState.timer--; - } -} - -void sub_08050910(void) { - sub_08050384(); - if (++gUnk_02019EE0.unk7 > 2) { - sub_080A7114(2); - } else { - gChooseFileState.subState = 0; - } -} - -void sub_08050940(void) { - int saveFileId; - u32 newKeys; - int var1; - u32 var2; - - if (gUnk_02019EE0.unk0) { - return; - } - - saveFileId = gUnk_02019EE0.unk6; - newKeys = gUnk_03000FF0.newKeys; - if ((gUnk_03000FF0.heldKeys & L_BUTTON) && gUnk_02019EE0.unk8[saveFileId] == 1) { - newKeys &= ~(DPAD_UP | DPAD_DOWN); - } - - var1 = ((struct_02000000*)0x2000000)->gameLanguage > 1 ? 4 : 3; - var2 = gUnk_02032EC0.transitionType; - switch (newKeys) { - case DPAD_UP: - if (saveFileId > 0) { - saveFileId--; - } - break; - case DPAD_DOWN: - if (var1 - 1 > saveFileId) { - saveFileId++; - } - break; - case R_BUTTON: - if (gUnk_02019EE0.unk8[saveFileId] == 1) { - var2 = 3; - } - break; - case A_BUTTON: - case START_BUTTON: - sub_0805041C(saveFileId); - if (saveFileId == 3) { - var2 = 2; - } else { - switch (gUnk_02019EE0.unk8[saveFileId]) { - case 0: - var2 = 1; - break; - case 1: - var2 = 4; - break; - } - } - break; - } - - if (gUnk_02032EC0.transitionType != var2) { - sub_080503BC(var2); - PlaySFX(0x6A); - } - - saveFileId = (saveFileId + var1) % var1; - if (gUnk_02019EE0.unk6 != saveFileId) { - gUnk_02019EE0.unk6 = saveFileId; - sub_08050AFC(saveFileId); - PlaySFX(0x69); - } - - if (gUnk_02019EE0.unk8[gUnk_02019EE0.unk6] == 1) { - sub_08050810(); - } -} - -void sub_08050A64(u32 saveFileId) { - if (gUnk_02019EE0.unk8[saveFileId] != 1) { - return; - } - - gUnk_03001010[2] = 0; - gUnk_03001010[3] = 0; - gUnk_03001010[4] = 0x400; - - // Draw the save file's obtained elements. - if (GetInventoryValue(0x40)) { - gUnk_03001010[0] = 0xA2; - gUnk_03001010[1] = 0x36; - sub_080ADA14(0x145, 0x24); - } - if (GetInventoryValue(0x41)) { - gUnk_03001010[0] = 0x96; - gUnk_03001010[1] = 0x3D; - sub_080ADA14(0x145, 0x22); - } - if (GetInventoryValue(0x42)) { - gUnk_03001010[0] = 0xAE; - gUnk_03001010[1] = 0x3D; - sub_080ADA14(0x145, 0x23); - } - if (GetInventoryValue(0x43)) { - gUnk_03001010[0] = 0xA2; - gUnk_03001010[1] = 0x44; - sub_080ADA14(0x145, 0x21); - } -} - -void sub_08050B3C(u16*); - -void sub_08050AFC(u32 saveFileId) { - sub_0805041C(saveFileId); - _DmaZero(&gBG1Buffer, sizeof(gBG1Buffer)); - if (gUnk_02019EE0.unk8[saveFileId] == 1) { - sub_08050B3C(&gBG1Buffer.unk29C); - } - gScreen.bg.bg2yOffset = 1; -} - -// typedef struct { -// u16* unk0; -// u32 unk4; -// } unk_08050B3C; - -// extern const u16 gUnk_080FC914[]; - -// void sub_08050B3C(u16* arg0) { -// unk_08050B3C sp; -// int var0; -// int var1; -// int var2; -// int var3; -// int var4; -// int var5; -// int var6; -// int var7; -// u16* var8; - -// sp.unk0 = arg0; -// var0 = gUnk_02002A40.stats.health * 2; -// if (var0 == 0) { -// var0 = 1; -// } - -// var1 = gUnk_02002A40.stats.maxHealth * 2; -// if (var1 == 0) { -// return; -// } - -// if (var0 > var1) { -// var0 = var1; -// } - -// sp.unk4 = var0 & 0x3; -// var2 = var0 >> 2; -// var5 = var2; -// if (var2 > 10) { -// var5 = 10; -// } - -// var6 = var2; -// var6 -= 10; -// var7 = var6; -// if (var6 < 0) { -// var7 = 0; -// } - -// var1 = var1 >> 2; -// var4 = var1; -// if (var1 > 10) { -// var1 = 10; -// } - -// var4 -= 10; -// sp.unk0[0] = 0xF24C; -// DmaCopy16(3, &gUnk_080FC914[10 - var5], &sp.unk0[1], var1 * 2); -// if (var4 > 0) { -// sp.unk0[0x20] = 0xF24C; -// DmaCopy16(3, &gUnk_080FC914[10 - var7], &sp.unk0[1], var4 * 2); -// } - -// if (!sp.unk4) { -// return; -// } - -// var8 = sp.unk0; -// if (var2 >= 10) { -// var2 = var6; -// var8 += 0x20; -// } - -// var8[var2 + 1] = sp.unk4 - 0xDB3; -// } diff --git a/src/code_0804AA84.c b/src/code_0804AA84.c index 11db91d7..aa46613c 100644 --- a/src/code_0804AA84.c +++ b/src/code_0804AA84.c @@ -47,7 +47,7 @@ void sub_0804AAD4(void) { void sub_0804AB04(void) { sub_0805E5C0(); if (gArea.field_0x10 != 0) { - sub_080AD90C(); + FlushSprites(); sub_080AD9B0(); sub_080AD918(); } diff --git a/src/code_0808091C.c b/src/code_0808091C.c index 74caf177..1916869c 100644 --- a/src/code_0808091C.c +++ b/src/code_0808091C.c @@ -39,7 +39,6 @@ void sub_08080910(void) { void sub_0808091C(ScreenTransitionData* param_1, u32 param_2) { DoExitTransition(param_1); gScreenTransition.transitionType = param_2; - return; } void sub_08080930(void) @@ -50,7 +49,6 @@ void sub_08080930(void) gRoomControls.unk2 = 2; gRoomControls.filler[0] = 0; sub_0805E5A8(); - return; } u32* GetLayerByIndex(u32 param_1) { @@ -65,7 +63,6 @@ u32* GetLayerByIndex(u32 param_1) { void sub_08080964(u32 time, u32 magnitude) { gRoomControls.screenShakeTime = time; gRoomControls.screenShakeMagnitude = magnitude & 7; - return; } void sub_08080974(u32 arg0, u32 arg1) { diff --git a/src/fileScreen.c b/src/fileScreen.c new file mode 100644 index 00000000..5e96d7e7 --- /dev/null +++ b/src/fileScreen.c @@ -0,0 +1,680 @@ +#include "fileScreen.h" + +// copy, erase, start +#define NUM_FILE_OPERATIONS 3 + +// todo: does this belong with gUnk_02019EE0? +typedef enum { + SAVE_EMPTY = 0, + SAVE_VALID = 1, + SAVE_DELETED = 0xFFFFFFFF, +} SaveStatus; + +typedef enum { + STATE_NONE, + STATE_NEW, + STATE_CHOOSE_LANG, + STATE_OPTIONS, + STATE_VIEW, + STATE_COPY, + STATE_ERASE, + STATE_START, +} FileSelectState; + +static void HandleFileScreenEnter(void); +static void HandleFileScreenActive(void); +static void HandleFileScreenExit(void); + +static void (*const sScreenHandlers[])(void) = { + HandleFileScreenEnter, + HandleFileScreenActive, + HandleFileScreenExit, +}; + +static void HandleFileSelect(void); +extern void HandleFileNew(void); +static void HandleFileLanguageSelect(void); +extern void HandleFileOptions(void); +static void HandleFileView(void); +extern void HandleFileCopy(void); +extern void HandleFileDelete(void); +extern void HandleFileStart(void); + +static void (*const sFileScreenSubHandlers[])(void) = { + HandleFileSelect, HandleFileNew, HandleFileLanguageSelect, HandleFileOptions, + HandleFileView, HandleFileCopy, HandleFileDelete, HandleFileStart, +}; + +extern KeyButtonLayout gUnk_080FC8D0; +// static const KeyButtonLayout gUnk_080FC8D0 = { +// 0xFF, 0xD8, 0x0, 0xFF, 0xD8, 0x0, 0xE0, 0x10, 0xF, {{0x5, 0x0}, { 0x2, 0x0 }}, 0xFF +// }; + +// main "file selection" screen +extern void (*const sFileSelectDefaultHandlers[])(void); + +// handles submenus +extern void (*const sFileScreenSubHandlers[])(void); + +extern void (*const gUnk_080FC944[])(void); + +static void sub_08050624(u32); +static void sub_0805066C(void); +static void HideButtonR(void); +static void ShowButtonR(void); + +void sub_08050318(u32 arg0, u32 arg1) { + u32 sfx; + struct_080FC844 var0; + + sub_08050384(); + _DmaCopy(&gUnk_080FC844, &var0, sizeof(gUnk_080FC844)); + sub_08056FEC(arg1, &gUnk_020227E8); + var0.unk10 |= gUnk_080FC85C[arg0][0] << 0xC; + sub_0805F46C(gUnk_080FC85C[arg0][1], &var0); + sfx = gUnk_080FC85C[arg0][2]; + if (sfx) { + PlaySFX(sfx); + } + gScreen.bg.bg3Control = BGCNT_PRIORITY(1); +} + +void sub_08050384(void) { + sub_0801C4A0(0, 0); + _DmaZero(&gBG0Buffer, sizeof(gBG0Buffer)); + gScreen.bg.bg3Control = BGCNT_PRIORITY(1); +} + +void sub_080503A8(u32 gfxGroup) { + LoadGfxGroup(gfxGroup); + gScreen.bg.bg2yOffset = 1; + gScreen.affine.unk = 1; +} + +void SetFileSelectState(FileSelectState mode) { + gUnk_02032EC0.state = mode; + _DmaZero(&gBG0Buffer, sizeof(gBG0Buffer)); + _DmaZero(&gBG1Buffer, sizeof(gBG1Buffer)); +} + +void LoadOptionsFromSave(u32 idx) { + u8 messageSpeed; + u8 brightnessPref; + + if (idx >= NUM_SAVE_SLOTS) { + // these apply to the language selection screen + messageSpeed = 1; + brightnessPref = 1; + } else { + SaveFile* saveFile = &gSaveFiles[idx]; + messageSpeed = saveFile->messageSpeed; + brightnessPref = saveFile->brightnessPref; + } + + gUnk_02000000->messageSpeed = messageSpeed; + gUnk_02000000->brightnessPref = brightnessPref; + gUsedPalettes = 0xFFFFFFFF; +} + +void SetActiveSave(u32 idx) { + if (idx < NUM_SAVE_SLOTS) { + gUnk_02000000->saveFileId = idx; + _DmaCopy(&gSaveFiles[idx], &gUnk_02002A40, sizeof(gSaveFiles[idx])); + } + LoadOptionsFromSave(idx); +} + +void HandleChooseFileScreen(void) { + FlushSprites(); + sScreenHandlers[gUnk_03001000.funcIndex](); + if (gUnk_02032EC0.lastState != gUnk_02032EC0.state) { + gUnk_02032EC0.lastState = gUnk_02032EC0.state; + gScreen.bg.bg1Control = 0; + gScreen.bg.bg2Control = 0; + gScreen.bg.bg1yOffset = 0; + gScreen.bg.bg2xOffset = 0; + gScreen.affine.bg2xOffset = 0; + gScreen.affine.bg2yOffset = 0; + _DmaZero(&gChooseFileState, sizeof(gChooseFileState)); + } + + HideButtonR(); + sFileScreenSubHandlers[gUnk_02032EC0.lastState](); + + gUnk_02019EE0.isTransitioning = FALSE; + sub_0805E5C0(); + sub_0805066C(); + sub_0801C1D4(); + sub_0801C208(); + sub_080AD9B0(); + sub_080AD918(); + if (gUnk_02019EE0.unk3 != gUnk_02000000->gameLanguage) { + gUnk_02019EE0.unk3 = gUnk_02000000->gameLanguage; + sub_080503A8(0x6); + sub_080503A8(0xF); + } +} + +static void HandleFileScreenEnter(void) { + u32 i; + + sub_0801DA90(1); + sub_080A3210(); + _DmaZero((void*)VRAM, 0x80); // clear palettes + sub_08056418(); + EraseAllEntities(); + sub_08080668(); + sub_080ADD30(); + sub_0801CFA8(0); + _DmaZero(&gUnk_0200AF00, sizeof(gUnk_0200AF00)); + _DmaZero(&gUnk_02019EE0, sizeof(gUnk_02019EE0)); + gUnk_02019EE0.unk3 = 7; + gUnk_02019EE0.unk6 = gUnk_02000000->gameLanguage > LANGUAGE_EN ? 3 : 0; + _DmaZero(&gUnk_02032EC0, sizeof(gUnk_02032EC0)); + gUnk_02032EC0.lastState = 8; + SetFileSelectState(STATE_NONE); + InitDMA(); + sub_08050624(0); + sub_08050624(1); + sub_08050624(2); + sub_08056208(); + sub_080503A8(0x5); + LoadPaletteGroup(0x9); + for (i = 0; i < 26; i++) { + CreateObject(0x48, i, 0); + } + + sub_080A70AC(&gUnk_080FC8D0); + HideButtonR(); + gScreen.lcd.displayControl |= DISPCNT_BG_ALL_ON | DISPCNT_OBJ_ON; + gScreen.affine.bg3Control = BGCNT_PRIORITY(3) | BGCNT_CHARBASE(2) | BGCNT_SCREENBASE(30); + gScreen.controls.layerFXControl = BLDCNT_TGT1_BG2 | BLDCNT_TGT2_BG3 | BLDCNT_EFFECT_BLEND; + gScreen.controls.alphaBlend = BLDALPHA_BLEND(15, 10); + gUnk_02024490.unk0 = 1; + gUnk_03001000.funcIndex = 1; + PlaySFX(0x7); + DoFade(4, 8); +} + +static void HandleFileScreenActive(void) { +} + +static void HandleFileScreenExit(void) { + if (!gFadeControl.active) { + InitScreen(SCREEN_GAMEPLAY); + } +} + +static void sub_08050624(u32 idx) { + SaveFile* saveFile = &gSaveFiles[idx]; + int status = sub_0807CF28(idx, saveFile); + switch (status) { + case SAVE_DELETED: + sub_0807CF48(idx); + // fallthrough + case SAVE_EMPTY: + sub_0805194C(idx); + break; + } + gUnk_02019EE0.saveStatus[idx] = status; +} + +static void sub_0805066C(void) { + u32 loadNewPalette; + const u8* paletteOffset; + + loadNewPalette = FALSE; + if (--gUnk_02019EE0.unk1 == 0) { + gUnk_02019EE0.unk1 = 16; + gUnk_02019EE0.unk2 = (gUnk_02019EE0.unk2 + 1) % 15; + loadNewPalette = TRUE; + } + + if (gUnk_02019EE0.unk2 == 0) { + gUnk_02019EE0.unk2 = 1; + gUnk_02019EE0.unk1 = (Random() & 0x7) * 16 + 8; + loadNewPalette = TRUE; + } + + if (loadNewPalette) { + paletteOffset = &gGlobalGfxAndPalettes[gUnk_080FC8DE[gUnk_02019EE0.unk2]]; + LoadPalettes(&paletteOffset[0x11AA0], 11, 1); + LoadPalettes(&paletteOffset[0x11BA0], 12, 1); + LoadPalettes(&paletteOffset[0x11CA0], 13, 1); + LoadPalettes(&paletteOffset[0x11DA0], 14, 1); + } +} + +void sub_0805070C(void) { + u32 i; + int j; + struct_02036540* var0; + u8* playerName; + + var0 = sub_0805F2C8(); + if (var0) { + var0->charColor = 0; + var0->bgColor = 5; + var0->unk1 = 1; + var0->unk4 = 0x30; + var0->unk8 = gUnk_02000D00; + for (i = 0; i < 3; i++) { + var0->unk6 = 0; + _DmaZero(var0->unk8, 0x200); + playerName = gSaveFiles[i].playerName; + for (j = 0; j < 6; j++) { + sub_0805F7DC(playerName[j], var0); + } + // i is a struct of size 0x200 + _DmaCopy(var0->unk8, (void*)(OBJ_VRAM0 + 0x4000 + i * 0x200), 0x200); + } + sub_0805F300(var0); + } +} + +void sub_08050790(void) { + u32 i, j; + struct_02036540* var0; + u32 var1; + + var0 = sub_0805F2C8(); + if (var0) { + var0->charColor = 0; + var0->bgColor = 5; + var0->unk1 = 1; + var0->unk4 = 0x80; + var0->unk8 = gUnk_02000D00; + for (i = 0; i < 16; i++) { + var0->unk6 = 0; + var1 = i * 16; + for (j = 0; j < 16; j++) { + sub_0805F7DC(var1, var0); + var1++; + } + _DmaCopy(gUnk_02000D00, (void*)(BG_VRAM + i * 0x400), 0x400); + } + sub_0805F300(var0); + } +} + +static void HideButtonR(void) { + gUnk_0200AF00.rButtonX = 0x140; + gUnk_0200AF00.rButtonY = 0x24; +} + +static void ShowButtonR(void) { + gUnk_0200AF00.rButtonX = 0xD0; + gUnk_0200AF00.rButtonY = 0x24; +} + +static void HandleFileSelect(void) { + sFileSelectDefaultHandlers[gChooseFileState.state](); + sub_08050A64(gUnk_02019EE0.unk6); +} + +void sub_08050848(void) { + sub_080503A8(0x7); + sub_0805070C(); + gUnk_02019EE0.unk7 = 0; + sub_08050AFC(gUnk_02019EE0.unk6); + sub_080A7114(1); +} + +void sub_0805086C(void) { + gUnk_080FC908[gChooseFileState.subState](); +} + +// transitioning away from submenu +void sub_08050888(void) { + if (!gFadeControl.active) { + switch (gUnk_02019EE0.saveStatus[gUnk_02019EE0.unk7]) { + case SAVE_EMPTY: + sub_0805194C(gUnk_02019EE0.unk7); + gChooseFileState.subState = 2; + break; + case SAVE_VALID: + gChooseFileState.subState = 2; + break; + default: + sub_0805194C(gUnk_02019EE0.unk7); + sub_08050318(0, gUnk_02019EE0.unk7 + 1); + gChooseFileState.timer = 30; + gChooseFileState.subState = 1; + break; + } + } +} + +void sub_080508E4(void) { + if (gChooseFileState.timer == 0) { + if (gUnk_03000FF0.newKeys & (A_BUTTON | START_BUTTON)) { + gChooseFileState.subState = 2; + } + } else { + gChooseFileState.timer--; + } +} + +void sub_08050910(void) { + sub_08050384(); + if (++gUnk_02019EE0.unk7 > 2) { + sub_080A7114(2); + } else { + gChooseFileState.subState = 0; + } +} + +void sub_08050940(void) { + int row_idx; + u32 keys; + int num_rows; + FileSelectState mode; + + if (gUnk_02019EE0.isTransitioning) { + return; + } + + row_idx = gUnk_02019EE0.unk6; + keys = gUnk_03000FF0.newKeys; + if ((gUnk_03000FF0.heldKeys & L_BUTTON) && gUnk_02019EE0.saveStatus[row_idx] == SAVE_VALID) { + keys &= ~(DPAD_UP | DPAD_DOWN); + } + + num_rows = gUnk_02000000->gameLanguage > GAME_LANGUAGE ? NUM_SAVE_SLOTS + 1 : NUM_SAVE_SLOTS; + mode = gUnk_02032EC0.lastState; + switch (keys) { + case DPAD_UP: + if (row_idx > 0) + row_idx--; + break; + case DPAD_DOWN: + if (num_rows - 1 > row_idx) + row_idx++; + break; + case R_BUTTON: + if (gUnk_02019EE0.saveStatus[row_idx] == SAVE_VALID) + mode = STATE_OPTIONS; + break; + case A_BUTTON: + case START_BUTTON: + SetActiveSave(row_idx); + if (row_idx == 3) + mode = STATE_CHOOSE_LANG; + else + switch (gUnk_02019EE0.saveStatus[row_idx]) { + case SAVE_EMPTY: + mode = STATE_NEW; + break; + case SAVE_VALID: + mode = STATE_VIEW; + break; + } + break; + } + + if (gUnk_02032EC0.lastState != mode) { + SetFileSelectState(mode); + PlaySFX(0x6A); + } + + row_idx = (row_idx + num_rows) % num_rows; + if (gUnk_02019EE0.unk6 != row_idx) { + gUnk_02019EE0.unk6 = row_idx; + sub_08050AFC(row_idx); + PlaySFX(0x69); + } + + if (gUnk_02019EE0.saveStatus[gUnk_02019EE0.unk6] == SAVE_VALID) { + ShowButtonR(); + } +} + +void sub_08050A64(u32 idx) { + if (gUnk_02019EE0.saveStatus[idx] != SAVE_VALID) { + return; + } + + gUnk_03001010._4 = 0; + gUnk_03001010._6 = 0; + gUnk_03001010._8 = 0x400; + + // Draw the save file's obtained elements. + if (GetInventoryValue(0x40)) { + gUnk_03001010.x = 0xA2; + gUnk_03001010.y = 0x36; + sub_080ADA14(0x145, 0x24); + } + if (GetInventoryValue(0x41)) { + gUnk_03001010.x = 0x96; + gUnk_03001010.y = 0x3D; + sub_080ADA14(0x145, 0x22); + } + if (GetInventoryValue(0x42)) { + gUnk_03001010.x = 0xAE; + gUnk_03001010.y = 0x3D; + sub_080ADA14(0x145, 0x23); + } + if (GetInventoryValue(0x43)) { + gUnk_03001010.x = 0xA2; + gUnk_03001010.y = 0x44; + sub_080ADA14(0x145, 0x21); + } +} + +void sub_08050B3C(u16*); + +void sub_08050AFC(u32 idx) { + SetActiveSave(idx); + _DmaZero(&gBG1Buffer, sizeof(gBG1Buffer)); + if (gUnk_02019EE0.saveStatus[idx] == SAVE_VALID) { + sub_08050B3C(&gBG1Buffer.unk29C); + } + gScreen.bg.bg2yOffset = 1; +} + +typedef struct { + u16* unk0; + u32 unk4; +} unk_08050B3C; + +extern const u16 gUnk_080FC914[]; + +// Handles drawing of hearts +NONMATCH("asm/non_matching/save/sub_08050B3C.inc", void sub_08050B3C(u16* arg0)) { + unk_08050B3C sp; + int var0; + int var1; + int var2; + int var3; + int var4; + int var5; + int var6; + int var7; + u16* var8; + + sp.unk0 = arg0; + var0 = gUnk_02002A40.stats.health / 2; + if (var0 == 0) { + var0 = 1; + } + + var1 = gUnk_02002A40.stats.maxHealth / 2; + if (var1 == 0) { + return; + } + + if (var0 > var1) { + var0 = var1; + } + + sp.unk4 = var0 & 0x3; + var2 = var0 * 2; + var5 = var2; + if (var2 > 10) { + var5 = 10; + } + + var6 = var2; + var6 -= 10; + var7 = var6; + if (var6 < 0) { + var7 = 0; + } + + var1 = var1 >> 2; + var4 = var1; + if (var1 > 10) { + var1 = 10; + } + + var4 -= 10; + sp.unk0[0] = 0xF24C; + DmaCopy16(3, &gUnk_080FC914[10 - var5], &sp.unk0[1], var1 * 2); + if (var4 > 0) { + sp.unk0[0x20] = 0xF24C; + DmaCopy16(3, &gUnk_080FC914[10 - var7], &sp.unk0[1], var4 * 2); + } + + if (!sp.unk4) { + return; + } + + var8 = sp.unk0; + if (var2 >= 10) { + var2 = var6; + var8 += 0x20; + } + + var8[var2 + 1] = sp.unk4 - 0xDB3; +} +END_NONMATCH + +void HandleFileView(void) { + gUnk_080FC93C[gMenu.menuType](); + sub_08050A64(gUnk_02019EE0.unk6); +} + +extern Input gUnk_03000FF0; + +void sub_08050C54(void) { + s32 column_idx; + + if (gUnk_02019EE0.isTransitioning) + return; + + column_idx = gMenu.column_idx; + switch (gUnk_03000FF0.newKeys) { + case A_BUTTON: + case START_BUTTON: + if (column_idx == 0) { + PlaySFX(0x80080000); + } + gMenu.transitionTimer = 0xf; + sub_080A7114(1); + PlaySFX(0x6a); + break; + case B_BUTTON: + PlaySFX(0x6c); + SetFileSelectState(STATE_NONE); + break; + case DPAD_LEFT: + column_idx--; + break; + case DPAD_RIGHT: + column_idx++; + break; + } + if (column_idx < 0) { + column_idx = 0; + } + if (column_idx >= NUM_FILE_OPERATIONS) { + column_idx = NUM_FILE_OPERATIONS - 1; + } + if (gMenu.column_idx != column_idx) { + gMenu.column_idx = column_idx; + PlaySFX(0x69); + } +} + +void sub_08050D68(void) { + u32 state; + + if (gMenu.transitionTimer == 0) { + switch (gMenu.column_idx) { + default: + case 0: + state = STATE_START; + break; + case 1: + state = STATE_COPY; + break; + case 2: + state = STATE_ERASE; + break; + } + SetFileSelectState(state); + } else { + gMenu.transitionTimer--; + } +} + +void HandleFileLanguageSelect(void) { + gUnk_080FC944[gMenu.menuType](); +} + +void sub_08050DB8(void) { + _DmaZero(&gBG2Buffer, sizeof(gBG2Buffer)); + sub_080503A8(0xc); + gMenu.field_0x4 = gUnk_02000000->gameLanguage; + sub_080A7114(1); +} + +void sub_08050DE4(void) { + s32 row_idx; + + if (gUnk_02019EE0.isTransitioning) + return; + + row_idx = gUnk_02000000->gameLanguage; + switch (gUnk_03000FF0.newKeys) { + case DPAD_UP: + row_idx--; + break; + case DPAD_DOWN: + row_idx++; + break; + case A_BUTTON: + case START_BUTTON: + PlaySFX(0x6a); + if (gMenu.field_0x4 != row_idx) { + sub_080A7114(2); + sub_08050318(8, 0); + } else { + SetFileSelectState(STATE_NONE); + } + break; + case B_BUTTON: + row_idx = gMenu.field_0x4; + gUnk_02000000->gameLanguage = gMenu.field_0x4; + PlaySFX(0x6c); + SetFileSelectState(STATE_NONE); + break; + } + + // Lazy solution for positioning the rows lower on the screen + if (row_idx < 2) { + row_idx = 2; + } + if (row_idx > 6) { + row_idx = 6; + } + if (gUnk_02000000->gameLanguage != row_idx) { + gUnk_02000000->gameLanguage = row_idx; + PlaySFX(0x69); + } +} + +void sub_08050E88(void) { + if (sub_0807CDA4(SAVE_DONE)) + SetFileSelectState(0); +} diff --git a/src/intro.c b/src/intro.c index 090c9b9d..ac2c6e76 100644 --- a/src/intro.c +++ b/src/intro.c @@ -53,22 +53,22 @@ static const u16 sLightRaysAlphaBlends[] = { }; static u32 AdvanceIntroSequence(u32 transition) { - gUnk_02032EC0.transitionType = transition; + gUnk_02032EC0.lastState = transition; gUnk_03001000.funcIndex = 2; _DmaZero(&gIntroState, sizeof(gIntroState)); DoFade(7, 8); } void HandleIntroScreen(void) { - sub_080AD90C(); + FlushSprites(); switch (gUnk_03001000.funcIndex) { case 0: sub_08056418(); - _DmaZero(&gUnk_02032EC0, 0x3b4); + _DmaZero(&gUnk_02032EC0, sizeof(gUnk_02032EC0)); AdvanceIntroSequence(0); break; case 1: - sIntroSequenceHandlers[gUnk_02032EC0.transitionType](); + sIntroSequenceHandlers[gUnk_02032EC0.lastState](); break; case 2: if (gFadeControl.active) { @@ -92,13 +92,13 @@ static void HandleNintendoCapcomLogos(void) { gIntroState.timer = 120; LoadGfxGroup(16); LoadGfxGroup(1); - if (((struct_02000000*)0x2000000)->gameLanguage == 0) { + if (gUnk_02000000->gameLanguage == 0) { paletteGroup = 1; } else { paletteGroup = 2; } LoadPaletteGroup(paletteGroup); - gScreen.lcd.displayControl |= 0x400; + gScreen.lcd.displayControl |= DISPCNT_BG2_ON; gScreen.bg.bg2yOffset = 1; DoFade(6, 8); advance = ADVANCE_NONE; @@ -132,28 +132,30 @@ static void HandleTitlescreen(void) { sub_080ADD30(); gUnk_02024490.unk0 = 1; LoadGfxGroup(2); - if (((struct_02000000*)0x2000000)->gameLanguage == 0) { + if (gUnk_02000000->gameLanguage == 0) { paletteGroup = 3; } else { paletteGroup = 4; } LoadPaletteGroup(paletteGroup); - if (((struct_02000000*)0x2000000)->gameLanguage == 0) { - gScreen.controls.layerFXControl = 0x844; + if (gUnk_02000000->gameLanguage == 0) { + // Blend first and second layer + gScreen.controls.layerFXControl = BLDCNT_TGT1_BG2 | BLDCNT_TGT2_BG3 | BLDCNT_EFFECT_BLEND; gScreen.controls.alphaBlend = BLDALPHA_BLEND(9, 9); gScreen.bg.bg1xOffset = 0x1c09; - gScreen.affine.bg2Control = 0x1d02; - gScreen.affine.bg3Control = 0x1e03; - gScreen.lcd.displayControl |= 0x1e00; + gScreen.affine.bg2Control = BGCNT_SCREENBASE(29) | BGCNT_PRIORITY(2); + gScreen.affine.bg3Control = BGCNT_SCREENBASE(30) | BGCNT_PRIORITY(3); + gScreen.lcd.displayControl |= DISPCNT_BG1_ON | DISPCNT_BG2_ON | DISPCNT_BG3_ON | DISPCNT_OBJ_ON; gScreen.bg.bg2xOffset = 0xff60; } else { - gScreen.controls.layerFXControl = 0x241; + gScreen.controls.layerFXControl = BLDCNT_TGT1_BG0 | BLDCNT_TGT2_BG1 | BLDCNT_EFFECT_BLEND; gScreen.controls.alphaBlend = BLDALPHA_BLEND(9, 9); - gScreen.bg.bg0Control = 0x1d02; + gScreen.bg.bg0Control = BGCNT_SCREENBASE(29) | BGCNT_PRIORITY(2); gScreen.bg.bg1xOffset = 0x1E03; - gScreen.affine.bg2Control = 0x7C89; - gScreen.lcd.displayControl |= 1; - gScreen.lcd.displayControl |= 0x1300; + gScreen.affine.bg2Control = BGCNT_PRIORITY(1) | BGCNT_CHARBASE(2) | BGCNT_256COLOR | + BGCNT_SCREENBASE(28) | BGCNT_WRAP | BGCNT_TXT512x256; + gScreen.lcd.displayControl |= DISPCNT_MODE_1; + gScreen.lcd.displayControl |= DISPCNT_BG0_ON | DISPCNT_BG1_ON | DISPCNT_OBJ_ON; gIntroState.swordBgScaleRatio = 0x10; UpdateSwordBgAffineData(); } @@ -165,7 +167,7 @@ static void HandleTitlescreen(void) { if (gFadeControl.active) { return; } - if (((struct_02000000*)0x2000000)->gameLanguage == 0) { + if (gUnk_02000000->gameLanguage == 0) { HandleJapaneseTitlescreenAnimationIntro(); } else { HandleTitlescreenAnimationIntro(); @@ -196,8 +198,8 @@ static void HandleTitlescreen(void) { sub_080ADA14(0x1ff, 0); } } - if (gIntroState.gameLanguage != ((struct_02000000*)0x2000000)->gameLanguage) { - gIntroState.gameLanguage = ((struct_02000000*)0x2000000)->gameLanguage; + if (gIntroState.gameLanguage != gUnk_02000000->gameLanguage) { + gIntroState.gameLanguage = gUnk_02000000->gameLanguage; LoadGfxGroup(3); } UpdateLightRays(); @@ -219,8 +221,8 @@ static void UpdateSwordBgAffineData(void) { struct BgAffineSrcData aff; aff.texY = 0x8000; aff.texX = 0x8000; - aff.scrX = 0x78; - aff.scrY = 0x48; + aff.scrX = DISPLAY_WIDTH / 2; + aff.scrY = DISPLAY_HEIGHT / 2 - 8; aff.alpha = 0; aff.sy = aff.sx = gIntroState.swordBgScaleRatio; BgAffineSet(&aff, (struct BgAffineDstData*)&gBgControls, 1); @@ -254,7 +256,7 @@ static void HandleJapaneseTitlescreenAnimationIntro(void) { pEVar2 = CreateObject(0xb4, 0, 0); if (pEVar2 != NULL) { pEVar2->x.HALF.HI = 0; - pEVar2->y.HALF.HI = 0x48; + pEVar2->y.HALF.HI = DISPLAY_HEIGHT / 2 - 8; } } break; @@ -271,7 +273,7 @@ static void HandleTitlescreenAnimationIntro(void) { case 0: if (!gFadeControl.active) { gIntroState.subState = 1; - gScreen.lcd.displayControl |= 0x400; + gScreen.lcd.displayControl |= DISPCNT_BG2_ON; PlaySFX(0xF6); } break; @@ -334,14 +336,14 @@ static u32 GetAdvanceState(void) { } static void UpdateLightRays(void) { - // Periodically rotate the palette to give a shimmeriming effect. + // Periodically rotate the palette to give a shimmering effect. if ((gIntroState.counter & 0x7) == 0) { gIntroState.lightRaysPaletteGroup++; gIntroState.lightRaysPaletteGroup &= 0x3; LoadPaletteGroup(5 + gIntroState.lightRaysPaletteGroup); } - // Periodiccally update the transparency of the light rays. + // Periodically update the transparency of the light rays. if ((gIntroState.counter & 0x1F) == 0) { gIntroState.lightRaysAlphaBlendIndex = (gIntroState.lightRaysAlphaBlendIndex + 1) & 0x7; gScreen.controls.alphaBlend = sLightRaysAlphaBlends[gIntroState.lightRaysAlphaBlendIndex]; diff --git a/src/main.c b/src/main.c index fdb72796..15b67996 100644 --- a/src/main.c +++ b/src/main.c @@ -6,16 +6,12 @@ #include "random.h" #include "readKeyInput.h" -extern u8 gUnk_03003DE4; - -extern void sub_0804FF84(u32); -extern u16 gPaletteBuffer[]; -extern void VBlankInterruptWait(void); -extern void DisableInterruptsAndDMA(void); -extern void sub_08016B34(void); - -static void sub_08055F70(void); -static bool32 SoftResetKeysPressed(void); +extern void HandleIntroScreen(void); +extern void HandleChooseFileScreen(void); +extern void HandleGameplayScreen(void); +extern void HandleGameOverScreen(void); +extern void HandleCreditsScreen(void); +extern void HandleDebugTextScreen(void); static void (*const sScreenHandlers[])(void) = { [SCREEN_INTRO] = HandleIntroScreen, [SCREEN_CHOOSE_FILE] = HandleChooseFileScreen, @@ -27,8 +23,8 @@ void MainLoop(void) { int var0; sub_08055F70(); - sub_080A3204(); - sub_0805616C(); + InitSound(); + InitDMA(); sub_0807CE90(); sub_080560B8(); sub_08056208(); @@ -176,7 +172,7 @@ NONMATCH("asm/non_matching/sub_080560B8.inc", void sub_080560B8(void)) { END_NONMATCH u32 sub_08056134(void) { - if ((gUnk_02000000->signature != SIGNATURE) || (gUnk_02000000->saveFileId >= MAX_SAVE_FILES) || + if ((gUnk_02000000->signature != SIGNATURE) || (gUnk_02000000->saveFileId >= NUM_SAVE_SLOTS) || (gUnk_02000000->messageSpeed >= MAX_MSG_SPEED) || (gUnk_02000000->brightnessPref >= MAX_BRIGHTNESS) || (gUnk_02000000->gameLanguage != GAME_LANGUAGE) || (gUnk_02000000->_e != 0)) return FALSE; @@ -184,7 +180,7 @@ u32 sub_08056134(void) { return TRUE; } -void sub_0805616C() { +void InitDMA() { PlaySFX(0x80040000); gScreen._6d = gScreen._6c; gScreen._6c = 0; diff --git a/src/object.c b/src/object.c index 6713b8e7..4fd93b40 100644 --- a/src/object.c +++ b/src/object.c @@ -2,6 +2,7 @@ #include "entity.h" #include "object.h" //clang-format off + void (*const gObjectFunctions[])(Entity*) = { /*0x00*/ ItemOnGround, /*0x01*/ DeathFx, @@ -75,7 +76,7 @@ void (*const gObjectFunctions[])(Entity*) = { /*0x45*/ Object45, /*0x46*/ GiantBookLadder, /*0x47*/ HeartContainer, - /*0x48*/ Object48, + /*0x48*/ FileScreenObjects, /*0x49*/ Object49, /*0x4a*/ BackgroundCloud, /*0x4b*/ Object4B, diff --git a/src/object/object48.c b/src/object/fileScreenObjects.c similarity index 91% rename from src/object/object48.c rename to src/object/fileScreenObjects.c index e62b174a..4b18fa79 100644 --- a/src/object/object48.c +++ b/src/object/fileScreenObjects.c @@ -47,7 +47,7 @@ extern const u16 gUnk_08121D18[][8]; extern const u8 gUnk_08121D48[]; extern const struct_08121D54 gUnk_08121D54[]; -void Object48(Entity* this) { +void FileScreenObjects(Entity* this) { if (this->currentHealth == 0) { sub_0808EFF0(this); } @@ -91,7 +91,7 @@ void sub_0808E818(Entity* this) { LoadPalettes(&gGlobalGfxAndPalettes[var1], 31, 1); } - if (gUnk_02032EC0.transitionType == 0) { + if (gUnk_02032EC0.lastState == 0) { if (gUnk_03000FF0.heldKeys & L_BUTTON) { switch (gUnk_03000FF0.newKeys) { case DPAD_UP: @@ -126,13 +126,13 @@ void sub_0808E818(Entity* this) { static bool32 sub_0808E950(void) { bool32 result = FALSE; - switch (gUnk_02032EC0.transitionType) { + switch (gUnk_02032EC0.lastState) { case 0: case 4: case 5: case 6: case 7: - result = gUnk_02019EE0.unk8[gUnk_02019EE0.unk6] == 1; + result = gUnk_02019EE0.saveStatus[gUnk_02019EE0.unk6] == 1; break; } return result; @@ -179,7 +179,7 @@ void sub_0808EA28(Entity* this) { u32 var1; if (this->entityType.form == 3) { - if (((struct_02000000*)0x2000000)->gameLanguage > 1) { + if (gUnk_02000000->gameLanguage > LANGUAGE_EN) { this->spriteSettings.b.draw = 2; } else { this->spriteSettings.b.draw = 0; @@ -190,7 +190,7 @@ void sub_0808EA28(Entity* this) { var0 = 12; var1 = 1; } else { - if (gUnk_02032EC0.transitionType == 5 && this->entityType.form == gUnk_02019EE0.unk7) { + if (gUnk_02032EC0.lastState == 5 && this->entityType.form == gUnk_02019EE0.unk7) { var0 = 13; var1 = 2; } else { @@ -202,14 +202,14 @@ void sub_0808EA28(Entity* this) { this->palette.b.b0 = var0; this->spriteRendering.b3 = var1; sub_0808EABC(this); - gUnk_02019EE0.unk0 |= sub_0808EF6C(this); + gUnk_02019EE0.isTransitioning |= sub_0808EF6C(this); } void sub_0808EABC(Entity* this) { int var0 = -72; int var1 = this->entityType.form * 32 + 40; int var2 = gUnk_02019EE0.unk6 == this->entityType.form; - switch (gUnk_02032EC0.transitionType) { + switch (gUnk_02032EC0.lastState) { case 0: var0 = 24; break; @@ -272,15 +272,15 @@ void sub_0808EBB8(Entity* this) { u32 x, y; Entity* entity; - switch (gUnk_02032EC0.transitionType) { + switch (gUnk_02032EC0.lastState) { case 4: - var0 = gMenu.field_0x1 + 4; + var0 = gMenu.column_idx + 4; break; case 5: var0 = 2; break; case 6: - var0 = gMenu.field_0x1 == 0 ? 7 : 6; + var0 = gMenu.column_idx == 0 ? 7 : 6; break; case 7: var0 = 4; @@ -341,8 +341,8 @@ void sub_0808ECBC(Entity* this) { int var2; const struct_08121CD4* var3; - var0 = gMenu.field_0x1; - switch (gUnk_02032EC0.transitionType) { + var0 = gMenu.column_idx; + switch (gUnk_02032EC0.lastState) { case 4: var1 = 1; break; @@ -371,12 +371,12 @@ void sub_0808ECBC(Entity* this) { this->palette.b.b0 = 14; } - gUnk_02019EE0.unk0 |= sub_0808EF6C(this); + gUnk_02019EE0.isTransitioning |= sub_0808EF6C(this); } void sub_0808ED64(Entity* this) { int y = 255; - if (gUnk_02032EC0.transitionType == 1 && gMenu.focusCoords[1] != 5) { + if (gUnk_02032EC0.lastState == 1 && gMenu.focusCoords[1] != 5) { this->x.HALF.HI = gMenu.focusCoords[0] * 16 + 28; y = gMenu.focusCoords[1] * 16 + 58; } @@ -385,7 +385,7 @@ void sub_0808ED64(Entity* this) { void sub_0808ED98(Entity* this) { int y; - if (gUnk_02032EC0.transitionType != 1) { + if (gUnk_02032EC0.lastState != 1) { this->field_0x68.HWORD = 27; y = -10; } else { @@ -413,7 +413,7 @@ void sub_0808EE00(Entity* this) { this->x.HALF.HI = gUnk_08121D18[var0][var1]; this->field_0x68.HWORD = gUnk_08121D18[var0][var1]; var1 -= var0; - if (gUnk_02032EC0.transitionType != 1) { + if (gUnk_02032EC0.lastState != 1) { var1 = 128; var2 = 176; } else { @@ -422,14 +422,14 @@ void sub_0808EE00(Entity* this) { this->field_0x6a.HWORD = var2; this->palette.b.b0 = gMenu.focusCoords[1] == 5 && var1 == gMenu.field_0x12 ? 11 : 9; - gUnk_02019EE0.unk0 |= sub_0808EF6C(this); + gUnk_02019EE0.isTransitioning |= sub_0808EF6C(this); } void nullsub_522(Entity* this) { } void sub_0808EE98(Entity* this) { - this->actionDelay = gUnk_02032EC0.transitionType; + this->actionDelay = gUnk_02032EC0.lastState; this->frameIndex = gUnk_08121D48[this->actionDelay]; if (this->actionDelay != 2) { this->field_0x68.HWORD = 96; @@ -441,18 +441,18 @@ void sub_0808EE98(Entity* this) { void sub_0808EED8(Entity* this) { int var0; - if (gUnk_02032EC0.transitionType != 3) { + if (gUnk_02032EC0.lastState != 3) { this->spriteSettings.b.draw = 0; } else { this->spriteSettings.b.draw = 2; var0 = this->entityType.form - 19; - this->palette.b.b0 = gMenu.field_0x1 == var0 ? 4 : 3; + this->palette.b.b0 = gMenu.column_idx == var0 ? 4 : 3; } } void sub_0808EF24(Entity* this) { int var0; - if (gUnk_02032EC0.transitionType != 3) { + if (gUnk_02032EC0.lastState != 3) { this->spriteSettings.b.draw = 0; } else { this->spriteSettings.b.draw = 2; @@ -515,7 +515,7 @@ static u32 sub_0808EF6C(Entity* this) { static void sub_0808EFF0(Entity* this) { const struct_08121D54* var0; - int var1; + u8 var1; this->spriteSettings.b.draw = 2; this->nonPlanarMovement = 0x400; @@ -533,7 +533,7 @@ static void sub_0808EFF0(Entity* this) { this->field_0x6c.HWORD = var0->unk0; var1 = var0->unk7; if (var1 & 0x80) { - var1 &= 0x7F; + var1 &= ~(0x80); this->frameIndex = var1; this->lastFrameIndex = var1; } else { diff --git a/src/code_0807CC3C.c b/src/save.c similarity index 53% rename from src/code_0807CC3C.c rename to src/save.c index b16dca9e..c129dc9d 100644 --- a/src/code_0807CC3C.c +++ b/src/save.c @@ -1,38 +1,52 @@ -#include "global.h" -#include "entity.h" -#include "functions.h" -#include "menu.h" -#include "structures.h" +#include "save.h" -extern void (*const gUnk_0811E478[])(u32); +extern u32 sub_0807D008(u32, SaveFile*); + +const u16 gUnk_0811E454[] = { 0x0, 0x0, 0x100, 0x200, 0x300, 0x400, 0x500, + 0x5C0, 0x680, 0x740, 0x800, 0x8C0, 0x9C0, 0xA80 }; + +const char gUnk_0811E470[6] = "LINK"; + +static SaveResult HandleSaveInit(u32); +static SaveResult HandleSaveInProgress(u32); +static SaveResult HandleSaveDone(u32); +static SaveResult (*const sSaveHandlers[])(u32) = { HandleSaveInit, HandleSaveInProgress, HandleSaveDone }; + +static const char sSignatureLong[32] = "AGBZELDA:THE MINISH CAP:ZELDA 5"; + +// Save file is untouched +static const char sSaveDescInit[8] = "\xFF\xFF\xFF\xFF" + "INIT"; +// Save file is deleted +static const char sSaveDescDeleted[8] = "\xFF\xFF\xFF\xFF" + "DelF"; + +const char gUnk_0811E4B4[8] = "DAMEDAME"; extern s16 gUnk_02021EE0[6]; -extern char gUnk_0811E484[]; -extern char gUnk_0811E4AC[]; -extern char gUnk_0811E4A4[]; void sub_0807CD9C() { sub_080530C8(); } -void sub_0807CDA4(u32 arg0) { - gUnk_0811E478[gMenu.storyPanelIndex](arg0); +SaveResult sub_0807CDA4(SaveState state) { + return sSaveHandlers[gMenu.storyPanelIndex](state); } -u32 sub_0807CDC0(void) { +SaveResult HandleSaveInit(u32 arg0) { gUnk_02021EE0[5] -= 8; if (gUnk_02021EE0[4] <= 0) { gMenu.field_0xa = 8; gMenu.storyPanelIndex = 1; } - return 0; + return SAVE_BUSY; } -u32 sub_0807CDE8(u32 arg0) { +SaveResult HandleSaveInProgress(u32 arg0) { u32 temp; if (gMenu.field_0xa == 0) { - sub_0805616C(); + InitDMA(); switch (arg0) { case 0: temp = sub_0807CF08(gUnk_02000000->saveFileId, gUnk_02002A40.filler0); @@ -51,25 +65,25 @@ u32 sub_0807CDE8(u32 arg0) { } else { gMenu.field_0xa--; } - return 0; + return SAVE_BUSY; } -s32 sub_0807CE54(void) { - u32 uVar1; +SaveResult HandleSaveDone(u32 arg0) { + SaveResult result; - uVar1 = 0; + result = SAVE_BUSY; gUnk_02021EE0[5] += 8; if (gUnk_02021EE0[3] <= gUnk_02021EE0[5]) { gUnk_02021EE0[5] = gUnk_02021EE0[3]; sub_08050384(); gMenu.storyPanelIndex = 0; if (gMenu.field_0xa == 1) { - uVar1 = 1; + result = SAVE_OK; } else { - uVar1 = -1; + result = SAVE_ERROR; } } - return uVar1; + return result; } u32 sub_0807CE90(void) { @@ -80,10 +94,10 @@ u32 sub_0807CE90(void) { sub_080B1520(0x40); puVar1 = sub_0807D1C4(4); iVar3 = 0; - if (sub_0807D24C(puVar1->field_0x6, gUnk_0811E484, puVar1->field_0x0) == 0) { + if (sub_0807D24C(puVar1->field_0x6, sSignatureLong, puVar1->field_0x0) == 0) { iVar3 += 1; } - if (sub_0807D24C(puVar1->field_0x8, gUnk_0811E484, puVar1->field_0x0) == 0) { + if (sub_0807D24C(puVar1->field_0x8, sSignatureLong, puVar1->field_0x0) == 0) { iVar3 += 2; } if (iVar3 != 0) { @@ -94,8 +108,8 @@ u32 sub_0807CE90(void) { sub_0807CF68(1); sub_0807CF68(0); } - sub_0807D20C(puVar1->field_0x8, gUnk_0811E484, puVar1->field_0x0); - sub_0807D20C(puVar1->field_0x6, gUnk_0811E484, puVar1->field_0x0); + sub_0807D20C(puVar1->field_0x8, sSignatureLong, puVar1->field_0x0); + sub_0807D20C(puVar1->field_0x6, sSignatureLong, puVar1->field_0x0); } return 1; } @@ -116,11 +130,11 @@ int sub_0807CF28(u32 arg0, SaveFile* arg1) { return sub_0807D008(arg0, arg1); } -u32 sub_0807CF30(void* arg0) { +u32 sub_0807CF30(SaveFile* arg0) { return sub_0807D008(3, arg0); } -u32 sub_0807CF3C(void* arg0) { +u32 sub_0807CF3C(SaveFile* arg0) { return sub_0807D008(5, arg0); } @@ -128,16 +142,16 @@ void sub_0807CF48(u32 arg0) { struct_0807D1C4* temp; temp = sub_0807D1C4(arg0); - sub_0807D184(temp->field_0x4, gUnk_0811E4AC); - sub_0807D184(temp->field_0x2, gUnk_0811E4AC); + sub_0807D184(temp->field_0x4, sSaveDescDeleted); + sub_0807D184(temp->field_0x2, sSaveDescDeleted); } void sub_0807CF68(u32 arg0) { struct_0807D1C4* temp; - char* str; + const char* str; temp = sub_0807D1C4(arg0); - str = gUnk_0811E4A4; + str = sSaveDescInit; sub_0807D184(temp->field_0x4, str); sub_0807D184(temp->field_0x2, str); } diff --git a/src/sub_080A3B84.c b/src/sub_080A3B84.c index 1fa55fb0..3a0d5eb4 100644 --- a/src/sub_080A3B84.c +++ b/src/sub_080A3B84.c @@ -8,7 +8,7 @@ extern void (*const gUnk_081280C4[])(); void DrawKinstoneMenu(void) { gScreenTransition.field_0x24[8] = 2; - sub_080AD90C(); + FlushSprites(); gUnk_081280C4[gMenu.menuType](); sub_080A3B74(); sub_080A4054(); @@ -26,7 +26,7 @@ void sub_080A3BD0(void) { s32 iVar1; s32 iVar2; - gMenu.field_0x1 = 1; + gMenu.column_idx = 1; gMenu.unk2a = 0; sub_080A4D34(); LoadPaletteGroup(0xcb); diff --git a/src/textbox.c b/src/textbox.c index ad3bc4d8..2ecc7242 100644 --- a/src/textbox.c +++ b/src/textbox.c @@ -5,53 +5,34 @@ #include "textbox.h" #include "structures.h" -void ShowTextbox(); -void TextboxAtPosition(); +u32 sub_080564DC(void); +u32 sub_080564EC(void); +u32 sub_08056654(void); +u32 sub_080565B4(void); +u32 sub_080565F8(void); +u32 sub_08056640(void); -typedef struct { - u8 _0; - u8 _1; - u8 _2; - u8 _3[5]; - u16 _8; - u8 _b[0x16]; - u8 _20; - u8 _21; - u8 _22[0xa]; - void* _2c; - u8 _30[0x23]; - u8 _53; - u16 _54; - u8 _56[0x2]; - void* _58; - u8 _5c; - u8 _5d; - u8 _5e[24]; - u8 _76; - u8 _77[0x11]; - u8 _88; - u8 _89; - u8 _8a; - u8 _8b[0xe]; - u8 _99; - u8 _9a; - u8 _9b; - u8 _9c; - u8 _9d; - u8 _9e[0xa]; -} struct_02022780; -extern struct_02022780 gUnk_02022780; -static_assert(sizeof(struct_02022780) == 0xa8); +u32 (*const gUnk_08107BC8[])(void) = { sub_080564DC, sub_080564EC, sub_08056654, + sub_080565B4, sub_080565F8, sub_08056640 }; -extern const s32 (*const gUnk_08107BC8[])(); -extern const void (*const gUnk_08107BF4[])(struct_02022780*); +extern u8 gUnk_020227DC, gUnk_020227E8, gUnk_020227F0, gUnk_020227F8, gUnk_02022800; +u8* const gUnk_08107BE0[] = { &gUnk_020227DC, &gUnk_020227E8, &gUnk_020227F0, &gUnk_020227F8, &gUnk_02022800 }; + +void sub_08056684(struct_02022780*); +void sub_080566B8(struct_02022780*); +void sub_08056BA0(struct_02022780*); +void sub_08056B1C(struct_02022780*); +void sub_08056B7C(struct_02022780*); +void sub_080569D4(struct_02022780*); + +void (*const gUnk_08107BF4[])(struct_02022780*) = { sub_08056684, sub_080566B8, sub_08056BA0, + sub_08056B1C, sub_08056B7C, sub_080569D4 }; extern u32 gUnk_02036A40; extern u32 gUnk_02036A38; extern u8 gUnk_02024030; extern u8 gUnk_020227A0; extern u8 gUnk_02000D00; -extern u8 gUnk_08107BE0; s32 sub_08056338(void) { s32 result; @@ -100,7 +81,7 @@ void TextboxAtPosition(u32 index, u32 x, u32 y) { gTextBox.textWindowPosY = y; } -void ShowTextbox(u32 index, u32 param_2, u32* dest) { +void ShowTextbox(u32 index) { _DmaZero(&gTextBox, 32); gTextBox.textIndex = index; gTextBox.textSpeed = 99; @@ -158,10 +139,10 @@ NONMATCH("asm/non_matching/textbox/sub_080564EC.inc", u32 sub_080564EC(void)) { char* dest; u32 i; char c; - - _DmaZero((void *)&gUnk_02036A40, 8); - _DmaZero((void *)&gUnk_02024030, 0x18); - _DmaZero((void *)&gUnk_02022780, 0xa8); + + _DmaZero((void*)&gUnk_02036A40, 8); + _DmaZero((void*)&gUnk_02024030, 0x18); + _DmaZero((void*)&gUnk_02022780, 0xa8); _DmaCopy(&gTextBox, &gUnk_02022780, 32); if (gUnk_02022780._2 == 0x63) { gUnk_02022780._2 = gUnk_02000000->messageSpeed; @@ -174,7 +155,8 @@ NONMATCH("asm/non_matching/textbox/sub_080564EC.inc", u32 sub_080564EC(void)) { for (i = 0; i < 6; ++i) { c = gUnk_02002A40.playerName[i]; - if (c == '\0') break; + if (c == '\0') + break; dest[i] = c; } diff --git a/src/tmc.code-workspace b/src/tmc.code-workspace index 788922bd..0bcb3f84 100644 --- a/src/tmc.code-workspace +++ b/src/tmc.code-workspace @@ -5,7 +5,14 @@ "ios": "c", "functions.h": "c", "textbox.h": "c", - "structures.h": "c" + "structures.h": "c", + "fileselect.h": "c", + "menu.h": "c", + "save.h": "c", + "main.h": "c", + "object.h": "c", + "filescreen.h": "c", + "screen.h": "c" } } } From be1598afbb4f2ee91e7c83f0943f1f9f85a58f14 Mon Sep 17 00:00:00 2001 From: theo3 Date: Wed, 3 Feb 2021 17:38:27 -0800 Subject: [PATCH 041/101] fileScreen.c OK --- asm/bigBarrel.s | 8 +- asm/bigGoron.s | 8 +- asm/bird.s | 4 +- asm/bowUse.s | 4 +- asm/brocco.s | 4 +- asm/castleMaid.s | 4 +- asm/castorWildsStatue.s | 4 +- asm/cellOverwriteSet.s | 8 +- asm/code_08016DF8.s | 26 +- asm/code_08019444.s | 16 +- asm/code_0801C370.s | 8 +- asm/code_0801C85C.s | 16 +- asm/code_0801D79C.s | 26 +- asm/code_08049D30.s | 4 +- asm/code_0804AA84.s | 4 +- asm/code_080526F8.s | 76 +- asm/code_0805436C.s | 8 +- asm/code_08056418.s | 16 +- asm/code_0805EC04.s | 6 +- asm/code_0806ED78.s | 4 +- asm/code_0806FA6C.s | 8 +- asm/code_08070698.s | 4 +- asm/code_080732D0.s | 16 +- asm/code_08076C80.s | 20 +- asm/code_08077B98.s | 8 +- asm/code_08078778.s | 16 +- asm/code_0807CAA0.s | 8 +- asm/code_0807F0D8.s | 12 +- asm/code_080A3480.s | 20 +- asm/code_080A3BD0.s | 64 +- asm/code_080A5574.s | 110 +- asm/cucco.s | 4 +- asm/din.s | 4 +- asm/dog.s | 8 +- asm/drLeft.s | 4 +- asm/drawHealth.s | 4 +- asm/drawRupees.s | 12 +- asm/ezloCap.s | 4 +- asm/farore.s | 4 +- asm/figurineDevice.s | 46 +- asm/fileScreen.s | 1450 +----------------- asm/ghostBrothers.s | 4 +- asm/goronMerchant.s | 4 +- asm/guardWithSpear.s | 4 +- asm/hurdyGurdyMan.s | 4 +- asm/kid.s | 4 +- asm/mama.s | 4 +- asm/manager16.s | 4 +- asm/manager32.s | 4 +- asm/manager37.s | 4 +- asm/managerF.s | 4 +- asm/modArrows.s | 4 +- asm/modBombs.s | 4 +- asm/nayru.s | 4 +- asm/non_matching/code_0805457C.inc | 8 +- asm/non_matching/fileScreen/sub_08050EF4.inc | 138 ++ asm/non_matching/fileScreen/sub_08051738.inc | 65 + asm/non_matching/fileScreen/sub_080517B4.inc | 32 + asm/non_matching/fileScreen/sub_080610B8.inc | 348 +++++ asm/non_matching/pesto/sub_08024E4C.inc | 4 +- asm/non_matching/putItemOnSlot.s | 8 +- asm/non_matching/save/sub_08050B3C.inc | 4 +- asm/non_matching/sub_0804DE00.inc | 4 +- asm/non_matching/sub_0804E150.inc | 12 +- asm/non_matching/textbox/sub_080564EC.inc | 4 +- asm/object37.s | 4 +- asm/objectB.s | 14 +- asm/objectB9.s | 8 +- asm/percy.s | 4 +- asm/phonograph.s | 8 +- asm/pina.s | 4 +- asm/sittingPerson.s | 8 +- asm/smallTownMinish.s | 4 +- asm/stockwell.s | 14 +- asm/sub_0807CA18.s | 4 +- asm/takkuri.s | 4 +- asm/tingleSiblings.s | 8 +- asm/vaatiWrath.s | 4 +- data/data_080FC8A4.s | 12 - include/fileScreen.h | 22 +- include/functions.h | 2 - include/menu.h | 14 +- include/readKeyInput.h | 2 +- include/save.h | 32 +- include/structures.h | 37 - linker.ld | 5 +- src/code_0805436C.c | 28 +- src/enemy/businessScrub.c | 7 +- src/enemy/gyorgMale.c | 1 + src/enemy/likeLike.c | 11 +- src/enemy/pesto.c | 2 +- src/enemy/rupeeLike.c | 5 +- src/enemy/wisp.c | 5 +- src/executeScriptCommandSet.c | 11 +- src/fileScreen.c | 589 ++++++- src/initializePlayer.c | 3 +- src/input.c | 2 +- src/intro.c | 2 +- src/main.c | 3 +- src/manager/managerC.c | 3 +- src/npc/bladeBrothers.c | 7 +- src/npc/forestMinish.c | 7 +- src/npc/mayorHagen.c | 3 +- src/npc/mutoh.c | 3 +- src/npc/postman.c | 3 +- src/npc/smith.c | 5 +- src/npc/teachers.c | 3 +- src/npc/townMinish.c | 5 +- src/npc/townsperson.c | 3 +- src/npc/windTribespeople.c | 3 +- src/object/bird.c | 3 +- src/object/fileScreenObjects.c | 10 +- src/object/greatFairy.c | 5 +- src/object/windcrest.c | 3 +- src/player.c | 5 +- src/room.c | 83 +- src/save.c | 8 +- src/screenDebug.c | 6 +- src/textbox.c | 3 +- src/tmc.code-workspace | 4 +- 120 files changed, 1751 insertions(+), 2066 deletions(-) create mode 100644 asm/non_matching/fileScreen/sub_08050EF4.inc create mode 100644 asm/non_matching/fileScreen/sub_08051738.inc create mode 100644 asm/non_matching/fileScreen/sub_080517B4.inc create mode 100644 asm/non_matching/fileScreen/sub_080610B8.inc diff --git a/asm/bigBarrel.s b/asm/bigBarrel.s index 8613c9ae..a4c5b78b 100644 --- a/asm/bigBarrel.s +++ b/asm/bigBarrel.s @@ -43,14 +43,14 @@ sub_08088A68: @ 0x08088A68 bl CheckGlobalFlag cmp r0, #0 beq _08088AA0 - ldr r0, _08088A9C @ =gUnk_02002A40 + ldr r0, _08088A9C @ =gSave ldrb r0, [r0, #7] adds r0, #1 b _08088AA4 .align 2, 0 -_08088A9C: .4byte gUnk_02002A40 +_08088A9C: .4byte gSave _08088AA0: - ldr r0, _08088AD8 @ =gUnk_02002A40 + ldr r0, _08088AD8 @ =gSave ldrb r0, [r0, #7] _08088AA4: strb r0, [r4, #0x1e] @@ -77,7 +77,7 @@ _08088AA4: str r1, [r0, #0x68] b _08088B82 .align 2, 0 -_08088AD8: .4byte gUnk_02002A40 +_08088AD8: .4byte gSave _08088ADC: .4byte gRoomControls _08088AE0: .4byte gRoomVars _08088AE4: diff --git a/asm/bigGoron.s b/asm/bigGoron.s index 0377de66..d7fb70e1 100644 --- a/asm/bigGoron.s +++ b/asm/bigGoron.s @@ -775,7 +775,7 @@ sub_0806D5D4: @ 0x0806D5D4 adds r1, r0, #0 cmp r1, #2 beq _0806D5F0 - ldr r0, _0806D5FC @ =gUnk_02002A40 + ldr r0, _0806D5FC @ =gSave adds r0, #0xb4 adds r0, r1, r0 movs r1, #0 @@ -786,13 +786,13 @@ _0806D5F0: bl sub_0807CAA0 pop {pc} .align 2, 0 -_0806D5FC: .4byte gUnk_02002A40 +_0806D5FC: .4byte gSave thumb_func_start sub_0806D600 sub_0806D600: @ 0x0806D600 push {lr} movs r2, #0 - ldr r0, _0806D618 @ =gUnk_02002A40 + ldr r0, _0806D618 @ =gSave ldr r3, _0806D61C @ =0x00000494 adds r0, r0, r3 ldr r0, [r0] @@ -803,7 +803,7 @@ _0806D612: str r2, [r1, #0x14] pop {pc} .align 2, 0 -_0806D618: .4byte gUnk_02002A40 +_0806D618: .4byte gSave _0806D61C: .4byte 0x00000494 thumb_func_start sub_0806D620 diff --git a/asm/bird.s b/asm/bird.s index 77672bbf..7cac5b3c 100644 --- a/asm/bird.s +++ b/asm/bird.s @@ -304,7 +304,7 @@ _0809D454: ldrb r0, [r5, #0xc] cmp r0, #2 bne _0809D478 - ldr r0, _0809D494 @ =gUnk_02002A40 + ldr r0, _0809D494 @ =gSave ldr r1, [r0, #0x40] movs r2, #0x80 lsls r2, r2, #0x15 @@ -328,7 +328,7 @@ _0809D488: mov sl, r5 pop {r4, r5, r6, r7, pc} .align 2, 0 -_0809D494: .4byte gUnk_02002A40 +_0809D494: .4byte gSave thumb_func_start sub_0809D498 sub_0809D498: @ 0x0809D498 diff --git a/asm/bowUse.s b/asm/bowUse.s index 438fa2a4..1358eed0 100644 --- a/asm/bowUse.s +++ b/asm/bowUse.s @@ -279,7 +279,7 @@ _08019390: movs r0, #0xe strb r0, [r1] _08019398: - ldr r0, _08019404 @ =gUnk_02002A40 + ldr r0, _08019404 @ =gSave adds r0, #0xad ldrb r5, [r0] ldrb r1, [r4, #0x1e] @@ -334,6 +334,6 @@ _080193FA: _08019402: pop {r4, r5, r6, r7, pc} .align 2, 0 -_08019404: .4byte gUnk_02002A40 +_08019404: .4byte gSave _08019408: .4byte gPlayerEntity _0801940C: .4byte gPlayerState diff --git a/asm/brocco.s b/asm/brocco.s index 4473f3c9..a8893593 100644 --- a/asm/brocco.s +++ b/asm/brocco.s @@ -233,7 +233,7 @@ _080636D4: thumb_func_start sub_080636D8 sub_080636D8: @ 0x080636D8 push {lr} - ldr r1, _080636EC @ =gUnk_02002A40 + ldr r1, _080636EC @ =gSave ldrb r1, [r1, #8] lsls r1, r1, #3 ldr r2, _080636F0 @ =gUnk_0810CAAC @@ -241,7 +241,7 @@ sub_080636D8: @ 0x080636D8 bl ShowNPCDialogue pop {pc} .align 2, 0 -_080636EC: .4byte gUnk_02002A40 +_080636EC: .4byte gSave _080636F0: .4byte gUnk_0810CAAC thumb_func_start sub_080636F4 diff --git a/asm/castleMaid.s b/asm/castleMaid.s index 1c5ca1fc..51f71954 100644 --- a/asm/castleMaid.s +++ b/asm/castleMaid.s @@ -212,7 +212,7 @@ _08064684: .4byte gUnk_0810F88C thumb_func_start sub_08064688 sub_08064688: @ 0x08064688 push {lr} - ldr r1, _0806469C @ =gUnk_02002A40 + ldr r1, _0806469C @ =gSave ldrb r1, [r1, #8] lsls r1, r1, #3 ldr r2, _080646A0 @ =gUnk_0810F894 @@ -220,7 +220,7 @@ sub_08064688: @ 0x08064688 bl ShowNPCDialogue pop {pc} .align 2, 0 -_0806469C: .4byte gUnk_02002A40 +_0806469C: .4byte gSave _080646A0: .4byte gUnk_0810F894 thumb_func_start sub_080646A4 diff --git a/asm/castorWildsStatue.s b/asm/castorWildsStatue.s index 1ff5b938..b08602c1 100644 --- a/asm/castorWildsStatue.s +++ b/asm/castorWildsStatue.s @@ -552,7 +552,7 @@ sub_08067790: @ 0x08067790 lsls r1, r2, #2 adds r1, r1, r2 lsls r1, r1, #4 - ldr r2, _080677AC @ =gUnk_02002A40 + ldr r2, _080677AC @ =gSave ldrb r2, [r2, #8] lsls r2, r2, #3 ldr r3, _080677B0 @ =gUnk_08110EF8 @@ -561,5 +561,5 @@ sub_08067790: @ 0x08067790 bl ShowNPCDialogue pop {pc} .align 2, 0 -_080677AC: .4byte gUnk_02002A40 +_080677AC: .4byte gSave _080677B0: .4byte gUnk_08110EF8 diff --git a/asm/cellOverwriteSet.s b/asm/cellOverwriteSet.s index 58b0c171..274511cc 100644 --- a/asm/cellOverwriteSet.s +++ b/asm/cellOverwriteSet.s @@ -67,7 +67,7 @@ _0801BF62: movs r0, #0x80 orrs r0, r1 strb r0, [r2, #0x1a] - ldr r6, _0801C000 @ =gUnk_03000FF0 + ldr r6, _0801C000 @ =gInput ldrh r1, [r6] movs r3, #0x80 lsls r3, r3, #1 @@ -137,7 +137,7 @@ _0801BFF0: .4byte gPlayerEntity _0801BFF4: .4byte gUnk_080B7B6C _0801BFF8: .4byte gRoomControls _0801BFFC: .4byte gPlayerState -_0801C000: .4byte gUnk_03000FF0 +_0801C000: .4byte gInput _0801C004: ldrh r2, [r6, #2] movs r6, #0x10 @@ -247,7 +247,7 @@ _0801C074: strb r0, [r1, #0x1a] bl DeleteThisEntity _0801C0D4: - ldr r0, _0801C1D0 @ =gUnk_03000FF0 + ldr r0, _0801C1D0 @ =gInput ldrh r1, [r0] movs r0, #2 ands r0, r1 @@ -369,4 +369,4 @@ _0801C1BE: .align 2, 0 _0801C1C8: .4byte gUnk_080B7B6C _0801C1CC: .4byte gRoomControls -_0801C1D0: .4byte gUnk_03000FF0 +_0801C1D0: .4byte gInput diff --git a/asm/code_08016DF8.s b/asm/code_08016DF8.s index 49db41cf..060a891d 100644 --- a/asm/code_08016DF8.s +++ b/asm/code_08016DF8.s @@ -161,7 +161,7 @@ _08016F24: .4byte gBG2Buffer sub_08016F28: @ 0x08016F28 push {r4, r5, lr} adds r4, r0, #0 - ldr r0, _08016F44 @ =gUnk_02002A40 + ldr r0, _08016F44 @ =gSave adds r0, #0xba ldrb r0, [r0] cmp r0, #0 @@ -173,7 +173,7 @@ sub_08016F28: @ 0x08016F28 orrs r1, r2 b _08016F54 .align 2, 0 -_08016F44: .4byte gUnk_02002A40 +_08016F44: .4byte gSave _08016F48: .4byte gPlayerState _08016F4C: ldr r0, _08016F98 @ =gPlayerState @@ -367,7 +367,7 @@ _080170C0: _080170CE: ldr r3, _08017128 @ =gRoomVars strb r1, [r3, #0xa] - ldr r2, _0801712C @ =gUnk_02002A40 + ldr r2, _0801712C @ =gSave adds r0, r2, #0 adds r0, #0xab ldrb r0, [r0] @@ -400,7 +400,7 @@ _080170E8: ldr r0, _08017138 @ =0x0000011F bl EnqueueSFX _08017112: - ldr r0, _0801712C @ =gUnk_02002A40 + ldr r0, _0801712C @ =gSave adds r2, r0, #0 adds r2, #0xb2 ldrb r1, [r2] @@ -412,7 +412,7 @@ _08017112: .align 2, 0 _08017124: .4byte gTextBox _08017128: .4byte gRoomVars -_0801712C: .4byte gUnk_02002A40 +_0801712C: .4byte gSave _08017130: .4byte gUnk_0200AF00 _08017134: .4byte gScreenTransition _08017138: .4byte 0x0000011F @@ -433,7 +433,7 @@ _08017150: ldr r0, _0801716C @ =0x000001B3 bl PlaySFX _0801715A: - ldr r0, _08017170 @ =gUnk_02002A40 + ldr r0, _08017170 @ =gSave adds r3, r0, #0 adds r3, #0xb3 ldrb r1, [r3] @@ -444,7 +444,7 @@ _0801715A: b _080171A4 .align 2, 0 _0801716C: .4byte 0x000001B3 -_08017170: .4byte gUnk_02002A40 +_08017170: .4byte gSave _08017174: adds r2, r0, #0 adds r2, #0xc6 @@ -471,7 +471,7 @@ _08017196: adds r0, r5, #0 bl CreateSparkle _080171A4: - ldr r0, _080171B8 @ =gUnk_02002A40 + ldr r0, _080171B8 @ =gSave adds r3, r0, #0 adds r3, #0xba ldrb r1, [r3] @@ -481,7 +481,7 @@ _080171A4: strh r1, [r0] b _080171EA .align 2, 0 -_080171B8: .4byte gUnk_02002A40 +_080171B8: .4byte gSave _080171BC: adds r2, r0, #0 adds r2, #0xc8 @@ -1397,7 +1397,7 @@ sub_08017874: @ 0x08017874 adds r0, r2, #0 adds r0, #0x44 ldrb r1, [r0] - ldr r0, _08017898 @ =gUnk_02002A40 + ldr r0, _08017898 @ =gSave adds r0, #0xb2 ldrb r0, [r0] cmp r0, #0x2f @@ -1406,7 +1406,7 @@ sub_08017874: @ 0x08017874 beq _080178A8 b _080178AE .align 2, 0 -_08017898: .4byte gUnk_02002A40 +_08017898: .4byte gSave _0801789C: adds r0, r1, #0 cmp r1, #0 @@ -1438,7 +1438,7 @@ _080178C6: ldrb r0, [r2, #8] cmp r0, #8 bne _080178F6 - ldr r0, _080178E4 @ =gUnk_02002A40 + ldr r0, _080178E4 @ =gSave adds r0, #0xb2 ldrb r0, [r0] cmp r0, #0x30 @@ -1447,7 +1447,7 @@ _080178C6: beq _080178F4 b _080178F6 .align 2, 0 -_080178E4: .4byte gUnk_02002A40 +_080178E4: .4byte gSave _080178E8: lsls r0, r1, #1 adds r0, r0, r1 diff --git a/asm/code_08019444.s b/asm/code_08019444.s index b63d2531..d528d5b9 100644 --- a/asm/code_08019444.s +++ b/asm/code_08019444.s @@ -413,7 +413,7 @@ sub_08019764: @ 0x08019764 lsls r0, r0, #0x10 cmp r0, #0 beq _08019790 - ldr r0, _0801979C @ =gUnk_03000FF0 + ldr r0, _0801979C @ =gInput ldrh r1, [r0, #2] movs r0, #0xa ands r0, r1 @@ -427,7 +427,7 @@ _08019796: pop {pc} .align 2, 0 _08019798: .4byte gUnk_02018EB0 -_0801979C: .4byte gUnk_03000FF0 +_0801979C: .4byte gInput thumb_func_start sub_080197A0 sub_080197A0: @ 0x080197A0 @@ -5053,7 +5053,7 @@ sub_0801BA18: @ 0x0801BA18 b _0801BA34 _0801BA2A: ldrb r1, [r1] - ldr r0, _0801BA4C @ =gUnk_02002A40 + ldr r0, _0801BA4C @ =gSave adds r0, r0, r1 adds r0, #0x9a ldrb r0, [r0] @@ -5070,7 +5070,7 @@ _0801BA34: ldr r0, [r0] mov pc, r0 .align 2, 0 -_0801BA4C: .4byte gUnk_02002A40 +_0801BA4C: .4byte gSave _0801BA50: .4byte _0801BA54 _0801BA54: @ jump table .4byte _0801BA9C @ case 0 @@ -5306,7 +5306,7 @@ _0801BC76: movs r5, #0xa0 b _0801BC98 _0801BC7A: - ldr r1, _0801BCB0 @ =gUnk_02002A40 + ldr r1, _0801BCB0 @ =gSave adds r0, r4, #0 adds r0, #0x6f ldrb r0, [r0] @@ -5331,7 +5331,7 @@ _0801BC98: bl SetBottleContents pop {r4, r5, r6, pc} .align 2, 0 -_0801BCB0: .4byte gUnk_02002A40 +_0801BCB0: .4byte gSave thumb_func_start sub_0801BCB4 sub_0801BCB4: @ 0x0801BCB4 @@ -5403,7 +5403,7 @@ _0801BD40: bl ModHealth b _0801BD6C _0801BD54: - ldr r1, _0801BD88 @ =gUnk_02002A40 + ldr r1, _0801BD88 @ =gSave ldrb r0, [r5] adds r2, r1, #0 adds r2, #0xb2 @@ -5429,7 +5429,7 @@ _0801BD6C: beq _0801BDA2 b _0801BDAE .align 2, 0 -_0801BD88: .4byte gUnk_02002A40 +_0801BD88: .4byte gSave _0801BD8C: .4byte 0x000001CF _0801BD90: .4byte gPlayerEntity _0801BD94: diff --git a/asm/code_0801C370.s b/asm/code_0801C370.s index cb6c515f..81359341 100644 --- a/asm/code_0801C370.s +++ b/asm/code_0801C370.s @@ -11,7 +11,7 @@ sub_0801C370: @ 0x0801C370 push {r4, r5, r6, lr} cmp r0, #0 bne _0801C390 - ldr r0, _0801C388 @ =gUnk_02002A40 + ldr r0, _0801C388 @ =gSave adds r1, r0, #0 adds r1, #0xaa ldrb r1, [r1] @@ -21,7 +21,7 @@ sub_0801C370: @ 0x0801C370 ldr r5, _0801C38C @ =gUnk_0200AF00 b _0801C398 .align 2, 0 -_0801C388: .4byte gUnk_02002A40 +_0801C388: .4byte gSave _0801C38C: .4byte gUnk_0200AF00 _0801C390: ldr r0, _0801C470 @ =gUnk_0200AF00 @@ -35,7 +35,7 @@ _0801C398: bl _DmaZero strb r6, [r5, #3] strh r4, [r5, #0xe] - ldr r0, _0801C474 @ =gUnk_02002A40 + ldr r0, _0801C474 @ =gSave adds r0, #0xab ldrb r0, [r0] lsrs r0, r0, #1 @@ -121,7 +121,7 @@ _0801C398: pop {r4, r5, r6, pc} .align 2, 0 _0801C470: .4byte gUnk_0200AF00 -_0801C474: .4byte gUnk_02002A40 +_0801C474: .4byte gSave _0801C478: .4byte gBG0Buffer _0801C47C: .4byte gScreen _0801C480: .4byte 0x00001F0C diff --git a/asm/code_0801C85C.s b/asm/code_0801C85C.s index 06013f44..0c145b51 100644 --- a/asm/code_0801C85C.s +++ b/asm/code_0801C85C.s @@ -229,7 +229,7 @@ _0801C9EC: movs r0, #1 strh r0, [r1, #0xe] _0801CA1E: - ldr r0, _0801CA60 @ =gUnk_02002A40 + ldr r0, _0801CA60 @ =gSave ldr r3, _0801CA64 @ =gArea ldrb r1, [r3, #3] ldr r5, _0801CA68 @ =0x0000045C @@ -260,7 +260,7 @@ _0801CA50: _0801CA54: .4byte gUnk_020350E2 _0801CA58: .4byte 0x0000F01C _0801CA5C: .4byte gScreen -_0801CA60: .4byte gUnk_02002A40 +_0801CA60: .4byte gSave _0801CA64: .4byte gArea _0801CA68: .4byte 0x0000045C @@ -569,7 +569,7 @@ sub_0801CC80: @ 0x0801CC80 rsbs r0, r1, #0 orrs r0, r1 lsrs r0, r0, #0x1f - ldr r5, _0801CCAC @ =gUnk_02002A40 + ldr r5, _0801CCAC @ =gSave adds r1, r5, #0 adds r1, #0xb4 adds r0, r0, r1 @@ -585,7 +585,7 @@ _0801CCA8: adds r0, r4, #0 pop {r4, r5, pc} .align 2, 0 -_0801CCAC: .4byte gUnk_02002A40 +_0801CCAC: .4byte gSave thumb_func_start sub_0801CCB0 sub_0801CCB0: @ 0x0801CCB0 @@ -630,7 +630,7 @@ _0801CCF4: ble _0801CD28 cmp r0, #0xa bgt _0801CD60 - ldr r1, _0801CD24 @ =gUnk_02002A40 + ldr r1, _0801CD24 @ =gSave adds r0, r1, #0 adds r0, #0xad ldrb r2, [r0] @@ -645,9 +645,9 @@ _0801CCF4: .align 2, 0 _0801CD1C: .4byte gUnk_080FDFD8 _0801CD20: .4byte gUnk_0200AF13 -_0801CD24: .4byte gUnk_02002A40 +_0801CD24: .4byte gSave _0801CD28: - ldr r5, _0801CD44 @ =gUnk_02002A40 + ldr r5, _0801CD44 @ =gSave adds r0, r5, #0 adds r0, #0xac ldrb r2, [r0] @@ -663,7 +663,7 @@ _0801CD3C: adds r0, #0xae b _0801CD52 .align 2, 0 -_0801CD44: .4byte gUnk_02002A40 +_0801CD44: .4byte gSave _0801CD48: .4byte gBombBagSizes _0801CD4C: ldr r1, _0801CD5C @ =gQuiverSizes diff --git a/asm/code_0801D79C.s b/asm/code_0801D79C.s index 38bfd35d..f9bb8b3d 100644 --- a/asm/code_0801D79C.s +++ b/asm/code_0801D79C.s @@ -1924,7 +1924,7 @@ _0801E6E4: subs r0, r1, #1 cmp r0, #0x7e bhi _0801E70A - ldr r0, _0801E72C @ =gUnk_02002A40 + ldr r0, _0801E72C @ =gSave ldr r2, _0801E730 @ =0x000001C1 adds r0, r0, r2 adds r1, r1, r0 @@ -1953,7 +1953,7 @@ _0801E722: .align 2, 0 _0801E724: .4byte gUnk_02022740 _0801E728: .4byte gUnk_02002C01 -_0801E72C: .4byte gUnk_02002A40 +_0801E72C: .4byte gSave _0801E730: .4byte 0x000001C1 _0801E734: .4byte gUnk_03003DF0 @@ -1972,7 +1972,7 @@ sub_0801E738: @ 0x0801E738 cmp r1, #0 bge _0801E76E movs r1, #0 - ldr r0, _0801E794 @ =gUnk_02002A40 + ldr r0, _0801E794 @ =gSave movs r3, #0x8c lsls r3, r3, #1 adds r2, r0, r3 @@ -1988,7 +1988,7 @@ _0801E764: _0801E76E: cmp r1, #0x11 bhi _0801E790 - ldr r2, _0801E794 @ =gUnk_02002A40 + ldr r2, _0801E794 @ =gSave movs r3, #0x8c lsls r3, r3, #1 adds r0, r2, r3 @@ -2007,7 +2007,7 @@ _0801E78E: _0801E790: pop {r4, pc} .align 2, 0 -_0801E794: .4byte gUnk_02002A40 +_0801E794: .4byte gSave thumb_func_start sub_0801E798 sub_0801E798: @ 0x0801E798 @@ -2016,7 +2016,7 @@ sub_0801E798: @ 0x0801E798 adds r1, r0, #0 cmp r1, #0 blt _0801E7C4 - ldr r2, _0801E7C8 @ =gUnk_02002A40 + ldr r2, _0801E7C8 @ =gSave ldr r3, _0801E7CC @ =0x0000012B adds r0, r2, r3 adds r3, r1, r0 @@ -2036,7 +2036,7 @@ _0801E7C2: _0801E7C4: pop {r4, pc} .align 2, 0 -_0801E7C8: .4byte gUnk_02002A40 +_0801E7C8: .4byte gSave _0801E7CC: .4byte 0x0000012B thumb_func_start sub_0801E7D0 @@ -2046,14 +2046,14 @@ sub_0801E7D0: @ 0x0801E7D0 adds r1, r0, #0 cmp r1, #0 blt _0801E7F0 - ldr r0, _0801E7E8 @ =gUnk_02002A40 + ldr r0, _0801E7E8 @ =gSave ldr r2, _0801E7EC @ =0x0000012B adds r0, r0, r2 adds r0, r1, r0 ldrb r0, [r0] b _0801E7F2 .align 2, 0 -_0801E7E8: .4byte gUnk_02002A40 +_0801E7E8: .4byte gSave _0801E7EC: .4byte 0x0000012B _0801E7F0: movs r0, #0 @@ -2305,7 +2305,7 @@ sub_0801E99C: @ 0x0801E99C bl GetInventoryValue cmp r0, #0 beq _0801EA56 - ldr r1, _0801E9E8 @ =gUnk_02002A40 + ldr r1, _0801E9E8 @ =gSave ldrb r0, [r7] ldrb r2, [r1, #8] cmp r0, r2 @@ -2329,7 +2329,7 @@ _0801E9D6: b _0801EA10 .align 2, 0 _0801E9E4: .4byte gUnk_08001DCC -_0801E9E8: .4byte gUnk_02002A40 +_0801E9E8: .4byte gSave _0801E9EC: .4byte 0x000001C1 _0801E9F0: cmp r5, #0xf2 @@ -2370,7 +2370,7 @@ _0801EA1C: _0801EA32: movs r5, #0xf3 _0801EA34: - ldr r1, _0801EA5C @ =gUnk_02002A40 + ldr r1, _0801EA5C @ =gSave ldr r2, _0801EA60 @ =0x000001C1 adds r0, r1, r2 add r0, r8 @@ -2389,7 +2389,7 @@ _0801EA56: movs r0, #0 b _0801EA6E .align 2, 0 -_0801EA5C: .4byte gUnk_02002A40 +_0801EA5C: .4byte gSave _0801EA60: .4byte 0x000001C1 _0801EA64: subs r0, r5, #1 diff --git a/asm/code_08049D30.s b/asm/code_08049D30.s index b32b90b4..872580f6 100644 --- a/asm/code_08049D30.s +++ b/asm/code_08049D30.s @@ -1543,7 +1543,7 @@ _0804A864: bne _0804A934 adds r0, r5, #0 bl sub_08049CF4 - ldr r1, _0804A8E8 @ =gUnk_02002A40 + ldr r1, _0804A8E8 @ =gSave ldr r0, [r1, #0x50] adds r0, #1 str r0, [r1, #0x50] @@ -1594,7 +1594,7 @@ _0804A8CA: bl DeleteEntity b _0804A982 .align 2, 0 -_0804A8E8: .4byte gUnk_02002A40 +_0804A8E8: .4byte gSave _0804A8EC: adds r0, r5, #0 adds r0, #0x41 diff --git a/asm/code_0804AA84.s b/asm/code_0804AA84.s index 8b1015f6..6170eea3 100644 --- a/asm/code_0804AA84.s +++ b/asm/code_0804AA84.s @@ -149,7 +149,7 @@ _0804ACA4: .4byte gArea thumb_func_start sub_0804ACA8 sub_0804ACA8: @ 0x0804ACA8 push {lr} - ldr r0, _0804ACC0 @ =gUnk_03000FF0 + ldr r0, _0804ACC0 @ =gInput ldrh r1, [r0, #2] movs r0, #0x81 lsls r0, r0, #1 @@ -159,7 +159,7 @@ sub_0804ACA8: @ 0x0804ACA8 bl sub_0804AD18 b _0804ACC6 .align 2, 0 -_0804ACC0: .4byte gUnk_03000FF0 +_0804ACC0: .4byte gInput _0804ACC4: movs r0, #0 _0804ACC6: diff --git a/asm/code_080526F8.s b/asm/code_080526F8.s index 63821ab5..92ac7b50 100644 --- a/asm/code_080526F8.s +++ b/asm/code_080526F8.s @@ -47,7 +47,7 @@ sub_08052734: @ 0x08052734 bl sub_08052724 cmp r0, #0 beq _0805274C - ldr r0, _08052758 @ =gUnk_02002A40 + ldr r0, _08052758 @ =gSave ldr r1, _0805275C @ =gArea ldr r2, _08052760 @ =0x0000045C adds r0, r0, r2 @@ -62,7 +62,7 @@ _0805274C: _08052754: pop {r4, pc} .align 2, 0 -_08052758: .4byte gUnk_02002A40 +_08052758: .4byte gSave _0805275C: .4byte gArea _08052760: .4byte 0x0000045C @@ -72,7 +72,7 @@ sub_08052764: @ 0x08052764 bl sub_08052724 cmp r0, #0 beq _08052784 - ldr r0, _08052790 @ =gUnk_02002A40 + ldr r0, _08052790 @ =gSave ldr r1, _08052794 @ =gArea ldr r2, _08052798 @ =0x0000046C adds r0, r0, r2 @@ -91,7 +91,7 @@ _08052784: _0805278C: pop {r4, pc} .align 2, 0 -_08052790: .4byte gUnk_02002A40 +_08052790: .4byte gSave _08052794: .4byte gArea _08052798: .4byte 0x0000046C @@ -101,7 +101,7 @@ sub_0805279C: @ 0x0805279C bl sub_08052724 cmp r0, #0 beq _080527C8 - ldr r0, _080527BC @ =gUnk_02002A40 + ldr r0, _080527BC @ =gSave ldr r1, _080527C0 @ =gArea ldr r2, _080527C4 @ =0x0000046C adds r0, r0, r2 @@ -113,7 +113,7 @@ sub_0805279C: @ 0x0805279C ands r0, r1 b _080527CA .align 2, 0 -_080527BC: .4byte gUnk_02002A40 +_080527BC: .4byte gSave _080527C0: .4byte gArea _080527C4: .4byte 0x0000046C _080527C8: @@ -127,7 +127,7 @@ sub_080527CC: @ 0x080527CC bl sub_08052724 cmp r0, #0 beq _080527F8 - ldr r0, _080527EC @ =gUnk_02002A40 + ldr r0, _080527EC @ =gSave ldr r1, _080527F0 @ =gArea ldr r2, _080527F4 @ =0x0000046C adds r0, r0, r2 @@ -138,7 +138,7 @@ sub_080527CC: @ 0x080527CC ands r0, r1 b _080527FA .align 2, 0 -_080527EC: .4byte gUnk_02002A40 +_080527EC: .4byte gSave _080527F0: .4byte gArea _080527F4: .4byte 0x0000046C _080527F8: @@ -293,7 +293,7 @@ sub_0805291C: @ 0x0805291C ldrb r0, [r4, #8] cmp r0, #0 beq _080529F4 - ldr r0, _0805294C @ =gUnk_02002A40 + ldr r0, _0805294C @ =gSave adds r0, #0xaa ldrb r0, [r0] cmp r0, #0 @@ -311,7 +311,7 @@ sub_0805291C: @ 0x0805291C b _080529F6 .align 2, 0 _08052948: .4byte gScreenTransition -_0805294C: .4byte gUnk_02002A40 +_0805294C: .4byte gSave _08052950: .4byte gPlayerState _08052954: ldrb r0, [r4, #9] @@ -546,7 +546,7 @@ _08052B22: thumb_func_start sub_08052B24 sub_08052B24: @ 0x08052B24 push {lr} - ldr r0, _08052B90 @ =gUnk_03000FF0 + ldr r0, _08052B90 @ =gInput ldrh r1, [r0] movs r0, #4 ands r0, r1 @@ -600,7 +600,7 @@ _08052B8A: movs r0, #0 b _08052BB4 .align 2, 0 -_08052B90: .4byte gUnk_03000FF0 +_08052B90: .4byte gInput _08052B94: .4byte gPlayerState _08052B98: .4byte gUnk_02034490 _08052B9C: .4byte gUnk_0200AF00 @@ -1322,11 +1322,11 @@ _0805312C: beq _08053138 movs r4, #2 _08053138: - ldr r0, _08053140 @ =gUnk_02002A40 + ldr r0, _08053140 @ =gSave strb r4, [r0, #8] pop {r4, r5, pc} .align 2, 0 -_08053140: .4byte gUnk_02002A40 +_08053140: .4byte gSave thumb_func_start sub_08053144 sub_08053144: @ 0x08053144 @@ -1513,12 +1513,12 @@ _080532BC: beq _080532D0 b _080532DC _080532C2: - ldr r1, _080532CC @ =gUnk_02002A40 + ldr r1, _080532CC @ =gSave movs r0, #0 strb r0, [r1, #7] b _080532E0 .align 2, 0 -_080532CC: .4byte gUnk_02002A40 +_080532CC: .4byte gSave _080532D0: bl sub_080530B0 b _080532E0 @@ -1721,7 +1721,7 @@ _0805345C: .4byte gArea thumb_func_start sub_08053460 sub_08053460: @ 0x08053460 push {lr} - ldr r0, _08053488 @ =gUnk_02002A40 + ldr r0, _08053488 @ =gSave ldr r1, _0805348C @ =0x0000048C adds r0, r0, r1 movs r1, #0 @@ -1739,20 +1739,20 @@ _08053480: bl sub_0805356C pop {pc} .align 2, 0 -_08053488: .4byte gUnk_02002A40 +_08053488: .4byte gSave _0805348C: .4byte 0x0000048C _08053490: .4byte gUnk_080FCB38 thumb_func_start sub_08053494 sub_08053494: @ 0x08053494 - ldr r0, _080534A0 @ =gUnk_02002A40 + ldr r0, _080534A0 @ =gSave ldr r1, _080534A4 @ =0x0000048C adds r0, r0, r1 ldr r1, _080534A8 @ =0x00002A30 str r1, [r0] bx lr .align 2, 0 -_080534A0: .4byte gUnk_02002A40 +_080534A0: .4byte gSave _080534A4: .4byte 0x0000048C _080534A8: .4byte 0x00002A30 @@ -1769,7 +1769,7 @@ sub_080534AC: @ 0x080534AC adds r0, r4, #0 movs r1, #0x7c bl ClearLocalFlagByOffset - ldr r0, _080534D8 @ =gUnk_02002A40 + ldr r0, _080534D8 @ =gSave ldr r1, _080534DC @ =0x0000048C adds r0, r0, r1 movs r1, #0 @@ -1779,7 +1779,7 @@ sub_080534AC: @ 0x080534AC _080534D6: pop {r4, pc} .align 2, 0 -_080534D8: .4byte gUnk_02002A40 +_080534D8: .4byte gSave _080534DC: .4byte 0x0000048C _080534E0: .4byte 0x80100000 @@ -1803,14 +1803,14 @@ _080534FC: .4byte gRoomControls thumb_func_start sub_08053500 sub_08053500: @ 0x08053500 - ldr r0, _0805350C @ =gUnk_02002A40 + ldr r0, _0805350C @ =gSave ldr r1, _08053510 @ =0x00000494 adds r0, r0, r1 ldr r1, _08053514 @ =0x00008CA0 str r1, [r0] bx lr .align 2, 0 -_0805350C: .4byte gUnk_02002A40 +_0805350C: .4byte gSave _08053510: .4byte 0x00000494 _08053514: .4byte 0x00008CA0 @@ -3300,7 +3300,7 @@ _080540D0: cmp r0, #0 bne _080540C6 adds r6, r4, #0 - ldr r0, _08054100 @ =gUnk_02002A40 + ldr r0, _08054100 @ =gSave adds r0, #0xb6 adds r1, r5, r0 ldrb r0, [r1] @@ -3316,10 +3316,10 @@ _080540EE: bl PutItemOnSlot b _0805427C .align 2, 0 -_08054100: .4byte gUnk_02002A40 +_08054100: .4byte gSave _08054104: movs r5, #0 - ldr r0, _08054144 @ =gUnk_02002A40 + ldr r0, _08054144 @ =gSave adds r2, r0, #0 adds r2, #0xb6 ldrb r1, [r2] @@ -3353,14 +3353,14 @@ _0805412C: bl PlaySFX b _0805427C .align 2, 0 -_08054144: .4byte gUnk_02002A40 +_08054144: .4byte gSave _08054148: .4byte 0x00000109 _0805414C: movs r0, #1 bl sub_080526F8 b _0805424E _08054154: - ldr r1, _08054168 @ =gUnk_02002A40 + ldr r1, _08054168 @ =gSave ldr r0, _0805416C @ =gArea ldr r2, _08054170 @ =0x0000046C adds r1, r1, r2 @@ -3371,7 +3371,7 @@ _08054154: orrs r0, r2 b _0805427A .align 2, 0 -_08054168: .4byte gUnk_02002A40 +_08054168: .4byte gSave _0805416C: .4byte gArea _08054170: .4byte 0x0000046C _08054174: @@ -3417,7 +3417,7 @@ _080541B6: bl PutItemOnSlot b _080541E2 _080541CA: - ldr r0, _080541EC @ =gUnk_02002A40 + ldr r0, _080541EC @ =gSave adds r1, r0, #0 adds r1, #0xae ldrb r0, [r1] @@ -3434,7 +3434,7 @@ _080541E2: bl ModBombs b _0805427C .align 2, 0 -_080541EC: .4byte gUnk_02002A40 +_080541EC: .4byte gSave _080541F0: ldrb r0, [r4, #2] bl ModBombs @@ -3452,7 +3452,7 @@ _0805420A: bl ModArrows b _080541B0 _08054212: - ldr r0, _08054234 @ =gUnk_02002A40 + ldr r0, _08054234 @ =gSave adds r1, r0, #0 adds r1, #0xaf ldrb r0, [r1] @@ -3469,7 +3469,7 @@ _0805422A: bl ModArrows b _0805427C .align 2, 0 -_08054234: .4byte gUnk_02002A40 +_08054234: .4byte gSave _08054238: ldrb r0, [r4, #2] bl ModArrows @@ -3491,7 +3491,7 @@ _0805425C: bl sub_0801E738 b _0805427C _08054264: - ldr r0, _08054284 @ =gUnk_02002A40 + ldr r0, _08054284 @ =gSave adds r1, r0, #0 adds r1, #0xa8 ldrb r0, [r1] @@ -3510,7 +3510,7 @@ _0805427C: mov r8, r3 pop {r4, r5, r6, r7, pc} .align 2, 0 -_08054284: .4byte gUnk_02002A40 +_08054284: .4byte gSave thumb_func_start sub_08054288 sub_08054288: @ 0x08054288 @@ -3554,7 +3554,7 @@ sub_080542C0: @ 0x080542C0 bne _080542CA movs r2, #1 _080542CA: - ldr r1, _080542DC @ =gUnk_02002A40 + ldr r1, _080542DC @ =gSave adds r0, r1, #0 adds r0, #0xc2 ldrh r0, [r0] @@ -3564,7 +3564,7 @@ _080542CA: movs r2, #0 b _080542E8 .align 2, 0 -_080542DC: .4byte gUnk_02002A40 +_080542DC: .4byte gSave _080542E0: ldr r3, _080542F0 @ =0x000003E7 cmp r2, r3 diff --git a/asm/code_0805436C.s b/asm/code_0805436C.s index 45ab199a..3e74e142 100644 --- a/asm/code_0805436C.s +++ b/asm/code_0805436C.s @@ -1102,7 +1102,7 @@ sub_08055114: @ 0x08055114 push {r4, lr} ldr r0, _08055150 @ =gUnk_080FF17C bl LoadRoomEntityList - ldr r0, _08055154 @ =gUnk_02002A40 + ldr r0, _08055154 @ =gSave ldrb r0, [r0, #8] cmp r0, #9 beq _0805512A @@ -1127,7 +1127,7 @@ _0805512A: pop {r4, pc} .align 2, 0 _08055150: .4byte gUnk_080FF17C -_08055154: .4byte gUnk_02002A40 +_08055154: .4byte gSave _08055158: .4byte 0x00000DB4 _0805515C: .4byte gMenu _08055160: .4byte gUnk_02000070 @@ -2024,7 +2024,7 @@ sub_08055834: @ 0x08055834 push {r4, lr} ldr r0, _08055870 @ =gUnk_080FF2C0 bl LoadRoomEntityList - ldr r0, _08055874 @ =gUnk_02002A40 + ldr r0, _08055874 @ =gSave ldrb r0, [r0, #8] cmp r0, #9 beq _0805584A @@ -2049,7 +2049,7 @@ _0805584A: pop {r4, pc} .align 2, 0 _08055870: .4byte gUnk_080FF2C0 -_08055874: .4byte gUnk_02002A40 +_08055874: .4byte gSave _08055878: .4byte 0x00000DB4 _0805587C: .4byte gMenu _08055880: .4byte gUnk_02000070 diff --git a/asm/code_08056418.s b/asm/code_08056418.s index 2b845adf..bb12835c 100644 --- a/asm/code_08056418.s +++ b/asm/code_08056418.s @@ -19,7 +19,7 @@ sub_080566B8: @ 0x080566B8 strb r0, [r1] b _0805674E _080566CC: - ldr r0, _08056740 @ =gUnk_03000FF0 + ldr r0, _08056740 @ =gInput ldrh r1, [r0] movs r0, #2 ands r0, r1 @@ -81,7 +81,7 @@ _08056732: strb r1, [r0] b _0805674E .align 2, 0 -_08056740: .4byte gUnk_03000FF0 +_08056740: .4byte gInput _08056744: .4byte gUnk_08107C0C _08056748: .4byte gUnk_02022780 _0805674C: @@ -422,7 +422,7 @@ sub_080569D4: @ 0x080569D4 ldr r0, _080569F0 @ =gUnk_02024030 movs r5, #3 ldrsb r5, [r0, r5] - ldr r0, _080569F4 @ =gUnk_03000FF0 + ldr r0, _080569F4 @ =gInput ldrh r0, [r0, #2] cmp r0, #8 beq _08056A02 @@ -433,7 +433,7 @@ sub_080569D4: @ 0x080569D4 b _08056A6A .align 2, 0 _080569F0: .4byte gUnk_02024030 -_080569F4: .4byte gUnk_03000FF0 +_080569F4: .4byte gInput _080569F8: cmp r0, #0x10 beq _08056A68 @@ -603,7 +603,7 @@ sub_08056B1C: @ 0x08056B1C .align 2, 0 _08056B44: .4byte gTextBox _08056B48: - ldr r0, _08056B68 @ =gUnk_03000FF0 + ldr r0, _08056B68 @ =gInput ldrh r1, [r0, #2] ldr r0, _08056B6C @ =0x000001F3 ands r0, r1 @@ -619,7 +619,7 @@ _08056B48: movs r0, #4 b _08056B78 .align 2, 0 -_08056B68: .4byte gUnk_03000FF0 +_08056B68: .4byte gInput _08056B6C: .4byte 0x000001F3 _08056B70: adds r1, r4, #0 @@ -665,7 +665,7 @@ sub_08056BA0: @ 0x08056BA0 beq _08056BCE cmp r0, #2 beq _08056BC8 - ldr r0, _08056BD4 @ =gUnk_03000FF0 + ldr r0, _08056BD4 @ =gInput ldrh r1, [r0, #2] ldr r0, _08056BD8 @ =0x000001F3 ands r0, r1 @@ -678,7 +678,7 @@ _08056BCE: pop {r4, pc} .align 2, 0 _08056BD0: .4byte gTextBox -_08056BD4: .4byte gUnk_03000FF0 +_08056BD4: .4byte gInput _08056BD8: .4byte 0x000001F3 thumb_func_start sub_08056BDC diff --git a/asm/code_0805EC04.s b/asm/code_0805EC04.s index 134743db..329b46b0 100644 --- a/asm/code_0805EC04.s +++ b/asm/code_0805EC04.s @@ -85,14 +85,14 @@ _0805EDAC: _0805EDB4: movs r0, #0 strb r0, [r2] - ldr r0, _0805EDF8 @ =gUnk_03000FF0 + ldr r0, _0805EDF8 @ =gInput ldrh r0, [r0] bl sub_0805EE04 adds r1, r4, #0 adds r1, #0x90 strh r0, [r1] _0805EDC6: - ldr r0, _0805EDF8 @ =gUnk_03000FF0 + ldr r0, _0805EDF8 @ =gInput ldrh r1, [r0] _0805EDCA: adds r0, r1, #0 @@ -117,7 +117,7 @@ _0805EDCA: strb r0, [r3, #0xd] pop {r4, pc} .align 2, 0 -_0805EDF8: .4byte gUnk_03000FF0 +_0805EDF8: .4byte gInput _0805EDFC: .4byte gPlayerState _0805EE00: .4byte gUnk_08109202 diff --git a/asm/code_0806ED78.s b/asm/code_0806ED78.s index c5e24be4..50acd0ae 100644 --- a/asm/code_0806ED78.s +++ b/asm/code_0806ED78.s @@ -598,7 +598,7 @@ sub_0806F188: @ 0x0806F188 adds r1, r0, #0 cmp r1, #0 beq _0806F1A0 - ldr r0, _0806F1A4 @ =gUnk_02002A40 + ldr r0, _0806F1A4 @ =gSave ldr r2, _0806F1A8 @ =0x000001C1 adds r0, r0, r2 adds r0, r1, r0 @@ -607,7 +607,7 @@ sub_0806F188: @ 0x0806F188 _0806F1A0: pop {pc} .align 2, 0 -_0806F1A4: .4byte gUnk_02002A40 +_0806F1A4: .4byte gSave _0806F1A8: .4byte 0x000001C1 thumb_func_start ShowNPCDialogue diff --git a/asm/code_0806FA6C.s b/asm/code_0806FA6C.s index b9b439c0..40190422 100644 --- a/asm/code_0806FA6C.s +++ b/asm/code_0806FA6C.s @@ -1462,7 +1462,7 @@ _080705A8: .4byte gUnk_02034490 thumb_func_start sub_080705AC sub_080705AC: @ 0x080705AC push {lr} - ldr r0, _08070614 @ =gUnk_03000FF0 + ldr r0, _08070614 @ =gInput ldrh r1, [r0, #2] movs r0, #8 ands r0, r1 @@ -1482,7 +1482,7 @@ sub_080705AC: @ 0x080705AC ands r0, r1 cmp r0, #0 bne _08070674 - ldr r1, _08070624 @ =gUnk_02002A40 + ldr r1, _08070624 @ =gSave adds r0, r1, #0 adds r0, #0xaa ldrb r0, [r0] @@ -1513,11 +1513,11 @@ sub_080705AC: @ 0x080705AC ldrb r0, [r0] b _08070632 .align 2, 0 -_08070614: .4byte gUnk_03000FF0 +_08070614: .4byte gInput _08070618: .4byte gFadeControl _0807061C: .4byte gUnk_02034490 _08070620: .4byte gTextBox -_08070624: .4byte gUnk_02002A40 +_08070624: .4byte gSave _08070628: .4byte gPlayerState _0807062C: .4byte gUnk_03003DC0 _08070630: diff --git a/asm/code_08070698.s b/asm/code_08070698.s index 0b19e971..9fb088c9 100644 --- a/asm/code_08070698.s +++ b/asm/code_08070698.s @@ -1127,7 +1127,7 @@ sub_08071D04: @ 0x08071D04 adds r1, r0, #0 cmp r1, #0 beq _08071D3A - ldr r0, _08071D6C @ =gUnk_02002A40 + ldr r0, _08071D6C @ =gSave adds r0, r0, r1 adds r0, #0xb5 movs r1, #0x20 @@ -1162,7 +1162,7 @@ _08071D3A: strb r3, [r1] b _08071D7A .align 2, 0 -_08071D6C: .4byte gUnk_02002A40 +_08071D6C: .4byte gSave _08071D70: .4byte gPlayerState _08071D74: ldr r1, _08071D7C @ =gScreenTransition diff --git a/asm/code_080732D0.s b/asm/code_080732D0.s index 4eacdd99..2aff08e1 100644 --- a/asm/code_080732D0.s +++ b/asm/code_080732D0.s @@ -2319,7 +2319,7 @@ sub_0807441C: @ 0x0807441C ldrb r0, [r0] cmp r0, #4 bne _08074502 - ldr r6, _08074444 @ =gUnk_02002A40 + ldr r6, _08074444 @ =gSave adds r4, r6, #0 adds r4, #0xb4 ldrb r0, [r4] @@ -2330,7 +2330,7 @@ sub_0807441C: @ 0x0807441C b _0807444E .align 2, 0 _08074440: .4byte gPlayerState -_08074444: .4byte gUnk_02002A40 +_08074444: .4byte gSave _08074448: adds r0, r6, #0 adds r0, #0xb5 @@ -5810,7 +5810,7 @@ sub_08075E40: @ 0x08075E40 movs r0, #0x7f ands r0, r1 strb r0, [r4, #9] - ldr r0, _08075EA4 @ =gUnk_02002A40 + ldr r0, _08075EA4 @ =gSave adds r0, #0xad ldrb r0, [r0] cmp r0, #0 @@ -5825,7 +5825,7 @@ sub_08075E40: @ 0x08075E40 b _08075EB8 .align 2, 0 _08075EA0: .4byte gPlayerState -_08075EA4: .4byte gUnk_02002A40 +_08075EA4: .4byte gSave _08075EA8: adds r1, r6, #0 adds r1, #0x21 @@ -5845,7 +5845,7 @@ sub_08075EC0: @ 0x08075EC0 push {r4, r5, r6, lr} adds r4, r0, #0 adds r6, r1, #0 - ldr r0, _08075F04 @ =gUnk_02002A40 + ldr r0, _08075F04 @ =gSave adds r0, #0xad ldrb r5, [r0] adds r0, r4, #0 @@ -5875,7 +5875,7 @@ _08075EF0: bl sub_08077E78 b _08075F32 .align 2, 0 -_08075F04: .4byte gUnk_02002A40 +_08075F04: .4byte gSave _08075F08: .4byte gPlayerState _08075F0C: ldr r2, _08075F34 @ =gPlayerState @@ -7323,7 +7323,7 @@ _080769CC: adds r5, r0, #0 cmp r5, #0 beq _08076A70 - ldr r6, _08076A34 @ =gUnk_02002A40 + ldr r6, _08076A34 @ =gSave adds r4, r6, #0 adds r4, #0xb4 ldrb r0, [r4] @@ -7333,7 +7333,7 @@ _080769CC: ldrb r1, [r4] b _08076A3E .align 2, 0 -_08076A34: .4byte gUnk_02002A40 +_08076A34: .4byte gSave _08076A38: adds r0, r6, #0 adds r0, #0xb5 diff --git a/asm/code_08076C80.s b/asm/code_08076C80.s index 912fdbcc..5ef6eb26 100644 --- a/asm/code_08076C80.s +++ b/asm/code_08076C80.s @@ -939,7 +939,7 @@ sub_08077534: @ 0x08077534 orrs r0, r1 strb r0, [r4, #9] ldrb r1, [r4, #1] - ldr r0, _08077574 @ =gUnk_02002A40 + ldr r0, _08077574 @ =gSave adds r0, r0, r1 adds r0, #0x9a ldrb r0, [r0] @@ -955,7 +955,7 @@ sub_08077534: @ 0x08077534 mov pc, r0 .align 2, 0 _08077570: .4byte gPlayerEntity -_08077574: .4byte gUnk_02002A40 +_08077574: .4byte gSave _08077578: .4byte _0807757C _0807757C: @ jump table .4byte _080775C4 @ case 0 @@ -1125,7 +1125,7 @@ sub_08077698: @ 0x08077698 bl sub_080777A0 cmp r0, #0 bne _08077700 - ldr r4, _08077720 @ =gUnk_02002A40 + ldr r4, _08077720 @ =gSave adds r0, r4, #0 adds r0, #0xb4 ldrb r0, [r0] @@ -1156,7 +1156,7 @@ _08077712: pop {r4, r5, pc} .align 2, 0 _0807771C: .4byte gPlayerState -_08077720: .4byte gUnk_02002A40 +_08077720: .4byte gSave _08077724: .4byte gUnk_03000B80 thumb_func_start sub_08077728 @@ -1164,7 +1164,7 @@ sub_08077728: @ 0x08077728 push {lr} cmp r0, #0 bne _08077744 - ldr r0, _08077740 @ =gUnk_02002A40 + ldr r0, _08077740 @ =gSave adds r0, #0xb4 ldrb r0, [r0] movs r1, #1 @@ -1172,9 +1172,9 @@ sub_08077728: @ 0x08077728 bl sub_08077880 b _08077752 .align 2, 0 -_08077740: .4byte gUnk_02002A40 +_08077740: .4byte gSave _08077744: - ldr r0, _08077754 @ =gUnk_02002A40 + ldr r0, _08077754 @ =gSave adds r0, #0xb5 ldrb r0, [r0] movs r1, #2 @@ -1183,7 +1183,7 @@ _08077744: _08077752: pop {pc} .align 2, 0 -_08077754: .4byte gUnk_02002A40 +_08077754: .4byte gSave thumb_func_start sub_08077758 sub_08077758: @ 0x08077758 @@ -1640,7 +1640,7 @@ _08077A96: thumb_func_start sub_08077A98 sub_08077A98: @ 0x08077A98 push {lr} - ldr r0, _08077AB8 @ =gUnk_02002A40 + ldr r0, _08077AB8 @ =gSave adds r0, #0xac ldrb r0, [r0] cmp r0, #0 @@ -1656,7 +1656,7 @@ sub_08077A98: @ 0x08077A98 adds r0, r1, #0 b _08077AC6 .align 2, 0 -_08077AB8: .4byte gUnk_02002A40 +_08077AB8: .4byte gSave _08077ABC: .4byte gPlayerState _08077AC0: .4byte gUnk_03000B80 _08077AC4: diff --git a/asm/code_08077B98.s b/asm/code_08077B98.s index aaec6e04..ee57b918 100644 --- a/asm/code_08077B98.s +++ b/asm/code_08077B98.s @@ -25,7 +25,7 @@ _08078004: .4byte gUnk_0811BFE8 sub_08078008: @ 0x08078008 push {r4, r5, r6, lr} adds r4, r0, #0 - ldr r6, _08078060 @ =gUnk_02002A40 + ldr r6, _08078060 @ =gSave adds r5, r6, #0 adds r5, #0xb4 ldrb r0, [r5] @@ -69,7 +69,7 @@ _08078036: strb r2, [r4, #2] b _0807806C .align 2, 0 -_08078060: .4byte gUnk_02002A40 +_08078060: .4byte gSave _08078064: .4byte gPlayerState _08078068: movs r0, #0 @@ -529,7 +529,7 @@ _080783B6: bhi _0807842C movs r0, #0 bl sub_0801E738 - ldr r0, _08078410 @ =gUnk_02002A40 + ldr r0, _08078410 @ =gSave ldr r1, _08078414 @ =0x0000012B adds r0, r0, r1 ldrb r0, [r0] @@ -550,7 +550,7 @@ _08078400: .4byte gPlayerEntity _08078404: .4byte 0x00000206 _08078408: .4byte gPlayerState _0807840C: .4byte gUnk_03003DF0 -_08078410: .4byte gUnk_02002A40 +_08078410: .4byte gSave _08078414: .4byte 0x0000012B _08078418: ldr r0, _08078428 @ =0x00000B65 diff --git a/asm/code_08078778.s b/asm/code_08078778.s index afea07e6..3adfafaa 100644 --- a/asm/code_08078778.s +++ b/asm/code_08078778.s @@ -3221,7 +3221,7 @@ sub_0807A094: @ 0x0807A094 .align 2, 0 _0807A0AC: .4byte gPlayerState _0807A0B0: - ldr r0, _0807A0F0 @ =gUnk_02002A40 + ldr r0, _0807A0F0 @ =gSave adds r1, r0, #0 adds r1, #0xb2 ldrb r1, [r1] @@ -3254,7 +3254,7 @@ _0807A0D6: beq _0807A0FA b _0807A102 .align 2, 0 -_0807A0F0: .4byte gUnk_02002A40 +_0807A0F0: .4byte gSave _0807A0F4: cmp r0, #0x31 beq _0807A0FE @@ -3315,7 +3315,7 @@ _0807A154: .4byte gPlayerEntity thumb_func_start sub_0807A158 sub_0807A158: @ 0x0807A158 push {r4, lr} - ldr r4, _0807A178 @ =gUnk_02002A40 + ldr r4, _0807A178 @ =gSave adds r0, r4, #0 adds r0, #0xb4 ldrb r0, [r0] @@ -3328,7 +3328,7 @@ sub_0807A158: @ 0x0807A158 bl sub_0805449C b _0807A17E .align 2, 0 -_0807A178: .4byte gUnk_02002A40 +_0807A178: .4byte gSave _0807A17C: movs r0, #1 _0807A17E: @@ -5289,7 +5289,7 @@ sub_0807B014: @ 0x0807B014 ands r0, r1 cmp r0, #0 beq _0807B044 - ldr r0, _0807B040 @ =gUnk_02002A40 + ldr r0, _0807B040 @ =gSave adds r1, r0, #0 adds r1, #0xaa adds r0, #0xab @@ -5301,7 +5301,7 @@ sub_0807B014: @ 0x0807B014 b _0807B066 .align 2, 0 _0807B03C: .4byte gPlayerState -_0807B040: .4byte gUnk_02002A40 +_0807B040: .4byte gSave _0807B044: adds r0, r2, #0 adds r0, #0xac @@ -5310,7 +5310,7 @@ _0807B044: ands r0, r1 cmp r0, #0 beq _0807B064 - ldr r0, _0807B060 @ =gUnk_02002A40 + ldr r0, _0807B060 @ =gSave adds r0, #0xaa ldrb r0, [r0] cmp r0, #8 @@ -5318,7 +5318,7 @@ _0807B044: movs r0, #0x16 b _0807B066 .align 2, 0 -_0807B060: .4byte gUnk_02002A40 +_0807B060: .4byte gSave _0807B064: movs r0, #0 _0807B066: diff --git a/asm/code_0807CAA0.s b/asm/code_0807CAA0.s index 0b12b535..45cd2503 100644 --- a/asm/code_0807CAA0.s +++ b/asm/code_0807CAA0.s @@ -29,7 +29,7 @@ _0807CAC4: .4byte gUnk_02002B32 thumb_func_start sub_0807CAC8 sub_0807CAC8: @ 0x0807CAC8 - ldr r2, _0807CAE0 @ =gUnk_02002A40 + ldr r2, _0807CAE0 @ =gSave ldr r1, _0807CAE4 @ =gArea ldr r3, _0807CAE8 @ =0x0000047C adds r2, r2, r3 @@ -42,14 +42,14 @@ sub_0807CAC8: @ 0x0807CAC8 strb r1, [r2] bx lr .align 2, 0 -_0807CAE0: .4byte gUnk_02002A40 +_0807CAE0: .4byte gSave _0807CAE4: .4byte gArea _0807CAE8: .4byte 0x0000047C thumb_func_start sub_0807CAEC sub_0807CAEC: @ 0x0807CAEC adds r2, r0, #0 - ldr r0, _0807CB04 @ =gUnk_02002A40 + ldr r0, _0807CB04 @ =gSave ldr r1, _0807CB08 @ =gArea ldr r3, _0807CB0C @ =0x0000047C adds r0, r0, r3 @@ -61,7 +61,7 @@ sub_0807CAEC: @ 0x0807CAEC ands r0, r1 bx lr .align 2, 0 -_0807CB04: .4byte gUnk_02002A40 +_0807CB04: .4byte gSave _0807CB08: .4byte gArea _0807CB0C: .4byte 0x0000047C diff --git a/asm/code_0807F0D8.s b/asm/code_0807F0D8.s index 4f9ed157..51137693 100644 --- a/asm/code_0807F0D8.s +++ b/asm/code_0807F0D8.s @@ -7,7 +7,7 @@ thumb_func_start sub_0807F0D8 sub_0807F0D8: @ 0x0807F0D8 - ldr r0, _0807F0E8 @ =gUnk_03000FF0 + ldr r0, _0807F0E8 @ =gInput ldrh r2, [r0, #2] rsbs r0, r2, #0 orrs r0, r2 @@ -15,7 +15,7 @@ sub_0807F0D8: @ 0x0807F0D8 str r0, [r1, #0x14] bx lr .align 2, 0 -_0807F0E8: .4byte gUnk_03000FF0 +_0807F0E8: .4byte gInput thumb_func_start sub_0807F0EC sub_0807F0EC: @ 0x0807F0EC @@ -1010,7 +1010,7 @@ sub_0807F7C4: @ 0x0807F7C4 _0807F7D2: bl sub_08053FE0 movs r2, #0 - ldr r1, _0807F7F8 @ =gUnk_02002A40 + ldr r1, _0807F7F8 @ =gSave adds r1, #0xc0 ldrh r1, [r1] cmp r0, r1 @@ -1026,7 +1026,7 @@ _0807F7E4: pop {r4, pc} .align 2, 0 _0807F7F4: .4byte gRoomVars -_0807F7F8: .4byte gUnk_02002A40 +_0807F7F8: .4byte gSave _0807F7FC: .4byte gUnk_02033280 thumb_func_start sub_0807F800 @@ -1562,7 +1562,7 @@ _0807FBF8: .4byte gUnk_02033280 thumb_func_start sub_0807FBFC sub_0807FBFC: @ 0x0807FBFC - ldr r3, _0807FC20 @ =gUnk_02002A40 + ldr r3, _0807FC20 @ =gSave adds r0, r3, #0 adds r0, #0xb2 movs r1, #0 @@ -1580,7 +1580,7 @@ sub_0807FBFC: @ 0x0807FBFC strh r1, [r0] bx lr .align 2, 0 -_0807FC20: .4byte gUnk_02002A40 +_0807FC20: .4byte gSave thumb_func_start sub_0807FC24 sub_0807FC24: @ 0x0807FC24 diff --git a/asm/code_080A3480.s b/asm/code_080A3480.s index 36ba6916..e4183f7d 100644 --- a/asm/code_080A3480.s +++ b/asm/code_080A3480.s @@ -224,7 +224,7 @@ _080A3604: .4byte gUnk_03001000 thumb_func_start sub_080A3608 sub_080A3608: @ 0x080A3608 push {r4, r5, lr} - ldr r0, _080A3640 @ =gUnk_02002A40 + ldr r0, _080A3640 @ =gSave movs r5, #0 movs r4, #1 strb r4, [r0, #6] @@ -250,7 +250,7 @@ sub_080A3608: @ 0x080A3608 ldr r0, _080A364C @ =gUnk_08127998 b _080A365E .align 2, 0 -_080A3640: .4byte gUnk_02002A40 +_080A3640: .4byte gSave _080A3644: .4byte gUnk_03001000 _080A3648: .4byte gMenu _080A364C: .4byte gUnk_08127998 @@ -753,7 +753,7 @@ _080A3A42: _080A3A50: .4byte gFadeControl _080A3A54: ldrb r4, [r2, #3] - ldr r0, _080A3A68 @ =gUnk_03000FF0 + ldr r0, _080A3A68 @ =gInput ldrh r0, [r0, #2] cmp r0, #0x40 beq _080A3A72 @@ -763,7 +763,7 @@ _080A3A54: beq _080A3A7A b _080A3A9A .align 2, 0 -_080A3A68: .4byte gUnk_03000FF0 +_080A3A68: .4byte gInput _080A3A6C: cmp r0, #0x80 beq _080A3A76 @@ -782,7 +782,7 @@ _080A3A7A: _080A3A82: movs r0, #8 movs r1, #0 - bl sub_08050318 + bl CreateDialogBox movs r0, #2 _080A3A8C: ldr r1, _080A3AB4 @ =gMenu @@ -827,7 +827,7 @@ _080A3ADC: strh r0, [r4, #8] movs r0, #9 movs r1, #0 - bl sub_08050318 + bl CreateDialogBox movs r0, #3 strb r0, [r4, #6] b _080A3B36 @@ -840,7 +840,7 @@ _080A3AEE: strh r0, [r1, #8] b _080A3B36 _080A3AFC: - ldr r0, _080A3B10 @ =gUnk_03000FF0 + ldr r0, _080A3B10 @ =gInput ldrh r1, [r0, #2] movs r0, #0xb ands r0, r1 @@ -850,7 +850,7 @@ _080A3AFC: strb r0, [r2, #6] b _080A3B36 .align 2, 0 -_080A3B10: .4byte gUnk_03000FF0 +_080A3B10: .4byte gInput _080A3B14: ldr r2, _080A3B38 @ =gScreen ldrh r1, [r2] @@ -879,7 +879,7 @@ _080A3B44: .4byte gMenu sub_080A3B48: @ 0x080A3B48 push {lr} movs r1, #0 - ldr r0, _080A3B6C @ =gUnk_02002A40 + ldr r0, _080A3B6C @ =gSave ldr r3, _080A3B70 @ =0x0000012B adds r2, r0, r3 ldrb r0, [r2] @@ -897,7 +897,7 @@ _080A3B66: adds r0, r1, #0 pop {pc} .align 2, 0 -_080A3B6C: .4byte gUnk_02002A40 +_080A3B6C: .4byte gSave _080A3B70: .4byte 0x0000012B thumb_func_start sub_080A3B74 diff --git a/asm/code_080A3BD0.s b/asm/code_080A3BD0.s index 20d43006..79267c0b 100644 --- a/asm/code_080A3BD0.s +++ b/asm/code_080A3BD0.s @@ -86,7 +86,7 @@ _080A3CF0: movs r0, #0x69 bl PlaySFX _080A3CFE: - ldr r2, _080A3D28 @ =gUnk_03000FF0 + ldr r2, _080A3D28 @ =gInput ldrh r1, [r2, #2] ldr r0, _080A3D2C @ =0x0000020A ands r0, r1 @@ -102,7 +102,7 @@ _080A3D18: .4byte 0x0001FFFF _080A3D1C: .4byte gUnk_081280EE _080A3D20: .4byte 0x00000666 _080A3D24: .4byte 0x0000FFFF -_080A3D28: .4byte gUnk_03000FF0 +_080A3D28: .4byte gInput _080A3D2C: .4byte 0x0000020A _080A3D30: adds r0, r5, #0 @@ -143,7 +143,7 @@ _080A3D5E: adds r0, r0, r1 _080A3D70: asrs r4, r0, #0x10 - ldr r0, _080A3DB4 @ =gUnk_02002A40 + ldr r0, _080A3DB4 @ =gSave movs r1, #0x8c lsls r1, r1, #1 adds r0, r0, r1 @@ -177,7 +177,7 @@ _080A3DA8: .align 2, 0 _080A3DAC: .4byte gMenu _080A3DB0: .4byte 0x0000FFFF -_080A3DB4: .4byte gUnk_02002A40 +_080A3DB4: .4byte gSave thumb_func_start sub_080A3DB8 sub_080A3DB8: @ 0x080A3DB8 @@ -715,7 +715,7 @@ _080A41CE: mov r1, sb adds r0, r3, r1 ldrb r1, [r0] - ldr r0, _080A4228 @ =gUnk_02002A40 + ldr r0, _080A4228 @ =gSave cmp r5, #0 bne _080A41EE ldrb r2, [r2, #1] @@ -749,7 +749,7 @@ _080A4218: .4byte 0x00000B21 _080A421C: .4byte gSineTable _080A4220: .4byte gUnk_02002B6B _080A4224: .4byte 0x0000FFFF -_080A4228: .4byte gUnk_02002A40 +_080A4228: .4byte gSave thumb_func_start sub_080A422C sub_080A422C: @ 0x080A422C @@ -1303,7 +1303,7 @@ _080A4674: bge _080A4674 ldr r0, _080A46B8 @ =gUnk_02032EC0 ldrb r1, [r0, #3] - ldr r0, _080A46BC @ =gUnk_02002A40 + ldr r0, _080A46BC @ =gSave ldrb r0, [r0, #6] movs r2, #0x88 cmp r0, #0 @@ -1327,7 +1327,7 @@ _080A46AC: .4byte gScreen _080A46B0: .4byte 0x00007898 _080A46B4: .4byte gMenu _080A46B8: .4byte gUnk_02032EC0 -_080A46BC: .4byte gUnk_02002A40 +_080A46BC: .4byte gSave thumb_func_start sub_080A46C0 sub_080A46C0: @ 0x080A46C0 @@ -1469,7 +1469,7 @@ sub_080A47D0: @ 0x080A47D0 ldr r0, _080A47EC @ =gMenu movs r4, #0x1f ldrsb r4, [r0, r4] - ldr r0, _080A47F0 @ =gUnk_03000FF0 + ldr r0, _080A47F0 @ =gInput ldrh r0, [r0, #4] cmp r0, #8 beq _080A47FE @@ -1480,7 +1480,7 @@ sub_080A47D0: @ 0x080A47D0 b _080A480A .align 2, 0 _080A47EC: .4byte gMenu -_080A47F0: .4byte gUnk_03000FF0 +_080A47F0: .4byte gInput _080A47F4: cmp r0, #0x10 beq _080A4804 @@ -1551,7 +1551,7 @@ sub_080A4864: @ 0x080A4864 movs r5, #0x1f ldrsb r5, [r0, r5] ldrb r4, [r0, #0x1c] - ldr r0, _080A489C @ =gUnk_03000FF0 + ldr r0, _080A489C @ =gInput ldrh r1, [r0, #4] cmp r1, #0x20 beq _080A48DC @@ -1569,7 +1569,7 @@ sub_080A4864: @ 0x080A4864 .align 2, 0 _080A4894: .4byte gFadeControl _080A4898: .4byte gMenu -_080A489C: .4byte gUnk_03000FF0 +_080A489C: .4byte gInput _080A48A0: cmp r1, #0x80 beq _080A48D4 @@ -1610,7 +1610,7 @@ _080A48D8: _080A48DC: subs r5, #8 _080A48DE: - ldr r0, _080A4928 @ =gUnk_02002A40 + ldr r0, _080A4928 @ =gSave ldrb r0, [r0, #6] movs r1, #0x88 cmp r0, #0 @@ -1653,7 +1653,7 @@ _080A491C: _080A4926: pop {r4, r5, r6, pc} .align 2, 0 -_080A4928: .4byte gUnk_02002A40 +_080A4928: .4byte gSave _080A492C: .4byte gMenu _080A4930: .4byte gScreen @@ -1676,7 +1676,7 @@ sub_080A4948: @ 0x080A4948 push {r4, lr} adds r1, r0, #0 movs r4, #0 - ldr r3, _080A4974 @ =gUnk_02002A40 + ldr r3, _080A4974 @ =gSave ldrb r0, [r3, #6] movs r2, #0x88 cmp r0, #0 @@ -1698,7 +1698,7 @@ _080A4970: adds r0, r4, #0 pop {r4, pc} .align 2, 0 -_080A4974: .4byte gUnk_02002A40 +_080A4974: .4byte gSave thumb_func_start sub_080A4978 sub_080A4978: @ 0x080A4978 @@ -1721,7 +1721,7 @@ sub_080A4978: @ 0x080A4978 adds r0, r7, #0 movs r1, #0 bl sub_080ADA14 - ldr r0, _080A4B20 @ =gUnk_02002A40 + ldr r0, _080A4B20 @ =gSave ldrb r0, [r0, #6] movs r2, #0x88 cmp r0, #0 @@ -1908,7 +1908,7 @@ _080A4ABE: b _080A4B3A .align 2, 0 _080A4B1C: .4byte gUnk_03001010 -_080A4B20: .4byte gUnk_02002A40 +_080A4B20: .4byte gSave _080A4B24: .4byte gMenu _080A4B28: .4byte gUnk_03001000 _080A4B2C: .4byte gUnk_081281A8 @@ -2007,7 +2007,7 @@ sub_080A4BA0: @ 0x080A4BA0 mov r0, sp strb r6, [r0, #0x14] _080A4BEE: - ldr r0, _080A4C10 @ =gUnk_02002A40 + ldr r0, _080A4C10 @ =gSave ldrb r0, [r0, #6] movs r1, #0x88 cmp r0, #0 @@ -2025,7 +2025,7 @@ _080A4C02: .align 2, 0 _080A4C08: .4byte gUnk_0812816C _080A4C0C: .4byte gUnk_08128184 -_080A4C10: .4byte gUnk_02002A40 +_080A4C10: .4byte gSave _080A4C14: ldr r1, _080A4C30 @ =gUnk_020227E8 ldr r2, _080A4C34 @ =0x00303030 @@ -2175,7 +2175,7 @@ sub_080A4D34: @ 0x080A4D34 bl sub_08053320 movs r0, #0xb5 bl LoadPaletteGroup - ldr r1, _080A4D50 @ =gUnk_02002A40 + ldr r1, _080A4D50 @ =gSave adds r2, r1, #0 adds r2, #0xaa ldrb r0, [r2] @@ -2184,7 +2184,7 @@ sub_080A4D34: @ 0x080A4D34 movs r1, #2 b _080A4D66 .align 2, 0 -_080A4D50: .4byte gUnk_02002A40 +_080A4D50: .4byte gSave _080A4D54: adds r0, r1, #0 adds r0, #0xab @@ -2483,7 +2483,7 @@ sub_080A4FB8: @ 0x080A4FB8 beq _080A5052 movs r4, #1 rsbs r4, r4, #0 - ldr r0, _080A4FE8 @ =gUnk_03000FF0 + ldr r0, _080A4FE8 @ =gInput ldrh r1, [r0, #2] cmp r1, #8 beq _080A4FFE @@ -2494,7 +2494,7 @@ sub_080A4FB8: @ 0x080A4FB8 b _080A500C .align 2, 0 _080A4FE4: .4byte gMenu -_080A4FE8: .4byte gUnk_03000FF0 +_080A4FE8: .4byte gInput _080A4FEC: movs r0, #0x80 lsls r0, r0, #1 @@ -2869,7 +2869,7 @@ sub_080A529C: @ 0x080A529C lsls r1, r4, #3 ldr r0, _080A52D8 @ =gUnk_08128B64 adds r1, r1, r0 - ldr r0, _080A52DC @ =gUnk_03000FF0 + ldr r0, _080A52DC @ =gInput ldrh r2, [r0, #2] adds r3, r0, #0 cmp r2, #1 @@ -2886,7 +2886,7 @@ sub_080A529C: @ 0x080A529C _080A52D0: .4byte gMenu _080A52D4: .4byte gUnk_08128BF4 _080A52D8: .4byte gUnk_08128B64 -_080A52DC: .4byte gUnk_03000FF0 +_080A52DC: .4byte gInput _080A52E0: cmp r4, #0x10 bne _080A52EC @@ -2960,13 +2960,13 @@ _080A535C: .4byte gMenu _080A5360: cmp r1, #0 beq _080A5376 - ldr r0, _080A5370 @ =gUnk_02002A40 + ldr r0, _080A5370 @ =gSave adds r0, r0, r1 adds r0, #0x9a ldrb r1, [r0] b _080A5376 .align 2, 0 -_080A5370: .4byte gUnk_02002A40 +_080A5370: .4byte gSave _080A5374: movs r1, #0x73 _080A5376: @@ -2993,7 +2993,7 @@ sub_080A5384: @ 0x080A5384 strh r2, [r0, #6] strh r2, [r0, #8] movs r5, #0 - ldr r4, _080A5404 @ =gUnk_02002A40 + ldr r4, _080A5404 @ =gSave movs r0, #0xb6 adds r0, r0, r4 mov sl, r0 @@ -3046,7 +3046,7 @@ _080A53E0: b _080A542C .align 2, 0 _080A5400: .4byte gUnk_03001010 -_080A5404: .4byte gUnk_02002A40 +_080A5404: .4byte gSave _080A5408: .4byte gMenu _080A540C: .4byte gUnk_08128B64 _080A5410: .4byte gBombBagSizes @@ -3149,7 +3149,7 @@ _080A54B6: adds r0, r6, #0 movs r1, #0x22 bl sub_080ADA14 - ldr r7, _080A5548 @ =gUnk_02002A40 + ldr r7, _080A5548 @ =gSave adds r0, r7, #0 adds r0, #0xb4 ldrb r0, [r0] @@ -3200,4 +3200,4 @@ _080A5538: .4byte gMenu _080A553C: .4byte gUnk_08128B64 _080A5540: .4byte gUnk_03001000 _080A5544: .4byte 0x000001FB -_080A5548: .4byte gUnk_02002A40 +_080A5548: .4byte gSave diff --git a/asm/code_080A5574.s b/asm/code_080A5574.s index 837f9140..c6e22207 100644 --- a/asm/code_080A5574.s +++ b/asm/code_080A5574.s @@ -100,7 +100,7 @@ _080A5646: strb r5, [r0, #0x10] _080A564A: ldr r0, _080A5698 @ =gMenu - ldr r1, _080A569C @ =gUnk_02002A40 + ldr r1, _080A569C @ =gSave adds r1, #0xa9 ldrb r1, [r1] adds r1, #1 @@ -138,7 +138,7 @@ _080A5688: pop {r4, r5, r6, r7, pc} .align 2, 0 _080A5698: .4byte gMenu -_080A569C: .4byte gUnk_02002A40 +_080A569C: .4byte gSave thumb_func_start sub_080A56A0 sub_080A56A0: @ 0x080A56A0 @@ -156,7 +156,7 @@ _080A56AC: ldr r1, _080A56D8 @ =gUnk_08128C14 adds r4, r0, r1 movs r3, #0xff - ldr r0, _080A56DC @ =gUnk_03000FF0 + ldr r0, _080A56DC @ =gInput ldrh r1, [r0, #4] cmp r1, #0x20 beq _080A56F2 @@ -169,7 +169,7 @@ _080A56AC: _080A56D0: .4byte gMenu _080A56D4: .4byte gUnk_08128C00 _080A56D8: .4byte gUnk_08128C14 -_080A56DC: .4byte gUnk_03000FF0 +_080A56DC: .4byte gInput _080A56E0: cmp r1, #0x40 beq _080A56EA @@ -485,7 +485,7 @@ _080A5920: ldrb r0, [r3, #7] adds r0, #8 strh r0, [r1, #2] - ldr r0, _080A598C @ =gUnk_02002A40 + ldr r0, _080A598C @ =gSave adds r0, #0xc2 ldrh r4, [r0] movs r0, #0 @@ -523,7 +523,7 @@ _080A5976: _080A5980: .4byte gUnk_080FDFD8 _080A5984: .4byte gMenu _080A5988: .4byte gUnk_03001010 -_080A598C: .4byte gUnk_02002A40 +_080A598C: .4byte gSave thumb_func_start sub_080A5990 sub_080A5990: @ 0x080A5990 @@ -563,7 +563,7 @@ sub_080A59C8: @ 0x080A59C8 ldr r1, _080A59EC @ =gMenu ldrb r2, [r1, #3] movs r3, #0 - ldr r0, _080A59F0 @ =gUnk_03000FF0 + ldr r0, _080A59F0 @ =gInput ldrh r0, [r0, #2] cmp r0, #2 beq _080A5A02 @@ -574,7 +574,7 @@ sub_080A59C8: @ 0x080A59C8 b _080A5A0C .align 2, 0 _080A59EC: .4byte gMenu -_080A59F0: .4byte gUnk_03000FF0 +_080A59F0: .4byte gInput _080A59F4: cmp r0, #0x40 beq _080A59FE @@ -602,7 +602,7 @@ _080A5A10: bne _080A5A2E movs r0, #8 movs r1, #0 - bl sub_08050318 + bl CreateDialogBox movs r0, #2 bl sub_080A7114 movs r0, #0x6a @@ -649,7 +649,7 @@ _080A5A70: _080A5A76: movs r0, #9 movs r1, #0 - bl sub_08050318 + bl CreateDialogBox ldr r1, _080A5A8C @ =gMenu movs r0, #0x3c strh r0, [r1, #8] @@ -676,7 +676,7 @@ sub_080A5A90: @ 0x080A5A90 .align 2, 0 _080A5AA4: .4byte gMenu _080A5AA8: - ldr r0, _080A5ABC @ =gUnk_03000FF0 + ldr r0, _080A5ABC @ =gInput ldrh r1, [r0, #2] movs r0, #0xb ands r0, r1 @@ -686,7 +686,7 @@ _080A5AA8: strh r0, [r2, #8] b _080A5AD2 .align 2, 0 -_080A5ABC: .4byte gUnk_03000FF0 +_080A5ABC: .4byte gInput _080A5AC0: ldr r0, _080A5AD4 @ =gUnk_02034490 ldrb r0, [r0, #1] @@ -758,7 +758,7 @@ sub_080A5B34: @ 0x080A5B34 ldr r1, _080A5B58 @ =gMenu ldrb r4, [r1, #3] movs r5, #0 - ldr r0, _080A5B5C @ =gUnk_03000FF0 + ldr r0, _080A5B5C @ =gInput ldrh r0, [r0, #2] adds r6, r1, #0 cmp r0, #2 @@ -770,7 +770,7 @@ sub_080A5B34: @ 0x080A5B34 b _080A5B76 .align 2, 0 _080A5B58: .4byte gMenu -_080A5B5C: .4byte gUnk_03000FF0 +_080A5B5C: .4byte gInput _080A5B60: cmp r0, #0x10 beq _080A5B70 @@ -936,7 +936,7 @@ sub_080A5C9C: @ 0x080A5C9C adds r3, r0, r1 ldr r1, _080A5CCC @ =gMenu ldrb r2, [r1, #3] - ldr r0, _080A5CD0 @ =gUnk_03000FF0 + ldr r0, _080A5CD0 @ =gInput ldrh r0, [r0, #2] cmp r0, #0x40 beq _080A5CD4 @@ -947,7 +947,7 @@ sub_080A5C9C: @ 0x080A5C9C _080A5CC4: .4byte gArea _080A5CC8: .4byte gUnk_080C9C6C _080A5CCC: .4byte gMenu -_080A5CD0: .4byte gUnk_03000FF0 +_080A5CD0: .4byte gInput _080A5CD4: cmp r2, #0 ble _080A5CE6 @@ -1271,7 +1271,7 @@ sub_080A5F48: @ 0x080A5F48 bhi _080A5F5C cmp r4, #0x1c blo _080A5F5C - ldr r0, _080A5F9C @ =gUnk_02002A40 + ldr r0, _080A5F9C @ =gSave adds r0, r0, r4 adds r0, #0x9a ldrb r4, [r0] @@ -1304,11 +1304,11 @@ _080A5F5C: blo _080A5FBE cmp r4, #8 bhi _080A5FB4 - ldr r0, _080A5F9C @ =gUnk_02002A40 + ldr r0, _080A5F9C @ =gSave adds r0, #0xac b _080A5FBC .align 2, 0 -_080A5F9C: .4byte gUnk_02002A40 +_080A5F9C: .4byte gSave _080A5FA0: .4byte 0x06010000 _080A5FA4: .4byte gUnk_080FDFD8 _080A5FA8: .4byte gUnk_08003DD4 @@ -1317,7 +1317,7 @@ _080A5FB0: .4byte 0x84000040 _080A5FB4: cmp r4, #0xa bhi _080A5FBE - ldr r0, _080A5FF8 @ =gUnk_02002A40 + ldr r0, _080A5FF8 @ =gSave adds r0, #0xad _080A5FBC: ldrb r0, [r0] @@ -1353,7 +1353,7 @@ _080A5FD0: _080A5FF6: pop {r4, r5, pc} .align 2, 0 -_080A5FF8: .4byte gUnk_02002A40 +_080A5FF8: .4byte gSave _080A5FFC: .4byte 0x040000D4 _080A6000: .4byte gUnk_085C4620 _080A6004: .4byte 0x84000008 @@ -1405,7 +1405,7 @@ sub_080A6044: @ 0x080A6044 strh r0, [r1, #6] movs r5, #0 movs r4, #0 - ldr r0, _080A60D8 @ =gUnk_02002A40 + ldr r0, _080A60D8 @ =gSave movs r2, #0x8c lsls r2, r2, #1 adds r3, r0, r2 @@ -1460,7 +1460,7 @@ _080A60C2: _080A60CC: .4byte gMenu _080A60D0: .4byte gUnk_08128D51 _080A60D4: .4byte gUnk_03001010 -_080A60D8: .4byte gUnk_02002A40 +_080A60D8: .4byte gSave _080A60DC: .4byte 0x0000012B thumb_func_start sub_080A60E0 @@ -1505,7 +1505,7 @@ sub_080A612C: @ 0x080A612C beq _080A6178 ldr r1, _080A614C @ =gMenu ldrb r2, [r1, #3] - ldr r0, _080A6150 @ =gUnk_03000FF0 + ldr r0, _080A6150 @ =gInput ldrh r0, [r0, #2] cmp r0, #0x10 beq _080A6154 @@ -1515,7 +1515,7 @@ sub_080A612C: @ 0x080A612C b _080A6156 .align 2, 0 _080A614C: .4byte gMenu -_080A6150: .4byte gUnk_03000FF0 +_080A6150: .4byte gInput _080A6154: adds r2, #1 _080A6156: @@ -1688,7 +1688,7 @@ sub_080A6290: @ 0x080A6290 ldr r0, _080A62D4 @ =0x0000FFFC strh r0, [r1, #0x18] strh r0, [r1, #0x24] - ldr r2, _080A62D8 @ =gUnk_02002A40 + ldr r2, _080A62D8 @ =gSave ldr r0, [r2, #0x40] ldr r1, _080A62DC @ =0x00010780 orrs r0, r1 @@ -1704,7 +1704,7 @@ _080A62C8: .4byte gMenu _080A62CC: .4byte gUnk_08128DD4 _080A62D0: .4byte gScreen _080A62D4: .4byte 0x0000FFFC -_080A62D8: .4byte gUnk_02002A40 +_080A62D8: .4byte gSave _080A62DC: .4byte 0x00010780 thumb_func_start sub_080A62E0 @@ -1720,7 +1720,7 @@ sub_080A62E0: @ 0x080A62E0 adds r1, r1, r0 movs r4, #1 rsbs r4, r4, #0 - ldr r0, _080A6318 @ =gUnk_03000FF0 + ldr r0, _080A6318 @ =gInput ldrh r2, [r0, #2] cmp r2, #0x20 beq _080A634E @@ -1734,7 +1734,7 @@ sub_080A62E0: @ 0x080A62E0 .align 2, 0 _080A6310: .4byte gMenu _080A6314: .4byte gUnk_08128DE8 -_080A6318: .4byte gUnk_03000FF0 +_080A6318: .4byte gInput _080A631C: cmp r2, #0x40 beq _080A6344 @@ -1742,7 +1742,7 @@ _080A631C: beq _080A634A b _080A635A _080A6326: - ldr r0, _080A6340 @ =gUnk_02002A40 + ldr r0, _080A6340 @ =gSave lsls r2, r3 ldr r0, [r0, #0x40] ands r0, r2 @@ -1754,7 +1754,7 @@ _080A6326: bl sub_080A4E84 b _080A635A .align 2, 0 -_080A6340: .4byte gUnk_02002A40 +_080A6340: .4byte gSave _080A6344: ldrb r0, [r1] lsls r0, r0, #0x1b @@ -1889,7 +1889,7 @@ sub_080A6438: @ 0x080A6438 strh r0, [r2, #4] strh r1, [r2, #6] strh r1, [r2, #8] - ldr r0, _080A6488 @ =gUnk_02002A40 + ldr r0, _080A6488 @ =gSave ldr r1, _080A648C @ =gMenu ldrh r0, [r0, #0x20] ldrh r5, [r1, #0x10] @@ -1923,7 +1923,7 @@ _080A6482: pop {r4, r5, r6, r7, pc} .align 2, 0 _080A6484: .4byte gUnk_03001010 -_080A6488: .4byte gUnk_02002A40 +_080A6488: .4byte gSave _080A648C: .4byte gMenu _080A6490: .4byte gUnk_08128F58 _080A6494: .4byte 0x000001FB @@ -1939,7 +1939,7 @@ sub_080A6498: @ 0x080A6498 strh r2, [r0, #6] strh r2, [r0, #8] movs r4, #0 - ldr r7, _080A64E8 @ =gUnk_02002A40 + ldr r7, _080A64E8 @ =gSave adds r6, r0, #0 movs r5, #0x28 _080A64B0: @@ -1971,7 +1971,7 @@ _080A64D2: pop {r4, r5, r6, r7, pc} .align 2, 0 _080A64E4: .4byte gUnk_03001010 -_080A64E8: .4byte gUnk_02002A40 +_080A64E8: .4byte gSave _080A64EC: .4byte gUnk_08128DE8 _080A64F0: .4byte 0x000001FB _080A64F4: .4byte gScreen @@ -2027,7 +2027,7 @@ sub_080A6534: @ 0x080A6534 lsls r0, r0, #1 adds r0, r0, r1 ldrh r2, [r0] - ldr r3, _080A65A4 @ =gUnk_02002A40 + ldr r3, _080A65A4 @ =gSave ldrh r1, [r3, #0x20] adds r0, r2, #0 orrs r0, r1 @@ -2051,7 +2051,7 @@ _080A6594: .4byte 0x0000F7FF _080A6598: .4byte gPaletteBuffer _080A659C: .4byte gUnk_08128F4C _080A65A0: .4byte gUnk_02032EC0 -_080A65A4: .4byte gUnk_02002A40 +_080A65A4: .4byte gSave _080A65A8: .4byte gMenu thumb_func_start sub_080A65AC @@ -2087,7 +2087,7 @@ _080A65DA: _080A65E4: .4byte gFadeControl _080A65E8: .4byte gMenu _080A65EC: - ldr r0, _080A6604 @ =gUnk_03000FF0 + ldr r0, _080A6604 @ =gInput ldrh r0, [r0, #2] cmp r0, #1 blt _080A6600 @@ -2100,7 +2100,7 @@ _080A65FC: _080A6600: pop {r4, pc} .align 2, 0 -_080A6604: .4byte gUnk_03000FF0 +_080A6604: .4byte gInput thumb_func_start sub_080A6608 sub_080A6608: @ 0x080A6608 @@ -2165,7 +2165,7 @@ sub_080A667C: @ 0x080A667C ldr r1, _080A66A4 @ =gUnk_08128E94 adds r3, r0, r1 ldrh r1, [r2, #0xa] - ldr r0, _080A66A8 @ =gUnk_03000FF0 + ldr r0, _080A66A8 @ =gInput ldrh r0, [r0] cmp r0, #0x40 beq _080A66AC @@ -2176,7 +2176,7 @@ sub_080A667C: @ 0x080A667C _080A669C: .4byte gMenu _080A66A0: .4byte gUnk_08128E80 _080A66A4: .4byte gUnk_08128E94 -_080A66A8: .4byte gUnk_03000FF0 +_080A66A8: .4byte gInput _080A66AC: cmp r1, #0 beq _080A66C2 @@ -2478,7 +2478,7 @@ _080A68E6: bl sub_080A698C bl sub_080A6F40 adds r6, r0, #0 - ldr r0, _080A6918 @ =gUnk_02002A40 + ldr r0, _080A6918 @ =gSave ldrh r0, [r0, #0x20] ands r6, r0 ldr r4, _080A691C @ =gUnk_08128F58 @@ -2488,7 +2488,7 @@ _080A68E6: _080A690C: .4byte gPlayerState _080A6910: .4byte gScreenTransition _080A6914: .4byte 0x000001FB -_080A6918: .4byte gUnk_02002A40 +_080A6918: .4byte gSave _080A691C: .4byte gUnk_08128F58 _080A6920: movs r0, #1 @@ -2882,7 +2882,7 @@ _080A6C34: .4byte gFadeControl _080A6C38: .4byte gMenu _080A6C3C: bl sub_080A66D0 - ldr r0, _080A6C58 @ =gUnk_03000FF0 + ldr r0, _080A6C58 @ =gInput ldrh r0, [r0, #2] cmp r0, #1 blt _080A6C6A @@ -2894,7 +2894,7 @@ _080A6C50: bl sub_080A71DC b _080A6C6A .align 2, 0 -_080A6C58: .4byte gUnk_03000FF0 +_080A6C58: .4byte gInput _080A6C5C: ldr r0, _080A6C6C @ =0x00000103 bl PlaySFX @@ -2963,7 +2963,7 @@ sub_080A6CD8: @ 0x080A6CD8 movs r0, #1 strb r0, [r1] movs r4, #0 - ldr r0, _080A6D10 @ =gUnk_03000FF0 + ldr r0, _080A6D10 @ =gInput ldrh r0, [r0, #2] adds r2, r1, #0 cmp r0, #0x10 @@ -2980,7 +2980,7 @@ sub_080A6CD8: @ 0x080A6CD8 .align 2, 0 _080A6D08: .4byte gFadeControl _080A6D0C: .4byte gMenu -_080A6D10: .4byte gUnk_03000FF0 +_080A6D10: .4byte gInput _080A6D14: cmp r0, #8 beq _080A6D38 @@ -3039,7 +3039,7 @@ _080A6D70: .4byte gMenu sub_080A6D74: @ 0x080A6D74 push {r4, r5, lr} adds r3, r0, #0 - ldr r0, _080A6DA4 @ =gUnk_02002A40 + ldr r0, _080A6DA4 @ =gSave ldr r0, [r0, #0x40] lsrs r2, r0, #0x18 ldr r0, _080A6DA8 @ =gMenu @@ -3063,7 +3063,7 @@ _080A6D92: beq _080A6D92 b _080A6DC6 .align 2, 0 -_080A6DA4: .4byte gUnk_02002A40 +_080A6DA4: .4byte gSave _080A6DA8: .4byte gMenu _080A6DAC: cmp r2, #0 @@ -3197,7 +3197,7 @@ _080A6EA0: ldr r0, _080A6ED8 @ =0x000001FB bl sub_080ADA14 movs r4, #0 - ldr r5, _080A6EDC @ =gUnk_02002A40 + ldr r5, _080A6EDC @ =gSave _080A6EAA: adds r0, r4, #0 adds r0, #0x18 @@ -3221,7 +3221,7 @@ _080A6EC8: _080A6ED0: .4byte gUnk_03001010 _080A6ED4: .4byte gMenu _080A6ED8: .4byte 0x000001FB -_080A6EDC: .4byte gUnk_02002A40 +_080A6EDC: .4byte gSave thumb_func_start sub_080A6EE0 sub_080A6EE0: @ 0x080A6EE0 @@ -3343,7 +3343,7 @@ sub_080A6FB4: @ 0x080A6FB4 beq _080A6FD6 b _080A6FFA _080A6FC8: - ldr r0, _080A6FE4 @ =gUnk_02002A40 + ldr r0, _080A6FE4 @ =gSave movs r1, #1 lsls r1, r2 ldr r0, [r0, #0x40] @@ -3358,7 +3358,7 @@ _080A6FD6: ldr r5, _080A6FEC @ =gUnk_08128FC0 b _080A6FFA .align 2, 0 -_080A6FE4: .4byte gUnk_02002A40 +_080A6FE4: .4byte gSave _080A6FE8: .4byte gUnk_08127F94 _080A6FEC: .4byte gUnk_08128FC0 _080A6FF0: @@ -4910,7 +4910,7 @@ GiveItemWithCutscene: @ 0x080A7C38 adds r7, r2, #0 cmp r5, #0x3f bne _080A7C52 - ldr r0, _080A7C78 @ =gUnk_02002A40 + ldr r0, _080A7C78 @ =gSave adds r0, #0xbb ldrb r0, [r0] cmp r0, #0 @@ -4936,7 +4936,7 @@ _080A7C72: adds r0, r4, #0 pop {r4, r5, r6, r7, pc} .align 2, 0 -_080A7C78: .4byte gUnk_02002A40 +_080A7C78: .4byte gSave thumb_func_start sub_080A7C7C sub_080A7C7C: @ 0x080A7C7C diff --git a/asm/cucco.s b/asm/cucco.s index 2013d64c..2036fc70 100644 --- a/asm/cucco.s +++ b/asm/cucco.s @@ -278,7 +278,7 @@ sub_0806E6A8: @ 0x0806E6A8 adds r4, r0, #0 movs r5, #0 bl sub_08002632 - ldr r1, _0806E6D4 @ =gUnk_02002A40 + ldr r1, _0806E6D4 @ =gSave ldr r2, _0806E6D8 @ =0x000001C1 adds r1, r1, r2 adds r0, r0, r1 @@ -295,7 +295,7 @@ _0806E6C2: bl TextboxNoOverlap pop {r4, r5, pc} .align 2, 0 -_0806E6D4: .4byte gUnk_02002A40 +_0806E6D4: .4byte gSave _0806E6D8: .4byte 0x000001C1 _0806E6DC: .4byte gUnk_081145D0 diff --git a/asm/din.s b/asm/din.s index 14dfe55b..7a2fc2ad 100644 --- a/asm/din.s +++ b/asm/din.s @@ -89,7 +89,7 @@ sub_08064828: @ 0x08064828 adds r4, r0, #0 bl sub_0801E99C adds r5, r0, #0 - ldr r6, _08064858 @ =gUnk_02002A40 + ldr r6, _08064858 @ =gSave adds r0, r4, #0 bl sub_08002632 ldr r2, _0806485C @ =0x00000141 @@ -108,7 +108,7 @@ _0806484E: bl sub_08078784 pop {r4, r5, r6, pc} .align 2, 0 -_08064858: .4byte gUnk_02002A40 +_08064858: .4byte gSave _0806485C: .4byte 0x00000141 thumb_func_start Din_Fusion diff --git a/asm/dog.s b/asm/dog.s index d10e5929..1637c489 100644 --- a/asm/dog.s +++ b/asm/dog.s @@ -727,7 +727,7 @@ sub_0806A080: @ 0x0806A080 lsls r1, r2, #2 adds r1, r1, r2 lsls r1, r1, #4 - ldr r2, _0806A09C @ =gUnk_02002A40 + ldr r2, _0806A09C @ =gSave ldrb r2, [r2, #8] lsls r2, r2, #3 ldr r3, _0806A0A0 @ =gUnk_08111E34 @@ -736,7 +736,7 @@ sub_0806A080: @ 0x0806A080 bl ShowNPCDialogue pop {pc} .align 2, 0 -_0806A09C: .4byte gUnk_02002A40 +_0806A09C: .4byte gSave _0806A0A0: .4byte gUnk_08111E34 thumb_func_start sub_0806A0A4 @@ -798,7 +798,7 @@ _0806A100: bl SetLocalFlag _0806A120: ldr r2, _0806A13C @ =gUnk_08111F74 - ldr r0, _0806A140 @ =gUnk_02002A40 + ldr r0, _0806A140 @ =gSave ldrb r1, [r0, #8] lsls r0, r1, #2 adds r0, r0, r1 @@ -811,7 +811,7 @@ _0806A120: pop {r4, r5, r6, pc} .align 2, 0 _0806A13C: .4byte gUnk_08111F74 -_0806A140: .4byte gUnk_02002A40 +_0806A140: .4byte gSave thumb_func_start sub_0806A144 sub_0806A144: @ 0x0806A144 diff --git a/asm/drLeft.s b/asm/drLeft.s index a136f922..6027b73f 100644 --- a/asm/drLeft.s +++ b/asm/drLeft.s @@ -110,7 +110,7 @@ sub_0806C028: @ 0x0806C028 sub_0806C038: @ 0x0806C038 push {r4, r5, lr} adds r5, r0, #0 - ldr r0, _0806C074 @ =gUnk_02002A40 + ldr r0, _0806C074 @ =gSave ldrb r0, [r0, #8] subs r4, r0, #5 cmp r4, #0 @@ -135,7 +135,7 @@ _0806C048: bl SetLocalFlag b _0806C086 .align 2, 0 -_0806C074: .4byte gUnk_02002A40 +_0806C074: .4byte gSave _0806C078: movs r4, #7 movs r0, #0x3a diff --git a/asm/drawHealth.s b/asm/drawHealth.s index a0701d5d..2e830c72 100644 --- a/asm/drawHealth.s +++ b/asm/drawHealth.s @@ -23,7 +23,7 @@ sub_0801C6B0: @ 0x0801C6B0 .align 2, 0 _0801C6CC: .4byte gUnk_0200AF00 _0801C6D0: - ldr r5, _0801C6F8 @ =gUnk_02002A40 + ldr r5, _0801C6F8 @ =gSave adds r0, r5, #0 adds r0, #0xab ldrb r0, [r0] @@ -43,7 +43,7 @@ _0801C6EA: lsrs r1, r0, #1 b _0801C6FE .align 2, 0 -_0801C6F8: .4byte gUnk_02002A40 +_0801C6F8: .4byte gSave _0801C6FC: movs r1, #1 _0801C6FE: diff --git a/asm/drawRupees.s b/asm/drawRupees.s index 619a530a..bd6bf8be 100644 --- a/asm/drawRupees.s +++ b/asm/drawRupees.s @@ -54,7 +54,7 @@ _0801C4FC: adds r4, r3, #0 adds r4, #0x40 ldr r1, _0801C550 @ =gWalletSizes - ldr r2, _0801C554 @ =gUnk_02002A40 + ldr r2, _0801C554 @ =gSave adds r0, r2, #0 adds r0, #0xa8 ldrb r0, [r0] @@ -88,12 +88,12 @@ _0801C4FC: .align 2, 0 _0801C54C: .4byte gUnk_02035160 _0801C550: .4byte gWalletSizes -_0801C554: .4byte gUnk_02002A40 +_0801C554: .4byte gSave _0801C558: .4byte 0x0000F070 _0801C55C: .4byte gScreen _0801C560: movs r4, #0 - ldr r2, _0801C580 @ =gUnk_02002A40 + ldr r2, _0801C580 @ =gSave _0801C564: adds r5, r6, #0 adds r0, r2, #0 @@ -109,7 +109,7 @@ _0801C564: strh r0, [r5, #0xe] b _0801C588 .align 2, 0 -_0801C580: .4byte gUnk_02002A40 +_0801C580: .4byte gSave _0801C584: subs r0, r1, #1 strh r0, [r6, #0xe] @@ -133,7 +133,7 @@ _0801C5A4: ldrh r3, [r4, #0xe] movs r2, #0 ldr r1, _0801C5D8 @ =gWalletSizes - ldr r0, _0801C5DC @ =gUnk_02002A40 + ldr r0, _0801C5DC @ =gSave adds r0, #0xa8 ldrb r0, [r0] lsls r0, r0, #2 @@ -157,4 +157,4 @@ _0801C5D0: .align 2, 0 _0801C5D4: .4byte gUnk_0200AF00 _0801C5D8: .4byte gWalletSizes -_0801C5DC: .4byte gUnk_02002A40 +_0801C5DC: .4byte gSave diff --git a/asm/ezloCap.s b/asm/ezloCap.s index 46510577..0c0c0d46 100644 --- a/asm/ezloCap.s +++ b/asm/ezloCap.s @@ -510,7 +510,7 @@ _0806DC36: thumb_func_start sub_0806DC3C sub_0806DC3C: @ 0x0806DC3C - ldr r2, _0806DC54 @ =gUnk_02002A40 + ldr r2, _0806DC54 @ =gSave adds r1, r2, #0 adds r1, #0xb4 ldrb r3, [r1] @@ -523,7 +523,7 @@ sub_0806DC3C: @ 0x0806DC3C strb r1, [r0] bx lr .align 2, 0 -_0806DC54: .4byte gUnk_02002A40 +_0806DC54: .4byte gSave thumb_func_start sub_0806DC58 sub_0806DC58: @ 0x0806DC58 diff --git a/asm/farore.s b/asm/farore.s index 792a2384..2f0d6d1e 100644 --- a/asm/farore.s +++ b/asm/farore.s @@ -89,7 +89,7 @@ sub_08064A28: @ 0x08064A28 adds r4, r0, #0 bl sub_0801E99C adds r5, r0, #0 - ldr r6, _08064A58 @ =gUnk_02002A40 + ldr r6, _08064A58 @ =gSave adds r0, r4, #0 bl sub_08002632 ldr r2, _08064A5C @ =0x00000141 @@ -108,7 +108,7 @@ _08064A4E: bl sub_08078784 pop {r4, r5, r6, pc} .align 2, 0 -_08064A58: .4byte gUnk_02002A40 +_08064A58: .4byte gSave _08064A5C: .4byte 0x00000141 thumb_func_start Farore_Fusion diff --git a/asm/figurineDevice.s b/asm/figurineDevice.s index 7e099233..a7c5226d 100644 --- a/asm/figurineDevice.s +++ b/asm/figurineDevice.s @@ -398,7 +398,7 @@ _08087EAC: subs r0, #1 strb r0, [r4, #0xe] _08087EB6: - ldr r6, _08087ED4 @ =gUnk_03000FF0 + ldr r6, _08087ED4 @ =gInput ldrh r0, [r6, #2] ands r1, r0 cmp r1, #0 @@ -412,7 +412,7 @@ _08087EB6: bl sub_08050384 b _08087F4E .align 2, 0 -_08087ED4: .4byte gUnk_03000FF0 +_08087ED4: .4byte gInput _08087ED8: adds r2, r4, #0 adds r2, #0x81 @@ -560,7 +560,7 @@ _08087FEA: adds r1, #0x81 ldrb r6, [r1] adds r2, r6, r4 - ldr r0, _0808801C @ =gUnk_02002A40 + ldr r0, _0808801C @ =gSave adds r0, #0xc2 ldrh r0, [r0] cmp r2, r0 @@ -583,7 +583,7 @@ _08088014: bl sub_08088034 b _08088032 .align 2, 0 -_0808801C: .4byte gUnk_02002A40 +_0808801C: .4byte gSave _08088020: movs r3, #0x64 mov r0, ip @@ -617,14 +617,14 @@ sub_0808804C: @ 0x0808804C push {r4, r5, lr} adds r5, r0, #0 movs r4, #0 - ldr r0, _08088060 @ =gUnk_02002A40 + ldr r0, _08088060 @ =gSave ldrb r0, [r0, #6] cmp r0, #0 beq _08088064 movs r4, #9 b _080880D0 .align 2, 0 -_08088060: .4byte gUnk_02002A40 +_08088060: .4byte gSave _08088064: movs r0, #6 bl CheckGlobalFlag @@ -723,7 +723,7 @@ _0808810A: lsrs r0, r0, #0x18 cmp r0, #4 bne _08088156 - ldr r5, _0808815C @ =gUnk_02002A40 + ldr r5, _0808815C @ =gSave adds r0, r7, #0 adds r0, #0x80 ldrb r1, [r5, #9] @@ -743,7 +743,7 @@ _0808813A: bl CheckLocalFlag cmp r0, #0 beq _08088156 - ldr r0, _0808815C @ =gUnk_02002A40 + ldr r0, _0808815C @ =gSave adds r0, #0xb0 ldrb r1, [r4] ldrb r0, [r0] @@ -755,7 +755,7 @@ _08088156: pop {r4, r5, r6, r7, pc} .align 2, 0 _08088158: .4byte gUnk_08120AAC -_0808815C: .4byte gUnk_02002A40 +_0808815C: .4byte gSave thumb_func_start sub_08088160 sub_08088160: @ 0x08088160 @@ -894,7 +894,7 @@ sub_0808826C: @ 0x0808826C movs r4, #0x64 adds r0, #0x80 ldrb r1, [r0] - ldr r0, _080882A4 @ =gUnk_02002A40 + ldr r0, _080882A4 @ =gSave adds r0, #0xb0 ldrb r0, [r0] subs r0, r1, r0 @@ -917,7 +917,7 @@ _08088298: strb r4, [r0] pop {r4, r5, pc} .align 2, 0 -_080882A4: .4byte gUnk_02002A40 +_080882A4: .4byte gSave thumb_func_start sub_080882A8 sub_080882A8: @ 0x080882A8 @@ -1075,7 +1075,7 @@ _080883DE: cmp r5, #0 beq _08088414 _080883E2: - ldr r0, _08088404 @ =gUnk_02002A40 + ldr r0, _08088404 @ =gSave adds r0, #0xb0 ldrb r1, [r0] adds r1, #1 @@ -1091,7 +1091,7 @@ _080883E2: bl SetRoomFlag b _08088414 .align 2, 0 -_08088404: .4byte gUnk_02002A40 +_08088404: .4byte gSave _08088408: movs r0, #0x5f bl SetLocalFlag @@ -1111,7 +1111,7 @@ _08088414: sub_08088424: @ 0x08088424 push {lr} adds r1, r0, #0 - ldr r0, _08088440 @ =gUnk_02002A40 + ldr r0, _08088440 @ =gSave adds r0, #0xb0 ldrb r0, [r0] cmp r0, #0x31 @@ -1124,7 +1124,7 @@ sub_08088424: @ 0x08088424 movs r0, #0xf b _08088474 .align 2, 0 -_08088440: .4byte gUnk_02002A40 +_08088440: .4byte gSave _08088444: cmp r0, #0x4f bhi _08088456 @@ -1180,7 +1180,7 @@ _0808849C: .align 2, 0 _080884A0: .4byte 0x00004325 _080884A4: - ldr r1, _080884C0 @ =gUnk_02002A40 + ldr r1, _080884C0 @ =gSave adds r0, r1, #0 adds r0, #0xb0 ldrb r0, [r0] @@ -1194,7 +1194,7 @@ _080884A4: ldr r1, _080884C4 @ =0x00004329 b _080884D2 .align 2, 0 -_080884C0: .4byte gUnk_02002A40 +_080884C0: .4byte gSave _080884C4: .4byte 0x00004329 _080884C8: ldrb r0, [r1, #6] @@ -1229,7 +1229,7 @@ _08088500: .4byte gPlayerEntity thumb_func_start sub_08088504 sub_08088504: @ 0x08088504 push {lr} - ldr r0, _08088518 @ =gUnk_02002A40 + ldr r0, _08088518 @ =gSave adds r0, #0xb0 ldrb r0, [r0] cmp r0, #0x82 @@ -1239,7 +1239,7 @@ sub_08088504: @ 0x08088504 ldr r0, _0808851C @ =0x0000432F b _0808852A .align 2, 0 -_08088518: .4byte gUnk_02002A40 +_08088518: .4byte gSave _0808851C: .4byte 0x0000432F _08088520: ldr r0, _08088524 @ =0x00004314 @@ -1263,7 +1263,7 @@ _08088540: .4byte gTextBox thumb_func_start sub_08088544 sub_08088544: @ 0x08088544 push {lr} - ldr r0, _08088568 @ =gUnk_02002A40 + ldr r0, _08088568 @ =gSave adds r0, #0xb0 ldrb r0, [r0] ldr r1, _0808856C @ =0x00004315 @@ -1280,7 +1280,7 @@ _08088554: strb r1, [r0, #7] pop {pc} .align 2, 0 -_08088568: .4byte gUnk_02002A40 +_08088568: .4byte gSave _0808856C: .4byte 0x00004315 _08088570: .4byte gTextBox @@ -1340,7 +1340,7 @@ sub_080885B0: @ 0x080885B0 _080885E0: .4byte 0x00004326 _080885E4: .4byte gTextBox _080885E8: - ldr r1, _08088618 @ =gUnk_02002A40 + ldr r1, _08088618 @ =gSave adds r0, r1, #0 adds r0, #0xb1 ldrb r0, [r0] @@ -1362,7 +1362,7 @@ _0808860A: bl ClearRoomFlag pop {pc} .align 2, 0 -_08088618: .4byte gUnk_02002A40 +_08088618: .4byte gSave thumb_func_start sub_0808861C sub_0808861C: @ 0x0808861C diff --git a/asm/fileScreen.s b/asm/fileScreen.s index 0cf9c0a5..e93a9e07 100755 --- a/asm/fileScreen.s +++ b/asm/fileScreen.s @@ -5,1432 +5,6 @@ .text - thumb_func_start HandleFileOptions -HandleFileOptions: @ 0x08050E9C - push {lr} - ldr r1, _08050EB0 @ =gUnk_080FC950 - ldr r0, _08050EB4 @ =gMenu - ldrb r0, [r0, #5] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_08050EB0: .4byte gUnk_080FC950 -_08050EB4: .4byte gMenu - - thumb_func_start sub_08050EB8 -sub_08050EB8: @ 0x08050EB8 - push {lr} - movs r0, #0xe - bl sub_080503A8 - ldr r2, _08050EE8 @ =gUnk_02019EE0 - ldrb r1, [r2, #6] - ldr r0, _08050EEC @ =0x000004B4 - muls r1, r0, r1 - adds r0, r2, #0 - adds r0, #0xc - adds r1, r1, r0 - ldrb r0, [r1, #2] - movs r3, #0 - strb r0, [r2, #4] - ldrb r0, [r1, #3] - strb r0, [r2, #5] - ldr r1, _08050EF0 @ =gMenu - strb r3, [r1, #1] - movs r0, #0xff - strh r0, [r1, #8] - movs r0, #1 - bl sub_080A7114 - pop {pc} - .align 2, 0 -_08050EE8: .4byte gUnk_02019EE0 -_08050EEC: .4byte 0x000004B4 -_08050EF0: .4byte gMenu - - thumb_func_start sub_08050EF4 -sub_08050EF4: @ 0x08050EF4 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - ldr r0, _08050F40 @ =gUnk_02019EE0 - ldrb r1, [r0] - adds r6, r0, #0 - cmp r1, #0 - bne _08050FF4 - ldrb r1, [r6, #6] - ldr r0, _08050F44 @ =0x000004B4 - muls r1, r0, r1 - adds r0, r6, #0 - adds r0, #0xc - adds r1, r1, r0 - ldr r0, _08050F48 @ =gMenu - ldrb r3, [r0, #1] - adds r4, r1, #3 - mov ip, r0 - cmp r3, #0 - bne _08050F1E - adds r4, r1, #2 -_08050F1E: - ldrb r2, [r4] - movs r5, #0 - ldr r0, _08050F4C @ =gUnk_03000FF0 - ldrh r0, [r0, #2] - mov r8, r2 - cmp r0, #0x10 - beq _08050F7A - cmp r0, #0x10 - bgt _08050F56 - cmp r0, #2 - beq _08050F8C - cmp r0, #2 - bgt _08050F50 - cmp r0, #1 - beq _08050F82 - b _08050F8E - .align 2, 0 -_08050F40: .4byte gUnk_02019EE0 -_08050F44: .4byte 0x000004B4 -_08050F48: .4byte gMenu -_08050F4C: .4byte gUnk_03000FF0 -_08050F50: - cmp r0, #8 - beq _08050F82 - b _08050F8E -_08050F56: - cmp r0, #0x40 - beq _08050F6A - cmp r0, #0x40 - bgt _08050F64 - cmp r0, #0x20 - beq _08050F72 - b _08050F8E -_08050F64: - cmp r0, #0x80 - beq _08050F6E - b _08050F8E -_08050F6A: - movs r3, #0 - b _08050F8E -_08050F6E: - movs r3, #1 - b _08050F8E -_08050F72: - cmp r2, #0 - beq _08050F8E - subs r2, #1 - b _08050F8E -_08050F7A: - cmp r2, #1 - bhi _08050F8E - adds r2, #1 - b _08050F8E -_08050F82: - ldrh r0, [r6, #4] - movs r5, #2 - ldrh r7, [r1, #2] - cmp r0, r7 - bne _08050F8E -_08050F8C: - movs r5, #3 -_08050F8E: - cmp r5, #0 - beq _08050FD0 - cmp r5, #2 - beq _08050F9C - cmp r5, #3 - beq _08050FAC - b _08050FBA -_08050F9C: - movs r0, #8 - movs r1, #0 - bl sub_08050318 - movs r0, #0x6a - bl PlaySFX - b _08050FBA -_08050FAC: - ldrb r0, [r6, #4] - strb r0, [r1, #2] - ldrb r0, [r6, #5] - strb r0, [r1, #3] - movs r0, #0x6c - bl PlaySFX -_08050FBA: - adds r0, r5, #0 - bl sub_080A7114 - ldr r0, _08050FCC @ =gUnk_02019EE0 - ldrb r0, [r0, #6] - bl SetActiveSave - b _08050FF4 - .align 2, 0 -_08050FCC: .4byte gUnk_02019EE0 -_08050FD0: - mov r1, ip - ldrb r0, [r1, #1] - cmp r0, r3 - beq _08050FE2 - strb r3, [r1, #1] - movs r0, #0x69 - bl PlaySFX - b _08050FF4 -_08050FE2: - cmp r2, r8 - beq _08050FF4 - strb r2, [r4] - ldrb r0, [r6, #6] - bl LoadOptionsFromSave - movs r0, #0x69 - bl PlaySFX -_08050FF4: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_08050FFC -sub_08050FFC: @ 0x08050FFC - push {lr} - movs r0, #0 - bl sub_0807CDA4 - adds r1, r0, #0 - movs r0, #1 - rsbs r0, r0, #0 - cmp r1, r0 - beq _08051014 - cmp r1, #1 - beq _0805102A - b _08051030 -_08051014: - ldr r1, _08051034 @ =gMenu - movs r0, #0x1e - strh r0, [r1, #8] - ldr r0, _08051038 @ =gUnk_02019EE0 - ldrb r0, [r0, #6] - bl sub_0805194C - movs r0, #9 - movs r1, #0 - bl sub_08050318 -_0805102A: - movs r0, #3 - bl sub_080A7114 -_08051030: - pop {pc} - .align 2, 0 -_08051034: .4byte gMenu -_08051038: .4byte gUnk_02019EE0 - - thumb_func_start sub_0805103C -sub_0805103C: @ 0x0805103C - push {lr} - ldr r0, _08051050 @ =gMenu - ldrb r1, [r0, #8] - adds r2, r0, #0 - cmp r1, #0 - beq _08051054 - cmp r1, #0xff - beq _0805106C - b _08051060 - .align 2, 0 -_08051050: .4byte gMenu -_08051054: - ldr r0, _08051068 @ =gUnk_03000FF0 - ldrh r1, [r0, #2] - movs r0, #9 - ands r0, r1 - cmp r0, #0 - beq _08051072 -_08051060: - ldrh r0, [r2, #8] - subs r0, #1 - strh r0, [r2, #8] - b _08051072 - .align 2, 0 -_08051068: .4byte gUnk_03000FF0 -_0805106C: - movs r0, #0 - bl SetFileSelectState -_08051072: - pop {pc} - - thumb_func_start HandleFileNew -HandleFileNew: @ 0x08051074 - push {lr} - ldr r1, _08051088 @ =gUnk_080FC960 - ldr r0, _0805108C @ =gMenu - ldrb r0, [r0, #5] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_08051088: .4byte gUnk_080FC960 -_0805108C: .4byte gMenu - - thumb_func_start sub_08051090 -sub_08051090: @ 0x08051090 - push {lr} - movs r0, #8 - bl sub_080503A8 - bl sub_08050790 - bl sub_0805070C - bl sub_08051458 - ldr r1, _080510B4 @ =gScreen - movs r0, #0xff - strh r0, [r1, #0x18] - strh r0, [r1, #0x24] - movs r0, #1 - bl sub_080A7114 - pop {pc} - .align 2, 0 -_080510B4: .4byte gScreen - - thumb_func_start sub_080510B8 -sub_080510B8: @ 0x080510B8 - push {r4, r5, r6, r7, lr} - ldr r0, _080510E4 @ =gUnk_02019EE0 - ldrb r0, [r0] - cmp r0, #0 - beq _080510C4 - b _0805134C -_080510C4: - movs r7, #0 - ldr r0, _080510E8 @ =gUnk_03000FF0 - ldrh r1, [r0, #2] - adds r2, r0, #0 - cmp r1, #8 - bne _080510D2 - b _080511C8 -_080510D2: - cmp r1, #8 - bgt _080510EC - cmp r1, #1 - bne _080510DC - b _080511F2 -_080510DC: - cmp r1, #2 - beq _080511B8 - b _08051100 - .align 2, 0 -_080510E4: .4byte gUnk_02019EE0 -_080510E8: .4byte gUnk_03000FF0 -_080510EC: - movs r0, #0x80 - lsls r0, r0, #1 - cmp r1, r0 - bne _080510F6 - b _0805122C -_080510F6: - movs r0, #0x80 - lsls r0, r0, #2 - cmp r1, r0 - bne _08051100 - b _0805121C -_08051100: - movs r6, #0 - movs r5, #0 - ldrh r0, [r2, #4] - cmp r0, #0x20 - beq _08051128 - cmp r0, #0x20 - bgt _08051114 - cmp r0, #0x10 - beq _0805112E - b _08051130 -_08051114: - cmp r0, #0x40 - beq _0805111E - cmp r0, #0x80 - beq _08051124 - b _08051130 -_0805111E: - movs r5, #1 - rsbs r5, r5, #0 - b _08051130 -_08051124: - movs r5, #1 - b _08051130 -_08051128: - movs r6, #1 - rsbs r6, r6, #0 - b _08051130 -_0805112E: - movs r6, #1 -_08051130: - ldr r4, _0805117C @ =gMenu - ldrb r0, [r4, #0x11] - adds r0, r0, r5 - adds r0, #6 - movs r1, #6 - bl __modsi3 - strb r0, [r4, #0x11] - orrs r5, r6 - cmp r5, #0 - beq _0805114C - movs r0, #0x67 - bl PlaySFX -_0805114C: - cmp r6, #0 - beq _0805123A - ldrb r0, [r4, #0x11] - cmp r0, #5 - beq _08051184 - ldrb r0, [r4, #0x10] - adds r0, r0, r6 - adds r0, #0xd - movs r1, #0xd - bl __modsi3 - strb r0, [r4, #0x10] - ldr r1, _08051180 @ =gUnk_080FC980 - movs r0, #0x80 - lsls r0, r0, #0x12 - ldrb r0, [r0, #7] - cmp r0, #0 - beq _08051172 - adds r1, #0x10 -_08051172: - ldrb r0, [r4, #0x10] - adds r0, r1, r0 - ldrb r0, [r0] - strb r0, [r4, #0x12] - b _0805123A - .align 2, 0 -_0805117C: .4byte gMenu -_08051180: .4byte gUnk_080FC980 -_08051184: - movs r0, #0x80 - lsls r0, r0, #0x12 - ldrb r0, [r0, #7] - adds r5, r0, #0 - movs r1, #4 - cmp r5, #0 - bne _08051194 - movs r1, #5 -_08051194: - ldrb r0, [r4, #0x12] - adds r0, r0, r6 - adds r0, r0, r1 - bl __modsi3 - strb r0, [r4, #0x12] - ldr r1, _080511B4 @ =gUnk_080FC9A0 - cmp r5, #0 - beq _080511A8 - adds r1, #8 -_080511A8: - ldrb r0, [r4, #0x12] - adds r0, r1, r0 - ldrb r0, [r0] - strb r0, [r4, #0x10] - b _0805123A - .align 2, 0 -_080511B4: .4byte gUnk_080FC9A0 -_080511B8: - ldr r0, _080511C4 @ =gMenu - ldrb r0, [r0, #0x13] - cmp r0, #0 - beq _080511EC - movs r7, #5 - b _0805123A - .align 2, 0 -_080511C4: .4byte gMenu -_080511C8: - movs r0, #0x80 - lsls r0, r0, #0x12 - ldrb r0, [r0, #7] - movs r1, #3 - cmp r0, #0 - bne _080511D6 - movs r1, #4 -_080511D6: - ldr r2, _080511E8 @ =gMenu - ldrb r0, [r2, #0x11] - cmp r0, #5 - bne _080511EC - ldrb r2, [r2, #0x12] - cmp r1, r2 - bne _080511EC - movs r7, #8 - b _0805123A - .align 2, 0 -_080511E8: .4byte gMenu -_080511EC: - bl sub_08051358 - b _0805123A -_080511F2: - ldr r1, _08051210 @ =gMenu - ldrb r0, [r1, #0x11] - cmp r0, #5 - bne _08051218 - ldr r2, _08051214 @ =gUnk_080FC970 - ldrb r1, [r1, #0x12] - movs r0, #0x80 - lsls r0, r0, #0x12 - ldrb r0, [r0, #7] - cmp r0, #0 - beq _0805120A - adds r1, #8 -_0805120A: - adds r0, r1, r2 - ldrb r7, [r0] - b _0805123A - .align 2, 0 -_08051210: .4byte gMenu -_08051214: .4byte gUnk_080FC970 -_08051218: - movs r7, #6 - b _0805123A -_0805121C: - movs r0, #0x80 - lsls r0, r0, #0x12 - ldrb r0, [r0, #7] - movs r7, #1 - cmp r0, #0 - bne _0805123A - movs r7, #4 - b _0805123A -_0805122C: - movs r0, #0x80 - lsls r0, r0, #0x12 - ldrb r0, [r0, #7] - movs r7, #2 - cmp r0, #0 - bne _0805123A - movs r7, #7 -_0805123A: - ldr r0, _08051250 @ =gMenu - ldrb r4, [r0, #1] - subs r0, r7, #1 - cmp r0, #7 - bhi _08051322 - lsls r0, r0, #2 - ldr r1, _08051254 @ =_08051258 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08051250: .4byte gMenu -_08051254: .4byte _08051258 -_08051258: @ jump table - .4byte _08051278 @ case 0 - .4byte _0805127C @ case 1 - .4byte _08051280 @ case 2 - .4byte _08051284 @ case 3 - .4byte _08051288 @ case 4 - .4byte _080512C0 @ case 5 - .4byte _080512B8 @ case 6 - .4byte _080512EC @ case 7 -_08051278: - movs r4, #0 - b _08051322 -_0805127C: - movs r4, #1 - b _08051322 -_08051280: - movs r4, #2 - b _08051322 -_08051284: - adds r4, #1 - b _08051322 -_08051288: - ldr r3, _080512B0 @ =gMenu - ldrb r0, [r3, #0x13] - cmp r0, #0 - beq _08051322 - subs r0, #1 - movs r2, #0 - strb r0, [r3, #0x13] - ldr r1, _080512B4 @ =gUnk_02002A40 - ldrb r0, [r3, #0x13] - adds r1, #0x80 - adds r0, r0, r1 - strb r2, [r0] - ldrb r0, [r3, #0x13] - adds r0, #1 - adds r0, r0, r1 - strb r2, [r0] - movs r0, #0x6c - bl sub_08051574 - b _08051322 - .align 2, 0 -_080512B0: .4byte gMenu -_080512B4: .4byte gUnk_02002A40 -_080512B8: - movs r0, #0 - bl sub_08051480 - b _08051322 -_080512C0: - ldr r2, _080512E4 @ =gBG3Buffer - ldr r0, _080512E8 @ =gMenu - ldrb r1, [r0, #0x10] - lsls r1, r1, #1 - ldrb r0, [r0, #0x11] - lsls r0, r0, #6 - adds r0, #0xc3 - adds r1, r1, r0 - lsls r1, r1, #1 - adds r1, r1, r2 - ldrh r0, [r1] - lsrs r0, r0, #1 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - bl sub_08051480 - b _08051322 - .align 2, 0 -_080512E4: .4byte gBG3Buffer -_080512E8: .4byte gMenu -_080512EC: - movs r3, #5 - ldr r0, _08051350 @ =gUnk_02002A40 - adds r6, r0, #0 - adds r6, #0x80 - movs r5, #0 -_080512F6: - adds r2, r3, r6 - ldrb r1, [r2] - cmp r1, #0 - beq _08051302 - cmp r1, #0x20 - bne _0805130A -_08051302: - strb r5, [r2] - subs r3, #1 - cmp r3, #0 - bge _080512F6 -_0805130A: - adds r0, #0x80 - ldrb r0, [r0] - movs r7, #3 - cmp r0, #0 - beq _08051316 - movs r7, #2 -_08051316: - movs r0, #0x6a - bl sub_08051574 - adds r0, r7, #0 - bl sub_080A7114 -_08051322: - movs r0, #0x80 - lsls r0, r0, #0x12 - ldrb r0, [r0, #7] - movs r1, #2 - cmp r0, #0 - bne _08051330 - movs r1, #3 -_08051330: - adds r0, r4, r1 - bl __modsi3 - adds r4, r0, #0 - ldr r1, _08051354 @ =gMenu - ldrb r0, [r1, #1] - cmp r0, r4 - beq _0805134C - strb r4, [r1, #1] - bl sub_08051458 - movs r0, #0x68 - bl PlaySFX -_0805134C: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08051350: .4byte gUnk_02002A40 -_08051354: .4byte gMenu - - thumb_func_start sub_08051358 -sub_08051358: @ 0x08051358 - push {lr} - ldr r2, _08051384 @ =gMenu - movs r0, #0x80 - lsls r0, r0, #0x12 - ldrb r0, [r0, #7] - movs r1, #3 - cmp r0, #0 - bne _0805136A - movs r1, #4 -_0805136A: - strb r1, [r2, #0x12] - ldrh r1, [r2, #0x10] - ldr r0, _08051388 @ =0x0000050B - cmp r1, r0 - beq _08051382 - movs r0, #5 - strb r0, [r2, #0x11] - movs r0, #0xb - strb r0, [r2, #0x10] - movs r0, #0x67 - bl PlaySFX -_08051382: - pop {pc} - .align 2, 0 -_08051384: .4byte gMenu -_08051388: .4byte 0x0000050B - - thumb_func_start sub_0805138C -sub_0805138C: @ 0x0805138C - push {lr} - ldr r1, _080513A0 @ =gUnk_080FC9B0 - ldr r0, _080513A4 @ =gMenu - ldrb r0, [r0, #6] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_080513A0: .4byte gUnk_080FC9B0 -_080513A4: .4byte gMenu - - thumb_func_start sub_080513A8 -sub_080513A8: @ 0x080513A8 - push {lr} - movs r0, #5 - movs r1, #0 - bl sub_08050318 - ldr r1, _080513BC @ =gMenu - movs r0, #1 - strb r0, [r1, #6] - pop {pc} - .align 2, 0 -_080513BC: .4byte gMenu - - thumb_func_start sub_080513C0 -sub_080513C0: @ 0x080513C0 - push {lr} - movs r0, #0 - bl sub_0807CDA4 - adds r2, r0, #0 - cmp r2, #0 - beq _08051412 - cmp r2, #0 - bgt _080513DC - movs r0, #1 - rsbs r0, r0, #0 - cmp r2, r0 - beq _080513F8 - b _08051412 -_080513DC: - cmp r2, #1 - bne _08051412 - ldr r1, _080513F4 @ =gUnk_02019EE0 - adds r0, r1, #0 - adds r0, #8 - ldrb r1, [r1, #6] - adds r0, r0, r1 - strb r2, [r0] - movs r0, #3 - bl sub_080A7114 - b _08051412 - .align 2, 0 -_080513F4: .4byte gUnk_02019EE0 -_080513F8: - ldr r0, _08051414 @ =gUnk_02019EE0 - ldrb r0, [r0, #6] - bl sub_0805194C - movs r0, #6 - movs r1, #0 - bl sub_08050318 - ldr r1, _08051418 @ =gMenu - movs r0, #0x1e - strh r0, [r1, #8] - movs r0, #2 - strb r0, [r1, #6] -_08051412: - pop {pc} - .align 2, 0 -_08051414: .4byte gUnk_02019EE0 -_08051418: .4byte gMenu - - thumb_func_start sub_0805141C -sub_0805141C: @ 0x0805141C - push {lr} - ldr r1, _0805143C @ =gMenu - ldrh r0, [r1, #8] - cmp r0, #0 - bne _08051444 - ldr r0, _08051440 @ =gUnk_03000FF0 - ldrh r1, [r0, #2] - movs r0, #9 - ands r0, r1 - cmp r0, #0 - beq _08051448 - movs r0, #3 - bl sub_080A7114 - b _08051448 - .align 2, 0 -_0805143C: .4byte gMenu -_08051440: .4byte gUnk_03000FF0 -_08051444: - subs r0, #1 - strh r0, [r1, #8] -_08051448: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0805144C -sub_0805144C: @ 0x0805144C - push {lr} - movs r0, #0 - bl SetFileSelectState - pop {pc} - .align 2, 0 - - thumb_func_start sub_08051458 -sub_08051458: @ 0x08051458 - push {lr} - ldr r0, _08051474 @ =gMenu - ldrb r0, [r0, #1] - adds r0, #9 - bl sub_080503A8 - ldr r0, _08051478 @ =gUnk_02001B40 - ldr r1, _0805147C @ =gUnk_02022030 - movs r2, #0x80 - lsls r2, r2, #3 - bl _DmaCopy - pop {pc} - .align 2, 0 -_08051474: .4byte gMenu -_08051478: .4byte gUnk_02001B40 -_0805147C: .4byte gUnk_02022030 - - thumb_func_start sub_08051480 -sub_08051480: @ 0x08051480 - push {r4, lr} - adds r4, r0, #0 - bl sub_080514BC - ldr r2, _080514B4 @ =gMenu - ldrb r1, [r2, #0x13] - cmp r0, #0 - beq _080514B0 - cmp r0, #1 - beq _08051498 - adds r4, r0, #0 - subs r1, #1 -_08051498: - cmp r1, #5 - bls _0805149E - movs r1, #5 -_0805149E: - adds r0, r1, #1 - strb r0, [r2, #0x13] - ldr r0, _080514B8 @ =gUnk_02002A40 - adds r0, #0x80 - adds r0, r1, r0 - strb r4, [r0] - movs r0, #0x6b - bl sub_08051574 -_080514B0: - pop {r4, pc} - .align 2, 0 -_080514B4: .4byte gMenu -_080514B8: .4byte gUnk_02002A40 - - thumb_func_start sub_080514BC -sub_080514BC: @ 0x080514BC - push {lr} - adds r2, r0, #0 - movs r0, #0x80 - lsls r0, r0, #0x12 - ldrb r0, [r0, #7] - cmp r0, #0 - bne _080514D6 - cmp r2, #0 - beq _080514DA - cmp r2, #0xf - bhi _080514D6 - cmp r2, #0xe - bhs _080514DA -_080514D6: - movs r0, #1 - b _08051572 -_080514DA: - ldr r0, _08051500 @ =gMenu - ldrb r1, [r0, #0x13] - cmp r1, #0 - beq _08051570 - ldr r0, _08051504 @ =gUnk_02002A40 - adds r0, r0, r1 - adds r0, #0x7f - ldrb r1, [r0] - adds r0, r1, #0 - subs r0, #0xa4 - cmp r0, #0x28 - bhi _08051522 - cmp r2, #0xe - beq _0805153C - cmp r2, #0xe - bhi _08051508 - cmp r2, #0 - beq _0805150E - b _0805153C - .align 2, 0 -_08051500: .4byte gMenu -_08051504: .4byte gUnk_02002A40 -_08051508: - cmp r2, #0xf - beq _08051518 - b _0805153C -_0805150E: - cmp r1, #0xc2 - bhi _0805151C - adds r0, r1, #0 - adds r0, #0x33 - b _08051572 -_08051518: - cmp r1, #0xc2 - bls _08051570 -_0805151C: - adds r0, r1, #0 - adds r0, #0xa - b _08051572 -_08051522: - adds r0, r1, #0 - subs r0, #0xcd - cmp r0, #9 - bhi _0805154C - cmp r2, #0xe - beq _08051546 - cmp r2, #0xe - bhi _08051538 - cmp r2, #0 - beq _08051540 - b _0805154C -_08051538: - cmp r2, #0xf - bne _0805154C -_0805153C: - adds r0, r1, #0 - b _08051572 -_08051540: - adds r0, r1, #0 - adds r0, #0x29 - b _08051572 -_08051546: - adds r0, r1, #0 - subs r0, #0xa - b _08051572 -_0805154C: - adds r0, r1, #0 - subs r0, #0xd7 - cmp r0, #0x28 - bhi _08051570 - cmp r2, #0xe - beq _08051560 - cmp r2, #0xe - bls _08051560 - cmp r2, #0xf - beq _08051566 -_08051560: - adds r0, r1, #0 - subs r0, #0x33 - b _08051572 -_08051566: - cmp r1, #0xf5 - bls _08051570 - adds r0, r1, #0 - subs r0, #0x29 - b _08051572 -_08051570: - movs r0, #0 -_08051572: - pop {pc} - - thumb_func_start sub_08051574 -sub_08051574: @ 0x08051574 - push {lr} - bl PlaySFX - ldr r0, _08051594 @ =gUnk_02002A40 - ldr r3, _08051598 @ =gUnk_02019EE0 - ldrb r1, [r3, #6] - ldr r2, _0805159C @ =0x000004B4 - muls r1, r2, r1 - adds r3, #0xc - adds r1, r1, r3 - bl _DmaCopy - bl sub_0805070C - pop {pc} - .align 2, 0 -_08051594: .4byte gUnk_02002A40 -_08051598: .4byte gUnk_02019EE0 -_0805159C: .4byte 0x000004B4 - - thumb_func_start HandleFileDelete -HandleFileDelete: @ 0x080515A0 - push {lr} - ldr r1, _080515BC @ =gUnk_080FC9BC - ldr r0, _080515C0 @ =gMenu - ldrb r0, [r0, #5] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - ldr r0, _080515C4 @ =gUnk_02019EE0 - ldrb r0, [r0, #6] - bl sub_08050A64 - pop {pc} - .align 2, 0 -_080515BC: .4byte gUnk_080FC9BC -_080515C0: .4byte gMenu -_080515C4: .4byte gUnk_02019EE0 - - thumb_func_start sub_080515C8 -sub_080515C8: @ 0x080515C8 - push {lr} - movs r0, #1 - bl sub_080A7114 - pop {pc} - .align 2, 0 - - thumb_func_start sub_080515D4 -sub_080515D4: @ 0x080515D4 - push {r4, lr} - ldr r0, _080515FC @ =gUnk_02019EE0 - ldrb r0, [r0] - cmp r0, #0 - beq _080515E0 - b _080516D8 -_080515E0: - ldr r1, _08051600 @ =gMenu - movs r0, #4 - strh r0, [r1, #8] - ldrb r4, [r1, #1] - ldr r0, _08051604 @ =gUnk_03000FF0 - ldrh r0, [r0, #2] - subs r0, #1 - cmp r0, #0x1f - bhi _080516C8 - lsls r0, r0, #2 - ldr r1, _08051608 @ =_0805160C - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080515FC: .4byte gUnk_02019EE0 -_08051600: .4byte gMenu -_08051604: .4byte gUnk_03000FF0 -_08051608: .4byte _0805160C -_0805160C: @ jump table - .4byte _08051694 @ case 0 - .4byte _0805168C @ case 1 - .4byte _080516C8 @ case 2 - .4byte _080516C8 @ case 3 - .4byte _080516C8 @ case 4 - .4byte _080516C8 @ case 5 - .4byte _080516C8 @ case 6 - .4byte _08051694 @ case 7 - .4byte _080516C8 @ case 8 - .4byte _080516C8 @ case 9 - .4byte _080516C8 @ case 10 - .4byte _080516C8 @ case 11 - .4byte _080516C8 @ case 12 - .4byte _080516C8 @ case 13 - .4byte _080516C8 @ case 14 - .4byte _080516C6 @ case 15 - .4byte _080516C8 @ case 16 - .4byte _080516C8 @ case 17 - .4byte _080516C8 @ case 18 - .4byte _080516C8 @ case 19 - .4byte _080516C8 @ case 20 - .4byte _080516C8 @ case 21 - .4byte _080516C8 @ case 22 - .4byte _080516C8 @ case 23 - .4byte _080516C8 @ case 24 - .4byte _080516C8 @ case 25 - .4byte _080516C8 @ case 26 - .4byte _080516C8 @ case 27 - .4byte _080516C8 @ case 28 - .4byte _080516C8 @ case 29 - .4byte _080516C8 @ case 30 - .4byte _080516C2 @ case 31 -_0805168C: - ldr r1, _080516B0 @ =gMenu - movs r0, #0 - strb r0, [r1, #1] - movs r4, #0 -_08051694: - cmp r4, #1 - bne _080516B4 - movs r0, #4 - movs r1, #0 - bl sub_08050318 - movs r0, #2 - bl sub_080A7114 - movs r0, #0x6a - bl PlaySFX - b _080516C8 - .align 2, 0 -_080516B0: .4byte gMenu -_080516B4: - movs r0, #0 - bl SetFileSelectState - movs r0, #0x6c - bl PlaySFX - b _080516C8 -_080516C2: - movs r4, #0 - b _080516C8 -_080516C6: - movs r4, #1 -_080516C8: - ldr r1, _080516DC @ =gMenu - ldrb r0, [r1, #1] - cmp r0, r4 - beq _080516D8 - strb r4, [r1, #1] - movs r0, #0x69 - bl PlaySFX -_080516D8: - pop {r4, pc} - .align 2, 0 -_080516DC: .4byte gMenu - - thumb_func_start sub_080516E0 -sub_080516E0: @ 0x080516E0 - push {r4, lr} - movs r0, #1 - bl sub_0807CDA4 - cmp r0, #0 - beq _08051706 - ldr r4, _08051708 @ =gUnk_02019EE0 - ldrb r0, [r4, #6] - bl sub_0805194C - ldrb r0, [r4, #6] - bl sub_08050AFC - ldr r1, _0805170C @ =gMenu - movs r0, #2 - strh r0, [r1, #8] - movs r0, #0 - bl SetFileSelectState -_08051706: - pop {r4, pc} - .align 2, 0 -_08051708: .4byte gUnk_02019EE0 -_0805170C: .4byte gMenu - - thumb_func_start HandleFileCopy -HandleFileCopy: @ 0x08051710 - push {lr} - ldr r1, _0805172C @ =gUnk_080FC9C8 - ldr r0, _08051730 @ =gMenu - ldrb r0, [r0, #5] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - ldr r0, _08051734 @ =gUnk_02019EE0 - ldrb r0, [r0, #6] - bl sub_08050A64 - pop {pc} - .align 2, 0 -_0805172C: .4byte gUnk_080FC9C8 -_08051730: .4byte gMenu -_08051734: .4byte gUnk_02019EE0 - - thumb_func_start sub_08051738 -sub_08051738: @ 0x08051738 - push {r4, r5, r6, r7, lr} - ldr r1, _08051768 @ =gUnk_02019EE0 - movs r0, #4 - strb r0, [r1, #7] - movs r4, #0 - movs r3, #0 - adds r5, r1, #0 - adds r7, r5, #0 - adds r7, #8 - ldr r6, _0805176C @ =gUnk_02000090 -_0805174C: - adds r0, r3, r7 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #1 - bne _08051770 - ldrb r1, [r5, #6] - movs r2, #4 - eors r1, r3 - rsbs r0, r1, #0 - orrs r0, r1 - asrs r0, r0, #0x1f - ands r2, r0 - b _08051774 - .align 2, 0 -_08051768: .4byte gUnk_02019EE0 -_0805176C: .4byte gUnk_02000090 -_08051770: - adds r4, #1 - adds r2, r4, #0 -_08051774: - adds r0, r3, r6 - strb r2, [r0] - adds r3, #1 - cmp r3, #2 - bls _0805174C - cmp r4, #0 - bne _0805179C - ldr r1, _08051798 @ =gMenu - movs r0, #0x3c - strh r0, [r1, #8] - movs r0, #1 - movs r1, #0 - bl sub_08050318 - movs r0, #3 - bl sub_080A7114 - b _080517A2 - .align 2, 0 -_08051798: .4byte gMenu -_0805179C: - movs r0, #1 - bl sub_080A7114 -_080517A2: - adds r4, #1 - ldr r0, _080517B0 @ =gMenu - strb r4, [r0, #0x16] - movs r1, #4 - strb r1, [r0, #0x13] - strb r4, [r0, #0x14] - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080517B0: .4byte gMenu - - thumb_func_start sub_080517B4 -sub_080517B4: @ 0x080517B4 - push {r4, lr} - adds r2, r0, #0 - ldr r0, _080517E4 @ =gUnk_02019EE0 - ldrb r1, [r0, #7] - adds r4, r0, #0 - cmp r2, #0 - beq _080517DE - adds r1, r1, r2 - cmp r1, #4 - bhi _080517DC - ldr r3, _080517E8 @ =gUnk_02000090 -_080517CA: - adds r0, r1, r3 - ldrb r0, [r0] - cmp r0, #0 - beq _080517D6 - cmp r0, #4 - bne _080517DE -_080517D6: - adds r1, r1, r2 - cmp r1, #4 - bls _080517CA -_080517DC: - ldrb r1, [r4, #7] -_080517DE: - adds r0, r1, #0 - pop {r4, pc} - .align 2, 0 -_080517E4: .4byte gUnk_02019EE0 -_080517E8: .4byte gUnk_02000090 - - thumb_func_start sub_080517EC -sub_080517EC: @ 0x080517EC - push {r4, lr} - ldr r0, _08051810 @ =gUnk_02019EE0 - ldrb r1, [r0] - adds r2, r0, #0 - cmp r1, #0 - bne _0805186E - movs r4, #0 - ldr r0, _08051814 @ =gUnk_03000FF0 - ldrh r0, [r0, #2] - cmp r0, #8 - beq _0805182C - cmp r0, #8 - bgt _08051818 - cmp r0, #1 - beq _0805182C - cmp r0, #2 - beq _08051848 - b _08051858 - .align 2, 0 -_08051810: .4byte gUnk_02019EE0 -_08051814: .4byte gUnk_03000FF0 -_08051818: - cmp r0, #0x40 - beq _08051822 - cmp r0, #0x80 - beq _08051828 - b _08051858 -_08051822: - movs r4, #1 - rsbs r4, r4, #0 - b _08051858 -_08051828: - movs r4, #1 - b _08051858 -_0805182C: - ldrb r0, [r2, #7] - cmp r0, #2 - bhi _08051848 - movs r0, #2 - movs r1, #0 - bl sub_08050318 - movs r0, #2 - bl sub_080A7114 - movs r0, #0x6a - bl PlaySFX - b _08051858 -_08051848: - movs r0, #4 - strb r0, [r2, #7] - movs r0, #0x6c - bl PlaySFX - movs r0, #0 - bl SetFileSelectState -_08051858: - adds r0, r4, #0 - bl sub_080517B4 - ldr r1, _08051870 @ =gUnk_02019EE0 - ldrb r2, [r1, #7] - cmp r0, r2 - beq _0805186E - strb r0, [r1, #7] - movs r0, #0x69 - bl PlaySFX -_0805186E: - pop {r4, pc} - .align 2, 0 -_08051870: .4byte gUnk_02019EE0 - - thumb_func_start sub_08051874 -sub_08051874: @ 0x08051874 - push {r4, lr} - movs r1, #0x80 - lsls r1, r1, #0x12 - ldr r4, _080518B8 @ =gUnk_02019EE0 - ldrb r0, [r4, #7] - strb r0, [r1, #4] - movs r0, #0 - bl sub_0807CDA4 - adds r1, r0, #0 - adds r0, r4, #0 - adds r0, #8 - ldrb r2, [r4, #7] - adds r0, r0, r2 - strb r1, [r0] - movs r0, #1 - rsbs r0, r0, #0 - cmp r1, r0 - beq _080518C4 - cmp r1, #1 - bne _080518DE - ldr r0, _080518BC @ =gUnk_02002A40 - ldrb r1, [r4, #7] - ldr r2, _080518C0 @ =0x000004B4 - muls r1, r2, r1 - adds r3, r4, #0 - adds r3, #0xc - adds r1, r1, r3 - bl _DmaCopy - movs r0, #0 - bl SetFileSelectState - b _080518DE - .align 2, 0 -_080518B8: .4byte gUnk_02019EE0 -_080518BC: .4byte gUnk_02002A40 -_080518C0: .4byte 0x000004B4 -_080518C4: - ldrb r0, [r4, #7] - bl sub_0805194C - movs r0, #3 - movs r1, #0 - bl sub_08050318 - ldr r1, _080518E0 @ =gMenu - movs r0, #0x1e - strh r0, [r1, #8] - movs r0, #3 - bl sub_080A7114 -_080518DE: - pop {r4, pc} - .align 2, 0 -_080518E0: .4byte gMenu - - thumb_func_start sub_080518E4 -sub_080518E4: @ 0x080518E4 - push {lr} - ldr r1, _08051904 @ =gMenu - ldrh r0, [r1, #8] - cmp r0, #0 - bne _0805190C - ldr r0, _08051908 @ =gUnk_03000FF0 - ldrh r1, [r0, #2] - movs r0, #9 - ands r0, r1 - cmp r0, #0 - beq _08051910 - movs r0, #0 - bl SetFileSelectState - b _08051910 - .align 2, 0 -_08051904: .4byte gMenu -_08051908: .4byte gUnk_03000FF0 -_0805190C: - subs r0, #1 - strh r0, [r1, #8] -_08051910: - pop {pc} - .align 2, 0 - - thumb_func_start HandleFileStart -HandleFileStart: @ 0x08051914 - push {lr} - ldr r1, _08051940 @ =gMenu - ldrb r0, [r1, #5] - cmp r0, #0 - bne _0805193E - movs r0, #1 - strb r0, [r1, #5] - movs r2, #0x80 - lsls r2, r2, #0x12 - ldr r1, _08051944 @ =gUnk_02002A40 - ldrb r0, [r1, #2] - strb r0, [r2, #5] - ldrb r0, [r1, #3] - strb r0, [r2, #6] - ldr r1, _08051948 @ =gUnk_03001000 - movs r0, #2 - strb r0, [r1, #3] - movs r0, #5 - movs r1, #8 - bl DoFade -_0805193E: - pop {pc} - .align 2, 0 -_08051940: .4byte gMenu -_08051944: .4byte gUnk_02002A40 -_08051948: .4byte gUnk_03001000 - - thumb_func_start sub_0805194C -sub_0805194C: @ 0x0805194C - push {r4, lr} - ldr r3, _08051980 @ =gUnk_02019EE0 - adds r1, r3, #0 - adds r1, #8 - adds r1, r0, r1 - movs r2, #0 - strb r2, [r1] - ldr r1, _08051984 @ =0x000004B4 - adds r4, r0, #0 - muls r4, r1, r4 - adds r3, #0xc - adds r4, r4, r3 - adds r0, r4, #0 - bl _DmaZero - movs r0, #1 - strb r0, [r4, #2] - strb r0, [r4, #3] - adds r1, r4, #0 - adds r1, #0xaa - movs r0, #0x18 - strb r0, [r1] - adds r4, #0xab - strb r0, [r4] - pop {r4, pc} - .align 2, 0 -_08051980: .4byte gUnk_02019EE0 -_08051984: .4byte 0x000004B4 - thumb_func_start HandleGameplayScreen HandleGameplayScreen: @ 0x08051988 push {lr} @@ -1935,7 +509,7 @@ _08051E36: ldrb r0, [r3, #3] cmp r0, r1 blo _08051E34 - ldr r2, _08051E64 @ =gUnk_02002A40 + ldr r2, _08051E64 @ =gSave movs r1, #1 ldrb r3, [r3, #4] lsls r1, r3 @@ -1945,7 +519,7 @@ _08051E36: _08051E60: pop {pc} .align 2, 0 -_08051E64: .4byte gUnk_02002A40 +_08051E64: .4byte gSave thumb_func_start sub_08051E68 sub_08051E68: @ 0x08051E68 @@ -2249,7 +823,7 @@ sub_080520D8: @ 0x080520D8 movs r2, #0x3c movs r0, #0x3c strh r0, [r1, #8] - ldr r0, _08052120 @ =gUnk_02002A40 + ldr r0, _08052120 @ =gSave adds r0, #0xaa movs r1, #0x18 strb r1, [r0] @@ -2268,7 +842,7 @@ _08052114: .align 2, 0 _08052118: .4byte gFadeControl _0805211C: .4byte gMenu -_08052120: .4byte gUnk_02002A40 +_08052120: .4byte gSave _08052124: .4byte gUnk_03001000 _08052128: .4byte 0xFFFF0001 @@ -2382,7 +956,7 @@ _08052208: cmp r0, #0 bne _080522B6 ldrb r4, [r2, #3] - ldr r0, _08052224 @ =gUnk_03000FF0 + ldr r0, _08052224 @ =gInput ldrh r0, [r0, #2] cmp r0, #0x40 beq _0805222E @@ -2392,7 +966,7 @@ _08052208: beq _08052236 b _0805225A .align 2, 0 -_08052224: .4byte gUnk_03000FF0 +_08052224: .4byte gInput _08052228: cmp r0, #0x80 beq _08052232 @@ -2411,7 +985,7 @@ _08052236: _0805223E: movs r0, #8 movs r1, #0 - bl sub_08050318 + bl CreateDialogBox movs r2, #2 _08052248: ldr r1, _08052274 @ =gMenu @@ -2457,7 +1031,7 @@ _0805229C: strh r0, [r2, #8] movs r0, #9 movs r1, #0 - bl sub_08050318 + bl CreateDialogBox movs r0, #3 bl sub_080A7114 b _080522E8 @@ -2470,7 +1044,7 @@ _080522B6: strh r0, [r2, #8] b _080522E8 _080522BC: - ldr r0, _080522D0 @ =gUnk_03000FF0 + ldr r0, _080522D0 @ =gInput ldrh r1, [r0, #2] movs r0, #0xb ands r0, r1 @@ -2480,7 +1054,7 @@ _080522BC: bl sub_080A7114 b _080522E8 .align 2, 0 -_080522D0: .4byte gUnk_03000FF0 +_080522D0: .4byte gInput _080522D4: ldr r2, _080522EC @ =gScreen ldrh r1, [r2] @@ -2538,7 +1112,7 @@ _08052324: _08052340: .4byte gScreen _08052344: ldrb r4, [r3, #3] - ldr r0, _08052358 @ =gUnk_03000FF0 + ldr r0, _08052358 @ =gInput ldrh r0, [r0, #2] cmp r0, #0x40 beq _08052362 @@ -2548,7 +1122,7 @@ _08052344: beq _0805236A b _0805238C .align 2, 0 -_08052358: .4byte gUnk_03000FF0 +_08052358: .4byte gInput _0805235C: cmp r0, #0x80 beq _08052366 diff --git a/asm/ghostBrothers.s b/asm/ghostBrothers.s index a30a4062..d930929d 100644 --- a/asm/ghostBrothers.s +++ b/asm/ghostBrothers.s @@ -505,7 +505,7 @@ _08065F60: .4byte gUnk_0811033C sub_08065F64: @ 0x08065F64 push {lr} adds r3, r0, #0 - ldr r0, _08065F88 @ =gUnk_02002A40 + ldr r0, _08065F88 @ =gSave ldrb r0, [r0, #8] subs r0, #2 cmp r0, #0 @@ -522,7 +522,7 @@ _08065F74: bl ShowNPCDialogue pop {pc} .align 2, 0 -_08065F88: .4byte gUnk_02002A40 +_08065F88: .4byte gSave _08065F8C: .4byte gUnk_08110280 thumb_func_start GhostBrothers_Fusion diff --git a/asm/goronMerchant.s b/asm/goronMerchant.s index dcde5693..80e01bd6 100644 --- a/asm/goronMerchant.s +++ b/asm/goronMerchant.s @@ -13,7 +13,7 @@ sub_08069718: @ 0x08069718 adds r7, r1, #0 bl sub_080696BC adds r6, r0, #0 - ldr r0, _08069754 @ =gUnk_02002A40 + ldr r0, _08069754 @ =gSave adds r0, #0xc0 ldrh r0, [r0] cmp r6, r0 @@ -35,7 +35,7 @@ sub_08069718: @ 0x08069718 movs r0, #1 b _0806976E .align 2, 0 -_08069754: .4byte gUnk_02002A40 +_08069754: .4byte gSave _08069758: .4byte gRoomVars _0806975C: ldr r0, _08069760 @ =0x00002C1F diff --git a/asm/guardWithSpear.s b/asm/guardWithSpear.s index 4fda3f06..18957b2c 100644 --- a/asm/guardWithSpear.s +++ b/asm/guardWithSpear.s @@ -496,7 +496,7 @@ _08064424: .4byte gUnk_0810F6D4 sub_08064428: @ 0x08064428 push {lr} adds r3, r0, #0 - ldr r0, _0806444C @ =gUnk_02002A40 + ldr r0, _0806444C @ =gSave ldrb r0, [r0, #8] subs r1, r0, #2 cmp r1, #0 @@ -513,7 +513,7 @@ _08064438: ldr r1, _08064450 @ =gUnk_0810CF4C b _08064460 .align 2, 0 -_0806444C: .4byte gUnk_02002A40 +_0806444C: .4byte gSave _08064450: .4byte gUnk_0810CF4C _08064454: movs r0, #0x7f diff --git a/asm/hurdyGurdyMan.s b/asm/hurdyGurdyMan.s index 5d3cb14f..33d3bf98 100644 --- a/asm/hurdyGurdyMan.s +++ b/asm/hurdyGurdyMan.s @@ -141,7 +141,7 @@ HurdyGurdyMan_Head: @ 0x0806E3E4 sub_0806E418: @ 0x0806E418 push {lr} adds r2, r0, #0 - ldr r0, _0806E438 @ =gUnk_02002A40 + ldr r0, _0806E438 @ =gSave ldrb r0, [r0, #8] subs r0, #2 cmp r0, #0 @@ -155,7 +155,7 @@ _0806E428: bl ShowNPCDialogue pop {pc} .align 2, 0 -_0806E438: .4byte gUnk_02002A40 +_0806E438: .4byte gSave _0806E43C: .4byte gUnk_081144FC thumb_func_start sub_0806E440 diff --git a/asm/kid.s b/asm/kid.s index 8d61dd09..9d6a3bef 100644 --- a/asm/kid.s +++ b/asm/kid.s @@ -747,7 +747,7 @@ _08062658: .4byte gUnk_0810BDE8 sub_0806265C: @ 0x0806265C push {lr} adds r2, r0, #0 - ldr r3, _08062674 @ =gUnk_02002A40 + ldr r3, _08062674 @ =gSave ldrb r0, [r3, #8] cmp r0, #0 bne _08062678 @@ -756,7 +756,7 @@ sub_0806265C: @ 0x0806265C bl TextboxNoOverlap b _08062690 .align 2, 0 -_08062674: .4byte gUnk_02002A40 +_08062674: .4byte gSave _08062678: ldrb r0, [r2, #0xa] lsls r1, r0, #3 diff --git a/asm/mama.s b/asm/mama.s index bb42541d..048f5f7e 100644 --- a/asm/mama.s +++ b/asm/mama.s @@ -172,7 +172,7 @@ _0806C4D8: thumb_func_start sub_0806C4DC sub_0806C4DC: @ 0x0806C4DC push {lr} - ldr r1, _0806C4F0 @ =gUnk_02002A40 + ldr r1, _0806C4F0 @ =gSave ldrb r1, [r1, #8] lsls r1, r1, #3 ldr r2, _0806C4F4 @ =gUnk_08113760 @@ -180,7 +180,7 @@ sub_0806C4DC: @ 0x0806C4DC bl ShowNPCDialogue pop {pc} .align 2, 0 -_0806C4F0: .4byte gUnk_02002A40 +_0806C4F0: .4byte gSave _0806C4F4: .4byte gUnk_08113760 thumb_func_start sub_0806C4F8 diff --git a/asm/manager16.s b/asm/manager16.s index 551ddbc1..518f9e4e 100644 --- a/asm/manager16.s +++ b/asm/manager16.s @@ -78,7 +78,7 @@ _0805ABC8: adds r0, r2, r1 lsls r0, r0, #4 adds r4, r0, r4 - ldr r0, _0805ABF8 @ =gUnk_02002A40 + ldr r0, _0805ABF8 @ =gSave movs r5, #1 mov sl, r5 mov r7, sl @@ -94,7 +94,7 @@ _0805ABC8: .align 2, 0 _0805ABF0: .4byte gArea _0805ABF4: .4byte gUnk_02031EC0 -_0805ABF8: .4byte gUnk_02002A40 +_0805ABF8: .4byte gSave _0805ABFC: .4byte gUnk_020342F8 _0805AC00: ldrh r0, [r4, #4] diff --git a/asm/manager32.s b/asm/manager32.s index eb82a823..85883c5a 100644 --- a/asm/manager32.s +++ b/asm/manager32.s @@ -275,7 +275,7 @@ _0805D988: .4byte 0x0000F7FF sub_0805D98C: @ 0x0805D98C push {lr} adds r2, r0, #0 - ldr r3, _0805D9D4 @ =gUnk_03000FF0 + ldr r3, _0805D9D4 @ =gInput ldrh r1, [r3] movs r0, #0x40 ands r0, r1 @@ -313,7 +313,7 @@ _0805D9C2: _0805D9D0: pop {pc} .align 2, 0 -_0805D9D4: .4byte gUnk_03000FF0 +_0805D9D4: .4byte gInput thumb_func_start sub_0805D9D8 sub_0805D9D8: @ 0x0805D9D8 diff --git a/asm/manager37.s b/asm/manager37.s index 7ffdb9c7..d6ed6fee 100644 --- a/asm/manager37.s +++ b/asm/manager37.s @@ -59,7 +59,7 @@ _0805DE7A: strb r1, [r0] adds r0, #1 strb r1, [r0] - ldr r0, _0805DEB0 @ =gUnk_02002A40 + ldr r0, _0805DEB0 @ =gSave movs r1, #0x93 lsls r1, r1, #3 adds r0, r0, r1 @@ -68,7 +68,7 @@ _0805DE7A: pop {r4, pc} .align 2, 0 _0805DEAC: .4byte gScreenTransition -_0805DEB0: .4byte gUnk_02002A40 +_0805DEB0: .4byte gSave _0805DEB4: .4byte 0x00001194 thumb_func_start sub_0805DEB8 diff --git a/asm/managerF.s b/asm/managerF.s index 04cc1c91..742e934b 100644 --- a/asm/managerF.s +++ b/asm/managerF.s @@ -862,7 +862,7 @@ sub_08059548: @ 0x08059548 bne _0805955C bl DeleteThisEntity _0805955C: - ldr r2, _0805956C @ =gUnk_03000FF0 + ldr r2, _0805956C @ =gInput ldrh r1, [r2] movs r0, #4 orrs r0, r1 @@ -870,4 +870,4 @@ _0805955C: pop {pc} .align 2, 0 _08059568: .4byte gPlayerEntity -_0805956C: .4byte gUnk_03000FF0 +_0805956C: .4byte gInput diff --git a/asm/modArrows.s b/asm/modArrows.s index 1d9db6f2..e7f105ed 100644 --- a/asm/modArrows.s +++ b/asm/modArrows.s @@ -10,7 +10,7 @@ ModArrows: @ 0x08054330 push {lr} adds r3, r0, #0 - ldr r1, _08054354 @ =gUnk_02002A40 + ldr r1, _08054354 @ =gSave adds r0, r1, #0 adds r0, #0xad ldrb r0, [r0] @@ -26,7 +26,7 @@ ModArrows: @ 0x08054330 movs r3, #0 b _08054362 .align 2, 0 -_08054354: .4byte gUnk_02002A40 +_08054354: .4byte gSave _08054358: .4byte gQuiverSizes _0805435C: cmp r2, r3 diff --git a/asm/modBombs.s b/asm/modBombs.s index 53d9a615..b432a1f3 100644 --- a/asm/modBombs.s +++ b/asm/modBombs.s @@ -10,7 +10,7 @@ ModBombs: @ 0x080542F4 push {lr} adds r3, r0, #0 - ldr r1, _08054318 @ =gUnk_02002A40 + ldr r1, _08054318 @ =gSave adds r0, r1, #0 adds r0, #0xac ldrb r0, [r0] @@ -26,7 +26,7 @@ ModBombs: @ 0x080542F4 movs r3, #0 b _08054326 .align 2, 0 -_08054318: .4byte gUnk_02002A40 +_08054318: .4byte gSave _0805431C: .4byte gBombBagSizes _08054320: cmp r2, r3 diff --git a/asm/nayru.s b/asm/nayru.s index 0a11072f..004b0834 100644 --- a/asm/nayru.s +++ b/asm/nayru.s @@ -89,7 +89,7 @@ sub_08064928: @ 0x08064928 adds r4, r0, #0 bl sub_0801E99C adds r5, r0, #0 - ldr r6, _08064958 @ =gUnk_02002A40 + ldr r6, _08064958 @ =gSave adds r0, r4, #0 bl sub_08002632 ldr r2, _0806495C @ =0x00000141 @@ -108,7 +108,7 @@ _0806494E: bl sub_08078784 pop {r4, r5, r6, pc} .align 2, 0 -_08064958: .4byte gUnk_02002A40 +_08064958: .4byte gSave _0806495C: .4byte 0x00000141 thumb_func_start Nayru_Fusion diff --git a/asm/non_matching/code_0805457C.inc b/asm/non_matching/code_0805457C.inc index 54dfd569..4684cac8 100644 --- a/asm/non_matching/code_0805457C.inc +++ b/asm/non_matching/code_0805457C.inc @@ -77,7 +77,7 @@ _0805463C: bne _08054642 b _0805474C _08054642: - ldr r0, _08054658 @ =gUnk_02002A40 + ldr r0, _08054658 @ =gSave adds r0, #0xb3 ldrb r1, [r0] cmp r1, #0 @@ -87,7 +87,7 @@ _08054642: .align 2, 0 _08054650: .4byte gUnk_0800161C _08054654: .4byte gUnk_02034398 -_08054658: .4byte gUnk_02002A40 +_08054658: .4byte gSave _0805465C: .4byte gUnk_08001A1C _08054660: lsls r1, r1, #5 @@ -97,7 +97,7 @@ _08054666: mov r0, sp adds r1, r4, #0 bl sub_08000F14 - ldr r4, _08054740 @ =gUnk_02002A40 + ldr r4, _08054740 @ =gSave adds r0, r4, #0 adds r0, #0xaa ldrb r0, [r0] @@ -205,7 +205,7 @@ _08054726: b _0805474E .align 2, 0 _0805473C: .4byte gUnk_0800143C -_08054740: .4byte gUnk_02002A40 +_08054740: .4byte gSave _08054744: .4byte gUnk_08001A1C _08054748: .4byte gUnk_080FE1B4 _0805474C: diff --git a/asm/non_matching/fileScreen/sub_08050EF4.inc b/asm/non_matching/fileScreen/sub_08050EF4.inc new file mode 100644 index 00000000..7d2b850a --- /dev/null +++ b/asm/non_matching/fileScreen/sub_08050EF4.inc @@ -0,0 +1,138 @@ + .syntax unified + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + ldr r0, _08050F40 @ =gUnk_02019EE0 + ldrb r1, [r0] + adds r6, r0, #0 + cmp r1, #0 + bne _08050FF4 + ldrb r1, [r6, #6] + ldr r0, _08050F44 @ =0x000004B4 + muls r1, r0, r1 + adds r0, r6, #0 + adds r0, #0xc + adds r1, r1, r0 + ldr r0, _08050F48 @ =gMenu + ldrb r3, [r0, #1] + adds r4, r1, #3 + mov ip, r0 + cmp r3, #0 + bne _08050F1E + adds r4, r1, #2 +_08050F1E: + ldrb r2, [r4] + movs r5, #0 + ldr r0, _08050F4C @ =gInput + ldrh r0, [r0, #2] + mov r8, r2 + cmp r0, #0x10 + beq _08050F7A + cmp r0, #0x10 + bgt _08050F56 + cmp r0, #2 + beq _08050F8C + cmp r0, #2 + bgt _08050F50 + cmp r0, #1 + beq _08050F82 + b _08050F8E + .align 2, 0 +_08050F40: .4byte gUnk_02019EE0 +_08050F44: .4byte 0x000004B4 +_08050F48: .4byte gMenu +_08050F4C: .4byte gInput +_08050F50: + cmp r0, #8 + beq _08050F82 + b _08050F8E +_08050F56: + cmp r0, #0x40 + beq _08050F6A + cmp r0, #0x40 + bgt _08050F64 + cmp r0, #0x20 + beq _08050F72 + b _08050F8E +_08050F64: + cmp r0, #0x80 + beq _08050F6E + b _08050F8E +_08050F6A: + movs r3, #0 + b _08050F8E +_08050F6E: + movs r3, #1 + b _08050F8E +_08050F72: + cmp r2, #0 + beq _08050F8E + subs r2, #1 + b _08050F8E +_08050F7A: + cmp r2, #1 + bhi _08050F8E + adds r2, #1 + b _08050F8E +_08050F82: + ldrh r0, [r6, #4] + movs r5, #2 + ldrh r7, [r1, #2] + cmp r0, r7 + bne _08050F8E +_08050F8C: + movs r5, #3 +_08050F8E: + cmp r5, #0 + beq _08050FD0 + cmp r5, #2 + beq _08050F9C + cmp r5, #3 + beq _08050FAC + b _08050FBA +_08050F9C: + movs r0, #8 + movs r1, #0 + bl CreateDialogBox + movs r0, #0x6a + bl PlaySFX + b _08050FBA +_08050FAC: + ldrb r0, [r6, #4] + strb r0, [r1, #2] + ldrb r0, [r6, #5] + strb r0, [r1, #3] + movs r0, #0x6c + bl PlaySFX +_08050FBA: + adds r0, r5, #0 + bl sub_080A7114 + ldr r0, _08050FCC @ =gUnk_02019EE0 + ldrb r0, [r0, #6] + bl SetActiveSave + b _08050FF4 + .align 2, 0 +_08050FCC: .4byte gUnk_02019EE0 +_08050FD0: + mov r1, ip + ldrb r0, [r1, #1] + cmp r0, r3 + beq _08050FE2 + strb r3, [r1, #1] + movs r0, #0x69 + bl PlaySFX + b _08050FF4 +_08050FE2: + cmp r2, r8 + beq _08050FF4 + strb r2, [r4] + ldrb r0, [r6, #6] + bl LoadOptionsFromSave + movs r0, #0x69 + bl PlaySFX +_08050FF4: + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7, pc} + .align 2, 0 + .syntax divided \ No newline at end of file diff --git a/asm/non_matching/fileScreen/sub_08051738.inc b/asm/non_matching/fileScreen/sub_08051738.inc new file mode 100644 index 00000000..bde5ca42 --- /dev/null +++ b/asm/non_matching/fileScreen/sub_08051738.inc @@ -0,0 +1,65 @@ + .syntax unified + push {r4, r5, r6, r7, lr} + ldr r1, _08051768 @ =gUnk_02019EE0 + movs r0, #4 + strb r0, [r1, #7] + movs r4, #0 + movs r3, #0 + adds r5, r1, #0 + adds r7, r5, #0 + adds r7, #8 + ldr r6, _0805176C @ =gUnk_02000090 +_0805174C: + adds r0, r3, r7 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #1 + bne _08051770 + ldrb r1, [r5, #6] + movs r2, #4 + eors r1, r3 + rsbs r0, r1, #0 + orrs r0, r1 + asrs r0, r0, #0x1f + ands r2, r0 + b _08051774 + .align 2, 0 +_08051768: .4byte gUnk_02019EE0 +_0805176C: .4byte gUnk_02000090 +_08051770: + adds r4, #1 + adds r2, r4, #0 +_08051774: + adds r0, r3, r6 + strb r2, [r0] + adds r3, #1 + cmp r3, #2 + bls _0805174C + cmp r4, #0 + bne _0805179C + ldr r1, _08051798 @ =gMenu + movs r0, #0x3c + strh r0, [r1, #8] + movs r0, #1 + movs r1, #0 + bl CreateDialogBox + movs r0, #3 + bl sub_080A7114 + b _080517A2 + .align 2, 0 +_08051798: .4byte gMenu +_0805179C: + movs r0, #1 + bl sub_080A7114 +_080517A2: + adds r4, #1 + ldr r0, _080517B0 @ =gMenu + strb r4, [r0, #0x16] + movs r1, #4 + strb r1, [r0, #0x13] + strb r4, [r0, #0x14] + pop {r4, r5, r6, r7, pc} + .align 2, 0 +_080517B0: .4byte gMenu + .syntax divided \ No newline at end of file diff --git a/asm/non_matching/fileScreen/sub_080517B4.inc b/asm/non_matching/fileScreen/sub_080517B4.inc new file mode 100644 index 00000000..45bc25e3 --- /dev/null +++ b/asm/non_matching/fileScreen/sub_080517B4.inc @@ -0,0 +1,32 @@ + .syntax unified + push {r4, lr} + adds r2, r0, #0 + ldr r0, _080517E4 @ =gUnk_02019EE0 + ldrb r1, [r0, #7] + adds r4, r0, #0 + cmp r2, #0 + beq _080517DE + adds r1, r1, r2 + cmp r1, #4 + bhi _080517DC + ldr r3, _080517E8 @ =gUnk_02000090 +_080517CA: + adds r0, r1, r3 + ldrb r0, [r0] + cmp r0, #0 + beq _080517D6 + cmp r0, #4 + bne _080517DE +_080517D6: + adds r1, r1, r2 + cmp r1, #4 + bls _080517CA +_080517DC: + ldrb r1, [r4, #7] +_080517DE: + adds r0, r1, #0 + pop {r4, pc} + .align 2, 0 +_080517E4: .4byte gUnk_02019EE0 +_080517E8: .4byte gUnk_02000090 + .syntax divided \ No newline at end of file diff --git a/asm/non_matching/fileScreen/sub_080610B8.inc b/asm/non_matching/fileScreen/sub_080610B8.inc new file mode 100644 index 00000000..450a32ba --- /dev/null +++ b/asm/non_matching/fileScreen/sub_080610B8.inc @@ -0,0 +1,348 @@ + .syntax unified + push {r4, r5, r6, r7, lr} + ldr r0, _080510E4 @ =gUnk_02019EE0 + ldrb r0, [r0] + cmp r0, #0 + beq _080510C4 + b _0805134C +_080510C4: + movs r7, #0 + ldr r0, _080510E8 @ =gInput + ldrh r1, [r0, #2] + adds r2, r0, #0 + cmp r1, #8 + bne _080510D2 + b _080511C8 +_080510D2: + cmp r1, #8 + bgt _080510EC + cmp r1, #1 + bne _080510DC + b _080511F2 +_080510DC: + cmp r1, #2 + beq _080511B8 + b _08051100 + .align 2, 0 +_080510E4: .4byte gUnk_02019EE0 +_080510E8: .4byte gInput +_080510EC: + movs r0, #0x80 + lsls r0, r0, #1 + cmp r1, r0 + bne _080510F6 + b _0805122C +_080510F6: + movs r0, #0x80 + lsls r0, r0, #2 + cmp r1, r0 + bne _08051100 + b _0805121C +_08051100: + movs r6, #0 + movs r5, #0 + ldrh r0, [r2, #4] + cmp r0, #0x20 + beq _08051128 + cmp r0, #0x20 + bgt _08051114 + cmp r0, #0x10 + beq _0805112E + b _08051130 +_08051114: + cmp r0, #0x40 + beq _0805111E + cmp r0, #0x80 + beq _08051124 + b _08051130 +_0805111E: + movs r5, #1 + rsbs r5, r5, #0 + b _08051130 +_08051124: + movs r5, #1 + b _08051130 +_08051128: + movs r6, #1 + rsbs r6, r6, #0 + b _08051130 +_0805112E: + movs r6, #1 +_08051130: + ldr r4, _0805117C @ =gMenu + ldrb r0, [r4, #0x11] + adds r0, r0, r5 + adds r0, #6 + movs r1, #6 + bl __modsi3 + strb r0, [r4, #0x11] + orrs r5, r6 + cmp r5, #0 + beq _0805114C + movs r0, #0x67 + bl PlaySFX +_0805114C: + cmp r6, #0 + beq _0805123A + ldrb r0, [r4, #0x11] + cmp r0, #5 + beq _08051184 + ldrb r0, [r4, #0x10] + adds r0, r0, r6 + adds r0, #0xd + movs r1, #0xd + bl __modsi3 + strb r0, [r4, #0x10] + ldr r1, _08051180 @ =gUnk_080FC980 + movs r0, #0x80 + lsls r0, r0, #0x12 + ldrb r0, [r0, #7] + cmp r0, #0 + beq _08051172 + adds r1, #0x10 +_08051172: + ldrb r0, [r4, #0x10] + adds r0, r1, r0 + ldrb r0, [r0] + strb r0, [r4, #0x12] + b _0805123A + .align 2, 0 +_0805117C: .4byte gMenu +_08051180: .4byte gUnk_080FC980 +_08051184: + movs r0, #0x80 + lsls r0, r0, #0x12 + ldrb r0, [r0, #7] + adds r5, r0, #0 + movs r1, #4 + cmp r5, #0 + bne _08051194 + movs r1, #5 +_08051194: + ldrb r0, [r4, #0x12] + adds r0, r0, r6 + adds r0, r0, r1 + bl __modsi3 + strb r0, [r4, #0x12] + ldr r1, _080511B4 @ =gUnk_080FC9A0 + cmp r5, #0 + beq _080511A8 + adds r1, #8 +_080511A8: + ldrb r0, [r4, #0x12] + adds r0, r1, r0 + ldrb r0, [r0] + strb r0, [r4, #0x10] + b _0805123A + .align 2, 0 +_080511B4: .4byte gUnk_080FC9A0 +_080511B8: + ldr r0, _080511C4 @ =gMenu + ldrb r0, [r0, #0x13] + cmp r0, #0 + beq _080511EC + movs r7, #5 + b _0805123A + .align 2, 0 +_080511C4: .4byte gMenu +_080511C8: + movs r0, #0x80 + lsls r0, r0, #0x12 + ldrb r0, [r0, #7] + movs r1, #3 + cmp r0, #0 + bne _080511D6 + movs r1, #4 +_080511D6: + ldr r2, _080511E8 @ =gMenu + ldrb r0, [r2, #0x11] + cmp r0, #5 + bne _080511EC + ldrb r2, [r2, #0x12] + cmp r1, r2 + bne _080511EC + movs r7, #8 + b _0805123A + .align 2, 0 +_080511E8: .4byte gMenu +_080511EC: + bl sub_08051358 + b _0805123A +_080511F2: + ldr r1, _08051210 @ =gMenu + ldrb r0, [r1, #0x11] + cmp r0, #5 + bne _08051218 + ldr r2, _08051214 @ =gUnk_080FC970 + ldrb r1, [r1, #0x12] + movs r0, #0x80 + lsls r0, r0, #0x12 + ldrb r0, [r0, #7] + cmp r0, #0 + beq _0805120A + adds r1, #8 +_0805120A: + adds r0, r1, r2 + ldrb r7, [r0] + b _0805123A + .align 2, 0 +_08051210: .4byte gMenu +_08051214: .4byte gUnk_080FC970 +_08051218: + movs r7, #6 + b _0805123A +_0805121C: + movs r0, #0x80 + lsls r0, r0, #0x12 + ldrb r0, [r0, #7] + movs r7, #1 + cmp r0, #0 + bne _0805123A + movs r7, #4 + b _0805123A +_0805122C: + movs r0, #0x80 + lsls r0, r0, #0x12 + ldrb r0, [r0, #7] + movs r7, #2 + cmp r0, #0 + bne _0805123A + movs r7, #7 +_0805123A: + ldr r0, _08051250 @ =gMenu + ldrb r4, [r0, #1] + subs r0, r7, #1 + cmp r0, #7 + bhi _08051322 + lsls r0, r0, #2 + ldr r1, _08051254 @ =_08051258 + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08051250: .4byte gMenu +_08051254: .4byte _08051258 +_08051258: @ jump table + .4byte _08051278 @ case 0 + .4byte _0805127C @ case 1 + .4byte _08051280 @ case 2 + .4byte _08051284 @ case 3 + .4byte _08051288 @ case 4 + .4byte _080512C0 @ case 5 + .4byte _080512B8 @ case 6 + .4byte _080512EC @ case 7 +_08051278: + movs r4, #0 + b _08051322 +_0805127C: + movs r4, #1 + b _08051322 +_08051280: + movs r4, #2 + b _08051322 +_08051284: + adds r4, #1 + b _08051322 +_08051288: + ldr r3, _080512B0 @ =gMenu + ldrb r0, [r3, #0x13] + cmp r0, #0 + beq _08051322 + subs r0, #1 + movs r2, #0 + strb r0, [r3, #0x13] + ldr r1, _080512B4 @ =gSave + ldrb r0, [r3, #0x13] + adds r1, #0x80 + adds r0, r0, r1 + strb r2, [r0] + ldrb r0, [r3, #0x13] + adds r0, #1 + adds r0, r0, r1 + strb r2, [r0] + movs r0, #0x6c + bl sub_08051574 + b _08051322 + .align 2, 0 +_080512B0: .4byte gMenu +_080512B4: .4byte gSave +_080512B8: + movs r0, #0 + bl sub_08051480 + b _08051322 +_080512C0: + ldr r2, _080512E4 @ =gBG3Buffer + ldr r0, _080512E8 @ =gMenu + ldrb r1, [r0, #0x10] + lsls r1, r1, #1 + ldrb r0, [r0, #0x11] + lsls r0, r0, #6 + adds r0, #0xc3 + adds r1, r1, r0 + lsls r1, r1, #1 + adds r1, r1, r2 + ldrh r0, [r1] + lsrs r0, r0, #1 + lsls r0, r0, #0x18 + lsrs r0, r0, #0x18 + bl sub_08051480 + b _08051322 + .align 2, 0 +_080512E4: .4byte gBG3Buffer +_080512E8: .4byte gMenu +_080512EC: + movs r3, #5 + ldr r0, _08051350 @ =gSave + adds r6, r0, #0 + adds r6, #0x80 + movs r5, #0 +_080512F6: + adds r2, r3, r6 + ldrb r1, [r2] + cmp r1, #0 + beq _08051302 + cmp r1, #0x20 + bne _0805130A +_08051302: + strb r5, [r2] + subs r3, #1 + cmp r3, #0 + bge _080512F6 +_0805130A: + adds r0, #0x80 + ldrb r0, [r0] + movs r7, #3 + cmp r0, #0 + beq _08051316 + movs r7, #2 +_08051316: + movs r0, #0x6a + bl sub_08051574 + adds r0, r7, #0 + bl sub_080A7114 +_08051322: + movs r0, #0x80 + lsls r0, r0, #0x12 + ldrb r0, [r0, #7] + movs r1, #2 + cmp r0, #0 + bne _08051330 + movs r1, #3 +_08051330: + adds r0, r4, r1 + bl __modsi3 + adds r4, r0, #0 + ldr r1, _08051354 @ =gMenu + ldrb r0, [r1, #1] + cmp r0, r4 + beq _0805134C + strb r4, [r1, #1] + bl sub_08051458 + movs r0, #0x68 + bl PlaySFX +_0805134C: + pop {r4, r5, r6, r7, pc} + .align 2, 0 +_08051350: .4byte gSave +_08051354: .4byte gMenu + .syntax divided \ No newline at end of file diff --git a/asm/non_matching/pesto/sub_08024E4C.inc b/asm/non_matching/pesto/sub_08024E4C.inc index f326b496..affeab56 100644 --- a/asm/non_matching/pesto/sub_08024E4C.inc +++ b/asm/non_matching/pesto/sub_08024E4C.inc @@ -31,7 +31,7 @@ adds r2, r2, r1 strb r2, [r3] _08024E84: - ldr r0, _08024EC8 @ =gUnk_02002A40 + ldr r0, _08024EC8 @ =gSave adds r0, #0xaa ldrb r0, [r0] adds r2, r4, #0 @@ -65,7 +65,7 @@ _08024E9A: bl sub_08024A14 b _08024F46 .align 2, 0 -_08024EC8: .4byte gUnk_02002A40 +_08024EC8: .4byte gSave _08024ECC: ldr r6, _08024F48 @ =gPlayerEntity bl ResetPlayer diff --git a/asm/non_matching/putItemOnSlot.s b/asm/non_matching/putItemOnSlot.s index 3ab72a4a..d22d7828 100644 --- a/asm/non_matching/putItemOnSlot.s +++ b/asm/non_matching/putItemOnSlot.s @@ -18,7 +18,7 @@ _080543A8: cmp r0, #0x1e bhi _08054410 movs r1, #2 - ldr r2, _080543C0 @ =gUnk_02002A40 + ldr r2, _080543C0 @ =gSave adds r0, r2, #0 adds r0, #0xb4 ldrb r0, [r0] @@ -27,7 +27,7 @@ _080543A8: movs r1, #0 b _080543D0 .align 2, 0 -_080543C0: .4byte gUnk_02002A40 +_080543C0: .4byte gSave _080543C4: adds r0, r2, #0 adds r0, #0xb5 @@ -88,7 +88,7 @@ ForceEquipItem: @ 0x08054414 bne _0805442A movs r2, #1 _0805442A: - ldr r0, _08054458 @ =gUnk_02002A40 + ldr r0, _08054458 @ =gSave adds r0, #0xb4 adds r6, r1, r0 ldrb r7, [r6] @@ -114,7 +114,7 @@ _0805444A: _08054456: pop {r4, r5, r6, r7, pc} .align 2, 0 -_08054458: .4byte gUnk_02002A40 +_08054458: .4byte gSave _0805445C: .4byte gUnk_080FD5B4 _08054460: .4byte gUnk_0200AF00 .syntax divided diff --git a/asm/non_matching/save/sub_08050B3C.inc b/asm/non_matching/save/sub_08050B3C.inc index d7e96a1f..a3b5b6b3 100644 --- a/asm/non_matching/save/sub_08050B3C.inc +++ b/asm/non_matching/save/sub_08050B3C.inc @@ -6,7 +6,7 @@ push {r5, r6, r7} sub sp, #8 str r0, [sp] - ldr r1, _08050C18 @ =gUnk_02002A40 + ldr r1, _08050C18 @ =gSave adds r0, r1, #0 adds r0, #0xaa ldrb r0, [r0] @@ -117,7 +117,7 @@ RETURN: mov sl, r5 pop {r4, r5, r6, r7, pc} .align 2, 0 -_08050C18: .4byte gUnk_02002A40 +_08050C18: .4byte gSave _08050C1C: .4byte 0x0000F24C _08050C20: .4byte 0x040000D4 _08050C24: .4byte gUnk_080FC914 diff --git a/asm/non_matching/sub_0804DE00.inc b/asm/non_matching/sub_0804DE00.inc index ca6e828b..4a3a95bf 100644 --- a/asm/non_matching/sub_0804DE00.inc +++ b/asm/non_matching/sub_0804DE00.inc @@ -21,7 +21,7 @@ _0804DE22: bl SetGlobalFlag _0804DE32: ldr r5, _0804DE50 @ =gAreaRoomEntities_HyruleTown - ldr r4, _0804DE54 @ =gUnk_02002A40 + ldr r4, _0804DE54 @ =gSave ldrb r0, [r4, #8] lsls r0, r0, #2 adds r0, r0, r5 @@ -36,7 +36,7 @@ _0804DE32: b _0804DECC .align 2, 0 _0804DE50: .4byte gAreaRoomEntities_HyruleTown -_0804DE54: .4byte gUnk_02002A40 +_0804DE54: .4byte gSave _0804DE58: .4byte gUnk_02017654 _0804DE5C: movs r0, #0x1c diff --git a/asm/non_matching/sub_0804E150.inc b/asm/non_matching/sub_0804E150.inc index ad865197..b8e67282 100644 --- a/asm/non_matching/sub_0804E150.inc +++ b/asm/non_matching/sub_0804E150.inc @@ -1,14 +1,14 @@ .syntax unified push {r4, r5, lr} ldr r4, _0804E160 @ =gUnk_080EED2C - ldr r0, _0804E164 @ =gUnk_02002A40 + ldr r0, _0804E164 @ =gSave movs r5, #1 ldrb r0, [r0, #8] lsls r5, r0 b _0804E17C .align 2, 0 _0804E160: .4byte gUnk_080EED2C -_0804E164: .4byte gUnk_02002A40 +_0804E164: .4byte gSave _0804E168: ldrh r0, [r4] ands r0, r5 @@ -29,14 +29,14 @@ _0804E17C: cmp r0, #0 bne _0804E1BA ldr r4, _0804E198 @ =gUnk_080EED7A - ldr r0, _0804E19C @ =gUnk_02002A40 + ldr r0, _0804E19C @ =gSave movs r5, #1 ldrb r0, [r0, #8] lsls r5, r0 b _0804E1B4 .align 2, 0 _0804E198: .4byte gUnk_080EED7A -_0804E19C: .4byte gUnk_02002A40 +_0804E19C: .4byte gSave _0804E1A0: ldrh r0, [r4] ands r0, r5 @@ -58,14 +58,14 @@ _0804E1BA: cmp r0, #0 bne _0804E1F2 ldr r4, _0804E1D0 @ =gUnk_080EED8C - ldr r0, _0804E1D4 @ =gUnk_02002A40 + ldr r0, _0804E1D4 @ =gSave movs r5, #1 ldrb r0, [r0, #8] lsls r5, r0 b _0804E1EC .align 2, 0 _0804E1D0: .4byte gUnk_080EED8C -_0804E1D4: .4byte gUnk_02002A40 +_0804E1D4: .4byte gSave _0804E1D8: ldrh r0, [r4] ands r0, r5 diff --git a/asm/non_matching/textbox/sub_080564EC.inc b/asm/non_matching/textbox/sub_080564EC.inc index 8d0dc2ce..3fec0269 100644 --- a/asm/non_matching/textbox/sub_080564EC.inc +++ b/asm/non_matching/textbox/sub_080564EC.inc @@ -38,7 +38,7 @@ _08056520: strb r0, [r3, #1] adds r3, #2 movs r2, #0 - ldr r0, _080565A8 @ =gUnk_02002A40 + ldr r0, _080565A8 @ =gSave adds r0, #0x80 ldrb r1, [r0] cmp r1, #0 @@ -84,7 +84,7 @@ _08056598: .4byte gUnk_02036A40 _0805659C: .4byte gUnk_02024030 _080565A0: .4byte gUnk_02022780 _080565A4: .4byte gTextBox -_080565A8: .4byte gUnk_02002A40 +_080565A8: .4byte gSave _080565AC: .4byte gUnk_08107BE0 _080565B0: .4byte gUnk_02000D00 .syntax divided \ No newline at end of file diff --git a/asm/object37.s b/asm/object37.s index 1cbfc628..2d133d7e 100644 --- a/asm/object37.s +++ b/asm/object37.s @@ -47,7 +47,7 @@ sub_0808BE00: @ 0x0808BE00 sub_0808BE2C: @ 0x0808BE2C push {r4, lr} adds r2, r0, #0 - ldr r0, _0808BE78 @ =gUnk_02002A40 + ldr r0, _0808BE78 @ =gSave ldr r1, _0808BE7C @ =0x0000024E adds r4, r0, r1 ldrb r0, [r4] @@ -83,6 +83,6 @@ _0808BE6C: _0808BE74: pop {r4, pc} .align 2, 0 -_0808BE78: .4byte gUnk_02002A40 +_0808BE78: .4byte gSave _0808BE7C: .4byte 0x0000024E _0808BE80: .4byte gPlayerEntity diff --git a/asm/objectB.s b/asm/objectB.s index 02b3e30c..0c7b636e 100644 --- a/asm/objectB.s +++ b/asm/objectB.s @@ -184,13 +184,13 @@ _08083CDC: beq _08083D00 cmp r0, #0x63 bne _08083D16 - ldr r0, _08083CFC @ =gUnk_02002A40 + ldr r0, _08083CFC @ =gSave adds r0, #0xa9 ldrb r0, [r0] adds r1, r1, r0 b _08083D16 .align 2, 0 -_08083CFC: .4byte gUnk_02002A40 +_08083CFC: .4byte gSave _08083D00: ldrb r0, [r4, #0xb] cmp r0, #1 @@ -248,7 +248,7 @@ _08083D60: bne _08083DD0 movs r0, #0xa0 bl ModHealth - ldr r0, _08083DA8 @ =gUnk_02002A40 + ldr r0, _08083DA8 @ =gSave adds r1, r0, #0 adds r1, #0xa9 ldrb r0, [r1] @@ -261,7 +261,7 @@ _08083D60: movs r0, #0 strb r0, [r1] _08083D88: - ldr r0, _08083DA8 @ =gUnk_02002A40 + ldr r0, _08083DA8 @ =gSave adds r1, r0, #0 adds r1, #0xab ldrb r0, [r1] @@ -278,21 +278,21 @@ _08083DA0: bl ModHealth b _08083DD0 .align 2, 0 -_08083DA8: .4byte gUnk_02002A40 +_08083DA8: .4byte gSave _08083DAC: ldrb r0, [r4, #0xa] bl sub_080544DC adds r1, r0, #0 cmp r1, #0 beq _08083DC8 - ldr r0, _08083DC4 @ =gUnk_02002A40 + ldr r0, _08083DC4 @ =gSave adds r0, r0, r1 adds r0, #0xb5 movs r1, #0x20 strb r1, [r0] b _08083DD0 .align 2, 0 -_08083DC4: .4byte gUnk_02002A40 +_08083DC4: .4byte gSave _08083DC8: ldrb r0, [r4, #0xa] movs r1, #2 diff --git a/asm/objectB9.s b/asm/objectB9.s index 1a600eb6..0622cef1 100644 --- a/asm/objectB9.s +++ b/asm/objectB9.s @@ -285,13 +285,13 @@ _080A140C: beq _080A1430 b _080A1444 _080A1412: - ldr r0, _080A1418 @ =gUnk_02002A40 + ldr r0, _080A1418 @ =gSave adds r0, #0xbb b _080A1424 .align 2, 0 -_080A1418: .4byte gUnk_02002A40 +_080A1418: .4byte gSave _080A141C: - ldr r0, _080A142C @ =gUnk_02002A40 + ldr r0, _080A142C @ =gSave movs r1, #0x8b lsls r1, r1, #1 adds r0, r0, r1 @@ -301,7 +301,7 @@ _080A1424: beq _080A1444 b _080A1454 .align 2, 0 -_080A142C: .4byte gUnk_02002A40 +_080A142C: .4byte gSave _080A1430: movs r0, #0x4f bl CheckGlobalFlag diff --git a/asm/percy.s b/asm/percy.s index 2817449f..08ec140c 100644 --- a/asm/percy.s +++ b/asm/percy.s @@ -67,7 +67,7 @@ _0806B5AC: bne _0806B600 movs r0, #3 strb r0, [r4, #0x18] - ldr r0, _0806B5D8 @ =gUnk_02002A40 + ldr r0, _0806B5D8 @ =gSave adds r0, #0xbb ldrb r0, [r0] cmp r0, #0 @@ -79,7 +79,7 @@ _0806B5AC: b _0806B5E6 .align 2, 0 _0806B5D4: .4byte gTextBox -_0806B5D8: .4byte gUnk_02002A40 +_0806B5D8: .4byte gSave _0806B5DC: movs r0, #0x3f movs r1, #0x64 diff --git a/asm/phonograph.s b/asm/phonograph.s index 6c864e2f..c1fd3df9 100644 --- a/asm/phonograph.s +++ b/asm/phonograph.s @@ -51,7 +51,7 @@ sub_0806E964: @ 0x0806E964 push {r6, r7} mov sb, r0 adds r2, r1, #0 - ldr r0, _0806E984 @ =gUnk_03000FF0 + ldr r0, _0806E984 @ =gInput mov r8, r0 ldrh r1, [r0, #2] movs r0, #2 @@ -61,7 +61,7 @@ sub_0806E964: @ 0x0806E964 bl sub_08050384 b _0806EAAA .align 2, 0 -_0806E984: .4byte gUnk_03000FF0 +_0806E984: .4byte gInput _0806E988: ldrb r0, [r2, #0x18] adds r1, r0, #0 @@ -152,7 +152,7 @@ _0806EA0A: strh r0, [r6] _0806EA28: strh r4, [r7] - ldr r0, _0806EA74 @ =gUnk_03000FF0 + ldr r0, _0806EA74 @ =gInput ldrh r1, [r0, #2] movs r0, #1 ands r0, r1 @@ -190,7 +190,7 @@ _0806EA4E: strh r0, [r6] b _0806EA86 .align 2, 0 -_0806EA74: .4byte gUnk_03000FF0 +_0806EA74: .4byte gInput _0806EA78: .4byte gUnk_081145E4 _0806EA7C: ldr r0, _0806EAB4 @ =0x80010000 diff --git a/asm/pina.s b/asm/pina.s index 11a47b9a..5d4927ac 100644 --- a/asm/pina.s +++ b/asm/pina.s @@ -305,7 +305,7 @@ _08063C8C: thumb_func_start sub_08063C90 sub_08063C90: @ 0x08063C90 push {lr} - ldr r1, _08063CA4 @ =gUnk_02002A40 + ldr r1, _08063CA4 @ =gSave ldrb r1, [r1, #8] lsls r1, r1, #3 ldr r2, _08063CA8 @ =gUnk_0810CE04 @@ -313,7 +313,7 @@ sub_08063C90: @ 0x08063C90 bl ShowNPCDialogue pop {pc} .align 2, 0 -_08063CA4: .4byte gUnk_02002A40 +_08063CA4: .4byte gSave _08063CA8: .4byte gUnk_0810CE04 thumb_func_start sub_08063CAC diff --git a/asm/sittingPerson.s b/asm/sittingPerson.s index 006c76a4..29d3221c 100644 --- a/asm/sittingPerson.s +++ b/asm/sittingPerson.s @@ -218,7 +218,7 @@ _080638B2: movs r1, #1 bl sub_0807BA8C _080638D6: - ldr r0, _08063904 @ =gUnk_02002A40 + ldr r0, _08063904 @ =gSave ldrb r0, [r0, #8] subs r1, r0, #6 cmp r1, #0 @@ -238,7 +238,7 @@ _080638E2: _080638F8: .4byte gUnk_02002B0E _080638FC: .4byte 0x00000A17 _08063900: .4byte 0x00000A57 -_08063904: .4byte gUnk_02002A40 +_08063904: .4byte gSave _08063908: .4byte gUnk_0810CBE4 thumb_func_start sub_0806390C @@ -275,7 +275,7 @@ sub_08063944: @ 0x08063944 adds r3, r0, #0 movs r0, #0 str r0, [r1, #0x14] - ldr r0, _0806396C @ =gUnk_02002A40 + ldr r0, _0806396C @ =gSave ldrb r0, [r0, #8] subs r0, #2 cmp r0, #0 @@ -292,7 +292,7 @@ _08063958: bl ShowNPCDialogue pop {pc} .align 2, 0 -_0806396C: .4byte gUnk_02002A40 +_0806396C: .4byte gSave _08063970: .4byte gUnk_0810CC08 thumb_func_start SittingPerson_Head diff --git a/asm/smallTownMinish.s b/asm/smallTownMinish.s index 3ce94602..b7d208bb 100644 --- a/asm/smallTownMinish.s +++ b/asm/smallTownMinish.s @@ -61,7 +61,7 @@ _0806E2DA: sub_0806E2DC: @ 0x0806E2DC push {lr} adds r3, r0, #0 - ldr r0, _0806E300 @ =gUnk_02002A40 + ldr r0, _0806E300 @ =gSave ldrb r0, [r0, #8] subs r0, #2 cmp r0, #0 @@ -78,5 +78,5 @@ _0806E2EC: bl ShowNPCDialogue pop {pc} .align 2, 0 -_0806E300: .4byte gUnk_02002A40 +_0806E300: .4byte gSave _0806E304: .4byte gUnk_08114308 diff --git a/asm/stockwell.s b/asm/stockwell.s index 6d643e31..074ada57 100644 --- a/asm/stockwell.s +++ b/asm/stockwell.s @@ -459,7 +459,7 @@ _080653AA: cmp r5, #0x6f bhi _0806543C ldr r2, _080653C8 @ =gQuiverSizes - ldr r1, _080653CC @ =gUnk_02002A40 + ldr r1, _080653CC @ =gSave adds r0, r1, #0 adds r0, #0xaf ldrb r0, [r0] @@ -468,7 +468,7 @@ _080653AA: b _080653FA .align 2, 0 _080653C8: .4byte gQuiverSizes -_080653CC: .4byte gUnk_02002A40 +_080653CC: .4byte gSave _080653D0: movs r0, #0xd bl GetInventoryValue @@ -485,7 +485,7 @@ _080653E4: _080653E8: .4byte 0x00002C0B _080653EC: ldr r2, _08065408 @ =gBombBagSizes - ldr r1, _0806540C @ =gUnk_02002A40 + ldr r1, _0806540C @ =gSave adds r0, r1, #0 adds r0, #0xae ldrb r0, [r0] @@ -500,7 +500,7 @@ _080653FA: b _080654C2 .align 2, 0 _08065408: .4byte gBombBagSizes -_0806540C: .4byte gUnk_02002A40 +_0806540C: .4byte gSave _08065410: .4byte 0x00002C0E _08065414: movs r1, #0x55 @@ -515,7 +515,7 @@ _08065420: mov sb, r1 b _0806543C _08065426: - ldr r0, _08065494 @ =gUnk_02002A40 + ldr r0, _08065494 @ =gSave adds r0, #0xc2 ldrh r1, [r0] ldr r0, _08065498 @ =0x000003E6 @@ -531,7 +531,7 @@ _0806543C: adds r0, r5, #0 bl sub_08053FE0 adds r6, r0, #0 - ldr r7, _08065494 @ =gUnk_02002A40 + ldr r7, _08065494 @ =gSave adds r0, r7, #0 adds r0, #0xc0 ldrh r0, [r0] @@ -569,7 +569,7 @@ _0806548A: ldr r0, _080654A4 @ =0x00002C11 b _080654B6 .align 2, 0 -_08065494: .4byte gUnk_02002A40 +_08065494: .4byte gSave _08065498: .4byte 0x000003E6 _0806549C: .4byte 0x00002C0E _080654A0: .4byte gRoomVars diff --git a/asm/sub_0807CA18.s b/asm/sub_0807CA18.s index 550ddab9..f955c199 100644 --- a/asm/sub_0807CA18.s +++ b/asm/sub_0807CA18.s @@ -8,7 +8,7 @@ thumb_func_start sub_0807CA18 sub_0807CA18: @ 0x0807CA18 push {lr} - ldr r0, _0807CA7C @ =gUnk_02002A40 + ldr r0, _0807CA7C @ =gSave mov ip, r0 ldrh r1, [r0] movs r0, #0x80 @@ -59,5 +59,5 @@ _0807CA78: movs r0, #1 pop {pc} .align 2, 0 -_0807CA7C: .4byte gUnk_02002A40 +_0807CA7C: .4byte gSave _0807CA80: .4byte gUnk_0811E470 diff --git a/asm/takkuri.s b/asm/takkuri.s index b382ddcb..b2419d0b 100644 --- a/asm/takkuri.s +++ b/asm/takkuri.s @@ -716,7 +716,7 @@ sub_0803C0AC: @ 0x0803C0AC adds r5, r0, #0 cmp r5, #0 beq _0803C11C - ldr r0, _0803C0D4 @ =gUnk_02002A40 + ldr r0, _0803C0D4 @ =gSave adds r0, #0xc0 ldrh r1, [r0] ldr r0, _0803C0D8 @ =0x000001F3 @@ -729,7 +729,7 @@ sub_0803C0AC: @ 0x0803C0AC bl ModRupees b _0803C118 .align 2, 0 -_0803C0D4: .4byte gUnk_02002A40 +_0803C0D4: .4byte gSave _0803C0D8: .4byte 0x000001F3 _0803C0DC: cmp r1, #0x63 diff --git a/asm/tingleSiblings.s b/asm/tingleSiblings.s index d732fd78..f90adb6c 100644 --- a/asm/tingleSiblings.s +++ b/asm/tingleSiblings.s @@ -193,7 +193,7 @@ sub_08064F28: @ 0x08064F28 bl CheckRoomFlag cmp r0, #0 bne _08064F84 - ldr r4, _08064F64 @ =gUnk_02002A40 + ldr r4, _08064F64 @ =gSave adds r0, r6, #0 bl sub_08002632 ldr r1, _08064F68 @ =0x00000141 @@ -206,7 +206,7 @@ sub_08064F28: @ 0x08064F28 b _08064F7E .align 2, 0 _08064F60: .4byte gUnk_0810FC50 -_08064F64: .4byte gUnk_02002A40 +_08064F64: .4byte gSave _08064F68: .4byte 0x00000141 _08064F6C: movs r0, #0xc @@ -226,7 +226,7 @@ _08064F84: bl CheckGlobalFlag cmp r0, #0 bne _08064FCE - ldr r0, _08064FB0 @ =gUnk_02002A40 + ldr r0, _08064FB0 @ =gSave ldr r1, _08064FB4 @ =0x00000117 adds r0, r0, r1 ldrb r1, [r0] @@ -243,7 +243,7 @@ _08064F84: str r0, [r1, #0x14] b _08064FD2 .align 2, 0 -_08064FB0: .4byte gUnk_02002A40 +_08064FB0: .4byte gSave _08064FB4: .4byte 0x00000117 _08064FB8: movs r5, #7 diff --git a/asm/vaatiWrath.s b/asm/vaatiWrath.s index e76f2e24..5a0bea7b 100644 --- a/asm/vaatiWrath.s +++ b/asm/vaatiWrath.s @@ -2141,7 +2141,7 @@ sub_080423A4: @ 0x080423A4 ands r0, r1 cmp r0, #0 bne _0804241C - ldr r0, _080423D0 @ =gUnk_02002A40 + ldr r0, _080423D0 @ =gSave movs r2, #0x93 lsls r2, r2, #3 adds r1, r0, r2 @@ -2153,7 +2153,7 @@ sub_080423A4: @ 0x080423A4 b _0804241C .align 2, 0 _080423CC: .4byte gScreenTransition -_080423D0: .4byte gUnk_02002A40 +_080423D0: .4byte gSave _080423D4: ldr r2, _08042420 @ =gPlayerState adds r0, r2, #0 diff --git a/data/data_080FC8A4.s b/data/data_080FC8A4.s index 4b2d84c6..1f1002fb 100644 --- a/data/data_080FC8A4.s +++ b/data/data_080FC8A4.s @@ -4,18 +4,6 @@ .section .rodata .align 2 -gUnk_080FC8D0:: @ 080FC8D0 - .incbin "baserom.gba", 0x0FC8D0, 0x000000E - -gUnk_080FC8DE:: @ 080FC8DE - .incbin "baserom.gba", 0x0FC8DE, 0x000001E - -sFileSelectDefaultHandlers:: @ 080FC8FC - .incbin "baserom.gba", 0x0FC8FC, 0x0000007 - -gUnk_080FC903:: @ 080FC903 - .incbin "baserom.gba", 0x0FC903, 0x0000005 - gUnk_080FC908:: @ 080FC908 .incbin "baserom.gba", 0x0FC908, 0x000000C diff --git a/include/fileScreen.h b/include/fileScreen.h index ffc99996..4c86040a 100644 --- a/include/fileScreen.h +++ b/include/fileScreen.h @@ -40,12 +40,21 @@ typedef struct { typedef struct { u8 filler0[0x4]; } struct_020227E8; - extern struct_020227E8 gUnk_020227E8; -extern SaveFile gSaveFiles[]; -extern u32 gUsedPalettes; -extern u8 gUnk_02000D00[]; +typedef struct { + /*0x00*/ u8 isTransitioning; + /*0x01*/ u8 unk1; + /*0x02*/ u8 unk2; + /*0x03*/ u8 unk3; + /*0x04*/ u8 unk4; + /*0x05*/ u8 unk5; + /*0x06*/ u8 unk6; + /*0x07*/ u8 unk7; + /*0x08*/ s8 saveStatus[3]; + /*0x0b*/ SaveFile saves[3]; +} struct_02019EE0; +extern struct_02019EE0 gUnk_02019EE0; struct OAMCommand { u16 x; @@ -70,8 +79,11 @@ extern void sub_08050AFC(u32); extern const struct_080FC844 gUnk_080FC844; extern const u16 gUnk_080FC85C[][3]; extern void (*const gUnk_080FC908[])(void); -extern const u16 gUnk_080FC8DE[]; extern const u8 gGlobalGfxAndPalettes[]; extern void (*const gUnk_080FC93C[])(); +extern u32 gUsedPalettes; +extern u8 gUnk_02000D00[]; +extern u8 gUnk_02001B40; +extern u8 gUnk_02022030; #endif \ No newline at end of file diff --git a/include/functions.h b/include/functions.h index 4f77c1cf..407641c0 100644 --- a/include/functions.h +++ b/include/functions.h @@ -250,7 +250,6 @@ extern void sub_08097B24(Entity*); extern u32 sub_08079F8C(void); extern void sub_080787CC(Entity*); extern void sub_080526F8(s32); -extern int sub_0807CF28(u32, SaveFile*); extern u32 sub_080044EC(Entity*, u32); extern u32 sub_080002B8(Entity*); extern u32 sub_08049F84(Entity*, u32); @@ -315,7 +314,6 @@ extern void sub_08008790(Entity*, u32); extern void sub_0804ACF8(); extern void sub_08073904(Entity*); extern u32 sub_08056134(void); -extern u32 sub_0807CF30(SaveFile*); extern void sub_08004484(Entity*, Entity*); extern void sub_080564C8(u32); extern void sub_08056F70(void); diff --git a/include/menu.h b/include/menu.h index 7d8c2abd..052de3d2 100644 --- a/include/menu.h +++ b/include/menu.h @@ -17,11 +17,6 @@ typedef struct { u32 filler3[3]; } MenuControls; -typedef struct { - u8 key; - u8 value; -} KeySetting; - typedef struct { u8 aButtonX; u8 aButtonY; @@ -32,8 +27,7 @@ typedef struct { u8 rButtonX; u8 rButtonY; u8 rButtonText; - KeySetting settingDict[0]; - u8 eof; + u8 settingDict[0]; } PACKED KeyButtonLayout; extern void sub_080A70AC(const KeyButtonLayout*); @@ -56,7 +50,11 @@ typedef struct { u8 unk14; u8 unk15; u8 unk16; - u8 filler17[0x13]; + // While struct offsets are usually loaded indirectly, this one is often loaded + // directly in the code. This happens when you take the address off the field with '&`. + // Perhaps they had a macro to cast this to different sized arrays. + u8 selectMtx; + u8 filler18[0x12]; u8 unk2a; int field_0x2c; } Menu; diff --git a/include/readKeyInput.h b/include/readKeyInput.h index 04711bcd..7961c2b6 100644 --- a/include/readKeyInput.h +++ b/include/readKeyInput.h @@ -6,4 +6,4 @@ typedef struct { u8 unk7; } Input; -extern Input gUnk_03000FF0; +extern Input gInput; diff --git a/include/save.h b/include/save.h index bb044997..83ef1e3f 100644 --- a/include/save.h +++ b/include/save.h @@ -7,10 +7,12 @@ #include "menu.h" #include "structures.h" +#define FILENAME_LENGTH 6 + typedef enum { SAVE_BUSY = 0, SAVE_OK = 1, - SAVE_ERROR = 0xFFFFFFFF, + SAVE_ERROR = -1, } SaveResult; typedef enum { @@ -19,6 +21,32 @@ typedef enum { SAVE_DONE, } SaveState; -extern u32 sub_0807CDA4(SaveState state); +extern SaveResult sub_0807CDA4(SaveState state); + +typedef struct { + /*0x000*/ u8 filler0[0x2]; + /*0x002*/ u8 messageSpeed; + /*0x003*/ u8 brightnessPref; + /*0x004*/ u8 filler4[0x2]; + /*0x006*/ u8 unk6; + /*0x007*/ u8 unk7; + /*0x008*/ u8 unk8; + /*0x009*/ u8 field_0x9[0x34]; + /*0x040*/ u32 windcrests; + /*0x044*/ u8 filler44[0xC]; + /*0x050*/ u32 unk50; + /*0x054*/ u8 filler54[0x2C]; + /*0x080*/ u8 playerName[FILENAME_LENGTH]; + /*0x086*/ u8 filler86[0x22]; + /*0x0A8*/ Stats stats; + /*0x0D0*/ u8 fillerD0[0x3c0]; + /*0x490*/ u32 unk490; + /*0x494*/ u8 filler494[0x20]; +} SaveFile; + +extern SaveFile gSave; + +s32 sub_0807CF28(u32, SaveFile*); +u32 sub_0807CF30(SaveFile*); #endif \ No newline at end of file diff --git a/include/structures.h b/include/structures.h index 0e7f202b..534f0d98 100644 --- a/include/structures.h +++ b/include/structures.h @@ -42,29 +42,6 @@ typedef struct { extern struct_02000010 gUnk_02000010; -typedef struct { - /*0x000*/ u8 filler0[0x2]; - /*0x002*/ u8 messageSpeed; - /*0x003*/ u8 brightnessPref; - /*0x004*/ u8 filler4[0x2]; - /*0x006*/ u8 unk6; - /*0x007*/ u8 unk7; - /*0x008*/ u8 unk8; - /*0x009*/ u8 field_0x9[0x34]; - /*0x040*/ u32 windcrests; - /*0x044*/ u8 filler44[0xC]; - /*0x050*/ u32 unk50; - /*0x054*/ u8 filler54[0x2C]; - /*0x080*/ u8 playerName[6]; - /*0x086*/ u8 filler86[0x22]; - /*0x0A8*/ Stats stats; - /*0x0D0*/ u8 fillerD0[0x3c0]; - /*0x490*/ u32 unk490; - /*0x494*/ u8 filler494[0x20]; -} SaveFile; - -extern SaveFile gUnk_02002A40; - typedef struct { u32 frameCount; // regular frame count? does anything reset it? u8 field_0x4[0x4]; @@ -113,20 +90,6 @@ typedef struct { u16 transitionSFX; } ScreenTransitionData; -typedef struct { - /*0x00*/ u8 isTransitioning; - /*0x01*/ u8 unk1; - /*0x02*/ u8 unk2; - /*0x03*/ u8 unk3; - /*0x04*/ u8 filler4[0x2]; - /*0x06*/ u8 unk6; - /*0x07*/ u8 unk7; - /*0x08*/ s8 saveStatus[3]; - /*0x0b*/ u8 unkB[0xE1D]; -} struct_02019EE0; - -extern struct_02019EE0 gUnk_02019EE0; - typedef struct { u8 active; u8 field_0x1; diff --git a/linker.ld b/linker.ld index 74df0a87..528c2783 100644 --- a/linker.ld +++ b/linker.ld @@ -28,7 +28,7 @@ SECTIONS { . = 0x00001A3C; gUnk_02001A3C = .; . = 0x00001A40; gBG3Buffer = .; . = 0x00001B40; gUnk_02001B40 = .; - . = 0x00002A40; gUnk_02002A40 = .; + . = 0x00002A40; gSave = .; . = 0x00002AA0; gUnk_02002AA0 = .; . = 0x00002AC0; gUnk_02002AC0 = .; . = 0x00002AC8; gUnk_02002AC8 = .; @@ -73,7 +73,6 @@ SECTIONS { . = 0x00018EB0; gUnk_02018EB0 = .; . = 0x00018EE0; gUnk_02018EE0 = .; . = 0x00019EE0; gUnk_02019EE0 = .; - . = 0x00019EEC; gSaveFiles = .; . = 0x00019F6C; gUnk_02019F6C = .; . = 0x0001AEE0; gUnk_0201AEE0 = .; . = 0x00021EE0; gUnk_02021EE0 = .; @@ -176,7 +175,7 @@ SECTIONS { . = 0x00000F88; gBgControls = .; . = 0x00000FBC; gUnk_03000FBC = .; . = 0x00000FD0; gFadeControl = .; - . = 0x00000FF0; gUnk_03000FF0 = .; + . = 0x00000FF0; gInput = .; . = 0x00001000; gUnk_03001000 = .; . = 0x00001010; gUnk_03001010 = .; . = 0x00001020; gUnk_03001020 = .; diff --git a/src/code_0805436C.c b/src/code_0805436C.c index c1b3033a..06e1183b 100644 --- a/src/code_0805436C.c +++ b/src/code_0805436C.c @@ -19,7 +19,7 @@ typedef struct { u8 unk; } ScreenTransition; -extern SaveFile gUnk_02002A40; +extern SaveFile gSave; extern struct_080FD5B4 gUnk_080FD5B4[]; extern ScreenTransition gScreenTransition; @@ -33,9 +33,9 @@ extern void (*const gUnk_080FE2A0[])(); u32 IsItemEquipped(u32 itemID) { u32 ret; - if (itemID == gUnk_02002A40.stats.itemOnA) + if (itemID == gSave.stats.itemOnA) ret = 0; - else if (itemID == gUnk_02002A40.stats.itemOnB) + else if (itemID == gSave.stats.itemOnB) ret = 1; else ret = 2; @@ -50,17 +50,17 @@ void PutItemOnSlot(u32 itemID) { } if (itemID - 1 < 0x1f) { itemSlot = 2; - if (gUnk_02002A40.stats.itemOnA == 0) { + if (gSave.stats.itemOnA == 0) { itemSlot = 0; - } else if (gUnk_02002A40.stats.itemOnB == 0) { + } else if (gSave.stats.itemOnB == 0) { itemSlot = 1; } if (itemSlot == 2) { u8 temp = gUnk_080FD5B4[itemID].unk; - if (temp == gUnk_080FD5B4[gUnk_02002A40.stats.itemOnA].unk) { + if (temp == gUnk_080FD5B4[gSave.stats.itemOnA].unk) { itemSlot = 0; } else { - if (temp == gUnk_080FD5B4[gUnk_02002A40.stats.itemOnB].unk) { + if (temp == gUnk_080FD5B4[gSave.stats.itemOnB].unk) { itemSlot = 1; } } @@ -82,19 +82,19 @@ u32 SetBottleContents(u32 itemID, u32 bottleIndex) { if (bottleIndex > 3) { bottleIndex = 0; - if (gUnk_02002A40.stats.filler2[0] != 0x20) { + if (gSave.stats.filler2[0] != 0x20) { do { bottleIndex++; if (bottleIndex > 3) { return bottleIndex; } - } while (gUnk_02002A40.stats.filler2[bottleIndex] != 0x20); + } while (gSave.stats.filler2[bottleIndex] != 0x20); } if (bottleIndex > 3) { return bottleIndex; } } - gUnk_02002A40.stats.filler2[bottleIndex] = itemID; + gSave.stats.filler2[bottleIndex] = itemID; return bottleIndex; } @@ -134,13 +134,13 @@ u32 sub_080544C8(u32 arg0) { } u32 sub_080544DC(u32 arg0) { - if (arg0 == gUnk_02002A40.stats.filler2[0]) { + if (arg0 == gSave.stats.filler2[0]) { return 1; - } else if (arg0 == gUnk_02002A40.stats.filler2[1]) { + } else if (arg0 == gSave.stats.filler2[1]) { return 2; - } else if (arg0 == gUnk_02002A40.stats.filler2[2]) { + } else if (arg0 == gSave.stats.filler2[2]) { return 3; - } else if (arg0 == gUnk_02002A40.stats.filler2[3]) { + } else if (arg0 == gSave.stats.filler2[3]) { return 4; } else { return 0; diff --git a/src/enemy/businessScrub.c b/src/enemy/businessScrub.c index 924ace96..0dbb7dd1 100644 --- a/src/enemy/businessScrub.c +++ b/src/enemy/businessScrub.c @@ -3,6 +3,7 @@ #include "flags.h" #include "functions.h" #include "textbox.h" +#include "save.h" extern void sub_0801D040(Entity*, u32); extern Entity* sub_08049DF4(u32); @@ -243,7 +244,7 @@ void sub_08028CE8(Entity* this) { u32 subtype; if ((gTextBox.doTextBox & 0x7f) == 0 && sub_0802915C(this) && !sub_08056338()) { - if (offer->price <= gUnk_02002A40.stats.rupees) { + if (offer->price <= gSave.stats.rupees) { if (sub_080291DC(this)) { /* Bag full. */ TextboxNoOverlapFollow(0x2904); @@ -508,11 +509,11 @@ bool32 sub_080291DC(Entity* this) { switch (offer->field_0x8) { case 0x6c: - if (gBombBagSizes[gUnk_02002A40.stats.bombBagType] <= gUnk_02002A40.stats.bombCount) + if (gBombBagSizes[gSave.stats.bombBagType] <= gSave.stats.bombCount) return TRUE; break; case 0x6f: - if (gQuiverSizes[gUnk_02002A40.stats.quiverType] <= gUnk_02002A40.stats.arrowCount) + if (gQuiverSizes[gSave.stats.quiverType] <= gSave.stats.arrowCount) return TRUE; break; } diff --git a/src/enemy/gyorgMale.c b/src/enemy/gyorgMale.c index 96b79038..5301647f 100644 --- a/src/enemy/gyorgMale.c +++ b/src/enemy/gyorgMale.c @@ -5,6 +5,7 @@ #include "trig.h" #include "structures.h" #include "functions.h" +#include "fileScreen.h" void (* const gUnk_080D1AFC[8])(Entity*); void (* const gUnk_080D1B1C[7])(Entity*); diff --git a/src/enemy/likeLike.c b/src/enemy/likeLike.c index 43c2417d..64207c30 100644 --- a/src/enemy/likeLike.c +++ b/src/enemy/likeLike.c @@ -2,6 +2,7 @@ #include "entity.h" #include "functions.h" #include "textbox.h" +#include "save.h" extern bool32 sub_080544B4(u32); extern void sub_0807CAA0(u32, u32); @@ -180,7 +181,7 @@ void sub_0802805C(Entity* this) { this->field_0xf = tmp3; } - if (this->field_0xf >= 0x19 || gUnk_02002A40.stats.health == 0) { + if (this->field_0xf >= 0x19 || gSave.stats.health == 0) { sub_0802810C(this); } else { ResetPlayer(); @@ -245,12 +246,12 @@ void sub_080281A0(Entity* this) { bool32 sub_080281E0(u32 param_1) { bool32 ret = FALSE; if (GetInventoryValue(param_1) == 1) { - if (sub_080544B4(gUnk_02002A40.stats.itemOnA)) { - gUnk_02002A40.stats.itemOnA = 0; + if (sub_080544B4(gSave.stats.itemOnA)) { + gSave.stats.itemOnA = 0; } - if (sub_080544B4(gUnk_02002A40.stats.itemOnB)) { - gUnk_02002A40.stats.itemOnB = 0; + if (sub_080544B4(gSave.stats.itemOnB)) { + gSave.stats.itemOnB = 0; } sub_0807CAA0(param_1, 0); diff --git a/src/enemy/pesto.c b/src/enemy/pesto.c index 8147d832..7a12529a 100644 --- a/src/enemy/pesto.c +++ b/src/enemy/pesto.c @@ -804,7 +804,7 @@ void sub_08024E4C(Entity* this) { this->cutsceneBeh.HALF.LO += 1 + (Random() & 1); } - if (gUnk_02002A40.stats.health == 0 || this->field_0x86.HALF.HI == 4) { + if (gSave.stats.health == 0 || this->field_0x86.HALF.HI == 4) { this->cutsceneBeh.HALF.LO = 0x30; this->field_0x86.HALF.HI = 0; sub_08024F50(this); diff --git a/src/enemy/rupeeLike.c b/src/enemy/rupeeLike.c index b7b43f8b..1f74db92 100644 --- a/src/enemy/rupeeLike.c +++ b/src/enemy/rupeeLike.c @@ -5,6 +5,7 @@ #include "npc.h" #include "structures.h" #include "player.h" +#include "save.h" extern void sub_080293DC(Entity*); extern void sub_080296D8(Entity*); @@ -158,7 +159,7 @@ void sub_0802953C(Entity* this) { if (this->actionDelay != 0) { this->actionDelay--; } - if (((this->field_0xf > 0x2d) || (gUnk_02002A40.stats.rupees == 0)) && (this->actionDelay == 0)) { + if (((this->field_0xf > 0x2d) || (gSave.stats.rupees == 0)) && (this->actionDelay == 0)) { sub_080296D8(this); } else { ResetPlayer(); @@ -170,7 +171,7 @@ void sub_0802953C(Entity* this) { gPlayerEntity.spritePriority.b1 = 0; if (--this->field_0x82.HALF.HI == 0) { this->field_0x82.HALF.HI = 0x41; - if (gUnk_02002A40.stats.rupees != 0) { + if (gSave.stats.rupees != 0) { ModRupees(gUnk_080CCC44[this->entityType.form]); this->cutsceneBeh.HALF.LO = 1; } diff --git a/src/enemy/wisp.c b/src/enemy/wisp.c index e550363c..f9e7738d 100644 --- a/src/enemy/wisp.c +++ b/src/enemy/wisp.c @@ -4,6 +4,7 @@ #include "structures.h" #include "player.h" #include "functions.h" +#include "save.h" extern void (*const gUnk_080CEB74[])(Entity*); extern void (*const gUnk_080CEB8C[])(Entity*); @@ -35,8 +36,8 @@ void sub_08033564(Entity* this) { this->flags &= 0x7f; this->field_0x7c.HALF.LO = 0x27c; gPlayerState.flags.all |= 0x4000; - gUnk_02002A40.stats.filler2[4] = this->entityType.form + 1; - gUnk_02002A40.stats.field_0x20 = 600; + gSave.stats.filler2[4] = this->entityType.form + 1; + gSave.stats.field_0x20 = 600; if (this->entityType.form == 0) { break; } diff --git a/src/executeScriptCommandSet.c b/src/executeScriptCommandSet.c index 4e238655..de8ea781 100644 --- a/src/executeScriptCommandSet.c +++ b/src/executeScriptCommandSet.c @@ -6,6 +6,7 @@ #include "structures.h" #include "textbox.h" #include "functions.h" +#include "save.h" void nullsub_507 (Entity*, ScriptExecutionContext*); void sub_0807E004(Entity*, ScriptExecutionContext*); @@ -496,12 +497,12 @@ void sub_0807E30C(Entity* unk1, ScriptExecutionContext* unk2) { } void sub_0807E390(Entity* unk1, ScriptExecutionContext* unk2) { - unk2->unk_14 = (unk2->unk_00[1] <= gUnk_02002A40.stats.rupees); + unk2->unk_14 = (unk2->unk_00[1] <= gSave.stats.rupees); gUnk_02033280.unk_07 |= 1; } void sub_0807E3BC(Entity* unk1, ScriptExecutionContext* unk2) { - unk2->unk_14 = (unk2->unk_00[1] <= gUnk_02002A40.stats.field_0x1a); + unk2->unk_14 = (unk2->unk_00[1] <= gSave.stats.field_0x1a); gUnk_02033280.unk_07 |= 1; } @@ -525,7 +526,7 @@ void sub_0807E42C(Entity* unk1, ScriptExecutionContext* unk2) { tmp2 = gRoomVars.field_0x7; } tmp3 = sub_08053FE0(tmp); - unk2->unk_14 = (tmp3 <= gUnk_02002A40.stats.rupees); + unk2->unk_14 = (tmp3 <= gSave.stats.rupees); if (unk2->unk_14) { ModRupees(-tmp3); sub_080A7C18(tmp, tmp2, 0); @@ -1145,8 +1146,8 @@ void sub_0807F004(Entity* unk1, ScriptExecutionContext* unk2) { } void sub_0807F010(Entity* unk1, ScriptExecutionContext* unk2) { - gUnk_02002A40.stats.maxHealth = min(gUnk_02002A40.stats.maxHealth + 8, 0xA0); - gUnk_02002A40.stats.health = gUnk_02002A40.stats.maxHealth; + gSave.stats.maxHealth = min(gSave.stats.maxHealth + 8, 0xA0); + gSave.stats.health = gSave.stats.maxHealth; } void sub_0807F034(Entity* unk1, ScriptExecutionContext* unk2) { diff --git a/src/fileScreen.c b/src/fileScreen.c index 5e96d7e7..2b1d9341 100644 --- a/src/fileScreen.c +++ b/src/fileScreen.c @@ -3,13 +3,6 @@ // copy, erase, start #define NUM_FILE_OPERATIONS 3 -// todo: does this belong with gUnk_02019EE0? -typedef enum { - SAVE_EMPTY = 0, - SAVE_VALID = 1, - SAVE_DELETED = 0xFFFFFFFF, -} SaveStatus; - typedef enum { STATE_NONE, STATE_NEW, @@ -21,10 +14,21 @@ typedef enum { STATE_START, } FileSelectState; +// todo: does this belong with gUnk_02019EE0? +typedef enum { + SAVE_EMPTY = 0, + SAVE_VALID = 1, + SAVE_DELETED = 0xFFFFFFFF, +} SaveStatus; + +typedef enum { + RESULT_INVALID = 0, + RESULT_ASCII = 1, +} CharResult; + static void HandleFileScreenEnter(void); static void HandleFileScreenActive(void); static void HandleFileScreenExit(void); - static void (*const sScreenHandlers[])(void) = { HandleFileScreenEnter, HandleFileScreenActive, @@ -39,31 +43,51 @@ static void HandleFileView(void); extern void HandleFileCopy(void); extern void HandleFileDelete(void); extern void HandleFileStart(void); - static void (*const sFileScreenSubHandlers[])(void) = { HandleFileSelect, HandleFileNew, HandleFileLanguageSelect, HandleFileOptions, HandleFileView, HandleFileCopy, HandleFileDelete, HandleFileStart, }; -extern KeyButtonLayout gUnk_080FC8D0; -// static const KeyButtonLayout gUnk_080FC8D0 = { -// 0xFF, 0xD8, 0x0, 0xFF, 0xD8, 0x0, 0xE0, 0x10, 0xF, {{0x5, 0x0}, { 0x2, 0x0 }}, 0xFF -// }; +static const KeyButtonLayout gUnk_080FC8D0 = { + .aButtonX = 0xFF, + .aButtonY = 0xD8, + .aButtonText = 0x0, + .bButtonX = 0xFF, + .bButtonY = 0xD8, + .bButtonText = 0x0, + .rButtonX = 0xE0, + .rButtonY = 0x10, + .rButtonText = 0xF, + .settingDict = { 0x5, 0x0, 0x2, 0x0, 0xFF }, +}; -// main "file selection" screen -extern void (*const sFileSelectDefaultHandlers[])(void); +static const u16 gUnk_080FC8DE[] = { + 0x01, 0x00, 0x20, 0x40, 0x60, 0x80, 0xa0, 0xc0, 0xe0, 0xc0, 0xa0, 0x80, 0x60, 0x40, 0x20, +}; -// handles submenus -extern void (*const sFileScreenSubHandlers[])(void); +static void sub_08050848(void); +static void sub_0805086C(void); +static void sub_08050940(void); +static void (*const sFileSelectDefaultHandlers[])(void) = { + sub_08050848, + sub_0805086C, + sub_08050940, +}; extern void (*const gUnk_080FC944[])(void); +extern void (*const gUnk_080FC950[])(void); +extern void (*const gUnk_080FC960[])(void); +extern void (*const gUnk_080FC9B0[])(void); +extern void (*const gUnk_080FC9BC[])(void); +extern void (*const gUnk_080FC9C8[])(void); static void sub_08050624(u32); static void sub_0805066C(void); static void HideButtonR(void); static void ShowButtonR(void); +void sub_08051458(); -void sub_08050318(u32 arg0, u32 arg1) { +void CreateDialogBox(u32 arg0, u32 arg1) { u32 sfx; struct_080FC844 var0; @@ -106,7 +130,7 @@ void LoadOptionsFromSave(u32 idx) { messageSpeed = 1; brightnessPref = 1; } else { - SaveFile* saveFile = &gSaveFiles[idx]; + SaveFile* saveFile = &gUnk_02019EE0.saves[idx]; messageSpeed = saveFile->messageSpeed; brightnessPref = saveFile->brightnessPref; } @@ -119,7 +143,7 @@ void LoadOptionsFromSave(u32 idx) { void SetActiveSave(u32 idx) { if (idx < NUM_SAVE_SLOTS) { gUnk_02000000->saveFileId = idx; - _DmaCopy(&gSaveFiles[idx], &gUnk_02002A40, sizeof(gSaveFiles[idx])); + _DmaCopy(&gUnk_02019EE0.saves[idx], &gSave, sizeof(gUnk_02019EE0.saves[idx])); } LoadOptionsFromSave(idx); } @@ -206,7 +230,7 @@ static void HandleFileScreenExit(void) { } static void sub_08050624(u32 idx) { - SaveFile* saveFile = &gSaveFiles[idx]; + SaveFile* saveFile = &gUnk_02019EE0.saves[idx]; int status = sub_0807CF28(idx, saveFile); switch (status) { case SAVE_DELETED: @@ -249,7 +273,7 @@ void sub_0805070C(void) { u32 i; int j; struct_02036540* var0; - u8* playerName; + char* playerName; var0 = sub_0805F2C8(); if (var0) { @@ -258,11 +282,11 @@ void sub_0805070C(void) { var0->unk1 = 1; var0->unk4 = 0x30; var0->unk8 = gUnk_02000D00; - for (i = 0; i < 3; i++) { + for (i = 0; i < NUM_SAVE_SLOTS; i++) { var0->unk6 = 0; _DmaZero(var0->unk8, 0x200); - playerName = gSaveFiles[i].playerName; - for (j = 0; j < 6; j++) { + playerName = &gUnk_02019EE0.saves[i].playerName[0]; + for (j = 0; j < FILENAME_LENGTH; j++) { sub_0805F7DC(playerName[j], var0); } // i is a struct of size 0x200 @@ -337,7 +361,7 @@ void sub_08050888(void) { break; default: sub_0805194C(gUnk_02019EE0.unk7); - sub_08050318(0, gUnk_02019EE0.unk7 + 1); + CreateDialogBox(0, gUnk_02019EE0.unk7 + 1); gChooseFileState.timer = 30; gChooseFileState.subState = 1; break; @@ -347,7 +371,7 @@ void sub_08050888(void) { void sub_080508E4(void) { if (gChooseFileState.timer == 0) { - if (gUnk_03000FF0.newKeys & (A_BUTTON | START_BUTTON)) { + if (gInput.newKeys & (A_BUTTON | START_BUTTON)) { gChooseFileState.subState = 2; } } else { @@ -375,8 +399,8 @@ void sub_08050940(void) { } row_idx = gUnk_02019EE0.unk6; - keys = gUnk_03000FF0.newKeys; - if ((gUnk_03000FF0.heldKeys & L_BUTTON) && gUnk_02019EE0.saveStatus[row_idx] == SAVE_VALID) { + keys = gInput.newKeys; + if ((gInput.heldKeys & L_BUTTON) && gUnk_02019EE0.saveStatus[row_idx] == SAVE_VALID) { keys &= ~(DPAD_UP | DPAD_DOWN); } @@ -493,12 +517,12 @@ NONMATCH("asm/non_matching/save/sub_08050B3C.inc", void sub_08050B3C(u16* arg0)) u16* var8; sp.unk0 = arg0; - var0 = gUnk_02002A40.stats.health / 2; + var0 = gSave.stats.health / 2; if (var0 == 0) { var0 = 1; } - var1 = gUnk_02002A40.stats.maxHealth / 2; + var1 = gSave.stats.maxHealth / 2; if (var1 == 0) { return; } @@ -554,8 +578,6 @@ void HandleFileView(void) { sub_08050A64(gUnk_02019EE0.unk6); } -extern Input gUnk_03000FF0; - void sub_08050C54(void) { s32 column_idx; @@ -563,7 +585,7 @@ void sub_08050C54(void) { return; column_idx = gMenu.column_idx; - switch (gUnk_03000FF0.newKeys) { + switch (gInput.newKeys) { case A_BUTTON: case START_BUTTON: if (column_idx == 0) { @@ -636,7 +658,7 @@ void sub_08050DE4(void) { return; row_idx = gUnk_02000000->gameLanguage; - switch (gUnk_03000FF0.newKeys) { + switch (gInput.newKeys) { case DPAD_UP: row_idx--; break; @@ -648,7 +670,7 @@ void sub_08050DE4(void) { PlaySFX(0x6a); if (gMenu.field_0x4 != row_idx) { sub_080A7114(2); - sub_08050318(8, 0); + CreateDialogBox(8, 0); } else { SetFileSelectState(STATE_NONE); } @@ -675,6 +697,499 @@ void sub_08050DE4(void) { } void sub_08050E88(void) { - if (sub_0807CDA4(SAVE_DONE)) + if (sub_0807CDA4(2)) SetFileSelectState(0); } + +void HandleFileOptions(void) { + gUnk_080FC950[gMenu.menuType](); +} + +void sub_08050EB8(void) { + SaveFile* save; + sub_080503A8(0xe); + save = &gUnk_02019EE0.saves[gUnk_02019EE0.unk6]; + gUnk_02019EE0.unk4 = save->messageSpeed; + gUnk_02019EE0.unk5 = save->brightnessPref; + gMenu.column_idx = 0; + gMenu.transitionTimer = 0xff; + sub_080A7114(1); +} + +NONMATCH("asm/non_matching/fileScreen/sub_08050EF4.inc", void sub_08050EF4(void)) { + u8* p_option; + u32 option; + char column_idx; + int mode; + + if (gUnk_02019EE0.isTransitioning) + return; + + p_option = &gUnk_02019EE0.saves[gUnk_02019EE0.unk6].brightnessPref; + if (gMenu.column_idx == 0) { + p_option = &gUnk_02019EE0.saves[gUnk_02019EE0.unk6].messageSpeed; + } + + mode = 0; + option = *p_option; + column_idx = gMenu.column_idx; + switch (gInput.newKeys) { + case DPAD_RIGHT: + if (*p_option < 2) { + option = *p_option + 1; + } + break; + case DPAD_LEFT: + if (*p_option != 0) { + option = *p_option - 1; + } + break; + case DPAD_UP: + column_idx = 0; + break; + case DPAD_DOWN: + column_idx = 1; + break; + case A_BUTTON: + case START_BUTTON: + mode = 2; + if (*(u16*)&gUnk_02019EE0.unk4 != *(u16*)&gUnk_02019EE0.saves[gUnk_02019EE0.unk6].messageSpeed) + mode = 3; + break; + case B_BUTTON: + mode = 2; + break; + } + + switch (mode) { + case 3: + gUnk_02019EE0.saves[gUnk_02019EE0.unk6].messageSpeed = gUnk_02019EE0.unk4; + gUnk_02019EE0.saves[gUnk_02019EE0.unk6].brightnessPref = gUnk_02019EE0.unk5; + PlaySFX(0x6c); + sub_080A7114(mode); + SetActiveSave(gUnk_02019EE0.unk6); + break; + case 2: + CreateDialogBox(8, 0); + PlaySFX(0x6a); + default: + case 1: + sub_080A7114(mode); + SetActiveSave(gUnk_02019EE0.unk6); + break; + case 0: + if (gMenu.column_idx != column_idx) { + gMenu.column_idx = column_idx; + PlaySFX(0x69); + } else if (option != *p_option) { + *p_option = option; + LoadOptionsFromSave(gUnk_02019EE0.unk6); + PlaySFX(0x69); + } + break; + } +} +END_NONMATCH + +void sub_08050FFC(void) { + switch (sub_0807CDA4(0)) { + case SAVE_ERROR: + gMenu.transitionTimer = 0x1e; + sub_0805194C(gUnk_02019EE0.unk6); + CreateDialogBox(9, 0); + case SAVE_OK: + sub_080A7114(3); + break; + } +} + +void sub_0805103C(void) { + // this gets optimized as a ldrb + switch (gMenu.transitionTimer % 256) { + case 0: + if (!(gInput.newKeys & (A_BUTTON | START_BUTTON))) + return; + default: + gMenu.transitionTimer--; + break; + case 255: + SetFileSelectState(STATE_NONE); + break; + } +} + +void HandleFileNew(void) { + gUnk_080FC960[gMenu.menuType](); +} + +void sub_08051090(void) { + sub_080503A8(8); + sub_08050790(); + sub_0805070C(); + sub_08051458(); + gScreen.bg.bg2xOffset = 0xff; + gScreen.affine.bg2yOffset = 0xff; + sub_080A7114(1); +} + +NONMATCH("asm/non_matching/fileScreen/sub_080610B8.inc", void sub_080610B8(void)) { +} +END_NONMATCH + +void sub_08051358(void) { + gMenu.field_0x12 = gUnk_02000000->gameLanguage == 0 ? 4 : 3; + + if (gMenu.focusCoords[0] != 0x0b || gMenu.focusCoords[1] != 0x5) { + gMenu.focusCoords[1] = 0x5; + gMenu.focusCoords[0] = 0xb; + PlaySFX(0x67); + } +} + +void sub_0805138C(void) { + gUnk_080FC9B0[gMenu.overlayType](); +} + +void sub_080513A8(void) { + CreateDialogBox(5, 0); + gMenu.overlayType = 1; +} + +void sub_080513C0(void) { + switch (sub_0807CDA4(0)) { + case 1: + gUnk_02019EE0.saveStatus[gUnk_02019EE0.unk6] = 1; + sub_080A7114(3); + break; + case 0: + break; + case -1: + sub_0805194C(gUnk_02019EE0.unk6); + CreateDialogBox(6, 0); + gMenu.transitionTimer = 0x1e; + gMenu.overlayType = 2; + break; + } +} + +void sub_0805141C(void) { + switch (gMenu.transitionTimer) { + case 0: + if (gInput.newKeys & (A_BUTTON | START_BUTTON)) { + sub_080A7114(3); + } + break; + default: + gMenu.transitionTimer--; + break; + } +} + +void sub_0805144C(void) { + SetFileSelectState(STATE_NONE); +} + +void sub_08051458(void) { + sub_080503A8(gMenu.column_idx + 9); + _DmaCopy(&gUnk_02001B40, &gUnk_02022030, 0x400); +} + +u32 sub_080514BC(u32); +void sub_08051574(u32); + +void sub_08051480(u32 c) { + CharResult result; + u32 idx; + + result = sub_080514BC(c); + idx = gMenu.unk13; + + if (result == RESULT_INVALID) { + return; + } + + if (result != RESULT_ASCII) { + c = result; + idx--; + } + + if (idx > FILENAME_LENGTH - 1) { + idx = FILENAME_LENGTH - 1; + } + + gMenu.unk13 = idx + 1; + gSave.playerName[idx] = c; + sub_08051574(0x6b); +} + +u32 sub_080514BC(u32 a1) { + u32 c; + u32 idx; + + if (gUnk_02000000->gameLanguage != 0) + return 1; + + switch (a1) { + case 0x0: + case 0xe: + case 0xf: + break; + default: + return 1; + } + + idx = gMenu.unk13; + if (idx == 0) { + return 0; + } + + c = gSave.playerName[idx - 1]; + if (c - 0xa4 < 0x29) { + switch (a1) { + case 0x0: + if (c < 0xc3) { + return c + 0x33; + } else { + return c + 10; + } + case 0xE: + return c; + case 0xF: + if (c < 0xc3) { + return 0; + } else { + return c + 10; + } + default: + return c; + } + } + + if (c - 0xcd < 10) { + switch (a1) { + case 0xf: + return c; + case 0x0: + return c + 0x29; + case 0xe: + return c - 10; + } + } + + if (c - 0xd7 < 0x29) { + switch (a1) { + default: + case 0x0: + return c - 0x33; + case 0xe: + return c - 0x33; + case 0xf: + if (c > 0xf5) { + return c - 0x29; + } + } + } + + return 0; +} + +void sub_08051574(u32 sfx) { + PlaySFX(sfx); + _DmaCopy(&gSave, &gUnk_02019EE0.saves[gUnk_02019EE0.unk6], sizeof(gUnk_02019EE0.saves[gUnk_02019EE0.unk6])); + sub_0805070C(); +} + +void HandleFileDelete(void) { + gUnk_080FC9BC[gMenu.menuType](); + sub_08050A64(gUnk_02019EE0.unk6); +} + +void FUN_080515c8(void) { + sub_080A7114(1); +} + +void sub_080515D4(void) { + u32 column_idx; + + if (gUnk_02019EE0.isTransitioning) + return; + + gMenu.transitionTimer = 4; + column_idx = gMenu.column_idx; + switch (gInput.newKeys) { + case B_BUTTON: + gMenu.column_idx = 0; // ?? + column_idx = 0; + case A_BUTTON: + case START_BUTTON: + if (column_idx == 1) { + CreateDialogBox(4, 0); + sub_080A7114(2); + PlaySFX(0x6a); + } else { + SetFileSelectState(0); + PlaySFX(0x6c); + } + break; + case DPAD_LEFT: + column_idx = 0; + break; + case DPAD_RIGHT: + column_idx = 1; + break; + } + + if (gMenu.column_idx != column_idx) { + gMenu.column_idx = column_idx; + PlaySFX(0x69); + } +} + +void sub_080516E0(void) { + if (sub_0807CDA4(1)) { + sub_0805194C(gUnk_02019EE0.unk6); + sub_08050AFC(gUnk_02019EE0.unk6); + gMenu.transitionTimer = 2; + SetFileSelectState(0); + } +} + +void HandleFileCopy(void) { + gUnk_080FC9C8[gMenu.menuType](); + sub_08050A64(gUnk_02019EE0.unk6); +} + +// regalloc +NONMATCH("asm/non_matching/fileScreen/sub_08051738.inc", void sub_08051738(void)) { + s32 temp; + u32 i; + s32 uVar3; + + gUnk_02019EE0.unk7 = 4; + uVar3 = 0; + for (i = 0; i < 3; i++) { + if (gUnk_02019EE0.saveStatus[i] == 1) { + temp = gUnk_02019EE0.unk6 ^ i; + uVar3 = BOOLCAST(temp) & 4; + } else { + uVar3++; + } + (&gMenu.selectMtx)[i] = uVar3; + } + if (uVar3 == 0) { + gMenu.transitionTimer = 0x3c; + CreateDialogBox(1, 0); + sub_080A7114(3); + } else { + sub_080A7114(1); + } + uVar3++; + gMenu.unk16 = uVar3; + gMenu.unk13 = 4; + gMenu.unk14 = uVar3; +} +END_NONMATCH + +NONMATCH("asm/non_matching/fileScreen/sub_080517B4.inc", s32 sub_080517B4(s32 a1)) { + u32 i = gUnk_02019EE0.unk7; + if (a1 != 0) { + for (; i < 5; i += a1) { + if ((&gMenu.selectMtx)[i] != 0 && (&gMenu.selectMtx)[i] != 4) + return i; + } + } + return i; +} +END_NONMATCH + +void sub_080517EC(void) { + u32 temp; + s32 delta; + + if (gUnk_02019EE0.isTransitioning) + return; + + delta = 0; + switch (gInput.newKeys) { + case DPAD_UP: + delta = -1; + break; + case DPAD_DOWN: + delta = 1; + break; + case A_BUTTON: + case START_BUTTON: + if (gUnk_02019EE0.unk7 < 3) { + CreateDialogBox(2, 0); + sub_080A7114(2); + PlaySFX(0x6a); + break; + } + // fallthrough + case B_BUTTON: + gUnk_02019EE0.unk7 = 4; + PlaySFX(0x6c); + SetFileSelectState(0); + break; + } + temp = sub_080517B4(delta); + if (temp != gUnk_02019EE0.unk7) { + gUnk_02019EE0.unk7 = temp; + PlaySFX(0x69); + } +} + +void sub_08051874(void) { + s32 temp; + gUnk_02000000->saveFileId = gUnk_02019EE0.unk7; + temp = sub_0807CDA4(0); + gUnk_02019EE0.saveStatus[gUnk_02019EE0.unk7] = temp; + switch (temp) { + case 1: + _DmaCopy(&gSave, &gUnk_02019EE0.saves[gUnk_02019EE0.unk7], + sizeof(gUnk_02019EE0.saves[gUnk_02019EE0.unk7])); + SetFileSelectState(0); + break; + case -1: + sub_0805194C(gUnk_02019EE0.unk7); + CreateDialogBox(3, 0); + gMenu.transitionTimer = 0x1e; + sub_080A7114(3); + break; + } +} + +void sub_080518E4(void) { + switch (gMenu.transitionTimer) { + case 0: + if (gInput.newKeys & (A_BUTTON | START_BUTTON)) { + SetFileSelectState(0); + } + break; + default: + gMenu.transitionTimer--; + break; + } +} + +void HandleFileStart(void) { + if (gMenu.menuType == 0) { + gMenu.menuType = 1; + gUnk_02000000->messageSpeed = gSave.messageSpeed; + gUnk_02000000->brightnessPref = gSave.brightnessPref; + gUnk_03001000.funcIndex = 2; + DoFade(5, 8); + } +} + +void sub_0805194C(u32 save_idx) { + SaveFile* save; + + gUnk_02019EE0.saveStatus[save_idx] = 0; + save = &gUnk_02019EE0.saves[save_idx]; + _DmaZero(save, sizeof(*save)); + save->messageSpeed = 1; + save->brightnessPref = 1; + save->stats.health = 24; + save->stats.maxHealth = 24; +} diff --git a/src/initializePlayer.c b/src/initializePlayer.c index 966b71fb..9443c395 100644 --- a/src/initializePlayer.c +++ b/src/initializePlayer.c @@ -5,6 +5,7 @@ #include "functions.h" #include "room.h" #include "flags.h" +#include "save.h" extern u32 gUnk_03000B80; extern u32 gUnk_03003FC0; @@ -56,7 +57,7 @@ void InitializePlayer(void) { pl->entityType.type = 1; pl->flags |= 0xa0; pl->spritePriority.b0 = 4; - pl->currentHealth = gUnk_02002A40.stats.health; + pl->currentHealth = gSave.stats.health; pl->x.HALF.HI = gScreenTransition.playerStartPos.HALF.x; pl->y.HALF.HI = gScreenTransition.playerStartPos.HALF.y; pl->animationState = gScreenTransition.playerState; diff --git a/src/input.c b/src/input.c index 64386be6..c187d598 100644 --- a/src/input.c +++ b/src/input.c @@ -6,7 +6,7 @@ static void StoreKeyInput(Input*, u32); void ReadKeyInput(void) { u32 keyInput = ~REG_KEYINPUT & KEYS_MASK; - StoreKeyInput(&gUnk_03000FF0, keyInput); + StoreKeyInput(&gInput, keyInput); } static void StoreKeyInput(Input* input, u32 keyInput) { diff --git a/src/intro.c b/src/intro.c index ac2c6e76..e33f8bfa 100644 --- a/src/intro.c +++ b/src/intro.c @@ -321,7 +321,7 @@ static u32 GetAdvanceState(void) { if (!gUnk_02000010.listenForKeyPresses) { newKeys = 0; } else { - newKeys = gUnk_03000FF0.newKeys & (A_BUTTON | START_BUTTON); + newKeys = gInput.newKeys & (A_BUTTON | START_BUTTON); } if (--gIntroState.timer == 0) { diff --git a/src/main.c b/src/main.c index 15b67996..4a136d48 100644 --- a/src/main.c +++ b/src/main.c @@ -5,6 +5,7 @@ #include "screen.h" #include "random.h" #include "readKeyInput.h" +#include "save.h" extern void HandleIntroScreen(void); extern void HandleChooseFileScreen(void); @@ -110,7 +111,7 @@ static void sub_08055F70(void) { #define SOFT_RESET_KEYS (A_BUTTON | B_BUTTON | SELECT_BUTTON | START_BUTTON) static bool32 SoftResetKeysPressed(void) { - return (gUnk_03000FF0.heldKeys & SOFT_RESET_KEYS) == SOFT_RESET_KEYS; + return (gInput.heldKeys & SOFT_RESET_KEYS) == SOFT_RESET_KEYS; } void InitScreen(u32 screen) { diff --git a/src/manager/managerC.c b/src/manager/managerC.c index b2571591..2eec1a0d 100644 --- a/src/manager/managerC.c +++ b/src/manager/managerC.c @@ -7,6 +7,7 @@ #include "screen.h" #include "trig.h" #include "functions.h" +#include "save.h" typedef struct { @@ -243,7 +244,7 @@ void sub_08058B5C(ManagerC* this, u32 unk1) { gScreenTransition.playerState = unk1 & 1 ? 4 : 0; gScreenTransition.playerStartPos.HALF.x = gUnk_081082E8[unk1*3]; gScreenTransition.playerStartPos.HALF.y = gUnk_081082E8[unk1*3+1]; - gUnk_02002A40.unk7 = gUnk_081082E8[unk1*3+2]; + gSave.unk7 = gUnk_081082E8[unk1*3+2]; PlaySFX(0x121); } diff --git a/src/npc/bladeBrothers.c b/src/npc/bladeBrothers.c index afaf454d..f19d4990 100644 --- a/src/npc/bladeBrothers.c +++ b/src/npc/bladeBrothers.c @@ -5,6 +5,7 @@ #include "player.h" #include "room.h" #include "textbox.h" +#include "save.h" extern void (*gUnk_081115C0[])(Entity*); extern void (*gUnk_081115D0[])(Entity*); @@ -146,10 +147,10 @@ void sub_08068B84(Entity* this) { } void sub_08068BB4(Entity* this) { - u32 item = gUnk_02002A40.stats.itemOnA; + u32 item = gSave.stats.itemOnA; this->field_0x68.HALF.HI = item; - item = gUnk_02002A40.stats.itemOnB; + item = gSave.stats.itemOnB; *(&this->field_0x68.HALF.HI + 1) = item; } @@ -261,7 +262,7 @@ void sub_08068CFC(Entity* param_1, Entity* param_2, u32 param_3, u32 param_4) goto LABEL1; break; case 6: - if (gUnk_02002A40.stats.maxHealth < 0x50) + if (gSave.stats.maxHealth < 0x50) return; goto switchD_08068d12_caseD_0; case 7: diff --git a/src/npc/forestMinish.c b/src/npc/forestMinish.c index be59fbaa..f127acf4 100644 --- a/src/npc/forestMinish.c +++ b/src/npc/forestMinish.c @@ -6,6 +6,7 @@ #include "player.h" #include "structures.h" #include "functions.h" +#include "save.h" extern void sub_0807DD50(Entity*); extern void sub_0806F118(Entity*); @@ -214,7 +215,7 @@ void sub_080602BC(Entity* this) { if (GetInventoryValue(0x48) != 0) { index = (Random() & 1) + 2; } else { - if (gUnk_02002A40.stats.bombCount < gBombBagSizes[gUnk_02002A40.stats.bombBagType]) { + if (gSave.stats.bombCount < gBombBagSizes[gSave.stats.bombBagType]) { index = 1; } else { index = 0; @@ -241,14 +242,14 @@ void sub_08060318(void) { } void sub_08060340(void) { - gUnk_02002A40.unk490 = gUnk_02002A40.unk50; + gSave.unk490 = gSave.unk50; } u32 sub_08060354(void) { u32 iVar1; s32 iVar2; - iVar2 = gUnk_02002A40.unk50 - gUnk_02002A40.unk490; + iVar2 = gSave.unk50 - gSave.unk490; if (CheckGlobalFlag(DRUG_1) == 0) { if (4 < iVar2) { return 0x8444; diff --git a/src/npc/mayorHagen.c b/src/npc/mayorHagen.c index c337bbea..ffa5b0c6 100644 --- a/src/npc/mayorHagen.c +++ b/src/npc/mayorHagen.c @@ -8,6 +8,7 @@ #include "npc.h" #include "structures.h" #include "functions.h" +#include "save.h" extern void sub_0807DD50(Entity*); extern u32 sub_0806F5A4(u32); @@ -62,7 +63,7 @@ void sub_0806CE5C(Entity* this) { void sub_0806CE80(Entity* this) { u32 v; u32 v2; - v = gUnk_02002A40.unk8; + v = gSave.unk8; if (v == 5) { // flippers if (GetInventoryValue(0x46) == 0) { diff --git a/src/npc/mutoh.c b/src/npc/mutoh.c index 01cf6481..c3084796 100644 --- a/src/npc/mutoh.c +++ b/src/npc/mutoh.c @@ -6,6 +6,7 @@ #include "npc.h" #include "structures.h" #include "functions.h" +#include "save.h" extern void sub_0807DD50(Entity*); extern u32 GetFacingDirection(Entity*, Entity*); @@ -72,7 +73,7 @@ void sub_080670B4(Entity* this) { } void sub_080670E4(Entity* this) { - ShowNPCDialogue(this, &gUnk_08110C10[gUnk_02002A40.unk8]); + ShowNPCDialogue(this, &gUnk_08110C10[gSave.unk8]); } void sub_08067100(Entity* this) { diff --git a/src/npc/postman.c b/src/npc/postman.c index 0dd9fc1a..836bb5d5 100644 --- a/src/npc/postman.c +++ b/src/npc/postman.c @@ -6,6 +6,7 @@ #include "player.h" #include "room.h" #include "structures.h" +#include "save.h" extern void sub_08060528(Entity*); extern void* GetCurrentRoomProperty(u32); @@ -194,7 +195,7 @@ void sub_080606C0(Entity* this) { void sub_080606D8(Entity* this) { s32 index; - index = gUnk_02002A40.unk8 - 2; + index = gSave.unk8 - 2; if (index < 0) { index = 0; } diff --git a/src/npc/smith.c b/src/npc/smith.c index fa912abb..430b12af 100644 --- a/src/npc/smith.c +++ b/src/npc/smith.c @@ -2,6 +2,7 @@ #include "entity.h" #include "textbox.h" #include "functions.h" +#include "save.h" extern u32 GetFacingDirection(Entity*, Entity*); extern u32 sub_0806F5A4(u32); @@ -149,10 +150,10 @@ void sub_08066218(Entity* this) { void sub_0806622C(Entity* this) { u32 index; - if (gUnk_02002A40.unk8 - 2 < 0) { + if (gSave.unk8 - 2 < 0) { index = 0; } else { - index = gUnk_02002A40.unk8 - 2; + index = gSave.unk8 - 2; } ShowNPCDialogue(this, &gUnk_08110390[index]); } diff --git a/src/npc/teachers.c b/src/npc/teachers.c index e9a316c6..2e0e99fd 100644 --- a/src/npc/teachers.c +++ b/src/npc/teachers.c @@ -2,6 +2,7 @@ #include "entity.h" #include "player.h" #include "functions.h" +#include "save.h" extern SpriteLoadData gUnk_08113910[]; extern void sub_0807DD50(Entity*); @@ -78,7 +79,7 @@ void Teachers_Head(Entity* this) { void sub_0806C70C(Entity* this) { int offset; - offset = gUnk_02002A40.unk8 - 2; + offset = gSave.unk8 - 2; if (offset < 0) offset = 0; diff --git a/src/npc/townMinish.c b/src/npc/townMinish.c index 69b7eda7..3eab0a5a 100644 --- a/src/npc/townMinish.c +++ b/src/npc/townMinish.c @@ -4,6 +4,7 @@ #include "functions.h" #include "textbox.h" #include "flags.h" +#include "save.h" extern void InitializeAnimation(Entity*, u32); extern u32 LoadExtraSpriteData(Entity*, SpriteLoadData*); @@ -244,7 +245,7 @@ void sub_0806AFA0(Entity* this) { } void sub_0806AFBC(Entity* this) { - int idx = gUnk_02002A40.unk8 - 2; + int idx = gSave.unk8 - 2; if (idx < 0) idx = 0; @@ -329,7 +330,7 @@ void sub_0806B134(Entity* this) { idx = 0; SetGlobalFlag(0x4a); } - if (5 < gUnk_02002A40.unk8) { + if (5 < gSave.unk8) { idx = 3; } TextboxNoOverlap(gUnk_08112C60[idx], this); diff --git a/src/npc/townsperson.c b/src/npc/townsperson.c index 34e1ea16..1c05c1a4 100644 --- a/src/npc/townsperson.c +++ b/src/npc/townsperson.c @@ -6,6 +6,7 @@ #include "flags.h" #include "structures.h" #include "functions.h" +#include "save.h" typedef struct { u8 frame1; @@ -296,7 +297,7 @@ void sub_08062048(Entity* this) { int iVar1; if ((this->entityType).subtype == 6) { - iVar1 = gUnk_02002A40.unk8 - 2; + iVar1 = gSave.unk8 - 2; if (iVar1 < 0) { iVar1 = 0; } diff --git a/src/npc/windTribespeople.c b/src/npc/windTribespeople.c index 55f7b4ed..bb09a0c8 100644 --- a/src/npc/windTribespeople.c +++ b/src/npc/windTribespeople.c @@ -5,6 +5,7 @@ #include "flags.h" #include "structures.h" #include "functions.h" +#include "save.h" extern u32 LoadExtraSpriteData(Entity*, SpriteLoadData*); extern void sub_0807DD50(Entity*); @@ -118,7 +119,7 @@ void sub_0806C90C(Entity* param_1, Entity* param_2) { } void sub_0806C928(Entity* this) { - ShowNPCDialogue(this, &gUnk_08113ABC[gUnk_02002A40.unk8]); + ShowNPCDialogue(this, &gUnk_08113ABC[gSave.unk8]); } void sub_0806C944(Entity* this) { diff --git a/src/object/bird.c b/src/object/bird.c index aedff14d..47a822c6 100644 --- a/src/object/bird.c +++ b/src/object/bird.c @@ -2,6 +2,7 @@ #include "entity.h" #include "flags.h" #include "functions.h" +#include "save.h" extern void (*const gUnk_08123EC0[])(Entity*); extern void (*const gUnk_08123EEC[])(Entity*); @@ -118,7 +119,7 @@ void sub_0809D130(Entity* this) { sub_0800445C(this); } else if (sub_08017850(this) != 0) { CreateItemEntity(0x17, 0, 0); - gUnk_02002A40.windcrests |= 0x10000000; + gSave.windcrests |= 0x10000000; DeleteThisEntity(); } } diff --git a/src/object/fileScreenObjects.c b/src/object/fileScreenObjects.c index 4b18fa79..7bc3f717 100644 --- a/src/object/fileScreenObjects.c +++ b/src/object/fileScreenObjects.c @@ -6,8 +6,8 @@ #include "menu.h" #include "npc.h" #include "position.h" -#include "readKeyInput.h" #include "structures.h" +#include "fileScreen.h" extern int sub_0807A094(int); extern void LoadPalettes(const u8*, int, int); @@ -92,8 +92,8 @@ void sub_0808E818(Entity* this) { } if (gUnk_02032EC0.lastState == 0) { - if (gUnk_03000FF0.heldKeys & L_BUTTON) { - switch (gUnk_03000FF0.newKeys) { + if (gInput.heldKeys & L_BUTTON) { + switch (gInput.newKeys) { case DPAD_UP: this->animationState = 0; break; @@ -167,7 +167,7 @@ void sub_0808E988(Entity* this) { } void sub_0808E9F4(Entity* this) { - if (sub_0808E950() && gUnk_02002A40.unk6) { + if (sub_0808E950() && gSave.unk6) { this->spriteSettings.b.draw = 2; } else { this->spriteSettings.b.draw = 0; @@ -323,7 +323,7 @@ void sub_0808EBB8(Entity* this) { } static Entity* sub_0808EC80(int form) { - Entity* entityA = (Entity*) &gUnk_03003DA0; + Entity* entityA = (Entity*)&gUnk_03003DA0; Entity* entityB = entityA->next; while (entityB != entityA) { if ((entityB->entityType.type == 0x6 && entityB->entityType.subtype == 0x48) && diff --git a/src/object/greatFairy.c b/src/object/greatFairy.c index 257e748e..dac1e955 100644 --- a/src/object/greatFairy.c +++ b/src/object/greatFairy.c @@ -5,6 +5,7 @@ #include "structures.h" #include "greatFairy.h" #include "functions.h" +#include "save.h" enum { BEHAVIORS, @@ -540,10 +541,10 @@ void sub_08087424(Entity* arg0, struct_08087424* arg1) { switch (arg1->unk4) { case 0: - gUnk_02002A40.stats.arrowCount = arg1->unk4; + gSave.stats.arrowCount = arg1->unk4; break; case 1: - gUnk_02002A40.stats.bombCount = 0; + gSave.stats.bombCount = 0; break; } } diff --git a/src/object/windcrest.c b/src/object/windcrest.c index f8c804e5..ff559344 100644 --- a/src/object/windcrest.c +++ b/src/object/windcrest.c @@ -1,6 +1,7 @@ #include "global.h" #include "entity.h" #include "functions.h" +#include "save.h" extern void sub_0807DD64(Entity*); extern void sub_0807DDAC(Entity*, u32); @@ -27,6 +28,6 @@ void sub_080A2124(Entity* this) { void Windcrest_Unlock(Entity* this) { PlaySFX(0x72); - gUnk_02002A40.windcrests = gUnk_02002A40.windcrests | 1 << (this->entityType.parameter + 0x18); + gSave.windcrests = gSave.windcrests | 1 << (this->entityType.parameter + 0x18); CreateFx(this, 0x46, 0); } diff --git a/src/player.c b/src/player.c index 1192f6be..f4264601 100644 --- a/src/player.c +++ b/src/player.c @@ -5,6 +5,7 @@ #include "functions.h" #include "readKeyInput.h" #include "area.h" +#include "save.h" extern const void (*const gUnk_0811B9E0[])(Entity*); extern const void (*const gUnk_0811BA60[])(Entity*); @@ -122,7 +123,7 @@ void sub_08070C3C(Entity* this) { void sub_08070CB4(Entity* this) { UpdateAnimationSingleFrame(this); if ((this->frames.all & 0x80) != 0) { - if ((gUnk_02002A40.stats.health != 0) && ((gPlayerState.flags.all & 0x8000) != 0)) { + if ((gSave.stats.health != 0) && ((gPlayerState.flags.all & 0x8000) != 0)) { gPlayerState.flags.all &= ~(0x1 | 0x4); this->spriteSettings.b.draw = 0; } else { @@ -496,7 +497,7 @@ void sub_08071380(Entity *this) { if ((gPlayerState.flags.all & 0x20) == 0) return; - if ((gUnk_03000FF0.newKeys & 0x102) == 0) + if ((gInput.newKeys & 0x102) == 0) return; if (CheckIsDungeon() || gArea.field_0x17 == 3) { diff --git a/src/room.c b/src/room.c index e2c418c6..b9f41f5c 100644 --- a/src/room.c +++ b/src/room.c @@ -9,6 +9,7 @@ #include "screen.h" #include "main.h" #include "structures.h" +#include "save.h" void sub_0804B3C4(void* arg0) { sub_0804B29C(arg0); @@ -346,7 +347,7 @@ extern EntityData gUnk_080D6734; extern EntityData gUnk_080D66F4; void sub_0804B738(void) { - if (gUnk_02002A40.unk8 > 4) { + if (gSave.unk8 > 4) { LoadRoomEntityList(&gUnk_080D6714); } // flippers @@ -364,7 +365,7 @@ u32 sub_0804B788() { extern EntityData gUnk_080D6924; void sub_0804B78C(void) { - if (gUnk_02002A40.unk8 > 7) { + if (gSave.unk8 > 7) { LoadRoomEntityList(&gUnk_080D6924); } } @@ -466,7 +467,7 @@ extern EntityData UpperInn_Din; void sub_0804B938(void) { int iVar1; - if (gUnk_02002A40.unk8 < 4) + if (gSave.unk8 < 4) return; if (CheckGlobalFlag(RENTED_HOUSE_DIN)) { @@ -516,7 +517,7 @@ u32 sub_0804BA08() { extern EntityData gUnk_080D7038; void sub_0804BA0C(void) { - if (gUnk_02002A40.unk8 < 8) { + if (gSave.unk8 < 8) { LoadRoomEntityList(&gUnk_080D7038); } if (gRoomVars.filler[0] == 0) { @@ -536,13 +537,13 @@ extern EntityData gUnk_080D71F0; void sub_0804BA44(void) { - if (gUnk_02002A40.unk8 == 6) + if (gSave.unk8 == 6) LoadRoomEntityList(&gUnk_080D7140); - if (gUnk_02002A40.unk8 == 7) + if (gSave.unk8 == 7) LoadRoomEntityList(&gUnk_080D7170); - if ((gUnk_02002A40.unk8 < 8) || (LoadRoomEntityList(&gUnk_080D71A0), gUnk_02002A40.unk8 < 8)) + if ((gSave.unk8 < 8) || (LoadRoomEntityList(&gUnk_080D71A0), gSave.unk8 < 8)) LoadRoomEntityList(&gUnk_080D71D0); else LoadRoomEntityList(&gUnk_080D71F0); @@ -1125,7 +1126,7 @@ void sub_0804C334(void) { if (CheckKinstoneFused(0x5b)) LoadRoomEntityList(&gUnk_080D9CC8); - if ((gUnk_02002A40.windcrests & 0x20000000) == 0) + if ((gSave.windcrests & 0x20000000) == 0) LoadRoomEntityList(&gUnk_080D9CE8); // pegasus boots @@ -1134,7 +1135,7 @@ void sub_0804C334(void) { } void sub_0804C384(void) { - if ((gUnk_02002A40.windcrests & 0x20000000) == 0) + if ((gSave.windcrests & 0x20000000) == 0) LoadRoomEntityList(&gUnk_080D9CE8); } @@ -1450,7 +1451,7 @@ extern EntityData gUnk_080DB238; void sub_0804C664(void) { - if (gUnk_02002A40.unk8 > 8) + if (gSave.unk8 > 8) LoadRoomEntityList(&gUnk_080DB238); sub_0801AFE4(); @@ -1932,13 +1933,13 @@ u32 sub_0804CA50() { extern EntityData gUnk_080DD364; void sub_0804CA54(void) { - if (!(gUnk_02002A40.windcrests & 0x4000000)) { + if (!(gSave.windcrests & 0x4000000)) { LoadRoomEntityList(&gUnk_080DD364); } } void sub_0804CA74(void) { - if (!(gUnk_02002A40.windcrests & 0x4000000)) { + if (!(gSave.windcrests & 0x4000000)) { LoadRoomEntityList(&gUnk_080DD364); } } @@ -2121,10 +2122,10 @@ u32 sub_0804CC6C() { } void sub_0804CC70(void) { - if (gUnk_02002A40.unk7 == 0) { + if (gSave.unk7 == 0) { goto a; } - if (gUnk_02002A40.unk7 != 2) { + if (gSave.unk7 != 2) { a: SetTileType(0x90, 0x20b, 1); SetTileType(0x90, 0x411, 1); @@ -4233,7 +4234,7 @@ void LoadHyruleTown(void) { sub_08054570(); TryLoadPrologueHyruleTown(); SetTileType(0x176, 0x66b, 1); - if (gUnk_02002A40.unk8 == 1) { + if (gSave.unk8 == 1) { sub_0801D000(0); } else { sub_08018C58(0xdb4); @@ -4258,7 +4259,7 @@ void LoadHyruleTown(void) { } else { LoadRoomEntityList(&gUnk_080EECBC); } - if (CheckKinstoneFused(0x1b) && (gUnk_02002A40.unk8 > 3)) { + if (CheckKinstoneFused(0x1b) && (gSave.unk8 > 3)) { if (!CheckGlobalFlag(NEW_HOUSE_DIN) && !CheckGlobalFlag(NEW_HOUSE_NAYRU) && !CheckGlobalFlag(NEW_HOUSE_FARORE)) { if (!CheckGlobalFlag(RENTED_HOUSE_DIN) && !CheckGlobalFlag(RENTED_HOUSE_NAYRU) && @@ -4284,7 +4285,7 @@ void LoadHyruleTown(void) { } else { LoadRoomEntityList(&gUnk_080EE9DC); } - if ((gUnk_02002A40.unk8 > 4) && !CheckKinstoneFused(0xb) && + if ((gSave.unk8 > 4) && !CheckKinstoneFused(0xb) && (CheckGlobalFlag(RENTED_HOUSE_DIN) || CheckGlobalFlag(RENTED_HOUSE_NAYRU) || CheckGlobalFlag(RENTED_HOUSE_FARORE))) { LoadRoomEntityList(&gUnk_080EEA5C); @@ -4293,13 +4294,13 @@ void LoadHyruleTown(void) { if (!CheckLocalFlag(0xd0) && GetInventoryValue(0x14)) { LoadRoomEntityList(&gUnk_080EEABC); } - if ((gUnk_02002A40.unk8 > 3) && CheckGlobalFlag(INLOCK)) { + if ((gSave.unk8 > 3) && CheckGlobalFlag(INLOCK)) { LoadRoomEntityList(&gUnk_080EEA7C); } - if ((gUnk_02002A40.unk8 < 6) && !CheckGlobalFlag(MIZUKAKI_START)) { + if ((gSave.unk8 < 6) && !CheckGlobalFlag(MIZUKAKI_START)) { LoadRoomEntityList(&gUnk_080EEA9C); } - if ((gUnk_02002A40.windcrests & 0x8000000) == 0) { + if ((gSave.windcrests & 0x8000000) == 0) { LoadRoomEntityList(&gUnk_080EEBAC); } sub_0804E150(); @@ -4309,7 +4310,7 @@ void LoadHyruleTown(void) { extern EntityData gUnk_080EEBAC; void sub_0804E130(void) { - if ((gUnk_02002A40.windcrests & 0x8000000) == 0) { + if ((gSave.windcrests & 0x8000000) == 0) { LoadRoomEntityList(&gUnk_080EEBAC); } } @@ -4587,7 +4588,7 @@ extern EntityData gUnk_080F236C; void sub_0804E52C(void) { - if (gUnk_02002A40.unk8 > 7) { + if (gSave.unk8 > 7) { LoadRoomEntityList(&gUnk_080F23BC); } // flippers @@ -4608,7 +4609,7 @@ extern EntityData gUnk_080F25C0; extern EntityData gUnk_080F2600; void sub_0804E574(void) { - switch (gUnk_02002A40.unk8) { + switch (gSave.unk8) { case 0: case 2: case 4: @@ -4836,7 +4837,7 @@ extern EntityData gUnk_080F3604; void sub_0804E8FC(void) { if (!CheckGlobalFlag(INLOCK)) { LoadRoomEntityList(&gUnk_080F36FC); - } else if (gUnk_02002A40.unk8 < 4) { + } else if (gSave.unk8 < 4) { LoadRoomEntityList(&gUnk_080F3604); } } @@ -4898,7 +4899,7 @@ void sub_0804E9D0(void) { if (CheckKinstoneFused(0x12)) { LoadRoomEntityList(&gUnk_080F3C94); } - if ((gUnk_02002A40.unk8 > 3) && CheckGlobalFlag(TINGLE_TALK1ST)) { + if ((gSave.unk8 > 3) && CheckGlobalFlag(TINGLE_TALK1ST)) { LoadRoomEntityList(&gUnk_080F3C44); } SetTile(0x4091, 0x590, 1); @@ -5066,7 +5067,7 @@ void sub_0804EC00(void) { if (CheckKinstoneFused(0x4e)) { LoadRoomEntityList(&gUnk_080F4F10); } - if ((s32)gUnk_02002A40.windcrests > -1) { + if ((s32)gSave.windcrests > -1) { LoadRoomEntityList(&gUnk_080F4E10); } } @@ -5074,7 +5075,7 @@ void sub_0804EC00(void) { extern EntityData gUnk_080F4E10; void sub_0804EC98(void) { - if ((s32)gUnk_02002A40.windcrests > -1) { + if ((s32)gSave.windcrests > -1) { LoadRoomEntityList(&gUnk_080F4E10); } } @@ -5216,7 +5217,7 @@ void sub_0804EEBC(void) { if (!CheckLocalFlag(0x55)) { LoadRoomEntityList(&gUnk_080F57A8); } else { - if (gBombBagSizes[gUnk_02002A40.stats.bombBagType] > 0x1d) { + if (gBombBagSizes[gSave.stats.bombBagType] > 0x1d) { LoadRoomEntityList(&gUnk_080F57C8); } if (!GetInventoryValue(0xb) && !GetInventoryValue(0xc)) { @@ -5235,7 +5236,7 @@ void sub_0804EEBC(void) { LoadRoomEntityList(&gUnk_080F5848); } } - if (gUnk_02002A40.stats.filler2[5] == 0) { + if (gSave.stats.filler2[5] == 0) { LoadRoomEntityList(&gUnk_080F5788); } } @@ -5276,7 +5277,7 @@ extern EntityData gUnk_080F5DD0; extern u32 gUnk_08011C50; void sub_0804EFF8(void) { - if (gUnk_02002A40.unk8 > 7) { + if (gSave.unk8 > 7) { LoadRoomEntityList(&gUnk_080F5DD0); } if (CheckGlobalFlag(MAROYA_WAKEUP)) { @@ -5306,7 +5307,7 @@ extern EntityData gUnk_080F5F78; void sub_0804F050(void) { - if (gUnk_02002A40.unk8 > 4) { + if (gSave.unk8 > 4) { LoadRoomEntityList(&gUnk_080F5F38); } if (!CheckLocalFlag(0x92)) { @@ -5507,10 +5508,10 @@ void sub_0804F25C(void) { if (!CheckGlobalFlag(TABIDACHI)) { gArea.pMusicIndex = 0x10; } - if ((gUnk_02002A40.windcrests & 0x40000000) == 0) { + if ((gSave.windcrests & 0x40000000) == 0) { LoadRoomEntityList(&gUnk_080F70D8); } - if (gUnk_02002A40.unk8 > 3) { + if (gSave.unk8 > 3) { LoadRoomEntityList(&gUnk_080F7088); } } @@ -5518,7 +5519,7 @@ void sub_0804F25C(void) { extern EntityData gUnk_080F70D8; void sub_0804F2C8(void) { - if ((gUnk_02002A40.windcrests & 0x40000000) == 0) { + if ((gSave.windcrests & 0x40000000) == 0) { LoadRoomEntityList(&gUnk_080F70D8); } } @@ -5553,7 +5554,7 @@ extern EntityData gUnk_080F7550; void sub_0804F330(void) { sub_0805ADD8(0); - if (gUnk_02002A40.unk8 > 3) { + if (gSave.unk8 > 3) { LoadRoomEntityList(&gUnk_080F7500); } if (GetInventoryValue(0x11) && !GetInventoryValue(0x12)) { @@ -5593,7 +5594,7 @@ void sub_0804F3B0(void) { SetTile(0x4072, 0xd88, 1); SetTile(0x4096, 0xdc8, 1); } - if ((gUnk_02002A40.unk8 > 3) && CheckGlobalFlag(TINGLE_TALK1ST)) { + if ((gSave.unk8 > 3) && CheckGlobalFlag(TINGLE_TALK1ST)) { LoadRoomEntityList(&gUnk_080F78A0); } } @@ -5798,7 +5799,7 @@ extern EntityData gUnk_080F806C; void sub_0804FA00(void) { sub_0805ADD8(0); - if ((gUnk_02002A40.unk8 > 3) && CheckGlobalFlag(TINGLE_TALK1ST)) { + if ((gSave.unk8 > 3) && CheckGlobalFlag(TINGLE_TALK1ST)) { LoadRoomEntityList(&gUnk_080F806C); } } @@ -6025,7 +6026,7 @@ u32 sub_0804FBB8() { extern EntityData gUnk_080F9304; void sub_0804FBBC(void) { - if ((gUnk_02002A40.windcrests & 0x2000000) == 0) { + if ((gSave.windcrests & 0x2000000) == 0) { LoadRoomEntityList(&gUnk_080F9304); } } @@ -6033,7 +6034,7 @@ void sub_0804FBBC(void) { extern EntityData gUnk_080F9304; void sub_0804FBDC(void) { - if ((gUnk_02002A40.windcrests & 0x2000000) == 0) { + if ((gSave.windcrests & 0x2000000) == 0) { LoadRoomEntityList(&gUnk_080F9304); } } @@ -6440,7 +6441,7 @@ void sub_0804FE58(void) { if (CheckGlobalFlag(LV2_CLEAR) && !CheckLocalFlag(LV1_CLEAR)) { LoadRoomEntityList(&gUnk_080FAFE4); } - if ((gUnk_02002A40.windcrests & 0x1000000) == 0) { + if ((gSave.windcrests & 0x1000000) == 0) { LoadRoomEntityList(&gUnk_080FB004); } if (GetInventoryValue(0x2)) { @@ -6451,7 +6452,7 @@ void sub_0804FE58(void) { extern EntityData gUnk_080FB004; void sub_0804FEAC(void) { - if ((gUnk_02002A40.windcrests & 0x1000000) == 0) { + if ((gSave.windcrests & 0x1000000) == 0) { LoadRoomEntityList(&gUnk_080FB004); } } diff --git a/src/save.c b/src/save.c index c129dc9d..879e5d70 100644 --- a/src/save.c +++ b/src/save.c @@ -29,8 +29,8 @@ void sub_0807CD9C() { sub_080530C8(); } -SaveResult sub_0807CDA4(SaveState state) { - return sSaveHandlers[gMenu.storyPanelIndex](state); +SaveResult sub_0807CDA4(u32 arg0) { + return sSaveHandlers[gMenu.storyPanelIndex](arg0); } SaveResult HandleSaveInit(u32 arg0) { @@ -49,7 +49,7 @@ SaveResult HandleSaveInProgress(u32 arg0) { InitDMA(); switch (arg0) { case 0: - temp = sub_0807CF08(gUnk_02000000->saveFileId, gUnk_02002A40.filler0); + temp = sub_0807CF08(gUnk_02000000->saveFileId, gSave.filler0); break; case 1: sub_0807CF48(gUnk_02000000->saveFileId); @@ -126,7 +126,7 @@ u32 sub_0807CF1C(u8* arg0) { return sub_0807CF88(5, arg0); } -int sub_0807CF28(u32 arg0, SaveFile* arg1) { +s32 sub_0807CF28(u32 arg0, SaveFile* arg1) { return sub_0807D008(arg0, arg1); } diff --git a/src/screenDebug.c b/src/screenDebug.c index e8c3a506..a370e373 100644 --- a/src/screenDebug.c +++ b/src/screenDebug.c @@ -12,7 +12,7 @@ typedef struct { u16 unk4; } VStruct; -extern VStruct gUnk_03000FF0; +extern VStruct gInput; extern u8 gBG3Buffer[]; extern void (*const gUnk_08109A30[])(); @@ -46,7 +46,7 @@ void sub_0805FA04(void) { void sub_0805FA98(void) { int iVar1; - switch (gUnk_03000FF0.unk2) { + switch (gInput.unk2) { case 0x40: gMenu.focusCoords[1] -= 1; break; @@ -71,7 +71,7 @@ void sub_0805FA98(void) { sub_08056418(); break; default: - switch (gUnk_03000FF0.unk4) { + switch (gInput.unk4) { case 0x20: iVar1 = -1; break; diff --git a/src/textbox.c b/src/textbox.c index 2ecc7242..a4f921ee 100644 --- a/src/textbox.c +++ b/src/textbox.c @@ -4,6 +4,7 @@ #include "functions.h" #include "textbox.h" #include "structures.h" +#include "save.h" u32 sub_080564DC(void); u32 sub_080564EC(void); @@ -154,7 +155,7 @@ NONMATCH("asm/non_matching/textbox/sub_080564EC.inc", u32 sub_080564EC(void)) { dest = gUnk_02022780._5e; for (i = 0; i < 6; ++i) { - c = gUnk_02002A40.playerName[i]; + c = gSave.playerName[i]; if (c == '\0') break; dest[i] = c; diff --git a/src/tmc.code-workspace b/src/tmc.code-workspace index 0bcb3f84..9a79bbb1 100644 --- a/src/tmc.code-workspace +++ b/src/tmc.code-workspace @@ -12,7 +12,9 @@ "main.h": "c", "object.h": "c", "filescreen.h": "c", - "screen.h": "c" + "screen.h": "c", + "global.h": "c", + "player.h": "c" } } } From ed943b1e536524c02501e3b462acfc3664347315 Mon Sep 17 00:00:00 2001 From: Henny022p Date: Mon, 15 Feb 2021 08:59:47 +0100 Subject: [PATCH 042/101] change type of gUnk_02034490 --- include/structures.h | 2 +- src/executeScriptCommandSet.c | 2 +- src/manager/manager15.c | 4 ++-- src/manager/manager7.c | 6 +++--- src/object/cloud.c | 4 ++-- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/include/structures.h b/include/structures.h index 534f0d98..9f4b32bf 100644 --- a/include/structures.h +++ b/include/structures.h @@ -176,6 +176,6 @@ static_assert(sizeof(BG3Buffer) == 0x1000); */ extern u8 gUnk_02022740[]; -extern u8 gUnk_02034490; +extern u8 gUnk_02034490[]; #endif diff --git a/src/executeScriptCommandSet.c b/src/executeScriptCommandSet.c index de8ea781..7895c28f 100644 --- a/src/executeScriptCommandSet.c +++ b/src/executeScriptCommandSet.c @@ -832,7 +832,7 @@ void sub_0807E9F0(Entity* unk1, ScriptExecutionContext* unk2) { switch (gUnk_02022740[0]) { case 2: gPlayerState.field_0x8b = 3; - gUnk_02034490 = tmp; + gUnk_02034490[0] = tmp; unk2->unk_14 = tmp; break; case 1: diff --git a/src/manager/manager15.c b/src/manager/manager15.c index 23abd03e..44b38fb4 100644 --- a/src/manager/manager15.c +++ b/src/manager/manager15.c @@ -3,6 +3,7 @@ #include "screen.h" #include "manager.h" #include "functions.h" +#include "structures.h" typedef struct { Manager manager; @@ -293,7 +294,6 @@ void sub_0805A758(Manager15* this) { } } -extern u8 gUnk_02034490; extern void sub_0805E4E0(Manager*, u32); extern void sub_08077B20(void); @@ -308,7 +308,7 @@ void sub_0805A76C(Manager15* this) { gPlayerEntity.animationState = 4; sub_0805E4E0(&this->manager, 0x258); sub_08078A90(0xFF); - gUnk_02034490 = 1; + gUnk_02034490[0] = 1; gRoomControls.cameraTarget = 0; sub_08077B20(); } diff --git a/src/manager/manager7.c b/src/manager/manager7.c index 55e88f7d..6a0fe97d 100644 --- a/src/manager/manager7.c +++ b/src/manager/manager7.c @@ -1,6 +1,7 @@ #include "global.h" #include "manager.h" #include "functions.h" +#include "structures.h" #include "gba/gba.h" typedef struct { @@ -18,7 +19,6 @@ extern void sub_08052D74(); extern u32 sub_08056300(const u16*); extern void sub_0805E3A0(); -extern u8 gUnk_02034490; extern const u8 gGlobalGfxAndPalettes[]; const u16 gUnk_08108050[0x2A] = { 0, 0, 0x20, 0xE0, 0xE0, 1, 0, 0x1D0, 0x80, 0x60, 2, @@ -63,7 +63,7 @@ void Manager7_Main(Manager7* this) { tmp2 = &gUnk_081080A4[tmp << 4]; switch (this->manager.unk_0e) { case 0: - gUnk_02034490 = 1; + gUnk_02034490[0] = 1; LoadAssetAsync(&gGlobalGfxAndPalettes[tmp2[0]], tmp2[1], 0x1000); LoadPaletteGroup(gUnk_081081E4[tmp]); this->manager.unk_0e++; @@ -80,7 +80,7 @@ void Manager7_Main(Manager7* this) { this->manager.unk_0e++; break; case 8: - gUnk_02034490 = 0; + gUnk_02034490[0] = 0; this->manager.unk_0e++; break; } diff --git a/src/object/cloud.c b/src/object/cloud.c index 8a133c2e..631e6605 100644 --- a/src/object/cloud.c +++ b/src/object/cloud.c @@ -4,6 +4,7 @@ #include "player.h" #include "flags.h" #include "functions.h" +#include "structures.h" extern void sub_0809F7BC(Entity*); extern void PlaySFX(u32); @@ -22,7 +23,6 @@ extern Entity* CreateObject(u32, u32, u32); extern void PositionEntityOnTop(Entity*, Entity*); extern void sub_0807BB68(u32*, u32, u32); -extern u8 gUnk_02034490; extern void* gUnk_080DD750; extern Entity gPlayerEntity; extern PlayerState gPlayerState; @@ -48,7 +48,7 @@ void sub_0809F514(Entity* this) { this->spriteSettings.b.draw = 0; this->field_0x68.HALF.LO = 12; gRoomControls.cameraTarget = this; - gUnk_02034490 = 255; + gUnk_02034490[0] = 255; sub_0809F7BC(this); } From 77b8ff337866f96597224becffc358d99a243b6e Mon Sep 17 00:00:00 2001 From: Henny022p Date: Mon, 15 Feb 2021 09:00:02 +0100 Subject: [PATCH 043/101] matched sub_0807DF50 --- asm/code_0807CC3C.s | 17 ----------------- linker.ld | 1 + src/code_0807CC3C.c | 14 ++++++++++++++ 3 files changed, 15 insertions(+), 17 deletions(-) create mode 100644 src/code_0807CC3C.c diff --git a/asm/code_0807CC3C.s b/asm/code_0807CC3C.s index fa09e5b8..b05ddf0a 100644 --- a/asm/code_0807CC3C.s +++ b/asm/code_0807CC3C.s @@ -2197,20 +2197,3 @@ sub_0807DF38: @ 0x0807DF38 .align 2, 0 _0807DF48: .4byte gUnk_0200AF00 _0807DF4C: .4byte gUnk_02034490 - - thumb_func_start sub_0807DF50 -sub_0807DF50: @ 0x0807DF50 - push {lr} - ldr r0, _0807DF6C @ =gUnk_02034490 - movs r1, #0 - strb r1, [r0] - ldr r0, _0807DF70 @ =gUnk_0200AF00 - strb r1, [r0, #1] - movs r0, #0 - bl sub_0801C4A0 - bl sub_080791D0 - bl sub_08079184 - pop {pc} - .align 2, 0 -_0807DF6C: .4byte gUnk_02034490 -_0807DF70: .4byte gUnk_0200AF00 diff --git a/linker.ld b/linker.ld index 528c2783..8b282a19 100644 --- a/linker.ld +++ b/linker.ld @@ -676,6 +676,7 @@ SECTIONS { src/flags.o(.text); src/save.o(.text); asm/code_0807CC3C.o(.text); + src/code_0807CC3C.o(.text); src/executeScriptCommandSet.o(.text); asm/code_0807F0D8.o(.text); src/code_0808091C.o(.text); diff --git a/src/code_0807CC3C.c b/src/code_0807CC3C.c new file mode 100644 index 00000000..13136574 --- /dev/null +++ b/src/code_0807CC3C.c @@ -0,0 +1,14 @@ +#include "global.h" +#include "structures.h" +#include "functions.h" + +extern void sub_0801C4A0(int arg0); + +void sub_0807DF50() +{ + gUnk_02034490[0] = 0; + gUnk_0200AF00.filler0[1] = 0; + sub_0801C4A0(0); + sub_080791D0(); + sub_08079184(); +} \ No newline at end of file From 6885278d4b38900b7bcfe12478fa36efbc1d8a90 Mon Sep 17 00:00:00 2001 From: Henny022p Date: Mon, 15 Feb 2021 09:06:52 +0100 Subject: [PATCH 044/101] fixed formatting --- src/code_0807CC3C.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/code_0807CC3C.c b/src/code_0807CC3C.c index 13136574..07174792 100644 --- a/src/code_0807CC3C.c +++ b/src/code_0807CC3C.c @@ -4,8 +4,7 @@ extern void sub_0801C4A0(int arg0); -void sub_0807DF50() -{ +void sub_0807DF50() { gUnk_02034490[0] = 0; gUnk_0200AF00.filler0[1] = 0; sub_0801C4A0(0); From c44695a6dd8eba4ef539ad1dee07c9e7c0edea33 Mon Sep 17 00:00:00 2001 From: Henny022p Date: Mon, 15 Feb 2021 09:11:15 +0100 Subject: [PATCH 045/101] removed unused import that would cause a cycle --- include/sprite.h | 1 - 1 file changed, 1 deletion(-) diff --git a/include/sprite.h b/include/sprite.h index 929f55d5..bb2445b1 100644 --- a/include/sprite.h +++ b/include/sprite.h @@ -2,7 +2,6 @@ #define SPRITE_H #include "global.h" -#include "entity.h" typedef struct { u8 index; From 56ba21b875e94fbb9f326d7e9bfd1da9a31d5a76 Mon Sep 17 00:00:00 2001 From: Henny022p Date: Mon, 15 Feb 2021 09:22:58 +0100 Subject: [PATCH 046/101] matched sub_0807DF28 and sub_0807DF38 --- asm/code_0807CC3C.s | 22 ---------------------- src/code_0807CC3C.c | 14 +++++++++++++- 2 files changed, 13 insertions(+), 23 deletions(-) diff --git a/asm/code_0807CC3C.s b/asm/code_0807CC3C.s index b05ddf0a..d1d2a2af 100644 --- a/asm/code_0807CC3C.s +++ b/asm/code_0807CC3C.s @@ -2175,25 +2175,3 @@ sub_0807DEDC: @ 0x0807DEDC pop {r4, r5, r6, pc} .align 2, 0 _0807DF24: .4byte gUnk_0811E514 - - thumb_func_start sub_0807DF28 -sub_0807DF28: @ 0x0807DF28 - push {lr} - bl sub_0807DF38 - bl sub_08079184 - bl sub_08077B20 - pop {pc} - - thumb_func_start sub_0807DF38 -sub_0807DF38: @ 0x0807DF38 - ldr r1, _0807DF48 @ =gUnk_0200AF00 - movs r0, #0xff - strb r0, [r1, #1] - ldr r1, _0807DF4C @ =gUnk_02034490 - movs r0, #1 - rsbs r0, r0, #0 - strb r0, [r1] - bx lr - .align 2, 0 -_0807DF48: .4byte gUnk_0200AF00 -_0807DF4C: .4byte gUnk_02034490 diff --git a/src/code_0807CC3C.c b/src/code_0807CC3C.c index 07174792..254b13f1 100644 --- a/src/code_0807CC3C.c +++ b/src/code_0807CC3C.c @@ -2,9 +2,21 @@ #include "structures.h" #include "functions.h" +void sub_0807DF38(void); extern void sub_0801C4A0(int arg0); -void sub_0807DF50() { +void sub_0807DF28(void) { + sub_0807DF38(); + sub_08079184(); + sub_08077B20(); +} + +void sub_0807DF38(void) { + gUnk_0200AF00.filler0[1] = 0xff; + gUnk_02034490[0] = 0xff; +} + +void sub_0807DF50(void) { gUnk_02034490[0] = 0; gUnk_0200AF00.filler0[1] = 0; sub_0801C4A0(0); From fa3339a8c2dc8a840d1427abf202c59b4a03d70d Mon Sep 17 00:00:00 2001 From: Henny022p Date: Mon, 15 Feb 2021 10:09:46 +0100 Subject: [PATCH 047/101] matched sub_0807DEDC --- asm/code_0807CC3C.s | 40 ---------------------------------------- src/code_0807CC3C.c | 22 +++++++++++++++++++++- src/npc/postman.c | 6 +++--- 3 files changed, 24 insertions(+), 44 deletions(-) diff --git a/asm/code_0807CC3C.s b/asm/code_0807CC3C.s index d1d2a2af..bd7e1630 100644 --- a/asm/code_0807CC3C.s +++ b/asm/code_0807CC3C.s @@ -2135,43 +2135,3 @@ _0807DED4: adds r0, r4, #0 bl sub_080042BA pop {r4, pc} - - thumb_func_start sub_0807DEDC -sub_0807DEDC: @ 0x0807DEDC - push {r4, r5, r6, lr} - adds r5, r0, #0 - movs r6, #0 - movs r0, #8 - strb r0, [r1, #0x19] - ldr r0, [r1, #8] - movs r4, #2 - orrs r0, r4 - str r0, [r1, #8] - str r6, [r1, #0x14] - strh r2, [r1, #0x1e] - strh r3, [r1, #0x22] - movs r2, #0x1e - ldrsh r0, [r1, r2] - movs r3, #0x2e - ldrsh r2, [r5, r3] - subs r0, r0, r2 - movs r2, #0x22 - ldrsh r1, [r1, r2] - movs r3, #0x32 - ldrsh r2, [r5, r3] - subs r1, r1, r2 - bl sub_080045DA - strb r0, [r5, #0x15] - ldrb r2, [r5, #0x14] - movs r1, #0x80 - ands r1, r2 - ldr r2, _0807DF24 @ =gUnk_0811E514 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x1c - adds r0, r0, r2 - ldrb r0, [r0] - orrs r1, r0 - strb r1, [r5, #0x14] - pop {r4, r5, r6, pc} - .align 2, 0 -_0807DF24: .4byte gUnk_0811E514 diff --git a/src/code_0807CC3C.c b/src/code_0807CC3C.c index 254b13f1..8d3c5892 100644 --- a/src/code_0807CC3C.c +++ b/src/code_0807CC3C.c @@ -1,9 +1,29 @@ #include "global.h" #include "structures.h" #include "functions.h" +#include "script.h" + +extern u8 gUnk_0811E514[]; void sub_0807DF38(void); -extern void sub_0801C4A0(int arg0); +extern void sub_0801C4A0(u32); + +void sub_0807DEDC(Entity* entity, ScriptExecutionContext* context, u32 arg2, u32 arg3) +{ + int temp; + s32 t0, t1; + + context->unk_19 = 8; + context->unk_08 |= 2; + context->unk_14 = 0; + context->unk_1C.HALF.HI = arg2; + context->unk_20.HALF.HI = arg3; + t0 = context->unk_1C.HALF.HI - entity->x.HALF.HI; + t1 = context->unk_20.HALF.HI - entity->y.HALF.HI; + temp = sub_080045DA(t0, t1); + entity->direction = temp; + entity->animationState = (entity->animationState & 0x80) | gUnk_0811E514[(u32)(temp <<0x18)>>0x1c]; +} void sub_0807DF28(void) { sub_0807DF38(); diff --git a/src/npc/postman.c b/src/npc/postman.c index 836bb5d5..8f387f04 100644 --- a/src/npc/postman.c +++ b/src/npc/postman.c @@ -7,6 +7,7 @@ #include "room.h" #include "structures.h" #include "save.h" +#include "script.h" extern void sub_08060528(Entity*); extern void* GetCurrentRoomProperty(u32); @@ -27,7 +28,6 @@ extern void EnqueueSFX(u32); extern void sub_080606C0(Entity*); extern void sub_0800451C(Entity*); extern void sub_08078784(Entity*, u32); -extern void sub_0807DEDC(Entity*, u32, u32, u32); typedef struct { s16 x; @@ -202,12 +202,12 @@ void sub_080606D8(Entity* this) { ShowNPCDialogue(this, &gUnk_0810AA30[index]); } -void sub_08060700(Entity* entity, u32 arg1) { +void sub_08060700(Entity* entity, ScriptExecutionContext* context) { s8* var0 = gUnk_0810A918[(s8)entity->field_0x68.HALF.LO]; Coords16* coords = &gUnk_0810A66C[var0[(s8)entity->field_0x68.HALF.HI]]; u32 x = coords->x + gRoomControls.roomOriginX; u32 y = coords->y + gRoomControls.roomOriginY; - sub_0807DEDC(entity, arg1, x, y); + sub_0807DEDC(entity, context, x, y); gUnk_02033280.unk_07 |= 1; } From 6917076fdcd0498f9ab156e629ecf67abe3c68a0 Mon Sep 17 00:00:00 2001 From: Henny022p Date: Mon, 15 Feb 2021 10:41:38 +0100 Subject: [PATCH 048/101] matched sub_0807DE80 --- asm/code_0807CC3C.s | 51 --------------------------------------------- src/code_0807CC3C.c | 38 ++++++++++++++++++++++++++++++--- 2 files changed, 35 insertions(+), 54 deletions(-) diff --git a/asm/code_0807CC3C.s b/asm/code_0807CC3C.s index bd7e1630..f468bf14 100644 --- a/asm/code_0807CC3C.s +++ b/asm/code_0807CC3C.s @@ -2084,54 +2084,3 @@ _0807DE70: _0807DE7C: pop {r4, r5, pc} .align 2, 0 - - thumb_func_start sub_0807DE80 -sub_0807DE80: @ 0x0807DE80 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x80 - ldrh r3, [r0] - cmp r3, #7 - bhi _0807DEB0 - adds r0, #2 - ldrh r1, [r0] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0807DEA4 - movs r1, #0xfc - ands r1, r3 - ldrb r0, [r4, #0xf] - lsrs r0, r0, #1 - adds r3, r1, r0 - b _0807DEB0 -_0807DEA4: - movs r0, #0xfc - ands r0, r3 - ldrb r2, [r4, #0x14] - lsrs r1, r2, #1 - adds r3, r0, r1 - strb r2, [r4, #0xf] -_0807DEB0: - adds r0, r4, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r3, r0 - beq _0807DEC2 - adds r0, r4, #0 - adds r1, r3, #0 - bl InitAnimationForceUpdate -_0807DEC2: - adds r0, r4, #0 - adds r0, #0x82 - ldrh r1, [r0] - movs r0, #4 - ands r0, r1 - movs r1, #1 - cmp r0, #0 - beq _0807DED4 - movs r1, #2 -_0807DED4: - adds r0, r4, #0 - bl sub_080042BA - pop {r4, pc} diff --git a/src/code_0807CC3C.c b/src/code_0807CC3C.c index 8d3c5892..37d476e2 100644 --- a/src/code_0807CC3C.c +++ b/src/code_0807CC3C.c @@ -2,14 +2,46 @@ #include "structures.h" #include "functions.h" #include "script.h" +#include "entity.h" extern u8 gUnk_0811E514[]; void sub_0807DF38(void); extern void sub_0801C4A0(u32); -void sub_0807DEDC(Entity* entity, ScriptExecutionContext* context, u32 arg2, u32 arg3) -{ +void sub_0807DE80(Entity* entity) { + u32 local1; + u16 local2; + + u32 temp; + + local2 = entity->field_0x80.HWORD; + if (local2 < 8) { + if (entity->field_0x82.HWORD & 1) { + u32 t1, t2; + t1 = local2 & 0xfc; + t2 = entity->field_0xf >> 1; + local2 = t1 + t2; + } else { + u32 t1, t2; + t1 = local2 & 0xfc; + t2 = entity->animationState >> 1; + local2 = t1 + t2; + entity->field_0xf = entity->animationState; + } + } + if (local2 != entity->animIndex) { + InitAnimationForceUpdate(entity, local2); + } + temp = entity->field_0x82.HWORD & 4; + local1 = 1; + if (temp) { + local1 = 2; + } + sub_080042BA(entity, local1); +} + +void sub_0807DEDC(Entity* entity, ScriptExecutionContext* context, u32 arg2, u32 arg3) { int temp; s32 t0, t1; @@ -22,7 +54,7 @@ void sub_0807DEDC(Entity* entity, ScriptExecutionContext* context, u32 arg2, u32 t1 = context->unk_20.HALF.HI - entity->y.HALF.HI; temp = sub_080045DA(t0, t1); entity->direction = temp; - entity->animationState = (entity->animationState & 0x80) | gUnk_0811E514[(u32)(temp <<0x18)>>0x1c]; + entity->animationState = (entity->animationState & 0x80) | gUnk_0811E514[(u32)(temp << 0x18) >> 0x1c]; } void sub_0807DF28(void) { From 6c2b1a89b8f5f2009e001094bb6ff448f01ea73f Mon Sep 17 00:00:00 2001 From: Henny022p Date: Mon, 15 Feb 2021 14:20:45 +0100 Subject: [PATCH 049/101] matched sub_0807DDE4 --- asm/code_0807CC3C.s | 83 --------------------------------------------- src/code_0807CC3C.c | 37 ++++++++++++++++++++ 2 files changed, 37 insertions(+), 83 deletions(-) diff --git a/asm/code_0807CC3C.s b/asm/code_0807CC3C.s index f468bf14..ed92563e 100644 --- a/asm/code_0807CC3C.s +++ b/asm/code_0807CC3C.s @@ -2001,86 +2001,3 @@ _0807DDD6: _0807DDE0: pop {r4, r5, r6, pc} .align 2, 0 - - thumb_func_start sub_0807DDE4 -sub_0807DDE4: @ 0x0807DDE4 - push {r4, r5, lr} - adds r4, r0, #0 - adds r0, #0x82 - ldrh r5, [r0] -_0807DDEC: - cmp r5, #0 - beq _0807DE7C - mvns r0, r5 - adds r0, #1 - ands r0, r5 - eors r5, r0 - cmp r0, #8 - beq _0807DE26 - cmp r0, #8 - bhi _0807DE06 - cmp r0, #2 - beq _0807DE10 - b _0807DDEC -_0807DE06: - cmp r0, #0x10 - beq _0807DE44 - cmp r0, #0x20 - beq _0807DE70 - b _0807DDEC -_0807DE10: - ldrb r0, [r4, #8] - cmp r0, #7 - bne _0807DE1E - adds r0, r4, #0 - bl sub_0806ED78 - b _0807DDEC -_0807DE1E: - adds r0, r4, #0 - bl sub_0800445C - b _0807DDEC -_0807DE26: - ldr r0, _0807DE40 @ =gScreenTransition - ldr r0, [r0] - movs r1, #3 - ands r0, r1 - cmp r0, #0 - bne _0807DDEC - ldrb r0, [r4, #0xf] - adds r0, #2 - movs r1, #7 - ands r0, r1 - strb r0, [r4, #0x14] - strb r0, [r4, #0xf] - b _0807DDEC - .align 2, 0 -_0807DE40: .4byte gScreenTransition -_0807DE44: - ldr r0, _0807DE68 @ =gScreenTransition - ldr r0, [r0] - movs r1, #1 - ands r0, r1 - cmp r0, #0 - bne _0807DDEC - bl Random - ldr r2, _0807DE6C @ =gUnk_0811E510 - movs r1, #3 - ands r1, r0 - adds r1, r1, r2 - ldrb r0, [r1] - adds r1, r4, #0 - adds r1, #0x62 - strb r0, [r1] - b _0807DDEC - .align 2, 0 -_0807DE68: .4byte gScreenTransition -_0807DE6C: .4byte gUnk_0811E510 -_0807DE70: - adds r0, r4, #0 - movs r1, #0x80 - lsls r1, r1, #6 - bl sub_08003FC4 - b _0807DDEC -_0807DE7C: - pop {r4, r5, pc} - .align 2, 0 diff --git a/src/code_0807CC3C.c b/src/code_0807CC3C.c index 37d476e2..3f316cc1 100644 --- a/src/code_0807CC3C.c +++ b/src/code_0807CC3C.c @@ -5,10 +5,47 @@ #include "entity.h" extern u8 gUnk_0811E514[]; +extern u8 gUnk_0811E510[]; void sub_0807DF38(void); extern void sub_0801C4A0(u32); +void sub_0807DDE4(Entity* entity) { + u32 temp; + u32 switchVar; + u32 loopVar; + + loopVar = entity->field_0x82.HWORD; + while (loopVar) { + switchVar = (~loopVar + 1) & loopVar; + loopVar = loopVar ^ switchVar; + switch (switchVar) { + case 2: + if (entity->entityType.type == 7) { + sub_0806ED78(entity); + } else { + sub_0800445C(entity); + } + break; + case 8: + if ((gScreenTransition.frameCount & 3) == 0) { + temp = (entity->field_0xf + 2U) & 7; + entity->animationState = temp; + entity->field_0xf = temp; + } + break; + case 0x10: + if ((gScreenTransition.frameCount & 1) == 0) { + entity->spriteOffsetX = gUnk_0811E510[Random() & 3]; + } + break; + case 0x20: + sub_08003FC4(entity, 0x2000); + break; + } + } +} + void sub_0807DE80(Entity* entity) { u32 local1; u16 local2; From 1d68e9db592f6061cae6d44d1c46ab884818c76b Mon Sep 17 00:00:00 2001 From: Henny022p Date: Mon, 15 Feb 2021 14:42:07 +0100 Subject: [PATCH 050/101] matched sub_0807DDAC --- asm/code_0807CC3C.s | 30 ------------------------------ src/code_0807CC3C.c | 25 +++++++++++++++++++++++++ 2 files changed, 25 insertions(+), 30 deletions(-) diff --git a/asm/code_0807CC3C.s b/asm/code_0807CC3C.s index ed92563e..cdc22ea6 100644 --- a/asm/code_0807CC3C.s +++ b/asm/code_0807CC3C.s @@ -1971,33 +1971,3 @@ sub_0807DD94: @ 0x0807DD94 bl sub_0807DE80 pop {r4, pc} .align 2, 0 - - thumb_func_start sub_0807DDAC -sub_0807DDAC: @ 0x0807DDAC - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r6, r1, #0 - adds r4, r5, #0 - adds r4, #0x84 - ldr r1, [r4] - cmp r1, #0 - beq _0807DDE0 - bl ExecuteScriptCommandSet - cmp r6, #0 - beq _0807DDCE - ldr r1, [r4] - adds r0, r5, #0 - bl _call_via_r6 - b _0807DDD6 -_0807DDCE: - ldr r1, [r4] - adds r0, r5, #0 - bl sub_0807DB98 -_0807DDD6: - ldr r0, [r5, #4] - cmp r0, #0 - bne _0807DDE0 - bl DeleteThisEntity -_0807DDE0: - pop {r4, r5, r6, pc} - .align 2, 0 diff --git a/src/code_0807CC3C.c b/src/code_0807CC3C.c index 3f316cc1..e189a2a8 100644 --- a/src/code_0807CC3C.c +++ b/src/code_0807CC3C.c @@ -9,6 +9,31 @@ extern u8 gUnk_0811E510[]; void sub_0807DF38(void); extern void sub_0801C4A0(u32); +extern void sub_0807DB98(Entity*, ScriptExecutionContext*); +extern void _call_via_r6(Entity*, ScriptExecutionContext*); + +/** + * + * @param entity + * @param address this is the fuction called via r6 + */ +void sub_0807DDAC(Entity* entity, u32 address) +{ + ScriptExecutionContext **piVar1; + + piVar1 = (ScriptExecutionContext **)&entity->cutsceneBeh; + if (*piVar1) { + ExecuteScriptCommandSet(entity, *piVar1); + if (address) { + _call_via_r6(entity, *piVar1); + } else { + sub_0807DB98(entity, *piVar1); + } + if (!entity->next) { + DeleteThisEntity(); + } + } +} void sub_0807DDE4(Entity* entity) { u32 temp; From 9dbbd208c9c77754e58370b59dafce237c668da6 Mon Sep 17 00:00:00 2001 From: Henny022p Date: Mon, 15 Feb 2021 14:43:20 +0100 Subject: [PATCH 051/101] matched sub_0807DD94 --- asm/code_0807CC3C.s | 12 ------------ src/code_0807CC3C.c | 17 ++++++++++++----- 2 files changed, 12 insertions(+), 17 deletions(-) diff --git a/asm/code_0807CC3C.s b/asm/code_0807CC3C.s index cdc22ea6..dbffbeb0 100644 --- a/asm/code_0807CC3C.s +++ b/asm/code_0807CC3C.s @@ -1959,15 +1959,3 @@ sub_0807DD80: @ 0x0807DD80 adds r0, r4, #0 bl sub_0807DD64 pop {r4, pc} - - thumb_func_start sub_0807DD94 -sub_0807DD94: @ 0x0807DD94 - push {r4, lr} - adds r4, r0, #0 - bl sub_0807DDAC - adds r0, r4, #0 - bl sub_0807DDE4 - adds r0, r4, #0 - bl sub_0807DE80 - pop {r4, pc} - .align 2, 0 diff --git a/src/code_0807CC3C.c b/src/code_0807CC3C.c index e189a2a8..70211d78 100644 --- a/src/code_0807CC3C.c +++ b/src/code_0807CC3C.c @@ -7,21 +7,28 @@ extern u8 gUnk_0811E514[]; extern u8 gUnk_0811E510[]; -void sub_0807DF38(void); extern void sub_0801C4A0(u32); extern void sub_0807DB98(Entity*, ScriptExecutionContext*); extern void _call_via_r6(Entity*, ScriptExecutionContext*); +void sub_0807DF38(void); +void sub_0807DE80(Entity* entity); + +void sub_0807DD94(Entity* entity, u32 param_2) { + sub_0807DDAC(entity, param_2); + sub_0807DDE4(entity); + sub_0807DE80(entity); +} + /** * * @param entity * @param address this is the fuction called via r6 */ -void sub_0807DDAC(Entity* entity, u32 address) -{ - ScriptExecutionContext **piVar1; +void sub_0807DDAC(Entity* entity, u32 address) { + ScriptExecutionContext** piVar1; - piVar1 = (ScriptExecutionContext **)&entity->cutsceneBeh; + piVar1 = (ScriptExecutionContext**)&entity->cutsceneBeh; if (*piVar1) { ExecuteScriptCommandSet(entity, *piVar1); if (address) { From f6423768b59f7bee7a8e2db2a74ef4820d8be692 Mon Sep 17 00:00:00 2001 From: Henny022p Date: Mon, 15 Feb 2021 14:54:40 +0100 Subject: [PATCH 052/101] matched sub_0807DD80 --- asm/code_0807CC3C.s | 11 ----------- src/code_0807CC3C.c | 8 ++++++++ 2 files changed, 8 insertions(+), 11 deletions(-) diff --git a/asm/code_0807CC3C.s b/asm/code_0807CC3C.s index dbffbeb0..d8835d50 100644 --- a/asm/code_0807CC3C.s +++ b/asm/code_0807CC3C.s @@ -1948,14 +1948,3 @@ sub_0807DD64: @ 0x0807DD64 adds r0, #2 strh r2, [r0] bx lr - - thumb_func_start sub_0807DD80 -sub_0807DD80: @ 0x0807DD80 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x84 - ldr r0, [r0] - bl sub_0807DB88 - adds r0, r4, #0 - bl sub_0807DD64 - pop {r4, pc} diff --git a/src/code_0807CC3C.c b/src/code_0807CC3C.c index 70211d78..319ddb22 100644 --- a/src/code_0807CC3C.c +++ b/src/code_0807CC3C.c @@ -7,6 +7,7 @@ extern u8 gUnk_0811E514[]; extern u8 gUnk_0811E510[]; +extern void sub_0807DB88(Entity*); extern void sub_0801C4A0(u32); extern void sub_0807DB98(Entity*, ScriptExecutionContext*); extern void _call_via_r6(Entity*, ScriptExecutionContext*); @@ -14,6 +15,13 @@ extern void _call_via_r6(Entity*, ScriptExecutionContext*); void sub_0807DF38(void); void sub_0807DE80(Entity* entity); +void sub_0807DD80(Entity *param_1) + +{ + sub_0807DB88(*(Entity**)¶m_1->cutsceneBeh); + sub_0807DD64(param_1); +} + void sub_0807DD94(Entity* entity, u32 param_2) { sub_0807DDAC(entity, param_2); sub_0807DDE4(entity); From 80e361a33e70a7c7c05c1c59e5f5f8d9aca909c5 Mon Sep 17 00:00:00 2001 From: Henny022p Date: Mon, 15 Feb 2021 14:56:41 +0100 Subject: [PATCH 053/101] matched sub_0807DD64 --- asm/code_0807CC3C.s | 17 ----------------- src/code_0807CC3C.c | 13 +++++++++---- 2 files changed, 9 insertions(+), 21 deletions(-) diff --git a/asm/code_0807CC3C.s b/asm/code_0807CC3C.s index d8835d50..924dfa2c 100644 --- a/asm/code_0807CC3C.s +++ b/asm/code_0807CC3C.s @@ -1931,20 +1931,3 @@ sub_0807DD50: @ 0x0807DD50 bl sub_0807DD94 pop {r4, pc} .align 2, 0 - - thumb_func_start sub_0807DD64 -sub_0807DD64: @ 0x0807DD64 - adds r3, r0, #0 - ldrb r0, [r3, #0x14] - movs r2, #0 - strb r0, [r3, #0xf] - adds r1, r3, #0 - adds r1, #0x58 - movs r0, #0xff - strb r0, [r1] - adds r0, r3, #0 - adds r0, #0x80 - strh r2, [r0] - adds r0, #2 - strh r2, [r0] - bx lr diff --git a/src/code_0807CC3C.c b/src/code_0807CC3C.c index 319ddb22..904074d6 100644 --- a/src/code_0807CC3C.c +++ b/src/code_0807CC3C.c @@ -15,11 +15,16 @@ extern void _call_via_r6(Entity*, ScriptExecutionContext*); void sub_0807DF38(void); void sub_0807DE80(Entity* entity); -void sub_0807DD80(Entity *param_1) +void sub_0807DD64(Entity* entity) { + entity->field_0xf = entity->animationState; + entity->animIndex = 0xff; + entity->field_0x80.HWORD = 0; + entity->field_0x82.HWORD = 0; +} -{ - sub_0807DB88(*(Entity**)¶m_1->cutsceneBeh); - sub_0807DD64(param_1); +void sub_0807DD80(Entity* entity) { + sub_0807DB88(*(Entity**)&entity->cutsceneBeh); + sub_0807DD64(entity); } void sub_0807DD94(Entity* entity, u32 param_2) { From 7ce43b9a690a7fd8e85cbef436cab73e33510173 Mon Sep 17 00:00:00 2001 From: Henny022p Date: Mon, 15 Feb 2021 14:59:55 +0100 Subject: [PATCH 054/101] matched sub_0807DD50 --- asm/code_0807CC3C.s | 11 ----------- src/code_0807CC3C.c | 5 +++++ 2 files changed, 5 insertions(+), 11 deletions(-) diff --git a/asm/code_0807CC3C.s b/asm/code_0807CC3C.s index 924dfa2c..8a374b29 100644 --- a/asm/code_0807CC3C.s +++ b/asm/code_0807CC3C.s @@ -1920,14 +1920,3 @@ _0807DD48: pop {r4, r5, r6, r7, pc} .align 2, 0 _0807DD4C: .4byte 0x0000FFDF - - thumb_func_start sub_0807DD50 -sub_0807DD50: @ 0x0807DD50 - push {r4, lr} - adds r4, r0, #0 - bl sub_0807DD64 - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DD94 - pop {r4, pc} - .align 2, 0 diff --git a/src/code_0807CC3C.c b/src/code_0807CC3C.c index 904074d6..d7e48487 100644 --- a/src/code_0807CC3C.c +++ b/src/code_0807CC3C.c @@ -15,6 +15,11 @@ extern void _call_via_r6(Entity*, ScriptExecutionContext*); void sub_0807DF38(void); void sub_0807DE80(Entity* entity); +void sub_0807DD50(Entity* entity) { + sub_0807DD64(entity); + sub_0807DD94(entity, 0); +} + void sub_0807DD64(Entity* entity) { entity->field_0xf = entity->animationState; entity->animIndex = 0xff; From f2855ee21a198af373f5bc162ecd5c8d1b9ee2e6 Mon Sep 17 00:00:00 2001 From: Henny022p Date: Tue, 16 Feb 2021 01:23:57 +0100 Subject: [PATCH 055/101] matched sub_0807DB98 --- asm/code_0807CC3C.s | 253 -------------------------------------------- src/code_0807CC3C.c | 78 ++++++++++++++ 2 files changed, 78 insertions(+), 253 deletions(-) diff --git a/asm/code_0807CC3C.s b/asm/code_0807CC3C.s index 8a374b29..43b15025 100644 --- a/asm/code_0807CC3C.s +++ b/asm/code_0807CC3C.s @@ -1667,256 +1667,3 @@ sub_0807DB88: @ 0x0807DB88 bl _DmaZero str r5, [r4] pop {r4, r5, pc} - - thumb_func_start sub_0807DB98 -sub_0807DB98: @ 0x0807DB98 - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - adds r6, r1, #0 - ldr r0, [r6, #8] - cmp r0, #0 - bne _0807DBA6 - b _0807DD48 -_0807DBA6: - movs r7, #0 - adds r4, r5, #0 - adds r4, #0x82 -_0807DBAC: - ldr r1, [r6, #8] - mvns r0, r1 - adds r2, r0, #1 - ands r2, r1 - eors r1, r2 - str r1, [r6, #8] - movs r0, #0x80 - lsls r0, r0, #2 - cmp r2, r0 - bne _0807DBC2 - b _0807DCC8 -_0807DBC2: - cmp r2, r0 - bhi _0807DC04 - cmp r2, #0x10 - beq _0807DC82 - cmp r2, #0x10 - bhi _0807DBE8 - cmp r2, #2 - beq _0807DC70 - cmp r2, #2 - bhi _0807DBDC - cmp r2, #1 - beq _0807DC68 - b _0807DD40 -_0807DBDC: - cmp r2, #4 - bne _0807DBE2 - b _0807DD40 -_0807DBE2: - cmp r2, #8 - beq _0807DC7A - b _0807DD40 -_0807DBE8: - cmp r2, #0x40 - beq _0807DC9E - cmp r2, #0x40 - bhi _0807DBF6 - cmp r2, #0x20 - beq _0807DC90 - b _0807DD40 -_0807DBF6: - cmp r2, #0x80 - beq _0807DCA8 - movs r0, #0x80 - lsls r0, r0, #1 - cmp r2, r0 - beq _0807DCBA - b _0807DD40 -_0807DC04: - movs r0, #0x80 - lsls r0, r0, #7 - cmp r2, r0 - beq _0807DCFC - cmp r2, r0 - bhi _0807DC38 - movs r0, #0x80 - lsls r0, r0, #4 - cmp r2, r0 - beq _0807DCDE - cmp r2, r0 - bhi _0807DC26 - movs r0, #0x80 - lsls r0, r0, #3 - cmp r2, r0 - beq _0807DCD6 - b _0807DD40 -_0807DC26: - movs r0, #0x80 - lsls r0, r0, #5 - cmp r2, r0 - beq _0807DCE8 - movs r0, #0x80 - lsls r0, r0, #6 - cmp r2, r0 - beq _0807DCF4 - b _0807DD40 -_0807DC38: - movs r0, #0x80 - lsls r0, r0, #0xa - cmp r2, r0 - beq _0807DD14 - cmp r2, r0 - bhi _0807DC56 - movs r0, #0x80 - lsls r0, r0, #8 - cmp r2, r0 - beq _0807DD04 - movs r0, #0x80 - lsls r0, r0, #9 - cmp r2, r0 - beq _0807DD0C - b _0807DD40 -_0807DC56: - movs r0, #0x80 - lsls r0, r0, #0xb - cmp r2, r0 - beq _0807DD2E - movs r0, #0x80 - lsls r0, r0, #0xc - cmp r2, r0 - beq _0807DD36 - b _0807DD40 -_0807DC68: - adds r0, r5, #0 - adds r0, #0x80 - strh r7, [r0] - b _0807DD40 -_0807DC70: - adds r1, r5, #0 - adds r1, #0x80 - movs r0, #4 - strh r0, [r1] - b _0807DD40 -_0807DC7A: - movs r0, #0xc0 - lsls r0, r0, #9 - str r0, [r5, #0x20] - b _0807DD40 -_0807DC82: - adds r0, r5, #0 - movs r1, #8 - movs r2, #0x18 - rsbs r2, r2, #0 - bl CreateSpeechBubbleExclamationMark - b _0807DD40 -_0807DC90: - adds r0, r5, #0 - movs r1, #8 - movs r2, #0x18 - rsbs r2, r2, #0 - bl CreateSpeechBubbleQuestionMark - b _0807DD40 -_0807DC9E: - adds r0, r6, #0 - bl sub_0807DAC4 - bl DeleteThisEntity -_0807DCA8: - ldrb r0, [r5, #0x18] - movs r2, #4 - rsbs r2, r2, #0 - adds r1, r2, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r5, #0x18] - b _0807DD40 -_0807DCBA: - ldrb r0, [r5, #0x18] - movs r3, #4 - rsbs r3, r3, #0 - adds r1, r3, #0 - ands r0, r1 - strb r0, [r5, #0x18] - b _0807DD40 -_0807DCC8: - adds r0, r5, #0 - adds r0, #0x63 - strb r7, [r0] - subs r0, #1 - strb r7, [r0] - strh r7, [r4] - b _0807DD40 -_0807DCD6: - ldrh r0, [r4] - movs r1, #2 - orrs r0, r1 - b _0807DD3E -_0807DCDE: - ldrh r0, [r4] - ldr r2, _0807DCE4 @ =0x0000FFFD - b _0807DD3A - .align 2, 0 -_0807DCE4: .4byte 0x0000FFFD -_0807DCE8: - ldrh r0, [r4] - ldr r3, _0807DCF0 @ =0x0000FFFE - adds r1, r3, #0 - b _0807DD3C - .align 2, 0 -_0807DCF0: .4byte 0x0000FFFE -_0807DCF4: - ldrh r0, [r4] - movs r1, #1 - orrs r0, r1 - b _0807DD3E -_0807DCFC: - ldrh r0, [r4] - movs r1, #8 - orrs r0, r1 - b _0807DD3E -_0807DD04: - ldrh r0, [r4] - movs r1, #4 - eors r0, r1 - b _0807DD3E -_0807DD0C: - ldrh r0, [r4] - movs r1, #0x10 - eors r0, r1 - b _0807DD3E -_0807DD14: - ldrb r2, [r5, #0x18] - lsls r0, r2, #0x19 - lsrs r0, r0, #0x1f - movs r1, #1 - eors r0, r1 - lsls r0, r0, #6 - movs r3, #0x41 - rsbs r3, r3, #0 - adds r1, r3, #0 - ands r2, r1 - orrs r2, r0 - strb r2, [r5, #0x18] - b _0807DD40 -_0807DD2E: - ldrh r0, [r4] - movs r1, #0x20 - orrs r0, r1 - b _0807DD3E -_0807DD36: - ldrh r0, [r4] - ldr r2, _0807DD4C @ =0x0000FFDF -_0807DD3A: - adds r1, r2, #0 -_0807DD3C: - ands r0, r1 -_0807DD3E: - strh r0, [r4] -_0807DD40: - ldr r0, [r6, #8] - cmp r0, #0 - beq _0807DD48 - b _0807DBAC -_0807DD48: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0807DD4C: .4byte 0x0000FFDF diff --git a/src/code_0807CC3C.c b/src/code_0807CC3C.c index d7e48487..5cef7e15 100644 --- a/src/code_0807CC3C.c +++ b/src/code_0807CC3C.c @@ -7,11 +7,89 @@ extern u8 gUnk_0811E514[]; extern u8 gUnk_0811E510[]; +extern void CreateSpeechBubbleExclamationMark(Entity*, u32, u32); +extern void CreateSpeechBubbleQuestionMark(Entity*, u32, u32); +extern void sub_0807DAC4(ScriptExecutionContext*); +extern void DeleteThisEntity(void); extern void sub_0807DB88(Entity*); extern void sub_0801C4A0(u32); extern void sub_0807DB98(Entity*, ScriptExecutionContext*); extern void _call_via_r6(Entity*, ScriptExecutionContext*); +void sub_0807DB98(Entity* entity, ScriptExecutionContext* context) { + u32 switchVar; + + while (context->unk_08) { + switchVar = (~context->unk_08 + 1) & context->unk_08; + context->unk_08 ^= switchVar; + switch (switchVar) { + case 1: + entity->field_0x80.HWORD = 0; + break; + case 2: + entity->field_0x80.HWORD = 4; + break; + case 4: + break; + case 8: + entity->field_0x20 = 0x18000; + break; + case 0x10: + CreateSpeechBubbleExclamationMark(entity, 8, -0x18); + break; + case 0x20: + CreateSpeechBubbleQuestionMark(entity, 8, -0x18); + break; + case 0x40: + sub_0807DAC4(context); + DeleteThisEntity(); + case 0x80: + entity->spriteSettings.b.draw = 1; + break; + case 0x100: + entity->spriteSettings.b.draw = 0; + break; + case 0x200: + entity->spriteOffsetY = 0; + entity->spriteOffsetX = 0; + entity->field_0x82.HWORD = 0; + break; + case 0x400: + entity->field_0x82.HWORD |= 2; + break; + case 0x800: + entity->field_0x82.HWORD &= 0xfffd; + break; + case 0x1000: + entity->field_0x82.HWORD &= 0xfffe; + break; + case 0x2000: + entity->field_0x82.HWORD |= 1; + break; + case 0x4000: + entity->field_0x82.HWORD |= 8; + break; + case 0x8000: + entity->field_0x82.HWORD ^= 4; + break; + case 0x10000: + entity->field_0x82.HWORD ^= 0x10; + break; + case 0x20000: + entity->spriteSettings.b.flipX ^= 1; + break; + case 0x40000: + entity->field_0x82.HWORD |= 0x20; + break; + case 0x80000: + entity->field_0x82.HWORD &= 0xffdf; + break; + default: + break; + } + } +} + void sub_0807DF38(void); void sub_0807DE80(Entity* entity); From 2948cf8d07bf155ec4a6554e676e05d72df058fb Mon Sep 17 00:00:00 2001 From: Henny022p Date: Tue, 16 Feb 2021 01:34:52 +0100 Subject: [PATCH 056/101] matched sub_0807DB88 --- asm/code_0807CC3C.s | 9 --------- src/code_0807CC3C.c | 10 +++++++--- 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/asm/code_0807CC3C.s b/asm/code_0807CC3C.s index 43b15025..5715aa7b 100644 --- a/asm/code_0807CC3C.s +++ b/asm/code_0807CC3C.s @@ -1658,12 +1658,3 @@ _0807DB84: adds r0, r2, #0 pop {r4, r5, pc} - thumb_func_start sub_0807DB88 -sub_0807DB88: @ 0x0807DB88 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - movs r1, #0x24 - bl _DmaZero - str r5, [r4] - pop {r4, r5, pc} diff --git a/src/code_0807CC3C.c b/src/code_0807CC3C.c index 5cef7e15..28cde049 100644 --- a/src/code_0807CC3C.c +++ b/src/code_0807CC3C.c @@ -11,11 +11,15 @@ extern void CreateSpeechBubbleExclamationMark(Entity*, u32, u32); extern void CreateSpeechBubbleQuestionMark(Entity*, u32, u32); extern void sub_0807DAC4(ScriptExecutionContext*); extern void DeleteThisEntity(void); -extern void sub_0807DB88(Entity*); extern void sub_0801C4A0(u32); extern void sub_0807DB98(Entity*, ScriptExecutionContext*); extern void _call_via_r6(Entity*, ScriptExecutionContext*); +void sub_0807DB88(ScriptExecutionContext* context, u32 unk1) { + _DmaZero(context, 0x24); + context->unk_00 = (u16*)unk1; +} + void sub_0807DB98(Entity* entity, ScriptExecutionContext* context) { u32 switchVar; @@ -105,8 +109,8 @@ void sub_0807DD64(Entity* entity) { entity->field_0x82.HWORD = 0; } -void sub_0807DD80(Entity* entity) { - sub_0807DB88(*(Entity**)&entity->cutsceneBeh); +void sub_0807DD80(Entity* entity, u32 unk1) { + sub_0807DB88(*(ScriptExecutionContext**)&entity->cutsceneBeh, unk1); sub_0807DD64(entity); } From a41cedf985af8e0791ca1dc27246ec787947073d Mon Sep 17 00:00:00 2001 From: Henny022p Date: Tue, 16 Feb 2021 01:52:26 +0100 Subject: [PATCH 057/101] matched sub_0807DB68 --- asm/code_0807CC3C.s | 19 ------------------- src/code_0807CC3C.c | 14 ++++++++++++++ 2 files changed, 14 insertions(+), 19 deletions(-) diff --git a/asm/code_0807CC3C.s b/asm/code_0807CC3C.s index 5715aa7b..593374d7 100644 --- a/asm/code_0807CC3C.s +++ b/asm/code_0807CC3C.s @@ -1639,22 +1639,3 @@ _0807DB5C: .4byte gUnk_02022750 _0807DB60: .4byte gPlayerEntity _0807DB64: .4byte gPlayerState - thumb_func_start sub_0807DB68 -sub_0807DB68: @ 0x0807DB68 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - bl sub_0807DAA0 - adds r2, r0, #0 - cmp r2, #0 - beq _0807DB84 - ldrb r1, [r4, #0x10] - movs r0, #2 - orrs r0, r1 - strb r0, [r4, #0x10] - str r2, [r4, #0x3c] - str r5, [r2] -_0807DB84: - adds r0, r2, #0 - pop {r4, r5, pc} - diff --git a/src/code_0807CC3C.c b/src/code_0807CC3C.c index 28cde049..4309cca4 100644 --- a/src/code_0807CC3C.c +++ b/src/code_0807CC3C.c @@ -15,6 +15,20 @@ extern void sub_0801C4A0(u32); extern void sub_0807DB98(Entity*, ScriptExecutionContext*); extern void _call_via_r6(Entity*, ScriptExecutionContext*); +extern u32* sub_0807DAA0(); + +u32* sub_0807DB68(Entity* entity, u32 unk1) { + u32* puVar1; + + puVar1 = sub_0807DAA0(); + if (puVar1) { + entity->flags |= 2; + *(u32**)&entity->field_0x3c = puVar1; + *puVar1 = unk1; + } + return puVar1; +} + void sub_0807DB88(ScriptExecutionContext* context, u32 unk1) { _DmaZero(context, 0x24); context->unk_00 = (u16*)unk1; From 945a3fe944239cad64ca7b38cf018efbbedbb616 Mon Sep 17 00:00:00 2001 From: Henny022p Date: Tue, 16 Feb 2021 02:24:26 +0100 Subject: [PATCH 058/101] matched StartPlayerScript --- asm/code_0807CC3C.s | 29 ----------------------------- src/code_0807CC3C.c | 15 +++++++++++++++ 2 files changed, 15 insertions(+), 29 deletions(-) diff --git a/asm/code_0807CC3C.s b/asm/code_0807CC3C.s index 593374d7..14036c1a 100644 --- a/asm/code_0807CC3C.s +++ b/asm/code_0807CC3C.s @@ -1610,32 +1610,3 @@ _0807DB28: pop {r4, r5, pc} .align 2, 0 - thumb_func_start StartPlayerScript -StartPlayerScript: @ 0x0807DB2C - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, _0807DB5C @ =gUnk_02022750 - adds r0, r4, #0 - movs r1, #0x24 - bl _DmaZero - str r5, [r4] - ldr r0, _0807DB60 @ =gPlayerEntity - adds r0, #0x84 - str r4, [r0] - ldr r2, _0807DB64 @ =gPlayerState - movs r1, #0 - movs r0, #0x1c - strb r0, [r2, #0xc] - adds r0, r2, #0 - adds r0, #0x3a - strb r1, [r0] - subs r0, #1 - strb r1, [r0] - subs r0, #1 - strb r1, [r0] - pop {r4, r5, pc} - .align 2, 0 -_0807DB5C: .4byte gUnk_02022750 -_0807DB60: .4byte gPlayerEntity -_0807DB64: .4byte gPlayerState - diff --git a/src/code_0807CC3C.c b/src/code_0807CC3C.c index 4309cca4..87c4775c 100644 --- a/src/code_0807CC3C.c +++ b/src/code_0807CC3C.c @@ -6,6 +6,8 @@ extern u8 gUnk_0811E514[]; extern u8 gUnk_0811E510[]; +// the type is just a guess based on size and teh fact that these are around a lot in this file +extern ScriptExecutionContext gUnk_02022750; extern void CreateSpeechBubbleExclamationMark(Entity*, u32, u32); extern void CreateSpeechBubbleQuestionMark(Entity*, u32, u32); @@ -17,6 +19,19 @@ extern void _call_via_r6(Entity*, ScriptExecutionContext*); extern u32* sub_0807DAA0(); +void StartPlayerScript(u32 unk1) { + Entity* player; + + _DmaZero(&gUnk_02022750, 0x24); + gUnk_02022750.unk_00 = (u16*)unk1; + player = &gPlayerEntity; + *(ScriptExecutionContext**)&player->cutsceneBeh = &gUnk_02022750; + gPlayerState.playerAction = 0x1c; + gPlayerState.field_0x3a = 0; + gPlayerState.field_0x39 = 0; + gPlayerState.field_0x38 = 0; +} + u32* sub_0807DB68(Entity* entity, u32 unk1) { u32* puVar1; From 363efaaf86418ce583b46ae51e0d91d707b002d6 Mon Sep 17 00:00:00 2001 From: Henny022p Date: Tue, 16 Feb 2021 02:30:47 +0100 Subject: [PATCH 059/101] matched UnloadCutsceneData --- asm/code_0807CC3C.s | 21 --------------------- src/code_0807CC3C.c | 8 ++++++++ 2 files changed, 8 insertions(+), 21 deletions(-) diff --git a/asm/code_0807CC3C.s b/asm/code_0807CC3C.s index 14036c1a..7e6930bc 100644 --- a/asm/code_0807CC3C.s +++ b/asm/code_0807CC3C.s @@ -1589,24 +1589,3 @@ sub_0807DAF0: @ 0x0807DAF0 bl sub_0807DB88 pop {r4, pc} - thumb_func_start UnloadCutsceneData -UnloadCutsceneData: @ 0x0807DB08 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0x10] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _0807DB28 - movs r0, #0xfd - ands r0, r1 - movs r5, #0 - strb r0, [r4, #0x10] - adds r4, #0x84 - ldr r0, [r4] - bl sub_0807DAC4 - str r5, [r4] -_0807DB28: - pop {r4, r5, pc} - .align 2, 0 - diff --git a/src/code_0807CC3C.c b/src/code_0807CC3C.c index 87c4775c..54ed3e38 100644 --- a/src/code_0807CC3C.c +++ b/src/code_0807CC3C.c @@ -19,6 +19,14 @@ extern void _call_via_r6(Entity*, ScriptExecutionContext*); extern u32* sub_0807DAA0(); +void UnloadCutsceneData(Entity* entity) { + if ((entity->flags & 2)) { + entity->flags = entity->flags & 0xfd; + sub_0807DAC4(*(ScriptExecutionContext**)&entity->cutsceneBeh); + *(ScriptExecutionContext**)&entity->cutsceneBeh = NULL; + } +} + void StartPlayerScript(u32 unk1) { Entity* player; From 38691d8e47e8a82e81bda6f2bcad1220a4870285 Mon Sep 17 00:00:00 2001 From: Henny022p Date: Tue, 16 Feb 2021 02:33:49 +0100 Subject: [PATCH 060/101] matched sub_0807DAF0 --- asm/code_0807CC3C.s | 14 -------------- src/code_0807CC3C.c | 7 +++++++ 2 files changed, 7 insertions(+), 14 deletions(-) diff --git a/asm/code_0807CC3C.s b/asm/code_0807CC3C.s index 7e6930bc..aa61f8d0 100644 --- a/asm/code_0807CC3C.s +++ b/asm/code_0807CC3C.s @@ -1575,17 +1575,3 @@ _0807DAEA: pop {r4, r5, r6, pc} .align 2, 0 - thumb_func_start sub_0807DAF0 -sub_0807DAF0: @ 0x0807DAF0 - push {r4, lr} - ldrb r4, [r0, #0x10] - movs r3, #2 - orrs r3, r4 - strb r3, [r0, #0x10] - adds r0, #0x84 - str r1, [r0] - adds r0, r1, #0 - adds r1, r2, #0 - bl sub_0807DB88 - pop {r4, pc} - diff --git a/src/code_0807CC3C.c b/src/code_0807CC3C.c index 54ed3e38..5765f9cf 100644 --- a/src/code_0807CC3C.c +++ b/src/code_0807CC3C.c @@ -17,8 +17,15 @@ extern void sub_0801C4A0(u32); extern void sub_0807DB98(Entity*, ScriptExecutionContext*); extern void _call_via_r6(Entity*, ScriptExecutionContext*); +void sub_0807DB88(ScriptExecutionContext* context, u32 unk1); extern u32* sub_0807DAA0(); +void sub_0807DAF0(Entity* entity, ScriptExecutionContext* context, u32 unk1) { + entity->flags = entity->flags | 2; + *(ScriptExecutionContext**)&entity->cutsceneBeh = context; + sub_0807DB88(context, unk1); +} + void UnloadCutsceneData(Entity* entity) { if ((entity->flags & 2)) { entity->flags = entity->flags & 0xfd; From 7dffe8147d1178638d339cd825251b311967afb0 Mon Sep 17 00:00:00 2001 From: Henny022p Date: Tue, 16 Feb 2021 02:39:27 +0100 Subject: [PATCH 061/101] matched StartCutscene --- asm/code_0807CC3C.s | 18 ------------------ src/code_0807CC3C.c | 11 +++++++++++ 2 files changed, 11 insertions(+), 18 deletions(-) diff --git a/asm/code_0807CC3C.s b/asm/code_0807CC3C.s index aa61f8d0..21d02984 100644 --- a/asm/code_0807CC3C.s +++ b/asm/code_0807CC3C.s @@ -1557,21 +1557,3 @@ sub_0807DAC4: @ 0x0807DAC4 pop {pc} .align 2, 0 - thumb_func_start StartCutscene -StartCutscene: @ 0x0807DAD0 - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r6, r1, #0 - bl sub_0807DAA0 - adds r4, r0, #0 - cmp r4, #0 - beq _0807DAEA - adds r0, r5, #0 - adds r1, r4, #0 - adds r2, r6, #0 - bl sub_0807DAF0 -_0807DAEA: - adds r0, r4, #0 - pop {r4, r5, r6, pc} - .align 2, 0 - diff --git a/src/code_0807CC3C.c b/src/code_0807CC3C.c index 5765f9cf..a9b57fe3 100644 --- a/src/code_0807CC3C.c +++ b/src/code_0807CC3C.c @@ -18,8 +18,19 @@ extern void sub_0807DB98(Entity*, ScriptExecutionContext*); extern void _call_via_r6(Entity*, ScriptExecutionContext*); void sub_0807DB88(ScriptExecutionContext* context, u32 unk1); +void sub_0807DAF0(Entity* entity, ScriptExecutionContext* context, u32 unk1); extern u32* sub_0807DAA0(); +u32* StartCutscene(Entity* param_1, u8* param_2) { + ScriptExecutionContext* puVar1; + + puVar1 = (ScriptExecutionContext*)sub_0807DAA0(); + if (puVar1) { + sub_0807DAF0(param_1, puVar1, (u32)param_2); + } + return (u32*)puVar1; +} + void sub_0807DAF0(Entity* entity, ScriptExecutionContext* context, u32 unk1) { entity->flags = entity->flags | 2; *(ScriptExecutionContext**)&entity->cutsceneBeh = context; From be9c1b41314003a413697467256b437e31998216 Mon Sep 17 00:00:00 2001 From: Henny022p Date: Tue, 16 Feb 2021 02:40:55 +0100 Subject: [PATCH 062/101] matched sub_0807DAC4 --- asm/code_0807CC3C.s | 8 -------- src/code_0807CC3C.c | 5 ++++- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/asm/code_0807CC3C.s b/asm/code_0807CC3C.s index 21d02984..1cc3b632 100644 --- a/asm/code_0807CC3C.s +++ b/asm/code_0807CC3C.s @@ -1549,11 +1549,3 @@ _0807DAC0: _0807DAC2: pop {pc} - thumb_func_start sub_0807DAC4 -sub_0807DAC4: @ 0x0807DAC4 - push {lr} - movs r1, #0x24 - bl _DmaZero - pop {pc} - .align 2, 0 - diff --git a/src/code_0807CC3C.c b/src/code_0807CC3C.c index a9b57fe3..f84d40d1 100644 --- a/src/code_0807CC3C.c +++ b/src/code_0807CC3C.c @@ -11,7 +11,6 @@ extern ScriptExecutionContext gUnk_02022750; extern void CreateSpeechBubbleExclamationMark(Entity*, u32, u32); extern void CreateSpeechBubbleQuestionMark(Entity*, u32, u32); -extern void sub_0807DAC4(ScriptExecutionContext*); extern void DeleteThisEntity(void); extern void sub_0801C4A0(u32); extern void sub_0807DB98(Entity*, ScriptExecutionContext*); @@ -21,6 +20,10 @@ void sub_0807DB88(ScriptExecutionContext* context, u32 unk1); void sub_0807DAF0(Entity* entity, ScriptExecutionContext* context, u32 unk1); extern u32* sub_0807DAA0(); +void sub_0807DAC4(ScriptExecutionContext* context) { + _DmaZero(context, 0x24); +} + u32* StartCutscene(Entity* param_1, u8* param_2) { ScriptExecutionContext* puVar1; From ca6aece1f420a1ff6c5e4de1ad55e366457cd8ca Mon Sep 17 00:00:00 2001 From: Henny022p Date: Tue, 16 Feb 2021 02:51:17 +0100 Subject: [PATCH 063/101] matched sub_0807DAA0 --- asm/code_0807CC3C.s | 23 ----------------------- src/code_0807CC3C.c | 18 ++++++++++++++++-- 2 files changed, 16 insertions(+), 25 deletions(-) diff --git a/asm/code_0807CC3C.s b/asm/code_0807CC3C.s index 1cc3b632..a100f9de 100644 --- a/asm/code_0807CC3C.s +++ b/asm/code_0807CC3C.s @@ -1526,26 +1526,3 @@ _0807DA94: .4byte gUnk_02033280 _0807DA98: .4byte gUnk_02036570 _0807DA9C: .4byte gUnk_02022750 - thumb_func_start sub_0807DAA0 -sub_0807DAA0: @ 0x0807DAA0 - push {lr} - ldr r1, _0807DABC @ =gUnk_02036570 - movs r0, #0x90 - lsls r0, r0, #3 - adds r2, r1, r0 -_0807DAAA: - ldr r0, [r1] - cmp r0, #0 - beq _0807DAC0 - adds r1, #0x24 - cmp r1, r2 - blo _0807DAAA - movs r0, #0 - b _0807DAC2 - .align 2, 0 -_0807DABC: .4byte gUnk_02036570 -_0807DAC0: - adds r0, r1, #0 -_0807DAC2: - pop {pc} - diff --git a/src/code_0807CC3C.c b/src/code_0807CC3C.c index f84d40d1..cc65de3d 100644 --- a/src/code_0807CC3C.c +++ b/src/code_0807CC3C.c @@ -6,8 +6,10 @@ extern u8 gUnk_0811E514[]; extern u8 gUnk_0811E510[]; -// the type is just a guess based on size and teh fact that these are around a lot in this file +// the type is just a guess based on size and the fact that these are around a lot in this file extern ScriptExecutionContext gUnk_02022750; +// might be ScriptExecutionContext[0x20] +extern u32 gUnk_02036570; extern void CreateSpeechBubbleExclamationMark(Entity*, u32, u32); extern void CreateSpeechBubbleQuestionMark(Entity*, u32, u32); @@ -18,7 +20,19 @@ extern void _call_via_r6(Entity*, ScriptExecutionContext*); void sub_0807DB88(ScriptExecutionContext* context, u32 unk1); void sub_0807DAF0(Entity* entity, ScriptExecutionContext* context, u32 unk1); -extern u32* sub_0807DAA0(); + +u32* sub_0807DAA0(void) { + u32* puVar1; + + puVar1 = &gUnk_02036570; + do { + if (*puVar1 == 0) { + return puVar1; + } + puVar1 = puVar1 + 9; + } while (puVar1 < &gUnk_02036570 + 0x480 / 4); + return NULL; +} void sub_0807DAC4(ScriptExecutionContext* context) { _DmaZero(context, 0x24); From 923ebb1a5009479ce11ddd95ba007a28c6c14e0f Mon Sep 17 00:00:00 2001 From: Henny022p Date: Tue, 16 Feb 2021 03:00:38 +0100 Subject: [PATCH 064/101] matched sub_0807DA70 --- asm/code_0807CC3C.s | 22 ---------------------- src/code_0807CC3C.c | 7 +++++++ 2 files changed, 7 insertions(+), 22 deletions(-) diff --git a/asm/code_0807CC3C.s b/asm/code_0807CC3C.s index a100f9de..ec76f03a 100644 --- a/asm/code_0807CC3C.s +++ b/asm/code_0807CC3C.s @@ -1504,25 +1504,3 @@ _0807DA62: pop {r4, r5, r6, r7, pc} .align 2, 0 - thumb_func_start sub_0807DA70 -sub_0807DA70: @ 0x0807DA70 - push {r4, lr} - ldr r4, _0807DA94 @ =gUnk_02033280 - adds r0, r4, #0 - movs r1, #0xc - bl _DmaZero - ldr r0, _0807DA98 @ =gUnk_02036570 - movs r1, #0x90 - lsls r1, r1, #3 - bl _DmaZero - ldr r0, _0807DA9C @ =gUnk_02022750 - movs r1, #0x24 - bl _DmaZero - movs r0, #8 - strb r0, [r4, #8] - pop {r4, pc} - .align 2, 0 -_0807DA94: .4byte gUnk_02033280 -_0807DA98: .4byte gUnk_02036570 -_0807DA9C: .4byte gUnk_02022750 - diff --git a/src/code_0807CC3C.c b/src/code_0807CC3C.c index cc65de3d..23b59b3c 100644 --- a/src/code_0807CC3C.c +++ b/src/code_0807CC3C.c @@ -21,6 +21,13 @@ extern void _call_via_r6(Entity*, ScriptExecutionContext*); void sub_0807DB88(ScriptExecutionContext* context, u32 unk1); void sub_0807DAF0(Entity* entity, ScriptExecutionContext* context, u32 unk1); +void sub_0807DA70(void) { + _DmaZero(&gUnk_02033280, 0xc); + _DmaZero(&gUnk_02036570, 0x480); + _DmaZero(&gUnk_02022750, 0x24); + gUnk_02033280.unk_08 = 8; +} + u32* sub_0807DAA0(void) { u32* puVar1; From ad68925eaeac3918a66f30ea26f7c7192d70d23c Mon Sep 17 00:00:00 2001 From: Henny022p Date: Tue, 16 Feb 2021 08:25:28 +0100 Subject: [PATCH 065/101] non match sub_0807D6D8 --- asm/code_0807CC3C.s | 478 ----------------- .../code_0807CC3C/sub_0807D6D8.inc | 485 ++++++++++++++++++ src/code_0807CC3C.c | 5 + 3 files changed, 490 insertions(+), 478 deletions(-) create mode 100644 asm/non_matching/code_0807CC3C/sub_0807D6D8.inc diff --git a/asm/code_0807CC3C.s b/asm/code_0807CC3C.s index ec76f03a..b144a7a3 100644 --- a/asm/code_0807CC3C.s +++ b/asm/code_0807CC3C.s @@ -1026,481 +1026,3 @@ _0807D6CC: mov sl, r5 pop {r4, r5, r6, r7, pc} - thumb_func_start sub_0807D6D8 -sub_0807D6D8: @ 0x0807D6D8 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #0x44 - str r0, [sp] - str r1, [sp, #4] - ldr r5, _0807D8BC @ =gRoomControls - ldrh r0, [r5, #0x18] - cmp r0, #0 - bne _0807D6F2 - b _0807DA62 -_0807D6F2: - ldrh r0, [r5, #0x1a] - cmp r0, #0 - bne _0807D6FA - b _0807DA62 -_0807D6FA: - movs r1, #0xa - ldrsh r0, [r5, r1] - ldrh r1, [r5, #6] - subs r0, r0, r1 - movs r4, #0x10 - rsbs r4, r4, #0 - ands r0, r4 - str r0, [sp, #0x24] - ldr r3, [r5, #0x30] - movs r2, #0x2e - ldrsh r0, [r3, r2] - subs r0, r0, r1 - movs r2, #8 - rsbs r2, r2, #0 - ands r0, r2 - str r0, [sp, #0x14] - ldr r1, [sp, #0x24] - subs r0, r0, r1 - str r0, [sp, #0x1c] - movs r1, #0xc - ldrsh r0, [r5, r1] - ldrh r1, [r5, #8] - subs r0, r0, r1 - ands r0, r4 - str r0, [sp, #0x28] - movs r4, #0x32 - ldrsh r0, [r3, r4] - subs r0, r0, r1 - ands r0, r2 - str r0, [sp, #0x18] - ldr r1, [sp, #0x28] - subs r0, r0, r1 - str r0, [sp, #0x20] - ldrh r0, [r5, #0x18] - adds r2, r0, #0 - muls r2, r0, r2 - str r2, [sp, #0xc] - ldrh r3, [r5, #0x1a] - str r3, [sp, #8] - adds r4, r3, #0 - muls r4, r3, r4 - str r4, [sp, #0x10] - adds r4, r0, #0 - movs r0, #0 - mov sb, r0 - lsls r0, r4, #1 - rsbs r0, r0, #0 - adds r0, #1 - ldr r1, [sp, #0x10] - muls r0, r1, r0 - lsls r6, r2, #1 - adds r7, r0, r6 - adds r2, r4, #0 - muls r2, r1, r2 - mov r8, r2 - mov r0, r8 - ldr r1, [sp, #0xc] - bl __divsi3 - mov ip, r0 - cmp sb, ip - ble _0807D778 - b _0807D8D8 -_0807D778: - mov sl, r5 - ldr r3, [sp, #0xc] - adds r0, r6, r3 - lsls r0, r0, #1 - str r0, [sp, #0x3c] - mov r0, r8 - str r0, [sp, #0x40] - ldr r1, [sp, #0x14] - subs r1, r1, r4 - mov r8, r1 - ldr r2, [sp, #0x14] - adds r6, r4, r2 - movs r0, #0x80 - lsls r0, r0, #1 - ldr r3, [sp, #0x24] - adds r0, r3, r0 - str r0, [sp, #0x2c] -_0807D79A: - ldr r0, [sp, #0x28] - adds r0, #0xb0 - ldr r1, [sp, #0x18] - add r1, sb - cmp r0, r1 - ble _0807D812 - ldr r0, [sp, #0x20] - add r0, sb - asrs r0, r0, #3 - movs r5, #0x1f - ands r0, r5 - cmp r0, #0x1f - beq _0807D812 - lsls r0, r0, #6 - ldr r3, [sp, #4] - adds r2, r3, r0 - asrs r0, r1, #3 - lsls r0, r0, #8 - ldr r1, [sp] - adds r3, r1, r0 - ldr r0, [sp, #0x2c] - cmp r0, r6 - ble _0807D7EA - ldr r0, [sp, #0x1c] - adds r1, r0, r4 - asrs r1, r1, #3 - ands r1, r5 - lsls r1, r1, #1 - adds r1, r1, r2 - asrs r0, r6, #3 - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r0, [r0] - strh r0, [r1] - mov r1, sl - ldrh r0, [r1, #0x1c] - movs r1, #1 - orrs r0, r1 - mov r1, sl - strh r0, [r1, #0x1c] -_0807D7EA: - ldr r0, [sp, #0x24] - cmp r0, r8 - bge _0807D812 - ldr r0, [sp, #0x1c] - subs r1, r0, r4 - asrs r1, r1, #3 - ands r1, r5 - lsls r1, r1, #1 - adds r1, r1, r2 - mov r2, r8 - asrs r0, r2, #3 - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r0, [r0] - strh r0, [r1] - mov r3, sl - ldrh r0, [r3, #0x1c] - movs r1, #2 - orrs r0, r1 - strh r0, [r3, #0x1c] -_0807D812: - ldr r0, [sp, #0x18] - mov r2, sb - subs r1, r0, r2 - adds r0, r1, #0 - adds r0, #8 - ldr r3, [sp, #0x28] - cmp r3, r0 - bge _0807D88E - ldr r3, [sp, #0x20] - subs r0, r3, r2 - asrs r0, r0, #3 - movs r5, #0x1f - ands r0, r5 - cmp r0, #0x1f - beq _0807D88E - lsls r0, r0, #6 - ldr r3, [sp, #4] - adds r2, r3, r0 - asrs r0, r1, #3 - lsls r0, r0, #8 - ldr r1, [sp] - adds r3, r1, r0 - ldr r0, [sp, #0x2c] - cmp r0, r6 - ble _0807D866 - ldr r0, [sp, #0x1c] - adds r1, r0, r4 - asrs r1, r1, #3 - ands r1, r5 - lsls r1, r1, #1 - adds r1, r1, r2 - asrs r0, r6, #3 - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r0, [r0] - strh r0, [r1] - mov r1, sl - ldrh r0, [r1, #0x1c] - movs r1, #4 - orrs r0, r1 - mov r1, sl - strh r0, [r1, #0x1c] -_0807D866: - ldr r0, [sp, #0x24] - cmp r0, r8 - bge _0807D88E - ldr r0, [sp, #0x1c] - subs r1, r0, r4 - asrs r1, r1, #3 - ands r1, r5 - lsls r1, r1, #1 - adds r1, r1, r2 - mov r2, r8 - asrs r0, r2, #3 - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r0, [r0] - strh r0, [r1] - mov r3, sl - ldrh r0, [r3, #0x1c] - movs r1, #8 - orrs r0, r1 - strh r0, [r3, #0x1c] -_0807D88E: - cmp r7, #0 - ble _0807D8C0 - lsls r0, r4, #2 - rsbs r0, r0, #0 - adds r0, #4 - ldr r1, [sp, #0x10] - muls r0, r1, r0 - ldr r2, [sp, #0x3c] - adds r0, r0, r2 - adds r7, r7, r0 - ldr r3, [sp, #0x40] - subs r3, r3, r1 - str r3, [sp, #0x40] - movs r0, #1 - add r8, r0 - subs r6, #1 - subs r4, #1 - adds r0, r3, #0 - ldr r1, [sp, #0xc] - bl __divsi3 - mov ip, r0 - b _0807D8C4 - .align 2, 0 -_0807D8BC: .4byte gRoomControls -_0807D8C0: - ldr r1, [sp, #0x3c] - adds r7, r7, r1 -_0807D8C4: - ldr r2, [sp, #0xc] - lsls r0, r2, #2 - ldr r3, [sp, #0x3c] - adds r3, r3, r0 - str r3, [sp, #0x3c] - movs r0, #1 - add sb, r0 - cmp sb, ip - bgt _0807D8D8 - b _0807D79A -_0807D8D8: - movs r4, #0 - ldr r1, [sp, #8] - mov sb, r1 - ldr r2, [sp, #0x10] - lsls r6, r2, #1 - lsls r0, r1, #1 - rsbs r0, r0, #0 - adds r0, #1 - ldr r3, [sp, #0xc] - muls r0, r3, r0 - adds r7, r6, r0 - mov r5, sb - muls r5, r3, r5 - adds r0, r5, #0 - adds r1, r2, #0 - bl __divsi3 - mov ip, r0 - cmp r4, ip - ble _0807D902 - b _0807DA62 -_0807D902: - ldr r0, _0807DA40 @ =gRoomControls - mov sl, r0 - ldr r1, [sp, #0x10] - adds r0, r6, r1 - lsls r0, r0, #1 - str r0, [sp, #0x34] - ldr r6, [sp, #0x14] - mov r8, r6 - str r5, [sp, #0x38] - movs r3, #0x80 - lsls r3, r3, #1 - ldr r2, [sp, #0x24] - adds r3, r2, r3 - str r3, [sp, #0x30] -_0807D91E: - ldr r0, [sp, #0x28] - adds r0, #0xb0 - ldr r1, [sp, #0x18] - add r1, sb - cmp r0, r1 - ble _0807D996 - ldr r0, [sp, #0x20] - add r0, sb - asrs r0, r0, #3 - movs r5, #0x1f - ands r0, r5 - cmp r0, #0x1f - beq _0807D996 - lsls r0, r0, #6 - ldr r3, [sp, #4] - adds r2, r3, r0 - asrs r0, r1, #3 - lsls r0, r0, #8 - ldr r1, [sp] - adds r3, r1, r0 - ldr r0, [sp, #0x30] - cmp r0, r6 - ble _0807D96E - ldr r0, [sp, #0x1c] - adds r1, r0, r4 - asrs r1, r1, #3 - ands r1, r5 - lsls r1, r1, #1 - adds r1, r1, r2 - asrs r0, r6, #3 - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r0, [r0] - strh r0, [r1] - mov r1, sl - ldrh r0, [r1, #0x1c] - movs r1, #0x10 - orrs r0, r1 - mov r1, sl - strh r0, [r1, #0x1c] -_0807D96E: - ldr r0, [sp, #0x24] - cmp r0, r8 - bge _0807D996 - ldr r0, [sp, #0x1c] - subs r1, r0, r4 - asrs r1, r1, #3 - ands r1, r5 - lsls r1, r1, #1 - adds r1, r1, r2 - mov r2, r8 - asrs r0, r2, #3 - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r0, [r0] - strh r0, [r1] - mov r3, sl - ldrh r0, [r3, #0x1c] - movs r1, #0x20 - orrs r0, r1 - strh r0, [r3, #0x1c] -_0807D996: - ldr r0, [sp, #0x18] - mov r2, sb - subs r1, r0, r2 - adds r0, r1, #0 - adds r0, #8 - ldr r3, [sp, #0x28] - cmp r3, r0 - bge _0807DA12 - ldr r3, [sp, #0x20] - subs r0, r3, r2 - asrs r0, r0, #3 - movs r5, #0x1f - ands r0, r5 - cmp r0, #0x1f - beq _0807DA12 - lsls r0, r0, #6 - ldr r3, [sp, #4] - adds r2, r3, r0 - asrs r0, r1, #3 - lsls r0, r0, #8 - ldr r1, [sp] - adds r3, r1, r0 - ldr r0, [sp, #0x30] - cmp r0, r6 - ble _0807D9EA - ldr r0, [sp, #0x1c] - adds r1, r0, r4 - asrs r1, r1, #3 - ands r1, r5 - lsls r1, r1, #1 - adds r1, r1, r2 - asrs r0, r6, #3 - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r0, [r0] - strh r0, [r1] - mov r1, sl - ldrh r0, [r1, #0x1c] - movs r1, #0x40 - orrs r0, r1 - mov r1, sl - strh r0, [r1, #0x1c] -_0807D9EA: - ldr r0, [sp, #0x24] - cmp r0, r8 - bge _0807DA12 - ldr r0, [sp, #0x1c] - subs r1, r0, r4 - asrs r1, r1, #3 - ands r1, r5 - lsls r1, r1, #1 - adds r1, r1, r2 - mov r2, r8 - asrs r0, r2, #3 - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r0, [r0] - strh r0, [r1] - mov r3, sl - ldrh r0, [r3, #0x1c] - movs r1, #0x80 - orrs r0, r1 - strh r0, [r3, #0x1c] -_0807DA12: - cmp r7, #0 - ble _0807DA44 - mov r1, sb - lsls r0, r1, #2 - rsbs r0, r0, #0 - adds r0, #4 - ldr r2, [sp, #0xc] - muls r0, r2, r0 - ldr r3, [sp, #0x34] - adds r0, r3, r0 - adds r7, r7, r0 - ldr r0, [sp, #0x38] - subs r0, r0, r2 - str r0, [sp, #0x38] - movs r1, #1 - rsbs r1, r1, #0 - add sb, r1 - ldr r1, [sp, #0x10] - bl __divsi3 - mov ip, r0 - b _0807DA48 - .align 2, 0 -_0807DA40: .4byte gRoomControls -_0807DA44: - ldr r2, [sp, #0x34] - adds r7, r7, r2 -_0807DA48: - ldr r3, [sp, #0x10] - lsls r0, r3, #2 - ldr r1, [sp, #0x34] - adds r1, r1, r0 - str r1, [sp, #0x34] - movs r2, #1 - rsbs r2, r2, #0 - add r8, r2 - adds r6, #1 - adds r4, #1 - cmp r4, ip - bgt _0807DA62 - b _0807D91E -_0807DA62: - add sp, #0x44 - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - diff --git a/asm/non_matching/code_0807CC3C/sub_0807D6D8.inc b/asm/non_matching/code_0807CC3C/sub_0807D6D8.inc new file mode 100644 index 00000000..de9559d3 --- /dev/null +++ b/asm/non_matching/code_0807CC3C/sub_0807D6D8.inc @@ -0,0 +1,485 @@ + .include "asm/macros.inc" + + .include "constants/constants.inc" + + .syntax unified + + .text + + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #0x44 + str r0, [sp] + str r1, [sp, #4] + ldr r5, _0807D8BC @ =gRoomControls + ldrh r0, [r5, #0x18] + cmp r0, #0 + bne _0807D6F2 + b _0807DA62 +_0807D6F2: + ldrh r0, [r5, #0x1a] + cmp r0, #0 + bne _0807D6FA + b _0807DA62 +_0807D6FA: + movs r1, #0xa + ldrsh r0, [r5, r1] + ldrh r1, [r5, #6] + subs r0, r0, r1 + movs r4, #0x10 + rsbs r4, r4, #0 + ands r0, r4 + str r0, [sp, #0x24] + ldr r3, [r5, #0x30] + movs r2, #0x2e + ldrsh r0, [r3, r2] + subs r0, r0, r1 + movs r2, #8 + rsbs r2, r2, #0 + ands r0, r2 + str r0, [sp, #0x14] + ldr r1, [sp, #0x24] + subs r0, r0, r1 + str r0, [sp, #0x1c] + movs r1, #0xc + ldrsh r0, [r5, r1] + ldrh r1, [r5, #8] + subs r0, r0, r1 + ands r0, r4 + str r0, [sp, #0x28] + movs r4, #0x32 + ldrsh r0, [r3, r4] + subs r0, r0, r1 + ands r0, r2 + str r0, [sp, #0x18] + ldr r1, [sp, #0x28] + subs r0, r0, r1 + str r0, [sp, #0x20] + ldrh r0, [r5, #0x18] + adds r2, r0, #0 + muls r2, r0, r2 + str r2, [sp, #0xc] + ldrh r3, [r5, #0x1a] + str r3, [sp, #8] + adds r4, r3, #0 + muls r4, r3, r4 + str r4, [sp, #0x10] + adds r4, r0, #0 + movs r0, #0 + mov sb, r0 + lsls r0, r4, #1 + rsbs r0, r0, #0 + adds r0, #1 + ldr r1, [sp, #0x10] + muls r0, r1, r0 + lsls r6, r2, #1 + adds r7, r0, r6 + adds r2, r4, #0 + muls r2, r1, r2 + mov r8, r2 + mov r0, r8 + ldr r1, [sp, #0xc] + bl __divsi3 + mov ip, r0 + cmp sb, ip + ble _0807D778 + b _0807D8D8 +_0807D778: + mov sl, r5 + ldr r3, [sp, #0xc] + adds r0, r6, r3 + lsls r0, r0, #1 + str r0, [sp, #0x3c] + mov r0, r8 + str r0, [sp, #0x40] + ldr r1, [sp, #0x14] + subs r1, r1, r4 + mov r8, r1 + ldr r2, [sp, #0x14] + adds r6, r4, r2 + movs r0, #0x80 + lsls r0, r0, #1 + ldr r3, [sp, #0x24] + adds r0, r3, r0 + str r0, [sp, #0x2c] +_0807D79A: + ldr r0, [sp, #0x28] + adds r0, #0xb0 + ldr r1, [sp, #0x18] + add r1, sb + cmp r0, r1 + ble _0807D812 + ldr r0, [sp, #0x20] + add r0, sb + asrs r0, r0, #3 + movs r5, #0x1f + ands r0, r5 + cmp r0, #0x1f + beq _0807D812 + lsls r0, r0, #6 + ldr r3, [sp, #4] + adds r2, r3, r0 + asrs r0, r1, #3 + lsls r0, r0, #8 + ldr r1, [sp] + adds r3, r1, r0 + ldr r0, [sp, #0x2c] + cmp r0, r6 + ble _0807D7EA + ldr r0, [sp, #0x1c] + adds r1, r0, r4 + asrs r1, r1, #3 + ands r1, r5 + lsls r1, r1, #1 + adds r1, r1, r2 + asrs r0, r6, #3 + lsls r0, r0, #1 + adds r0, r0, r3 + ldrh r0, [r0] + strh r0, [r1] + mov r1, sl + ldrh r0, [r1, #0x1c] + movs r1, #1 + orrs r0, r1 + mov r1, sl + strh r0, [r1, #0x1c] +_0807D7EA: + ldr r0, [sp, #0x24] + cmp r0, r8 + bge _0807D812 + ldr r0, [sp, #0x1c] + subs r1, r0, r4 + asrs r1, r1, #3 + ands r1, r5 + lsls r1, r1, #1 + adds r1, r1, r2 + mov r2, r8 + asrs r0, r2, #3 + lsls r0, r0, #1 + adds r0, r0, r3 + ldrh r0, [r0] + strh r0, [r1] + mov r3, sl + ldrh r0, [r3, #0x1c] + movs r1, #2 + orrs r0, r1 + strh r0, [r3, #0x1c] +_0807D812: + ldr r0, [sp, #0x18] + mov r2, sb + subs r1, r0, r2 + adds r0, r1, #0 + adds r0, #8 + ldr r3, [sp, #0x28] + cmp r3, r0 + bge _0807D88E + ldr r3, [sp, #0x20] + subs r0, r3, r2 + asrs r0, r0, #3 + movs r5, #0x1f + ands r0, r5 + cmp r0, #0x1f + beq _0807D88E + lsls r0, r0, #6 + ldr r3, [sp, #4] + adds r2, r3, r0 + asrs r0, r1, #3 + lsls r0, r0, #8 + ldr r1, [sp] + adds r3, r1, r0 + ldr r0, [sp, #0x2c] + cmp r0, r6 + ble _0807D866 + ldr r0, [sp, #0x1c] + adds r1, r0, r4 + asrs r1, r1, #3 + ands r1, r5 + lsls r1, r1, #1 + adds r1, r1, r2 + asrs r0, r6, #3 + lsls r0, r0, #1 + adds r0, r0, r3 + ldrh r0, [r0] + strh r0, [r1] + mov r1, sl + ldrh r0, [r1, #0x1c] + movs r1, #4 + orrs r0, r1 + mov r1, sl + strh r0, [r1, #0x1c] +_0807D866: + ldr r0, [sp, #0x24] + cmp r0, r8 + bge _0807D88E + ldr r0, [sp, #0x1c] + subs r1, r0, r4 + asrs r1, r1, #3 + ands r1, r5 + lsls r1, r1, #1 + adds r1, r1, r2 + mov r2, r8 + asrs r0, r2, #3 + lsls r0, r0, #1 + adds r0, r0, r3 + ldrh r0, [r0] + strh r0, [r1] + mov r3, sl + ldrh r0, [r3, #0x1c] + movs r1, #8 + orrs r0, r1 + strh r0, [r3, #0x1c] +_0807D88E: + cmp r7, #0 + ble _0807D8C0 + lsls r0, r4, #2 + rsbs r0, r0, #0 + adds r0, #4 + ldr r1, [sp, #0x10] + muls r0, r1, r0 + ldr r2, [sp, #0x3c] + adds r0, r0, r2 + adds r7, r7, r0 + ldr r3, [sp, #0x40] + subs r3, r3, r1 + str r3, [sp, #0x40] + movs r0, #1 + add r8, r0 + subs r6, #1 + subs r4, #1 + adds r0, r3, #0 + ldr r1, [sp, #0xc] + bl __divsi3 + mov ip, r0 + b _0807D8C4 + .align 2, 0 +_0807D8BC: .4byte gRoomControls +_0807D8C0: + ldr r1, [sp, #0x3c] + adds r7, r7, r1 +_0807D8C4: + ldr r2, [sp, #0xc] + lsls r0, r2, #2 + ldr r3, [sp, #0x3c] + adds r3, r3, r0 + str r3, [sp, #0x3c] + movs r0, #1 + add sb, r0 + cmp sb, ip + bgt _0807D8D8 + b _0807D79A +_0807D8D8: + movs r4, #0 + ldr r1, [sp, #8] + mov sb, r1 + ldr r2, [sp, #0x10] + lsls r6, r2, #1 + lsls r0, r1, #1 + rsbs r0, r0, #0 + adds r0, #1 + ldr r3, [sp, #0xc] + muls r0, r3, r0 + adds r7, r6, r0 + mov r5, sb + muls r5, r3, r5 + adds r0, r5, #0 + adds r1, r2, #0 + bl __divsi3 + mov ip, r0 + cmp r4, ip + ble _0807D902 + b _0807DA62 +_0807D902: + ldr r0, _0807DA40 @ =gRoomControls + mov sl, r0 + ldr r1, [sp, #0x10] + adds r0, r6, r1 + lsls r0, r0, #1 + str r0, [sp, #0x34] + ldr r6, [sp, #0x14] + mov r8, r6 + str r5, [sp, #0x38] + movs r3, #0x80 + lsls r3, r3, #1 + ldr r2, [sp, #0x24] + adds r3, r2, r3 + str r3, [sp, #0x30] +_0807D91E: + ldr r0, [sp, #0x28] + adds r0, #0xb0 + ldr r1, [sp, #0x18] + add r1, sb + cmp r0, r1 + ble _0807D996 + ldr r0, [sp, #0x20] + add r0, sb + asrs r0, r0, #3 + movs r5, #0x1f + ands r0, r5 + cmp r0, #0x1f + beq _0807D996 + lsls r0, r0, #6 + ldr r3, [sp, #4] + adds r2, r3, r0 + asrs r0, r1, #3 + lsls r0, r0, #8 + ldr r1, [sp] + adds r3, r1, r0 + ldr r0, [sp, #0x30] + cmp r0, r6 + ble _0807D96E + ldr r0, [sp, #0x1c] + adds r1, r0, r4 + asrs r1, r1, #3 + ands r1, r5 + lsls r1, r1, #1 + adds r1, r1, r2 + asrs r0, r6, #3 + lsls r0, r0, #1 + adds r0, r0, r3 + ldrh r0, [r0] + strh r0, [r1] + mov r1, sl + ldrh r0, [r1, #0x1c] + movs r1, #0x10 + orrs r0, r1 + mov r1, sl + strh r0, [r1, #0x1c] +_0807D96E: + ldr r0, [sp, #0x24] + cmp r0, r8 + bge _0807D996 + ldr r0, [sp, #0x1c] + subs r1, r0, r4 + asrs r1, r1, #3 + ands r1, r5 + lsls r1, r1, #1 + adds r1, r1, r2 + mov r2, r8 + asrs r0, r2, #3 + lsls r0, r0, #1 + adds r0, r0, r3 + ldrh r0, [r0] + strh r0, [r1] + mov r3, sl + ldrh r0, [r3, #0x1c] + movs r1, #0x20 + orrs r0, r1 + strh r0, [r3, #0x1c] +_0807D996: + ldr r0, [sp, #0x18] + mov r2, sb + subs r1, r0, r2 + adds r0, r1, #0 + adds r0, #8 + ldr r3, [sp, #0x28] + cmp r3, r0 + bge _0807DA12 + ldr r3, [sp, #0x20] + subs r0, r3, r2 + asrs r0, r0, #3 + movs r5, #0x1f + ands r0, r5 + cmp r0, #0x1f + beq _0807DA12 + lsls r0, r0, #6 + ldr r3, [sp, #4] + adds r2, r3, r0 + asrs r0, r1, #3 + lsls r0, r0, #8 + ldr r1, [sp] + adds r3, r1, r0 + ldr r0, [sp, #0x30] + cmp r0, r6 + ble _0807D9EA + ldr r0, [sp, #0x1c] + adds r1, r0, r4 + asrs r1, r1, #3 + ands r1, r5 + lsls r1, r1, #1 + adds r1, r1, r2 + asrs r0, r6, #3 + lsls r0, r0, #1 + adds r0, r0, r3 + ldrh r0, [r0] + strh r0, [r1] + mov r1, sl + ldrh r0, [r1, #0x1c] + movs r1, #0x40 + orrs r0, r1 + mov r1, sl + strh r0, [r1, #0x1c] +_0807D9EA: + ldr r0, [sp, #0x24] + cmp r0, r8 + bge _0807DA12 + ldr r0, [sp, #0x1c] + subs r1, r0, r4 + asrs r1, r1, #3 + ands r1, r5 + lsls r1, r1, #1 + adds r1, r1, r2 + mov r2, r8 + asrs r0, r2, #3 + lsls r0, r0, #1 + adds r0, r0, r3 + ldrh r0, [r0] + strh r0, [r1] + mov r3, sl + ldrh r0, [r3, #0x1c] + movs r1, #0x80 + orrs r0, r1 + strh r0, [r3, #0x1c] +_0807DA12: + cmp r7, #0 + ble _0807DA44 + mov r1, sb + lsls r0, r1, #2 + rsbs r0, r0, #0 + adds r0, #4 + ldr r2, [sp, #0xc] + muls r0, r2, r0 + ldr r3, [sp, #0x34] + adds r0, r3, r0 + adds r7, r7, r0 + ldr r0, [sp, #0x38] + subs r0, r0, r2 + str r0, [sp, #0x38] + movs r1, #1 + rsbs r1, r1, #0 + add sb, r1 + ldr r1, [sp, #0x10] + bl __divsi3 + mov ip, r0 + b _0807DA48 + .align 2, 0 +_0807DA40: .4byte gRoomControls +_0807DA44: + ldr r2, [sp, #0x34] + adds r7, r7, r2 +_0807DA48: + ldr r3, [sp, #0x10] + lsls r0, r3, #2 + ldr r1, [sp, #0x34] + adds r1, r1, r0 + str r1, [sp, #0x34] + movs r2, #1 + rsbs r2, r2, #0 + add r8, r2 + adds r6, #1 + adds r4, #1 + cmp r4, ip + bgt _0807DA62 + b _0807D91E +_0807DA62: + add sp, #0x44 + pop {r3, r4, r5} + mov r8, r3 + mov sb, r4 + mov sl, r5 + pop {r4, r5, r6, r7, pc} + .align 2, 0 + + .syntax divided diff --git a/src/code_0807CC3C.c b/src/code_0807CC3C.c index 23b59b3c..6bdb490d 100644 --- a/src/code_0807CC3C.c +++ b/src/code_0807CC3C.c @@ -16,11 +16,16 @@ extern void CreateSpeechBubbleQuestionMark(Entity*, u32, u32); extern void DeleteThisEntity(void); extern void sub_0801C4A0(u32); extern void sub_0807DB98(Entity*, ScriptExecutionContext*); +extern s32 __divsi3(s32, s32); extern void _call_via_r6(Entity*, ScriptExecutionContext*); void sub_0807DB88(ScriptExecutionContext* context, u32 unk1); void sub_0807DAF0(Entity* entity, ScriptExecutionContext* context, u32 unk1); +NONMATCH("asm/non_matching/code_0807CC3C/sub_0807D6D8.inc", void sub_0807D6D8(u32 unk_1, u32 unk_2)){ +} +END_NONMATCH + void sub_0807DA70(void) { _DmaZero(&gUnk_02033280, 0xc); _DmaZero(&gUnk_02036570, 0x480); From 9230625aae371c1124fbfb6977e00b4e8fdb808a Mon Sep 17 00:00:00 2001 From: Henny022p Date: Tue, 16 Feb 2021 08:32:11 +0100 Subject: [PATCH 066/101] non match sub_0807D46C --- asm/code_0807CC3C.s | 342 ----------------- .../code_0807CC3C/sub_0807D46C.inc | 347 ++++++++++++++++++ .../code_0807CC3C/sub_0807D6D8.inc | 3 - src/code_0807CC3C.c | 6 +- 4 files changed, 352 insertions(+), 346 deletions(-) create mode 100644 asm/non_matching/code_0807CC3C/sub_0807D46C.inc diff --git a/asm/code_0807CC3C.s b/asm/code_0807CC3C.s index b144a7a3..96b685f8 100644 --- a/asm/code_0807CC3C.s +++ b/asm/code_0807CC3C.s @@ -684,345 +684,3 @@ _0807D462: pop {r4, r5, r6, r7, pc} .align 2, 0 - thumb_func_start sub_0807D46C -sub_0807D46C: @ 0x0807D46C - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #8 - str r0, [sp] - str r1, [sp, #4] - ldr r0, _0807D494 @ =gRoomControls - ldrb r2, [r0, #0x10] - mov sb, r0 - cmp r2, #1 - bne _0807D488 - b _0807D5C4 -_0807D488: - cmp r2, #1 - bgt _0807D498 - cmp r2, #0 - beq _0807D4A4 - b _0807D6CC - .align 2, 0 -_0807D494: .4byte gRoomControls -_0807D498: - cmp r2, #2 - beq _0807D4A4 - cmp r2, #3 - bne _0807D4A2 - b _0807D5C4 -_0807D4A2: - b _0807D6CC -_0807D4A4: - mov r1, sb - movs r2, #0xa - ldrsh r0, [r1, r2] - ldrh r1, [r1, #6] - subs r5, r0, r1 - cmp r5, #7 - ble _0807D4B4 - subs r5, #8 -_0807D4B4: - mov r3, sb - ldr r0, [r3, #0x30] - movs r2, #0x2e - ldrsh r0, [r0, r2] - subs r0, r0, r1 - subs r3, r0, #4 - mov r8, r3 - cmp r3, #7 - ble _0807D4CA - subs r0, #0xc - mov r8, r0 -_0807D4CA: - mov r0, sb - movs r2, #0xc - ldrsh r1, [r0, r2] - ldrh r0, [r0, #8] - subs r1, r1, r0 - mov ip, r1 - cmp r1, #7 - ble _0807D4E0 - movs r3, #8 - rsbs r3, r3, #0 - add ip, r3 -_0807D4E0: - mov r1, sb - ldrh r0, [r1, #0x18] - lsls r0, r0, #3 - mov r2, r8 - subs r0, r2, r0 - adds r7, r5, #0 - adds r7, #0xf8 - cmp r0, r5 - blt _0807D548 - mov r1, ip - asrs r3, r1, #3 - lsls r1, r3, #8 - ldr r2, [sp] - adds r1, r2, r1 - asrs r0, r0, #3 - lsls r2, r0, #1 - adds r4, r1, r2 - movs r1, #0x1f - ands r0, r1 - lsls r0, r0, #1 - ldr r2, [sp, #4] - adds r6, r2, r0 - ands r3, r1 - lsls r2, r3, #5 - mov r3, sb - ldrh r0, [r3, #0x20] - lsls r1, r0, #0x10 - lsrs r0, r1, #0x10 - cmp r0, #0xaf - bhi _0807D520 - lsrs r3, r1, #0x13 - b _0807D522 -_0807D520: - movs r3, #0x16 -_0807D522: - adds r7, r5, #0 - adds r7, #0xf8 - cmp r3, #0 - ble _0807D548 - ldr r0, _0807D55C @ =0x000003FF - mov sl, r0 -_0807D52E: - lsls r0, r2, #1 - adds r0, r0, r6 - ldrh r1, [r4] - strh r1, [r0] - movs r1, #0x80 - lsls r1, r1, #1 - adds r4, r4, r1 - adds r2, #0x20 - mov r0, sl - ands r2, r0 - subs r3, #1 - cmp r3, #0 - bgt _0807D52E -_0807D548: - mov r1, sb - ldrh r0, [r1, #0x18] - adds r0, #1 - lsls r0, r0, #3 - add r0, r8 - ldrh r2, [r1, #0x1e] - cmp r7, r2 - blt _0807D560 - adds r1, r7, #0 - b _0807D566 - .align 2, 0 -_0807D55C: .4byte 0x000003FF -_0807D560: - movs r3, #0x80 - lsls r3, r3, #1 - adds r1, r5, r3 -_0807D566: - cmp r0, r1 - blt _0807D56C - b _0807D6CC -_0807D56C: - mov r1, ip - asrs r3, r1, #3 - lsls r1, r3, #8 - ldr r2, [sp] - adds r1, r2, r1 - asrs r0, r0, #3 - lsls r2, r0, #1 - adds r4, r1, r2 - movs r1, #0x1f - ands r0, r1 - lsls r0, r0, #1 - ldr r2, [sp, #4] - adds r6, r2, r0 - ands r3, r1 - lsls r2, r3, #5 - mov r3, sb - ldrh r0, [r3, #0x20] - lsls r1, r0, #0x10 - lsrs r0, r1, #0x10 - cmp r0, #0xaf - bhi _0807D59A - lsrs r3, r1, #0x13 - b _0807D59C -_0807D59A: - movs r3, #0x16 -_0807D59C: - cmp r3, #0 - bgt _0807D5A2 - b _0807D6CC -_0807D5A2: - movs r7, #0x80 - lsls r7, r7, #1 - ldr r5, _0807D5C0 @ =0x000003FF -_0807D5A8: - lsls r0, r2, #1 - adds r0, r0, r6 - ldrh r1, [r4] - strh r1, [r0] - adds r4, r4, r7 - adds r2, #0x20 - ands r2, r5 - subs r3, #1 - cmp r3, #0 - bgt _0807D5A8 - b _0807D6CC - .align 2, 0 -_0807D5C0: .4byte 0x000003FF -_0807D5C4: - mov r1, sb - movs r2, #0xc - ldrsh r0, [r1, r2] - ldrh r2, [r1, #8] - subs r5, r0, r2 - cmp r5, #7 - ble _0807D5D4 - subs r5, #8 -_0807D5D4: - mov r3, sb - movs r0, #0xa - ldrsh r1, [r3, r0] - ldrh r0, [r3, #6] - subs r1, r1, r0 - mov r8, r1 - cmp r1, #7 - ble _0807D5EA - movs r1, #8 - rsbs r1, r1, #0 - add r8, r1 -_0807D5EA: - mov r3, sb - ldr r0, [r3, #0x30] - movs r1, #0x32 - ldrsh r0, [r0, r1] - subs r0, r0, r2 - subs r2, r0, #4 - mov ip, r2 - cmp r2, #7 - ble _0807D600 - subs r0, #0xc - mov ip, r0 -_0807D600: - mov r3, sb - ldrh r0, [r3, #0x18] - lsls r0, r0, #3 - mov r1, ip - subs r0, r1, r0 - adds r7, r5, #0 - adds r7, #0xa8 - movs r2, #0xb0 - adds r2, r2, r5 - mov sl, r2 - cmp r0, r5 - blt _0807D66A - asrs r2, r0, #3 - lsls r0, r2, #8 - ldr r3, [sp] - adds r0, r3, r0 - mov r1, r8 - asrs r3, r1, #3 - lsls r1, r3, #1 - adds r4, r0, r1 - movs r0, #0x1f - ands r2, r0 - lsls r2, r2, #6 - ldr r1, [sp, #4] - adds r6, r1, r2 - adds r2, r0, #0 - ands r2, r3 - mov r3, sb - ldrh r0, [r3, #0x1e] - lsls r1, r0, #0x10 - lsrs r0, r1, #0x10 - cmp r0, #0xff - bhi _0807D646 - lsrs r3, r1, #0x13 - b _0807D648 -_0807D646: - movs r3, #0x20 -_0807D648: - adds r7, r5, #0 - adds r7, #0xa8 - adds r5, #0xb0 - mov sl, r5 - cmp r3, #0 - ble _0807D66A - movs r5, #0x1f -_0807D656: - lsls r0, r2, #1 - adds r0, r0, r6 - ldrh r1, [r4] - strh r1, [r0] - adds r4, #2 - adds r2, #1 - ands r2, r5 - subs r3, #1 - cmp r3, #0 - bgt _0807D656 -_0807D66A: - mov r1, sb - ldrh r0, [r1, #0x18] - adds r0, #1 - lsls r0, r0, #3 - add r0, ip - mov r2, sl - ldrh r1, [r1, #0x20] - cmp r7, r1 - blt _0807D67E - adds r2, r7, #0 -_0807D67E: - cmp r0, r2 - bge _0807D6CC - asrs r2, r0, #3 - lsls r0, r2, #8 - ldr r1, [sp] - adds r0, r1, r0 - mov r1, r8 - asrs r3, r1, #3 - lsls r1, r3, #1 - adds r4, r0, r1 - movs r0, #0x1f - ands r2, r0 - lsls r2, r2, #6 - ldr r1, [sp, #4] - adds r6, r1, r2 - adds r2, r0, #0 - ands r2, r3 - mov r3, sb - ldrh r0, [r3, #0x1e] - lsls r1, r0, #0x10 - lsrs r0, r1, #0x10 - cmp r0, #0xff - bhi _0807D6B0 - lsrs r3, r1, #0x13 - b _0807D6B2 -_0807D6B0: - movs r3, #0x20 -_0807D6B2: - cmp r3, #0 - ble _0807D6CC - movs r5, #0x1f -_0807D6B8: - lsls r0, r2, #1 - adds r0, r0, r6 - ldrh r1, [r4] - strh r1, [r0] - adds r4, #2 - adds r2, #1 - ands r2, r5 - subs r3, #1 - cmp r3, #0 - bgt _0807D6B8 -_0807D6CC: - add sp, #8 - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - diff --git a/asm/non_matching/code_0807CC3C/sub_0807D46C.inc b/asm/non_matching/code_0807CC3C/sub_0807D46C.inc new file mode 100644 index 00000000..bc6c9618 --- /dev/null +++ b/asm/non_matching/code_0807CC3C/sub_0807D46C.inc @@ -0,0 +1,347 @@ + .include "asm/macros.inc" + + .include "constants/constants.inc" + + .syntax unified + + .text + + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #8 + str r0, [sp] + str r1, [sp, #4] + ldr r0, _0807D494 @ =gRoomControls + ldrb r2, [r0, #0x10] + mov sb, r0 + cmp r2, #1 + bne _0807D488 + b _0807D5C4 +_0807D488: + cmp r2, #1 + bgt _0807D498 + cmp r2, #0 + beq _0807D4A4 + b _0807D6CC + .align 2, 0 +_0807D494: .4byte gRoomControls +_0807D498: + cmp r2, #2 + beq _0807D4A4 + cmp r2, #3 + bne _0807D4A2 + b _0807D5C4 +_0807D4A2: + b _0807D6CC +_0807D4A4: + mov r1, sb + movs r2, #0xa + ldrsh r0, [r1, r2] + ldrh r1, [r1, #6] + subs r5, r0, r1 + cmp r5, #7 + ble _0807D4B4 + subs r5, #8 +_0807D4B4: + mov r3, sb + ldr r0, [r3, #0x30] + movs r2, #0x2e + ldrsh r0, [r0, r2] + subs r0, r0, r1 + subs r3, r0, #4 + mov r8, r3 + cmp r3, #7 + ble _0807D4CA + subs r0, #0xc + mov r8, r0 +_0807D4CA: + mov r0, sb + movs r2, #0xc + ldrsh r1, [r0, r2] + ldrh r0, [r0, #8] + subs r1, r1, r0 + mov ip, r1 + cmp r1, #7 + ble _0807D4E0 + movs r3, #8 + rsbs r3, r3, #0 + add ip, r3 +_0807D4E0: + mov r1, sb + ldrh r0, [r1, #0x18] + lsls r0, r0, #3 + mov r2, r8 + subs r0, r2, r0 + adds r7, r5, #0 + adds r7, #0xf8 + cmp r0, r5 + blt _0807D548 + mov r1, ip + asrs r3, r1, #3 + lsls r1, r3, #8 + ldr r2, [sp] + adds r1, r2, r1 + asrs r0, r0, #3 + lsls r2, r0, #1 + adds r4, r1, r2 + movs r1, #0x1f + ands r0, r1 + lsls r0, r0, #1 + ldr r2, [sp, #4] + adds r6, r2, r0 + ands r3, r1 + lsls r2, r3, #5 + mov r3, sb + ldrh r0, [r3, #0x20] + lsls r1, r0, #0x10 + lsrs r0, r1, #0x10 + cmp r0, #0xaf + bhi _0807D520 + lsrs r3, r1, #0x13 + b _0807D522 +_0807D520: + movs r3, #0x16 +_0807D522: + adds r7, r5, #0 + adds r7, #0xf8 + cmp r3, #0 + ble _0807D548 + ldr r0, _0807D55C @ =0x000003FF + mov sl, r0 +_0807D52E: + lsls r0, r2, #1 + adds r0, r0, r6 + ldrh r1, [r4] + strh r1, [r0] + movs r1, #0x80 + lsls r1, r1, #1 + adds r4, r4, r1 + adds r2, #0x20 + mov r0, sl + ands r2, r0 + subs r3, #1 + cmp r3, #0 + bgt _0807D52E +_0807D548: + mov r1, sb + ldrh r0, [r1, #0x18] + adds r0, #1 + lsls r0, r0, #3 + add r0, r8 + ldrh r2, [r1, #0x1e] + cmp r7, r2 + blt _0807D560 + adds r1, r7, #0 + b _0807D566 + .align 2, 0 +_0807D55C: .4byte 0x000003FF +_0807D560: + movs r3, #0x80 + lsls r3, r3, #1 + adds r1, r5, r3 +_0807D566: + cmp r0, r1 + blt _0807D56C + b _0807D6CC +_0807D56C: + mov r1, ip + asrs r3, r1, #3 + lsls r1, r3, #8 + ldr r2, [sp] + adds r1, r2, r1 + asrs r0, r0, #3 + lsls r2, r0, #1 + adds r4, r1, r2 + movs r1, #0x1f + ands r0, r1 + lsls r0, r0, #1 + ldr r2, [sp, #4] + adds r6, r2, r0 + ands r3, r1 + lsls r2, r3, #5 + mov r3, sb + ldrh r0, [r3, #0x20] + lsls r1, r0, #0x10 + lsrs r0, r1, #0x10 + cmp r0, #0xaf + bhi _0807D59A + lsrs r3, r1, #0x13 + b _0807D59C +_0807D59A: + movs r3, #0x16 +_0807D59C: + cmp r3, #0 + bgt _0807D5A2 + b _0807D6CC +_0807D5A2: + movs r7, #0x80 + lsls r7, r7, #1 + ldr r5, _0807D5C0 @ =0x000003FF +_0807D5A8: + lsls r0, r2, #1 + adds r0, r0, r6 + ldrh r1, [r4] + strh r1, [r0] + adds r4, r4, r7 + adds r2, #0x20 + ands r2, r5 + subs r3, #1 + cmp r3, #0 + bgt _0807D5A8 + b _0807D6CC + .align 2, 0 +_0807D5C0: .4byte 0x000003FF +_0807D5C4: + mov r1, sb + movs r2, #0xc + ldrsh r0, [r1, r2] + ldrh r2, [r1, #8] + subs r5, r0, r2 + cmp r5, #7 + ble _0807D5D4 + subs r5, #8 +_0807D5D4: + mov r3, sb + movs r0, #0xa + ldrsh r1, [r3, r0] + ldrh r0, [r3, #6] + subs r1, r1, r0 + mov r8, r1 + cmp r1, #7 + ble _0807D5EA + movs r1, #8 + rsbs r1, r1, #0 + add r8, r1 +_0807D5EA: + mov r3, sb + ldr r0, [r3, #0x30] + movs r1, #0x32 + ldrsh r0, [r0, r1] + subs r0, r0, r2 + subs r2, r0, #4 + mov ip, r2 + cmp r2, #7 + ble _0807D600 + subs r0, #0xc + mov ip, r0 +_0807D600: + mov r3, sb + ldrh r0, [r3, #0x18] + lsls r0, r0, #3 + mov r1, ip + subs r0, r1, r0 + adds r7, r5, #0 + adds r7, #0xa8 + movs r2, #0xb0 + adds r2, r2, r5 + mov sl, r2 + cmp r0, r5 + blt _0807D66A + asrs r2, r0, #3 + lsls r0, r2, #8 + ldr r3, [sp] + adds r0, r3, r0 + mov r1, r8 + asrs r3, r1, #3 + lsls r1, r3, #1 + adds r4, r0, r1 + movs r0, #0x1f + ands r2, r0 + lsls r2, r2, #6 + ldr r1, [sp, #4] + adds r6, r1, r2 + adds r2, r0, #0 + ands r2, r3 + mov r3, sb + ldrh r0, [r3, #0x1e] + lsls r1, r0, #0x10 + lsrs r0, r1, #0x10 + cmp r0, #0xff + bhi _0807D646 + lsrs r3, r1, #0x13 + b _0807D648 +_0807D646: + movs r3, #0x20 +_0807D648: + adds r7, r5, #0 + adds r7, #0xa8 + adds r5, #0xb0 + mov sl, r5 + cmp r3, #0 + ble _0807D66A + movs r5, #0x1f +_0807D656: + lsls r0, r2, #1 + adds r0, r0, r6 + ldrh r1, [r4] + strh r1, [r0] + adds r4, #2 + adds r2, #1 + ands r2, r5 + subs r3, #1 + cmp r3, #0 + bgt _0807D656 +_0807D66A: + mov r1, sb + ldrh r0, [r1, #0x18] + adds r0, #1 + lsls r0, r0, #3 + add r0, ip + mov r2, sl + ldrh r1, [r1, #0x20] + cmp r7, r1 + blt _0807D67E + adds r2, r7, #0 +_0807D67E: + cmp r0, r2 + bge _0807D6CC + asrs r2, r0, #3 + lsls r0, r2, #8 + ldr r1, [sp] + adds r0, r1, r0 + mov r1, r8 + asrs r3, r1, #3 + lsls r1, r3, #1 + adds r4, r0, r1 + movs r0, #0x1f + ands r2, r0 + lsls r2, r2, #6 + ldr r1, [sp, #4] + adds r6, r1, r2 + adds r2, r0, #0 + ands r2, r3 + mov r3, sb + ldrh r0, [r3, #0x1e] + lsls r1, r0, #0x10 + lsrs r0, r1, #0x10 + cmp r0, #0xff + bhi _0807D6B0 + lsrs r3, r1, #0x13 + b _0807D6B2 +_0807D6B0: + movs r3, #0x20 +_0807D6B2: + cmp r3, #0 + ble _0807D6CC + movs r5, #0x1f +_0807D6B8: + lsls r0, r2, #1 + adds r0, r0, r6 + ldrh r1, [r4] + strh r1, [r0] + adds r4, #2 + adds r2, #1 + ands r2, r5 + subs r3, #1 + cmp r3, #0 + bgt _0807D6B8 +_0807D6CC: + add sp, #8 + pop {r3, r4, r5} + mov r8, r3 + mov sb, r4 + mov sl, r5 + pop {r4, r5, r6, r7, pc} diff --git a/asm/non_matching/code_0807CC3C/sub_0807D6D8.inc b/asm/non_matching/code_0807CC3C/sub_0807D6D8.inc index de9559d3..2e4df6c5 100644 --- a/asm/non_matching/code_0807CC3C/sub_0807D6D8.inc +++ b/asm/non_matching/code_0807CC3C/sub_0807D6D8.inc @@ -1,6 +1,3 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" .syntax unified diff --git a/src/code_0807CC3C.c b/src/code_0807CC3C.c index 6bdb490d..3b54ebbd 100644 --- a/src/code_0807CC3C.c +++ b/src/code_0807CC3C.c @@ -22,7 +22,11 @@ extern void _call_via_r6(Entity*, ScriptExecutionContext*); void sub_0807DB88(ScriptExecutionContext* context, u32 unk1); void sub_0807DAF0(Entity* entity, ScriptExecutionContext* context, u32 unk1); -NONMATCH("asm/non_matching/code_0807CC3C/sub_0807D6D8.inc", void sub_0807D6D8(u32 unk_1, u32 unk_2)){ +NONMATCH("asm/non_matching/code_0807CC3C/sub_0807D46C.inc", void sub_0807D46C(u32 unk_1, u32 unk_2)) { +} +END_NONMATCH + +NONMATCH("asm/non_matching/code_0807CC3C/sub_0807D6D8.inc", void sub_0807D6D8(u32 unk_1, u32 unk_2)) { } END_NONMATCH From b3e471e95a4bba71f66521011be61d9c4c8d6068 Mon Sep 17 00:00:00 2001 From: Henny022p Date: Tue, 16 Feb 2021 08:53:28 +0100 Subject: [PATCH 067/101] non match sub_0807D280 --- asm/code_0807CC3C.s | 260 ----------------- .../code_0807CC3C/sub_0807D280.inc | 265 ++++++++++++++++++ .../code_0807CC3C/sub_0807D46C.inc | 3 - src/code_0807CC3C.c | 4 + 4 files changed, 269 insertions(+), 263 deletions(-) create mode 100644 asm/non_matching/code_0807CC3C/sub_0807D280.inc diff --git a/asm/code_0807CC3C.s b/asm/code_0807CC3C.s index 96b685f8..25c5f7f4 100644 --- a/asm/code_0807CC3C.s +++ b/asm/code_0807CC3C.s @@ -424,263 +424,3 @@ _0807D27C: pop {r4, r5, r6, pc} .align 2, 0 - thumb_func_start sub_0807D280 -sub_0807D280: @ 0x0807D280 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - adds r6, r0, #0 - adds r5, r1, #0 - ldr r1, _0807D2B0 @ =gRoomControls - movs r0, #0xa - ldrsh r2, [r1, r0] - ldrh r0, [r1, #6] - subs r3, r2, r0 - movs r0, #0xc - ldrsh r2, [r1, r0] - ldrh r0, [r1, #8] - subs r4, r2, r0 - ldrb r0, [r1, #0x10] - mov r8, r1 - cmp r0, #1 - beq _0807D330 - cmp r0, #1 - bgt _0807D2B4 - cmp r0, #0 - beq _0807D2BA - b _0807D404 - .align 2, 0 -_0807D2B0: .4byte gRoomControls -_0807D2B4: - cmp r0, #2 - beq _0807D3A0 - b _0807D404 -_0807D2BA: - mov r2, r8 - ldrh r1, [r2, #0x18] - movs r0, #3 - ands r0, r1 - cmp r0, #1 - beq _0807D2C8 - b _0807D462 -_0807D2C8: - movs r2, #0x1c - asrs r3, r3, #4 - mov sb, r3 - movs r3, #0x40 - adds r3, r3, r5 - mov ip, r3 - ldr r4, _0807D328 @ =0x040000D4 - ldr r7, _0807D32C @ =0x80000020 - movs r0, #0xe8 - lsls r0, r0, #3 - adds r3, r5, r0 - subs r0, #0x80 - adds r1, r5, r0 -_0807D2E2: - str r1, [r4] - str r3, [r4, #4] - str r7, [r4, #8] - ldr r0, [r4, #8] - subs r3, #0x40 - subs r1, #0x40 - subs r2, #1 - cmp r2, #0 - bgt _0807D2E2 - mov r1, r8 - ldrh r0, [r1, #0x20] - lsrs r0, r0, #4 - subs r0, #1 - ldrh r1, [r1, #0x18] - lsrs r1, r1, #2 - subs r0, r0, r1 - lsls r0, r0, #8 - mov r2, sb - lsls r1, r2, #1 - adds r0, r0, r1 - lsls r0, r0, #1 - adds r6, r6, r0 - ldr r0, _0807D328 @ =0x040000D4 - str r6, [r0] - str r5, [r0, #4] - ldr r2, _0807D32C @ =0x80000020 - str r2, [r0, #8] - ldr r1, [r0, #8] - movs r3, #0x80 - lsls r3, r3, #1 - adds r1, r6, r3 - str r1, [r0] - mov r1, ip - b _0807D3F0 - .align 2, 0 -_0807D328: .4byte 0x040000D4 -_0807D32C: .4byte 0x80000020 -_0807D330: - mov r2, r8 - ldrh r3, [r2, #0x18] - movs r0, #3 - ands r0, r3 - cmp r0, #0 - beq _0807D33E - b _0807D462 -_0807D33E: - asrs r7, r4, #4 - movs r0, #0x3c - adds r0, r0, r5 - mov sb, r0 - cmp r3, #0 - beq _0807D36A - ldr r4, _0807D398 @ =0x040000D4 - ldr r1, _0807D39C @ =0x8000001E - mov ip, r1 - adds r3, r5, #4 - adds r1, r5, #0 - movs r2, #0x15 -_0807D356: - str r3, [r4] - str r1, [r4, #4] - mov r0, ip - str r0, [r4, #8] - ldr r0, [r4, #8] - adds r3, #0x40 - adds r1, #0x40 - subs r2, #1 - cmp r2, #0 - bge _0807D356 -_0807D36A: - lsls r1, r7, #8 - mov r2, r8 - ldrh r0, [r2, #0x18] - lsrs r0, r0, #2 - lsls r0, r0, #1 - adds r1, r1, r0 - lsls r1, r1, #1 - adds r6, r6, r1 - mov r5, sb - movs r1, #0x80 - lsls r1, r1, #1 - movs r2, #0x15 -_0807D382: - ldrh r0, [r6] - strh r0, [r5] - ldrh r0, [r6, #2] - strh r0, [r5, #2] - adds r5, #0x40 - adds r6, r6, r1 - subs r2, #1 - cmp r2, #0 - bge _0807D382 - b _0807D462 - .align 2, 0 -_0807D398: .4byte 0x040000D4 -_0807D39C: .4byte 0x8000001E -_0807D3A0: - mov r0, r8 - ldrh r1, [r0, #0x18] - movs r0, #3 - ands r0, r1 - cmp r0, #0 - bne _0807D462 - lsls r2, r1, #0x10 - cmp r2, #0 - beq _0807D3C2 - ldr r1, _0807D3F8 @ =0x040000D4 - adds r0, r5, #0 - adds r0, #0x80 - str r0, [r1] - str r5, [r1, #4] - ldr r0, _0807D3FC @ =0x800003C0 - str r0, [r1, #8] - ldr r0, [r1, #8] -_0807D3C2: - lsrs r0, r2, #0x12 - lsls r0, r0, #8 - asrs r1, r3, #4 - lsls r1, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #1 - adds r6, r6, r0 - ldr r0, _0807D3F8 @ =0x040000D4 - str r6, [r0] - movs r2, #0xa0 - lsls r2, r2, #3 - adds r1, r5, r2 - str r1, [r0, #4] - ldr r2, _0807D400 @ =0x80000020 - str r2, [r0, #8] - ldr r1, [r0, #8] - movs r3, #0x80 - lsls r3, r3, #1 - adds r1, r6, r3 - str r1, [r0] - movs r3, #0xa8 - lsls r3, r3, #3 - adds r1, r5, r3 -_0807D3F0: - str r1, [r0, #4] - str r2, [r0, #8] - ldr r0, [r0, #8] - b _0807D462 - .align 2, 0 -_0807D3F8: .4byte 0x040000D4 -_0807D3FC: .4byte 0x800003C0 -_0807D400: .4byte 0x80000020 -_0807D404: - mov r0, r8 - ldrh r1, [r0, #0x18] - movs r0, #3 - ands r0, r1 - cmp r0, #1 - bne _0807D462 - movs r2, #0 - asrs r7, r4, #4 - mov ip, r5 -_0807D416: - movs r1, #0x1d - mov r3, ip - adds r3, #0x3a -_0807D41C: - ldrh r0, [r3] - strh r0, [r3, #4] - subs r3, #2 - subs r1, #1 - cmp r1, #0 - bge _0807D41C - movs r1, #0x40 - add ip, r1 - adds r2, #1 - cmp r2, #0x15 - ble _0807D416 - lsls r0, r7, #8 - mov r2, r8 - ldrh r1, [r2, #0x1e] - lsrs r1, r1, #4 - subs r1, #1 - ldrh r2, [r2, #0x18] - lsrs r2, r2, #2 - subs r1, r1, r2 - lsls r1, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #1 - adds r6, r6, r0 - movs r1, #0x80 - lsls r1, r1, #1 - movs r2, #0x15 -_0807D450: - ldrh r0, [r6] - strh r0, [r5] - ldrh r0, [r6, #2] - strh r0, [r5, #2] - adds r5, #0x40 - adds r6, r6, r1 - subs r2, #1 - cmp r2, #0 - bge _0807D450 -_0807D462: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - diff --git a/asm/non_matching/code_0807CC3C/sub_0807D280.inc b/asm/non_matching/code_0807CC3C/sub_0807D280.inc new file mode 100644 index 00000000..152e93de --- /dev/null +++ b/asm/non_matching/code_0807CC3C/sub_0807D280.inc @@ -0,0 +1,265 @@ + .include "asm/macros.inc" + + .include "constants/constants.inc" + + .syntax unified + + .text + + push {r4, r5, r6, r7, lr} + mov r7, sb + mov r6, r8 + push {r6, r7} + adds r6, r0, #0 + adds r5, r1, #0 + ldr r1, _0807D2B0 @ =gRoomControls + movs r0, #0xa + ldrsh r2, [r1, r0] + ldrh r0, [r1, #6] + subs r3, r2, r0 + movs r0, #0xc + ldrsh r2, [r1, r0] + ldrh r0, [r1, #8] + subs r4, r2, r0 + ldrb r0, [r1, #0x10] + mov r8, r1 + cmp r0, #1 + beq _0807D330 + cmp r0, #1 + bgt _0807D2B4 + cmp r0, #0 + beq _0807D2BA + b _0807D404 + .align 2, 0 +_0807D2B0: .4byte gRoomControls +_0807D2B4: + cmp r0, #2 + beq _0807D3A0 + b _0807D404 +_0807D2BA: + mov r2, r8 + ldrh r1, [r2, #0x18] + movs r0, #3 + ands r0, r1 + cmp r0, #1 + beq _0807D2C8 + b _0807D462 +_0807D2C8: + movs r2, #0x1c + asrs r3, r3, #4 + mov sb, r3 + movs r3, #0x40 + adds r3, r3, r5 + mov ip, r3 + ldr r4, _0807D328 @ =0x040000D4 + ldr r7, _0807D32C @ =0x80000020 + movs r0, #0xe8 + lsls r0, r0, #3 + adds r3, r5, r0 + subs r0, #0x80 + adds r1, r5, r0 +_0807D2E2: + str r1, [r4] + str r3, [r4, #4] + str r7, [r4, #8] + ldr r0, [r4, #8] + subs r3, #0x40 + subs r1, #0x40 + subs r2, #1 + cmp r2, #0 + bgt _0807D2E2 + mov r1, r8 + ldrh r0, [r1, #0x20] + lsrs r0, r0, #4 + subs r0, #1 + ldrh r1, [r1, #0x18] + lsrs r1, r1, #2 + subs r0, r0, r1 + lsls r0, r0, #8 + mov r2, sb + lsls r1, r2, #1 + adds r0, r0, r1 + lsls r0, r0, #1 + adds r6, r6, r0 + ldr r0, _0807D328 @ =0x040000D4 + str r6, [r0] + str r5, [r0, #4] + ldr r2, _0807D32C @ =0x80000020 + str r2, [r0, #8] + ldr r1, [r0, #8] + movs r3, #0x80 + lsls r3, r3, #1 + adds r1, r6, r3 + str r1, [r0] + mov r1, ip + b _0807D3F0 + .align 2, 0 +_0807D328: .4byte 0x040000D4 +_0807D32C: .4byte 0x80000020 +_0807D330: + mov r2, r8 + ldrh r3, [r2, #0x18] + movs r0, #3 + ands r0, r3 + cmp r0, #0 + beq _0807D33E + b _0807D462 +_0807D33E: + asrs r7, r4, #4 + movs r0, #0x3c + adds r0, r0, r5 + mov sb, r0 + cmp r3, #0 + beq _0807D36A + ldr r4, _0807D398 @ =0x040000D4 + ldr r1, _0807D39C @ =0x8000001E + mov ip, r1 + adds r3, r5, #4 + adds r1, r5, #0 + movs r2, #0x15 +_0807D356: + str r3, [r4] + str r1, [r4, #4] + mov r0, ip + str r0, [r4, #8] + ldr r0, [r4, #8] + adds r3, #0x40 + adds r1, #0x40 + subs r2, #1 + cmp r2, #0 + bge _0807D356 +_0807D36A: + lsls r1, r7, #8 + mov r2, r8 + ldrh r0, [r2, #0x18] + lsrs r0, r0, #2 + lsls r0, r0, #1 + adds r1, r1, r0 + lsls r1, r1, #1 + adds r6, r6, r1 + mov r5, sb + movs r1, #0x80 + lsls r1, r1, #1 + movs r2, #0x15 +_0807D382: + ldrh r0, [r6] + strh r0, [r5] + ldrh r0, [r6, #2] + strh r0, [r5, #2] + adds r5, #0x40 + adds r6, r6, r1 + subs r2, #1 + cmp r2, #0 + bge _0807D382 + b _0807D462 + .align 2, 0 +_0807D398: .4byte 0x040000D4 +_0807D39C: .4byte 0x8000001E +_0807D3A0: + mov r0, r8 + ldrh r1, [r0, #0x18] + movs r0, #3 + ands r0, r1 + cmp r0, #0 + bne _0807D462 + lsls r2, r1, #0x10 + cmp r2, #0 + beq _0807D3C2 + ldr r1, _0807D3F8 @ =0x040000D4 + adds r0, r5, #0 + adds r0, #0x80 + str r0, [r1] + str r5, [r1, #4] + ldr r0, _0807D3FC @ =0x800003C0 + str r0, [r1, #8] + ldr r0, [r1, #8] +_0807D3C2: + lsrs r0, r2, #0x12 + lsls r0, r0, #8 + asrs r1, r3, #4 + lsls r1, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #1 + adds r6, r6, r0 + ldr r0, _0807D3F8 @ =0x040000D4 + str r6, [r0] + movs r2, #0xa0 + lsls r2, r2, #3 + adds r1, r5, r2 + str r1, [r0, #4] + ldr r2, _0807D400 @ =0x80000020 + str r2, [r0, #8] + ldr r1, [r0, #8] + movs r3, #0x80 + lsls r3, r3, #1 + adds r1, r6, r3 + str r1, [r0] + movs r3, #0xa8 + lsls r3, r3, #3 + adds r1, r5, r3 +_0807D3F0: + str r1, [r0, #4] + str r2, [r0, #8] + ldr r0, [r0, #8] + b _0807D462 + .align 2, 0 +_0807D3F8: .4byte 0x040000D4 +_0807D3FC: .4byte 0x800003C0 +_0807D400: .4byte 0x80000020 +_0807D404: + mov r0, r8 + ldrh r1, [r0, #0x18] + movs r0, #3 + ands r0, r1 + cmp r0, #1 + bne _0807D462 + movs r2, #0 + asrs r7, r4, #4 + mov ip, r5 +_0807D416: + movs r1, #0x1d + mov r3, ip + adds r3, #0x3a +_0807D41C: + ldrh r0, [r3] + strh r0, [r3, #4] + subs r3, #2 + subs r1, #1 + cmp r1, #0 + bge _0807D41C + movs r1, #0x40 + add ip, r1 + adds r2, #1 + cmp r2, #0x15 + ble _0807D416 + lsls r0, r7, #8 + mov r2, r8 + ldrh r1, [r2, #0x1e] + lsrs r1, r1, #4 + subs r1, #1 + ldrh r2, [r2, #0x18] + lsrs r2, r2, #2 + subs r1, r1, r2 + lsls r1, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #1 + adds r6, r6, r0 + movs r1, #0x80 + lsls r1, r1, #1 + movs r2, #0x15 +_0807D450: + ldrh r0, [r6] + strh r0, [r5] + ldrh r0, [r6, #2] + strh r0, [r5, #2] + adds r5, #0x40 + adds r6, r6, r1 + subs r2, #1 + cmp r2, #0 + bge _0807D450 +_0807D462: + pop {r3, r4} + mov r8, r3 + mov sb, r4 + pop {r4, r5, r6, r7, pc} + .align 2, 0 diff --git a/asm/non_matching/code_0807CC3C/sub_0807D46C.inc b/asm/non_matching/code_0807CC3C/sub_0807D46C.inc index bc6c9618..b3696327 100644 --- a/asm/non_matching/code_0807CC3C/sub_0807D46C.inc +++ b/asm/non_matching/code_0807CC3C/sub_0807D46C.inc @@ -1,6 +1,3 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" .syntax unified diff --git a/src/code_0807CC3C.c b/src/code_0807CC3C.c index 3b54ebbd..eec65bda 100644 --- a/src/code_0807CC3C.c +++ b/src/code_0807CC3C.c @@ -22,6 +22,10 @@ extern void _call_via_r6(Entity*, ScriptExecutionContext*); void sub_0807DB88(ScriptExecutionContext* context, u32 unk1); void sub_0807DAF0(Entity* entity, ScriptExecutionContext* context, u32 unk1); +NONMATCH("asm/non_matching/code_0807CC3C/sub_0807D280.inc", void sub_0807D280(u32 unk_1, u32 unk_2)) { +} +END_NONMATCH + NONMATCH("asm/non_matching/code_0807CC3C/sub_0807D46C.inc", void sub_0807D46C(u32 unk_1, u32 unk_2)) { } END_NONMATCH From d067c16b37808306c467056cd36021c188e7aebe Mon Sep 17 00:00:00 2001 From: Henny022p Date: Tue, 16 Feb 2021 17:32:38 +0100 Subject: [PATCH 068/101] nonmatch sub_0807D24C --- asm/code_0807CC3C.s | 32 ---------------- .../code_0807CC3C/sub_0807D24C.inc | 37 +++++++++++++++++++ .../code_0807CC3C/sub_0807D280.inc | 3 -- src/code_0807CC3C.c | 16 ++++++++ 4 files changed, 53 insertions(+), 35 deletions(-) create mode 100644 asm/non_matching/code_0807CC3C/sub_0807D24C.inc diff --git a/asm/code_0807CC3C.s b/asm/code_0807CC3C.s index 25c5f7f4..79a61fd0 100644 --- a/asm/code_0807CC3C.s +++ b/asm/code_0807CC3C.s @@ -392,35 +392,3 @@ _0807D242: _0807D24A: pop {r4, r5, r6, r7, pc} - thumb_func_start sub_0807D24C -sub_0807D24C: @ 0x0807D24C - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r6, r1, #0 - lsrs r4, r2, #3 - adds r0, r4, #0 - lsrs r5, r5, #3 - b _0807D274 -_0807D25A: - lsls r0, r5, #0x10 - lsrs r0, r0, #0x10 - adds r1, r6, #0 - bl sub_080B180C - lsls r0, r0, #0x10 - cmp r0, #0 - beq _0807D26E - movs r0, #0 - b _0807D27C -_0807D26E: - adds r5, #1 - adds r6, #8 - adds r0, r4, #0 -_0807D274: - subs r4, #1 - cmp r0, #0 - bne _0807D25A - movs r0, #1 -_0807D27C: - pop {r4, r5, r6, pc} - .align 2, 0 - diff --git a/asm/non_matching/code_0807CC3C/sub_0807D24C.inc b/asm/non_matching/code_0807CC3C/sub_0807D24C.inc new file mode 100644 index 00000000..cc91ceb6 --- /dev/null +++ b/asm/non_matching/code_0807CC3C/sub_0807D24C.inc @@ -0,0 +1,37 @@ + .include "asm/macros.inc" + + .include "constants/constants.inc" + + .syntax unified + + .text + + push {r4, r5, r6, lr} + adds r5, r0, #0 + adds r6, r1, #0 + lsrs r4, r2, #3 + adds r0, r4, #0 + lsrs r5, r5, #3 + b _0807D274 +_0807D25A: + lsls r0, r5, #0x10 + lsrs r0, r0, #0x10 + adds r1, r6, #0 + bl sub_080B180C + lsls r0, r0, #0x10 + cmp r0, #0 + beq _0807D26E + movs r0, #0 + b _0807D27C +_0807D26E: + adds r5, #1 + adds r6, #8 + adds r0, r4, #0 +_0807D274: + subs r4, #1 + cmp r0, #0 + bne _0807D25A + movs r0, #1 +_0807D27C: + pop {r4, r5, r6, pc} + .align 2, 0 diff --git a/asm/non_matching/code_0807CC3C/sub_0807D280.inc b/asm/non_matching/code_0807CC3C/sub_0807D280.inc index 152e93de..a9d083ae 100644 --- a/asm/non_matching/code_0807CC3C/sub_0807D280.inc +++ b/asm/non_matching/code_0807CC3C/sub_0807D280.inc @@ -1,6 +1,3 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" .syntax unified diff --git a/src/code_0807CC3C.c b/src/code_0807CC3C.c index eec65bda..74b38de7 100644 --- a/src/code_0807CC3C.c +++ b/src/code_0807CC3C.c @@ -14,6 +14,7 @@ extern u32 gUnk_02036570; extern void CreateSpeechBubbleExclamationMark(Entity*, u32, u32); extern void CreateSpeechBubbleQuestionMark(Entity*, u32, u32); extern void DeleteThisEntity(void); +extern u32 sub_080B180C(u32, const char*); extern void sub_0801C4A0(u32); extern void sub_0807DB98(Entity*, ScriptExecutionContext*); extern s32 __divsi3(s32, s32); @@ -22,6 +23,21 @@ extern void _call_via_r6(Entity*, ScriptExecutionContext*); void sub_0807DB88(ScriptExecutionContext* context, u32 unk1); void sub_0807DAF0(Entity* entity, ScriptExecutionContext* context, u32 unk1); +// this is wrong by basically one instruction in the wrong place +NONMATCH("asm/non_matching/code_0807CC3C/sub_0807D24C.inc", u32 sub_0807D24C(u32 unk_1, const char* unk_2, u32 unk_3)) { + unk_3 >>= 3; + unk_1 >>= 3; + while (unk_3-- > 0) { + if (sub_080B180C(unk_1, unk_2)) + return 0; + unk_1++; + unk_2 += 4; + } + return 1; +} +END_NONMATCH + +// these three functions use gRoomControls, maybe once that is understood better, these can be decompiled easier NONMATCH("asm/non_matching/code_0807CC3C/sub_0807D280.inc", void sub_0807D280(u32 unk_1, u32 unk_2)) { } END_NONMATCH From 7faadfd5226090b2eaf2cf1445970413f811be1e Mon Sep 17 00:00:00 2001 From: Henny022p Date: Tue, 16 Feb 2021 18:02:17 +0100 Subject: [PATCH 069/101] nonmatch sub_0807D20C --- asm/code_0807CC3C.s | 37 ---------------- .../code_0807CC3C/sub_0807D20C.inc | 42 +++++++++++++++++++ .../code_0807CC3C/sub_0807D24C.inc | 3 -- include/functions.h | 2 +- src/code_0807CC3C.c | 20 ++++++++- 5 files changed, 62 insertions(+), 42 deletions(-) create mode 100644 asm/non_matching/code_0807CC3C/sub_0807D20C.inc diff --git a/asm/code_0807CC3C.s b/asm/code_0807CC3C.s index 79a61fd0..11b495f8 100644 --- a/asm/code_0807CC3C.s +++ b/asm/code_0807CC3C.s @@ -355,40 +355,3 @@ _0807D208: pop {r4, r5, r6, pc} .align 2, 0 - thumb_func_start sub_0807D20C -sub_0807D20C: @ 0x0807D20C - push {r4, r5, r6, r7, lr} - adds r6, r0, #0 - adds r7, r1, #0 - lsrs r5, r2, #3 - adds r0, r5, #0 - lsrs r6, r6, #3 - b _0807D242 -_0807D21A: - lsls r0, r6, #0x10 - lsrs r4, r0, #0x10 - adds r0, r4, #0 - adds r1, r7, #0 - bl sub_080B18DC - lsls r0, r0, #0x10 - cmp r0, #0 - beq _0807D23C - adds r0, r4, #0 - ldr r1, _0807D238 @ =gUnk_0811E4B4 - bl sub_080B18DC - movs r0, #0 - b _0807D24A - .align 2, 0 -_0807D238: .4byte gUnk_0811E4B4 -_0807D23C: - adds r6, #1 - adds r7, #8 - adds r0, r5, #0 -_0807D242: - subs r5, #1 - cmp r0, #0 - bne _0807D21A - movs r0, #1 -_0807D24A: - pop {r4, r5, r6, r7, pc} - diff --git a/asm/non_matching/code_0807CC3C/sub_0807D20C.inc b/asm/non_matching/code_0807CC3C/sub_0807D20C.inc new file mode 100644 index 00000000..31a81d5b --- /dev/null +++ b/asm/non_matching/code_0807CC3C/sub_0807D20C.inc @@ -0,0 +1,42 @@ + .include "asm/macros.inc" + + .include "constants/constants.inc" + + .syntax unified + + .text + + push {r4, r5, r6, r7, lr} + adds r6, r0, #0 + adds r7, r1, #0 + lsrs r5, r2, #3 + adds r0, r5, #0 + lsrs r6, r6, #3 + b _0807D242 +_0807D21A: + lsls r0, r6, #0x10 + lsrs r4, r0, #0x10 + adds r0, r4, #0 + adds r1, r7, #0 + bl sub_080B18DC + lsls r0, r0, #0x10 + cmp r0, #0 + beq _0807D23C + adds r0, r4, #0 + ldr r1, _0807D238 @ =gUnk_0811E4B4 + bl sub_080B18DC + movs r0, #0 + b _0807D24A + .align 2, 0 +_0807D238: .4byte gUnk_0811E4B4 +_0807D23C: + adds r6, #1 + adds r7, #8 + adds r0, r5, #0 +_0807D242: + subs r5, #1 + cmp r0, #0 + bne _0807D21A + movs r0, #1 +_0807D24A: + pop {r4, r5, r6, r7, pc} diff --git a/asm/non_matching/code_0807CC3C/sub_0807D24C.inc b/asm/non_matching/code_0807CC3C/sub_0807D24C.inc index cc91ceb6..2de1c0ff 100644 --- a/asm/non_matching/code_0807CC3C/sub_0807D24C.inc +++ b/asm/non_matching/code_0807CC3C/sub_0807D24C.inc @@ -1,6 +1,3 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" .syntax unified diff --git a/include/functions.h b/include/functions.h index 407641c0..4866a847 100644 --- a/include/functions.h +++ b/include/functions.h @@ -222,7 +222,7 @@ extern void sub_080B1520(u32); extern struct_0807D1C4* sub_0807D1C4(u32); extern u32 sub_0807D24C(u32, const char*, u32); extern void sub_0807CF68(u32); -extern void sub_0807D20C(u32, const char*, u32); +extern u32 sub_0807D20C(u32, const char*, u32); extern u32 sub_0807CF88(u32, u8*); extern void sub_0807D184(u32, const char*); extern u32 sub_0806F520(); diff --git a/src/code_0807CC3C.c b/src/code_0807CC3C.c index 74b38de7..69c81441 100644 --- a/src/code_0807CC3C.c +++ b/src/code_0807CC3C.c @@ -6,6 +6,7 @@ extern u8 gUnk_0811E514[]; extern u8 gUnk_0811E510[]; +extern const char gUnk_0811E4B4[8]; // the type is just a guess based on size and the fact that these are around a lot in this file extern ScriptExecutionContext gUnk_02022750; // might be ScriptExecutionContext[0x20] @@ -19,11 +20,28 @@ extern void sub_0801C4A0(u32); extern void sub_0807DB98(Entity*, ScriptExecutionContext*); extern s32 __divsi3(s32, s32); extern void _call_via_r6(Entity*, ScriptExecutionContext*); +extern u16 sub_080B18DC(u16, const char*); void sub_0807DB88(ScriptExecutionContext* context, u32 unk1); void sub_0807DAF0(Entity* entity, ScriptExecutionContext* context, u32 unk1); + // this is wrong by basically one instruction in the wrong place +NONMATCH("asm/non_matching/code_0807CC3C/sub_0807D20C.inc",u32 sub_0807D20C(u32 unk_1, const char* unk_2, u32 unk_3)) { + unk_3 >>= 3; + unk_1 >>= 3; + while (unk_3-- > 0) { + if (sub_080B18DC(unk_1, unk_2)) { + sub_080B18DC(unk_1, gUnk_0811E4B4); + return 0; + } + unk_1++; + unk_2 += 8; + } + return 1; +} +END_NONMATCH + NONMATCH("asm/non_matching/code_0807CC3C/sub_0807D24C.inc", u32 sub_0807D24C(u32 unk_1, const char* unk_2, u32 unk_3)) { unk_3 >>= 3; unk_1 >>= 3; @@ -31,7 +49,7 @@ NONMATCH("asm/non_matching/code_0807CC3C/sub_0807D24C.inc", u32 sub_0807D24C(u32 if (sub_080B180C(unk_1, unk_2)) return 0; unk_1++; - unk_2 += 4; + unk_2 += 8; } return 1; } From 80f15cd75b893740db734d47c218737059a8fab9 Mon Sep 17 00:00:00 2001 From: Henny022p Date: Tue, 16 Feb 2021 18:09:14 +0100 Subject: [PATCH 070/101] nonmatch sub_0807D1D8 --- asm/code_0807CC3C.s | 32 ---------------- .../code_0807CC3C/sub_0807D1D8.inc | 37 +++++++++++++++++++ .../code_0807CC3C/sub_0807D20C.inc | 3 -- src/code_0807CC3C.c | 7 +++- 4 files changed, 42 insertions(+), 37 deletions(-) create mode 100644 asm/non_matching/code_0807CC3C/sub_0807D1D8.inc diff --git a/asm/code_0807CC3C.s b/asm/code_0807CC3C.s index 11b495f8..32a1fc91 100644 --- a/asm/code_0807CC3C.s +++ b/asm/code_0807CC3C.s @@ -323,35 +323,3 @@ sub_0807D1C4: @ 0x0807D1C4 .align 2, 0 _0807D1D4: .4byte gUnk_0811E4BC - thumb_func_start sub_0807D1D8 -sub_0807D1D8: @ 0x0807D1D8 - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r6, r1, #0 - lsrs r4, r2, #3 - adds r0, r4, #0 - lsrs r5, r5, #3 - b _0807D200 -_0807D1E6: - lsls r0, r5, #0x10 - lsrs r0, r0, #0x10 - adds r1, r6, #0 - bl sub_080B15E8 - lsls r0, r0, #0x10 - cmp r0, #0 - beq _0807D1FA - movs r0, #0 - b _0807D208 -_0807D1FA: - adds r5, #1 - adds r6, #8 - adds r0, r4, #0 -_0807D200: - subs r4, #1 - cmp r0, #0 - bne _0807D1E6 - movs r0, #1 -_0807D208: - pop {r4, r5, r6, pc} - .align 2, 0 - diff --git a/asm/non_matching/code_0807CC3C/sub_0807D1D8.inc b/asm/non_matching/code_0807CC3C/sub_0807D1D8.inc new file mode 100644 index 00000000..f96b3810 --- /dev/null +++ b/asm/non_matching/code_0807CC3C/sub_0807D1D8.inc @@ -0,0 +1,37 @@ + .include "asm/macros.inc" + + .include "constants/constants.inc" + + .syntax unified + + .text + + push {r4, r5, r6, lr} + adds r5, r0, #0 + adds r6, r1, #0 + lsrs r4, r2, #3 + adds r0, r4, #0 + lsrs r5, r5, #3 + b _0807D200 +_0807D1E6: + lsls r0, r5, #0x10 + lsrs r0, r0, #0x10 + adds r1, r6, #0 + bl sub_080B15E8 + lsls r0, r0, #0x10 + cmp r0, #0 + beq _0807D1FA + movs r0, #0 + b _0807D208 +_0807D1FA: + adds r5, #1 + adds r6, #8 + adds r0, r4, #0 +_0807D200: + subs r4, #1 + cmp r0, #0 + bne _0807D1E6 + movs r0, #1 +_0807D208: + pop {r4, r5, r6, pc} + .align 2, 0 diff --git a/asm/non_matching/code_0807CC3C/sub_0807D20C.inc b/asm/non_matching/code_0807CC3C/sub_0807D20C.inc index 31a81d5b..e1822fc3 100644 --- a/asm/non_matching/code_0807CC3C/sub_0807D20C.inc +++ b/asm/non_matching/code_0807CC3C/sub_0807D20C.inc @@ -1,6 +1,3 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" .syntax unified diff --git a/src/code_0807CC3C.c b/src/code_0807CC3C.c index 69c81441..ef470d10 100644 --- a/src/code_0807CC3C.c +++ b/src/code_0807CC3C.c @@ -25,9 +25,12 @@ extern u16 sub_080B18DC(u16, const char*); void sub_0807DB88(ScriptExecutionContext* context, u32 unk1); void sub_0807DAF0(Entity* entity, ScriptExecutionContext* context, u32 unk1); +// these three are basically the same and wrong by basically one instruction in the wrong place +NONMATCH("asm/non_matching/code_0807CC3C/sub_0807D1D8.inc", u32 sub_0807D1D8(u32 unk_1, const char* unk_2, u32 unk_3)) { +} +END_NONMATCH -// this is wrong by basically one instruction in the wrong place -NONMATCH("asm/non_matching/code_0807CC3C/sub_0807D20C.inc",u32 sub_0807D20C(u32 unk_1, const char* unk_2, u32 unk_3)) { +NONMATCH("asm/non_matching/code_0807CC3C/sub_0807D20C.inc", u32 sub_0807D20C(u32 unk_1, const char* unk_2, u32 unk_3)) { unk_3 >>= 3; unk_1 >>= 3; while (unk_3-- > 0) { From 6498e3d531fcd0edce42b2dcd66692544e2d96d3 Mon Sep 17 00:00:00 2001 From: Henny022p Date: Tue, 16 Feb 2021 18:13:41 +0100 Subject: [PATCH 071/101] nonmatch sub_0807D1C4 --- asm/code_0807CC3C.s | 12 ------------ src/code_0807CC3C.c | 5 +++++ 2 files changed, 5 insertions(+), 12 deletions(-) diff --git a/asm/code_0807CC3C.s b/asm/code_0807CC3C.s index 32a1fc91..a244a968 100644 --- a/asm/code_0807CC3C.s +++ b/asm/code_0807CC3C.s @@ -311,15 +311,3 @@ _0807D1BC: pop {pc} .align 2, 0 - thumb_func_start sub_0807D1C4 -sub_0807D1C4: @ 0x0807D1C4 - adds r1, r0, #0 - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #2 - ldr r1, _0807D1D4 @ =gUnk_0811E4BC - adds r0, r0, r1 - bx lr - .align 2, 0 -_0807D1D4: .4byte gUnk_0811E4BC - diff --git a/src/code_0807CC3C.c b/src/code_0807CC3C.c index ef470d10..f6e531b7 100644 --- a/src/code_0807CC3C.c +++ b/src/code_0807CC3C.c @@ -6,6 +6,7 @@ extern u8 gUnk_0811E514[]; extern u8 gUnk_0811E510[]; +extern u8 gUnk_0811E4BC[]; extern const char gUnk_0811E4B4[8]; // the type is just a guess based on size and the fact that these are around a lot in this file extern ScriptExecutionContext gUnk_02022750; @@ -25,6 +26,10 @@ extern u16 sub_080B18DC(u16, const char*); void sub_0807DB88(ScriptExecutionContext* context, u32 unk1); void sub_0807DAF0(Entity* entity, ScriptExecutionContext* context, u32 unk1); +struct_0807D1C4* sub_0807D1C4(u32 param_1) { + return (struct_0807D1C4*)(gUnk_0811E4BC + param_1 * 0xc); +} + // these three are basically the same and wrong by basically one instruction in the wrong place NONMATCH("asm/non_matching/code_0807CC3C/sub_0807D1D8.inc", u32 sub_0807D1D8(u32 unk_1, const char* unk_2, u32 unk_3)) { } From f00aaa506a663159117ad3c3a13c7c488a15b7d5 Mon Sep 17 00:00:00 2001 From: Henny022p Date: Tue, 16 Feb 2021 18:16:26 +0100 Subject: [PATCH 072/101] match sub_0807D1A4 --- asm/code_0807CC3C.s | 21 --------------------- src/code_0807CC3C.c | 16 ++++++++++++++-- 2 files changed, 14 insertions(+), 23 deletions(-) diff --git a/asm/code_0807CC3C.s b/asm/code_0807CC3C.s index a244a968..a42a1965 100644 --- a/asm/code_0807CC3C.s +++ b/asm/code_0807CC3C.s @@ -290,24 +290,3 @@ _0807D1A0: pop {r4, r5, pc} .align 2, 0 - thumb_func_start sub_0807D1A4 -sub_0807D1A4: @ 0x0807D1A4 - push {lr} - adds r2, r0, #0 - movs r3, #0 - cmp r1, #0 - beq _0807D1BC -_0807D1AE: - ldrh r0, [r2] - eors r0, r1 - adds r3, r3, r0 - adds r2, #2 - subs r1, #2 - cmp r1, #0 - bne _0807D1AE -_0807D1BC: - lsls r0, r3, #0x10 - lsrs r0, r0, #0x10 - pop {pc} - .align 2, 0 - diff --git a/src/code_0807CC3C.c b/src/code_0807CC3C.c index f6e531b7..47233f43 100644 --- a/src/code_0807CC3C.c +++ b/src/code_0807CC3C.c @@ -26,8 +26,20 @@ extern u16 sub_080B18DC(u16, const char*); void sub_0807DB88(ScriptExecutionContext* context, u32 unk1); void sub_0807DAF0(Entity* entity, ScriptExecutionContext* context, u32 unk1); -struct_0807D1C4* sub_0807D1C4(u32 param_1) { - return (struct_0807D1C4*)(gUnk_0811E4BC + param_1 * 0xc); +u16 sub_0807D1A4(u16* unk_1, u32 unk_2) { + u32 uVar1; + + uVar1 = 0; + while (unk_2 != 0) { + uVar1 = uVar1 + (*unk_1 ^ unk_2); + unk_1 = unk_1 + 1; + unk_2 = unk_2 - 2; + } + return uVar1; +} + +struct_0807D1C4* sub_0807D1C4(u32 unk_1) { + return (struct_0807D1C4*)(gUnk_0811E4BC + unk_1 * 0xc); } // these three are basically the same and wrong by basically one instruction in the wrong place From 6fed117565f30cb3f7d61c67df08096fbe2b9ba5 Mon Sep 17 00:00:00 2001 From: Henny022p Date: Tue, 16 Feb 2021 18:18:39 +0100 Subject: [PATCH 073/101] match sub_0807D184 --- asm/code_0807CC3C.s | 18 ------------------ src/code_0807CC3C.c | 6 ++++++ 2 files changed, 6 insertions(+), 18 deletions(-) diff --git a/asm/code_0807CC3C.s b/asm/code_0807CC3C.s index a42a1965..9e7e4d8a 100644 --- a/asm/code_0807CC3C.s +++ b/asm/code_0807CC3C.s @@ -272,21 +272,3 @@ _0807D17E: pop {pc} .align 2, 0 - thumb_func_start sub_0807D184 -sub_0807D184: @ 0x0807D184 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - movs r2, #8 - bl sub_0807D20C - cmp r0, #0 - bne _0807D1A0 - adds r0, r4, #0 - adds r0, #8 - adds r1, r5, #0 - movs r2, #8 - bl sub_0807D20C -_0807D1A0: - pop {r4, r5, pc} - .align 2, 0 - diff --git a/src/code_0807CC3C.c b/src/code_0807CC3C.c index 47233f43..c3b71781 100644 --- a/src/code_0807CC3C.c +++ b/src/code_0807CC3C.c @@ -26,6 +26,12 @@ extern u16 sub_080B18DC(u16, const char*); void sub_0807DB88(ScriptExecutionContext* context, u32 unk1); void sub_0807DAF0(Entity* entity, ScriptExecutionContext* context, u32 unk1); +void sub_0807D184(u32 param_1, const char* param_2) { + if (sub_0807D20C(param_1, param_2, 8) == 0) { + sub_0807D20C(param_1 + 8, param_2, 8); + } +} + u16 sub_0807D1A4(u16* unk_1, u32 unk_2) { u32 uVar1; From a4889a17899a7a4c8b61c07d65fad584ed51acd1 Mon Sep 17 00:00:00 2001 From: Henny022p Date: Tue, 16 Feb 2021 18:58:30 +0100 Subject: [PATCH 074/101] match sub_0807D128 --- asm/code_0807CC3C.s | 53 --------------------------------------------- src/code_0807CC3C.c | 24 ++++++++++++++++++++ 2 files changed, 24 insertions(+), 53 deletions(-) diff --git a/asm/code_0807CC3C.s b/asm/code_0807CC3C.s index 9e7e4d8a..9a9ab84d 100644 --- a/asm/code_0807CC3C.s +++ b/asm/code_0807CC3C.s @@ -219,56 +219,3 @@ _0807D124: adds r0, r5, #0 pop {r4, r5, r6, pc} - thumb_func_start sub_0807D128 -sub_0807D128: @ 0x0807D128 - push {lr} - adds r2, r0, #0 - ldr r1, [r2, #4] - ldr r0, _0807D13C @ =0x4D435A33 - cmp r1, r0 - beq _0807D150 - cmp r1, r0 - bhi _0807D144 - ldr r0, _0807D140 @ =0x466C6544 - b _0807D146 - .align 2, 0 -_0807D13C: .4byte 0x4D435A33 -_0807D140: .4byte 0x466C6544 -_0807D144: - ldr r0, _0807D14C @ =0x54494E49 -_0807D146: - cmp r1, r0 - beq _0807D164 - b _0807D17C - .align 2, 0 -_0807D14C: .4byte 0x54494E49 -_0807D150: - ldrh r0, [r2] - ldrh r1, [r2, #2] - adds r0, r0, r1 - movs r1, #0x80 - lsls r1, r1, #9 - movs r3, #0 - cmp r0, r1 - bne _0807D17E - movs r3, #2 - b _0807D17E -_0807D164: - movs r3, #0 - ldrh r0, [r2] - ldrh r1, [r2, #2] - ands r1, r0 - ldr r0, _0807D178 @ =0x0000FFFF - cmp r1, r0 - bne _0807D17E - movs r3, #1 - b _0807D17E - .align 2, 0 -_0807D178: .4byte 0x0000FFFF -_0807D17C: - movs r3, #0 -_0807D17E: - adds r0, r3, #0 - pop {pc} - .align 2, 0 - diff --git a/src/code_0807CC3C.c b/src/code_0807CC3C.c index c3b71781..35513d3b 100644 --- a/src/code_0807CC3C.c +++ b/src/code_0807CC3C.c @@ -26,6 +26,30 @@ extern u16 sub_080B18DC(u16, const char*); void sub_0807DB88(ScriptExecutionContext* context, u32 unk1); void sub_0807DAF0(Entity* entity, ScriptExecutionContext* context, u32 unk1); +u32 sub_0807D128(u16* unk_1) { + u32 ret; + switch (((u32*)(unk_1))[1]) { + case 'MCZ3': + if (unk_1[0] + unk_1[1] == 0x10000) { + ret = 2; + } else { + ret = 0; + } + break; + case 'FleD': + case 'TINI': + ret = 0; + if ((unk_1[0] & unk_1[1]) == 0xffff) { + ret = 1; + } + break; + default: + ret = 0; + break; + } + return ret; +} + void sub_0807D184(u32 param_1, const char* param_2) { if (sub_0807D20C(param_1, param_2, 8) == 0) { sub_0807D20C(param_1 + 8, param_2, 8); From 58ae4eb3cb0454b86531d969c5bf69b38e19dbdc Mon Sep 17 00:00:00 2001 From: theo3 Date: Tue, 16 Feb 2021 13:59:06 -0800 Subject: [PATCH 075/101] clean up, move files to game.c --- asm/code_0801C1D4.s | 4 +- asm/code_080A3BD0.s | 52 +-- asm/code_080A5574.s | 56 +-- asm/code_080AD90C.s | 4 +- asm/fileScreen.s | 372 ------------------ .../game/sub_08052418.inc} | 11 +- include/fileScreen.h | 13 +- include/main.h | 5 +- include/screen.h | 8 + include/structures.h | 3 +- linker.ld | 8 +- src/area.c | 36 -- src/fileScreen.c | 22 +- src/game.c | 346 ++++++++++++++++ src/initializePlayer.c | 68 ---- src/intro.c | 16 +- src/main.c | 22 +- src/modHealth.c | 20 - src/modRupees.c | 21 - src/tmc.code-workspace | 3 +- 20 files changed, 466 insertions(+), 624 deletions(-) rename asm/{sub_08052418.s => non_matching/game/sub_08052418.inc} (89%) delete mode 100644 src/area.c create mode 100644 src/game.c delete mode 100644 src/initializePlayer.c delete mode 100644 src/modHealth.c delete mode 100644 src/modRupees.c diff --git a/asm/code_0801C1D4.s b/asm/code_0801C1D4.s index 4d052ca2..0432cd6d 100644 --- a/asm/code_0801C1D4.s +++ b/asm/code_0801C1D4.s @@ -39,7 +39,7 @@ _0801C204: .4byte gUnk_080C8F8C sub_0801C208: @ 0x0801C208 push {r4, r5, lr} movs r5, #0 - ldr r4, _0801C250 @ =gUnk_03001010 + ldr r4, _0801C250 @ =gOamCmd _0801C20E: lsls r1, r5, #5 ldr r0, _0801C254 @ =gUnk_0200AF34 @@ -75,7 +75,7 @@ _0801C248: bls _0801C20E pop {r4, r5, pc} .align 2, 0 -_0801C250: .4byte gUnk_03001010 +_0801C250: .4byte gOamCmd _0801C254: .4byte gUnk_0200AF34 _0801C258: .4byte gUnk_080C8F8C diff --git a/asm/code_080A3BD0.s b/asm/code_080A3BD0.s index 79267c0b..247231b9 100644 --- a/asm/code_080A3BD0.s +++ b/asm/code_080A3BD0.s @@ -545,7 +545,7 @@ _080A407C: .4byte gUnk_02019EE0 thumb_func_start sub_080A4080 sub_080A4080: @ 0x080A4080 push {r4, r5, r6, r7, lr} - ldr r4, _080A4134 @ =gUnk_03001010 + ldr r4, _080A4134 @ =gOamCmd movs r0, #0 strh r0, [r4, #4] strh r0, [r4, #6] @@ -631,7 +631,7 @@ _080A411C: _080A4130: pop {r4, r5, r6, r7, pc} .align 2, 0 -_080A4134: .4byte gUnk_03001010 +_080A4134: .4byte gOamCmd _080A4138: .4byte gMenu _080A413C: .4byte 0x000001FB _080A4140: .4byte gUnk_03001000 @@ -644,7 +644,7 @@ sub_080A414C: @ 0x080A414C mov r7, sb mov r6, r8 push {r6, r7} - ldr r4, _080A4210 @ =gUnk_03001010 + ldr r4, _080A4210 @ =gOamCmd movs r0, #0 strh r0, [r4, #4] strh r0, [r4, #6] @@ -743,7 +743,7 @@ _080A4200: mov sb, r4 pop {r4, r5, r6, r7, pc} .align 2, 0 -_080A4210: .4byte gUnk_03001010 +_080A4210: .4byte gOamCmd _080A4214: .4byte gMenu _080A4218: .4byte 0x00000B21 _080A421C: .4byte gSineTable @@ -772,7 +772,7 @@ sub_080A422C: @ 0x080A422C adds r2, r4, #0 movs r3, #0 bl sub_0805ECEC - ldr r1, _080A42AC @ =gUnk_03001010 + ldr r1, _080A42AC @ =gOamCmd movs r0, #0 strh r4, [r1, #4] strh r0, [r1, #6] @@ -811,7 +811,7 @@ sub_080A422C: @ 0x080A422C .align 2, 0 _080A42A4: .4byte gMenu _080A42A8: .4byte gUnk_08128120 -_080A42AC: .4byte gUnk_03001010 +_080A42AC: .4byte gOamCmd _080A42B0: cmp r0, #6 beq _080A42C6 @@ -826,7 +826,7 @@ _080A42B6: _080A42C4: movs r4, #0x8a _080A42C6: - ldr r0, _080A42D8 @ =gUnk_03001010 + ldr r0, _080A42D8 @ =gOamCmd strh r4, [r0] ldr r0, _080A42DC @ =gUnk_02022740 ldrb r0, [r0, #3] @@ -834,7 +834,7 @@ _080A42C6: bl sub_080A42E0 pop {r4, r5, pc} .align 2, 0 -_080A42D8: .4byte gUnk_03001010 +_080A42D8: .4byte gOamCmd _080A42DC: .4byte gUnk_02022740 thumb_func_start sub_080A42E0 @@ -873,7 +873,7 @@ _080A42FA: adds r1, r4, #0 bl sub_0801C2F0 _080A4324: - ldr r1, _080A434C @ =gUnk_03001010 + ldr r1, _080A434C @ =gOamCmd ldr r2, _080A4350 @ =0x00003AE0 adds r0, r5, r2 strh r0, [r1, #8] @@ -893,7 +893,7 @@ _080A4324: b _080A4362 .align 2, 0 _080A4348: .4byte gUnk_02019EE0 -_080A434C: .4byte gUnk_03001010 +_080A434C: .4byte gOamCmd _080A4350: .4byte 0x00003AE0 _080A4354: .4byte gMenu _080A4358: @@ -907,7 +907,7 @@ _080A4362: movs r0, #0 movs r1, #5 bl sub_080ADA14 - ldr r0, _080A4394 @ =gUnk_03001010 + ldr r0, _080A4394 @ =gOamCmd strh r4, [r0] strh r5, [r0, #2] _080A4372: @@ -921,14 +921,14 @@ _080A4372: lsls r2, r2, #2 adds r0, r0, r2 orrs r1, r0 - ldr r0, _080A4394 @ =gUnk_03001010 + ldr r0, _080A4394 @ =gOamCmd strh r1, [r0, #8] movs r0, #0 movs r1, #3 bl sub_080ADA14 pop {r4, r5, r6, r7, pc} .align 2, 0 -_080A4394: .4byte gUnk_03001010 +_080A4394: .4byte gOamCmd thumb_func_start sub_080A4398 sub_080A4398: @ 0x080A4398 @@ -1705,7 +1705,7 @@ sub_080A4978: @ 0x080A4978 push {r4, r5, r6, r7, lr} mov r7, r8 push {r7} - ldr r5, _080A4B1C @ =gUnk_03001010 + ldr r5, _080A4B1C @ =gOamCmd movs r0, #0 strh r0, [r5, #4] strh r0, [r5, #6] @@ -1793,7 +1793,7 @@ _080A4A10: ldrb r0, [r5, #0x1e] cmp r0, #0 beq _080A4A6A - ldr r4, _080A4B1C @ =gUnk_03001010 + ldr r4, _080A4B1C @ =gOamCmd strh r2, [r4, #2] movs r0, #0x1f ldrsb r0, [r5, r0] @@ -1833,7 +1833,7 @@ _080A4A6A: ands r0, r1 cmp r0, #0 beq _080A4ABE - ldr r1, _080A4B1C @ =gUnk_03001010 + ldr r1, _080A4B1C @ =gOamCmd movs r0, #0x10 strh r0, [r1, #2] ldrb r4, [r2, #0x1c] @@ -1873,7 +1873,7 @@ _080A4ABE: bl sub_080A4948 cmp r0, #0 beq _080A4B3A - ldr r1, _080A4B1C @ =gUnk_03001010 + ldr r1, _080A4B1C @ =gOamCmd movs r0, #0x2c strh r0, [r1] movs r0, #0x48 @@ -1907,7 +1907,7 @@ _080A4ABE: bl LZ77UnCompVram b _080A4B3A .align 2, 0 -_080A4B1C: .4byte gUnk_03001010 +_080A4B1C: .4byte gOamCmd _080A4B20: .4byte gSave _080A4B24: .4byte gMenu _080A4B28: .4byte gUnk_03001000 @@ -2715,7 +2715,7 @@ _080A515A: _080A5182: str r0, [sp, #0x10] str r1, [sp, #0x14] - ldr r4, _080A51CC @ =gUnk_03001010 + ldr r4, _080A51CC @ =gOamCmd movs r0, #0 strh r0, [r4, #4] strh r0, [r4, #6] @@ -2748,7 +2748,7 @@ _080A51C6: add sp, #0x18 pop {r4, r5, pc} .align 2, 0 -_080A51CC: .4byte gUnk_03001010 +_080A51CC: .4byte gOamCmd _080A51D0: .4byte 0x000001FB thumb_func_start sub_080A51D4 @@ -2985,7 +2985,7 @@ sub_080A5384: @ 0x080A5384 mov r6, sb mov r5, r8 push {r5, r6, r7} - ldr r0, _080A5400 @ =gUnk_03001010 + ldr r0, _080A5400 @ =gOamCmd movs r2, #0 movs r1, #0x80 lsls r1, r1, #3 @@ -3014,7 +3014,7 @@ _080A53B4: ldr r0, _080A540C @ =gUnk_08128B64 adds r1, r6, r0 ldrb r0, [r1, #6] - ldr r3, _080A5400 @ =gUnk_03001010 + ldr r3, _080A5400 @ =gOamCmd strh r0, [r3] ldrb r0, [r1, #7] strh r0, [r3, #2] @@ -3045,7 +3045,7 @@ _080A53E0: bhi _080A542E b _080A542C .align 2, 0 -_080A5400: .4byte gUnk_03001010 +_080A5400: .4byte gOamCmd _080A5404: .4byte gSave _080A5408: .4byte gMenu _080A540C: .4byte gUnk_08128B64 @@ -3075,7 +3075,7 @@ _080A542E: adds r1, r7, #0 orrs r0, r1 orrs r2, r0 - ldr r0, _080A5530 @ =gUnk_03001010 + ldr r0, _080A5530 @ =gOamCmd strh r2, [r0, #8] ldr r1, _080A5534 @ =gUnk_080FDFD8 lsls r0, r3, #2 @@ -3090,7 +3090,7 @@ _080A5456: adds r5, #1 cmp r5, #0x10 bls _080A53B4 - ldr r0, _080A5530 @ =gUnk_03001010 + ldr r0, _080A5530 @ =gOamCmd movs r1, #0x80 lsls r1, r1, #4 strh r1, [r0, #8] @@ -3194,7 +3194,7 @@ _080A5522: pop {r4, r5, r6, r7, pc} .align 2, 0 _080A552C: .4byte gQuiverSizes -_080A5530: .4byte gUnk_03001010 +_080A5530: .4byte gOamCmd _080A5534: .4byte gUnk_080FDFD8 _080A5538: .4byte gMenu _080A553C: .4byte gUnk_08128B64 diff --git a/asm/code_080A5574.s b/asm/code_080A5574.s index c6e22207..8ad62f9b 100644 --- a/asm/code_080A5574.s +++ b/asm/code_080A5574.s @@ -325,7 +325,7 @@ sub_080A57F4: @ 0x080A57F4 mov r7, sb mov r6, r8 push {r6, r7} - ldr r2, _080A5890 @ =gUnk_03001010 + ldr r2, _080A5890 @ =gOamCmd movs r1, #0 movs r0, #0x80 lsls r0, r0, #3 @@ -382,7 +382,7 @@ _080A5854: lsls r5, r3, #3 mov r0, sb adds r3, r0, r5 - ldr r4, _080A5890 @ =gUnk_03001010 + ldr r4, _080A5890 @ =gOamCmd ldrb r0, [r7, #1] strh r0, [r4] ldrb r2, [r7, #2] @@ -401,7 +401,7 @@ _080A5854: ldr r0, _080A58A4 @ =0x000001FB b _080A58E4 .align 2, 0 -_080A5890: .4byte gUnk_03001010 +_080A5890: .4byte gOamCmd _080A5894: .4byte gUnk_08128C94 _080A5898: .4byte gUnk_08128C14 _080A589C: .4byte gMenu @@ -455,7 +455,7 @@ _080A58E8: ldrb r0, [r4, #0x12] cmp r0, #0 beq _080A5920 - ldr r2, _080A5988 @ =gUnk_03001010 + ldr r2, _080A5988 @ =gOamCmd movs r3, #0x80 lsls r3, r3, #4 adds r1, r3, #0 @@ -478,7 +478,7 @@ _080A5920: bne _080A5976 mov r3, sb adds r3, #0x18 - ldr r1, _080A5988 @ =gUnk_03001010 + ldr r1, _080A5988 @ =gOamCmd ldrb r0, [r3, #6] adds r0, #8 strh r0, [r1] @@ -522,7 +522,7 @@ _080A5976: .align 2, 0 _080A5980: .4byte gUnk_080FDFD8 _080A5984: .4byte gMenu -_080A5988: .4byte gUnk_03001010 +_080A5988: .4byte gOamCmd _080A598C: .4byte gSave thumb_func_start sub_080A5990 @@ -1004,7 +1004,7 @@ sub_080A5D1C: @ 0x080A5D1C ldrb r6, [r0] bl sub_0801DB94 mov r8, r0 - ldr r5, _080A5EA4 @ =gUnk_03001010 + ldr r5, _080A5EA4 @ =gOamCmd movs r0, #0x80 lsls r0, r0, #3 strh r0, [r5, #4] @@ -1133,7 +1133,7 @@ _080A5E42: ldr r0, _080A5EB0 @ =0x000001FB bl sub_080ADA14 _080A5E48: - ldr r1, _080A5EA4 @ =gUnk_03001010 + ldr r1, _080A5EA4 @ =gOamCmd movs r0, #0 strh r0, [r1, #8] movs r0, #0x34 @@ -1164,7 +1164,7 @@ _080A5E7C: ldrb r0, [r5] cmp r0, #0 beq _080A5F14 - ldr r7, _080A5EA4 @ =gUnk_03001010 + ldr r7, _080A5EA4 @ =gOamCmd ldr r6, _080A5EBC @ =gScreen _080A5E88: ldrb r0, [r5] @@ -1179,7 +1179,7 @@ _080A5E88: _080A5E98: .4byte gArea _080A5E9C: .4byte gUnk_080C9C6C _080A5EA0: .4byte gUnk_08128D3C -_080A5EA4: .4byte gUnk_03001010 +_080A5EA4: .4byte gOamCmd _080A5EA8: .4byte gMenu _080A5EAC: .4byte gUnk_03001000 _080A5EB0: .4byte 0x000001FB @@ -1399,7 +1399,7 @@ sub_080A6044: @ 0x080A6044 ldr r0, _080A60CC @ =gMenu ldr r1, _080A60D0 @ =gUnk_08128D51 str r1, [r0, #0xc] - ldr r1, _080A60D4 @ =gUnk_03001010 + ldr r1, _080A60D4 @ =gOamCmd movs r0, #0 strh r0, [r1, #4] strh r0, [r1, #6] @@ -1459,7 +1459,7 @@ _080A60C2: .align 2, 0 _080A60CC: .4byte gMenu _080A60D0: .4byte gUnk_08128D51 -_080A60D4: .4byte gUnk_03001010 +_080A60D4: .4byte gOamCmd _080A60D8: .4byte gSave _080A60DC: .4byte 0x0000012B @@ -1545,7 +1545,7 @@ sub_080A617C: @ 0x080A617C push {r4, r5, r6, r7, lr} mov r7, r8 push {r7} - ldr r6, _080A6260 @ =gUnk_03001010 + ldr r6, _080A6260 @ =gOamCmd movs r0, #0 strh r0, [r6, #4] strh r0, [r6, #6] @@ -1653,7 +1653,7 @@ _080A6250: mov r8, r3 pop {r4, r5, r6, r7, pc} .align 2, 0 -_080A6260: .4byte gUnk_03001010 +_080A6260: .4byte gOamCmd _080A6264: .4byte gMenu _080A6268: .4byte gUnk_03001000 _080A626C: .4byte gUnk_08128D70 @@ -1804,7 +1804,7 @@ sub_080A6378: @ 0x080A6378 beq _080A6392 bl sub_080A6438 _080A6392: - ldr r5, _080A6424 @ =gUnk_03001010 + ldr r5, _080A6424 @ =gOamCmd movs r0, #0x80 lsls r0, r0, #3 strh r0, [r5, #4] @@ -1852,7 +1852,7 @@ _080A63EA: lsls r0, r0, #3 ldr r1, _080A6434 @ =gUnk_08128DE8 adds r0, r0, r1 - ldr r2, _080A6424 @ =gUnk_03001010 + ldr r2, _080A6424 @ =gOamCmd ldrb r1, [r0, #6] strh r1, [r2] ldrb r0, [r0, #7] @@ -1873,7 +1873,7 @@ _080A63EA: pop {r4, r5, r6, pc} .align 2, 0 _080A6420: .4byte gMenu -_080A6424: .4byte gUnk_03001010 +_080A6424: .4byte gOamCmd _080A6428: .4byte gScreenTransition _080A642C: .4byte gPlayerState _080A6430: .4byte 0x000001FB @@ -1882,7 +1882,7 @@ _080A6434: .4byte gUnk_08128DE8 thumb_func_start sub_080A6438 sub_080A6438: @ 0x080A6438 push {r4, r5, r6, r7, lr} - ldr r2, _080A6484 @ =gUnk_03001010 + ldr r2, _080A6484 @ =gOamCmd movs r1, #0 movs r0, #0x80 lsls r0, r0, #3 @@ -1922,7 +1922,7 @@ _080A6478: _080A6482: pop {r4, r5, r6, r7, pc} .align 2, 0 -_080A6484: .4byte gUnk_03001010 +_080A6484: .4byte gOamCmd _080A6488: .4byte gSave _080A648C: .4byte gMenu _080A6490: .4byte gUnk_08128F58 @@ -1931,7 +1931,7 @@ _080A6494: .4byte 0x000001FB thumb_func_start sub_080A6498 sub_080A6498: @ 0x080A6498 push {r4, r5, r6, r7, lr} - ldr r0, _080A64E4 @ =gUnk_03001010 + ldr r0, _080A64E4 @ =gOamCmd movs r2, #0 movs r1, #0x80 lsls r1, r1, #4 @@ -1970,7 +1970,7 @@ _080A64D2: strh r1, [r0] pop {r4, r5, r6, r7, pc} .align 2, 0 -_080A64E4: .4byte gUnk_03001010 +_080A64E4: .4byte gOamCmd _080A64E8: .4byte gSave _080A64EC: .4byte gUnk_08128DE8 _080A64F0: .4byte 0x000001FB @@ -2206,7 +2206,7 @@ sub_080A66D0: @ 0x080A66D0 mov r6, sb mov r5, r8 push {r5, r6, r7} - ldr r6, _080A677C @ =gUnk_03001010 + ldr r6, _080A677C @ =gOamCmd movs r0, #0 strh r0, [r6, #4] strh r0, [r6, #6] @@ -2260,7 +2260,7 @@ _080A6738: ldr r1, _080A6780 @ =gMenu ldrh r0, [r1, #0xa] mov r8, r0 - ldr r2, _080A677C @ =gUnk_03001010 + ldr r2, _080A677C @ =gOamCmd movs r0, #0 strh r0, [r2, #4] strh r0, [r2, #6] @@ -2288,7 +2288,7 @@ _080A676E: lsrs r1, r5, #0x1f b _080A6796 .align 2, 0 -_080A677C: .4byte gUnk_03001010 +_080A677C: .4byte gOamCmd _080A6780: .4byte gMenu _080A6784: .4byte gUnk_08128E94 _080A6788: .4byte 0x000001FB @@ -3171,7 +3171,7 @@ _080A6E6C: .4byte gUnk_08128024 thumb_func_start sub_080A6E70 sub_080A6E70: @ 0x080A6E70 push {r4, r5, lr} - ldr r1, _080A6ED0 @ =gUnk_03001010 + ldr r1, _080A6ED0 @ =gOamCmd movs r0, #0 strh r0, [r1, #4] strh r0, [r1, #6] @@ -3218,7 +3218,7 @@ _080A6EC8: bls _080A6EAA pop {r4, r5, pc} .align 2, 0 -_080A6ED0: .4byte gUnk_03001010 +_080A6ED0: .4byte gOamCmd _080A6ED4: .4byte gMenu _080A6ED8: .4byte 0x000001FB _080A6EDC: .4byte gSave @@ -3247,7 +3247,7 @@ sub_080A6EE0: @ 0x080A6EE0 adds r3, r3, r0 ldrh r0, [r1, #2] adds r4, r4, r0 - ldr r6, _080A6F3C @ =gUnk_03001010 + ldr r6, _080A6F3C @ =gOamCmd lsls r0, r3, #2 adds r0, r0, r3 lsls r0, r0, #5 @@ -3268,7 +3268,7 @@ sub_080A6EE0: @ 0x080A6EE0 .align 2, 0 _080A6F34: .4byte gUnk_08128024 _080A6F38: .4byte gAreaRoomHeaders -_080A6F3C: .4byte gUnk_03001010 +_080A6F3C: .4byte gOamCmd thumb_func_start sub_080A6F40 sub_080A6F40: @ 0x080A6F40 diff --git a/asm/code_080AD90C.s b/asm/code_080AD90C.s index 9c9d41c4..a8d4a86c 100644 --- a/asm/code_080AD90C.s +++ b/asm/code_080AD90C.s @@ -148,13 +148,13 @@ sub_080ADA14: @ 0x080ADA14 adds r3, r0, #0 adds r2, r1, #0 ldr r4, _080ADA28 @ =gUnk_03006580 - ldr r0, _080ADA2C @ =gUnk_03001010 + ldr r0, _080ADA2C @ =gOamCmd adds r1, r3, #0 bl _call_via_r4 pop {r4, pc} .align 2, 0 _080ADA28: .4byte gUnk_03006580 -_080ADA2C: .4byte gUnk_03001010 +_080ADA2C: .4byte gOamCmd thumb_func_start sub_080ADA30 sub_080ADA30: @ 0x080ADA30 diff --git a/asm/fileScreen.s b/asm/fileScreen.s index e93a9e07..534bdbd8 100755 --- a/asm/fileScreen.s +++ b/asm/fileScreen.s @@ -846,375 +846,3 @@ _08052120: .4byte gSave _08052124: .4byte gUnk_03001000 _08052128: .4byte 0xFFFF0001 - thumb_func_start sub_0805212C -sub_0805212C: @ 0x0805212C - push {r4, lr} - ldr r4, _0805214C @ =gFadeControl - ldrb r0, [r4] - cmp r0, #0 - bne _0805219C - ldr r1, _08052150 @ =gUnk_03001000 - ldrb r0, [r1, #5] - cmp r0, #0 - bne _08052198 - ldr r1, _08052154 @ =gMenu - ldrb r0, [r1, #0x10] - cmp r0, #0x25 - bls _08052158 - subs r0, #1 - strb r0, [r1, #0x10] - b _0805219C - .align 2, 0 -_0805214C: .4byte gFadeControl -_08052150: .4byte gUnk_03001000 -_08052154: .4byte gMenu -_08052158: - ldrh r0, [r1, #8] - subs r0, #1 - strh r0, [r1, #8] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _0805219C - movs r0, #2 - bl sub_080520C4 - movs r0, #0 - movs r1, #0 - bl sub_08052418 - ldr r2, _08052190 @ =gScreen - ldrh r0, [r2] - movs r3, #0xc0 - lsls r3, r3, #3 - adds r1, r3, #0 - orrs r0, r1 - strh r0, [r2] - ldr r0, _08052194 @ =0x0000FFFF - str r0, [r4, #4] - movs r0, #4 - movs r1, #0x10 - bl DoFade - b _0805219C - .align 2, 0 -_08052190: .4byte gScreen -_08052194: .4byte 0x0000FFFF -_08052198: - subs r0, #1 - strb r0, [r1, #5] -_0805219C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080521A0 -sub_080521A0: @ 0x080521A0 - push {r4, lr} - ldr r0, _080521C4 @ =gFadeControl - ldrb r0, [r0] - cmp r0, #0 - beq _080521AC - b _080522E8 -_080521AC: - ldr r0, _080521C8 @ =gMenu - ldrb r1, [r0, #5] - adds r2, r0, #0 - cmp r1, #4 - bls _080521B8 - b _080522D4 -_080521B8: - lsls r0, r1, #2 - ldr r1, _080521CC @ =_080521D0 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080521C4: .4byte gFadeControl -_080521C8: .4byte gMenu -_080521CC: .4byte _080521D0 -_080521D0: @ jump table - .4byte _080521E4 @ case 0 - .4byte _08052208 @ case 1 - .4byte _08052278 @ case 2 - .4byte _080522B0 @ case 3 - .4byte _080522D4 @ case 4 -_080521E4: - movs r1, #0 - movs r0, #0x1e - strh r0, [r2, #8] - strb r1, [r2, #3] - movs r0, #1 - bl sub_080A7114 - movs r0, #0 - movs r1, #0 - bl sub_08052418 - ldr r1, _08052204 @ =gFadeControl - movs r0, #1 - rsbs r0, r0, #0 - str r0, [r1, #4] - b _080522E8 - .align 2, 0 -_08052204: .4byte gFadeControl -_08052208: - ldrh r0, [r2, #8] - cmp r0, #0 - bne _080522B6 - ldrb r4, [r2, #3] - ldr r0, _08052224 @ =gInput - ldrh r0, [r0, #2] - cmp r0, #0x40 - beq _0805222E - cmp r0, #0x40 - bgt _08052228 - cmp r0, #1 - beq _08052236 - b _0805225A - .align 2, 0 -_08052224: .4byte gInput -_08052228: - cmp r0, #0x80 - beq _08052232 - b _0805225A -_0805222E: - movs r4, #0 - b _0805225A -_08052232: - movs r4, #1 - b _0805225A -_08052236: - cmp r4, #0 - beq _0805223E - movs r2, #4 - b _08052248 -_0805223E: - movs r0, #8 - movs r1, #0 - bl CreateDialogBox - movs r2, #2 -_08052248: - ldr r1, _08052274 @ =gMenu - movs r0, #0x3c - strh r0, [r1, #8] - adds r0, r2, #0 - bl sub_080A7114 - movs r0, #0x6a - bl PlaySFX -_0805225A: - ldr r1, _08052274 @ =gMenu - ldrb r0, [r1, #3] - cmp r0, r4 - beq _080522E8 - strb r4, [r1, #3] - movs r0, #0 - adds r1, r4, #0 - bl sub_08052418 - movs r0, #0x69 - bl PlaySFX - b _080522E8 - .align 2, 0 -_08052274: .4byte gMenu -_08052278: - movs r0, #0 - bl sub_0807CDA4 - adds r1, r0, #0 - ldr r2, _08052298 @ =gMenu - strb r1, [r2] - movs r0, #1 - rsbs r0, r0, #0 - cmp r1, r0 - beq _0805229C - cmp r1, #1 - bne _080522E8 - movs r0, #4 - bl sub_080A7114 - b _080522E8 - .align 2, 0 -_08052298: .4byte gMenu -_0805229C: - movs r0, #0x3c - strh r0, [r2, #8] - movs r0, #9 - movs r1, #0 - bl CreateDialogBox - movs r0, #3 - bl sub_080A7114 - b _080522E8 -_080522B0: - ldrh r0, [r2, #8] - cmp r0, #0 - beq _080522BC -_080522B6: - subs r0, #1 - strh r0, [r2, #8] - b _080522E8 -_080522BC: - ldr r0, _080522D0 @ =gInput - ldrh r1, [r0, #2] - movs r0, #0xb - ands r0, r1 - cmp r0, #0 - beq _080522E8 - movs r0, #0 - bl sub_080A7114 - b _080522E8 - .align 2, 0 -_080522D0: .4byte gInput -_080522D4: - ldr r2, _080522EC @ =gScreen - ldrh r1, [r2] - ldr r0, _080522F0 @ =0x0000FDFF - ands r0, r1 - strh r0, [r2] - bl sub_08050384 - movs r0, #3 - bl sub_080520C4 -_080522E8: - pop {r4, pc} - .align 2, 0 -_080522EC: .4byte gScreen -_080522F0: .4byte 0x0000FDFF - - thumb_func_start sub_080522F4 -sub_080522F4: @ 0x080522F4 - push {r4, lr} - ldr r0, _08052320 @ =gMenu - ldrb r1, [r0, #5] - adds r3, r0, #0 - cmp r1, #1 - beq _08052324 - cmp r1, #1 - bgt _080523AC - cmp r1, #0 - bne _080523AC - movs r1, #0 - movs r0, #0x1e - strh r0, [r3, #8] - strb r1, [r3, #3] - movs r0, #1 - bl sub_080A7114 - movs r0, #1 - movs r1, #0 - bl sub_08052418 - b _080523CC - .align 2, 0 -_08052320: .4byte gMenu -_08052324: - ldr r2, _08052340 @ =gScreen - ldrh r1, [r2] - movs r4, #0x80 - lsls r4, r4, #2 - adds r0, r4, #0 - orrs r0, r1 - strh r0, [r2] - ldrh r0, [r3, #8] - cmp r0, #0 - beq _08052344 - subs r0, #1 - strh r0, [r3, #8] - b _080523CC - .align 2, 0 -_08052340: .4byte gScreen -_08052344: - ldrb r4, [r3, #3] - ldr r0, _08052358 @ =gInput - ldrh r0, [r0, #2] - cmp r0, #0x40 - beq _08052362 - cmp r0, #0x40 - bgt _0805235C - cmp r0, #1 - beq _0805236A - b _0805238C - .align 2, 0 -_08052358: .4byte gInput -_0805235C: - cmp r0, #0x80 - beq _08052366 - b _0805238C -_08052362: - movs r4, #0 - b _0805238C -_08052366: - movs r4, #1 - b _0805238C -_0805236A: - movs r0, #2 - bl sub_080A7114 - movs r0, #0x6a - bl PlaySFX - cmp r4, #0 - bne _08052384 - movs r0, #5 - movs r1, #8 - bl DoFade - b _0805238C -_08052384: - movs r0, #7 - movs r1, #8 - bl DoFade -_0805238C: - ldr r1, _080523A8 @ =gMenu - ldrb r0, [r1, #3] - cmp r0, r4 - beq _080523CC - strb r4, [r1, #3] - movs r0, #1 - adds r1, r4, #0 - bl sub_08052418 - movs r0, #0x69 - bl PlaySFX - b _080523CC - .align 2, 0 -_080523A8: .4byte gMenu -_080523AC: - ldr r0, _080523C4 @ =gFadeControl - ldrb r0, [r0] - cmp r0, #0 - bne _080523CC - ldrb r0, [r3, #3] - cmp r0, #0 - bne _080523C8 - movs r0, #2 - bl InitScreen - b _080523CC - .align 2, 0 -_080523C4: .4byte gFadeControl -_080523C8: - bl DoSoftReset -_080523CC: - pop {r4, pc} - .align 2, 0 - - thumb_func_start nullsub_107 -nullsub_107: @ 0x080523D0 - bx lr - .align 2, 0 - - thumb_func_start sub_080523D4 -sub_080523D4: @ 0x080523D4 - push {r4, r5, r6, lr} - ldr r1, _08052408 @ =gUnk_03001010 - movs r0, #0 - strh r0, [r1, #4] - strh r0, [r1, #6] - movs r0, #0x86 - lsls r0, r0, #8 - strh r0, [r1, #8] - ldr r0, _0805240C @ =gMenu - ldrb r0, [r0, #0x10] - strh r0, [r1, #2] - movs r4, #0 - adds r6, r1, #0 - ldr r5, _08052410 @ =gUnk_080FCA84 -_080523F0: - adds r0, r4, r5 - ldrb r0, [r0] - strh r0, [r6] - ldr r0, _08052414 @ =0x000001FD - adds r1, r4, #0 - bl sub_080ADA14 - adds r4, #1 - cmp r4, #7 - bls _080523F0 - pop {r4, r5, r6, pc} - .align 2, 0 -_08052408: .4byte gUnk_03001010 -_0805240C: .4byte gMenu -_08052410: .4byte gUnk_080FCA84 -_08052414: .4byte 0x000001FD diff --git a/asm/sub_08052418.s b/asm/non_matching/game/sub_08052418.inc similarity index 89% rename from asm/sub_08052418.s rename to asm/non_matching/game/sub_08052418.inc index 3de7ca93..5e372531 100644 --- a/asm/sub_08052418.s +++ b/asm/non_matching/game/sub_08052418.inc @@ -1,12 +1,4 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_08052418 -sub_08052418: @ 0x08052418 + .syntax unified push {r4, r5, r6, lr} sub sp, #0x18 adds r6, r0, #0 @@ -71,3 +63,4 @@ _08052498: .4byte gUnk_020227E8 _0805249C: .4byte gUnk_080FCA8C _080524A0: .4byte gUnk_080FCAA4 _080524A4: .4byte gScreen + .syntax divided \ No newline at end of file diff --git a/include/fileScreen.h b/include/fileScreen.h index 4c86040a..b5782093 100644 --- a/include/fileScreen.h +++ b/include/fileScreen.h @@ -38,8 +38,9 @@ typedef struct { } struct_080FC844; typedef struct { - u8 filler0[0x4]; + union SplitWord _0[8]; } struct_020227E8; + extern struct_020227E8 gUnk_020227E8; typedef struct { @@ -56,16 +57,8 @@ typedef struct { } struct_02019EE0; extern struct_02019EE0 gUnk_02019EE0; -struct OAMCommand { - u16 x; - u16 y; - u16 _4; - u16 _6; - u16 _8; -} extern gUnk_03001010; - extern void sub_08056FEC(u32, struct_020227E8*); -extern void sub_0805F46C(u32, struct_080FC844*); +extern void sub_0805F46C(u32, void*); extern void sub_0801C4A0(u32, u32); extern void sub_08080668(void); extern void sub_0805194C(u32); diff --git a/include/main.h b/include/main.h index 767b9441..3d60ee25 100644 --- a/include/main.h +++ b/include/main.h @@ -1,5 +1,6 @@ #ifndef MAIN_H #define MAIN_H + typedef struct { // 0x03001000 u8 field_0x0; u8 field_0x1; @@ -13,6 +14,7 @@ typedef struct { // 0x03001000 u8 field_0xb; u32 spritePriority; } MainStruct; + #define SIGNATURE 'MCZ3' #define MAX_MSG_SPEED 3 #define NUM_SAVE_SLOTS 3 @@ -75,6 +77,8 @@ static_assert(sizeof(UI) == 0x3b4); extern Main gUnk_03001000; extern UI gUnk_02032EC0; +void InitScreen(); + extern void InitSound(void); extern void sub_0807CE90(void); extern void sub_080560B8(void); @@ -103,5 +107,4 @@ extern void sub_08016B34(void); static void sub_08055F70(void); static bool32 SoftResetKeysPressed(void); - #endif diff --git a/include/screen.h b/include/screen.h index 5046e62f..b1e5fff7 100644 --- a/include/screen.h +++ b/include/screen.h @@ -79,6 +79,14 @@ typedef struct { /*0x78*/ u32 _78; } Screen; +struct OAMCommand { + u16 x; + u16 y; + u16 _4; + u16 _6; + u16 _8; +} extern gOamCmd; + extern BgControls gBgControls; extern Screen gScreen; diff --git a/include/structures.h b/include/structures.h index 534f0d98..60d1a36e 100644 --- a/include/structures.h +++ b/include/structures.h @@ -11,8 +11,9 @@ typedef struct { u8 messageSpeed; u8 brightnessPref; u8 gameLanguage; - u8 _8[6]; + u8 name[6]; u8 _e; + u8 _f; } struct_02000000; #define gUnk_02000000 ((struct_02000000*)(0x2000000)) // extern struct_02000000 gUnk_02000000; diff --git a/linker.ld b/linker.ld index 528c2783..39154469 100644 --- a/linker.ld +++ b/linker.ld @@ -177,7 +177,7 @@ SECTIONS { . = 0x00000FD0; gFadeControl = .; . = 0x00000FF0; gInput = .; . = 0x00001000; gUnk_03001000 = .; - . = 0x00001010; gUnk_03001010 = .; + . = 0x00001010; gOamCmd = .; . = 0x00001020; gUnk_03001020 = .; . = 0x000010A0; gScreenTransition = .; . = 0x000010AC; gUnk_030010AC = .; @@ -457,11 +457,7 @@ SECTIONS { asm/code_08050038.o(.text); src/fileScreen.o(.text); asm/fileScreen.o(.text); - asm/sub_08052418.o(.text); - src/initializePlayer.o(.text); - src/area.o(.text); - src/modHealth.o(.text); - src/modRupees.o(.text); + src/game.o(.text); asm/code_080526F8.o(.text); asm/modBombs.o(.text); asm/modArrows.o(.text); diff --git a/src/area.c b/src/area.c deleted file mode 100644 index 92a7ed24..00000000 --- a/src/area.c +++ /dev/null @@ -1,36 +0,0 @@ -#include "global.h" -#include "entity.h" - -extern u8 gArea; -extern u8 gUnk_08127D30[]; - -bool32 sub_08052620(u32 r0) { - return gArea == 0x81; -} - -bool32 sub_08052638(u32 r0) { - - return gUnk_08127D30[r0 * 4] == 0x81; -} - -u32 sub_08052654() { - return (gArea >> 7) & 1; -} - -u32 CheckIsDungeon() { - return (gArea >> 2) & 1; -} - -u32 sub_08052670() { - return (gArea >> 4) & 1; -} - -u32 sub_08052680() { - return (gArea >> 6) & 1; -} - -u32 sub_08052690() - -{ - return (gArea >> 3) & 1; -} diff --git a/src/fileScreen.c b/src/fileScreen.c index 2b1d9341..23384734 100644 --- a/src/fileScreen.c +++ b/src/fileScreen.c @@ -458,29 +458,29 @@ void sub_08050A64(u32 idx) { return; } - gUnk_03001010._4 = 0; - gUnk_03001010._6 = 0; - gUnk_03001010._8 = 0x400; + gOamCmd._4 = 0; + gOamCmd._6 = 0; + gOamCmd._8 = 0x400; // Draw the save file's obtained elements. if (GetInventoryValue(0x40)) { - gUnk_03001010.x = 0xA2; - gUnk_03001010.y = 0x36; + gOamCmd.x = 0xA2; + gOamCmd.y = 0x36; sub_080ADA14(0x145, 0x24); } if (GetInventoryValue(0x41)) { - gUnk_03001010.x = 0x96; - gUnk_03001010.y = 0x3D; + gOamCmd.x = 0x96; + gOamCmd.y = 0x3D; sub_080ADA14(0x145, 0x22); } if (GetInventoryValue(0x42)) { - gUnk_03001010.x = 0xAE; - gUnk_03001010.y = 0x3D; + gOamCmd.x = 0xAE; + gOamCmd.y = 0x3D; sub_080ADA14(0x145, 0x23); } if (GetInventoryValue(0x43)) { - gUnk_03001010.x = 0xA2; - gUnk_03001010.y = 0x44; + gOamCmd.x = 0xA2; + gOamCmd.y = 0x44; sub_080ADA14(0x145, 0x21); } } diff --git a/src/game.c b/src/game.c new file mode 100644 index 00000000..6fcd7af9 --- /dev/null +++ b/src/game.c @@ -0,0 +1,346 @@ +#include "global.h" +#include "screen.h" +#include "structures.h" +#include "functions.h" +#include "screen.h" +#include "entity.h" +#include "player.h" +#include "room.h" +#include "main.h" +#include "flags.h" +#include "save.h" +#include "fileScreen.h" + +extern u8 gArea; +extern Entity gPlayerEntity; +extern u32 gUnk_03000B80; +extern u32 gUnk_03003FC0; + +extern u16 gWalletSizes[4]; +extern u8 gUnk_080FCA84[]; +extern u8 gUnk_080FCAC8[]; +extern u8 gUnk_08127D30[]; + +void sub_080520C4(); +void sub_08052418(); + +typedef struct { + u8 _0[8]; + u8 _8[2]; + u16 _a[13]; +} struct_080FCAA4; +static_assert(sizeof(struct_080FCAA4) == 0x24); + +typedef struct { + void* _0; + void* _4; + void* _8; + u32 _c; + u8 _10; + u8 _11; + u8 _12; + u8 _13; + u32 _14; +} struct_080FCA8C; +static_assert(sizeof(struct_080FCA8C) == 0x18); + +extern struct_080FCA8C gUnk_080FCA8C; +extern struct_080FCAA4 gUnk_080FCAA4; + +extern void CreateDialogBox(); + +void sub_0805212C(void) { + if (gFadeControl.active) + return; + + if (gUnk_03001000.field_0x5 == 0) { + if (gMenu.focusCoords[0] >= 0x26) { + gMenu.focusCoords[0]--; + } else { + gMenu.transitionTimer--; + if (gMenu.transitionTimer == 0) { + sub_080520C4(2); + sub_08052418(0, 0); + gScreen.lcd.displayControl |= 0x600; + gFadeControl.field_0x4 = 0xffff; + DoFade(4, 0x10); + } + } + } else { + gUnk_03001000.field_0x5--; + } +} + +void sub_080521A0(void) { + s32 temp3; + u32 temp2; + + if (gFadeControl.active) + return; + + switch (gMenu.menuType) { + case 0: + gMenu.transitionTimer = 0x1e; + gMenu.field_0x3 = 0; + sub_080A7114(1); + sub_08052418(0, 0); + gFadeControl.field_0x4 = 0xffffffff; + break; + case 1: + if (gMenu.transitionTimer == 0) { + u32 temp = gMenu.field_0x3; + switch (gInput.newKeys) { + case 0x40: + temp = 0; + break; + case 0x80: + temp = 1; + break; + case 0x1: + if (gMenu.field_0x3 != 0) { + temp2 = 4; + } else { + CreateDialogBox(8, 0); + temp2 = 2; + } + gMenu.transitionTimer = 0x3c; + sub_080A7114(temp2); + PlaySFX(0x6a); + break; + } + if (gMenu.field_0x3 != temp) { + gMenu.field_0x3 = temp; + sub_08052418(0, temp); + PlaySFX(0x69); + } + break; + } + gMenu.transitionTimer--; + break; + case 2: + temp3 = sub_0807CDA4(0); + gMenu.field_0x0 = temp3; + switch (temp3) { + case 1: + sub_080A7114(4); + break; + case -1: + gMenu.transitionTimer = 0x3c; + CreateDialogBox(9, 0); + sub_080A7114(3); + break; + } + break; + case 3: + if (gMenu.transitionTimer != 0) { + gMenu.transitionTimer--; + } else if ((gInput.newKeys & 0xb) != 0) { + sub_080A7114(0); + } + break; + case 4: + default: + gScreen.lcd.displayControl = gScreen.lcd.displayControl & 0xfdff; + sub_08050384(); + sub_080520C4(3); + break; + } +} + +void sub_080522F4(void) { + switch (gMenu.menuType) { + case 0x0: + gMenu.transitionTimer = 0x1e; + gMenu.field_0x3 = 0; + sub_080A7114(1); + sub_08052418(1, 0); + break; + case 0x1: + gScreen.lcd.displayControl |= 0x200; + if (gMenu.transitionTimer != 0) { + gMenu.transitionTimer--; + } else { + u32 temp = gMenu.field_0x3; + switch (gInput.newKeys) { + case 0x40: + temp = 0; + break; + case 0x80: + temp = 1; + break; + case 0x1: + sub_080A7114(2); + PlaySFX(0x6a); + if (temp == 0) { + DoFade(5, 8); + } else { + DoFade(7, 8); + } + break; + } + if (gMenu.field_0x3 != temp) { + gMenu.field_0x3 = temp; + sub_08052418(1, temp); + PlaySFX(0x69); + } + } + break; + case 0x2: + default: + if (gFadeControl.active == 0) { + if (gMenu.field_0x3 == 0) { + InitScreen(2); + } else { + DoSoftReset(); + } + } + break; + } +} + +void nullsub_107(void) { +} + +void sub_080523D4(void) { + u32 i; + + gOamCmd._4 = 0; + gOamCmd._6 = 0; + gOamCmd._8 = 0x8600; + gOamCmd.y = gMenu.focusCoords[0]; + for (i = 0; i < 8; ++i) { + gOamCmd.x = gUnk_080FCA84[i]; + sub_080ADA14(0x1fd, i); + } +} + +// not sure how to approach this! +NONMATCH("asm/non_matching/game/sub_08052418.inc", void sub_08052418(int param_1, int param_2)) { + int i; + struct_080FCA8C temp; + + _DmaZero(&gBG1Buffer, 0x800); + gUnk_020227E8._0[0].WORD = 0xf; + gUnk_020227E8._0[2].WORD = 0xf; + gUnk_020227E8._0[4].WORD = 0xf; + gUnk_020227E8._0[6].WORD = 0xf; + gUnk_020227E8._0[param_2 * 2].BYTES.byte1 = 1; + _DmaCopy(&gUnk_080FCA8C, &temp, sizeof(temp)); + i = param_1 * 0xc; + // temp._0 = gBG1Buffer[gUnk_080FCAA4._8[param_1]][gUnk_080FCAA4._0[gUnk_02000000->gameLanguage + i]] * 2; + temp._13 = ((temp._13 & 0xfe) | gUnk_080FCAA4._8[i + 1]) & 1; + sub_0805F46C(gUnk_080FCAA4._a[param_1], &temp); + gScreen.bg.bg1xOffset = 1; +} +END_NONMATCH + +void InitializePlayer(void) { + Entity* pl; + + sub_080784C8(); + _DmaZero((void*)&gUnk_03000B80, 0x70); + _DmaZero((void*)&gPlayerState, 0xb0); + + _DmaFill32(0xffffffff, &gPlayerState.field_0x40, 0x40); + pl = &gPlayerEntity; + _DmaZero((void*)pl, 0x88); + gRoomControls.cameraTarget = pl; + gPlayerState.playerAction = gUnk_080FCAC8[gScreenTransition.field_0xf]; + if (!CheckGlobalFlag(0x14)) { + gPlayerState.flags.all |= 8; + } + switch (gScreenTransition.field_0xf) { + case 0x2: + case 0x6: + pl->height.HALF.HI = -0xc0; + break; + case 0x4: + gPlayerState.field_0x34[4] = 0x10; + pl->direction = gScreenTransition.playerState << 2; + case 0x3: + pl->nonPlanarMovement = 0xe0; + break; + case 0x7: + case 0x8: + gPlayerState.field_0x34[4] = 1; + gPlayerState.field_0x34[5] = gScreenTransition.field_0xf; + break; + case 0xa: + gPlayerState.field_0x34[4] = 1; + break; + case 0xb: + gPlayerState.field_0x34[4] = 3; + break; + case 0xc: + gPlayerState.field_0x34[4] = 4; + } + pl->entityType.type = 1; + pl->flags |= 0xa0; + pl->spritePriority.b0 = 4; + pl->currentHealth = gSave.stats.health; + pl->x.HALF.HI = gScreenTransition.playerStartPos.HALF.x; + pl->y.HALF.HI = gScreenTransition.playerStartPos.HALF.y; + pl->animationState = gScreenTransition.playerState; + pl->collisionLayer = gScreenTransition.playerLayer; + UpdateSpriteForCollisionLayer(pl); + AppendEntityToList(pl, 1); + sub_08017640(); +} + +bool32 sub_08052620(u32 r0) { + return gArea == 0x81; +} + +bool32 sub_08052638(u32 r0) { + return gUnk_08127D30[r0 * 4] == 0x81; +} + +u32 sub_08052654() { + return (gArea >> 7) & 1; +} + +u32 CheckIsDungeon() { + return (gArea >> 2) & 1; +} + +u32 sub_08052670() { + return (gArea >> 4) & 1; +} + +u32 sub_08052680() { + return (gArea >> 6) & 1; +} + +u32 sub_08052690() { + return (gArea >> 3) & 1; +} + +s32 ModHealth(s32 deltaHealth) { + s32 newHealth; + + newHealth = gStats.health + deltaHealth; + if (newHealth < 0) { + newHealth = 0; + } + if (gStats.maxHealth < newHealth) { + newHealth = (u32)gStats.maxHealth; + } + gStats.health = newHealth; + gPlayerEntity.currentHealth = newHealth; + return newHealth; +} + +void ModRupees(s32 rupeeDelta) { + s32 newRupeeCount; + Stats* s = &gStats; + + newRupeeCount = s->rupees + rupeeDelta; + if (newRupeeCount < 0) { + newRupeeCount = 0; + } else { + if (newRupeeCount > gWalletSizes[s->walletType * 2]) { + newRupeeCount = gWalletSizes[s->walletType * 2]; + } + } + s->rupees = newRupeeCount; +} diff --git a/src/initializePlayer.c b/src/initializePlayer.c deleted file mode 100644 index 9443c395..00000000 --- a/src/initializePlayer.c +++ /dev/null @@ -1,68 +0,0 @@ -#include "global.h" -#include "entity.h" -#include "player.h" -#include "structures.h" -#include "functions.h" -#include "room.h" -#include "flags.h" -#include "save.h" - -extern u32 gUnk_03000B80; -extern u32 gUnk_03003FC0; - -extern Entity gPlayerEntity; - -extern u8 gUnk_080FCAC8[]; - -void InitializePlayer(void) { - Entity* pl; - - sub_080784C8(); - _DmaZero((void*)&gUnk_03000B80, 0x70); - _DmaZero((void*)&gPlayerState, 0xb0); - - _DmaFill32(0xffffffff, &gPlayerState.field_0x40, 0x40); - pl = &gPlayerEntity; - _DmaZero((void*)pl, 0x88); - gRoomControls.cameraTarget = pl; - gPlayerState.playerAction = gUnk_080FCAC8[gScreenTransition.field_0xf]; - if (!CheckGlobalFlag(0x14)) { - gPlayerState.flags.all |= 8; - } - switch (gScreenTransition.field_0xf) { - case 0x2: - case 0x6: - pl->height.HALF.HI = -0xc0; - break; - case 0x4: - gPlayerState.field_0x34[4] = 0x10; - pl->direction = gScreenTransition.playerState << 2; - case 0x3: - pl->nonPlanarMovement = 0xe0; - break; - case 0x7: - case 0x8: - gPlayerState.field_0x34[4] = 1; - gPlayerState.field_0x34[5] = gScreenTransition.field_0xf; - break; - case 0xa: - gPlayerState.field_0x34[4] = 1; - break; - case 0xb: - gPlayerState.field_0x34[4] = 3; - break; - case 0xc: - gPlayerState.field_0x34[4] = 4; - } - pl->entityType.type = 1; - pl->flags |= 0xa0; - pl->spritePriority.b0 = 4; - pl->currentHealth = gSave.stats.health; - pl->x.HALF.HI = gScreenTransition.playerStartPos.HALF.x; - pl->y.HALF.HI = gScreenTransition.playerStartPos.HALF.y; - pl->animationState = gScreenTransition.playerState; - pl->collisionLayer = gScreenTransition.playerLayer; - UpdateSpriteForCollisionLayer(pl); - AppendEntityToList(pl, 1); - sub_08017640(); -} diff --git a/src/intro.c b/src/intro.c index e33f8bfa..b0e75a85 100644 --- a/src/intro.c +++ b/src/intro.c @@ -114,8 +114,6 @@ static void HandleNintendoCapcomLogos(void) { } } -extern u16 gUnk_03001010[5]; - static void HandleTitlescreen(void) { int advance; u32 paletteGroup; @@ -193,8 +191,8 @@ static void HandleTitlescreen(void) { } UpdatePressStartIcon(); if ((gIntroState.timer & 0x20) == 0) { - gUnk_03001010[4] = 0xe000; - gUnk_03001010[1] = 0x84; + gOamCmd._8 = 0xe000; + gOamCmd.y = 0x84; sub_080ADA14(0x1ff, 0); } } @@ -208,11 +206,11 @@ static void HandleTitlescreen(void) { } static void UpdatePressStartIcon(void) { - gUnk_03001010[2] = 0; - gUnk_03001010[3] = 0; - gUnk_03001010[4] = 0xE020; - gUnk_03001010[0] = 120; - gUnk_03001010[1] = 152; + gOamCmd._4 = 0; + gOamCmd._6 = 0; + gOamCmd._8 = 0xE020; + gOamCmd.x = 120; + gOamCmd.y = 152; sub_080ADA14(511, 1); return; } diff --git a/src/main.c b/src/main.c index 4a136d48..3d8b1f96 100644 --- a/src/main.c +++ b/src/main.c @@ -138,7 +138,27 @@ void DoSoftReset(void) { SoftReset(RESET_ALL & ~(RESET_EWRAM | RESET_SIO_REGS)); } -const int sDefaultSettings[] = { SIGNATURE, '\1\1\1\0', 'KNIL', '\0\0\0\0' }; +typedef struct { + int signature; + u8 saveFileId; + u8 messageSpeed; + u8 brightnessPref; + u8 gameLanguage; + u8 name[6]; + u8 _e; + u8 _f; +} test; + +const test sDefaultSettings = { + .signature = SIGNATURE, + .saveFileId = 0, + .messageSpeed = 1, + .brightnessPref = 1, + .gameLanguage = LANGUAGE_EN, + .name = "LINK", + ._e = 0, + ._f = 0, +}; // single misplaced ldr NONMATCH("asm/non_matching/sub_080560B8.inc", void sub_080560B8(void)) { diff --git a/src/modHealth.c b/src/modHealth.c deleted file mode 100644 index a42917a4..00000000 --- a/src/modHealth.c +++ /dev/null @@ -1,20 +0,0 @@ -#include "global.h" -#include "entity.h" -#include "player.h" - -s32 ModHealth(s32 deltaHealth) - -{ - s32 newHealth; - - newHealth = gStats.health + deltaHealth; - if (newHealth < 0) { - newHealth = 0; - } - if (gStats.maxHealth < newHealth) { - newHealth = (u32)gStats.maxHealth; - } - gStats.health = newHealth; - gPlayerEntity.currentHealth = newHealth; - return newHealth; -} diff --git a/src/modRupees.c b/src/modRupees.c deleted file mode 100644 index cedec389..00000000 --- a/src/modRupees.c +++ /dev/null @@ -1,21 +0,0 @@ -#include "global.h" -#include "player.h" - -extern u16 gWalletSizes[4]; - -void ModRupees(s32 rupeeDelta) - -{ - s32 newRupeeCount; - Stats* s = &gStats; - - newRupeeCount = s->rupees + rupeeDelta; - if (newRupeeCount < 0) { - newRupeeCount = 0; - } else { - if (newRupeeCount > gWalletSizes[s->walletType * 2]) { - newRupeeCount = gWalletSizes[s->walletType * 2]; - } - } - s->rupees = newRupeeCount; -} diff --git a/src/tmc.code-workspace b/src/tmc.code-workspace index 9a79bbb1..1c4c5521 100644 --- a/src/tmc.code-workspace +++ b/src/tmc.code-workspace @@ -14,7 +14,8 @@ "filescreen.h": "c", "screen.h": "c", "global.h": "c", - "player.h": "c" + "player.h": "c", + "typeinfo": "c" } } } From 9bef3b48f934028da6acc05ad5b8186be8634a23 Mon Sep 17 00:00:00 2001 From: notyourav <65437533+notyourav@users.noreply.github.com> Date: Tue, 16 Feb 2021 14:01:36 -0800 Subject: [PATCH 076/101] Delete tmc.code-workspace --- src/tmc.code-workspace | 21 --------------------- 1 file changed, 21 deletions(-) delete mode 100644 src/tmc.code-workspace diff --git a/src/tmc.code-workspace b/src/tmc.code-workspace deleted file mode 100644 index 1c4c5521..00000000 --- a/src/tmc.code-workspace +++ /dev/null @@ -1,21 +0,0 @@ -{ - "folders" : [ { "path" : ".." } ], "settings" : { - "files.associations" : { - "algorithm": "cpp", - "ios": "c", - "functions.h": "c", - "textbox.h": "c", - "structures.h": "c", - "fileselect.h": "c", - "menu.h": "c", - "save.h": "c", - "main.h": "c", - "object.h": "c", - "filescreen.h": "c", - "screen.h": "c", - "global.h": "c", - "player.h": "c", - "typeinfo": "c" - } - } -} From f53140b2e9569524ba533e5b06f8530efdfb7f03 Mon Sep 17 00:00:00 2001 From: theo3 Date: Tue, 16 Feb 2021 16:34:02 -0800 Subject: [PATCH 077/101] extract manager table --- .gitignore | 1 + asm/code_08016DF8.s | 4 +-- data/data_080B3054.s | 8 ------ include/manager.h | 58 ++++++++++++++++++++++++++++++++++++++++ linker.ld | 2 +- src/manager.c | 63 ++++++++++++++++++++++++++++++++++++++++++++ src/object.c | 4 +-- 7 files changed, 126 insertions(+), 14 deletions(-) delete mode 100644 data/data_080B3054.s create mode 100644 src/manager.c diff --git a/.gitignore b/.gitignore index 5704a6f3..f7c4e9e2 100644 --- a/.gitignore +++ b/.gitignore @@ -65,3 +65,4 @@ _Deparsed_XSubs.pm *.py *.sna __pycache__ +.vscode/settings.json diff --git a/asm/code_08016DF8.s b/asm/code_08016DF8.s index 060a891d..12971065 100644 --- a/asm/code_08016DF8.s +++ b/asm/code_08016DF8.s @@ -920,7 +920,7 @@ sub_08017508: @ 0x08017508 bl sub_0805E3B0 cmp r0, #0 bne _08017524 - ldr r0, _0801752C @ =gUnk_080B3054 + ldr r0, _0801752C @ =gManagerFunctions ldrb r1, [r4, #9] lsls r1, r1, #2 adds r1, r1, r0 @@ -932,7 +932,7 @@ _08017524: pop {r0} bx r0 .align 2, 0 -_0801752C: .4byte gUnk_080B3054 +_0801752C: .4byte gManagerFunctions thumb_func_start sub_08017530 sub_08017530: @ 0x08017530 diff --git a/data/data_080B3054.s b/data/data_080B3054.s deleted file mode 100644 index f45126bd..00000000 --- a/data/data_080B3054.s +++ /dev/null @@ -1,8 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2 - -gUnk_080B3054:: @ 080B3054 - .incbin "baserom.gba", 0x0B3054, 0x00000E8 diff --git a/include/manager.h b/include/manager.h index 18850056..7830adc4 100644 --- a/include/manager.h +++ b/include/manager.h @@ -133,4 +133,62 @@ typedef struct { u16 unk_06; } UnkManager26HelperStruct; +extern void Manager1(); +extern void Manager2(); +extern void sub_080576C0(); +extern void sub_08057854(); +extern void sub_08057AD0(); +extern void sub_08057CB4(); +extern void Manager7_Main(); +extern void sub_08057ED0(); +extern void sub_080581D8(); +extern void sub_08058380(); +extern void sub_080585F0(); +extern void sub_0805884C(); +extern void sub_08058DD0(Entity*); +extern void sub_08058E60(); +extern void sub_08058ECC(Entity*); +extern void sub_08059570(Entity*); +extern void sub_080599B8(Entity*); +extern void sub_080599EC(Entity*); +extern void sub_08059DAC(Entity*); +extern void sub_08059E58(Entity*); +extern void sub_0805A280(); +extern void sub_0805AB4C(Entity*); +extern void sub_0805AD48(Entity*); +extern void sub_0805ADD8(); +extern void sub_0805AF60(Entity*); +extern void sub_0805B030(); +extern void sub_0805B3B4(Entity*); +extern void sub_0805B53C(Entity*); +extern void sub_0805B5C8(Entity*); +extern void Manager1E_Handler(); +extern void sub_0805B6F4(Entity*); +extern void sub_0805B7A0(); +extern void sub_0805B820(Entity*); +extern void sub_0805B8EC(Entity*); +extern void sub_0805BC74(Entity*); +extern void sub_0805BF18(Entity*); +extern void sub_0805C61C(Entity*); +extern void sub_0805C6B8(); +extern void Manager27(); +extern void Manager28_Entry(); +extern void sub_0805CB90(Entity*); +extern void sub_0805CFC0(Entity*); +extern void sub_0805D014(Entity*); +extern void sub_0805D174(Entity*); +extern void sub_0805D1FC(Entity*); +extern void sub_0805D250(); +extern void sub_0805D3C8(); +extern void Manager30_Main(); +extern void sub_0805D630(Entity*); +extern void sub_0805D7A4(Entity*); +extern void sub_0805DAE8(Entity*); +extern void sub_0805DB94(Entity*); +extern void sub_0805DC84(Entity*); +extern void sub_0805DDB4(Entity*); +extern void sub_0805DE38(Entity*); +extern void sub_0805E0A8(Entity*); +extern void sub_0805E0FC(); + #endif diff --git a/linker.ld b/linker.ld index 39154469..3c359d8e 100644 --- a/linker.ld +++ b/linker.ld @@ -908,7 +908,7 @@ SECTIONS { data/data_080B2A70.o(.rodata); data/playerItemFunctions.o(.rodata); src/object.o(.rodata); - data/data_080B3054.o(.rodata); + src/manager.o(.rodata); src/npc.o(.rodata); data/data_080B3740.o(.rodata); src/trig.o(.rodata); diff --git a/src/manager.c b/src/manager.c new file mode 100644 index 00000000..a57bbae4 --- /dev/null +++ b/src/manager.c @@ -0,0 +1,63 @@ +#include "manager.h" + +// TODO: change all manager arguments to be Entity* and cast to specific type later. +void (*const gManagerFunctions[])() = { + NULL, + Manager1, + Manager2, + sub_080576C0, + sub_08057854, + sub_08057AD0, + sub_08057CB4, + Manager7_Main, + sub_08057ED0, + sub_080581D8, + sub_08058380, + sub_080585F0, + sub_0805884C, + sub_08058DD0, + sub_08058E60, + sub_08058ECC, + sub_08059570, + sub_080599B8, + sub_080599EC, + sub_08059DAC, + sub_08059E58, + sub_0805A280, + sub_0805AB4C, + sub_0805AD48, + sub_0805ADD8, + sub_0805AF60, + sub_0805B030, + sub_0805B3B4, + sub_0805B53C, + sub_0805B5C8, + Manager1E_Handler, + sub_0805B6F4, + sub_0805B7A0, + sub_0805B820, + sub_0805B8EC, + sub_0805BC74, + sub_0805BF18, + sub_0805C61C, + sub_0805C6B8, + Manager27, + Manager28_Entry, + sub_0805CB90, + sub_0805CFC0, + sub_0805D014, + sub_0805D174, + sub_0805D1FC, + sub_0805D250, + sub_0805D3C8, + Manager30_Main, + sub_0805D630, + sub_0805D7A4, + sub_0805DAE8, + sub_0805DB94, + sub_0805DC84, + sub_0805DDB4, + sub_0805DE38, + sub_0805E0A8, + sub_0805E0FC +}; diff --git a/src/object.c b/src/object.c index 4fd93b40..e27e6cf2 100644 --- a/src/object.c +++ b/src/object.c @@ -1,7 +1,6 @@ #include "global.h" #include "entity.h" #include "object.h" -//clang-format off void (*const gObjectFunctions[])(Entity*) = { /*0x00*/ ItemOnGround, @@ -197,6 +196,5 @@ void (*const gObjectFunctions[])(Entity*) = { /*0xbe*/ Pinwheel, /*0xbf*/ ObjectBF, /*0xc0*/ EnemyItem, - /*0xc1*/ ObjectC1, + /*0xc1*/ ObjectC1 }; -//clang-format on From 71ae3b07ea560601a3cddad9ab1eae7beedcf9ee Mon Sep 17 00:00:00 2001 From: theo3 Date: Tue, 16 Feb 2021 16:44:58 -0800 Subject: [PATCH 078/101] move playerItem table to C --- data/playerItemFunctions.s | 61 -------------------------------------- linker.ld | 2 +- src/playerItem.c | 49 ++++++++++++++++++++++++++++++ 3 files changed, 50 insertions(+), 62 deletions(-) delete mode 100644 data/playerItemFunctions.s create mode 100644 src/playerItem.c diff --git a/data/playerItemFunctions.s b/data/playerItemFunctions.s deleted file mode 100644 index 5626573b..00000000 --- a/data/playerItemFunctions.s +++ /dev/null @@ -1,61 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2 - - gPlayerItemFunctions:: @ gPlayerItemFunctions -@ replacing .incbin "baserom.gba", 0x000b2ce8, 0x64 -/*0x00*/ .4byte DeleteEntity -/*0x01*/ .4byte sub_080A7544 -/*0x02*/ .4byte sub_0801B188 -/*0x03*/ .4byte sub_0801B45C -/*0x04*/ .4byte sub_08018FCC -/*0x05*/ .4byte sub_080A2D74 -/*0x06*/ .4byte sub_08054A40 -/*0x07*/ .4byte sub_08056330 -/*0x08*/ .4byte sub_080ADA30 -/*0x09*/ .4byte sub_080704BC -/*0x0a*/ .4byte DeleteEntity -/*0x0b*/ .4byte DeleteEntity -/*0x0c*/ .4byte sub_0801B898 -/*0x0d*/ .4byte CellOverwriteSet -/*0x0e*/ .4byte SwordSpin -/*0x0f*/ .4byte SwordBeam -/*0x10*/ .4byte sub_080ACBCC -/*0x11*/ .4byte Item11 -/*0x12*/ .4byte sub_080700E8 -/*0x13*/ .4byte sub_080ACF14 -/*0x14*/ .4byte Item14 -/*0x15*/ .4byte sub_080A306C -/*0x16*/ .4byte SwordBeam -/*0x17*/ .4byte NulledItem -/*0x18*/ .4byte CellOverwriteSet - -/* -.4byte DeleteEntity -.4byte sub_080A7544 -.4byte sub_0801B188 -.4byte sub_0801B45C -.4byte sub_08018FCC -.4byte sub_080A2D74 -.4byte sub_08054A40 -.4byte sub_08056330 -.4byte sub_080ADA30 -.4byte sub_080704BC -.4byte DeleteEntity -.4byte DeleteEntity -.4byte sub_0801B898 -.4byte CellOverwriteSet -.4byte SwordSpin -.4byte SwordBeam -.4byte sub_080ACBCC -.4byte Item11 -.4byte sub_080700E8 -.4byte sub_080ACF14 -.4byte Item14 -.4byte sub_080A306C -.4byte SwordBeam -.4byte NulledItem -.4byte CellOverwriteSet -*/ diff --git a/linker.ld b/linker.ld index 3c359d8e..0a354d34 100644 --- a/linker.ld +++ b/linker.ld @@ -906,7 +906,7 @@ SECTIONS { asm/intr.o(.text); /* data */ data/data_080B2A70.o(.rodata); - data/playerItemFunctions.o(.rodata); + src/playerItem.o(.rodata); src/object.o(.rodata); src/manager.o(.rodata); src/npc.o(.rodata); diff --git a/src/playerItem.c b/src/playerItem.c new file mode 100644 index 00000000..97c37c23 --- /dev/null +++ b/src/playerItem.c @@ -0,0 +1,49 @@ +extern void DeleteEntity(); +extern void sub_080A7544(); +extern void sub_0801B188(); +extern void sub_0801B45C(); +extern void sub_08018FCC(); +extern void sub_080A2D74(); +extern void sub_08054A40(); +extern void sub_08056330(); +extern void sub_080ADA30(); +extern void sub_080704BC(); +extern void sub_0801B898(); +extern void CellOverwriteSet(); +extern void SwordSpin(); +extern void SwordBeam(); +extern void sub_080ACBCC(); +extern void Item11(); +extern void sub_080700E8(); +extern void sub_080ACF14(); +extern void Item14(); +extern void sub_080A306C(); +extern void NulledItem(); + +void (*const gPlayerItemFunctions[])() = { + DeleteEntity, + sub_080A7544, + sub_0801B188, + sub_0801B45C, + sub_08018FCC, + sub_080A2D74, + sub_08054A40, + sub_08056330, + sub_080ADA30, + sub_080704BC, + DeleteEntity, + DeleteEntity, + sub_0801B898, + CellOverwriteSet, + SwordSpin, + SwordBeam, + sub_080ACBCC, + Item11, + sub_080700E8, + sub_080ACF14, + Item14, + sub_080A306C, + SwordBeam, + NulledItem, + CellOverwriteSet +}; From a3aa7864f5ad822810cb55707264a6b916f71b83 Mon Sep 17 00:00:00 2001 From: Henny022p Date: Wed, 17 Feb 2021 12:45:22 +0100 Subject: [PATCH 079/101] matched sub_0807D0EC --- asm/code_0807CC3C.s | 32 -------------------------------- src/code_0807CC3C.c | 17 +++++++++++++++++ 2 files changed, 17 insertions(+), 32 deletions(-) diff --git a/asm/code_0807CC3C.s b/asm/code_0807CC3C.s index 9a9ab84d..3cdcaae2 100644 --- a/asm/code_0807CC3C.s +++ b/asm/code_0807CC3C.s @@ -187,35 +187,3 @@ _0807D0E8: _0807D0EA: pop {r4, r5, r6, r7, pc} - thumb_func_start sub_0807D0EC -sub_0807D0EC: @ 0x0807D0EC - push {r4, r5, r6, lr} - adds r6, r0, #0 - adds r4, r1, #0 - movs r2, #8 - bl sub_0807D1D8 - cmp r0, #0 - bne _0807D100 - movs r5, #0 - b _0807D10C -_0807D100: - adds r0, r4, #0 - bl sub_0807D128 - adds r5, r0, #0 - cmp r5, #0 - bne _0807D124 -_0807D10C: - adds r0, r6, #0 - adds r0, #8 - adds r1, r4, #0 - movs r2, #8 - bl sub_0807D1D8 - cmp r0, #0 - beq _0807D124 - adds r0, r4, #0 - bl sub_0807D128 - adds r5, r0, #0 -_0807D124: - adds r0, r5, #0 - pop {r4, r5, r6, pc} - diff --git a/src/code_0807CC3C.c b/src/code_0807CC3C.c index 35513d3b..2bb8c81d 100644 --- a/src/code_0807CC3C.c +++ b/src/code_0807CC3C.c @@ -25,6 +25,23 @@ extern u16 sub_080B18DC(u16, const char*); void sub_0807DB88(ScriptExecutionContext* context, u32 unk1); void sub_0807DAF0(Entity* entity, ScriptExecutionContext* context, u32 unk1); +u32 sub_0807D1D8(u32 unk_1, const char* unk_2, u32 unk_3); +u32 sub_0807D128(u16* unk_1); +u16 sub_0807D1A4(u16* unk_1, u32 unk_2); + +u32 sub_0807D0EC(u32 unk_1, const char* unk_2) { + u32 ret; + + if (!sub_0807D1D8(unk_1, unk_2, 8)) { + ret = 0; + } else { + ret = sub_0807D128((u16*)unk_2); + } + if (!ret && sub_0807D1D8(unk_1 + 8, unk_2, 8)) { + ret = sub_0807D128((u16*)unk_2); + } + return ret; +} u32 sub_0807D128(u16* unk_1) { u32 ret; From 31a25066be30ded65ba8c74685d1aa397b92c537 Mon Sep 17 00:00:00 2001 From: Henny022p Date: Thu, 18 Feb 2021 15:20:16 +0100 Subject: [PATCH 080/101] nonmatch sub_0807D0A0 --- asm/code_0807CC3C.s | 41 ---------------- .../code_0807CC3C/sub_0807D0A0.inc | 48 +++++++++++++++++++ .../code_0807CC3C/sub_0807D1D8.inc | 3 -- src/code_0807CC3C.c | 29 +++++++++++ 4 files changed, 77 insertions(+), 44 deletions(-) create mode 100644 asm/non_matching/code_0807CC3C/sub_0807D0A0.inc diff --git a/asm/code_0807CC3C.s b/asm/code_0807CC3C.s index 3cdcaae2..8e4a0927 100644 --- a/asm/code_0807CC3C.s +++ b/asm/code_0807CC3C.s @@ -146,44 +146,3 @@ _0807D098: mov r8, r3 pop {r4, r5, r6, r7, pc} - thumb_func_start sub_0807D0A0 -sub_0807D0A0: @ 0x0807D0A0 - push {r4, r5, r6, r7, lr} - adds r7, r0, #0 - adds r5, r1, #0 - adds r6, r2, #0 - adds r0, r7, #4 - movs r1, #4 - bl sub_0807D1A4 - adds r4, r0, #0 - lsls r4, r4, #0x10 - lsrs r4, r4, #0x10 - adds r0, r5, #0 - adds r1, r6, #0 - bl sub_0807D1A4 - adds r4, r4, r0 - lsls r4, r4, #0x10 - lsrs r4, r4, #0x10 - ldrh r0, [r7] - cmp r0, r4 - bne _0807D0DE - lsls r0, r0, #0x10 - ldrh r1, [r7, #2] - rsbs r0, r0, #0 - lsrs r0, r0, #0x10 - cmp r1, r0 - bne _0807D0DE - ldr r1, [r7, #4] - ldr r0, _0807D0E4 @ =0x4D435A33 - cmp r1, r0 - beq _0807D0E8 -_0807D0DE: - movs r0, #0 - b _0807D0EA - .align 2, 0 -_0807D0E4: .4byte 0x4D435A33 -_0807D0E8: - movs r0, #1 -_0807D0EA: - pop {r4, r5, r6, r7, pc} - diff --git a/asm/non_matching/code_0807CC3C/sub_0807D0A0.inc b/asm/non_matching/code_0807CC3C/sub_0807D0A0.inc new file mode 100644 index 00000000..a9596425 --- /dev/null +++ b/asm/non_matching/code_0807CC3C/sub_0807D0A0.inc @@ -0,0 +1,48 @@ + .include "asm/macros.inc" + + .include "constants/constants.inc" + + .syntax unified + + .text + + push {r4, r5, r6, r7, lr} + adds r7, r0, #0 + adds r5, r1, #0 + adds r6, r2, #0 + adds r0, r7, #4 + movs r1, #4 + bl sub_0807D1A4 + adds r4, r0, #0 + lsls r4, r4, #0x10 + lsrs r4, r4, #0x10 + adds r0, r5, #0 + adds r1, r6, #0 + bl sub_0807D1A4 + adds r4, r4, r0 + lsls r4, r4, #0x10 + lsrs r4, r4, #0x10 + ldrh r0, [r7] + cmp r0, r4 + bne _0807D0DE + lsls r0, r0, #0x10 + ldrh r1, [r7, #2] + rsbs r0, r0, #0 + lsrs r0, r0, #0x10 + cmp r1, r0 + bne _0807D0DE + ldr r1, [r7, #4] + ldr r0, _0807D0E4 @ =0x4D435A33 + cmp r1, r0 + beq _0807D0E8 +_0807D0DE: + movs r0, #0 + b _0807D0EA + .align 2, 0 +_0807D0E4: .4byte 0x4D435A33 +_0807D0E8: + movs r0, #1 +_0807D0EA: + pop {r4, r5, r6, r7, pc} + + .syntax divided diff --git a/asm/non_matching/code_0807CC3C/sub_0807D1D8.inc b/asm/non_matching/code_0807CC3C/sub_0807D1D8.inc index f96b3810..8537e0d1 100644 --- a/asm/non_matching/code_0807CC3C/sub_0807D1D8.inc +++ b/asm/non_matching/code_0807CC3C/sub_0807D1D8.inc @@ -1,6 +1,3 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" .syntax unified diff --git a/src/code_0807CC3C.c b/src/code_0807CC3C.c index 2bb8c81d..d06294a4 100644 --- a/src/code_0807CC3C.c +++ b/src/code_0807CC3C.c @@ -29,6 +29,35 @@ u32 sub_0807D1D8(u32 unk_1, const char* unk_2, u32 unk_3); u32 sub_0807D128(u16* unk_1); u16 sub_0807D1A4(u16* unk_1, u32 unk_2); +NONMATCH("asm/non_matching/code_0807CC3C/sub_0807D0A0.inc", u32 sub_0807D0A0(u16* unk_1, u16* unk_2, u32 unk_3)) { + u32 r0; + + u32* u32_1 = (u32*)unk_1; + + u16 u0; + u32 u1; + + u0 = sub_0807D1A4(unk_1 + 2, 4); + u0 = u0 + sub_0807D1A4(unk_2, unk_3); + + u1 = unk_1[0]; + if (u1 != u0) { + r0 = 0; + } else { + if (unk_1[1] == (-(u1 << 0x10) >> 0x10)) { + if (*(u32_1 + 1) != 'MCZ3') { + r0 = 0; + } else { + r0 = 1; + } + } else { + r0 = 0; + } + } + return r0; +} +END_NONMATCH + u32 sub_0807D0EC(u32 unk_1, const char* unk_2) { u32 ret; From 3f54062fa5bdc3afc8bb9c8f645fc4f64bcf1de9 Mon Sep 17 00:00:00 2001 From: Henny022p Date: Thu, 18 Feb 2021 15:22:18 +0100 Subject: [PATCH 081/101] added missing syntax directives --- asm/non_matching/code_0807CC3C/sub_0807D1D8.inc | 2 ++ asm/non_matching/code_0807CC3C/sub_0807D20C.inc | 2 ++ asm/non_matching/code_0807CC3C/sub_0807D24C.inc | 2 ++ asm/non_matching/code_0807CC3C/sub_0807D280.inc | 2 ++ asm/non_matching/code_0807CC3C/sub_0807D46C.inc | 2 ++ 5 files changed, 10 insertions(+) diff --git a/asm/non_matching/code_0807CC3C/sub_0807D1D8.inc b/asm/non_matching/code_0807CC3C/sub_0807D1D8.inc index 8537e0d1..f9b81bde 100644 --- a/asm/non_matching/code_0807CC3C/sub_0807D1D8.inc +++ b/asm/non_matching/code_0807CC3C/sub_0807D1D8.inc @@ -32,3 +32,5 @@ _0807D200: _0807D208: pop {r4, r5, r6, pc} .align 2, 0 + + .syntax divided diff --git a/asm/non_matching/code_0807CC3C/sub_0807D20C.inc b/asm/non_matching/code_0807CC3C/sub_0807D20C.inc index e1822fc3..954ad823 100644 --- a/asm/non_matching/code_0807CC3C/sub_0807D20C.inc +++ b/asm/non_matching/code_0807CC3C/sub_0807D20C.inc @@ -37,3 +37,5 @@ _0807D242: movs r0, #1 _0807D24A: pop {r4, r5, r6, r7, pc} + + .syntax divided diff --git a/asm/non_matching/code_0807CC3C/sub_0807D24C.inc b/asm/non_matching/code_0807CC3C/sub_0807D24C.inc index 2de1c0ff..7761d787 100644 --- a/asm/non_matching/code_0807CC3C/sub_0807D24C.inc +++ b/asm/non_matching/code_0807CC3C/sub_0807D24C.inc @@ -32,3 +32,5 @@ _0807D274: _0807D27C: pop {r4, r5, r6, pc} .align 2, 0 + + .syntax divided diff --git a/asm/non_matching/code_0807CC3C/sub_0807D280.inc b/asm/non_matching/code_0807CC3C/sub_0807D280.inc index a9d083ae..bc06cc5e 100644 --- a/asm/non_matching/code_0807CC3C/sub_0807D280.inc +++ b/asm/non_matching/code_0807CC3C/sub_0807D280.inc @@ -260,3 +260,5 @@ _0807D462: mov sb, r4 pop {r4, r5, r6, r7, pc} .align 2, 0 + + .syntax divided diff --git a/asm/non_matching/code_0807CC3C/sub_0807D46C.inc b/asm/non_matching/code_0807CC3C/sub_0807D46C.inc index b3696327..ad1dee94 100644 --- a/asm/non_matching/code_0807CC3C/sub_0807D46C.inc +++ b/asm/non_matching/code_0807CC3C/sub_0807D46C.inc @@ -342,3 +342,5 @@ _0807D6CC: mov sb, r4 mov sl, r5 pop {r4, r5, r6, r7, pc} + + .syntax divided From 809a9032071a422456dba1b0adb5bededd14f3fe Mon Sep 17 00:00:00 2001 From: Henny022p Date: Thu, 18 Feb 2021 17:09:01 +0100 Subject: [PATCH 082/101] nonmatch sub_0807D008 --- asm/code_0807CC3C.s | 77 ----------------- .../code_0807CC3C/sub_0807D008.inc | 84 +++++++++++++++++++ .../code_0807CC3C/sub_0807D0A0.inc | 3 - src/code_0807CC3C.c | 43 ++++++++++ 4 files changed, 127 insertions(+), 80 deletions(-) create mode 100644 asm/non_matching/code_0807CC3C/sub_0807D008.inc diff --git a/asm/code_0807CC3C.s b/asm/code_0807CC3C.s index 8e4a0927..5436febf 100644 --- a/asm/code_0807CC3C.s +++ b/asm/code_0807CC3C.s @@ -69,80 +69,3 @@ _0807CFFE: .align 2, 0 _0807D004: .4byte 0x4D435A33 - thumb_func_start sub_0807D008 -sub_0807D008: @ 0x0807D008 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - sub sp, #0xc - adds r7, r1, #0 - bl sub_0807D1C4 - adds r5, r0, #0 - ldrh r0, [r5, #2] - add r4, sp, #4 - adds r1, r4, #0 - bl sub_0807D0EC - adds r6, r0, #0 - mov r8, r4 - cmp r6, #2 - bne _0807D048 - ldrh r0, [r5, #6] - ldrh r2, [r5] - adds r1, r7, #0 - bl sub_0807D1D8 - cmp r0, #0 - beq _0807D046 - ldrh r2, [r5] - mov r0, r8 - adds r1, r7, #0 - bl sub_0807D0A0 - cmp r0, #0 - bne _0807D072 -_0807D046: - movs r6, #0 -_0807D048: - ldrh r0, [r5, #4] - mov r1, r8 - bl sub_0807D0EC - adds r4, r0, #0 - cmp r4, #2 - bne _0807D078 - ldrh r0, [r5, #8] - ldrh r2, [r5] - adds r1, r7, #0 - bl sub_0807D1D8 - cmp r0, #0 - beq _0807D076 - ldrh r2, [r5] - mov r0, r8 - adds r1, r7, #0 - bl sub_0807D0A0 - cmp r0, #0 - beq _0807D076 -_0807D072: - movs r0, #1 - b _0807D098 -_0807D076: - movs r4, #0 -_0807D078: - movs r0, #0 - str r0, [sp] - ldrh r2, [r5] - lsrs r2, r2, #2 - movs r0, #0xa0 - lsls r0, r0, #0x13 - orrs r2, r0 - mov r0, sp - adds r1, r7, #0 - bl CpuSet - orrs r6, r4 - movs r0, #0 - cmp r6, #0 - bne _0807D098 - subs r0, #1 -_0807D098: - add sp, #0xc - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - diff --git a/asm/non_matching/code_0807CC3C/sub_0807D008.inc b/asm/non_matching/code_0807CC3C/sub_0807D008.inc new file mode 100644 index 00000000..c4761416 --- /dev/null +++ b/asm/non_matching/code_0807CC3C/sub_0807D008.inc @@ -0,0 +1,84 @@ + .include "asm/macros.inc" + + .include "constants/constants.inc" + + .syntax unified + + .text + + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + sub sp, #0xc + adds r7, r1, #0 + bl sub_0807D1C4 + adds r5, r0, #0 + ldrh r0, [r5, #2] + add r4, sp, #4 + adds r1, r4, #0 + bl sub_0807D0EC + adds r6, r0, #0 + mov r8, r4 + cmp r6, #2 + bne _0807D048 + ldrh r0, [r5, #6] + ldrh r2, [r5] + adds r1, r7, #0 + bl sub_0807D1D8 + cmp r0, #0 + beq _0807D046 + ldrh r2, [r5] + mov r0, r8 + adds r1, r7, #0 + bl sub_0807D0A0 + cmp r0, #0 + bne _0807D072 +_0807D046: + movs r6, #0 +_0807D048: + ldrh r0, [r5, #4] + mov r1, r8 + bl sub_0807D0EC + adds r4, r0, #0 + cmp r4, #2 + bne _0807D078 + ldrh r0, [r5, #8] + ldrh r2, [r5] + adds r1, r7, #0 + bl sub_0807D1D8 + cmp r0, #0 + beq _0807D076 + ldrh r2, [r5] + mov r0, r8 + adds r1, r7, #0 + bl sub_0807D0A0 + cmp r0, #0 + beq _0807D076 +_0807D072: + movs r0, #1 + b _0807D098 +_0807D076: + movs r4, #0 +_0807D078: + movs r0, #0 + str r0, [sp] + ldrh r2, [r5] + lsrs r2, r2, #2 + movs r0, #0xa0 + lsls r0, r0, #0x13 + orrs r2, r0 + mov r0, sp + adds r1, r7, #0 + bl CpuSet + orrs r6, r4 + movs r0, #0 + cmp r6, #0 + bne _0807D098 + subs r0, #1 +_0807D098: + add sp, #0xc + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7, pc} + + .syntax divided diff --git a/asm/non_matching/code_0807CC3C/sub_0807D0A0.inc b/asm/non_matching/code_0807CC3C/sub_0807D0A0.inc index a9596425..9bec41a8 100644 --- a/asm/non_matching/code_0807CC3C/sub_0807D0A0.inc +++ b/asm/non_matching/code_0807CC3C/sub_0807D0A0.inc @@ -1,6 +1,3 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" .syntax unified diff --git a/src/code_0807CC3C.c b/src/code_0807CC3C.c index d06294a4..5c4220cb 100644 --- a/src/code_0807CC3C.c +++ b/src/code_0807CC3C.c @@ -3,6 +3,7 @@ #include "functions.h" #include "script.h" #include "entity.h" +#include "save.h" extern u8 gUnk_0811E514[]; extern u8 gUnk_0811E510[]; @@ -28,6 +29,47 @@ void sub_0807DAF0(Entity* entity, ScriptExecutionContext* context, u32 unk1); u32 sub_0807D1D8(u32 unk_1, const char* unk_2, u32 unk_3); u32 sub_0807D128(u16* unk_1); u16 sub_0807D1A4(u16* unk_1, u32 unk_2); +u32 sub_0807D0A0(u16* unk_1, u16* unk_2, u32 unk_3); +u32 sub_0807D0EC(u32 unk_1, const char* unk_2); + +NONMATCH("asm/non_matching/code_0807CC3C/sub_0807D008.inc", u32 sub_0807D008(u32 param_1, SaveFile* saveFile)) { + u32 set_0; + char auStack32[8]; + + struct_0807D1C4* thing; + u32 t1; + u32 t2; + u32 ret; + u32 temp; + + thing = sub_0807D1C4(param_1); + t1 = sub_0807D0EC(thing->field_0x2, auStack32); + if (t1 == 2) { + if ((sub_0807D1D8(thing->field_0x6, (char*)saveFile, thing->field_0x0) == 0) || + (sub_0807D0A0((u16*)auStack32, (u16*)saveFile, (u32)thing->field_0x0) == 0)) { + t1 = 0; + } else { + return 1; + } + } + t2 = sub_0807D0EC(thing->field_0x4, auStack32); + if (t2 == 2) { + if ((sub_0807D1D8(thing->field_0x8, (char*)saveFile, thing->field_0x0) != 0) && + (sub_0807D0A0((u16*)auStack32, (u16*)saveFile, (u32)thing->field_0x0) != 0)) { + return 1; + } + t2 = 0; + } + set_0 = 0; + CpuSet(&set_0, saveFile, thing->field_0x0 >> 2 | CPU_SET_SRC_FIXED | CPU_SET_32BIT); + temp = t1 | t2; + ret = 0; + if (temp == 0) { + ret = -1; + } + return ret; +} +END_NONMATCH NONMATCH("asm/non_matching/code_0807CC3C/sub_0807D0A0.inc", u32 sub_0807D0A0(u16* unk_1, u16* unk_2, u32 unk_3)) { u32 r0; @@ -114,6 +156,7 @@ u16 sub_0807D1A4(u16* unk_1, u32 unk_2) { return uVar1; } +// TODO properly type this array struct_0807D1C4* sub_0807D1C4(u32 unk_1) { return (struct_0807D1C4*)(gUnk_0811E4BC + unk_1 * 0xc); } From f475bd9fa097437c478c9afd3e1a888ad12222f7 Mon Sep 17 00:00:00 2001 From: Henny022p Date: Thu, 18 Feb 2021 17:58:42 +0100 Subject: [PATCH 083/101] nonmatch sub_0807CF88 --- .../code_0807CC3C/sub_0807CF88.inc} | 4 +- .../code_0807CC3C/sub_0807D008.inc | 3 -- include/functions.h | 2 +- linker.ld | 1 - src/code_0807CC3C.c | 43 +++++++++++++++++-- 5 files changed, 43 insertions(+), 10 deletions(-) rename asm/{code_0807CC3C.s => non_matching/code_0807CC3C/sub_0807CF88.inc} (94%) diff --git a/asm/code_0807CC3C.s b/asm/non_matching/code_0807CC3C/sub_0807CF88.inc similarity index 94% rename from asm/code_0807CC3C.s rename to asm/non_matching/code_0807CC3C/sub_0807CF88.inc index 5436febf..18546c4a 100644 --- a/asm/code_0807CC3C.s +++ b/asm/non_matching/code_0807CC3C/sub_0807CF88.inc @@ -1,12 +1,11 @@ .include "asm/macros.inc" + .include "constants/constants.inc" .syntax unified .text - thumb_func_start sub_0807CF88 -sub_0807CF88: @ 0x0807CF88 push {r4, r5, r6, r7, lr} sub sp, #8 adds r7, r1, #0 @@ -69,3 +68,4 @@ _0807CFFE: .align 2, 0 _0807D004: .4byte 0x4D435A33 + .syntax divided diff --git a/asm/non_matching/code_0807CC3C/sub_0807D008.inc b/asm/non_matching/code_0807CC3C/sub_0807D008.inc index c4761416..d5d00ffd 100644 --- a/asm/non_matching/code_0807CC3C/sub_0807D008.inc +++ b/asm/non_matching/code_0807CC3C/sub_0807D008.inc @@ -1,6 +1,3 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" .syntax unified diff --git a/include/functions.h b/include/functions.h index 4866a847..e6be13bc 100644 --- a/include/functions.h +++ b/include/functions.h @@ -224,7 +224,7 @@ extern u32 sub_0807D24C(u32, const char*, u32); extern void sub_0807CF68(u32); extern u32 sub_0807D20C(u32, const char*, u32); extern u32 sub_0807CF88(u32, u8*); -extern void sub_0807D184(u32, const char*); +extern u32 sub_0807D184(u32, const char*); extern u32 sub_0806F520(); extern void sub_0806F4E8(Entity*); extern u32 sub_0806F3E4(Entity*); diff --git a/linker.ld b/linker.ld index 8b282a19..8ac8a325 100644 --- a/linker.ld +++ b/linker.ld @@ -675,7 +675,6 @@ SECTIONS { asm/code_0807CAA0.o(.text); src/flags.o(.text); src/save.o(.text); - asm/code_0807CC3C.o(.text); src/code_0807CC3C.o(.text); src/executeScriptCommandSet.o(.text); asm/code_0807F0D8.o(.text); diff --git a/src/code_0807CC3C.c b/src/code_0807CC3C.c index 5c4220cb..484fe575 100644 --- a/src/code_0807CC3C.c +++ b/src/code_0807CC3C.c @@ -32,6 +32,39 @@ u16 sub_0807D1A4(u16* unk_1, u32 unk_2); u32 sub_0807D0A0(u16* unk_1, u16* unk_2, u32 unk_3); u32 sub_0807D0EC(u32 unk_1, const char* unk_2); +NONMATCH("asm/non_matching/code_0807CC3C/sub_0807CF88.inc", u32 sub_0807CF88(u32 arg0, u8* arg1)) { + u32 signature; + s16 local1[2]; + + u32 retval; + struct_0807D1C4* ptr; + u32 e0, e1; + u16 l1prep; + + ptr = sub_0807D1C4(arg0); + + signature = 'MCZ3'; + l1prep = sub_0807D1A4((u16*)&signature, 4); + l1prep += sub_0807D1A4((u16*)arg1, ptr->field_0x0); + local1[0] = l1prep; + local1[1] = -(u32)l1prep; + e0 = sub_0807D20C(ptr->field_0x6, (const char*)arg1, ptr->field_0x0); + if (e0) { + e0 = sub_0807D184(ptr->field_0x2, (const char*)local1); + } + e1 = sub_0807D20C(ptr->field_0x8, (const char*)arg1, ptr->field_0x0); + if (e1) { + e1 = sub_0807D184(ptr->field_0x4, (const char*)local1); + } + + retval = 0; + if (e0 || e1) { + retval = 1; + } + return retval; +} +END_NONMATCH + NONMATCH("asm/non_matching/code_0807CC3C/sub_0807D008.inc", u32 sub_0807D008(u32 param_1, SaveFile* saveFile)) { u32 set_0; char auStack32[8]; @@ -138,10 +171,14 @@ u32 sub_0807D128(u16* unk_1) { return ret; } -void sub_0807D184(u32 param_1, const char* param_2) { - if (sub_0807D20C(param_1, param_2, 8) == 0) { - sub_0807D20C(param_1 + 8, param_2, 8); +u32 sub_0807D184(u32 param_1, const char* param_2) { + u32 uVar1; + + uVar1 = sub_0807D20C(param_1, param_2, 8); + if (uVar1 == 0) { + uVar1 = sub_0807D20C(param_1 + 8, param_2, 8); } + return uVar1; } u16 sub_0807D1A4(u16* unk_1, u32 unk_2) { From 1133fcb21b311f9864d6d3fbe2fa93b8bcd7c3e8 Mon Sep 17 00:00:00 2001 From: Henny022p Date: Fri, 19 Feb 2021 03:34:52 +0100 Subject: [PATCH 084/101] named ScriptExecutionContext globals and functions --- asm/code_080732D0.s | 8 +++---- asm/manager16.s | 2 +- linker.ld | 4 ++-- src/code_0807CC3C.c | 55 +++++++++++++++++++++------------------------ 4 files changed, 33 insertions(+), 36 deletions(-) diff --git a/asm/code_080732D0.s b/asm/code_080732D0.s index 2aff08e1..ee7de176 100644 --- a/asm/code_080732D0.s +++ b/asm/code_080732D0.s @@ -3437,7 +3437,7 @@ sub_08074C68: @ 0x08074C68 adds r0, r4, #0 adds r0, #0x84 ldr r1, [r0] - ldr r0, _08074CA4 @ =gUnk_02022750 + ldr r0, _08074CA4 @ =gPlayerScriptExecutionContext cmp r1, r0 bne _08074CF2 movs r0, #1 @@ -3449,7 +3449,7 @@ sub_08074C68: @ 0x08074C68 b _08074CF2 .align 2, 0 _08074CA0: .4byte gPlayerState -_08074CA4: .4byte gUnk_02022750 +_08074CA4: .4byte gPlayerScriptExecutionContext _08074CA8: ldrb r1, [r4, #0x18] movs r0, #4 @@ -4195,7 +4195,7 @@ sub_080751E8: @ 0x080751E8 adds r7, r0, #0 adds r5, r1, #0 adds r6, r2, #0 - ldr r4, _08075230 @ =gUnk_02022750 + ldr r4, _08075230 @ =gPlayerScriptExecutionContext adds r0, r4, #0 movs r1, #0x24 bl _DmaZero @@ -4226,7 +4226,7 @@ sub_080751E8: @ 0x080751E8 ldr r6, _0807523C @ =gUnk_08009ECC b _08075244 .align 2, 0 -_08075230: .4byte gUnk_02022750 +_08075230: .4byte gPlayerScriptExecutionContext _08075234: .4byte gPlayerEntity _08075238: .4byte gPlayerState _0807523C: .4byte gUnk_08009ECC diff --git a/asm/manager16.s b/asm/manager16.s index 518f9e4e..25cd6698 100644 --- a/asm/manager16.s +++ b/asm/manager16.s @@ -126,7 +126,7 @@ _0805AC1A: ldr r0, [r4, #8] cmp r0, #0 beq _0805AC48 - bl sub_0807DAA0 + bl CreateScriptExecutionContext mov sb, r0 cmp r0, #0 beq _0805ACA6 diff --git a/linker.ld b/linker.ld index 8ac8a325..e4141fdc 100644 --- a/linker.ld +++ b/linker.ld @@ -84,7 +84,7 @@ SECTIONS { . = 0x00022130; gUnk_02022130 = .; . = 0x00022730; gUnk_02022730 = .; . = 0x00022740; gUnk_02022740 = .; - . = 0x00022750; gUnk_02022750 = .; + . = 0x00022750; gPlayerScriptExecutionContext = .; . = 0x00022780; gUnk_02022780 = .; . = 0x000227DC; gUnk_020227DC = .; . = 0x000227E8; gUnk_020227E8 = .; @@ -144,7 +144,7 @@ SECTIONS { . = 0x00035540; gUnk_02035540 = .; . = 0x00035542; gUnk_02035542 = .; . = 0x00036540; gUnk_02036540 = .; - . = 0x00036570; gUnk_02036570 = .; + . = 0x00036570; gScriptExecutionContextArray = .; . = 0x000369F0; gUnk_020369F0 = .; . = 0x00036A38; gUnk_02036A38 = .; . = 0x00036A40; gUnk_02036A40 = .; diff --git a/src/code_0807CC3C.c b/src/code_0807CC3C.c index 484fe575..e895a5bf 100644 --- a/src/code_0807CC3C.c +++ b/src/code_0807CC3C.c @@ -9,17 +9,14 @@ extern u8 gUnk_0811E514[]; extern u8 gUnk_0811E510[]; extern u8 gUnk_0811E4BC[]; extern const char gUnk_0811E4B4[8]; -// the type is just a guess based on size and the fact that these are around a lot in this file -extern ScriptExecutionContext gUnk_02022750; -// might be ScriptExecutionContext[0x20] -extern u32 gUnk_02036570; +extern ScriptExecutionContext gPlayerScriptExecutionContext; +extern ScriptExecutionContext gScriptExecutionContextArray[0x20]; extern void CreateSpeechBubbleExclamationMark(Entity*, u32, u32); extern void CreateSpeechBubbleQuestionMark(Entity*, u32, u32); extern void DeleteThisEntity(void); extern u32 sub_080B180C(u32, const char*); extern void sub_0801C4A0(u32); -extern void sub_0807DB98(Entity*, ScriptExecutionContext*); extern s32 __divsi3(s32, s32); extern void _call_via_r6(Entity*, ScriptExecutionContext*); extern u16 sub_080B18DC(u16, const char*); @@ -31,6 +28,9 @@ u32 sub_0807D128(u16* unk_1); u16 sub_0807D1A4(u16* unk_1, u32 unk_2); u32 sub_0807D0A0(u16* unk_1, u16* unk_2, u32 unk_3); u32 sub_0807D0EC(u32 unk_1, const char* unk_2); +void sub_0807DF38(void); +void sub_0807DE80(Entity* entity); +void sub_0807DB98(Entity*, ScriptExecutionContext*); NONMATCH("asm/non_matching/code_0807CC3C/sub_0807CF88.inc", u32 sub_0807CF88(u32 arg0, u8* arg1)) { u32 signature; @@ -246,32 +246,32 @@ END_NONMATCH void sub_0807DA70(void) { _DmaZero(&gUnk_02033280, 0xc); - _DmaZero(&gUnk_02036570, 0x480); - _DmaZero(&gUnk_02022750, 0x24); + _DmaZero(&gScriptExecutionContextArray, sizeof(gScriptExecutionContextArray)); + _DmaZero(&gPlayerScriptExecutionContext, sizeof(gPlayerScriptExecutionContext)); gUnk_02033280.unk_08 = 8; } -u32* sub_0807DAA0(void) { - u32* puVar1; +ScriptExecutionContext* CreateScriptExecutionContext(void) { + ScriptExecutionContext* puVar1; - puVar1 = &gUnk_02036570; + puVar1 = gScriptExecutionContextArray; do { - if (*puVar1 == 0) { + if (puVar1->unk_00 == 0) { return puVar1; } - puVar1 = puVar1 + 9; - } while (puVar1 < &gUnk_02036570 + 0x480 / 4); + puVar1++; + } while (puVar1 < gScriptExecutionContextArray + ARRAY_COUNT(gScriptExecutionContextArray)); return NULL; } -void sub_0807DAC4(ScriptExecutionContext* context) { - _DmaZero(context, 0x24); +void DestroyScriptExecutionContext(ScriptExecutionContext* context) { + _DmaZero(context, sizeof(ScriptExecutionContext)); } u32* StartCutscene(Entity* param_1, u8* param_2) { ScriptExecutionContext* puVar1; - puVar1 = (ScriptExecutionContext*)sub_0807DAA0(); + puVar1 = CreateScriptExecutionContext(); if (puVar1) { sub_0807DAF0(param_1, puVar1, (u32)param_2); } @@ -287,7 +287,7 @@ void sub_0807DAF0(Entity* entity, ScriptExecutionContext* context, u32 unk1) { void UnloadCutsceneData(Entity* entity) { if ((entity->flags & 2)) { entity->flags = entity->flags & 0xfd; - sub_0807DAC4(*(ScriptExecutionContext**)&entity->cutsceneBeh); + DestroyScriptExecutionContext(*(ScriptExecutionContext**)&entity->cutsceneBeh); *(ScriptExecutionContext**)&entity->cutsceneBeh = NULL; } } @@ -295,24 +295,24 @@ void UnloadCutsceneData(Entity* entity) { void StartPlayerScript(u32 unk1) { Entity* player; - _DmaZero(&gUnk_02022750, 0x24); - gUnk_02022750.unk_00 = (u16*)unk1; + _DmaZero(&gPlayerScriptExecutionContext, sizeof(gPlayerScriptExecutionContext)); + gPlayerScriptExecutionContext.unk_00 = (u16*)unk1; player = &gPlayerEntity; - *(ScriptExecutionContext**)&player->cutsceneBeh = &gUnk_02022750; + *(ScriptExecutionContext**)&player->cutsceneBeh = &gPlayerScriptExecutionContext; gPlayerState.playerAction = 0x1c; gPlayerState.field_0x3a = 0; gPlayerState.field_0x39 = 0; gPlayerState.field_0x38 = 0; } -u32* sub_0807DB68(Entity* entity, u32 unk1) { - u32* puVar1; +ScriptExecutionContext* sub_0807DB68(Entity* entity, u16* unk1) { + ScriptExecutionContext* puVar1; - puVar1 = sub_0807DAA0(); + puVar1 = CreateScriptExecutionContext(); if (puVar1) { entity->flags |= 2; - *(u32**)&entity->field_0x3c = puVar1; - *puVar1 = unk1; + *(ScriptExecutionContext**)&entity->field_0x3c = puVar1; + puVar1->unk_00 = unk1; } return puVar1; } @@ -347,7 +347,7 @@ void sub_0807DB98(Entity* entity, ScriptExecutionContext* context) { CreateSpeechBubbleQuestionMark(entity, 8, -0x18); break; case 0x40: - sub_0807DAC4(context); + DestroyScriptExecutionContext(context); DeleteThisEntity(); case 0x80: entity->spriteSettings.b.draw = 1; @@ -396,9 +396,6 @@ void sub_0807DB98(Entity* entity, ScriptExecutionContext* context) { } } -void sub_0807DF38(void); -void sub_0807DE80(Entity* entity); - void sub_0807DD50(Entity* entity) { sub_0807DD64(entity); sub_0807DD94(entity, 0); From 42f3e2e2fe788cf3f59d51089bc6036c5d3b816f Mon Sep 17 00:00:00 2001 From: Henny022p Date: Fri, 19 Feb 2021 05:28:01 +0100 Subject: [PATCH 085/101] code cleanup --- src/code_0807CC3C.c | 49 +++++++++++++++++++++++---------------------- 1 file changed, 25 insertions(+), 24 deletions(-) diff --git a/src/code_0807CC3C.c b/src/code_0807CC3C.c index e895a5bf..68bea878 100644 --- a/src/code_0807CC3C.c +++ b/src/code_0807CC3C.c @@ -5,9 +5,15 @@ #include "entity.h" #include "save.h" +typedef struct Thing{ + u16 unk_1; + u16 unk_2; + u32 unk_3; +} Thing; + extern u8 gUnk_0811E514[]; extern u8 gUnk_0811E510[]; -extern u8 gUnk_0811E4BC[]; +extern struct_0807D1C4 gUnk_0811E4BC[]; extern const char gUnk_0811E4B4[8]; extern ScriptExecutionContext gPlayerScriptExecutionContext; extern ScriptExecutionContext gScriptExecutionContextArray[0x20]; @@ -24,7 +30,7 @@ extern u16 sub_080B18DC(u16, const char*); void sub_0807DB88(ScriptExecutionContext* context, u32 unk1); void sub_0807DAF0(Entity* entity, ScriptExecutionContext* context, u32 unk1); u32 sub_0807D1D8(u32 unk_1, const char* unk_2, u32 unk_3); -u32 sub_0807D128(u16* unk_1); +u32 sub_0807D128(const Thing* unk_1); u16 sub_0807D1A4(u16* unk_1, u32 unk_2); u32 sub_0807D0A0(u16* unk_1, u16* unk_2, u32 unk_3); u32 sub_0807D0EC(u32 unk_1, const char* unk_2); @@ -139,19 +145,19 @@ u32 sub_0807D0EC(u32 unk_1, const char* unk_2) { if (!sub_0807D1D8(unk_1, unk_2, 8)) { ret = 0; } else { - ret = sub_0807D128((u16*)unk_2); + ret = sub_0807D128((Thing*)unk_2); } if (!ret && sub_0807D1D8(unk_1 + 8, unk_2, 8)) { - ret = sub_0807D128((u16*)unk_2); + ret = sub_0807D128((Thing*)unk_2); } return ret; } -u32 sub_0807D128(u16* unk_1) { +u32 sub_0807D128(const Thing* thing) { u32 ret; - switch (((u32*)(unk_1))[1]) { + switch (thing->unk_3) { case 'MCZ3': - if (unk_1[0] + unk_1[1] == 0x10000) { + if (thing->unk_1 + thing->unk_2 == 0x10000) { ret = 2; } else { ret = 0; @@ -160,7 +166,7 @@ u32 sub_0807D128(u16* unk_1) { case 'FleD': case 'TINI': ret = 0; - if ((unk_1[0] & unk_1[1]) == 0xffff) { + if ((thing->unk_1 & thing->unk_2) == 0xffff) { ret = 1; } break; @@ -193,9 +199,8 @@ u16 sub_0807D1A4(u16* unk_1, u32 unk_2) { return uVar1; } -// TODO properly type this array struct_0807D1C4* sub_0807D1C4(u32 unk_1) { - return (struct_0807D1C4*)(gUnk_0811E4BC + unk_1 * 0xc); + return &gUnk_0811E4BC[unk_1]; } // these three are basically the same and wrong by basically one instruction in the wrong place @@ -268,12 +273,12 @@ void DestroyScriptExecutionContext(ScriptExecutionContext* context) { _DmaZero(context, sizeof(ScriptExecutionContext)); } -u32* StartCutscene(Entity* param_1, u8* param_2) { +u32* StartCutscene(Entity* entity, u8* param_2) { ScriptExecutionContext* puVar1; puVar1 = CreateScriptExecutionContext(); if (puVar1) { - sub_0807DAF0(param_1, puVar1, (u32)param_2); + sub_0807DAF0(entity, puVar1, (u32)param_2); } return (u32*)puVar1; } @@ -306,19 +311,19 @@ void StartPlayerScript(u32 unk1) { } ScriptExecutionContext* sub_0807DB68(Entity* entity, u16* unk1) { - ScriptExecutionContext* puVar1; + ScriptExecutionContext* context; - puVar1 = CreateScriptExecutionContext(); - if (puVar1) { + context = CreateScriptExecutionContext(); + if (context) { entity->flags |= 2; - *(ScriptExecutionContext**)&entity->field_0x3c = puVar1; - puVar1->unk_00 = unk1; + *(ScriptExecutionContext**)&entity->field_0x3c = context; + context->unk_00 = unk1; } - return puVar1; + return context; } void sub_0807DB88(ScriptExecutionContext* context, u32 unk1) { - _DmaZero(context, 0x24); + _DmaZero(context, sizeof(ScriptExecutionContext)); context->unk_00 = (u16*)unk1; } @@ -419,11 +424,7 @@ void sub_0807DD94(Entity* entity, u32 param_2) { sub_0807DE80(entity); } -/** - * - * @param entity - * @param address this is the fuction called via r6 - */ +// TODO: make this a proper function pointer void sub_0807DDAC(Entity* entity, u32 address) { ScriptExecutionContext** piVar1; From b404b02bc2fffdef953935a33fb6f38098a23585 Mon Sep 17 00:00:00 2001 From: Henny022p Date: Fri, 19 Feb 2021 05:32:39 +0100 Subject: [PATCH 086/101] cleaned some usage of ExecuteScriptCommandSet --- include/functions.h | 2 +- src/npc/festari.c | 1 - src/object/houseDoorExterior.c | 4 ++-- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/include/functions.h b/include/functions.h index e6be13bc..7f5b9cc1 100644 --- a/include/functions.h +++ b/include/functions.h @@ -9,6 +9,7 @@ #include "player.h" #include "structures.h" #include "room.h" +#include "script.h" // Identified - to be sorted into header files extern u32 Random(void); @@ -43,7 +44,6 @@ extern void UpdateAnimationVariableFrames(Entity*, u32); extern void CopyPositionAndSpriteOffset(Entity*, Entity*); extern u8* GetSpriteSubEntryOffsetDataPointer(u32, u32); extern u32 LoadFixedGFX(Entity*, u32); -extern void ExecuteScriptCommandSet(); extern void _DmaFill32(u32, void*, u32); extern Entity* CreateItemEntity(u32, u32, u32); void _DmaCopy(const void* src, void* dst, u32 size); diff --git a/src/npc/festari.c b/src/npc/festari.c index 67637ec3..0c5c74f8 100644 --- a/src/npc/festari.c +++ b/src/npc/festari.c @@ -8,7 +8,6 @@ extern u32 sub_0801E99C(Entity*); extern void sub_08078784(Entity*, u32); extern void sub_0807DD50(Entity*); extern void sub_0806F118(Entity*); -extern void ExecuteScriptCommandSet(Entity*, void*); extern void sub_0805FF2C(Entity*, void*); extern void (*const gUnk_08109BBC[])(Entity*); diff --git a/src/object/houseDoorExterior.c b/src/object/houseDoorExterior.c index cdee3afe..170f6e33 100644 --- a/src/object/houseDoorExterior.c +++ b/src/object/houseDoorExterior.c @@ -116,7 +116,7 @@ static void sub_0808681C(Entity* this) { } if (this->flags & 0x2) { - ExecuteScriptCommandSet(this, *(u32**)&this->cutsceneBeh); + ExecuteScriptCommandSet(this, *(ScriptExecutionContext **)&this->cutsceneBeh); sub_080868EC(this, *(void**)&this->cutsceneBeh); } } @@ -128,7 +128,7 @@ void sub_080868B0(Entity* this) { this->boundingBox = &gUnk_081206AC; this->actionDelay = 8; } - ExecuteScriptCommandSet(this, *(u32**)&this->cutsceneBeh); + ExecuteScriptCommandSet(this, *(ScriptExecutionContext **)&this->cutsceneBeh); sub_080868EC(this, *(void**)&this->cutsceneBeh); } From 2fda11f20c830a77e73be272897351b75ba7b816 Mon Sep 17 00:00:00 2001 From: Henny022p Date: Fri, 19 Feb 2021 05:43:57 +0100 Subject: [PATCH 087/101] use proper function pointer in sub_0807DDAC --- include/functions.h | 5 ++--- src/code_0807CC3C.c | 11 +++++------ src/npc/beedle.c | 2 +- src/npc/bigGoron.c | 3 +-- src/npc/forestMinish.c | 3 +-- src/npc/mayorHagen.c | 3 +-- src/npc/melari.c | 3 +-- src/npc/mutoh.c | 3 +-- src/npc/percy.c | 2 +- src/npc/postman.c | 3 +-- src/npc/rem.c | 6 ++---- src/npc/simon.c | 2 +- src/npc/smith.c | 8 +++----- src/npc/stamp.c | 3 +-- src/npc/talon.c | 4 ++-- src/npc/teachers.c | 3 +-- src/npc/townMinish.c | 2 +- src/npc/townsperson.c | 3 +-- src/npc/windTribespeople.c | 3 +-- src/npc/zelda.c | 3 +-- src/object/windcrest.c | 3 +-- 21 files changed, 30 insertions(+), 48 deletions(-) diff --git a/include/functions.h b/include/functions.h index 7f5b9cc1..d53ca901 100644 --- a/include/functions.h +++ b/include/functions.h @@ -86,13 +86,13 @@ extern void sub_0806F69C(Entity*); extern void sub_0805E3A0(void*, u32); extern void sub_0806D0B0(Entity*); extern void sub_0807DD64(Entity*); -extern void sub_0807DDAC(Entity*, u32); +extern void sub_0807DDAC(Entity*, void(*function)(Entity*, ScriptExecutionContext*)); extern void sub_0807DDE4(Entity*); extern void sub_0806D02C(Entity*); extern u32 sub_0806F5A4(u32); extern void sub_08078784(Entity*, u32); extern void sub_0807DD50(Entity*); -extern void sub_0807DD94(Entity*, u32); +extern void sub_0807DD94(Entity*, void(*function)(Entity*, ScriptExecutionContext*)); extern s32 sub_0806ED9C(Entity*, u32, u32); extern void sub_0807000C(Entity*); extern void sub_0805E47C(Entity*); @@ -106,7 +106,6 @@ extern void sub_0806FD3C(Entity*); extern u32 sub_0801E99C(Entity*); extern void sub_0807DD50(Entity*); extern void sub_0806F118(Entity*); -extern void sub_0807DD94(Entity*, u32); extern void sub_0805ED14(u32*); extern void sub_080A7C18(u32, u32, u32); extern void sub_08068BEC(Entity*, u32); diff --git a/src/code_0807CC3C.c b/src/code_0807CC3C.c index 68bea878..040cb763 100644 --- a/src/code_0807CC3C.c +++ b/src/code_0807CC3C.c @@ -418,21 +418,20 @@ void sub_0807DD80(Entity* entity, u32 unk1) { sub_0807DD64(entity); } -void sub_0807DD94(Entity* entity, u32 param_2) { - sub_0807DDAC(entity, param_2); +void sub_0807DD94(Entity* entity, void(*function)(Entity*, ScriptExecutionContext*)) { + sub_0807DDAC(entity, function); sub_0807DDE4(entity); sub_0807DE80(entity); } -// TODO: make this a proper function pointer -void sub_0807DDAC(Entity* entity, u32 address) { +void sub_0807DDAC(Entity* entity, void(*function)(Entity*, ScriptExecutionContext*)) { ScriptExecutionContext** piVar1; piVar1 = (ScriptExecutionContext**)&entity->cutsceneBeh; if (*piVar1) { ExecuteScriptCommandSet(entity, *piVar1); - if (address) { - _call_via_r6(entity, *piVar1); + if (function) { + function(entity, *piVar1); } else { sub_0807DB98(entity, *piVar1); } diff --git a/src/npc/beedle.c b/src/npc/beedle.c index 6e6a525a..da25ab1b 100644 --- a/src/npc/beedle.c +++ b/src/npc/beedle.c @@ -108,7 +108,7 @@ void sub_08063410(Entity* this) { if (this->entityType.form != 0) { sub_0806346C(this); } - sub_0807DDAC(this, 0); + sub_0807DDAC(this, NULL); sub_0807DDE4(this); GetNextFrame(this); } diff --git a/src/npc/bigGoron.c b/src/npc/bigGoron.c index bb28c9f0..94a6e085 100644 --- a/src/npc/bigGoron.c +++ b/src/npc/bigGoron.c @@ -9,7 +9,6 @@ extern void (*gUnk_081140D4[])(Entity*); extern u16 gUnk_081140CC[]; extern void sub_0806D0B0(Entity*); extern void sub_0807DD64(Entity*); -extern void sub_0807DDAC(Entity*, u32); extern void sub_0807DDE4(Entity*); extern void PlaySFX(u32); extern void sub_0806D02C(Entity*); @@ -28,7 +27,7 @@ void sub_0806CF30(Entity* this) { sub_0806D0B0(this); sub_0807DD64(this); } else { - sub_0807DDAC(this, 0); + sub_0807DDAC(this, NULL); sub_0807DDE4(this); } diff --git a/src/npc/forestMinish.c b/src/npc/forestMinish.c index f127acf4..3bdc6170 100644 --- a/src/npc/forestMinish.c +++ b/src/npc/forestMinish.c @@ -10,7 +10,6 @@ extern void sub_0807DD50(Entity*); extern void sub_0806F118(Entity*); -extern void sub_0807DDAC(Entity*, u32); extern void sub_0807DDE4(Entity*); extern void sub_080600F0(Entity*); extern s32 sub_0806EDD8(Entity*, u32, u32); @@ -51,7 +50,7 @@ void ForestMinish(Entity* this) { this->interactType = 0; sub_0806F118(this); } else { - sub_0807DDAC(this, 0); + sub_0807DDAC(this, NULL); sub_0807DDE4(this); if (this->frameDuration != 0xf0) { sub_080600F0(this); diff --git a/src/npc/mayorHagen.c b/src/npc/mayorHagen.c index ffa5b0c6..a56ded98 100644 --- a/src/npc/mayorHagen.c +++ b/src/npc/mayorHagen.c @@ -14,7 +14,6 @@ extern void sub_0807DD50(Entity*); extern u32 sub_0806F5A4(u32); extern void sub_0806F118(Entity*); extern void sub_08078784(Entity*, u32); -extern void sub_0807DDAC(Entity*, u32); extern void sub_0807DDE4(Entity*); extern void sub_08078850(); extern u32 gUnk_08113F44; @@ -43,7 +42,7 @@ void MayorHagen(Entity* this) { sub_0806F118(this); break; } - sub_0807DDAC(this, 0); + sub_0807DDAC(this, NULL); sub_0807DDE4(this); UpdateAnimationSingleFrame(this); break; diff --git a/src/npc/melari.c b/src/npc/melari.c index ed324001..1b09ecb6 100644 --- a/src/npc/melari.c +++ b/src/npc/melari.c @@ -8,7 +8,6 @@ extern void sub_08068780(Entity*); extern void sub_08078778(Entity*); extern void sub_0807DD50(Entity*); extern void sub_0806F118(Entity*); -extern void sub_0807DDAC(Entity*, u32); extern void sub_0807DDE4(Entity*); extern u32 sub_080040A8(Entity*); extern void EnqueueSFX(u32); @@ -82,7 +81,7 @@ void sub_08068780(Entity* this) { this->interactType = 0; sub_0806F118(this); } else { - sub_0807DDAC(this, 0); + sub_0807DDAC(this, NULL); sub_0807DDE4(this); GetNextFrame(this); } diff --git a/src/npc/mutoh.c b/src/npc/mutoh.c index c3084796..deed814f 100644 --- a/src/npc/mutoh.c +++ b/src/npc/mutoh.c @@ -12,7 +12,6 @@ extern void sub_0807DD50(Entity*); extern u32 GetFacingDirection(Entity*, Entity*); extern u32 sub_0806F5A4(u32); extern void sub_0806F118(Entity*); -extern void sub_0807DD94(Entity*, u32); extern u32 UpdateFuseInteraction(Entity*); extern void sub_0807000C(Entity*); extern u32 sub_0801E99C(Entity*); @@ -43,7 +42,7 @@ void Mutoh(Entity* this) { InitAnimationForceUpdate(this, sub_0806F5A4(GetFacingDirection(this, &gPlayerEntity)) + 4); sub_0806F118(this); } else { - sub_0807DD94(this, 0); + sub_0807DD94(this, NULL); } break; case 2: diff --git a/src/npc/percy.c b/src/npc/percy.c index 47a9fa43..3d18ed35 100644 --- a/src/npc/percy.c +++ b/src/npc/percy.c @@ -77,7 +77,7 @@ void sub_0806B41C(Entity* this) { sub_0801DFB4(this, tmp[0], tmp[1], tmp[2]); gPlayerState.field_0x8b = 3; } else { - sub_0807DD94(this, 0); + sub_0807DD94(this, NULL); } break; case 2: diff --git a/src/npc/postman.c b/src/npc/postman.c index 8f387f04..266c3fb6 100644 --- a/src/npc/postman.c +++ b/src/npc/postman.c @@ -22,7 +22,6 @@ extern void sub_0806F118(Entity*); extern u32 sub_0806F5A4(u32); extern u32 GetFacingDirection(Entity*, Entity*); extern void sub_080606D8(Entity*); -extern void sub_0807DD94(Entity*, u32); extern void sub_080788E0(Entity*); extern void EnqueueSFX(u32); extern void sub_080606C0(Entity*); @@ -145,7 +144,7 @@ void sub_08060528(Entity* this) { sub_080606D8(this); InitAnimationForceUpdate(this, sub_0806F5A4(GetFacingDirection(this, &gPlayerEntity))); } else { - sub_0807DD94(this, 0); + sub_0807DD94(this, NULL); } } break; diff --git a/src/npc/rem.c b/src/npc/rem.c index 415f7ffa..22d13c31 100644 --- a/src/npc/rem.c +++ b/src/npc/rem.c @@ -2,11 +2,9 @@ #include "functions.h" #include "entity.h" -extern void sub_0807DDAC(Entity*, u32); extern void sub_0807DDE4(Entity*); extern void PlaySFX(u32); extern void sub_0806A8C8(Entity*); -extern void sub_0807DD94(Entity*, u32); extern void (*gUnk_08112260[])(Entity*); extern void (*gUnk_08112278[])(Entity*); @@ -21,7 +19,7 @@ void sub_0806a370(Entity* this) { u8* pbVar1; gUnk_08112278[this->action](this); - sub_0807DDAC(this, 0); + sub_0807DDAC(this, NULL); sub_0807DDE4(this); UpdateAnimationSingleFrame(this); sub_0806ED78(this); @@ -47,5 +45,5 @@ void sub_0806A3D8(Entity* this) { sub_0806A8C8(this); uVar1 = StartCutscene(this, &gUnk_08012F0C); *(u32*)&this->cutsceneBeh = (u32)uVar1; - sub_0807DD94(this, 0); + sub_0807DD94(this, NULL); } diff --git a/src/npc/simon.c b/src/npc/simon.c index 7c4b7f48..deb8d73e 100644 --- a/src/npc/simon.c +++ b/src/npc/simon.c @@ -22,7 +22,7 @@ void Simon(Entity* this) { this->action++; sub_0807DD50(this); } else { - sub_0807DD94(this, 0); + sub_0807DD94(this, NULL); } } diff --git a/src/npc/smith.c b/src/npc/smith.c index 430b12af..50772b83 100644 --- a/src/npc/smith.c +++ b/src/npc/smith.c @@ -12,8 +12,6 @@ extern void PlaySFX(u32); extern void sub_0807000C(Entity*); extern u32 sub_0801E99C(Entity*); extern void sub_0807DD50(Entity*); -extern void sub_0807DD94(Entity*, u32); -extern void sub_0807DDAC(Entity*, u32); extern void sub_0807DDE4(Entity*); extern u32 UpdateFuseInteraction(Entity*); extern u32 GetAnimationState(Entity*); @@ -118,7 +116,7 @@ void sub_08066178(Entity* this) { } void sub_080661B0(Entity* this) { - sub_0807DD94(this, 0); + sub_0807DD94(this, NULL); } void sub_080661BC(Entity* this) { @@ -131,12 +129,12 @@ void sub_080661BC(Entity* this) { InitAnimationForceUpdate(this, this->field_0x80.HWORD); } } else { - sub_0807DD94(this, 0); + sub_0807DD94(this, NULL); } } void sub_08066200(Entity* this) { - sub_0807DDAC(this, 0); + sub_0807DDAC(this, NULL); sub_0807DDE4(this); UpdateAnimationSingleFrame(this); } diff --git a/src/npc/stamp.c b/src/npc/stamp.c index f77b1fdd..652e6710 100644 --- a/src/npc/stamp.c +++ b/src/npc/stamp.c @@ -8,7 +8,6 @@ extern void sub_0805E47C(Entity*); extern void sub_0805E584(); extern void sub_0807DD64(); extern void sub_08062CA4(); -extern void sub_0807DDAC(); extern void sub_0807DDE4(); extern u32 CheckKinstoneFused(); @@ -68,7 +67,7 @@ void sub_08062C7C(Entity* ent) { } void sub_08062CA4(Entity* ent) { - sub_0807DDAC(ent, 0); + sub_0807DDAC(ent, NULL); sub_0807DDE4(ent); GetNextFrame(ent); } diff --git a/src/npc/talon.c b/src/npc/talon.c index b4ddbe84..302321de 100644 --- a/src/npc/talon.c +++ b/src/npc/talon.c @@ -77,7 +77,7 @@ void sub_08065648(Entity* this) { this->interactType = 0; sub_0806F118(this); } else { - sub_0807DD94(this, 0); + sub_0807DD94(this, NULL); } } @@ -118,7 +118,7 @@ void sub_080656D4(Entity* this) { } } else { label2: - sub_0807DD94(this, 0); + sub_0807DD94(this, NULL); } } } diff --git a/src/npc/teachers.c b/src/npc/teachers.c index 2e0e99fd..b633b3d0 100644 --- a/src/npc/teachers.c +++ b/src/npc/teachers.c @@ -9,7 +9,6 @@ extern void sub_0807DD50(Entity*); extern u32 GetFacingDirection(Entity*, Entity*); extern u32 sub_0806F5A4(u32); extern void sub_0806F118(Entity*); -extern void sub_0807DD94(Entity*, u32); extern void sub_08078784(Entity*, u32); extern u32 UpdateFuseInteraction(Entity*); extern void sub_0807000C(Entity*); @@ -37,7 +36,7 @@ void Teachers(Entity* this) { (this->animIndex & -4) + sub_0806F5A4(GetFacingDirection(this, &gPlayerEntity))); sub_0806F118(this); } else { - sub_0807DD94(this, 0); + sub_0807DD94(this, NULL); } break; case 2: diff --git a/src/npc/townMinish.c b/src/npc/townMinish.c index 3eab0a5a..6ed67b2e 100644 --- a/src/npc/townMinish.c +++ b/src/npc/townMinish.c @@ -111,7 +111,7 @@ void sub_0806ACC4(Entity* this) { this->interactType = 0; sub_0806F118(this); } else { - sub_0807DDAC(this, 0); + sub_0807DDAC(this, NULL); sub_0806AEA8(this); if (this->entityType.parameter == 10 && this->interactType) { this->action = 2; diff --git a/src/npc/townsperson.c b/src/npc/townsperson.c index 1c05c1a4..90e2490a 100644 --- a/src/npc/townsperson.c +++ b/src/npc/townsperson.c @@ -30,7 +30,6 @@ extern void sub_08061D64(Entity*); extern void sub_0806F118(Entity*); extern u32 sub_0806F5A4(u32); extern u32 GetFacingDirection(Entity*, Entity*); -extern void sub_0807DDAC(Entity*, u32); extern void sub_0807DDE4(Entity*); extern void sub_08062048(Entity*); extern void sub_08078784(Entity*, u32); @@ -144,7 +143,7 @@ void sub_08061D64(Entity* this) { this->field_0x68.HALF.HI = this->animIndex; InitializeAnimation(this, (this->animIndex & -4) + sub_0806F5A4(GetFacingDirection(this, &gPlayerEntity))); } else { - sub_0807DDAC(this, 0); + sub_0807DDAC(this, NULL); sub_0807DDE4(this); if (this->frameDuration == 0xff) { this->frameDuration = gUnk_0810B680[this->entityType.form].unk2; diff --git a/src/npc/windTribespeople.c b/src/npc/windTribespeople.c index bb09a0c8..b1499f01 100644 --- a/src/npc/windTribespeople.c +++ b/src/npc/windTribespeople.c @@ -11,7 +11,6 @@ extern u32 LoadExtraSpriteData(Entity*, SpriteLoadData*); extern void sub_0807DD50(Entity*); extern void sub_0806C7D4(Entity*); extern void sub_0806F118(Entity*); -extern void sub_0807DD94(Entity*, u32); extern void sub_0807DD80(Entity*, u32*); extern u32 sub_0801E99C(); extern void sub_08078784(Entity*, u32); @@ -54,7 +53,7 @@ void sub_0806C7D4(Entity* this) { this->interactType = '\0'; sub_0806F118(this); } else { - sub_0807DD94(this, 0); + sub_0807DD94(this, NULL); if ((this->entityType.parameter == 3) && (!CheckGlobalFlag(WARP_EVENT_END)) && (CheckLocalFlag(0x63)) && (CheckRoomFlag(0))) { (this->entityType).parameter = 7; diff --git a/src/npc/zelda.c b/src/npc/zelda.c index b7dec220..ea12cf4b 100644 --- a/src/npc/zelda.c +++ b/src/npc/zelda.c @@ -6,7 +6,6 @@ extern void PrependEntityToList(Entity*, u32); extern void sub_0807DD50(Entity*); -extern void sub_0807DD94(Entity*, u32); extern Entity* FindEntityBySubtype(u32, u32); void CopyPosition(Entity*, Entity*); void sub_08068680(Entity*, Entity*); @@ -37,7 +36,7 @@ void sub_08066CCC(Entity* ent) { } void sub_08066CF8(Entity* ent) { - sub_0807DD94(ent, 0); + sub_0807DD94(ent, NULL); } void sub_08066D04(Entity* ent) { diff --git a/src/object/windcrest.c b/src/object/windcrest.c index ff559344..4b96f901 100644 --- a/src/object/windcrest.c +++ b/src/object/windcrest.c @@ -4,7 +4,6 @@ #include "save.h" extern void sub_0807DD64(Entity*); -extern void sub_0807DDAC(Entity*, u32); extern void sub_0807DDE4(Entity*); extern void sub_08078850(Entity*, u32, u32, u8*); extern void PlaySFX(u32); @@ -18,7 +17,7 @@ void Windcrest(Entity* this) { this->frameIndex = 0; sub_0807DD64(this); } - sub_0807DDAC(this, 0); + sub_0807DDAC(this, NULL); sub_0807DDE4(this); } From 4598ae2ae915e14b66dc16a90ad4bfe639165e7c Mon Sep 17 00:00:00 2001 From: Henny022p Date: Fri, 19 Feb 2021 05:57:46 +0100 Subject: [PATCH 088/101] formatting --- src/code_0807CC3C.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/code_0807CC3C.c b/src/code_0807CC3C.c index 040cb763..de59f4f4 100644 --- a/src/code_0807CC3C.c +++ b/src/code_0807CC3C.c @@ -5,7 +5,7 @@ #include "entity.h" #include "save.h" -typedef struct Thing{ +typedef struct Thing { u16 unk_1; u16 unk_2; u32 unk_3; @@ -418,13 +418,13 @@ void sub_0807DD80(Entity* entity, u32 unk1) { sub_0807DD64(entity); } -void sub_0807DD94(Entity* entity, void(*function)(Entity*, ScriptExecutionContext*)) { +void sub_0807DD94(Entity* entity, void (*function)(Entity*, ScriptExecutionContext*)) { sub_0807DDAC(entity, function); sub_0807DDE4(entity); sub_0807DE80(entity); } -void sub_0807DDAC(Entity* entity, void(*function)(Entity*, ScriptExecutionContext*)) { +void sub_0807DDAC(Entity* entity, void (*function)(Entity*, ScriptExecutionContext*)) { ScriptExecutionContext** piVar1; piVar1 = (ScriptExecutionContext**)&entity->cutsceneBeh; From 9f3cc47f992ed1e8f989ff34481b529b22e00bdf Mon Sep 17 00:00:00 2001 From: Henny022p Date: Fri, 19 Feb 2021 06:09:38 +0100 Subject: [PATCH 089/101] matched sub_0807CF88 --- src/code_0807CC3C.c | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/src/code_0807CC3C.c b/src/code_0807CC3C.c index de59f4f4..6c4b32a6 100644 --- a/src/code_0807CC3C.c +++ b/src/code_0807CC3C.c @@ -38,9 +38,8 @@ void sub_0807DF38(void); void sub_0807DE80(Entity* entity); void sub_0807DB98(Entity*, ScriptExecutionContext*); -NONMATCH("asm/non_matching/code_0807CC3C/sub_0807CF88.inc", u32 sub_0807CF88(u32 arg0, u8* arg1)) { - u32 signature; - s16 local1[2]; +u32 sub_0807CF88(u32 arg0, u8* arg1) { + Thing thing; u32 retval; struct_0807D1C4* ptr; @@ -49,18 +48,18 @@ NONMATCH("asm/non_matching/code_0807CC3C/sub_0807CF88.inc", u32 sub_0807CF88(u32 ptr = sub_0807D1C4(arg0); - signature = 'MCZ3'; - l1prep = sub_0807D1A4((u16*)&signature, 4); + thing.unk_3 = 'MCZ3'; + l1prep = sub_0807D1A4((u16*)&thing.unk_3, 4); l1prep += sub_0807D1A4((u16*)arg1, ptr->field_0x0); - local1[0] = l1prep; - local1[1] = -(u32)l1prep; + thing.unk_1 = l1prep; + thing.unk_2 = -(u32)l1prep; e0 = sub_0807D20C(ptr->field_0x6, (const char*)arg1, ptr->field_0x0); if (e0) { - e0 = sub_0807D184(ptr->field_0x2, (const char*)local1); + e0 = sub_0807D184(ptr->field_0x2, (const char*)&thing.unk_1); } e1 = sub_0807D20C(ptr->field_0x8, (const char*)arg1, ptr->field_0x0); if (e1) { - e1 = sub_0807D184(ptr->field_0x4, (const char*)local1); + e1 = sub_0807D184(ptr->field_0x4, (const char*)&thing.unk_1); } retval = 0; @@ -69,7 +68,6 @@ NONMATCH("asm/non_matching/code_0807CC3C/sub_0807CF88.inc", u32 sub_0807CF88(u32 } return retval; } -END_NONMATCH NONMATCH("asm/non_matching/code_0807CC3C/sub_0807D008.inc", u32 sub_0807D008(u32 param_1, SaveFile* saveFile)) { u32 set_0; From 91ce8f1cf8920bb0ee5d92b1dae5c598c0b21ba5 Mon Sep 17 00:00:00 2001 From: Henny022p Date: Fri, 19 Feb 2021 06:13:08 +0100 Subject: [PATCH 090/101] cleaned code --- .../code_0807CC3C/sub_0807CF88.inc | 71 ------------------- src/code_0807CC3C.c | 18 ++--- 2 files changed, 9 insertions(+), 80 deletions(-) delete mode 100644 asm/non_matching/code_0807CC3C/sub_0807CF88.inc diff --git a/asm/non_matching/code_0807CC3C/sub_0807CF88.inc b/asm/non_matching/code_0807CC3C/sub_0807CF88.inc deleted file mode 100644 index 18546c4a..00000000 --- a/asm/non_matching/code_0807CC3C/sub_0807CF88.inc +++ /dev/null @@ -1,71 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - push {r4, r5, r6, r7, lr} - sub sp, #8 - adds r7, r1, #0 - bl sub_0807D1C4 - adds r6, r0, #0 - ldr r0, _0807D004 @ =0x4D435A33 - mov r5, sp - str r0, [sp, #4] - add r0, sp, #4 - movs r1, #4 - bl sub_0807D1A4 - adds r4, r0, #0 - lsls r4, r4, #0x10 - lsrs r4, r4, #0x10 - ldrh r1, [r6] - adds r0, r7, #0 - bl sub_0807D1A4 - adds r4, r4, r0 - lsls r4, r4, #0x10 - lsrs r4, r4, #0x10 - mov r0, sp - strh r4, [r0] - lsls r4, r4, #0x10 - asrs r4, r4, #0x10 - rsbs r4, r4, #0 - strh r4, [r5, #2] - ldrh r0, [r6, #6] - ldrh r2, [r6] - adds r1, r7, #0 - bl sub_0807D20C - adds r4, r0, #0 - cmp r4, #0 - beq _0807CFDC - ldrh r0, [r6, #2] - mov r1, sp - bl sub_0807D184 - adds r4, r0, #0 -_0807CFDC: - ldrh r0, [r6, #8] - ldrh r2, [r6] - adds r1, r7, #0 - bl sub_0807D20C - cmp r0, #0 - beq _0807CFF2 - ldrh r0, [r6, #4] - mov r1, sp - bl sub_0807D184 -_0807CFF2: - movs r1, #0 - cmp r4, #0 - bne _0807CFFC - cmp r0, #0 - beq _0807CFFE -_0807CFFC: - movs r1, #1 -_0807CFFE: - adds r0, r1, #0 - add sp, #8 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0807D004: .4byte 0x4D435A33 - - .syntax divided diff --git a/src/code_0807CC3C.c b/src/code_0807CC3C.c index 6c4b32a6..c88fb1d9 100644 --- a/src/code_0807CC3C.c +++ b/src/code_0807CC3C.c @@ -73,32 +73,32 @@ NONMATCH("asm/non_matching/code_0807CC3C/sub_0807D008.inc", u32 sub_0807D008(u32 u32 set_0; char auStack32[8]; - struct_0807D1C4* thing; + struct_0807D1C4* unk_s; u32 t1; u32 t2; u32 ret; u32 temp; - thing = sub_0807D1C4(param_1); - t1 = sub_0807D0EC(thing->field_0x2, auStack32); + unk_s = sub_0807D1C4(param_1); + t1 = sub_0807D0EC(unk_s->field_0x2, auStack32); if (t1 == 2) { - if ((sub_0807D1D8(thing->field_0x6, (char*)saveFile, thing->field_0x0) == 0) || - (sub_0807D0A0((u16*)auStack32, (u16*)saveFile, (u32)thing->field_0x0) == 0)) { + if ((sub_0807D1D8(unk_s->field_0x6, (char*)saveFile, unk_s->field_0x0) == 0) || + (sub_0807D0A0((u16*)auStack32, (u16*)saveFile, (u32)unk_s->field_0x0) == 0)) { t1 = 0; } else { return 1; } } - t2 = sub_0807D0EC(thing->field_0x4, auStack32); + t2 = sub_0807D0EC(unk_s->field_0x4, auStack32); if (t2 == 2) { - if ((sub_0807D1D8(thing->field_0x8, (char*)saveFile, thing->field_0x0) != 0) && - (sub_0807D0A0((u16*)auStack32, (u16*)saveFile, (u32)thing->field_0x0) != 0)) { + if ((sub_0807D1D8(unk_s->field_0x8, (char*)saveFile, unk_s->field_0x0) != 0) && + (sub_0807D0A0((u16*)auStack32, (u16*)saveFile, (u32)unk_s->field_0x0) != 0)) { return 1; } t2 = 0; } set_0 = 0; - CpuSet(&set_0, saveFile, thing->field_0x0 >> 2 | CPU_SET_SRC_FIXED | CPU_SET_32BIT); + CpuSet(&set_0, saveFile, unk_s->field_0x0 >> 2 | CPU_SET_SRC_FIXED | CPU_SET_32BIT); temp = t1 | t2; ret = 0; if (temp == 0) { From aaea9b89f6916be97e39920a57ad589e9a412a6b Mon Sep 17 00:00:00 2001 From: Henny022p Date: Fri, 19 Feb 2021 06:31:07 +0100 Subject: [PATCH 091/101] improved signature of StartCutscene --- include/functions.h | 2 +- src/code_0807CC3C.c | 20 ++++++++++---------- src/npc/forestMinish.c | 2 +- src/npc/rem.c | 4 ++-- src/npc/talon.c | 2 +- src/object/houseDoorExterior.c | 2 +- 6 files changed, 16 insertions(+), 16 deletions(-) diff --git a/include/functions.h b/include/functions.h index d53ca901..7015294b 100644 --- a/include/functions.h +++ b/include/functions.h @@ -24,7 +24,7 @@ extern u32 CheckKinstoneFused(u32); extern void ForceEquipItem(u8, u8); extern void LoadRoomEntityList(); void CopyPosition(Entity*, Entity*); -extern u32* StartCutscene(Entity*, u8*); +extern ScriptExecutionContext* StartCutscene(Entity*, u16*); extern void ResolveEntityOnTop(Entity*, Entity*); extern void EnemyFunctionHandler(Entity*, void (*const funcs[])(Entity*)); extern u32 GetAnimationState(Entity*); diff --git a/src/code_0807CC3C.c b/src/code_0807CC3C.c index c88fb1d9..2e56b920 100644 --- a/src/code_0807CC3C.c +++ b/src/code_0807CC3C.c @@ -27,8 +27,8 @@ extern s32 __divsi3(s32, s32); extern void _call_via_r6(Entity*, ScriptExecutionContext*); extern u16 sub_080B18DC(u16, const char*); -void sub_0807DB88(ScriptExecutionContext* context, u32 unk1); -void sub_0807DAF0(Entity* entity, ScriptExecutionContext* context, u32 unk1); +void sub_0807DB88(ScriptExecutionContext* context, u16* unk1); +void sub_0807DAF0(Entity* entity, ScriptExecutionContext* context, u16* unk1); u32 sub_0807D1D8(u32 unk_1, const char* unk_2, u32 unk_3); u32 sub_0807D128(const Thing* unk_1); u16 sub_0807D1A4(u16* unk_1, u32 unk_2); @@ -248,7 +248,7 @@ NONMATCH("asm/non_matching/code_0807CC3C/sub_0807D6D8.inc", void sub_0807D6D8(u3 END_NONMATCH void sub_0807DA70(void) { - _DmaZero(&gUnk_02033280, 0xc); + _DmaZero(&gUnk_02033280, sizeof(gUnk_02033280)); _DmaZero(&gScriptExecutionContextArray, sizeof(gScriptExecutionContextArray)); _DmaZero(&gPlayerScriptExecutionContext, sizeof(gPlayerScriptExecutionContext)); gUnk_02033280.unk_08 = 8; @@ -271,17 +271,17 @@ void DestroyScriptExecutionContext(ScriptExecutionContext* context) { _DmaZero(context, sizeof(ScriptExecutionContext)); } -u32* StartCutscene(Entity* entity, u8* param_2) { +ScriptExecutionContext* StartCutscene(Entity* entity, u16* unk_2) { ScriptExecutionContext* puVar1; puVar1 = CreateScriptExecutionContext(); if (puVar1) { - sub_0807DAF0(entity, puVar1, (u32)param_2); + sub_0807DAF0(entity, puVar1, unk_2); } - return (u32*)puVar1; + return puVar1; } -void sub_0807DAF0(Entity* entity, ScriptExecutionContext* context, u32 unk1) { +void sub_0807DAF0(Entity* entity, ScriptExecutionContext* context, u16* unk1) { entity->flags = entity->flags | 2; *(ScriptExecutionContext**)&entity->cutsceneBeh = context; sub_0807DB88(context, unk1); @@ -320,9 +320,9 @@ ScriptExecutionContext* sub_0807DB68(Entity* entity, u16* unk1) { return context; } -void sub_0807DB88(ScriptExecutionContext* context, u32 unk1) { +void sub_0807DB88(ScriptExecutionContext* context, u16* unk1) { _DmaZero(context, sizeof(ScriptExecutionContext)); - context->unk_00 = (u16*)unk1; + context->unk_00 = unk1; } void sub_0807DB98(Entity* entity, ScriptExecutionContext* context) { @@ -411,7 +411,7 @@ void sub_0807DD64(Entity* entity) { entity->field_0x82.HWORD = 0; } -void sub_0807DD80(Entity* entity, u32 unk1) { +void sub_0807DD80(Entity* entity, u16* unk1) { sub_0807DB88(*(ScriptExecutionContext**)&entity->cutsceneBeh, unk1); sub_0807DD64(entity); } diff --git a/src/npc/forestMinish.c b/src/npc/forestMinish.c index 3bdc6170..71c84161 100644 --- a/src/npc/forestMinish.c +++ b/src/npc/forestMinish.c @@ -40,7 +40,7 @@ void ForestMinish(Entity* this) { this->field_0x68.HALF.HI = this->animationState = this->actionDelay << 1; this->actionDelay = 0; sub_0805E3A0(this, 2); - StartCutscene(this, gUnk_08109D18[this->entityType.parameter]); + StartCutscene(this, (u16*)gUnk_08109D18[this->entityType.parameter]); sub_0807DD50(this); } break; diff --git a/src/npc/rem.c b/src/npc/rem.c index 22d13c31..b1233acf 100644 --- a/src/npc/rem.c +++ b/src/npc/rem.c @@ -37,13 +37,13 @@ void sub_0806a370(Entity* this) { } void sub_0806A3D8(Entity* this) { - u32* uVar1; + ScriptExecutionContext* uVar1; this->action = 1; this->actionDelay = 0xb4; sub_0805E3A0(this, 2); sub_0806A8C8(this); uVar1 = StartCutscene(this, &gUnk_08012F0C); - *(u32*)&this->cutsceneBeh = (u32)uVar1; + *(ScriptExecutionContext**)&this->cutsceneBeh = uVar1; sub_0807DD94(this, NULL); } diff --git a/src/npc/talon.c b/src/npc/talon.c index 302321de..867ede74 100644 --- a/src/npc/talon.c +++ b/src/npc/talon.c @@ -106,7 +106,7 @@ void sub_080656D4(Entity* this) { } else { if (this->interactType != 0) { if (GetInventoryValue(0x37) != 0) { // keyLonLon - StartCutscene(this, &gUnk_0800B41C); + StartCutscene(this, (u16*)&gUnk_0800B41C); goto label2; } else { this->field_0x68.HALF.HI = this->action; diff --git a/src/object/houseDoorExterior.c b/src/object/houseDoorExterior.c index 170f6e33..3c43e4b1 100644 --- a/src/object/houseDoorExterior.c +++ b/src/object/houseDoorExterior.c @@ -64,7 +64,7 @@ void sub_080866D8(Entity* this) { UpdateSpriteForCollisionLayer(entity); *((u32*)(&this->field_0x68)) |= mask; if (prop->unk8) { - *((u32**)(&entity->cutsceneBeh)) = StartCutscene(entity, prop->unk8); + *((ScriptExecutionContext **)(&entity->cutsceneBeh)) = StartCutscene(entity, (u16*)prop->unk8); } } } From 126feb121ff4409668f51a4a089fc87c25bb545c Mon Sep 17 00:00:00 2001 From: Henny022p Date: Fri, 19 Feb 2021 06:33:34 +0100 Subject: [PATCH 092/101] improved signature of StartPlayerScript --- include/script.h | 8 ++++---- src/code_0807CC3C.c | 4 ++-- src/executeScriptCommandSet.c | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/include/script.h b/include/script.h index 73d860e1..a3f29c84 100644 --- a/include/script.h +++ b/include/script.h @@ -4,17 +4,17 @@ #include "global.h" typedef struct { - u16 * unk_00; + u16* unk_00; u32 unk_04; u32 unk_08; - u8 unk_0C[0x4];//unused + u8 unk_0C[0x4]; // unused u16 unk_10; u16 unk_12; u32 unk_14; u8 unk_18; u8 unk_19; u8 unk_1A; - u8 unk_1B;//unused + u8 unk_1B; // unused union SplitWord unk_1C; union SplitWord unk_20; } ScriptExecutionContext; @@ -26,7 +26,7 @@ extern u32 GetNextScriptCommandWord(u16*); extern u32 GetNextScriptCommandWordAfterCommandMetadata(u16*); extern u32 GetNextScriptCommandHalfwordAfterCommandMetadata(u16*); -extern void StartPlayerScript(u32); +extern void StartPlayerScript(u16*); extern void sub_0807DEDC(Entity*, ScriptExecutionContext*, u32, u32); diff --git a/src/code_0807CC3C.c b/src/code_0807CC3C.c index 2e56b920..068f3e8d 100644 --- a/src/code_0807CC3C.c +++ b/src/code_0807CC3C.c @@ -295,11 +295,11 @@ void UnloadCutsceneData(Entity* entity) { } } -void StartPlayerScript(u32 unk1) { +void StartPlayerScript(u16* unk1) { Entity* player; _DmaZero(&gPlayerScriptExecutionContext, sizeof(gPlayerScriptExecutionContext)); - gPlayerScriptExecutionContext.unk_00 = (u16*)unk1; + gPlayerScriptExecutionContext.unk_00 = unk1; player = &gPlayerEntity; *(ScriptExecutionContext**)&player->cutsceneBeh = &gPlayerScriptExecutionContext; gPlayerState.playerAction = 0x1c; diff --git a/src/executeScriptCommandSet.c b/src/executeScriptCommandSet.c index 7895c28f..3a3edc53 100644 --- a/src/executeScriptCommandSet.c +++ b/src/executeScriptCommandSet.c @@ -752,7 +752,7 @@ void sub_0807E898(Entity* unk1, ScriptExecutionContext* unk2) { } void sub_0807E8C4(Entity* unk1, ScriptExecutionContext* unk2) { - StartPlayerScript(GetNextScriptCommandWordAfterCommandMetadata(unk2->unk_00)); + StartPlayerScript((u16*)GetNextScriptCommandWordAfterCommandMetadata(unk2->unk_00)); } void sub_0807E8D4(Entity* unk1, ScriptExecutionContext* unk2) { From 2a7cb5846f28320756612a7a0f9547de22e6de80 Mon Sep 17 00:00:00 2001 From: Henny022p Date: Fri, 19 Feb 2021 07:24:19 +0100 Subject: [PATCH 093/101] cleaned up some code --- src/code_0807CC3C.c | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/src/code_0807CC3C.c b/src/code_0807CC3C.c index 068f3e8d..db13b635 100644 --- a/src/code_0807CC3C.c +++ b/src/code_0807CC3C.c @@ -23,8 +23,6 @@ extern void CreateSpeechBubbleQuestionMark(Entity*, u32, u32); extern void DeleteThisEntity(void); extern u32 sub_080B180C(u32, const char*); extern void sub_0801C4A0(u32); -extern s32 __divsi3(s32, s32); -extern void _call_via_r6(Entity*, ScriptExecutionContext*); extern u16 sub_080B18DC(u16, const char*); void sub_0807DB88(ScriptExecutionContext* context, u16* unk1); @@ -255,15 +253,15 @@ void sub_0807DA70(void) { } ScriptExecutionContext* CreateScriptExecutionContext(void) { - ScriptExecutionContext* puVar1; + ScriptExecutionContext* context; - puVar1 = gScriptExecutionContextArray; + context = gScriptExecutionContextArray; do { - if (puVar1->unk_00 == 0) { - return puVar1; + if (context->unk_00 == 0) { + return context; } - puVar1++; - } while (puVar1 < gScriptExecutionContextArray + ARRAY_COUNT(gScriptExecutionContextArray)); + context++; + } while (context < gScriptExecutionContextArray + ARRAY_COUNT(gScriptExecutionContextArray)); return NULL; } @@ -272,13 +270,13 @@ void DestroyScriptExecutionContext(ScriptExecutionContext* context) { } ScriptExecutionContext* StartCutscene(Entity* entity, u16* unk_2) { - ScriptExecutionContext* puVar1; + ScriptExecutionContext* context; - puVar1 = CreateScriptExecutionContext(); - if (puVar1) { - sub_0807DAF0(entity, puVar1, unk_2); + context = CreateScriptExecutionContext(); + if (context) { + sub_0807DAF0(entity, context, unk_2); } - return puVar1; + return context; } void sub_0807DAF0(Entity* entity, ScriptExecutionContext* context, u16* unk1) { From d8b04c0887b50542b305529efa3eba567464be69 Mon Sep 17 00:00:00 2001 From: Henny022p Date: Fri, 19 Feb 2021 07:36:00 +0100 Subject: [PATCH 094/101] moved code to executeScriptCommandSet.c --- src/code_0807CC3C.c | 310 +--------------------------------- src/executeScriptCommandSet.c | 307 +++++++++++++++++++++++++++++++++ 2 files changed, 308 insertions(+), 309 deletions(-) diff --git a/src/code_0807CC3C.c b/src/code_0807CC3C.c index db13b635..7518f863 100644 --- a/src/code_0807CC3C.c +++ b/src/code_0807CC3C.c @@ -11,30 +11,17 @@ typedef struct Thing { u32 unk_3; } Thing; -extern u8 gUnk_0811E514[]; -extern u8 gUnk_0811E510[]; extern struct_0807D1C4 gUnk_0811E4BC[]; extern const char gUnk_0811E4B4[8]; -extern ScriptExecutionContext gPlayerScriptExecutionContext; -extern ScriptExecutionContext gScriptExecutionContextArray[0x20]; -extern void CreateSpeechBubbleExclamationMark(Entity*, u32, u32); -extern void CreateSpeechBubbleQuestionMark(Entity*, u32, u32); -extern void DeleteThisEntity(void); extern u32 sub_080B180C(u32, const char*); -extern void sub_0801C4A0(u32); extern u16 sub_080B18DC(u16, const char*); -void sub_0807DB88(ScriptExecutionContext* context, u16* unk1); -void sub_0807DAF0(Entity* entity, ScriptExecutionContext* context, u16* unk1); u32 sub_0807D1D8(u32 unk_1, const char* unk_2, u32 unk_3); -u32 sub_0807D128(const Thing* unk_1); +u32 sub_0807D128(const Thing* thing); u16 sub_0807D1A4(u16* unk_1, u32 unk_2); u32 sub_0807D0A0(u16* unk_1, u16* unk_2, u32 unk_3); u32 sub_0807D0EC(u32 unk_1, const char* unk_2); -void sub_0807DF38(void); -void sub_0807DE80(Entity* entity); -void sub_0807DB98(Entity*, ScriptExecutionContext*); u32 sub_0807CF88(u32 arg0, u8* arg1) { Thing thing; @@ -244,298 +231,3 @@ END_NONMATCH NONMATCH("asm/non_matching/code_0807CC3C/sub_0807D6D8.inc", void sub_0807D6D8(u32 unk_1, u32 unk_2)) { } END_NONMATCH - -void sub_0807DA70(void) { - _DmaZero(&gUnk_02033280, sizeof(gUnk_02033280)); - _DmaZero(&gScriptExecutionContextArray, sizeof(gScriptExecutionContextArray)); - _DmaZero(&gPlayerScriptExecutionContext, sizeof(gPlayerScriptExecutionContext)); - gUnk_02033280.unk_08 = 8; -} - -ScriptExecutionContext* CreateScriptExecutionContext(void) { - ScriptExecutionContext* context; - - context = gScriptExecutionContextArray; - do { - if (context->unk_00 == 0) { - return context; - } - context++; - } while (context < gScriptExecutionContextArray + ARRAY_COUNT(gScriptExecutionContextArray)); - return NULL; -} - -void DestroyScriptExecutionContext(ScriptExecutionContext* context) { - _DmaZero(context, sizeof(ScriptExecutionContext)); -} - -ScriptExecutionContext* StartCutscene(Entity* entity, u16* unk_2) { - ScriptExecutionContext* context; - - context = CreateScriptExecutionContext(); - if (context) { - sub_0807DAF0(entity, context, unk_2); - } - return context; -} - -void sub_0807DAF0(Entity* entity, ScriptExecutionContext* context, u16* unk1) { - entity->flags = entity->flags | 2; - *(ScriptExecutionContext**)&entity->cutsceneBeh = context; - sub_0807DB88(context, unk1); -} - -void UnloadCutsceneData(Entity* entity) { - if ((entity->flags & 2)) { - entity->flags = entity->flags & 0xfd; - DestroyScriptExecutionContext(*(ScriptExecutionContext**)&entity->cutsceneBeh); - *(ScriptExecutionContext**)&entity->cutsceneBeh = NULL; - } -} - -void StartPlayerScript(u16* unk1) { - Entity* player; - - _DmaZero(&gPlayerScriptExecutionContext, sizeof(gPlayerScriptExecutionContext)); - gPlayerScriptExecutionContext.unk_00 = unk1; - player = &gPlayerEntity; - *(ScriptExecutionContext**)&player->cutsceneBeh = &gPlayerScriptExecutionContext; - gPlayerState.playerAction = 0x1c; - gPlayerState.field_0x3a = 0; - gPlayerState.field_0x39 = 0; - gPlayerState.field_0x38 = 0; -} - -ScriptExecutionContext* sub_0807DB68(Entity* entity, u16* unk1) { - ScriptExecutionContext* context; - - context = CreateScriptExecutionContext(); - if (context) { - entity->flags |= 2; - *(ScriptExecutionContext**)&entity->field_0x3c = context; - context->unk_00 = unk1; - } - return context; -} - -void sub_0807DB88(ScriptExecutionContext* context, u16* unk1) { - _DmaZero(context, sizeof(ScriptExecutionContext)); - context->unk_00 = unk1; -} - -void sub_0807DB98(Entity* entity, ScriptExecutionContext* context) { - u32 switchVar; - - while (context->unk_08) { - switchVar = (~context->unk_08 + 1) & context->unk_08; - context->unk_08 ^= switchVar; - switch (switchVar) { - case 1: - entity->field_0x80.HWORD = 0; - break; - case 2: - entity->field_0x80.HWORD = 4; - break; - case 4: - break; - case 8: - entity->field_0x20 = 0x18000; - break; - case 0x10: - CreateSpeechBubbleExclamationMark(entity, 8, -0x18); - break; - case 0x20: - CreateSpeechBubbleQuestionMark(entity, 8, -0x18); - break; - case 0x40: - DestroyScriptExecutionContext(context); - DeleteThisEntity(); - case 0x80: - entity->spriteSettings.b.draw = 1; - break; - case 0x100: - entity->spriteSettings.b.draw = 0; - break; - case 0x200: - entity->spriteOffsetY = 0; - entity->spriteOffsetX = 0; - entity->field_0x82.HWORD = 0; - break; - case 0x400: - entity->field_0x82.HWORD |= 2; - break; - case 0x800: - entity->field_0x82.HWORD &= 0xfffd; - break; - case 0x1000: - entity->field_0x82.HWORD &= 0xfffe; - break; - case 0x2000: - entity->field_0x82.HWORD |= 1; - break; - case 0x4000: - entity->field_0x82.HWORD |= 8; - break; - case 0x8000: - entity->field_0x82.HWORD ^= 4; - break; - case 0x10000: - entity->field_0x82.HWORD ^= 0x10; - break; - case 0x20000: - entity->spriteSettings.b.flipX ^= 1; - break; - case 0x40000: - entity->field_0x82.HWORD |= 0x20; - break; - case 0x80000: - entity->field_0x82.HWORD &= 0xffdf; - break; - default: - break; - } - } -} - -void sub_0807DD50(Entity* entity) { - sub_0807DD64(entity); - sub_0807DD94(entity, 0); -} - -void sub_0807DD64(Entity* entity) { - entity->field_0xf = entity->animationState; - entity->animIndex = 0xff; - entity->field_0x80.HWORD = 0; - entity->field_0x82.HWORD = 0; -} - -void sub_0807DD80(Entity* entity, u16* unk1) { - sub_0807DB88(*(ScriptExecutionContext**)&entity->cutsceneBeh, unk1); - sub_0807DD64(entity); -} - -void sub_0807DD94(Entity* entity, void (*function)(Entity*, ScriptExecutionContext*)) { - sub_0807DDAC(entity, function); - sub_0807DDE4(entity); - sub_0807DE80(entity); -} - -void sub_0807DDAC(Entity* entity, void (*function)(Entity*, ScriptExecutionContext*)) { - ScriptExecutionContext** piVar1; - - piVar1 = (ScriptExecutionContext**)&entity->cutsceneBeh; - if (*piVar1) { - ExecuteScriptCommandSet(entity, *piVar1); - if (function) { - function(entity, *piVar1); - } else { - sub_0807DB98(entity, *piVar1); - } - if (!entity->next) { - DeleteThisEntity(); - } - } -} - -void sub_0807DDE4(Entity* entity) { - u32 temp; - u32 switchVar; - u32 loopVar; - - loopVar = entity->field_0x82.HWORD; - while (loopVar) { - switchVar = (~loopVar + 1) & loopVar; - loopVar = loopVar ^ switchVar; - switch (switchVar) { - case 2: - if (entity->entityType.type == 7) { - sub_0806ED78(entity); - } else { - sub_0800445C(entity); - } - break; - case 8: - if ((gScreenTransition.frameCount & 3) == 0) { - temp = (entity->field_0xf + 2U) & 7; - entity->animationState = temp; - entity->field_0xf = temp; - } - break; - case 0x10: - if ((gScreenTransition.frameCount & 1) == 0) { - entity->spriteOffsetX = gUnk_0811E510[Random() & 3]; - } - break; - case 0x20: - sub_08003FC4(entity, 0x2000); - break; - } - } -} - -void sub_0807DE80(Entity* entity) { - u32 local1; - u16 local2; - - u32 temp; - - local2 = entity->field_0x80.HWORD; - if (local2 < 8) { - if (entity->field_0x82.HWORD & 1) { - u32 t1, t2; - t1 = local2 & 0xfc; - t2 = entity->field_0xf >> 1; - local2 = t1 + t2; - } else { - u32 t1, t2; - t1 = local2 & 0xfc; - t2 = entity->animationState >> 1; - local2 = t1 + t2; - entity->field_0xf = entity->animationState; - } - } - if (local2 != entity->animIndex) { - InitAnimationForceUpdate(entity, local2); - } - temp = entity->field_0x82.HWORD & 4; - local1 = 1; - if (temp) { - local1 = 2; - } - sub_080042BA(entity, local1); -} - -void sub_0807DEDC(Entity* entity, ScriptExecutionContext* context, u32 arg2, u32 arg3) { - int temp; - s32 t0, t1; - - context->unk_19 = 8; - context->unk_08 |= 2; - context->unk_14 = 0; - context->unk_1C.HALF.HI = arg2; - context->unk_20.HALF.HI = arg3; - t0 = context->unk_1C.HALF.HI - entity->x.HALF.HI; - t1 = context->unk_20.HALF.HI - entity->y.HALF.HI; - temp = sub_080045DA(t0, t1); - entity->direction = temp; - entity->animationState = (entity->animationState & 0x80) | gUnk_0811E514[(u32)(temp << 0x18) >> 0x1c]; -} - -void sub_0807DF28(void) { - sub_0807DF38(); - sub_08079184(); - sub_08077B20(); -} - -void sub_0807DF38(void) { - gUnk_0200AF00.filler0[1] = 0xff; - gUnk_02034490[0] = 0xff; -} - -void sub_0807DF50(void) { - gUnk_02034490[0] = 0; - gUnk_0200AF00.filler0[1] = 0; - sub_0801C4A0(0); - sub_080791D0(); - sub_08079184(); -} \ No newline at end of file diff --git a/src/executeScriptCommandSet.c b/src/executeScriptCommandSet.c index 3a3edc53..2f38b5f3 100644 --- a/src/executeScriptCommandSet.c +++ b/src/executeScriptCommandSet.c @@ -8,6 +8,10 @@ #include "functions.h" #include "save.h" +void sub_0807DAF0(Entity*, ScriptExecutionContext*, u16*); +void sub_0807DB88(ScriptExecutionContext*, u16*); +void sub_0807DE80(Entity*); +void sub_0807DF38(void); void nullsub_507 (Entity*, ScriptExecutionContext*); void sub_0807E004(Entity*, ScriptExecutionContext*); void sub_0807E014(Entity*, ScriptExecutionContext*); @@ -147,6 +151,10 @@ void sub_0807F0A4(Entity*, ScriptExecutionContext*); void sub_0807F0B4(Entity*, ScriptExecutionContext*); void sub_0807F0C8(Entity*, ScriptExecutionContext*); +extern void CreateSpeechBubbleExclamationMark(Entity*, u32, u32); +extern void CreateSpeechBubbleQuestionMark(Entity*, u32, u32); +extern void sub_0801C4A0(u32); + void (* const gUnk_0811E524[])() = { nullsub_507, sub_0807E004, @@ -290,6 +298,305 @@ void (* const gUnk_0811E524[])() = { }; extern const u16 gUnk_08016984; +extern u8 gUnk_0811E514[]; +extern u8 gUnk_0811E510[]; +extern ScriptExecutionContext gPlayerScriptExecutionContext; +extern ScriptExecutionContext gScriptExecutionContextArray[0x20]; + +void sub_0807DA70(void) { + _DmaZero(&gUnk_02033280, sizeof(gUnk_02033280)); + _DmaZero(&gScriptExecutionContextArray, sizeof(gScriptExecutionContextArray)); + _DmaZero(&gPlayerScriptExecutionContext, sizeof(gPlayerScriptExecutionContext)); + gUnk_02033280.unk_08 = 8; +} + +ScriptExecutionContext* CreateScriptExecutionContext(void) { + ScriptExecutionContext* context; + + context = gScriptExecutionContextArray; + do { + if (context->unk_00 == 0) { + return context; + } + context++; + } while (context < gScriptExecutionContextArray + ARRAY_COUNT(gScriptExecutionContextArray)); + return NULL; +} + +void DestroyScriptExecutionContext(ScriptExecutionContext* context) { + _DmaZero(context, sizeof(ScriptExecutionContext)); +} + +ScriptExecutionContext* StartCutscene(Entity* entity, u16* unk_2) { + ScriptExecutionContext* context; + + context = CreateScriptExecutionContext(); + if (context) { + sub_0807DAF0(entity, context, unk_2); + } + return context; +} + +void sub_0807DAF0(Entity* entity, ScriptExecutionContext* context, u16* unk1) { + entity->flags = entity->flags | 2; + *(ScriptExecutionContext**)&entity->cutsceneBeh = context; + sub_0807DB88(context, unk1); +} + +void UnloadCutsceneData(Entity* entity) { + if ((entity->flags & 2)) { + entity->flags = entity->flags & 0xfd; + DestroyScriptExecutionContext(*(ScriptExecutionContext**)&entity->cutsceneBeh); + *(ScriptExecutionContext**)&entity->cutsceneBeh = NULL; + } +} + +void StartPlayerScript(u16* unk1) { + Entity* player; + + _DmaZero(&gPlayerScriptExecutionContext, sizeof(gPlayerScriptExecutionContext)); + gPlayerScriptExecutionContext.unk_00 = unk1; + player = &gPlayerEntity; + *(ScriptExecutionContext**)&player->cutsceneBeh = &gPlayerScriptExecutionContext; + gPlayerState.playerAction = 0x1c; + gPlayerState.field_0x3a = 0; + gPlayerState.field_0x39 = 0; + gPlayerState.field_0x38 = 0; +} + +ScriptExecutionContext* sub_0807DB68(Entity* entity, u16* unk1) { + ScriptExecutionContext* context; + + context = CreateScriptExecutionContext(); + if (context) { + entity->flags |= 2; + *(ScriptExecutionContext**)&entity->field_0x3c = context; + context->unk_00 = unk1; + } + return context; +} + +void sub_0807DB88(ScriptExecutionContext* context, u16* unk1) { + _DmaZero(context, sizeof(ScriptExecutionContext)); + context->unk_00 = unk1; +} + +void sub_0807DB98(Entity* entity, ScriptExecutionContext* context) { + u32 switchVar; + + while (context->unk_08) { + switchVar = (~context->unk_08 + 1) & context->unk_08; + context->unk_08 ^= switchVar; + switch (switchVar) { + case 1: + entity->field_0x80.HWORD = 0; + break; + case 2: + entity->field_0x80.HWORD = 4; + break; + case 4: + break; + case 8: + entity->field_0x20 = 0x18000; + break; + case 0x10: + CreateSpeechBubbleExclamationMark(entity, 8, -0x18); + break; + case 0x20: + CreateSpeechBubbleQuestionMark(entity, 8, -0x18); + break; + case 0x40: + DestroyScriptExecutionContext(context); + DeleteThisEntity(); + case 0x80: + entity->spriteSettings.b.draw = 1; + break; + case 0x100: + entity->spriteSettings.b.draw = 0; + break; + case 0x200: + entity->spriteOffsetY = 0; + entity->spriteOffsetX = 0; + entity->field_0x82.HWORD = 0; + break; + case 0x400: + entity->field_0x82.HWORD |= 2; + break; + case 0x800: + entity->field_0x82.HWORD &= 0xfffd; + break; + case 0x1000: + entity->field_0x82.HWORD &= 0xfffe; + break; + case 0x2000: + entity->field_0x82.HWORD |= 1; + break; + case 0x4000: + entity->field_0x82.HWORD |= 8; + break; + case 0x8000: + entity->field_0x82.HWORD ^= 4; + break; + case 0x10000: + entity->field_0x82.HWORD ^= 0x10; + break; + case 0x20000: + entity->spriteSettings.b.flipX ^= 1; + break; + case 0x40000: + entity->field_0x82.HWORD |= 0x20; + break; + case 0x80000: + entity->field_0x82.HWORD &= 0xffdf; + break; + default: + break; + } + } +} + +void sub_0807DD50(Entity* entity) { + sub_0807DD64(entity); + sub_0807DD94(entity, 0); +} + +void sub_0807DD64(Entity* entity) { + entity->field_0xf = entity->animationState; + entity->animIndex = 0xff; + entity->field_0x80.HWORD = 0; + entity->field_0x82.HWORD = 0; +} + +void sub_0807DD80(Entity* entity, u16* unk1) { + sub_0807DB88(*(ScriptExecutionContext**)&entity->cutsceneBeh, unk1); + sub_0807DD64(entity); +} + +void sub_0807DD94(Entity* entity, void (*function)(Entity*, ScriptExecutionContext*)) { + sub_0807DDAC(entity, function); + sub_0807DDE4(entity); + sub_0807DE80(entity); +} + +void sub_0807DDAC(Entity* entity, void (*function)(Entity*, ScriptExecutionContext*)) { + ScriptExecutionContext** piVar1; + + piVar1 = (ScriptExecutionContext**)&entity->cutsceneBeh; + if (*piVar1) { + ExecuteScriptCommandSet(entity, *piVar1); + if (function) { + function(entity, *piVar1); + } else { + sub_0807DB98(entity, *piVar1); + } + if (!entity->next) { + DeleteThisEntity(); + } + } +} + +void sub_0807DDE4(Entity* entity) { + u32 temp; + u32 switchVar; + u32 loopVar; + + loopVar = entity->field_0x82.HWORD; + while (loopVar) { + switchVar = (~loopVar + 1) & loopVar; + loopVar = loopVar ^ switchVar; + switch (switchVar) { + case 2: + if (entity->entityType.type == 7) { + sub_0806ED78(entity); + } else { + sub_0800445C(entity); + } + break; + case 8: + if ((gScreenTransition.frameCount & 3) == 0) { + temp = (entity->field_0xf + 2U) & 7; + entity->animationState = temp; + entity->field_0xf = temp; + } + break; + case 0x10: + if ((gScreenTransition.frameCount & 1) == 0) { + entity->spriteOffsetX = gUnk_0811E510[Random() & 3]; + } + break; + case 0x20: + sub_08003FC4(entity, 0x2000); + break; + } + } +} + +void sub_0807DE80(Entity* entity) { + u32 local1; + u16 local2; + + u32 temp; + + local2 = entity->field_0x80.HWORD; + if (local2 < 8) { + if (entity->field_0x82.HWORD & 1) { + u32 t1, t2; + t1 = local2 & 0xfc; + t2 = entity->field_0xf >> 1; + local2 = t1 + t2; + } else { + u32 t1, t2; + t1 = local2 & 0xfc; + t2 = entity->animationState >> 1; + local2 = t1 + t2; + entity->field_0xf = entity->animationState; + } + } + if (local2 != entity->animIndex) { + InitAnimationForceUpdate(entity, local2); + } + temp = entity->field_0x82.HWORD & 4; + local1 = 1; + if (temp) { + local1 = 2; + } + sub_080042BA(entity, local1); +} + +void sub_0807DEDC(Entity* entity, ScriptExecutionContext* context, u32 arg2, u32 arg3) { + int temp; + s32 t0, t1; + + context->unk_19 = 8; + context->unk_08 |= 2; + context->unk_14 = 0; + context->unk_1C.HALF.HI = arg2; + context->unk_20.HALF.HI = arg3; + t0 = context->unk_1C.HALF.HI - entity->x.HALF.HI; + t1 = context->unk_20.HALF.HI - entity->y.HALF.HI; + temp = sub_080045DA(t0, t1); + entity->direction = temp; + entity->animationState = (entity->animationState & 0x80) | gUnk_0811E514[(u32)(temp << 0x18) >> 0x1c]; +} + +void sub_0807DF28(void) { + sub_0807DF38(); + sub_08079184(); + sub_08077B20(); +} + +void sub_0807DF38(void) { + gUnk_0200AF00.filler0[1] = 0xff; + gUnk_02034490[0] = 0xff; +} + +void sub_0807DF50(void) { + gUnk_02034490[0] = 0; + gUnk_0200AF00.filler0[1] = 0; + sub_0801C4A0(0); + sub_080791D0(); + sub_08079184(); +} void ExecuteScriptCommandSet(Entity* unk1, ScriptExecutionContext* unk2) { if (!unk2->unk_00) return; From 39f682b74db1bffe8afa72397b70482821e75215 Mon Sep 17 00:00:00 2001 From: Henny022p Date: Fri, 19 Feb 2021 07:53:01 +0100 Subject: [PATCH 095/101] moved code to save.c --- .../{code_0807CC3C => save}/sub_0807D008.inc | 0 .../{code_0807CC3C => save}/sub_0807D0A0.inc | 0 .../{code_0807CC3C => save}/sub_0807D1D8.inc | 0 .../{code_0807CC3C => save}/sub_0807D20C.inc | 0 .../{code_0807CC3C => save}/sub_0807D24C.inc | 0 src/code_0807CC3C.c | 214 ------------------ src/save.c | 213 ++++++++++++++++- 7 files changed, 212 insertions(+), 215 deletions(-) rename asm/non_matching/{code_0807CC3C => save}/sub_0807D008.inc (100%) rename asm/non_matching/{code_0807CC3C => save}/sub_0807D0A0.inc (100%) rename asm/non_matching/{code_0807CC3C => save}/sub_0807D1D8.inc (100%) rename asm/non_matching/{code_0807CC3C => save}/sub_0807D20C.inc (100%) rename asm/non_matching/{code_0807CC3C => save}/sub_0807D24C.inc (100%) diff --git a/asm/non_matching/code_0807CC3C/sub_0807D008.inc b/asm/non_matching/save/sub_0807D008.inc similarity index 100% rename from asm/non_matching/code_0807CC3C/sub_0807D008.inc rename to asm/non_matching/save/sub_0807D008.inc diff --git a/asm/non_matching/code_0807CC3C/sub_0807D0A0.inc b/asm/non_matching/save/sub_0807D0A0.inc similarity index 100% rename from asm/non_matching/code_0807CC3C/sub_0807D0A0.inc rename to asm/non_matching/save/sub_0807D0A0.inc diff --git a/asm/non_matching/code_0807CC3C/sub_0807D1D8.inc b/asm/non_matching/save/sub_0807D1D8.inc similarity index 100% rename from asm/non_matching/code_0807CC3C/sub_0807D1D8.inc rename to asm/non_matching/save/sub_0807D1D8.inc diff --git a/asm/non_matching/code_0807CC3C/sub_0807D20C.inc b/asm/non_matching/save/sub_0807D20C.inc similarity index 100% rename from asm/non_matching/code_0807CC3C/sub_0807D20C.inc rename to asm/non_matching/save/sub_0807D20C.inc diff --git a/asm/non_matching/code_0807CC3C/sub_0807D24C.inc b/asm/non_matching/save/sub_0807D24C.inc similarity index 100% rename from asm/non_matching/code_0807CC3C/sub_0807D24C.inc rename to asm/non_matching/save/sub_0807D24C.inc diff --git a/src/code_0807CC3C.c b/src/code_0807CC3C.c index 7518f863..4df3598d 100644 --- a/src/code_0807CC3C.c +++ b/src/code_0807CC3C.c @@ -5,220 +5,6 @@ #include "entity.h" #include "save.h" -typedef struct Thing { - u16 unk_1; - u16 unk_2; - u32 unk_3; -} Thing; - -extern struct_0807D1C4 gUnk_0811E4BC[]; -extern const char gUnk_0811E4B4[8]; - -extern u32 sub_080B180C(u32, const char*); -extern u16 sub_080B18DC(u16, const char*); - -u32 sub_0807D1D8(u32 unk_1, const char* unk_2, u32 unk_3); -u32 sub_0807D128(const Thing* thing); -u16 sub_0807D1A4(u16* unk_1, u32 unk_2); -u32 sub_0807D0A0(u16* unk_1, u16* unk_2, u32 unk_3); -u32 sub_0807D0EC(u32 unk_1, const char* unk_2); - -u32 sub_0807CF88(u32 arg0, u8* arg1) { - Thing thing; - - u32 retval; - struct_0807D1C4* ptr; - u32 e0, e1; - u16 l1prep; - - ptr = sub_0807D1C4(arg0); - - thing.unk_3 = 'MCZ3'; - l1prep = sub_0807D1A4((u16*)&thing.unk_3, 4); - l1prep += sub_0807D1A4((u16*)arg1, ptr->field_0x0); - thing.unk_1 = l1prep; - thing.unk_2 = -(u32)l1prep; - e0 = sub_0807D20C(ptr->field_0x6, (const char*)arg1, ptr->field_0x0); - if (e0) { - e0 = sub_0807D184(ptr->field_0x2, (const char*)&thing.unk_1); - } - e1 = sub_0807D20C(ptr->field_0x8, (const char*)arg1, ptr->field_0x0); - if (e1) { - e1 = sub_0807D184(ptr->field_0x4, (const char*)&thing.unk_1); - } - - retval = 0; - if (e0 || e1) { - retval = 1; - } - return retval; -} - -NONMATCH("asm/non_matching/code_0807CC3C/sub_0807D008.inc", u32 sub_0807D008(u32 param_1, SaveFile* saveFile)) { - u32 set_0; - char auStack32[8]; - - struct_0807D1C4* unk_s; - u32 t1; - u32 t2; - u32 ret; - u32 temp; - - unk_s = sub_0807D1C4(param_1); - t1 = sub_0807D0EC(unk_s->field_0x2, auStack32); - if (t1 == 2) { - if ((sub_0807D1D8(unk_s->field_0x6, (char*)saveFile, unk_s->field_0x0) == 0) || - (sub_0807D0A0((u16*)auStack32, (u16*)saveFile, (u32)unk_s->field_0x0) == 0)) { - t1 = 0; - } else { - return 1; - } - } - t2 = sub_0807D0EC(unk_s->field_0x4, auStack32); - if (t2 == 2) { - if ((sub_0807D1D8(unk_s->field_0x8, (char*)saveFile, unk_s->field_0x0) != 0) && - (sub_0807D0A0((u16*)auStack32, (u16*)saveFile, (u32)unk_s->field_0x0) != 0)) { - return 1; - } - t2 = 0; - } - set_0 = 0; - CpuSet(&set_0, saveFile, unk_s->field_0x0 >> 2 | CPU_SET_SRC_FIXED | CPU_SET_32BIT); - temp = t1 | t2; - ret = 0; - if (temp == 0) { - ret = -1; - } - return ret; -} -END_NONMATCH - -NONMATCH("asm/non_matching/code_0807CC3C/sub_0807D0A0.inc", u32 sub_0807D0A0(u16* unk_1, u16* unk_2, u32 unk_3)) { - u32 r0; - - u32* u32_1 = (u32*)unk_1; - - u16 u0; - u32 u1; - - u0 = sub_0807D1A4(unk_1 + 2, 4); - u0 = u0 + sub_0807D1A4(unk_2, unk_3); - - u1 = unk_1[0]; - if (u1 != u0) { - r0 = 0; - } else { - if (unk_1[1] == (-(u1 << 0x10) >> 0x10)) { - if (*(u32_1 + 1) != 'MCZ3') { - r0 = 0; - } else { - r0 = 1; - } - } else { - r0 = 0; - } - } - return r0; -} -END_NONMATCH - -u32 sub_0807D0EC(u32 unk_1, const char* unk_2) { - u32 ret; - - if (!sub_0807D1D8(unk_1, unk_2, 8)) { - ret = 0; - } else { - ret = sub_0807D128((Thing*)unk_2); - } - if (!ret && sub_0807D1D8(unk_1 + 8, unk_2, 8)) { - ret = sub_0807D128((Thing*)unk_2); - } - return ret; -} - -u32 sub_0807D128(const Thing* thing) { - u32 ret; - switch (thing->unk_3) { - case 'MCZ3': - if (thing->unk_1 + thing->unk_2 == 0x10000) { - ret = 2; - } else { - ret = 0; - } - break; - case 'FleD': - case 'TINI': - ret = 0; - if ((thing->unk_1 & thing->unk_2) == 0xffff) { - ret = 1; - } - break; - default: - ret = 0; - break; - } - return ret; -} - -u32 sub_0807D184(u32 param_1, const char* param_2) { - u32 uVar1; - - uVar1 = sub_0807D20C(param_1, param_2, 8); - if (uVar1 == 0) { - uVar1 = sub_0807D20C(param_1 + 8, param_2, 8); - } - return uVar1; -} - -u16 sub_0807D1A4(u16* unk_1, u32 unk_2) { - u32 uVar1; - - uVar1 = 0; - while (unk_2 != 0) { - uVar1 = uVar1 + (*unk_1 ^ unk_2); - unk_1 = unk_1 + 1; - unk_2 = unk_2 - 2; - } - return uVar1; -} - -struct_0807D1C4* sub_0807D1C4(u32 unk_1) { - return &gUnk_0811E4BC[unk_1]; -} - -// these three are basically the same and wrong by basically one instruction in the wrong place -NONMATCH("asm/non_matching/code_0807CC3C/sub_0807D1D8.inc", u32 sub_0807D1D8(u32 unk_1, const char* unk_2, u32 unk_3)) { -} -END_NONMATCH - -NONMATCH("asm/non_matching/code_0807CC3C/sub_0807D20C.inc", u32 sub_0807D20C(u32 unk_1, const char* unk_2, u32 unk_3)) { - unk_3 >>= 3; - unk_1 >>= 3; - while (unk_3-- > 0) { - if (sub_080B18DC(unk_1, unk_2)) { - sub_080B18DC(unk_1, gUnk_0811E4B4); - return 0; - } - unk_1++; - unk_2 += 8; - } - return 1; -} -END_NONMATCH - -NONMATCH("asm/non_matching/code_0807CC3C/sub_0807D24C.inc", u32 sub_0807D24C(u32 unk_1, const char* unk_2, u32 unk_3)) { - unk_3 >>= 3; - unk_1 >>= 3; - while (unk_3-- > 0) { - if (sub_080B180C(unk_1, unk_2)) - return 0; - unk_1++; - unk_2 += 8; - } - return 1; -} -END_NONMATCH - // these three functions use gRoomControls, maybe once that is understood better, these can be decompiled easier NONMATCH("asm/non_matching/code_0807CC3C/sub_0807D280.inc", void sub_0807D280(u32 unk_1, u32 unk_2)) { } diff --git a/src/save.c b/src/save.c index 879e5d70..281e54c5 100644 --- a/src/save.c +++ b/src/save.c @@ -1,6 +1,13 @@ #include "save.h" -extern u32 sub_0807D008(u32, SaveFile*); +typedef struct Thing { + u16 unk_1; + u16 unk_2; + u32 unk_3; +} Thing; + +extern u32 sub_080B180C(u32, const char*); +extern u16 sub_080B18DC(u16, const char*); const u16 gUnk_0811E454[] = { 0x0, 0x0, 0x100, 0x200, 0x300, 0x400, 0x500, 0x5C0, 0x680, 0x740, 0x800, 0x8C0, 0x9C0, 0xA80 }; @@ -12,6 +19,13 @@ static SaveResult HandleSaveInProgress(u32); static SaveResult HandleSaveDone(u32); static SaveResult (*const sSaveHandlers[])(u32) = { HandleSaveInit, HandleSaveInProgress, HandleSaveDone }; +u32 sub_0807D008(u32, SaveFile*); +u32 sub_0807D0A0(u16*, u16*, u32); +u32 sub_0807D0EC(u32, const char*); +u32 sub_0807D128(const Thing*); +u16 sub_0807D1A4(u16*, u32); +u32 sub_0807D1D8(u32, const char*, u32); + static const char sSignatureLong[32] = "AGBZELDA:THE MINISH CAP:ZELDA 5"; // Save file is untouched @@ -22,6 +36,7 @@ static const char sSaveDescDeleted[8] = "\xFF\xFF\xFF\xFF" "DelF"; const char gUnk_0811E4B4[8] = "DAMEDAME"; +extern struct_0807D1C4 gUnk_0811E4BC[]; extern s16 gUnk_02021EE0[6]; @@ -155,3 +170,199 @@ void sub_0807CF68(u32 arg0) { sub_0807D184(temp->field_0x4, str); sub_0807D184(temp->field_0x2, str); } + +u32 sub_0807CF88(u32 arg0, u8* arg1) { + Thing thing; + + u32 retval; + struct_0807D1C4* ptr; + u32 e0, e1; + u16 l1prep; + + ptr = sub_0807D1C4(arg0); + + thing.unk_3 = 'MCZ3'; + l1prep = sub_0807D1A4((u16*)&thing.unk_3, 4); + l1prep += sub_0807D1A4((u16*)arg1, ptr->field_0x0); + thing.unk_1 = l1prep; + thing.unk_2 = -(u32)l1prep; + e0 = sub_0807D20C(ptr->field_0x6, (const char*)arg1, ptr->field_0x0); + if (e0) { + e0 = sub_0807D184(ptr->field_0x2, (const char*)&thing.unk_1); + } + e1 = sub_0807D20C(ptr->field_0x8, (const char*)arg1, ptr->field_0x0); + if (e1) { + e1 = sub_0807D184(ptr->field_0x4, (const char*)&thing.unk_1); + } + + retval = 0; + if (e0 || e1) { + retval = 1; + } + return retval; +} + +NONMATCH("asm/non_matching/save/sub_0807D008.inc", u32 sub_0807D008(u32 param_1, SaveFile* saveFile)) { + u32 set_0; + char auStack32[8]; + + struct_0807D1C4* unk_s; + u32 t1; + u32 t2; + u32 ret; + u32 temp; + + unk_s = sub_0807D1C4(param_1); + t1 = sub_0807D0EC(unk_s->field_0x2, auStack32); + if (t1 == 2) { + if ((sub_0807D1D8(unk_s->field_0x6, (char*)saveFile, unk_s->field_0x0) == 0) || + (sub_0807D0A0((u16*)auStack32, (u16*)saveFile, (u32)unk_s->field_0x0) == 0)) { + t1 = 0; + } else { + return 1; + } + } + t2 = sub_0807D0EC(unk_s->field_0x4, auStack32); + if (t2 == 2) { + if ((sub_0807D1D8(unk_s->field_0x8, (char*)saveFile, unk_s->field_0x0) != 0) && + (sub_0807D0A0((u16*)auStack32, (u16*)saveFile, (u32)unk_s->field_0x0) != 0)) { + return 1; + } + t2 = 0; + } + set_0 = 0; + CpuSet(&set_0, saveFile, unk_s->field_0x0 >> 2 | CPU_SET_SRC_FIXED | CPU_SET_32BIT); + temp = t1 | t2; + ret = 0; + if (temp == 0) { + ret = -1; + } + return ret; + } +END_NONMATCH + +NONMATCH("asm/non_matching/save/sub_0807D0A0.inc", u32 sub_0807D0A0(u16* unk_1, u16* unk_2, u32 unk_3)) { + u32 r0; + + u32* u32_1 = (u32*)unk_1; + + u16 u0; + u32 u1; + + u0 = sub_0807D1A4(unk_1 + 2, 4); + u0 = u0 + sub_0807D1A4(unk_2, unk_3); + + u1 = unk_1[0]; + if (u1 != u0) { + r0 = 0; + } else { + if (unk_1[1] == (-(u1 << 0x10) >> 0x10)) { + if (*(u32_1 + 1) != 'MCZ3') { + r0 = 0; + } else { + r0 = 1; + } + } else { + r0 = 0; + } + } + return r0; + } +END_NONMATCH + +u32 sub_0807D0EC(u32 unk_1, const char* unk_2) { + u32 ret; + + if (!sub_0807D1D8(unk_1, unk_2, 8)) { + ret = 0; + } else { + ret = sub_0807D128((Thing*)unk_2); + } + if (!ret && sub_0807D1D8(unk_1 + 8, unk_2, 8)) { + ret = sub_0807D128((Thing*)unk_2); + } + return ret; +} + +u32 sub_0807D128(const Thing* thing) { + u32 ret; + switch (thing->unk_3) { + case 'MCZ3': + if (thing->unk_1 + thing->unk_2 == 0x10000) { + ret = 2; + } else { + ret = 0; + } + break; + case 'FleD': + case 'TINI': + ret = 0; + if ((thing->unk_1 & thing->unk_2) == 0xffff) { + ret = 1; + } + break; + default: + ret = 0; + break; + } + return ret; +} + +u32 sub_0807D184(u32 param_1, const char* param_2) { + u32 uVar1; + + uVar1 = sub_0807D20C(param_1, param_2, 8); + if (uVar1 == 0) { + uVar1 = sub_0807D20C(param_1 + 8, param_2, 8); + } + return uVar1; +} + +u16 sub_0807D1A4(u16* unk_1, u32 unk_2) { + u32 uVar1; + + uVar1 = 0; + while (unk_2 != 0) { + uVar1 = uVar1 + (*unk_1 ^ unk_2); + unk_1 = unk_1 + 1; + unk_2 = unk_2 - 2; + } + return uVar1; +} + +struct_0807D1C4* sub_0807D1C4(u32 unk_1) { + return &gUnk_0811E4BC[unk_1]; +} + +// these three are basically the same and wrong by basically one instruction in the wrong place +NONMATCH("asm/non_matching/save/sub_0807D1D8.inc", u32 sub_0807D1D8(u32 unk_1, const char* unk_2, u32 unk_3)) { + } +END_NONMATCH + +NONMATCH("asm/non_matching/save/sub_0807D20C.inc", u32 sub_0807D20C(u32 unk_1, const char* unk_2, u32 unk_3)) { + unk_3 >>= 3; + unk_1 >>= 3; + while (unk_3-- > 0) { + if (sub_080B18DC(unk_1, unk_2)) { + sub_080B18DC(unk_1, gUnk_0811E4B4); + return 0; + } + unk_1++; + unk_2 += 8; + } + return 1; + } +END_NONMATCH + +NONMATCH("asm/non_matching/save/sub_0807D24C.inc", u32 sub_0807D24C(u32 unk_1, const char* unk_2, u32 unk_3)) { + unk_3 >>= 3; + unk_1 >>= 3; + while (unk_3-- > 0) { + if (sub_080B180C(unk_1, unk_2)) + return 0; + unk_1++; + unk_2 += 8; + } + return 1; + } +END_NONMATCH From ce06f7dbb70b87cc3007a3e6ee6642b3f9aeb8b3 Mon Sep 17 00:00:00 2001 From: theo3 Date: Fri, 19 Feb 2021 00:47:22 -0800 Subject: [PATCH 096/101] begin arm_proxy.c --- Makefile | 1 + README.md | 2 +- asm/code_08016DF8.s | 1381 ------------------- asm/m4a_asm.s | 12 +- asm/non_matching/arm_proxy/sub_08016DF8.inc | 50 + asm/non_matching/arm_proxy/sub_080173A4.inc | 130 ++ asm/non_matching/arm_proxy/sub_08017530.inc | 90 ++ asm/non_matching/arm_proxy/sub_0801766C.inc | 68 + asm/non_matching/arm_proxy/sub_080176E4.inc | 54 + asm/non_matching/arm_proxy/sub_080177A0.inc | 95 ++ data/data_089FC6C4.s | 58 +- data/sprite_table.s | 11 + include/audio.h | 243 ++++ include/entity.h | 16 +- include/functions.h | 2 +- include/main.h | 2 +- include/manager.h | 3 + include/npc.h | 3 + include/object.h | 2 + include/player.h | 45 +- include/structures.h | 2 +- linker.ld | 2 + src/arm_proxy.c | 547 ++++++++ src/code_0805436C.c | 14 +- src/code_0805EC04.c | 2 +- src/enemy/doorMimic.c | 18 +- src/enemy/helmasaur.c | 8 +- src/enemy/spearMoblin.c | 16 +- src/enemy/wisp.c | 2 +- src/item11.c | 2 +- src/object/mineralWaterSource.c | 4 +- src/object/object49.c | 8 +- src/room.c | 2 +- 33 files changed, 1438 insertions(+), 1457 deletions(-) create mode 100644 asm/non_matching/arm_proxy/sub_08016DF8.inc create mode 100644 asm/non_matching/arm_proxy/sub_080173A4.inc create mode 100644 asm/non_matching/arm_proxy/sub_08017530.inc create mode 100644 asm/non_matching/arm_proxy/sub_0801766C.inc create mode 100644 asm/non_matching/arm_proxy/sub_080176E4.inc create mode 100644 asm/non_matching/arm_proxy/sub_080177A0.inc create mode 100644 data/sprite_table.s create mode 100644 include/audio.h create mode 100644 src/arm_proxy.c diff --git a/Makefile b/Makefile index 6ffb4b4a..f4a8d93b 100644 --- a/Makefile +++ b/Makefile @@ -83,6 +83,7 @@ NODEP := 1 endif #$(C_BUILDDIR)/need_interworking_file_name.o: CFLAGS += -mthumb-interwork +$(C_BUILDDIR)/code_08016DF8.o: CFLAGS += -mthumb-interwork C_SRCS := $(wildcard $(C_SUBDIR)/*.c $(C_SUBDIR)/*/*.c) C_OBJS := $(patsubst $(C_SUBDIR)/%.c,$(C_BUILDDIR)/%.o,$(C_SRCS)) diff --git a/README.md b/README.md index 61c60717..fe1c53c2 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # The Legend of Zelda: The Minish Cap -**Progress:** [⬛⬛⬛⬛⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜] 22% +**Progress:** [⬛⬛⬛⬛⬛⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜] 25% ```diff - WARNING! - diff --git a/asm/code_08016DF8.s b/asm/code_08016DF8.s index 12971065..8654c9fd 100644 --- a/asm/code_08016DF8.s +++ b/asm/code_08016DF8.s @@ -4,1387 +4,6 @@ .syntax unified .text - - thumb_func_start sub_08016DF8 -sub_08016DF8: @ 0x08016DF8 - push {r4, r5, r6, lr} - sub sp, #4 - ldr r1, _08016E20 @ =gUnk_03003DE0 - ldrb r0, [r1] - cmp r0, #0 - beq _08016E70 - ldr r4, _08016E24 @ =gUnk_03000C30 - adds r6, r0, #0 - movs r0, #0 - strb r0, [r1] - ldr r5, _08016E28 @ =0x040000D4 -_08016E0E: - ldrb r0, [r4] - cmp r0, #1 - beq _08016E44 - cmp r0, #1 - bgt _08016E2C - cmp r0, #0 - beq _08016E32 - b _08016E68 - .align 2, 0 -_08016E20: .4byte gUnk_03003DE0 -_08016E24: .4byte gUnk_03000C30 -_08016E28: .4byte 0x040000D4 -_08016E2C: - cmp r0, #2 - beq _08016E4E - b _08016E68 -_08016E32: - ldr r0, [r4, #4] - str r0, [r5] - ldr r0, [r4, #8] - str r0, [r5, #4] - ldrh r0, [r4, #2] - lsrs r0, r0, #2 - movs r1, #0x84 - lsls r1, r1, #0x18 - b _08016E62 -_08016E44: - ldr r0, [r4, #4] - ldr r1, [r4, #8] - bl LZ77UnCompVram - b _08016E68 -_08016E4E: - ldr r0, [r4, #4] - str r0, [sp] - mov r0, sp - str r0, [r5] - ldr r0, [r4, #8] - str r0, [r5, #4] - ldrh r0, [r4, #2] - lsrs r0, r0, #2 - movs r1, #0x85 - lsls r1, r1, #0x18 -_08016E62: - orrs r0, r1 - str r0, [r5, #8] - ldr r0, [r5, #8] -_08016E68: - adds r4, #0xc - subs r6, #1 - cmp r6, #0 - bgt _08016E0E -_08016E70: - add sp, #4 - pop {r4, r5, r6} - pop {r0} - bx r0 - - thumb_func_start sub_08016E78 -sub_08016E78: @ 0x08016E78 - push {r4, lr} - ldr r4, _08016F08 @ =gUnk_03001000 - ldrb r0, [r4] - movs r0, #0 - strb r0, [r4] - bl VBlankIntrWait - ldrb r0, [r4] - cmp r0, #0 - bne _08016E94 - adds r1, r4, #0 -_08016E8E: - ldrb r0, [r1] - cmp r0, #0 - beq _08016E8E -_08016E94: - bl sub_080ADD70 - bl sub_0801C25C - bl sub_08016C3C - bl sub_08016DF8 - ldr r1, _08016F0C @ =gUnk_02000070 - ldrb r0, [r1] - cmp r0, #0 - beq _08016EFC - movs r0, #0 - strb r0, [r1] - ldr r0, _08016F10 @ =gUnk_02025EB0 - ldr r1, [r0] - cmp r1, #0 - beq _08016ED6 - ldr r2, _08016F14 @ =0x040000D4 - ldr r0, _08016F18 @ =gBG1Buffer - str r0, [r2] - ldrh r1, [r1] - movs r0, #0xf8 - lsls r0, r0, #5 - ands r0, r1 - lsls r0, r0, #3 - movs r1, #0xc0 - lsls r1, r1, #0x13 - adds r0, r0, r1 - str r0, [r2, #4] - ldr r0, _08016F1C @ =0x84000170 - str r0, [r2, #8] - ldr r0, [r2, #8] -_08016ED6: - ldr r0, _08016F20 @ =gUnk_0200B650 - ldr r1, [r0] - cmp r1, #0 - beq _08016EFC - ldr r2, _08016F14 @ =0x040000D4 - ldr r0, _08016F24 @ =gBG2Buffer - str r0, [r2] - ldrh r1, [r1] - movs r0, #0xf8 - lsls r0, r0, #5 - ands r0, r1 - lsls r0, r0, #3 - movs r1, #0xc0 - lsls r1, r1, #0x13 - adds r0, r0, r1 - str r0, [r2, #4] - ldr r0, _08016F1C @ =0x84000170 - str r0, [r2, #8] - ldr r0, [r2, #8] -_08016EFC: - bl sub_0804FF98 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08016F08: .4byte gUnk_03001000 -_08016F0C: .4byte gUnk_02000070 -_08016F10: .4byte gUnk_02025EB0 -_08016F14: .4byte 0x040000D4 -_08016F18: .4byte gBG1Buffer -_08016F1C: .4byte 0x84000170 -_08016F20: .4byte gUnk_0200B650 -_08016F24: .4byte gBG2Buffer - - thumb_func_start sub_08016F28 -sub_08016F28: @ 0x08016F28 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r0, _08016F44 @ =gSave - adds r0, #0xba - ldrb r0, [r0] - cmp r0, #0 - beq _08016F4C - ldr r0, _08016F48 @ =gPlayerState - ldr r1, [r0, #0x30] - movs r2, #0x80 - lsls r2, r2, #7 - orrs r1, r2 - b _08016F54 - .align 2, 0 -_08016F44: .4byte gSave -_08016F48: .4byte gPlayerState -_08016F4C: - ldr r0, _08016F98 @ =gPlayerState - ldr r1, [r0, #0x30] - ldr r2, _08016F9C @ =0xFFFFBFFF - ands r1, r2 -_08016F54: - str r1, [r0, #0x30] - adds r0, r4, #0 - bl sub_0805E3B0 - cmp r0, #0 - bne _08016FDC - ldr r5, _08016F98 @ =gPlayerState - ldr r0, [r5, #0x30] - movs r1, #0x80 - lsls r1, r1, #0xc - ands r0, r1 - cmp r0, #0 - beq _08016FB4 - bl sub_08077B20 - ldr r1, [r5, #0x30] - movs r0, #0x80 - lsls r0, r0, #0xe - ands r0, r1 - cmp r0, #0 - beq _08016FA4 - movs r0, #0x18 - strb r0, [r5, #0xc] - ldr r0, _08016FA0 @ =0xFFF7FFFF - ands r1, r0 - str r1, [r5, #0x30] - movs r0, #0xf0 - strb r0, [r5, #0xf] - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - b _08016FB4 - .align 2, 0 -_08016F98: .4byte gPlayerState -_08016F9C: .4byte 0xFFFFBFFF -_08016FA0: .4byte 0xFFF7FFFF -_08016FA4: - ldrb r1, [r4, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r4, #0x10] - adds r1, r5, #0 - adds r1, #0xa8 - movs r0, #0xf - strb r0, [r1] -_08016FB4: - adds r0, r4, #0 - bl sub_08016FF4 - adds r0, r4, #0 - bl sub_08070680 - ldr r0, [r4, #0x34] - cmp r0, #0 - bne _08016FD8 - ldrb r0, [r4, #0xc] - cmp r0, #1 - beq _08016FD0 - cmp r0, #9 - bne _08016FD8 -_08016FD0: - adds r0, r4, #0 - movs r1, #8 - bl sub_08008790 -_08016FD8: - bl sub_080171F0 -_08016FDC: - adds r0, r4, #0 - bl sub_08078FB0 - adds r0, r4, #0 - bl sub_0800404C - bl sub_0807A050 - pop {r4, r5} - pop {r0} - bx r0 - .align 2, 0 - - thumb_func_start sub_08016FF4 -sub_08016FF4: @ 0x08016FF4 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r0, _080170A0 @ =gUnk_0200AF00 - adds r2, r0, #0 - adds r2, #0x2f - movs r1, #0 - strb r1, [r2] - subs r2, #2 - strb r1, [r2] - adds r0, #0x2e - strb r1, [r0] - ldr r2, _080170A4 @ =gPlayerEntity - adds r0, r2, #0 - adds r0, #0x41 - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0801702E - adds r0, r2, #0 - adds r0, #0x3d - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - ble _0801702E - movs r0, #0x86 - bl PlaySFX -_0801702E: - ldr r4, _080170A8 @ =gPlayerState - ldr r0, [r4, #0x30] - ldr r1, _080170AC @ =0xFDFFFDFF - ands r0, r1 - str r0, [r4, #0x30] - movs r1, #0x80 - lsls r1, r1, #3 - ands r0, r1 - cmp r0, #0 - beq _08017046 - bl ResetPlayer -_08017046: - ldr r0, [r4, #0x30] - movs r1, #0x80 - lsls r1, r1, #0xf - ands r0, r1 - cmp r0, #0 - beq _08017060 - adds r0, r4, #0 - adds r0, #0xa0 - ldrb r0, [r0] - cmp r0, #0 - bne _08017060 - bl sub_0807A108 -_08017060: - bl sub_08079B24 - cmp r0, #0 - bne _0801706E - adds r0, r5, #0 - bl sub_08079708 -_0801706E: - ldr r0, _080170B0 @ =gUnk_03003DF0 - movs r4, #0 - strb r4, [r0] - ldr r2, _080170A8 @ =gPlayerState - adds r1, r2, #0 - adds r1, #0x27 - ldrb r0, [r1] - cmp r0, #0 - beq _08017084 - subs r0, #1 - strb r0, [r1] -_08017084: - adds r1, r2, #0 - adds r1, #0xa8 - ldrb r0, [r1] - adds r3, r2, #0 - adds r3, #0xa9 - strb r0, [r3] - strb r4, [r1] - subs r1, #0x1e - ldrb r0, [r1] - cmp r0, #0 - beq _080170B4 - subs r0, #1 - strb r0, [r1] - b _080171EA - .align 2, 0 -_080170A0: .4byte gUnk_0200AF00 -_080170A4: .4byte gPlayerEntity -_080170A8: .4byte gPlayerState -_080170AC: .4byte 0xFDFFFDFF -_080170B0: .4byte gUnk_03003DF0 -_080170B4: - adds r0, r2, #0 - adds r0, #0x8b - ldrb r0, [r0] - cmp r0, #0 - beq _080170C0 - b _080171EA -_080170C0: - ldr r0, _08017124 @ =gTextBox - ldrb r0, [r0] - movs r1, #0x7f - ands r1, r0 - cmp r1, #0 - beq _080170CE - b _080171EA -_080170CE: - ldr r3, _08017128 @ =gRoomVars - strb r1, [r3, #0xa] - ldr r2, _0801712C @ =gSave - adds r0, r2, #0 - adds r0, #0xab - ldrb r0, [r0] - lsrs r1, r0, #2 - cmp r1, #0x18 - bls _080170E2 - movs r1, #0x18 -_080170E2: - cmp r1, #7 - bhi _080170E8 - movs r1, #8 -_080170E8: - adds r0, r2, #0 - adds r0, #0xaa - ldrb r0, [r0] - cmp r0, r1 - bhi _08017112 - movs r0, #1 - strb r0, [r3, #0xa] - ldr r0, _08017130 @ =gUnk_0200AF00 - ldrb r0, [r0, #1] - cmp r0, #0 - bne _08017112 - ldr r0, _08017134 @ =gScreenTransition - ldr r0, [r0] - movs r1, #0x5a - bl __modsi3 - cmp r0, #0 - bne _08017112 - ldr r0, _08017138 @ =0x0000011F - bl EnqueueSFX -_08017112: - ldr r0, _0801712C @ =gSave - adds r2, r0, #0 - adds r2, #0xb2 - ldrb r1, [r2] - cmp r1, #0 - bne _0801713C - adds r0, #0xc4 - strh r1, [r0] - b _0801715A - .align 2, 0 -_08017124: .4byte gTextBox -_08017128: .4byte gRoomVars -_0801712C: .4byte gSave -_08017130: .4byte gUnk_0200AF00 -_08017134: .4byte gScreenTransition -_08017138: .4byte 0x0000011F -_0801713C: - adds r1, r0, #0 - adds r1, #0xc4 - ldrh r0, [r1] - cmp r0, #0 - beq _08017150 - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _0801715A -_08017150: - movs r0, #0 - strb r0, [r2] - ldr r0, _0801716C @ =0x000001B3 - bl PlaySFX -_0801715A: - ldr r0, _08017170 @ =gSave - adds r3, r0, #0 - adds r3, #0xb3 - ldrb r1, [r3] - cmp r1, #0 - bne _08017174 - adds r0, #0xc6 - strh r1, [r0] - b _080171A4 - .align 2, 0 -_0801716C: .4byte 0x000001B3 -_08017170: .4byte gSave -_08017174: - adds r2, r0, #0 - adds r2, #0xc6 - ldrh r0, [r2] - cmp r0, #0 - beq _08017188 - subs r1, r0, #1 - strh r1, [r2] - lsls r0, r1, #0x10 - cmp r0, #0 - bne _08017196 -_08017188: - movs r0, #0 - strb r0, [r3] - movs r0, #0xa0 - lsls r0, r0, #1 - bl PlaySFX - b _080171A4 -_08017196: - movs r0, #0xf - ands r1, r0 - cmp r1, #0 - bne _080171A4 - adds r0, r5, #0 - bl CreateSparkle -_080171A4: - ldr r0, _080171B8 @ =gSave - adds r3, r0, #0 - adds r3, #0xba - ldrb r1, [r3] - cmp r1, #0 - bne _080171BC - adds r0, #0xc8 - strh r1, [r0] - b _080171EA - .align 2, 0 -_080171B8: .4byte gSave -_080171BC: - adds r2, r0, #0 - adds r2, #0xc8 - ldrh r0, [r2] - cmp r0, #0 - beq _080171D0 - subs r1, r0, #1 - strh r1, [r2] - lsls r0, r1, #0x10 - cmp r0, #0 - bne _080171D6 -_080171D0: - movs r0, #0 - strb r0, [r3] - b _080171EA -_080171D6: - movs r0, #0x3f - ands r1, r0 - cmp r1, #0 - bne _080171EA - ldrb r1, [r3] - adds r1, #0x55 - adds r0, r5, #0 - movs r2, #0 - bl CreateFx -_080171EA: - pop {r4, r5} - pop {r0} - bx r0 - - thumb_func_start sub_080171F0 -sub_080171F0: @ 0x080171F0 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - ldr r4, _080172DC @ =gPlayerState - ldrb r0, [r4, #0x1a] - cmp r0, #0 - beq _08017202 - bl ResetPlayer -_08017202: - ldrb r0, [r4, #0x14] - cmp r0, #0 - beq _0801720C - subs r0, #1 - strb r0, [r4, #0x14] -_0801720C: - ldr r6, _080172E0 @ =gPlayerEntity - adds r1, r6, #0 - adds r1, #0x7a - ldrh r0, [r1] - cmp r0, #0 - beq _0801721C - subs r0, #1 - strh r0, [r1] -_0801721C: - adds r2, r6, #0 - adds r2, #0x41 - ldrb r0, [r2] - movs r5, #0x7f - adds r1, r5, #0 - ands r1, r0 - movs r0, #0 - mov r8, r0 - strb r1, [r2] - ldrb r0, [r6, #0xc] - cmp r0, #0x14 - beq _08017244 - ldr r0, [r4, #0x30] - ldr r1, _080172E4 @ =0xFFFEFFFF - ands r1, r0 - movs r2, #2 - ands r0, r2 - lsls r0, r0, #0xf - orrs r1, r0 - str r1, [r4, #0x30] -_08017244: - ldr r0, [r4, #0x30] - movs r1, #3 - rsbs r1, r1, #0 - ands r0, r1 - str r0, [r4, #0x30] - adds r0, r6, #0 - bl sub_080028E0 - ldr r0, [r4, #0x30] - movs r7, #0x80 - lsls r7, r7, #0xf - ands r0, r7 - cmp r0, #0 - beq _08017268 - ldr r0, _080172E8 @ =gUnk_0200AF00 - adds r0, #0x2f - movs r1, #1 - strb r1, [r0] -_08017268: - bl sub_08078180 - ldrb r1, [r4, #7] - adds r0, r5, #0 - ands r0, r1 - strb r0, [r4, #7] - ldrb r1, [r4, #0xa] - movs r0, #0xf - ands r0, r1 - strb r0, [r4, #0xa] - ldrb r1, [r4, #0xb] - adds r0, r5, #0 - ands r0, r1 - strb r0, [r4, #0xb] - mov r1, r8 - strb r1, [r4, #0x1a] - adds r0, r4, #0 - adds r0, #0x80 - movs r5, #0 - mov r1, r8 - strh r1, [r0] - adds r0, #0x2a - strb r5, [r0] - ldr r0, _080172EC @ =gUnk_03003BE0 - movs r1, #0x8c - bl _DmaZero - adds r2, r4, #0 - adds r2, #0x3f - ldrb r0, [r2] - adds r1, r6, #0 - adds r1, #0x63 - strb r0, [r1] - strb r5, [r2] - bl sub_0807B0C8 - ldr r0, [r4, #0x30] - ands r0, r7 - cmp r0, #0 - beq _080172CC - ldr r0, _080172F0 @ =gUnk_03004040 - ldr r2, [r0] - ldr r1, [r0, #4] - ldr r0, [r0, #8] - adds r0, #0x63 - strb r5, [r0] - adds r1, #0x63 - strb r5, [r1] - adds r2, #0x63 - strb r5, [r2] -_080172CC: - ldrb r0, [r6, #0xc] - cmp r0, #0x1d - bne _080172F4 - ldr r0, [r4, #0x30] - movs r1, #0x80 - lsls r1, r1, #0x16 - orrs r0, r1 - b _080172FA - .align 2, 0 -_080172DC: .4byte gPlayerState -_080172E0: .4byte gPlayerEntity -_080172E4: .4byte 0xFFFEFFFF -_080172E8: .4byte gUnk_0200AF00 -_080172EC: .4byte gUnk_03003BE0 -_080172F0: .4byte gUnk_03004040 -_080172F4: - ldr r0, [r4, #0x30] - ldr r1, _0801732C @ =0xDFFFFFFF - ands r0, r1 -_080172FA: - str r0, [r4, #0x30] - ldr r4, _08017330 @ =gPlayerEntity - adds r0, r4, #0 - bl sub_0807A8D8 - ldr r0, _08017334 @ =gPlayerState - ldrb r1, [r0, #2] - movs r0, #0xc0 - ands r0, r1 - cmp r0, #0 - beq _08017318 - adds r1, r4, #0 - adds r1, #0x3d - movs r0, #0xfe - strb r0, [r1] -_08017318: - ldrb r0, [r4, #0xc] - cmp r0, #0x17 - beq _08017322 - bl sub_08077FEC -_08017322: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 -_0801732C: .4byte 0xDFFFFFFF -_08017330: .4byte gPlayerEntity -_08017334: .4byte gPlayerState - - thumb_func_start sub_08017338 -sub_08017338: @ 0x08017338 - push {r4, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0x10] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - bne _08017352 - ldrh r0, [r4, #0xc] - cmp r0, #0 - bne _08017352 - adds r0, r4, #0 - bl sub_080173A4 -_08017352: - adds r0, r4, #0 - bl sub_0805E3B0 - cmp r0, #0 - bne _08017398 - ldr r1, _08017390 @ =gPlayerItemFunctions - ldrb r0, [r4, #9] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r2, r4, #0 - adds r2, #0x41 - ldrb r1, [r2] - movs r0, #0x7f - ands r0, r1 - strb r0, [r2] - adds r1, r4, #0 - adds r1, #0x3d - ldrb r0, [r1] - movs r2, #0 - ldrsb r2, [r1, r2] - cmp r2, #0 - beq _08017398 - cmp r2, #0 - ble _08017394 - subs r0, #1 - b _08017396 - .align 2, 0 -_08017390: .4byte gPlayerItemFunctions -_08017394: - adds r0, #1 -_08017396: - strb r0, [r1] -_08017398: - adds r0, r4, #0 - bl sub_0800404C - pop {r4} - pop {r0} - bx r0 - - thumb_func_start sub_080173A4 -sub_080173A4: @ 0x080173A4 - push {r4, r5, lr} - mov ip, r0 - ldrb r0, [r0, #9] - lsls r0, r0, #3 - ldr r1, _08017410 @ =gUnk_08126DA8 - adds r3, r0, r1 - ldrb r0, [r3] - cmp r0, #0xff - bne _080173CE - ldrb r2, [r3, #2] - ldr r1, _08017414 @ =gUnk_08126ED8 - ldrb r0, [r3, #1] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r3, [r0] - mov r0, ip - adds r0, #0x68 - ldrb r0, [r0] - subs r0, r0, r2 - lsls r0, r0, #3 - adds r3, r3, r0 -_080173CE: - ldrb r0, [r3] - movs r1, #0xf - ands r1, r0 - lsls r0, r0, #4 - orrs r0, r1 - mov r1, ip - strb r0, [r1, #0x1a] - ldrb r1, [r3, #1] - mov r0, ip - adds r0, #0x44 - strb r1, [r0] - ldrb r1, [r3, #3] - subs r0, #4 - strb r1, [r0] - ldrb r0, [r3, #4] - mov r1, ip - adds r1, #0x3f - strb r0, [r1] - ldrb r0, [r3, #5] - mov r2, ip - strh r0, [r2, #0x12] - ldrh r1, [r3, #6] - cmp r1, #0 - bne _0801741C - ldr r2, _08017418 @ =gPlayerEntity - adds r0, r2, #0 - adds r0, #0x60 - ldrh r1, [r0] - mov r0, ip - adds r0, #0x60 - strh r1, [r0] - adds r5, r2, #0 - b _08017428 - .align 2, 0 -_08017410: .4byte gUnk_08126DA8 -_08017414: .4byte gUnk_08126ED8 -_08017418: .4byte gPlayerEntity -_0801741C: - ldr r0, _0801749C @ =0x000003FF - ands r0, r1 - mov r1, ip - adds r1, #0x60 - strh r0, [r1] - ldr r5, _080174A0 @ =gPlayerEntity -_08017428: - mov r3, ip - ldrb r0, [r3, #0x14] - cmp r0, #0 - bne _08017438 - ldrb r1, [r5, #0x14] - movs r0, #6 - ands r0, r1 - strb r0, [r3, #0x14] -_08017438: - adds r0, r5, #0 - adds r0, #0x38 - ldrb r1, [r0] - mov r0, ip - adds r0, #0x38 - strb r1, [r0] - ldrb r1, [r5, #0x19] - lsrs r1, r1, #6 - lsls r1, r1, #6 - mov r0, ip - ldrb r3, [r0, #0x19] - movs r2, #0x3f - adds r0, r2, #0 - ands r0, r3 - orrs r0, r1 - mov r1, ip - strb r0, [r1, #0x19] - adds r0, r5, #0 - adds r0, #0x29 - ldrb r1, [r0] - lsls r1, r1, #0x1d - mov r4, ip - adds r4, #0x29 - lsrs r1, r1, #0x1d - ldrb r3, [r4] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r3 - orrs r0, r1 - strb r0, [r4] - ldrb r0, [r5, #0x1b] - lsrs r0, r0, #6 - lsls r0, r0, #6 - mov r3, ip - ldrb r1, [r3, #0x1b] - ands r2, r1 - orrs r2, r0 - strb r2, [r3, #0x1b] - mov r2, ip - adds r2, #0x45 - movs r1, #1 - movs r0, #1 - strb r0, [r2] - ldrb r0, [r3, #0x10] - orrs r1, r0 - strb r1, [r3, #0x10] - pop {r4, r5} - pop {r0} - bx r0 - .align 2, 0 -_0801749C: .4byte 0x000003FF -_080174A0: .4byte gPlayerEntity - - thumb_func_start sub_080174A4 -sub_080174A4: @ 0x080174A4 - push {r4, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0x10] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - bne _080174BE - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _080174BE - adds r0, r4, #0 - bl sub_080A2838 -_080174BE: - adds r1, r4, #0 - adds r1, #0x3d - ldrb r2, [r1] - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0 - beq _080174D0 - adds r0, r2, #1 - strb r0, [r1] -_080174D0: - adds r0, r4, #0 - bl sub_0805E3B0 - cmp r0, #0 - bne _080174F6 - ldr r1, _08017504 @ =gObjectFunctions - ldrb r0, [r4, #9] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r2, r4, #0 - adds r2, #0x41 - ldrb r1, [r2] - movs r0, #0x7f - ands r0, r1 - strb r0, [r2] -_080174F6: - adds r0, r4, #0 - bl sub_0800404C - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08017504: .4byte gObjectFunctions - - thumb_func_start sub_08017508 -sub_08017508: @ 0x08017508 - push {r4, lr} - adds r4, r0, #0 - bl sub_0805E3B0 - cmp r0, #0 - bne _08017524 - ldr r0, _0801752C @ =gManagerFunctions - ldrb r1, [r4, #9] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 -_08017524: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0801752C: .4byte gManagerFunctions - - thumb_func_start sub_08017530 -sub_08017530: @ 0x08017530 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x45 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - beq _08017550 - ldr r0, _080175D8 @ =gUnk_020342F8 - subs r1, #1 - bl ReadBit - cmp r0, #0 - bne _08017550 - bl DeleteThisEntity -_08017550: - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _08017566 - ldrb r1, [r4, #0x10] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - bne _08017566 - adds r0, r4, #0 - bl sub_0806EC78 -_08017566: - adds r0, r4, #0 - bl sub_0805E3B0 - cmp r0, #0 - bne _08017584 - ldr r2, _080175DC @ =gNPCFunctions - ldrb r1, [r4, #9] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #2 - adds r0, r0, r2 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 -_08017584: - ldr r0, [r4, #4] - cmp r0, #0 - beq _080175D2 - ldr r2, _080175DC @ =gNPCFunctions - ldrb r1, [r4, #9] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #2 - adds r2, #4 - adds r0, r0, r2 - ldr r1, [r0] - cmp r1, #0 - beq _080175A4 - adds r0, r4, #0 - bl _call_via_r1 -_080175A4: - adds r0, r4, #0 - adds r0, #0x45 - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - beq _080175CC - ldr r2, _080175E0 @ =gUnk_02031EC0 - lsls r0, r1, #4 - subs r0, #0x10 - adds r2, r0, r2 - ldr r3, _080175E4 @ =gRoomControls - ldrh r0, [r4, #0x2e] - ldrh r1, [r3, #6] - subs r0, r0, r1 - strh r0, [r2, #4] - ldrh r0, [r4, #0x32] - ldrh r1, [r3, #8] - subs r0, r0, r1 - strh r0, [r2, #6] -_080175CC: - adds r0, r4, #0 - bl sub_0800404C -_080175D2: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080175D8: .4byte gUnk_020342F8 -_080175DC: .4byte gNPCFunctions -_080175E0: .4byte gUnk_02031EC0 -_080175E4: .4byte gRoomControls - - thumb_func_start sub_080175E8 -sub_080175E8: @ 0x080175E8 - ldr r1, _080175F0 @ =gUnk_03003DB8 - movs r0, #0 - strb r0, [r1] - bx lr - .align 2, 0 -_080175F0: .4byte gUnk_03003DB8 - - thumb_func_start sub_080175F4 -sub_080175F4: @ 0x080175F4 - push {r4, r5, lr} - ldr r1, _08017624 @ =gUnk_03003DC0 - ldrb r0, [r1] - ldrb r2, [r1, #1] - cmp r0, r2 - bhi _08017602 - ldrb r0, [r1, #1] -_08017602: - cmp r0, #0 - bne _08017638 - ldr r1, _08017628 @ =gUnk_030059F0 - ldr r0, _0801762C @ =gPlayerState - adds r0, #0x8b - ldrb r0, [r0] - cmp r0, #0 - beq _08017634 - ldr r4, _08017630 @ =gPlayerEntity - ldrb r5, [r4, #0x10] - movs r0, #0x7f - ands r0, r5 - strb r0, [r4, #0x10] - bl _call_via_r1 - strb r5, [r4, #0x10] - b _08017638 - .align 2, 0 -_08017624: .4byte gUnk_03003DC0 -_08017628: .4byte gUnk_030059F0 -_0801762C: .4byte gPlayerState -_08017630: .4byte gPlayerEntity -_08017634: - bl _call_via_r1 -_08017638: - pop {r4, r5} - pop {r0} - bx r0 - .align 2, 0 - - thumb_func_start sub_08017640 -sub_08017640: @ 0x08017640 - push {r4, lr} - ldr r4, _08017660 @ =gUnk_03003C70 - movs r1, #0x80 - lsls r1, r1, #1 - adds r0, r4, #0 - bl _DmaZero - ldr r0, _08017664 @ =gUnk_02018EA0 - str r4, [r0] - str r4, [r4] - str r4, [r4, #4] - ldr r0, _08017668 @ =gPlayerEntity - str r0, [r4, #8] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08017660: .4byte gUnk_03003C70 -_08017664: .4byte gUnk_02018EA0 -_08017668: .4byte gPlayerEntity - - thumb_func_start sub_0801766C -sub_0801766C: @ 0x0801766C - push {r4, lr} - adds r4, r0, #0 - adds r3, r4, #0 - adds r3, #0x29 - ldrb r1, [r3] - movs r0, #0x40 - ands r0, r1 - cmp r0, #0 - beq _08017682 -_0801767E: - movs r0, #1 - b _080176DE -_08017682: - ldr r2, _080176C0 @ =gUnk_03003C70 - movs r0, #0x80 - lsls r0, r0, #1 - adds r1, r2, r0 - cmp r1, r2 - bls _080176DC -_0801768E: - ldr r0, [r2, #8] - cmp r0, #0 - bne _080176D6 - str r4, [r2, #8] - strb r0, [r2, #0xc] - ldrb r0, [r3] - movs r1, #0x40 - orrs r0, r1 - strb r0, [r3] - ldr r3, _080176C4 @ =gUnk_02018EA0 - ldr r1, [r3] - ldrb r0, [r1, #0xc] - cmp r0, #0 - beq _080176C8 -_080176AA: - ldr r1, [r1, #4] - ldrb r0, [r1, #0xc] - cmp r0, #0 - bne _080176AA - str r1, [r2, #4] - ldr r0, [r1] - str r0, [r2] - str r2, [r0, #4] - str r2, [r1] - b _0801767E - .align 2, 0 -_080176C0: .4byte gUnk_03003C70 -_080176C4: .4byte gUnk_02018EA0 -_080176C8: - str r1, [r2, #4] - ldr r0, [r1] - str r0, [r2] - str r2, [r0, #4] - str r2, [r1] - str r2, [r3] - b _0801767E -_080176D6: - adds r2, #0x10 - cmp r1, r2 - bhi _0801768E -_080176DC: - movs r0, #0 -_080176DE: - pop {r4} - pop {r1} - bx r1 - - thumb_func_start sub_080176E4 -sub_080176E4: @ 0x080176E4 - push {lr} - adds r2, r0, #0 - adds r0, #0x29 - ldrb r1, [r0] - movs r0, #0x40 - ands r0, r1 - cmp r0, #0 - beq _08017720 - movs r0, #1 - b _0801773A -_080176F8: - str r2, [r3, #8] - movs r0, #1 - strb r0, [r3, #0xc] - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #0x40 - orrs r0, r1 - strb r0, [r2] - ldr r2, _0801771C @ =gUnk_02018EA0 - ldr r0, [r2] - str r0, [r3, #4] - ldr r1, [r0] - str r1, [r3] - str r3, [r1, #4] - str r3, [r0] - str r3, [r2] - movs r0, #1 - b _0801773A - .align 2, 0 -_0801771C: .4byte gUnk_02018EA0 -_08017720: - ldr r3, _08017740 @ =gUnk_03003C70 - movs r0, #0x80 - lsls r0, r0, #1 - adds r1, r3, r0 - cmp r1, r3 - bls _08017738 -_0801772C: - ldr r0, [r3, #8] - cmp r0, #0 - beq _080176F8 - adds r3, #0x10 - cmp r1, r3 - bhi _0801772C -_08017738: - movs r0, #0 -_0801773A: - pop {r1} - bx r1 - .align 2, 0 -_08017740: .4byte gUnk_03003C70 - - thumb_func_start sub_08017744 -sub_08017744: @ 0x08017744 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - ldr r2, _08017758 @ =gUnk_03003C70 - movs r0, #0x80 - lsls r0, r0, #1 - adds r7, r2, r0 - movs r5, #0x41 - rsbs r5, r5, #0 - ldr r6, _0801775C @ =gUnk_02018EA0 - b _08017766 - .align 2, 0 -_08017758: .4byte gUnk_03003C70 -_0801775C: .4byte gUnk_02018EA0 -_08017760: - adds r2, #0x10 - cmp r7, r2 - bls _0801779A -_08017766: - ldr r0, [r2, #8] - cmp r4, r0 - bne _08017760 - adds r3, r4, #0 - adds r3, #0x29 - ldrb r1, [r3] - movs r0, #0x40 - ands r0, r1 - cmp r0, #0 - beq _08017760 - adds r0, r5, #0 - ands r0, r1 - strb r0, [r3] - movs r0, #0 - str r0, [r2, #8] - ldr r1, [r2] - ldr r0, [r2, #4] - str r0, [r1, #4] - ldr r1, [r2, #4] - ldr r0, [r2] - str r0, [r1] - ldr r0, [r6] - cmp r2, r0 - bne _0801779A - ldr r0, [r2, #4] - str r0, [r6] -_0801779A: - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - - thumb_func_start sub_080177A0 -sub_080177A0: @ 0x080177A0 - push {r4, r5, r6, lr} - mov ip, r0 - adds r5, r1, #0 - adds r0, #0x38 - adds r1, #0x38 - ldrb r2, [r0] - ldrb r0, [r1] - ands r0, r2 - cmp r0, #0 - beq _08017848 - mov r0, ip - ldr r3, [r0, #0x48] - ldr r4, [r5, #0x48] - ldrb r1, [r3, #6] - ldrb r0, [r4, #6] - adds r2, r1, r0 - mov r1, ip - movs r6, #0x2e - ldrsh r0, [r1, r6] - movs r6, #0x2e - ldrsh r1, [r5, r6] - subs r0, r0, r1 - movs r1, #0 - ldrsb r1, [r3, r1] - adds r0, r0, r1 - movs r1, #0 - ldrsb r1, [r4, r1] - subs r0, r0, r1 - adds r0, r0, r2 - lsls r1, r2, #1 - cmp r0, r1 - bhi _08017848 - ldrb r1, [r3, #7] - ldrb r0, [r4, #7] - adds r2, r1, r0 - mov r1, ip - movs r6, #0x32 - ldrsh r0, [r1, r6] - movs r6, #0x32 - ldrsh r1, [r5, r6] - subs r0, r0, r1 - movs r1, #1 - ldrsb r1, [r3, r1] - adds r0, r0, r1 - movs r1, #1 - ldrsb r1, [r4, r1] - subs r0, r0, r1 - adds r0, r0, r2 - lsls r1, r2, #1 - cmp r0, r1 - bhi _08017848 - mov r0, ip - adds r0, #0x3c - ldrb r1, [r0] - movs r6, #0x10 - adds r0, r6, #0 - ands r0, r1 - movs r2, #5 - cmp r0, #0 - beq _0801781A - ldrb r2, [r3, #8] -_0801781A: - adds r0, r5, #0 - adds r0, #0x3c - ldrb r1, [r0] - adds r0, r6, #0 - ands r0, r1 - cmp r0, #0 - beq _0801782E - ldrb r0, [r4, #8] - adds r2, r2, r0 - b _08017830 -_0801782E: - adds r2, #5 -_08017830: - mov r1, ip - movs r3, #0x36 - ldrsh r0, [r1, r3] - movs r6, #0x36 - ldrsh r1, [r5, r6] - subs r0, r0, r1 - adds r0, r0, r2 - lsls r1, r2, #1 - cmp r0, r1 - bhi _08017848 - movs r0, #1 - b _0801784A -_08017848: - movs r0, #0 -_0801784A: - pop {r4, r5, r6} - pop {r1} - bx r1 - - thumb_func_start sub_08017850 -sub_08017850: @ 0x08017850 - push {r4, lr} - adds r4, r0, #0 - bl sub_08079F8C - cmp r0, #0 - bne _08017860 - movs r0, #0 - b _08017868 -_08017860: - ldr r1, _08017870 @ =gPlayerEntity - adds r0, r4, #0 - bl sub_080177A0 -_08017868: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08017870: .4byte gPlayerEntity thumb_func_start sub_08017874 sub_08017874: @ 0x08017874 diff --git a/asm/m4a_asm.s b/asm/m4a_asm.s index 18aa73bd..824258b2 100644 --- a/asm/m4a_asm.s +++ b/asm/m4a_asm.s @@ -463,7 +463,9 @@ _080AF706: str r1, [r0, #0x2c] _080AF70A: bx lr -_080AF70C: + + thumb_func_start ply_fine +ply_fine: @ 0x080AF70C push {r4, r5, lr} adds r5, r1, #0 ldr r4, [r5, #0x20] @@ -542,7 +544,9 @@ sub_080AF77A: @ 0x080AF77A ldrb r3, [r2] b _080AF75E .align 2, 0 -_080AF784: + + thumb_func_start ply_goto +ply_goto: push {lr} _080AF786: ldr r2, [r1, #0x40] @@ -573,9 +577,9 @@ ply_patt: @ 0x080AF7A4 ldrb r2, [r1, #2] adds r2, #1 strb r2, [r1, #2] - b _080AF784 + b ply_goto _080AF7BC: - b _080AF70C + b ply_fine .align 2, 0 thumb_func_start ply_pend diff --git a/asm/non_matching/arm_proxy/sub_08016DF8.inc b/asm/non_matching/arm_proxy/sub_08016DF8.inc new file mode 100644 index 00000000..2d47df2c --- /dev/null +++ b/asm/non_matching/arm_proxy/sub_08016DF8.inc @@ -0,0 +1,50 @@ + .syntax unified + push {r4, r5, r6, r7, lr} + adds r4, r0, #0 + ldr r2, _08017758 @ =gUnk_03003C70 + movs r0, #0x80 + lsls r0, r0, #1 + adds r7, r2, r0 + movs r5, #0x41 + rsbs r5, r5, #0 + ldr r6, _0801775C @ =gUnk_02018EA0 + b _08017766 + .align 2, 0 +_08017758: .4byte gUnk_03003C70 +_0801775C: .4byte gUnk_02018EA0 +_08017760: + adds r2, #0x10 + cmp r7, r2 + bls _0801779A +_08017766: + ldr r0, [r2, #8] + cmp r4, r0 + bne _08017760 + adds r3, r4, #0 + adds r3, #0x29 + ldrb r1, [r3] + movs r0, #0x40 + ands r0, r1 + cmp r0, #0 + beq _08017760 + adds r0, r5, #0 + ands r0, r1 + strb r0, [r3] + movs r0, #0 + str r0, [r2, #8] + ldr r1, [r2] + ldr r0, [r2, #4] + str r0, [r1, #4] + ldr r1, [r2, #4] + ldr r0, [r2] + str r0, [r1] + ldr r0, [r6] + cmp r2, r0 + bne _0801779A + ldr r0, [r2, #4] + str r0, [r6] +_0801779A: + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + .syntax divided \ No newline at end of file diff --git a/asm/non_matching/arm_proxy/sub_080173A4.inc b/asm/non_matching/arm_proxy/sub_080173A4.inc new file mode 100644 index 00000000..e48870ae --- /dev/null +++ b/asm/non_matching/arm_proxy/sub_080173A4.inc @@ -0,0 +1,130 @@ + .syntax unified + push {r4, r5, lr} + mov ip, r0 + ldrb r0, [r0, #9] + lsls r0, r0, #3 + ldr r1, _08017410 @ =gUnk_08126DA8 + adds r3, r0, r1 + ldrb r0, [r3] + cmp r0, #0xff + bne _080173CE + ldrb r2, [r3, #2] + ldr r1, _08017414 @ =gUnk_08126ED8 + ldrb r0, [r3, #1] + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r3, [r0] + mov r0, ip + adds r0, #0x68 + ldrb r0, [r0] + subs r0, r0, r2 + lsls r0, r0, #3 + adds r3, r3, r0 +_080173CE: + ldrb r0, [r3] + movs r1, #0xf + ands r1, r0 + lsls r0, r0, #4 + orrs r0, r1 + mov r1, ip + strb r0, [r1, #0x1a] + ldrb r1, [r3, #1] + mov r0, ip + adds r0, #0x44 + strb r1, [r0] + ldrb r1, [r3, #3] + subs r0, #4 + strb r1, [r0] + ldrb r0, [r3, #4] + mov r1, ip + adds r1, #0x3f + strb r0, [r1] + ldrb r0, [r3, #5] + mov r2, ip + strh r0, [r2, #0x12] + ldrh r1, [r3, #6] + cmp r1, #0 + bne _0801741C + ldr r2, _08017418 @ =gPlayerEntity + adds r0, r2, #0 + adds r0, #0x60 + ldrh r1, [r0] + mov r0, ip + adds r0, #0x60 + strh r1, [r0] + adds r5, r2, #0 + b _08017428 + .align 2, 0 +_08017410: .4byte gUnk_08126DA8 +_08017414: .4byte gUnk_08126ED8 +_08017418: .4byte gPlayerEntity +_0801741C: + ldr r0, _0801749C @ =0x000003FF + ands r0, r1 + mov r1, ip + adds r1, #0x60 + strh r0, [r1] + ldr r5, _080174A0 @ =gPlayerEntity +_08017428: + mov r3, ip + ldrb r0, [r3, #0x14] + cmp r0, #0 + bne _08017438 + ldrb r1, [r5, #0x14] + movs r0, #6 + ands r0, r1 + strb r0, [r3, #0x14] +_08017438: + adds r0, r5, #0 + adds r0, #0x38 + ldrb r1, [r0] + mov r0, ip + adds r0, #0x38 + strb r1, [r0] + ldrb r1, [r5, #0x19] + lsrs r1, r1, #6 + lsls r1, r1, #6 + mov r0, ip + ldrb r3, [r0, #0x19] + movs r2, #0x3f + adds r0, r2, #0 + ands r0, r3 + orrs r0, r1 + mov r1, ip + strb r0, [r1, #0x19] + adds r0, r5, #0 + adds r0, #0x29 + ldrb r1, [r0] + lsls r1, r1, #0x1d + mov r4, ip + adds r4, #0x29 + lsrs r1, r1, #0x1d + ldrb r3, [r4] + movs r0, #8 + rsbs r0, r0, #0 + ands r0, r3 + orrs r0, r1 + strb r0, [r4] + ldrb r0, [r5, #0x1b] + lsrs r0, r0, #6 + lsls r0, r0, #6 + mov r3, ip + ldrb r1, [r3, #0x1b] + ands r2, r1 + orrs r2, r0 + strb r2, [r3, #0x1b] + mov r2, ip + adds r2, #0x45 + movs r1, #1 + movs r0, #1 + strb r0, [r2] + ldrb r0, [r3, #0x10] + orrs r1, r0 + strb r1, [r3, #0x10] + pop {r4, r5} + pop {r0} + bx r0 + .align 2, 0 +_0801749C: .4byte 0x000003FF +_080174A0: .4byte gPlayerEntity + .syntax divided \ No newline at end of file diff --git a/asm/non_matching/arm_proxy/sub_08017530.inc b/asm/non_matching/arm_proxy/sub_08017530.inc new file mode 100644 index 00000000..f8699eeb --- /dev/null +++ b/asm/non_matching/arm_proxy/sub_08017530.inc @@ -0,0 +1,90 @@ + .syntax unified + push {r4, lr} + adds r4, r0, #0 + adds r0, #0x45 + ldrb r1, [r0] + movs r0, #0x7f + ands r0, r1 + cmp r0, #0 + beq _08017550 + ldr r0, _080175D8 @ =gUnk_020342F8 + subs r1, #1 + bl ReadBit + cmp r0, #0 + bne _08017550 + bl DeleteThisEntity +_08017550: + ldrb r0, [r4, #0xc] + cmp r0, #0 + bne _08017566 + ldrb r1, [r4, #0x10] + movs r0, #1 + ands r0, r1 + cmp r0, #0 + bne _08017566 + adds r0, r4, #0 + bl sub_0806EC78 +_08017566: + adds r0, r4, #0 + bl sub_0805E3B0 + cmp r0, #0 + bne _08017584 + ldr r2, _080175DC @ =gNPCFunctions + ldrb r1, [r4, #9] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #2 + adds r0, r0, r2 + ldr r1, [r0] + adds r0, r4, #0 + bl _call_via_r1 +_08017584: + ldr r0, [r4, #4] + cmp r0, #0 + beq _080175D2 + ldr r2, _080175DC @ =gNPCFunctions + ldrb r1, [r4, #9] + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #2 + adds r2, #4 + adds r0, r0, r2 + ldr r1, [r0] + cmp r1, #0 + beq _080175A4 + adds r0, r4, #0 + bl _call_via_r1 +_080175A4: + adds r0, r4, #0 + adds r0, #0x45 + ldrb r1, [r0] + movs r0, #0x7f + ands r0, r1 + cmp r0, #0 + beq _080175CC + ldr r2, _080175E0 @ =gUnk_02031EC0 + lsls r0, r1, #4 + subs r0, #0x10 + adds r2, r0, r2 + ldr r3, _080175E4 @ =gRoomControls + ldrh r0, [r4, #0x2e] + ldrh r1, [r3, #6] + subs r0, r0, r1 + strh r0, [r2, #4] + ldrh r0, [r4, #0x32] + ldrh r1, [r3, #8] + subs r0, r0, r1 + strh r0, [r2, #6] +_080175CC: + adds r0, r4, #0 + bl sub_0800404C +_080175D2: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080175D8: .4byte gUnk_020342F8 +_080175DC: .4byte gNPCFunctions +_080175E0: .4byte gUnk_02031EC0 +_080175E4: .4byte gRoomControls + .syntax divided \ No newline at end of file diff --git a/asm/non_matching/arm_proxy/sub_0801766C.inc b/asm/non_matching/arm_proxy/sub_0801766C.inc new file mode 100644 index 00000000..6ef38554 --- /dev/null +++ b/asm/non_matching/arm_proxy/sub_0801766C.inc @@ -0,0 +1,68 @@ + .syntax unified + push {r4, lr} + adds r4, r0, #0 + adds r3, r4, #0 + adds r3, #0x29 + ldrb r1, [r3] + movs r0, #0x40 + ands r0, r1 + cmp r0, #0 + beq _08017682 +_0801767E: + movs r0, #1 + b _080176DE +_08017682: + ldr r2, _080176C0 @ =gUnk_03003C70 + movs r0, #0x80 + lsls r0, r0, #1 + adds r1, r2, r0 + cmp r1, r2 + bls _080176DC +_0801768E: + ldr r0, [r2, #8] + cmp r0, #0 + bne _080176D6 + str r4, [r2, #8] + strb r0, [r2, #0xc] + ldrb r0, [r3] + movs r1, #0x40 + orrs r0, r1 + strb r0, [r3] + ldr r3, _080176C4 @ =gUnk_02018EA0 + ldr r1, [r3] + ldrb r0, [r1, #0xc] + cmp r0, #0 + beq _080176C8 +_080176AA: + ldr r1, [r1, #4] + ldrb r0, [r1, #0xc] + cmp r0, #0 + bne _080176AA + str r1, [r2, #4] + ldr r0, [r1] + str r0, [r2] + str r2, [r0, #4] + str r2, [r1] + b _0801767E + .align 2, 0 +_080176C0: .4byte gUnk_03003C70 +_080176C4: .4byte gUnk_02018EA0 +_080176C8: + str r1, [r2, #4] + ldr r0, [r1] + str r0, [r2] + str r2, [r0, #4] + str r2, [r1] + str r2, [r3] + b _0801767E +_080176D6: + adds r2, #0x10 + cmp r1, r2 + bhi _0801768E +_080176DC: + movs r0, #0 +_080176DE: + pop {r4} + pop {r1} + bx r1 + .syntax divided \ No newline at end of file diff --git a/asm/non_matching/arm_proxy/sub_080176E4.inc b/asm/non_matching/arm_proxy/sub_080176E4.inc new file mode 100644 index 00000000..5000774e --- /dev/null +++ b/asm/non_matching/arm_proxy/sub_080176E4.inc @@ -0,0 +1,54 @@ + .syntax unified + push {lr} + adds r2, r0, #0 + adds r0, #0x29 + ldrb r1, [r0] + movs r0, #0x40 + ands r0, r1 + cmp r0, #0 + beq _08017720 + movs r0, #1 + b _0801773A +_080176F8: + str r2, [r3, #8] + movs r0, #1 + strb r0, [r3, #0xc] + adds r2, #0x29 + ldrb r0, [r2] + movs r1, #0x40 + orrs r0, r1 + strb r0, [r2] + ldr r2, _0801771C @ =gUnk_02018EA0 + ldr r0, [r2] + str r0, [r3, #4] + ldr r1, [r0] + str r1, [r3] + str r3, [r1, #4] + str r3, [r0] + str r3, [r2] + movs r0, #1 + b _0801773A + .align 2, 0 +_0801771C: .4byte gUnk_02018EA0 +_08017720: + ldr r3, _08017740 @ =gUnk_03003C70 + movs r0, #0x80 + lsls r0, r0, #1 + adds r1, r3, r0 + cmp r1, r3 + bls _08017738 +_0801772C: + ldr r0, [r3, #8] + cmp r0, #0 + beq _080176F8 + adds r3, #0x10 + cmp r1, r3 + bhi _0801772C +_08017738: + movs r0, #0 +_0801773A: + pop {r1} + bx r1 + .align 2, 0 +_08017740: .4byte gUnk_03003C70 + .syntax divided \ No newline at end of file diff --git a/asm/non_matching/arm_proxy/sub_080177A0.inc b/asm/non_matching/arm_proxy/sub_080177A0.inc new file mode 100644 index 00000000..99962e08 --- /dev/null +++ b/asm/non_matching/arm_proxy/sub_080177A0.inc @@ -0,0 +1,95 @@ + .syntax unified + push {r4, r5, r6, lr} + mov ip, r0 + adds r5, r1, #0 + adds r0, #0x38 + adds r1, #0x38 + ldrb r2, [r0] + ldrb r0, [r1] + ands r0, r2 + cmp r0, #0 + beq _08017848 + mov r0, ip + ldr r3, [r0, #0x48] + ldr r4, [r5, #0x48] + ldrb r1, [r3, #6] + ldrb r0, [r4, #6] + adds r2, r1, r0 + mov r1, ip + movs r6, #0x2e + ldrsh r0, [r1, r6] + movs r6, #0x2e + ldrsh r1, [r5, r6] + subs r0, r0, r1 + movs r1, #0 + ldrsb r1, [r3, r1] + adds r0, r0, r1 + movs r1, #0 + ldrsb r1, [r4, r1] + subs r0, r0, r1 + adds r0, r0, r2 + lsls r1, r2, #1 + cmp r0, r1 + bhi _08017848 + ldrb r1, [r3, #7] + ldrb r0, [r4, #7] + adds r2, r1, r0 + mov r1, ip + movs r6, #0x32 + ldrsh r0, [r1, r6] + movs r6, #0x32 + ldrsh r1, [r5, r6] + subs r0, r0, r1 + movs r1, #1 + ldrsb r1, [r3, r1] + adds r0, r0, r1 + movs r1, #1 + ldrsb r1, [r4, r1] + subs r0, r0, r1 + adds r0, r0, r2 + lsls r1, r2, #1 + cmp r0, r1 + bhi _08017848 + mov r0, ip + adds r0, #0x3c + ldrb r1, [r0] + movs r6, #0x10 + adds r0, r6, #0 + ands r0, r1 + movs r2, #5 + cmp r0, #0 + beq _0801781A + ldrb r2, [r3, #8] +_0801781A: + adds r0, r5, #0 + adds r0, #0x3c + ldrb r1, [r0] + adds r0, r6, #0 + ands r0, r1 + cmp r0, #0 + beq _0801782E + ldrb r0, [r4, #8] + adds r2, r2, r0 + b _08017830 +_0801782E: + adds r2, #5 +_08017830: + mov r1, ip + movs r3, #0x36 + ldrsh r0, [r1, r3] + movs r6, #0x36 + ldrsh r1, [r5, r6] + subs r0, r0, r1 + adds r0, r0, r2 + lsls r1, r2, #1 + cmp r0, r1 + bhi _08017848 + movs r0, #1 + b _0801784A +_08017848: + movs r0, #0 +_0801784A: + pop {r4, r5, r6} + pop {r1} + bx r1 + .syntax divided \ No newline at end of file diff --git a/data/data_089FC6C4.s b/data/data_089FC6C4.s index 710d2588..4b69eaea 100644 --- a/data/data_089FC6C4.s +++ b/data/data_089FC6C4.s @@ -4,14 +4,44 @@ .section .rodata .align 2 -gUnk_089FB770:: @ 089FB770 - .incbin "baserom.gba", 0x9FB770, 0x0000010 - -gUnk_089FB780:: @ 089FB780 - .incbin "baserom.gba", 0x9FB780, 0x0000F44 - gUnk_089FC6C4:: @ 089FC6C4 - .incbin "baserom.gba", 0x9FC6C4, 0x0000090 +@ replacing .incbin "baserom.gba", 0x009fc6c4, 0x90 +.4byte ply_fine +.4byte ply_goto +.4byte ply_patt +.4byte ply_pend +.4byte ply_rept +.4byte ply_fine +.4byte ply_fine +.4byte ply_fine +.4byte ply_fine +.4byte ply_prio +.4byte ply_tempo +.4byte ply_keysh +.4byte ply_voice +.4byte ply_vol +.4byte ply_pan +.4byte ply_bend +.4byte ply_bendr +.4byte ply_lfos +.4byte ply_lfodl +.4byte ply_mod +.4byte ply_modt +.4byte ply_fine +.4byte ply_fine +.4byte ply_tune +.4byte ply_fine +.4byte ply_fine +.4byte ply_fine +.4byte ply_port +.4byte ply_fine +.4byte ply_endtie +.4byte SampleFreqSet +.4byte TrackStop +.4byte FadeOutBody +.4byte TrkVolPitSet +.4byte RealClearChain +.4byte SoundMainBTM gUnk_089FC754:: @ 089FC754 .incbin "baserom.gba", 0x9FC754, 0x00000B4 @@ -38,7 +68,19 @@ gUnk_089FC938:: @ 089FC938 .incbin "baserom.gba", 0x9FC938, 0x0000034 gUnk_089FC96C:: @ 089FC96C - .incbin "baserom.gba", 0x9FC96C, 0x0000030 +@ replacing .incbin "baserom.gba", 0x009fc96c, 0x30 +.4byte ply_xxx +.4byte ply_xwave +.4byte ply_xtype +.4byte ply_xxx +.4byte ply_xatta +.4byte ply_xdeca +.4byte ply_xsust +.4byte ply_xrele +.4byte ply_xiecv +.4byte ply_xiecl +.4byte ply_xleng +.4byte ply_xswee gUnk_089FC99C:: @ 089FC99C .incbin "baserom.gba", 0x9FC99C, 0x0000060 diff --git a/data/sprite_table.s b/data/sprite_table.s new file mode 100644 index 00000000..0d54adbb --- /dev/null +++ b/data/sprite_table.s @@ -0,0 +1,11 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + .align 2 + +gUnk_089FB770:: @ 089FB770 + .byte 00, 0x0d, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00 + +gUnk_089FB780:: @ 089FB780 + .incbin "baserom.gba", 0x9FB780, 0x0000F44 diff --git a/include/audio.h b/include/audio.h new file mode 100644 index 00000000..3690de89 --- /dev/null +++ b/include/audio.h @@ -0,0 +1,243 @@ + +typedef enum { + NONE, + BGM_CASTLE_TOURNAMENT, + BGM_VAATI_MOTIF, + BGM_TITLE_SCREEN, + BGM_CASTLE_MOTIF, + BGM_ELEMENT_GET, + BGM_FAIRY_FOUNTAIN, + BGM_FILE_SELECT, + BGM_INTRO_CUTSCENE, + BGM_CREDITS, + BGM_GAMEOVER, + BGM_SAVING_ZELDA, + BGM_LTTP_TITLE, + BGM_VAATI_THEME, + BGM_EZLO_THEME, + BGM_STORY, + BGM_FESTIVAL_APPROACH, + BGM_BEAT_VAATI, + + BGM_BEANSTALK = 0x13, + BGM_HOUSE, + BGM_CUCCO_MINIGAME, + BGM_SYRUP_THEME, + BGM_DUNGEON, + BGM_ELEMENT_THEME, + BGM_HYRULE_FIELD, + BGM_HYRULE_CASTLE, + BGM_HYRULE_CASTLE_NOINTRO, + BGM_MINISH_VILLAGE, + BGM_MINISH_WOODS, + BGM_CRENEL_STORM, + BGM_CASTOR_WILDS, + BGM_HYRULE_TOWN, + BGM_ROYAL_VALLEY, + BGM_CLOUD_TOPS, + BGM_DARK_HYRULE_CASTLE, + BGM_SECRET_CASTLE_ENTRANCE, + BGM_DEEPWOOD_SHRINE, + BGM_CAVE_OF_FLAMES, + BGM_FORTRESS_OF_WINDS, + BGM_TEMPLE_OF_DROPLETS, + BGM_PALACE_OF_WINDS, + BGM_EZLO_STORY, + BGM_ROYAL_CRYPT, + BGM_ELEMENTAL_SANCTUARY, + BGM_FIGHT_THEME, + BGM_BOSS_THEME, + BGM_VAATI_REBORN, + BGM_VAATI_TRANSFIGURED, + BGM_CASTLE_COLLAPSE, + BGM_VAATI_WRATH, + BGM_FIGHT_THEME2, + BGM_DIGGING_CAVE, + BGM_SWIFTBLADE_DOJO, + BGM_MINISH_CAP, + BGM_MT_CRENEL, + BGM_PICORI_FESTIVAL, + BGM_LOST_WOODS, + BGM_FAIRY_FOUNTAIN2, + BGM_WIND_RUINS, + + BGM_LEARN_SCROLL = 0x5E, + BGM_EZLO_GET, + + SFX_BEEP = 0x64, + SFX_TEXTBOX_OPEN, + SFX_TEXTBOX_CLOSE, + SFX_TEXTBOX_NEXT, + SFX_TEXTBOX_SWAP, + SFX_TEXTBOX_CHOICE, + SFX_TEXTBOX_SELECT, + SFX_6B, + SFX_MENU_CANCEL, + SFX_MENU_ERROR, + SFX_RUPEE_BOUNCE, + SFX_RUPEE_GET, + SFX_HEART_BOUNCE, + SFX_HEART_GET, + SFX_SECRET, + SFX_SECRET_BIG, + SFX_METAL_CLINK, + SFX_PLY_VO1, + SFX_PLY_VO2, + SFX_PLY_VO3, + SFX_PLY_VO4, + SFX_PLY_VO5, + SFX_PLY_VO6, + SFX_PLY_VO7, + SFX_PLY_JUMP, + SFX_PLY_LAND, + SFX_7E, + SFX_PLY_LIFT, + SFX_80, + SFX_81, + SFX_82, + SFX_WATER_WALK, + SFX_WATER_SPLASH, + SFX_FALL_HOLE, + SFX_86, + SFX_PLY_DIE, + SFX_88, + SFX_BARREL_RELEASE, + SFX_BARREL_ENTER, + SFX_BARREL_ROLL, + SFX_BARREL_ROLL_STOP, + SFX_VO_EZLO1, + SFX_VO_EZLO2, + SFX_VO_EZLO3, + SFX_VO_EZLO4, + SFX_VO_EZLO5, + SFX_VO_EZLO6, + SFX_VO_EZLO7, + SFX_VO_ZELDA1, + SFX_VO_ZELDA2, + SFX_VO_ZELDA3, + SFX_VO_ZELDA4, + SFX_VO_ZELDA5, + SFX_VO_ZELDA6, + SFX_VO_ZELDA7, + SFX_9B, + SFX_9C, + SFX_9D, + SFX_9E, + SFX_9F, + SFX_A0, + SFX_VO_TINGLE1, + SFX_VO_TINGLE2, + SFX_VO_KING1, + SFX_VO_KING2, + SFX_VO_KING3, + SFX_VO_KING4, + SFX_VO_KING5, + SFX_A8, + SFX_A9, + SFX_AA, + SFX_SPIRITS_RELEASE, + SFX_AC, + SFX_VO_BEEDLE, + SFX_AE, + SFX_AF, + SFX_B0, + SFX_VO_MINISH1, + SFX_VO_MINISH2, + SFX_VO_MINISH3, + SFX_VO_MINISH4, + + SFX_REM_SLEEP = 0xCC, + SFX_TASK_COMPLETE, + SFX_KEY_APPEAR, + SFX_CF, + SFX_D0, + SFX_VO_DOG, + SFX_VO_CAT, + SFX_VO_EPONA, + SFX_VO_COW, + SFX_VO_CUCCO_CALL, + SFX_VO_CHEEP, + SFX_ITEM_SWORD_CHARGE, + SFX_ITEM_SWORD_CHARGE_FINISH, + SFX_D9, + SFX_DA, + SFX_VO_STURGEON, + SFX_HAMMER1, + SFX_HAMMER2, + SFX_HAMMER3, + SFX_HAMMER4, + SFX_HAMMER5, + SFX_HAMMER6, + SFX_CUCCO_MINIGAME_BELL, + SFX_E3, + SFX_E4, + SFX_BUTTON_DEPRESS, + SFX_THUD_HEAVY, + SFX_WIND1, + SFX_WIND2, + SFX_WIND3, + + SFX_SUMMON = 0xF4, + SFX_F5, + SFX_EVAPORATE, + SFX_APPARATE, + SFX_F8, + SFX_TELEPORTER, + + SFX_ITEM_BOMB_EXPLODE = 0xFD, + SFX_HIT, + + SFX_ITEM_SHIELD_BOUNCE = 0x118, + SFX_ITEM_GLOVES_KNOCKBACK, + SFX_EM_ARMOS_ON, + + SFX_EM_MOBLIN_SPEAR = 0x11E, + SFX_LOW_HEALTH, + SFX_CHARGING_UP, + SFX_STAIRS, + + SFX_BOSS_HIT = 0x127, + SFX_BOSS_DIE, + SFX_BOSS_EXPLODE, + + SFX_ITEM_LANTERN_ON = 0x13D, + SFX_ITEM_LANTERN_OFF, + SFX_ITEM_SWORD_BEAM, + SFX_140, + SFX_HEART_CONTAINER_SPAWN, + SFX_SPARKLES, + + SFX_PLY_SHRINKING = 0x16F, + SFX_PLY_GROW, + + SFX_LAVA_TILE_STEP = 0x17B, + SFX_LAVA_TILE_WOBBLE, + SFX_LAVA_TILE_SINK, + SFX_LAVA_TILE_FLIP, + SFX_LAVA_TILE_LAND, + + SFX_STAIRS_ASCEND = 0x187, + SFX_STAIRS_DESCEND, + + SFX_ICE_BLOCK_SLIDE = 0x1B1, + SFX_ICE_BLOCK_STOP, + SFX_ICE_BLOCK_MELT, + + SFX_VO_GORON1 = 0x1B7, + SFX_VO_GORON2, + SFX_VO_GORON3, + SFX_VO_GORON4, + SFX_EM_DEKUSCRUB_HIT, + + SFX_ELEMENT_PLACE = 0x1CD, + SFX_ELEMENT_FLOAT, + SFX_ELEMENT_CHARGE, + SFX_1D0, + SFX_ELEMENT_INFUSE, + + SFX_VO_CUCCO1 = 0x1D6, + SFX_VO_CUCCO2, + SFX_VO_CUCCO3, + SFX_VO_CUCCO4, + SFX_VO_CUCCO5, +} Sound; \ No newline at end of file diff --git a/include/entity.h b/include/entity.h index ad4df8fb..d1593d1d 100644 --- a/include/entity.h +++ b/include/entity.h @@ -19,9 +19,23 @@ typedef struct { } EntityType; typedef struct { - u8 unknown[8]; + s8 offset_x; + s8 offset_y; + u8 unk2[4]; + u8 width; + u8 height; } BoundingBox; +typedef struct { + s8 offset_x; + s8 offset_y; + u8 unknown[4]; + u8 width; + u8 height; + u8 depth; + u8 unknown2[3]; +} BoundingBox3D; + typedef struct Entity { /*0x00*/ struct Entity* prev; /*0x04*/ struct Entity* next; diff --git a/include/functions.h b/include/functions.h index 407641c0..0a50c7d3 100644 --- a/include/functions.h +++ b/include/functions.h @@ -209,7 +209,7 @@ extern u32 sub_0807953C(void); extern void sub_080AE068(Entity*); extern u32 sub_0800445C(Entity*); extern void sub_0807A108(void); -extern void sub_0801766C(Entity*); +extern u32 sub_0801766C(Entity*); extern void sub_08004168(Entity*); extern u32 sub_08052638(u32); extern void InitDMA(void); diff --git a/include/main.h b/include/main.h index 3d60ee25..55e7b341 100644 --- a/include/main.h +++ b/include/main.h @@ -46,7 +46,7 @@ enum { }; typedef struct { - u8 interruptFlag; + vu8 interruptFlag; u8 field_0x1; u8 screen; u8 funcIndex; diff --git a/include/manager.h b/include/manager.h index 7830adc4..a0d8eb1c 100644 --- a/include/manager.h +++ b/include/manager.h @@ -191,4 +191,7 @@ extern void sub_0805DE38(Entity*); extern void sub_0805E0A8(Entity*); extern void sub_0805E0FC(); +void (*const gManagerFunctions[58])(); + + #endif diff --git a/include/npc.h b/include/npc.h index c862b348..024a9a43 100644 --- a/include/npc.h +++ b/include/npc.h @@ -172,4 +172,7 @@ extern void NPC58_Head(Entity*); extern u32 UpdateFuseInteraction(Entity*); + +void (*const gNPCFunctions[128][3])(Entity*); + #endif diff --git a/include/object.h b/include/object.h index d0bdcea8..5480a8a2 100644 --- a/include/object.h +++ b/include/object.h @@ -199,4 +199,6 @@ extern void ObjectBF(Entity*); extern void EnemyItem(Entity*); extern void ObjectC1(Entity*); +void (*const gObjectFunctions[194])(Entity*); + #endif diff --git a/include/player.h b/include/player.h index 0e0c7356..f1f08f6f 100644 --- a/include/player.h +++ b/include/player.h @@ -67,7 +67,8 @@ typedef struct { /*0x94*/ u32 field_0x94; /*0x98*/ u16 field_0x98; /*0x9a*/ u16 field_0x9a; - /*0x9c*/ u32 field_0x9c[3]; + /*0x9c*/ u32 field_0x9c; + /*0xa0*/ u8 field_0xa0[8]; /*0xa8*/ u8 field_0xa8; /*0xa9*/ u8 field_0xa9; /*0xaa*/ u8 field_0xaa; @@ -78,26 +79,26 @@ typedef struct { typedef struct { - u8 walletType; - u8 heartPieces; - u8 health; - u8 maxHealth; - u8 bombCount; - u8 arrowCount; - u8 bombBagType; - u8 quiverType; - u8 filler[4]; - u8 itemOnA; - u8 itemOnB; - u8 filler2[10]; - u16 rupees; - u16 field_0x1a; - u8 field_0x1c; - u8 field_0x1d; - u8 field_0x1e; - u8 field_0x1f; - u16 field_0x20; - u8 filler4[4]; + /*0x00*/ u8 walletType; + /*0x01*/ u8 heartPieces; + /*0x02*/ u8 health; + /*0x03*/ u8 maxHealth; + /*0x04*/ u8 bombCount; + /*0x05*/ u8 arrowCount; + /*0x06*/ u8 bombBagType; + /*0x07*/ u8 quiverType; + /*0x08*/ u8 filler[4]; + /*0x0c*/ u8 itemOnA; + /*0x0d*/ u8 itemOnB; + /*0x0e*/ u8 bottles[4]; + /*0x12*/ u8 floorType; + /*0x13*/ u8 filler3[5]; + /*0x18*/ u16 rupees; + /*0x1a*/ u16 field_0x1a; + /*0x1c*/ u16 field_0x1c; + /*0x1e*/ u16 field_0x1e; + /*0x20*/ u16 field_0x20; + /*0x22*/ u8 filler4[4]; } Stats; typedef struct { @@ -109,6 +110,8 @@ typedef struct { /*0xf*/ u8 field_0xf; } ItemBehavior; +extern void (*const gPlayerItemFunctions[])(Entity*); + extern u8 gBombBagSizes[]; extern u8 gQuiverSizes[]; diff --git a/include/structures.h b/include/structures.h index 60d1a36e..b5d29481 100644 --- a/include/structures.h +++ b/include/structures.h @@ -44,7 +44,7 @@ typedef struct { extern struct_02000010 gUnk_02000010; typedef struct { - u32 frameCount; // regular frame count? does anything reset it? + s32 frameCount; // regular frame count? does anything reset it? u8 field_0x4[0x4]; bool8 transitioningOut; u8 transitionType; // transition when changing areas diff --git a/linker.ld b/linker.ld index 0a354d34..f17fe5e0 100644 --- a/linker.ld +++ b/linker.ld @@ -301,6 +301,7 @@ SECTIONS { /* C source compiled with interworking */ asm/code_08016B30.o(.text); asm/updateBackgroundRegisters.o(.text); + src/code_08016DF8.o(.text); asm/code_08016DF8.o(.text); /* C source compiled without interworking */ asm/code_08018500.o(.text); @@ -1030,6 +1031,7 @@ SECTIONS { src/intro.o(.rodata); data/data_081320FC.o(.rodata); data/strings.o(.rodata); + data/sprite_table.o(.rodata); data/data_089FC6C4.o(.rodata); } >rom diff --git a/src/arm_proxy.c b/src/arm_proxy.c new file mode 100644 index 00000000..80a59a42 --- /dev/null +++ b/src/arm_proxy.c @@ -0,0 +1,547 @@ +#include "global.h" +#include "audio.h" +#include "main.h" +#include "player.h" +#include "structures.h" +#include "save.h" +#include "textbox.h" +#include "functions.h" +#include "object.h" +#include "manager.h" +#include "npc.h" + +extern u8 gUnk_03003DE0; +extern u8 gUnk_03000C30; + +extern u16* gUnk_02025EB0; +extern u16* gUnk_0200B650; +extern u8 gUnk_02000070; +extern u8 gUnk_03003DF0[]; +extern u8 gUnk_03003BE0; +extern Entity* gUnk_03004040[3]; +extern u8 gUnk_020342F8; +extern u8 gUnk_03003DB8; +extern void gUnk_030059F0(void); + +extern void sub_080ADD70(); +extern void sub_0801C25C(); +extern void sub_08016C3C(); +extern void sub_08016DF8(); +extern void sub_0804FF98(); +extern u32 sub_0805E3B0(); +extern void sub_08016FF4(); +extern void sub_08070680(); +extern void sub_080171F0(); +extern void sub_08078FB0(); +extern void sub_0800404C(); +extern void sub_0807A050(); +extern u32 sub_08079B24(); +extern void sub_08079708(); +extern void CreateSparkle(); +extern void sub_080028E0(Entity*); +extern void sub_08078180(void); +extern void sub_0807B0C8(void); +extern void sub_0807A8D8(Entity*); +extern void sub_08077FEC(u32); +extern void sub_080173A4(Entity*); +extern void sub_080A2838(Entity*); +extern u32 ReadBit(void*, u32); +extern void sub_0806EC78(Entity*); + +typedef struct { + u8 unk0; + u8 unk1; + u8 unk2; + u8 unk3; + u8 unk4; + u8 unk5; + u16 unk6; +} ItemFrame; +extern ItemFrame gUnk_08126DA8[]; +extern ItemFrame* gUnk_08126ED8[3]; + +typedef struct { + u16 unk0; + u16 unk1; + u16 x; + u16 y; +} NPCStruct; +extern NPCStruct gUnk_02031EC0[100]; + +typedef struct { + u8 unk0; + u8 unk1; + u8 unk2; + u8 unk3; + u8 freezeTime; + u8 unk9; +} EntityHandler; + +extern EntityHandler gUnk_03003DC0; + +typedef struct { + void* last; + void* first; + void* node; + u8 flags; +} LinkedList2; + +extern LinkedList2 gUnk_03003C70[16]; +extern LinkedList2* gUnk_02018EA0; + +void sub_08016DF8(void) { + if (gUnk_03003DE0 != 0) { + u8* buf = &gUnk_03000C30; + s32 i = gUnk_03003DE0; + gUnk_03003DE0 = 0; + do { + switch (*buf) { + case 0: + DmaCopy32(3, *(u32*)(buf + 4), *(u32*)(buf + 8), *(u16*)(buf + 2)); + break; + case 1: + LZ77UnCompVram(*(void**)(buf + 4), *(u8**)(buf + 8)); + break; + case 2: + DmaFill32(3, *(u32*)(buf + 4), *(u32*)(buf + 8), *(u16*)(buf + 2)); + break; + } + buf += 12; + i--; + } while (0 < i); + } +} + +void sub_08016E78(void) { + gUnk_03001000.interruptFlag = 0; + VBlankIntrWait(); + do { + } while (gUnk_03001000.interruptFlag == 0); + + sub_080ADD70(); + sub_0801C25C(); + sub_08016C3C(); + sub_08016DF8(); + + if (gUnk_02000070) { + gUnk_02000070 = 0; + if (gUnk_02025EB0 != NULL) { + // sizeof(BGBuffer) = 0x800, what are we omitting? + DmaCopy32(3, &gBG1Buffer, VRAM + (*gUnk_02025EB0 & 0x1f00) * 8, 0x5C0); + } + if (gUnk_0200B650 != NULL) { + DmaCopy32(3, &gBG2Buffer, VRAM + (*gUnk_0200B650 & 0x1f00) * 8, 0x5C0); + } + } + sub_0804FF98(); +} + +void sub_08016F28(Entity* this) { + if (gSave.stats.floorType != 0) + gPlayerState.flags.all |= 0x4000; + else + gPlayerState.flags.all &= ~0x4000; + + if (sub_0805E3B0(this) == 0) { + if ((gPlayerState.flags.all & 0x80000) != 0) { + sub_08077B20(); + if ((gPlayerState.flags.all & 0x200000) != 0) { + gPlayerState.playerAction = 0x18; + gPlayerState.flags.all &= 0xfff7ffff; + gPlayerState.hurtBlinkSpeed = 0xf0; + this->flags |= 0x80; + } else { + this->flags &= 0x7f; + gPlayerState.field_0xa8 = 0xf; + } + } + sub_08016FF4(this); + sub_08070680(this); + if ((this->height.WORD == 0) && (this->action == 1 || this->action == 9)) { + sub_08008790(this, 8); + } + sub_080171F0(); + } + sub_08078FB0(this); + sub_0800404C(this); + sub_0807A050(); +} + +void sub_08016FF4(Entity* this) { + u32 temp; + + gUnk_0200AF00.filler25[10] = 0; + gUnk_0200AF00.filler25[8] = 0; + gUnk_0200AF00.filler25[9] = 0; + + if ((gPlayerEntity.bitfield & 0x80) && (gPlayerEntity.hurtBlinkTime > 0)) + PlaySFX(SFX_86); + + gPlayerState.flags.all &= ~(0x2000000 | 0x200); + if (gPlayerState.flags.all & 0x400) + ResetPlayer(); + if ((gPlayerState.flags.all & 0x400000) && !gPlayerState.field_0xa0[0]) + sub_0807A108(); + if (sub_08079B24() == 0) + sub_08079708(this); + + gUnk_03003DF0[0] = 0; + if (gPlayerState.field_0x27[0] != 0) + gPlayerState.field_0x27[0]--; + + gPlayerState.field_0xa9 = gPlayerState.field_0xa8; + gPlayerState.field_0xa8 = 0; + if (gPlayerState.field_0x40[0x4a] != 0) { + gPlayerState.field_0x40[0x4a]--; + return; + } + + if ((gPlayerState.field_0x8b != 0) || (gTextBox.doTextBox & 0x7f)) + return; + + gRoomVars.unk2 = gTextBox.doTextBox & 0x7f; + temp = gSave.stats.maxHealth / 4; + if (temp > 24) + temp = 24; + if (temp < 8) + temp = 8; + + if (gSave.stats.health <= temp) { + gRoomVars.unk2 = 1; + if ((gUnk_0200AF00.filler0[1] == 0) && gScreenTransition.frameCount % 90 == 0) { + EnqueueSFX(SFX_LOW_HEALTH); + } + } + + if (gSave.stats.filler[2] == 0) { + gSave.stats.field_0x1c = 0; + } else if ((gSave.stats.field_0x1c == 0) || --gSave.stats.field_0x1c == 0) { + gSave.stats.filler[2] = 0; + PlaySFX(SFX_ICE_BLOCK_MELT); + } + + if (gSave.stats.filler[3] == 0) { + gSave.stats.field_0x1e = 0; + } else if ((gSave.stats.field_0x1e == 0) || (--gSave.stats.field_0x1e == 0)) { + gSave.stats.filler[3] = 0; + PlaySFX(SFX_140); + } else if ((gSave.stats.field_0x1e & 0xf) == 0) { + CreateSparkle(this); + } + + if (gSave.stats.floorType == 0) { + gSave.stats.field_0x20 = 0; + } else if ((gSave.stats.field_0x20 == 0) || --gSave.stats.field_0x20 == 0) { + gSave.stats.floorType = 0; + } else if ((gSave.stats.field_0x20 & 0x3f) == 0) { + // lava or water splash FX + CreateFx(this, 0x55 + gSave.stats.floorType, 0); + } +} + +void sub_080171F0(void) { + if (gPlayerState.field_0x1a[0] != 0) + ResetPlayer(); + if (gPlayerState.field_0x14 != 0) + gPlayerState.field_0x14--; + if (gPlayerEntity.field_0x7a.HWORD != 0) + gPlayerEntity.field_0x7a.HWORD--; + + gPlayerEntity.bitfield &= ~0x80; + if (gPlayerEntity.action != 0x14) + gPlayerState.flags.all = (gPlayerState.flags.all & ~0x10000) | (0x8000 * (gPlayerState.flags.all & 2)); + + gPlayerState.flags.all &= ~2; + sub_080028E0(&gPlayerEntity); + + if (gPlayerState.flags.all & 0x400000) + gUnk_0200AF00.filler25[10] = 1; + + sub_08078180(); + gPlayerState.field_0x7 &= ~0x80; + gPlayerState.field_0xa &= 0xf; + gPlayerState.keepFacing &= ~0x80; + gPlayerState.field_0x1a[0] = 0; + gPlayerState.field_0x80 = 0; + gPlayerState.field_0xaa = 0; + _DmaZero(&gUnk_03003BE0, 0x8c); + gPlayerEntity.spriteOffsetY = gPlayerState.field_0x3f; + gPlayerState.field_0x3f = 0; + sub_0807B0C8(); + + if (gPlayerState.flags.all & 0x400000) + gUnk_03004040[0]->spriteOffsetY = gUnk_03004040[1]->spriteOffsetY = gUnk_03004040[2]->spriteOffsetY = 0; + + if (gPlayerEntity.action == 0x1d) + gPlayerState.flags.all |= 0x20000000; + else + gPlayerState.flags.all &= ~0x20000000; + + sub_0807A8D8(&gPlayerEntity); + if (gPlayerState.jumpStatus & 0xc0) + gPlayerEntity.hurtBlinkTime = 0xfe; + + if (gPlayerEntity.action != 0x17) { + sub_08077FEC(gPlayerEntity.action); + } +} + +void sub_08017338(Entity *this) { + if (!(this->flags & 1) && !this->action && !this->previousActionFlag) + sub_080173A4(this); + + if (!sub_0805E3B0(this)) { + gPlayerItemFunctions[this->entityType.subtype](this); + this->bitfield &= ~0x80; + if (this->hurtBlinkTime != 0) { + if (this->hurtBlinkTime > 0) + this->hurtBlinkTime--; + else + this->hurtBlinkTime++; + } + } + sub_0800404C(this); +} + +// tiny regalloc +NONMATCH("asm/non_matching/sub_080173A4.inc", void sub_080173A4(Entity* this)) { + ItemFrame* entry; + + entry = &gUnk_08126DA8[this->entityType.subtype]; + if (entry->unk0 == 0xff) { + u32 temp = entry->unk2; + ItemFrame* temp2 = gUnk_08126ED8[entry->unk1]; + entry = &temp2[this->field_0x68.HALF.LO - temp]; + } + + this->palette.raw = ((entry->unk0 & 0xf) << 4) | entry->unk0; + this->field_0x44 = entry->unk1; + this->field_0x40 = entry->unk3; + this->damageType = entry->unk4; + this->spriteIndex = entry->unk5; + if (entry->unk6 == 0) + this->spriteVramOffset = gPlayerEntity.spriteVramOffset; + else + this->spriteVramOffset = entry->unk6 & 0x3ff; + + if (this->animationState == 0) + this->animationState = gPlayerEntity.animationState & 6; + + this->collisionLayer = gPlayerEntity.collisionLayer; + this->spriteRendering.b3 = gPlayerEntity.spriteRendering.b3; + this->spritePriority.b0 = gPlayerEntity.spritePriority.b0; + this->spriteOrientation.flipY = gPlayerEntity.spriteOrientation.flipY; + this->currentHealth = 1; + this->flags |= 1; +} +END_NONMATCH + +void sub_080174A4(Entity* this) { + int iVar1; + + if (((this->flags & 1) == 0) && (this->action == 0)) { + sub_080A2838(this); + } + if (this->hurtBlinkTime != 0) { + this->hurtBlinkTime++; + } + if (!sub_0805E3B0(this)) { + gObjectFunctions[this->entityType.subtype](this); + this->bitfield &= ~0x80; + } + sub_0800404C(this); +} + +void sub_08017508(Entity* this) { + if (!sub_0805E3B0(this)) + gManagerFunctions[this->entityType.subtype](this); +} + +// regalloc +NONMATCH("asm/non_matching/sub_08017530.inc", void sub_08017530(Entity* this)) { + if ((this->currentHealth & 0x7f) && + !ReadBit(&gUnk_020342F8, this->currentHealth - 1)) { + DeleteThisEntity(); + } + if ((this->action == 0) && ((this->flags & 1) == 0)) { + sub_0806EC78(this); + } + if (!sub_0805E3B0(this)) { + gNPCFunctions[this->entityType.subtype][0](this); + } + if (this->next != NULL) { + if (gNPCFunctions[this->entityType.subtype][1] != NULL) { + gNPCFunctions[this->entityType.subtype][1](this); + } + if ((this->currentHealth & 0x7f) != 0) { + u32 temp = this->currentHealth & 0x7f; + gUnk_02031EC0[temp * 2 - 2].x = this->x.HALF.HI - gRoomControls.roomOriginX; + gUnk_02031EC0[temp * 2 - 2].y = this->y.HALF.HI - gRoomControls.roomOriginY; + } + sub_0800404C(this); + } +} +END_NONMATCH + +void sub_080175E8(void) { + gUnk_03003DB8 = 0; +} + +void sub_080175F4(void) { + u32 flags; + u32 temp; + + void (*func)(void); + + temp = gUnk_03003DC0.unk0; + if (gUnk_03003DC0.unk0 <= gUnk_03003DC0.unk1) + temp = gUnk_03003DC0.unk1; + if (temp != 0) + return; + + func = &gUnk_030059F0; + if (gPlayerState.field_0x8b != 0) { + u32 temp = gPlayerEntity.flags; + gPlayerEntity.flags &= 0x7f; + func(); + gPlayerEntity.flags = temp; + } else { + func(); + } +} + +void sub_08017640(void) { + _DmaZero(&gUnk_03003C70,0x100); + gUnk_02018EA0 = (LinkedList2*)&gUnk_03003C70[0].last; + gUnk_03003C70[0].last = &gUnk_03003C70[0].last; + gUnk_03003C70[0].first = &gUnk_03003C70[0].last; + gUnk_03003C70[0].node = &gPlayerEntity; +} + +// Loop declaration seems wrong +NONMATCH("asm/non_matching/sub_0801766C.inc", u32 sub_0801766C(Entity* this)) { + u32 uVar1; + LinkedList2* puVar3; + LinkedList2* puVar2; + LinkedList2* pLVar2; + LinkedList2* i; + u8* pbVar4; + + if (this->spritePriority.b2 != 0) { + return 1; + } else { + for (i = &gUnk_03003C70[0]; i < &gUnk_03003C70[16]; ++i) { + if (i->node == NULL) { + i->node = this; + i->flags = 0; + this->spritePriority.b2 = 1; + pLVar2 = gUnk_02018EA0; + if (gUnk_02018EA0->flags != 0) { + do { + pLVar2 = pLVar2->first; + } while (pLVar2->flags != 0); + i->first = pLVar2; + puVar3 = pLVar2->last; + i->last = puVar3; + puVar3->first = i; + pLVar2->last = i; + } else { + i->first = gUnk_02018EA0; + puVar2 = gUnk_02018EA0->last; + i->last = puVar2; + puVar2->first = i; + gUnk_02018EA0->last = i; + gUnk_02018EA0 = i; + } + return 1; + } + } + return 0; + } +} +END_NONMATCH + +// same loop issue +NONMATCH("asm/non_matching/sub_080176E4.inc", u32 sub_080176E4(Entity* this)) { + u32 uVar1; + LinkedList2* j; + LinkedList2* i; + u8* pbVar4; + + if (this->spritePriority.b2 != 0) { + return 1; + } else { + for (i = &gUnk_03003C70[0]; i < &gUnk_03003C70[16]; ++i) { + if (i->node == NULL) { + i->node = this; + i->flags = 1; + this->spritePriority.b2 = 1; + i->first = gUnk_02018EA0; + j = gUnk_02018EA0->last; + i->last = j; + j->first = i; + gUnk_02018EA0->last = i; + gUnk_02018EA0 = i; + return 1; + } + } + return 0; + } +} +END_NONMATCH + +// you guessed it +NONMATCH("asm/non_matching/sub_08016DF8.inc", void sub_08017744(Entity* this)) { + LinkedList2* i; + for (i = &gUnk_03003C70[0]; i < &gUnk_03003C70[16]; ++i) { + if (i->node == this) { + if (this->spritePriority.b2 != 0) { + this->spritePriority.b2 = 0; + i->node = NULL; + ((LinkedList2*)i->last)->first = i->first; + ((LinkedList2*)i->first)->last = i->last; + if (i != gUnk_02018EA0) + return; + gUnk_02018EA0 = i->first; + } + } + } +} +END_NONMATCH + +// regalloc +NONMATCH("asm/non_matching/sub_080177A0.inc", bool32 sub_080177A0(Entity* this, Entity* that)) { + u32 this_d; + u32 depth; + + if ((that->collisionLayer & this->collisionLayer) != 0) { + BoundingBox* bb_this = this->boundingBox; + BoundingBox* bb_that = that->boundingBox; + u32 this_w = bb_this->width; + u32 that_w = bb_that->width; + if ((((this->x.HALF.HI - that->x.HALF.HI) + bb_this->offset_x) - bb_that->offset_x) + this_w + that_w <= (this_w + that_w) * 2) { + u32 this_h = bb_this->height; + u32 that_h = bb_that->height; + if ((((this->y.HALF.HI - that->y.HALF.HI) + bb_this->offset_y) - bb_that->offset_y) + this_h + that_h <= (this_h + that_h) * 2) { + if ((this->field_0x3c & 0x10) != 0) + this_d = ((BoundingBox3D*)bb_this)->depth; + else + this_d = 5; + if ((that->field_0x3c & 0x10) != 0) + depth = this_d + ((BoundingBox3D*)bb_that)->depth; + else + depth = this_d + 5; + if ((this->height.HALF.HI - that->height.HALF.HI) + depth <= depth * 2) + return TRUE; + } + } + } + return FALSE; +} +END_NONMATCH + +bool32 sub_08017850(Entity* this) { + if (sub_08079F8C()) + return sub_080177A0(this, &gPlayerEntity); + return FALSE; +} diff --git a/src/code_0805436C.c b/src/code_0805436C.c index 06e1183b..41ef9ad2 100644 --- a/src/code_0805436C.c +++ b/src/code_0805436C.c @@ -82,19 +82,19 @@ u32 SetBottleContents(u32 itemID, u32 bottleIndex) { if (bottleIndex > 3) { bottleIndex = 0; - if (gSave.stats.filler2[0] != 0x20) { + if (gSave.stats.bottles[0] != 0x20) { do { bottleIndex++; if (bottleIndex > 3) { return bottleIndex; } - } while (gSave.stats.filler2[bottleIndex] != 0x20); + } while (gSave.stats.bottles[bottleIndex] != 0x20); } if (bottleIndex > 3) { return bottleIndex; } } - gSave.stats.filler2[bottleIndex] = itemID; + gSave.stats.bottles[bottleIndex] = itemID; return bottleIndex; } @@ -134,13 +134,13 @@ u32 sub_080544C8(u32 arg0) { } u32 sub_080544DC(u32 arg0) { - if (arg0 == gSave.stats.filler2[0]) { + if (arg0 == gSave.stats.bottles[0]) { return 1; - } else if (arg0 == gSave.stats.filler2[1]) { + } else if (arg0 == gSave.stats.bottles[1]) { return 2; - } else if (arg0 == gSave.stats.filler2[2]) { + } else if (arg0 == gSave.stats.bottles[2]) { return 3; - } else if (arg0 == gSave.stats.filler2[3]) { + } else if (arg0 == gSave.stats.bottles[3]) { return 4; } else { return 0; diff --git a/src/code_0805EC04.c b/src/code_0805EC04.c index 3033de51..1981f507 100644 --- a/src/code_0805EC04.c +++ b/src/code_0805EC04.c @@ -101,7 +101,7 @@ void sub_0805ECEC(int param_1, u32 param_2, u32 param_3, u32 param_4) { } void sub_0805ED14(u32 param_1) { - gPlayerState.field_0x9c[0] = param_1; + gPlayerState.field_0x9c = param_1; gPlayerState.field_0x98 = 0; gPlayerState.field_0x9a = 0; } \ No newline at end of file diff --git a/src/enemy/doorMimic.c b/src/enemy/doorMimic.c index 069c205b..969868d0 100644 --- a/src/enemy/doorMimic.c +++ b/src/enemy/doorMimic.c @@ -185,16 +185,16 @@ const u16 gUnk_080CB79C[] = { }; -const BoundingBox gUnk_080CB7A4 = { 0x00, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x08, 0x06 }; -const BoundingBox gUnk_080CB7AC = { 0x00, 0xfb, 0x00, 0x00, 0x00, 0x00, 0x06, 0x04 }; -const BoundingBox gUnk_080CB7B4 = { 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x06, 0x04 }; +const BoundingBox gUnk_080CB7A4 = { 0x00, -9, 0x00, 0x00, 0x00, 0x00, 0x08, 0x06 }; +const BoundingBox gUnk_080CB7AC = { 0x00, -5, 0x00, 0x00, 0x00, 0x00, 0x06, 0x04 }; +const BoundingBox gUnk_080CB7B4 = { 0x00, -1, 0x00, 0x00, 0x00, 0x00, 0x06, 0x04 }; const BoundingBox gUnk_080CB7BC = { 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x06, 0x08 }; const BoundingBox gUnk_080CB7C4 = { 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0c }; const BoundingBox gUnk_080CB7CC = { 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08 }; const BoundingBox gUnk_080CB7D4 = { 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x08, 0x04 }; const BoundingBox gUnk_080CB7DC = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x04 }; -const BoundingBox gUnk_080CB7E4 = { 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08 }; -const BoundingBox gUnk_080CB7EC = { 0x00, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0c }; +const BoundingBox gUnk_080CB7E4 = { 0x00, -8, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08 }; +const BoundingBox gUnk_080CB7EC = { 0x00, -12, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0c }; const BoundingBox *const gUnk_080CB7F4[] = { &gUnk_080CB7A4, @@ -214,10 +214,10 @@ const BoundingBox *const gUnk_080CB7F4[] = { const BoundingBox gUnk_080CB824 = { 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08 }; const BoundingBox gUnk_080CB82C = { 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x08 }; const BoundingBox gUnk_080CB834 = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x08 }; -const BoundingBox gUnk_080CB83C = { 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08 }; -const BoundingBox gUnk_080CB844 = { 0xf4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x08 }; -const BoundingBox gUnk_080CB84C = { 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08 }; -const BoundingBox gUnk_080CB854 = { 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x08 }; +const BoundingBox gUnk_080CB83C = { -8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08 }; +const BoundingBox gUnk_080CB844 = { -12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x08 }; +const BoundingBox gUnk_080CB84C = { -8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08 }; +const BoundingBox gUnk_080CB854 = { -4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x08 }; const BoundingBox gUnk_080CB85C = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x08 }; const BoundingBox gUnk_080CB864 = { 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08 }; const BoundingBox gUnk_080CB86C = { 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x08 }; diff --git a/src/enemy/helmasaur.c b/src/enemy/helmasaur.c index 5dd4c27d..a9a4cda1 100644 --- a/src/enemy/helmasaur.c +++ b/src/enemy/helmasaur.c @@ -305,8 +305,8 @@ void sub_0802C058(Entity* this, u32 param_2) { } bool32 sub_0802C06C(Entity* this) { - u32 x = this->x.HALF.HI + (s8)this->boundingBox->unknown[0]; - u32 y = this->y.HALF.HI + (s8)this->boundingBox->unknown[1]; + u32 x = this->x.HALF.HI + this->boundingBox->offset_x; + u32 y = this->y.HALF.HI + this->boundingBox->offset_y; u32 xdiff = gUnk_080CD45C[(this->direction >> 2) + 0]; u32 ydiff = gUnk_080CD45C[(this->direction >> 2) + 1]; @@ -330,8 +330,8 @@ bool32 sub_0802C0E8(Entity* this) { return TRUE; } else { const s8* ptr = &gUnk_080CD45C[this->direction >> 2]; - s32 x = this->x.HALF.HI + (s8)this->boundingBox->unknown[0] + ptr[0] * 6; - s32 y = this->y.HALF.HI + (s8)this->boundingBox->unknown[1] + ptr[1] * 6; + s32 x = this->x.HALF.HI + this->boundingBox->offset_x + ptr[0] * 6; + s32 y = this->y.HALF.HI + this->boundingBox->offset_y + ptr[1] * 6; Entity* ent = this->collisionLayer == 2 ? &gUnk_0200D654 : &gUnk_02027EB4; u32 ret = FALSE; diff --git a/src/enemy/spearMoblin.c b/src/enemy/spearMoblin.c index ad669ed9..1a87c131 100644 --- a/src/enemy/spearMoblin.c +++ b/src/enemy/spearMoblin.c @@ -203,10 +203,10 @@ void sub_08028528(Entity* this) { } else { sub_080288C0(this); box = gUnk_080CC944[this->animationState >> 1]; - this->boundingBox->unknown[0] = box->unknown[0]; - this->boundingBox->unknown[1] = box->unknown[1]; - this->boundingBox->unknown[6] = box->unknown[6]; - this->boundingBox->unknown[7] = box->unknown[7]; + this->boundingBox->offset_x = box->offset_x; + this->boundingBox->offset_y = box->offset_y; + this->boundingBox->width = box->width; + this->boundingBox->height = box->height; if (this->field_0x7a.HALF.LO != 0) { this->field_0x7a.HALF.LO = 0; @@ -365,10 +365,10 @@ void sub_08028858(Entity* this) { sub_080288C0(this); box = gUnk_080CC944[this->animationState >> 1]; - this->boundingBox->unknown[0] = box->unknown[0]; - this->boundingBox->unknown[1] = box->unknown[1]; - this->boundingBox->unknown[6] = box->unknown[6]; - this->boundingBox->unknown[7] = box->unknown[7]; + this->boundingBox->offset_x = box->offset_x; + this->boundingBox->offset_y = box->offset_y; + this->boundingBox->width = box->width; + this->boundingBox->height = box->height; if (this->field_0x82.HALF.LO == 0) { this->nonPlanarMovement = 0; diff --git a/src/enemy/wisp.c b/src/enemy/wisp.c index f9e7738d..5ef5e685 100644 --- a/src/enemy/wisp.c +++ b/src/enemy/wisp.c @@ -36,7 +36,7 @@ void sub_08033564(Entity* this) { this->flags &= 0x7f; this->field_0x7c.HALF.LO = 0x27c; gPlayerState.flags.all |= 0x4000; - gSave.stats.filler2[4] = this->entityType.form + 1; + gSave.stats.floorType = this->entityType.form + 1; gSave.stats.field_0x20 = 600; if (this->entityType.form == 0) { break; diff --git a/src/item11.c b/src/item11.c index b77eae9b..d83333f0 100644 --- a/src/item11.c +++ b/src/item11.c @@ -5,7 +5,7 @@ extern void DeleteThisEntity(); extern void sub_08078CD0(Entity*); extern void sub_08018FA0(Entity*); -extern void sub_0801766C(Entity*); +extern u32 sub_0801766C(Entity*); extern void sub_08018F6C(Entity*); extern void (*const gUnk_080B3DD0[])(Entity*); diff --git a/src/object/mineralWaterSource.c b/src/object/mineralWaterSource.c index b19046f0..5cffc20a 100644 --- a/src/object/mineralWaterSource.c +++ b/src/object/mineralWaterSource.c @@ -30,8 +30,8 @@ void MineralWaterSource_Init(Entity* this) { this->entityType.parameter = unknownParameters->field_0x00; this->field_0x40 = unknownParameters->field_0x03; - this->boundingBox->unknown[6] = unknownParameters->field_0x01; - this->boundingBox->unknown[7] = unknownParameters->field_0x02; + this->boundingBox->width = unknownParameters->field_0x01; + this->boundingBox->height = unknownParameters->field_0x02; this->flags |= 0x80; diff --git a/src/object/object49.c b/src/object/object49.c index a31149ca..b2818152 100644 --- a/src/object/object49.c +++ b/src/object/object49.c @@ -234,10 +234,10 @@ void sub_0808F498(Entity* this) { this->action = 1; this->actionDelay = 64; var0 = this->entityType.parameter != 0 ? 44 : 43; - this->x.HALF.HI -= this->parent->boundingBox->unknown[6]; - this->x.HALF.HI += (s32)Random() % (this->parent->boundingBox->unknown[6] * 2); - this->y.HALF.HI -= this->parent->boundingBox->unknown[7]; - this->y.HALF.HI += (s32)Random() % (this->parent->boundingBox->unknown[7] * 2); + this->x.HALF.HI -= this->parent->boundingBox->width; + this->x.HALF.HI += (s32)Random() % (this->parent->boundingBox->width * 2); + this->y.HALF.HI -= this->parent->boundingBox->height; + this->y.HALF.HI += (s32)Random() % (this->parent->boundingBox->height * 2); sub_0801D2B4(this, var0); InitializeAnimation(this, 4); } diff --git a/src/room.c b/src/room.c index b9f41f5c..d306eb6b 100644 --- a/src/room.c +++ b/src/room.c @@ -5236,7 +5236,7 @@ void sub_0804EEBC(void) { LoadRoomEntityList(&gUnk_080F5848); } } - if (gSave.stats.filler2[5] == 0) { + if (gSave.stats.filler3[0] == 0) { LoadRoomEntityList(&gUnk_080F5788); } } From 8f1d3a753c206a185d3ec222989e13049da6d262 Mon Sep 17 00:00:00 2001 From: theo3 Date: Fri, 19 Feb 2021 01:14:12 -0800 Subject: [PATCH 097/101] build fix --- Makefile | 2 +- linker.ld | 2 +- src/arm_proxy.c | 12 ++++++------ 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Makefile b/Makefile index f4a8d93b..f243bea8 100644 --- a/Makefile +++ b/Makefile @@ -83,7 +83,7 @@ NODEP := 1 endif #$(C_BUILDDIR)/need_interworking_file_name.o: CFLAGS += -mthumb-interwork -$(C_BUILDDIR)/code_08016DF8.o: CFLAGS += -mthumb-interwork +$(C_BUILDDIR)/arm_proxy.o: CFLAGS += -mthumb-interwork C_SRCS := $(wildcard $(C_SUBDIR)/*.c $(C_SUBDIR)/*/*.c) C_OBJS := $(patsubst $(C_SUBDIR)/%.c,$(C_BUILDDIR)/%.o,$(C_SRCS)) diff --git a/linker.ld b/linker.ld index f17fe5e0..cbb86757 100644 --- a/linker.ld +++ b/linker.ld @@ -301,7 +301,7 @@ SECTIONS { /* C source compiled with interworking */ asm/code_08016B30.o(.text); asm/updateBackgroundRegisters.o(.text); - src/code_08016DF8.o(.text); + src/arm_proxy.o(.text); asm/code_08016DF8.o(.text); /* C source compiled without interworking */ asm/code_08018500.o(.text); diff --git a/src/arm_proxy.c b/src/arm_proxy.c index 80a59a42..aebfa3f2 100644 --- a/src/arm_proxy.c +++ b/src/arm_proxy.c @@ -304,7 +304,7 @@ void sub_08017338(Entity *this) { } // tiny regalloc -NONMATCH("asm/non_matching/sub_080173A4.inc", void sub_080173A4(Entity* this)) { +NONMATCH("asm/non_matching/arm_proxy/sub_080173A4.inc", void sub_080173A4(Entity* this)) { ItemFrame* entry; entry = &gUnk_08126DA8[this->entityType.subtype]; @@ -358,7 +358,7 @@ void sub_08017508(Entity* this) { } // regalloc -NONMATCH("asm/non_matching/sub_08017530.inc", void sub_08017530(Entity* this)) { +NONMATCH("asm/non_matching/arm_proxy/sub_08017530.inc", void sub_08017530(Entity* this)) { if ((this->currentHealth & 0x7f) && !ReadBit(&gUnk_020342F8, this->currentHealth - 1)) { DeleteThisEntity(); @@ -419,7 +419,7 @@ void sub_08017640(void) { } // Loop declaration seems wrong -NONMATCH("asm/non_matching/sub_0801766C.inc", u32 sub_0801766C(Entity* this)) { +NONMATCH("asm/non_matching/arm_proxy/sub_0801766C.inc", u32 sub_0801766C(Entity* this)) { u32 uVar1; LinkedList2* puVar3; LinkedList2* puVar2; @@ -462,7 +462,7 @@ NONMATCH("asm/non_matching/sub_0801766C.inc", u32 sub_0801766C(Entity* this)) { END_NONMATCH // same loop issue -NONMATCH("asm/non_matching/sub_080176E4.inc", u32 sub_080176E4(Entity* this)) { +NONMATCH("asm/non_matching/arm_proxy/sub_080176E4.inc", u32 sub_080176E4(Entity* this)) { u32 uVar1; LinkedList2* j; LinkedList2* i; @@ -491,7 +491,7 @@ NONMATCH("asm/non_matching/sub_080176E4.inc", u32 sub_080176E4(Entity* this)) { END_NONMATCH // you guessed it -NONMATCH("asm/non_matching/sub_08016DF8.inc", void sub_08017744(Entity* this)) { +NONMATCH("asm/non_matching/arm_proxy/sub_08016DF8.inc", void sub_08017744(Entity* this)) { LinkedList2* i; for (i = &gUnk_03003C70[0]; i < &gUnk_03003C70[16]; ++i) { if (i->node == this) { @@ -510,7 +510,7 @@ NONMATCH("asm/non_matching/sub_08016DF8.inc", void sub_08017744(Entity* this)) { END_NONMATCH // regalloc -NONMATCH("asm/non_matching/sub_080177A0.inc", bool32 sub_080177A0(Entity* this, Entity* that)) { +NONMATCH("asm/non_matching/arm_proxy/sub_080177A0.inc", bool32 sub_080177A0(Entity* this, Entity* that)) { u32 this_d; u32 depth; From b2a06931667217640c1df4ff71e41d4d065c66a2 Mon Sep 17 00:00:00 2001 From: Henny022p Date: Fri, 19 Feb 2021 10:33:19 +0100 Subject: [PATCH 098/101] moved script related functions from functions.h to script.h --- include/functions.h | 4 ---- include/script.h | 3 +++ src/npc/beedle.c | 1 + src/npc/bigGoron.c | 1 + src/npc/bladeBrothers.c | 3 ++- src/npc/festari.c | 3 ++- src/npc/forestMinish.c | 1 + src/npc/goron.c | 3 ++- src/npc/goronMerchant.c | 3 ++- src/npc/librari.c | 3 ++- src/npc/malon.c | 3 ++- src/npc/mayorHagen.c | 1 + src/npc/melari.c | 1 + src/npc/mutoh.c | 1 + src/npc/percy.c | 1 + src/npc/rem.c | 1 + src/npc/simon.c | 1 + src/npc/smith.c | 1 + src/npc/stamp.c | 1 + src/npc/talon.c | 1 + src/npc/teachers.c | 1 + src/npc/townMinish.c | 1 + src/npc/townsperson.c | 1 + src/npc/windTribespeople.c | 1 + src/npc/zelda.c | 1 + src/object/houseDoorExterior.c | 1 + src/object/windcrest.c | 1 + 27 files changed, 34 insertions(+), 10 deletions(-) diff --git a/include/functions.h b/include/functions.h index 7015294b..f2ced8b0 100644 --- a/include/functions.h +++ b/include/functions.h @@ -9,7 +9,6 @@ #include "player.h" #include "structures.h" #include "room.h" -#include "script.h" // Identified - to be sorted into header files extern u32 Random(void); @@ -24,7 +23,6 @@ extern u32 CheckKinstoneFused(u32); extern void ForceEquipItem(u8, u8); extern void LoadRoomEntityList(); void CopyPosition(Entity*, Entity*); -extern ScriptExecutionContext* StartCutscene(Entity*, u16*); extern void ResolveEntityOnTop(Entity*, Entity*); extern void EnemyFunctionHandler(Entity*, void (*const funcs[])(Entity*)); extern u32 GetAnimationState(Entity*); @@ -86,13 +84,11 @@ extern void sub_0806F69C(Entity*); extern void sub_0805E3A0(void*, u32); extern void sub_0806D0B0(Entity*); extern void sub_0807DD64(Entity*); -extern void sub_0807DDAC(Entity*, void(*function)(Entity*, ScriptExecutionContext*)); extern void sub_0807DDE4(Entity*); extern void sub_0806D02C(Entity*); extern u32 sub_0806F5A4(u32); extern void sub_08078784(Entity*, u32); extern void sub_0807DD50(Entity*); -extern void sub_0807DD94(Entity*, void(*function)(Entity*, ScriptExecutionContext*)); extern s32 sub_0806ED9C(Entity*, u32, u32); extern void sub_0807000C(Entity*); extern void sub_0805E47C(Entity*); diff --git a/include/script.h b/include/script.h index a3f29c84..93b7554c 100644 --- a/include/script.h +++ b/include/script.h @@ -30,4 +30,7 @@ extern void StartPlayerScript(u16*); extern void sub_0807DEDC(Entity*, ScriptExecutionContext*, u32, u32); +extern ScriptExecutionContext* StartCutscene(Entity*, u16*); +extern void sub_0807DDAC(Entity*, void(*function)(Entity*, ScriptExecutionContext*)); +extern void sub_0807DD94(Entity*, void(*function)(Entity*, ScriptExecutionContext*)); #endif diff --git a/src/npc/beedle.c b/src/npc/beedle.c index da25ab1b..98297254 100644 --- a/src/npc/beedle.c +++ b/src/npc/beedle.c @@ -4,6 +4,7 @@ #include "textbox.h" #include "player.h" #include "room.h" +#include "script.h" typedef struct { u32 unk_00; diff --git a/src/npc/bigGoron.c b/src/npc/bigGoron.c index 94a6e085..4b45fe41 100644 --- a/src/npc/bigGoron.c +++ b/src/npc/bigGoron.c @@ -3,6 +3,7 @@ #include "player.h" #include "structures.h" #include "functions.h" +#include "script.h" extern void (*gUnk_081140D4[])(Entity*); diff --git a/src/npc/bladeBrothers.c b/src/npc/bladeBrothers.c index f19d4990..8211ed49 100644 --- a/src/npc/bladeBrothers.c +++ b/src/npc/bladeBrothers.c @@ -6,6 +6,7 @@ #include "room.h" #include "textbox.h" #include "save.h" +#include "script.h" extern void (*gUnk_081115C0[])(Entity*); extern void (*gUnk_081115D0[])(Entity*); @@ -126,7 +127,7 @@ void FUN_08068b2c(Entity* this) { InitAnimationForceUpdate(this, uVar1); sub_0806F118(this); } else { - sub_0807DD94(this, 0); + sub_0807DD94(this, NULL); } } diff --git a/src/npc/festari.c b/src/npc/festari.c index 0c5c74f8..fa1dac19 100644 --- a/src/npc/festari.c +++ b/src/npc/festari.c @@ -3,6 +3,7 @@ #include "functions.h" #include "npc.h" #include "player.h" +#include "script.h" extern u32 sub_0801E99C(Entity*); extern void sub_08078784(Entity*, u32); @@ -37,7 +38,7 @@ void sub_0805FE48(Entity* this) { InitAnimationForceUpdate(this, sub_0806F5A4(GetFacingDirection(this, &gPlayerEntity))); sub_0806F118(this); } else { - ExecuteScriptCommandSet(this, *(void**)&this->cutsceneBeh); + ExecuteScriptCommandSet(this, *(ScriptExecutionContext **)&this->cutsceneBeh); sub_0805FF2C(this, *(void**)&this->cutsceneBeh); uVar4 = this->field_0x80.HWORD; if (uVar4 < 8) { diff --git a/src/npc/forestMinish.c b/src/npc/forestMinish.c index 71c84161..66933ef3 100644 --- a/src/npc/forestMinish.c +++ b/src/npc/forestMinish.c @@ -7,6 +7,7 @@ #include "structures.h" #include "functions.h" #include "save.h" +#include "script.h" extern void sub_0807DD50(Entity*); extern void sub_0806F118(Entity*); diff --git a/src/npc/goron.c b/src/npc/goron.c index dcc0ac33..a7d4ee54 100644 --- a/src/npc/goron.c +++ b/src/npc/goron.c @@ -2,6 +2,7 @@ #include "entity.h" #include "functions.h" #include "textbox.h" +#include "script.h" extern void (*gUnk_08111A80[])(Entity*); extern void (*gUnk_08111A8C[])(Entity*); @@ -61,7 +62,7 @@ void sub_080693C4(Entity* this) { void sub_08069428(Entity* this, s32 offsetX, bool32 createFx65); void sub_080693D0(Entity* this) { - sub_0807DD94(this, 0); + sub_0807DD94(this, NULL); if (this->animIndex == 8) { u32 var0 = this->field_0x82.HWORD & 0xF; bool32 createFx65 = BOOLCAST(var0); // = !var0 diff --git a/src/npc/goronMerchant.c b/src/npc/goronMerchant.c index 7cfdb685..9fd402c5 100644 --- a/src/npc/goronMerchant.c +++ b/src/npc/goronMerchant.c @@ -5,6 +5,7 @@ #include "textbox.h" #include "room.h" #include "flags.h" +#include "script.h" extern u32 sub_080696BC(Entity*); @@ -70,7 +71,7 @@ void sub_0806963C(Entity* this) { } void sub_08069654(Entity* this) { - sub_0807DD94(this, 0); + sub_0807DD94(this, NULL); } void sub_08069660(Entity* this) { diff --git a/src/npc/librari.c b/src/npc/librari.c index 27b20ad8..9db202b7 100644 --- a/src/npc/librari.c +++ b/src/npc/librari.c @@ -4,6 +4,7 @@ #include "flags.h" #include "textbox.h" #include "functions.h" +#include "script.h" extern u16 gUnk_08112D48[]; @@ -24,7 +25,7 @@ void Librari(Entity* this) { this->interactType = 0; sub_0806F118(this); } else { - sub_0807DDAC(this, 0); + sub_0807DDAC(this, NULL); sub_0807DDE4(this); UpdateAnimationSingleFrame(this); } diff --git a/src/npc/malon.c b/src/npc/malon.c index 340e9cf7..ca6d6eab 100644 --- a/src/npc/malon.c +++ b/src/npc/malon.c @@ -1,6 +1,7 @@ #include "global.h" #include "functions.h" #include "entity.h" +#include "script.h" extern Entity gPlayerEntity; @@ -44,7 +45,7 @@ void sub_080658BC(Entity* this) { InitAnimationForceUpdate(this, sub_0806F5A4(GetFacingDirection(this, &gPlayerEntity))); sub_0806F118(this); } else { - sub_0807DD94(this, 0); + sub_0807DD94(this, NULL); } } diff --git a/src/npc/mayorHagen.c b/src/npc/mayorHagen.c index a56ded98..df7366dd 100644 --- a/src/npc/mayorHagen.c +++ b/src/npc/mayorHagen.c @@ -9,6 +9,7 @@ #include "structures.h" #include "functions.h" #include "save.h" +#include "script.h" extern void sub_0807DD50(Entity*); extern u32 sub_0806F5A4(u32); diff --git a/src/npc/melari.c b/src/npc/melari.c index 1b09ecb6..b5101e02 100644 --- a/src/npc/melari.c +++ b/src/npc/melari.c @@ -3,6 +3,7 @@ #include "npc.h" #include "textbox.h" #include "functions.h" +#include "script.h" extern void sub_08068780(Entity*); extern void sub_08078778(Entity*); diff --git a/src/npc/mutoh.c b/src/npc/mutoh.c index deed814f..998a54a6 100644 --- a/src/npc/mutoh.c +++ b/src/npc/mutoh.c @@ -7,6 +7,7 @@ #include "structures.h" #include "functions.h" #include "save.h" +#include "script.h" extern void sub_0807DD50(Entity*); extern u32 GetFacingDirection(Entity*, Entity*); diff --git a/src/npc/percy.c b/src/npc/percy.c index 3d18ed35..484ee13b 100644 --- a/src/npc/percy.c +++ b/src/npc/percy.c @@ -4,6 +4,7 @@ #include "textbox.h" #include "functions.h" #include "flags.h" +#include "script.h" extern void sub_0806B41C(Entity*); extern void sub_0806B3CC(Entity*); diff --git a/src/npc/rem.c b/src/npc/rem.c index b1233acf..f81929ad 100644 --- a/src/npc/rem.c +++ b/src/npc/rem.c @@ -1,6 +1,7 @@ #include "global.h" #include "functions.h" #include "entity.h" +#include "script.h" extern void sub_0807DDE4(Entity*); extern void PlaySFX(u32); diff --git a/src/npc/simon.c b/src/npc/simon.c index deb8d73e..ecc57f36 100644 --- a/src/npc/simon.c +++ b/src/npc/simon.c @@ -3,6 +3,7 @@ #include "functions.h" #include "room.h" #include "flags.h" +#include "script.h" typedef struct { u8 filler[4]; diff --git a/src/npc/smith.c b/src/npc/smith.c index 50772b83..d06cedfe 100644 --- a/src/npc/smith.c +++ b/src/npc/smith.c @@ -3,6 +3,7 @@ #include "textbox.h" #include "functions.h" #include "save.h" +#include "script.h" extern u32 GetFacingDirection(Entity*, Entity*); extern u32 sub_0806F5A4(u32); diff --git a/src/npc/stamp.c b/src/npc/stamp.c index 652e6710..a30d31ad 100644 --- a/src/npc/stamp.c +++ b/src/npc/stamp.c @@ -2,6 +2,7 @@ #include "entity.h" #include "textbox.h" #include "functions.h" +#include "script.h" extern void sub_08078778(Entity*); extern void sub_0805E47C(Entity*); diff --git a/src/npc/talon.c b/src/npc/talon.c index 867ede74..24380fc9 100644 --- a/src/npc/talon.c +++ b/src/npc/talon.c @@ -3,6 +3,7 @@ #include "textbox.h" #include "functions.h" #include "player.h" +#include "script.h" extern void (*gUnk_0810FEC4[])(Entity* this); extern void (*gUnk_0810FEBC[])(Entity* this); diff --git a/src/npc/teachers.c b/src/npc/teachers.c index b633b3d0..9a9f0509 100644 --- a/src/npc/teachers.c +++ b/src/npc/teachers.c @@ -3,6 +3,7 @@ #include "player.h" #include "functions.h" #include "save.h" +#include "script.h" extern SpriteLoadData gUnk_08113910[]; extern void sub_0807DD50(Entity*); diff --git a/src/npc/townMinish.c b/src/npc/townMinish.c index 6ed67b2e..9217fdd7 100644 --- a/src/npc/townMinish.c +++ b/src/npc/townMinish.c @@ -5,6 +5,7 @@ #include "textbox.h" #include "flags.h" #include "save.h" +#include "script.h" extern void InitializeAnimation(Entity*, u32); extern u32 LoadExtraSpriteData(Entity*, SpriteLoadData*); diff --git a/src/npc/townsperson.c b/src/npc/townsperson.c index 90e2490a..a5295f93 100644 --- a/src/npc/townsperson.c +++ b/src/npc/townsperson.c @@ -7,6 +7,7 @@ #include "structures.h" #include "functions.h" #include "save.h" +#include "script.h" typedef struct { u8 frame1; diff --git a/src/npc/windTribespeople.c b/src/npc/windTribespeople.c index b1499f01..05dca467 100644 --- a/src/npc/windTribespeople.c +++ b/src/npc/windTribespeople.c @@ -6,6 +6,7 @@ #include "structures.h" #include "functions.h" #include "save.h" +#include "script.h" extern u32 LoadExtraSpriteData(Entity*, SpriteLoadData*); extern void sub_0807DD50(Entity*); diff --git a/src/npc/zelda.c b/src/npc/zelda.c index ea12cf4b..00c333e6 100644 --- a/src/npc/zelda.c +++ b/src/npc/zelda.c @@ -3,6 +3,7 @@ #include "functions.h" #include "room.h" #include "flags.h" +#include "script.h" extern void PrependEntityToList(Entity*, u32); extern void sub_0807DD50(Entity*); diff --git a/src/object/houseDoorExterior.c b/src/object/houseDoorExterior.c index 3c43e4b1..ddf5b87e 100644 --- a/src/object/houseDoorExterior.c +++ b/src/object/houseDoorExterior.c @@ -3,6 +3,7 @@ #include "flags.h" #include "functions.h" #include "room.h" +#include "script.h" typedef struct { /*0x00*/ u16 unk0; diff --git a/src/object/windcrest.c b/src/object/windcrest.c index 4b96f901..a4c4049d 100644 --- a/src/object/windcrest.c +++ b/src/object/windcrest.c @@ -2,6 +2,7 @@ #include "entity.h" #include "functions.h" #include "save.h" +#include "script.h" extern void sub_0807DD64(Entity*); extern void sub_0807DDE4(Entity*); From faa6fddc10b6021d31c1a0e793d0d4fa380f9f0d Mon Sep 17 00:00:00 2001 From: Henny022p Date: Fri, 19 Feb 2021 10:36:02 +0100 Subject: [PATCH 099/101] renamed executeScriptCommandSet.c to just script.c --- linker.ld | 4 ++-- src/{executeScriptCommandSet.c => script.c} | 0 2 files changed, 2 insertions(+), 2 deletions(-) rename src/{executeScriptCommandSet.c => script.c} (100%) diff --git a/linker.ld b/linker.ld index ec7ef0e2..0267d7cd 100644 --- a/linker.ld +++ b/linker.ld @@ -672,7 +672,7 @@ SECTIONS { src/flags.o(.text); src/save.o(.text); src/code_0807CC3C.o(.text); - src/executeScriptCommandSet.o(.text); + src/script.o(.text); asm/code_0807F0D8.o(.text); src/code_0808091C.o(.text); asm/code_0808091C.o(.text); @@ -1018,7 +1018,7 @@ SECTIONS { data/room_headers.o(.rodata); src/save.o(.rodata); data/data_0811E454.o(.rodata); - src/executeScriptCommandSet.o(.rodata); + src/script.o(.rodata); data/data_0811E750.o(.rodata); src/object/greatFairy.o(.rodata); data/animations/greatFairy.o(.rodata); diff --git a/src/executeScriptCommandSet.c b/src/script.c similarity index 100% rename from src/executeScriptCommandSet.c rename to src/script.c From fd2a50eee48c9c5d550ec435abccc38ae6dd5a85 Mon Sep 17 00:00:00 2001 From: notyourav <65437533+notyourav@users.noreply.github.com> Date: Fri, 19 Feb 2021 15:00:49 -0800 Subject: [PATCH 100/101] Create linting workflow --- .github/workflows/lint_pr.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 .github/workflows/lint_pr.yml diff --git a/.github/workflows/lint_pr.yml b/.github/workflows/lint_pr.yml new file mode 100644 index 00000000..7afa3866 --- /dev/null +++ b/.github/workflows/lint_pr.yml @@ -0,0 +1,11 @@ +name: lint_pr +on: pull_request +jobs: + clang-format: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: DoozyX/clang-format-lint-action@v0.8 + with: + source: 'src, include' + clangFormatVersion: 10 From 31f324e3a7e4d0dec27d85ee6b50a42ec6df8f7b Mon Sep 17 00:00:00 2001 From: theo3 Date: Fri, 19 Feb 2021 15:03:20 -0800 Subject: [PATCH 101/101] clang-format pass and workflow --- .github/workflows/lint_pr.yml | 2 +- include/audio.h | 4 +- include/functions.h | 8 +- include/gba/macro.h | 11 +- include/gba/syscall.h | 15 +- include/manager.h | 1 - include/npc.h | 1 - include/save.h | 2 +- include/script.h | 4 +- src/arm_proxy.c | 21 +- src/enemy/gyorgMale.c | 414 +++++++++++++-------------------- src/fileScreen.c | 3 +- src/item14.c | 42 ++-- src/manager.c | 67 +----- src/manager/manager1E.c | 14 +- src/manager/manager26.c | 12 +- src/manager/manager27.c | 11 +- src/manager/manager28.c | 61 +++-- src/manager/manager39.c | 35 +-- src/manager/managerC.c | 106 +++------ src/npc/festari.c | 2 +- src/object/houseDoorExterior.c | 6 +- src/player.c | 10 +- src/playerItem.c | 29 +-- src/save.c | 140 +++++------ src/screenDebug.c | 2 +- src/script.c | 228 +++++------------- 27 files changed, 461 insertions(+), 790 deletions(-) diff --git a/.github/workflows/lint_pr.yml b/.github/workflows/lint_pr.yml index 7afa3866..1a313769 100644 --- a/.github/workflows/lint_pr.yml +++ b/.github/workflows/lint_pr.yml @@ -7,5 +7,5 @@ jobs: - uses: actions/checkout@v2 - uses: DoozyX/clang-format-lint-action@v0.8 with: - source: 'src, include' + source: './src ./include' clangFormatVersion: 10 diff --git a/include/audio.h b/include/audio.h index 3690de89..0f1a1b40 100644 --- a/include/audio.h +++ b/include/audio.h @@ -145,7 +145,7 @@ typedef enum { SFX_VO_MINISH2, SFX_VO_MINISH3, SFX_VO_MINISH4, - + SFX_REM_SLEEP = 0xCC, SFX_TASK_COMPLETE, SFX_KEY_APPEAR, @@ -183,7 +183,7 @@ typedef enum { SFX_APPARATE, SFX_F8, SFX_TELEPORTER, - + SFX_ITEM_BOMB_EXPLODE = 0xFD, SFX_HIT, diff --git a/include/functions.h b/include/functions.h index f3213239..9e8b7d0b 100644 --- a/include/functions.h +++ b/include/functions.h @@ -284,10 +284,10 @@ extern void sub_0801E00C(); extern void sub_08050038(u32); extern void sub_080500F4(u32); extern void sub_08050110(u32, u32, u32, u32); -extern u32 sub_08052734(); //has Dungeon Map? -extern u32 sub_08052764(); //has Dungeon Compass? -extern u32 sub_0805279C(); //has Dungeon Big Key? -extern u32 sub_080527CC(); //num Dungeon small keys? +extern u32 sub_08052734(); // has Dungeon Map? +extern u32 sub_08052764(); // has Dungeon Compass? +extern u32 sub_0805279C(); // has Dungeon Big Key? +extern u32 sub_080527CC(); // num Dungeon small keys? extern u32 sub_08053FE0(); extern void sub_08078790(Entity*, u32); extern void sub_080788E0(Entity*); diff --git a/include/gba/macro.h b/include/gba/macro.h index 2fa1abb2..b08ed921 100644 --- a/include/gba/macro.h +++ b/include/gba/macro.h @@ -167,11 +167,12 @@ #define DmaClear16Defvars(dmaNum, dest, size) DmaClearDefvars(dmaNum, dest, size, 16) #define DmaClear32Defvars(dmaNum, dest, size) DmaClearDefvars(dmaNum, dest, size, 32) -#define DmaWait(DmaNo) \ -{ \ - vu32 *(DmaCntp) = (vu32 *)REG_ADDR_DMA##DmaNo; \ - while (DmaCntp[2] & (DMA_ENABLE << 16)) ; \ -} +#define DmaWait(DmaNo) \ + { \ + vu32*(DmaCntp) = (vu32*)REG_ADDR_DMA##DmaNo; \ + while (DmaCntp[2] & (DMA_ENABLE << 16)) \ + ; \ + } #define IntrEnable(flags) \ { \ diff --git a/include/gba/syscall.h b/include/gba/syscall.h index d319a9fe..0c07bcbb 100644 --- a/include/gba/syscall.h +++ b/include/gba/syscall.h @@ -11,17 +11,18 @@ #define RESET_REGS 0x80 #define RESET_ALL 0xFF -#define SystemCall(x) { asm("svc " #x); } +#define SystemCall(x) \ + { asm("svc " #x); } extern void SoundBiasReset(); extern void SoundBiasSet(); -#define Stop() \ -{ \ - SoundBiasReset(); \ - SystemCall(3); \ - SoundBiasSet(); \ -} +#define Stop() \ + { \ + SoundBiasReset(); \ + SystemCall(3); \ + SoundBiasSet(); \ + } void SoftReset(u32 resetFlags); diff --git a/include/manager.h b/include/manager.h index a0d8eb1c..f292baf2 100644 --- a/include/manager.h +++ b/include/manager.h @@ -193,5 +193,4 @@ extern void sub_0805E0FC(); void (*const gManagerFunctions[58])(); - #endif diff --git a/include/npc.h b/include/npc.h index 024a9a43..b27a82f9 100644 --- a/include/npc.h +++ b/include/npc.h @@ -172,7 +172,6 @@ extern void NPC58_Head(Entity*); extern u32 UpdateFuseInteraction(Entity*); - void (*const gNPCFunctions[128][3])(Entity*); #endif diff --git a/include/save.h b/include/save.h index 83ef1e3f..eaf1eaf5 100644 --- a/include/save.h +++ b/include/save.h @@ -11,7 +11,7 @@ typedef enum { SAVE_BUSY = 0, - SAVE_OK = 1, + SAVE_OK = 1, SAVE_ERROR = -1, } SaveResult; diff --git a/include/script.h b/include/script.h index 93b7554c..9abc5291 100644 --- a/include/script.h +++ b/include/script.h @@ -31,6 +31,6 @@ extern void StartPlayerScript(u16*); extern void sub_0807DEDC(Entity*, ScriptExecutionContext*, u32, u32); extern ScriptExecutionContext* StartCutscene(Entity*, u16*); -extern void sub_0807DDAC(Entity*, void(*function)(Entity*, ScriptExecutionContext*)); -extern void sub_0807DD94(Entity*, void(*function)(Entity*, ScriptExecutionContext*)); +extern void sub_0807DDAC(Entity*, void (*function)(Entity*, ScriptExecutionContext*)); +extern void sub_0807DD94(Entity*, void (*function)(Entity*, ScriptExecutionContext*)); #endif diff --git a/src/arm_proxy.c b/src/arm_proxy.c index aebfa3f2..a0dc1c24 100644 --- a/src/arm_proxy.c +++ b/src/arm_proxy.c @@ -286,7 +286,7 @@ void sub_080171F0(void) { } } -void sub_08017338(Entity *this) { +void sub_08017338(Entity* this) { if (!(this->flags & 1) && !this->action && !this->previousActionFlag) sub_080173A4(this); @@ -338,7 +338,7 @@ END_NONMATCH void sub_080174A4(Entity* this) { int iVar1; - + if (((this->flags & 1) == 0) && (this->action == 0)) { sub_080A2838(this); } @@ -359,8 +359,7 @@ void sub_08017508(Entity* this) { // regalloc NONMATCH("asm/non_matching/arm_proxy/sub_08017530.inc", void sub_08017530(Entity* this)) { - if ((this->currentHealth & 0x7f) && - !ReadBit(&gUnk_020342F8, this->currentHealth - 1)) { + if ((this->currentHealth & 0x7f) && !ReadBit(&gUnk_020342F8, this->currentHealth - 1)) { DeleteThisEntity(); } if ((this->action == 0) && ((this->flags & 1) == 0)) { @@ -392,7 +391,7 @@ void sub_080175F4(void) { u32 temp; void (*func)(void); - + temp = gUnk_03003DC0.unk0; if (gUnk_03003DC0.unk0 <= gUnk_03003DC0.unk1) temp = gUnk_03003DC0.unk1; @@ -411,7 +410,7 @@ void sub_080175F4(void) { } void sub_08017640(void) { - _DmaZero(&gUnk_03003C70,0x100); + _DmaZero(&gUnk_03003C70, 0x100); gUnk_02018EA0 = (LinkedList2*)&gUnk_03003C70[0].last; gUnk_03003C70[0].last = &gUnk_03003C70[0].last; gUnk_03003C70[0].first = &gUnk_03003C70[0].last; @@ -426,7 +425,7 @@ NONMATCH("asm/non_matching/arm_proxy/sub_0801766C.inc", u32 sub_0801766C(Entity* LinkedList2* pLVar2; LinkedList2* i; u8* pbVar4; - + if (this->spritePriority.b2 != 0) { return 1; } else { @@ -513,16 +512,18 @@ END_NONMATCH NONMATCH("asm/non_matching/arm_proxy/sub_080177A0.inc", bool32 sub_080177A0(Entity* this, Entity* that)) { u32 this_d; u32 depth; - + if ((that->collisionLayer & this->collisionLayer) != 0) { BoundingBox* bb_this = this->boundingBox; BoundingBox* bb_that = that->boundingBox; u32 this_w = bb_this->width; u32 that_w = bb_that->width; - if ((((this->x.HALF.HI - that->x.HALF.HI) + bb_this->offset_x) - bb_that->offset_x) + this_w + that_w <= (this_w + that_w) * 2) { + if ((((this->x.HALF.HI - that->x.HALF.HI) + bb_this->offset_x) - bb_that->offset_x) + this_w + that_w <= + (this_w + that_w) * 2) { u32 this_h = bb_this->height; u32 that_h = bb_that->height; - if ((((this->y.HALF.HI - that->y.HALF.HI) + bb_this->offset_y) - bb_that->offset_y) + this_h + that_h <= (this_h + that_h) * 2) { + if ((((this->y.HALF.HI - that->y.HALF.HI) + bb_this->offset_y) - bb_that->offset_y) + this_h + that_h <= + (this_h + that_h) * 2) { if ((this->field_0x3c & 0x10) != 0) this_d = ((BoundingBox3D*)bb_this)->depth; else diff --git a/src/enemy/gyorgMale.c b/src/enemy/gyorgMale.c index 5301647f..56091980 100644 --- a/src/enemy/gyorgMale.c +++ b/src/enemy/gyorgMale.c @@ -7,19 +7,19 @@ #include "functions.h" #include "fileScreen.h" -void (* const gUnk_080D1AFC[8])(Entity*); -void (* const gUnk_080D1B1C[7])(Entity*); -void (* const gUnk_080D1B38[5])(Entity*); -void (* const gUnk_080D1B4C[5])(Entity*); +void (*const gUnk_080D1AFC[8])(Entity*); +void (*const gUnk_080D1B1C[7])(Entity*); +void (*const gUnk_080D1B38[5])(Entity*); +void (*const gUnk_080D1B4C[5])(Entity*); const u16 gUnk_080D1B60[8]; -const s16 gUnk_080D1B70[2];//or 3? +const s16 gUnk_080D1B70[2]; // or 3? const u16 gUnk_080D1B74[0x10]; -void (* const gUnk_080D1B94[0xA])(Entity*); +void (*const gUnk_080D1B94[0xA])(Entity*); const u16 gUnk_080D1BBC[2]; -void (* const gUnk_080D1BC0[7])(Entity*); -void (* const gUnk_080D1BDC[5])(Entity*); +void (*const gUnk_080D1BC0[7])(Entity*); +void (*const gUnk_080D1BDC[5])(Entity*); const s16 gUnk_080D1BF0[2]; -void (* const gUnk_080D1BF4[3])(Entity*); +void (*const gUnk_080D1BF4[3])(Entity*); const s8 gUnk_080D1C00[4]; const u16 gUnk_080D1C04[0x20]; const u8 gUnk_080D1C44[0xC]; @@ -27,77 +27,69 @@ const u16 gUnk_080D1C50[8]; const u16 gUnk_080D1C60[8]; void GyorgMale(Entity*); -void sub_08046898(Entity*);//action 0 -void sub_08046910(Entity*);//action 1 -void sub_08046930(Entity*);//action 1 previousActionFlag 0 -void sub_0804696C(Entity*);//action 1 previousActionFlag 1 -void sub_080469CC(Entity*);//action 1 previousActionFlag 2 -void sub_080469F4(Entity*);//action 1 previousActionFlag 3 -void sub_08046A30(Entity*);//action 1 previousActionFlag 4 -void sub_08046A54(Entity*);//action 1 previousActionFlag 5 -void sub_08046A78(Entity*);//action 1 previousActionFlag 6 -void sub_08046A9C(Entity*);//action 2 -void sub_08046AE8(Entity*);//action 2 previousActionFlag 0 -void sub_08046B18(Entity*);//action 2 previousActionFlag 1 -void sub_08046B8C(Entity*);//action 2 previousActionFlag 2 -void sub_08046C04(Entity*);//action 2 previousActionFlag 3 -void sub_08046C88(Entity*);//action 2 previousActionFlag 4 -void sub_08046CEC(Entity*);//action 3 -void sub_08046D44(Entity*);//action 3 previousActionFlag 0 -void sub_08046D98(Entity*);//action 3 previousActionFlag 1 -void sub_08046E0C(Entity*);//action 3 previousActionFlag 2 -void sub_08046E68(Entity*);//action 3 previousActionFlag 3 -void sub_08046EF4(Entity*);//action 3 previousActionFlag 4 -void sub_08046F64(Entity*);//action 4 -void sub_08046FE8(Entity*);//action 4 previousActionFlag 0 -void sub_0804702C(Entity*);//action 4 previousActionFlag 1 -void sub_080470B4(Entity*);//action 4 previousActionFlag 2 -void sub_08047140(Entity*);//action 4 previousActionFlag 3 -void sub_0804717C(Entity*);//action 4 previousActionFlag 4 -void sub_080471C8(Entity*);//action 4 previousActionFlag 5 -void sub_0804723C(Entity*);//action 4 previousActionFlag 6 -void sub_08047284(Entity*);//action 4 previousActionFlag 7 -void sub_080472BC(Entity*);//action 4 previousActionFlag 8 -void sub_08047310(Entity*);//action 4 previousActionFlag 9 -void sub_0804736C(Entity*);//action 5 -void sub_080473B8(Entity*);//action 5 previousActionFlag 0 -void sub_080473F0(Entity*);//action 5 previousActionFlag 1 -void sub_08047484(Entity*);//action 5 previousActionFlag 2 -void sub_08047508(Entity*);//action 5 previousActionFlag 3 -void sub_080475F4(Entity*);//action 5 previousActionFlag 4 -void sub_0804763C(Entity*);//action 5 previousActionFlag 5 -void sub_0804772C(Entity*);//action 5 previousActionFlag 6 -void sub_08047778(Entity*);//action 6 -void sub_08047798(Entity*);//action 6 previousActionFlag 0 -void sub_080477F0(Entity*);//action 6 previousActionFlag 1 -void sub_08047914(Entity*);//action 6 previousActionFlag 2 -void sub_08047978(Entity*);//action 6 previousActionFlag 3 -void sub_08047B08(Entity*);//action 6 previousActionFlag 4 -void sub_08047B84(Entity*);//action 7 -void sub_08047BA4(Entity*);//action 7 previousActionFlag 0 -void sub_08047BF0(Entity*);//action 7 previousActionFlag 1, also called elsewhere -void sub_08047D24(Entity*);//action 7 previousActionFlag 2 -void sub_08047D88(Entity*);// +void sub_08046898(Entity*); // action 0 +void sub_08046910(Entity*); // action 1 +void sub_08046930(Entity*); // action 1 previousActionFlag 0 +void sub_0804696C(Entity*); // action 1 previousActionFlag 1 +void sub_080469CC(Entity*); // action 1 previousActionFlag 2 +void sub_080469F4(Entity*); // action 1 previousActionFlag 3 +void sub_08046A30(Entity*); // action 1 previousActionFlag 4 +void sub_08046A54(Entity*); // action 1 previousActionFlag 5 +void sub_08046A78(Entity*); // action 1 previousActionFlag 6 +void sub_08046A9C(Entity*); // action 2 +void sub_08046AE8(Entity*); // action 2 previousActionFlag 0 +void sub_08046B18(Entity*); // action 2 previousActionFlag 1 +void sub_08046B8C(Entity*); // action 2 previousActionFlag 2 +void sub_08046C04(Entity*); // action 2 previousActionFlag 3 +void sub_08046C88(Entity*); // action 2 previousActionFlag 4 +void sub_08046CEC(Entity*); // action 3 +void sub_08046D44(Entity*); // action 3 previousActionFlag 0 +void sub_08046D98(Entity*); // action 3 previousActionFlag 1 +void sub_08046E0C(Entity*); // action 3 previousActionFlag 2 +void sub_08046E68(Entity*); // action 3 previousActionFlag 3 +void sub_08046EF4(Entity*); // action 3 previousActionFlag 4 +void sub_08046F64(Entity*); // action 4 +void sub_08046FE8(Entity*); // action 4 previousActionFlag 0 +void sub_0804702C(Entity*); // action 4 previousActionFlag 1 +void sub_080470B4(Entity*); // action 4 previousActionFlag 2 +void sub_08047140(Entity*); // action 4 previousActionFlag 3 +void sub_0804717C(Entity*); // action 4 previousActionFlag 4 +void sub_080471C8(Entity*); // action 4 previousActionFlag 5 +void sub_0804723C(Entity*); // action 4 previousActionFlag 6 +void sub_08047284(Entity*); // action 4 previousActionFlag 7 +void sub_080472BC(Entity*); // action 4 previousActionFlag 8 +void sub_08047310(Entity*); // action 4 previousActionFlag 9 +void sub_0804736C(Entity*); // action 5 +void sub_080473B8(Entity*); // action 5 previousActionFlag 0 +void sub_080473F0(Entity*); // action 5 previousActionFlag 1 +void sub_08047484(Entity*); // action 5 previousActionFlag 2 +void sub_08047508(Entity*); // action 5 previousActionFlag 3 +void sub_080475F4(Entity*); // action 5 previousActionFlag 4 +void sub_0804763C(Entity*); // action 5 previousActionFlag 5 +void sub_0804772C(Entity*); // action 5 previousActionFlag 6 +void sub_08047778(Entity*); // action 6 +void sub_08047798(Entity*); // action 6 previousActionFlag 0 +void sub_080477F0(Entity*); // action 6 previousActionFlag 1 +void sub_08047914(Entity*); // action 6 previousActionFlag 2 +void sub_08047978(Entity*); // action 6 previousActionFlag 3 +void sub_08047B08(Entity*); // action 6 previousActionFlag 4 +void sub_08047B84(Entity*); // action 7 +void sub_08047BA4(Entity*); // action 7 previousActionFlag 0 +void sub_08047BF0(Entity*); // action 7 previousActionFlag 1, also called elsewhere +void sub_08047D24(Entity*); // action 7 previousActionFlag 2 +void sub_08047D88(Entity*); // void sub_08047DF0(Entity*, u32); -void sub_08047E48(Entity*);// -void sub_08047E58(Entity*);// +void sub_08047E48(Entity*); // +void sub_08047E58(Entity*); // void sub_08047EA4(Entity*, u32); -u32 sub_08047F68(Entity*);//distance this to player? -void sub_08048004(Entity*);// -void sub_0804813C(Entity*);// +u32 sub_08047F68(Entity*); // distance this to player? +void sub_08048004(Entity*); // +void sub_0804813C(Entity*); // u32 sub_08048158(u32); void sub_08048178(Entity*, u32); -void (* const gUnk_080D1AFC[8])(Entity*) = { - sub_08046898, - sub_08046910, - sub_08046A9C, - sub_08046CEC, - sub_08046F64, - sub_0804736C, - sub_08047778, - sub_08047B84 -}; +void (*const gUnk_080D1AFC[8])(Entity*) = { sub_08046898, sub_08046910, sub_08046A9C, sub_08046CEC, + sub_08046F64, sub_0804736C, sub_08047778, sub_08047B84 }; void GyorgMale(Entity* this) { if (this->action) { @@ -120,7 +112,8 @@ void GyorgMale(Entity* this) { void sub_08046898(Entity* this) { Entity* tmp = sub_080A7EE0(0x22); u32 tmp2; - if (!tmp) return; + if (!tmp) + return; tmp->entityType.form = 1; tmp->parent = this; this->attachedEntity = tmp; @@ -139,15 +132,8 @@ void sub_08046898(Entity* this) { InitAnimationForceUpdate(this, 0); } -void (* const gUnk_080D1B1C[7])(Entity*) = { - sub_08046930, - sub_0804696C, - sub_080469CC, - sub_080469F4, - sub_08046A30, - sub_08046A54, - sub_08046A78 -}; +void (*const gUnk_080D1B1C[7])(Entity*) = { sub_08046930, sub_0804696C, sub_080469CC, sub_080469F4, + sub_08046A30, sub_08046A54, sub_08046A78 }; void sub_08046910(Entity* this) { gUnk_080D1B1C[this->previousActionFlag](this); @@ -161,7 +147,8 @@ void sub_08046930(Entity* this) { this->nonPlanarMovement = 0x280; } sub_08047D88(this); - if (this->field_0x7c.BYTES.byte0 == 0) return; + if (this->field_0x7c.BYTES.byte0 == 0) + return; this->previousActionFlag = 1; this->actionDelay = 1; this->animationState = 0; @@ -206,7 +193,7 @@ void sub_080469F4(Entity* this) { void sub_08046A30(Entity* this) { sub_08047D88(this); - if (((Entity*) this->otherEntity)->prev->field_0x6c.HWORD & 1) { + if (((Entity*)this->otherEntity)->prev->field_0x6c.HWORD & 1) { this->action = 2; this->previousActionFlag = 0; } @@ -221,19 +208,13 @@ void sub_08046A54(Entity* this) { void sub_08046A78(Entity* this) { sub_08047D88(this); - if (((Entity*) this->otherEntity)->prev->field_0x6c.HWORD & 0x10) { + if (((Entity*)this->otherEntity)->prev->field_0x6c.HWORD & 0x10) { this->action = 3; this->previousActionFlag = 0; } } -void (* const gUnk_080D1B38[5])(Entity*) = { - sub_08046AE8, - sub_08046B18, - sub_08046B8C, - sub_08046C04, - sub_08046C88 -}; +void (*const gUnk_080D1B38[5])(Entity*) = { sub_08046AE8, sub_08046B18, sub_08046B8C, sub_08046C04, sub_08046C88 }; void sub_08046A9C(Entity* this) { if (this->animIndex == 1) { @@ -252,7 +233,7 @@ void sub_08046A9C(Entity* this) { void sub_08046AE8(Entity* this) { this->previousActionFlag = 1; this->nonPlanarMovement = 0x180; - sub_08048178(this, ((Entity*) this->otherEntity)->next->animationState >> 5); + sub_08048178(this, ((Entity*)this->otherEntity)->next->animationState >> 5); this->field_0x76.HWORD = this->direction << 8; sub_08047D88(this); } @@ -281,7 +262,8 @@ void sub_08046B8C(Entity* this) { this->field_0x82.HWORD = gRoomControls.roomOriginY + 0x210; sub_08047D88(this); } else { - this->direction = sub_080045DA(this->field_0x80.HWORD - this->x.HALF.HI, this->field_0x82.HWORD - this->y.HALF.HI); + this->direction = + sub_080045DA(this->field_0x80.HWORD - this->x.HALF.HI, this->field_0x82.HWORD - this->y.HALF.HI); sub_08047DF0(this, ((0x100 - this->direction) & 0xFF) << 8); } } @@ -309,18 +291,13 @@ void sub_08046C88(Entity* this) { sub_08048178(this, sub_08048158(this->field_0x70.HALF_U.LO)); sub_08047D88(this); } else { - this->direction = sub_080045DA(this->field_0x80.HWORD - this->x.HALF.HI, this->field_0x82.HWORD - this->y.HALF.HI); + this->direction = + sub_080045DA(this->field_0x80.HWORD - this->x.HALF.HI, this->field_0x82.HWORD - this->y.HALF.HI); sub_08047DF0(this, ((0x100 - this->direction) & 0xFF) << 8); } } -void (* const gUnk_080D1B4C[5])(Entity*) = { - sub_08046D44, - sub_08046D98, - sub_08046E0C, - sub_08046E68, - sub_08046EF4 -}; +void (*const gUnk_080D1B4C[5])(Entity*) = { sub_08046D44, sub_08046D98, sub_08046E0C, sub_08046E68, sub_08046EF4 }; void sub_08046CEC(Entity* this) { if (this->animIndex == 0) { @@ -330,29 +307,20 @@ void sub_08046CEC(Entity* this) { } gUnk_080D1B4C[this->previousActionFlag](this); UpdateAnimationSingleFrame(this); - if (((Entity*) this->otherEntity)->prev->field_0x6c.HWORD & 2) { + if (((Entity*)this->otherEntity)->prev->field_0x6c.HWORD & 2) { this->action = 2; this->previousActionFlag = 0; this->animationState = this->nonPlanarMovement; } } -const u16 gUnk_080D1B60[8] = { - 0x200, - 0x184, - 0x28C, - 0x210, - 0x200, - 0x29C, - 0x174, - 0x210 -}; +const u16 gUnk_080D1B60[8] = { 0x200, 0x184, 0x28C, 0x210, 0x200, 0x29C, 0x174, 0x210 }; void sub_08046D44(Entity* this) { - const u16 * tmp; + const u16* tmp; this->previousActionFlag = 1; this->nonPlanarMovement = 0x200; - tmp = gUnk_080D1B60 + (((Entity*) this->otherEntity)->next->animationState >> 5); + tmp = gUnk_080D1B60 + (((Entity*)this->otherEntity)->next->animationState >> 5); this->field_0x80.HWORD = tmp[0] + gRoomControls.roomOriginX; this->field_0x82.HWORD = tmp[1] + gRoomControls.roomOriginY; this->field_0x76.HWORD = this->direction << 8; @@ -381,18 +349,16 @@ void sub_08046E0C(Entity* this) { this->field_0x76.HWORD = this->direction << 8; sub_08047D88(this); } else { - this->direction = sub_080045DA(this->field_0x80.HWORD - this->x.HALF.HI, this->field_0x82.HWORD - this->y.HALF.HI); + this->direction = + sub_080045DA(this->field_0x80.HWORD - this->x.HALF.HI, this->field_0x82.HWORD - this->y.HALF.HI); sub_08047DF0(this, ((0x100 - this->direction) & 0xFF) << 8); } } -const s16 gUnk_080D1B70[2] = { - 0x40, - -0x40 -}; +const s16 gUnk_080D1B70[2] = { 0x40, -0x40 }; void sub_08046E68(Entity* this) { - u32 tmp = ((Entity*) this->otherEntity)->next->animationState ^ 0x80; + u32 tmp = ((Entity*)this->otherEntity)->next->animationState ^ 0x80; if (tmp != this->direction) { if (((tmp - this->direction) & 0xFF) > 0x80) { this->field_0x76.HWORD -= 0x100; @@ -411,24 +377,8 @@ void sub_08046E68(Entity* this) { } } -const u16 gUnk_080D1B74[0x10] = { - 0x20, - 0x40, - 0x60, - 0x80, - 0xA0, - 0xC0, - 0xE0, - 0x100, - 0x100, - 0xE0, - 0xC0, - 0xA0, - 0x80, - 0x60, - 0x40, - 0x20 -}; +const u16 gUnk_080D1B74[0x10] = { 0x20, 0x40, 0x60, 0x80, 0xA0, 0xC0, 0xE0, 0x100, + 0x100, 0xE0, 0xC0, 0xA0, 0x80, 0x60, 0x40, 0x20 }; void sub_08046EF4(Entity* this) { if (--this->actionDelay == 0) { @@ -449,18 +399,8 @@ void sub_08046EF4(Entity* this) { sub_08047E48(this); } -void (* const gUnk_080D1B94[0xA])(Entity*) = { - sub_08046FE8, - sub_0804702C, - sub_080470B4, - sub_08047140, - sub_0804717C, - sub_080471C8, - sub_0804723C, - sub_08047284, - sub_080472BC, - sub_08047310 -}; +void (*const gUnk_080D1B94[0xA])(Entity*) = { sub_08046FE8, sub_0804702C, sub_080470B4, sub_08047140, sub_0804717C, + sub_080471C8, sub_0804723C, sub_08047284, sub_080472BC, sub_08047310 }; void sub_08046F64(Entity* this) { if (this->animIndex == 0) { @@ -480,7 +420,7 @@ void sub_08046F64(Entity* this) { UpdateSpriteForCollisionLayer(tmp); } } - if (((Entity*) this->otherEntity)->prev->field_0x6c.HWORD & 4) { + if (((Entity*)this->otherEntity)->prev->field_0x6c.HWORD & 4) { this->action = 5; this->previousActionFlag = 0; } @@ -512,10 +452,7 @@ void sub_0804702C(Entity* this) { } } -const u16 gUnk_080D1BBC[2] = { - 0x1A0, - 0xE0 -}; +const u16 gUnk_080D1BBC[2] = { 0x1A0, 0xE0 }; void sub_080470B4(Entity* this) { u32 tmp = 0x40; @@ -565,7 +502,8 @@ void sub_080471C8(Entity* this) { this->direction++; } sub_08047DF0(this, ((0x100 - this->direction) & 0xFF) << 8); - if (gRoomControls.roomOriginY + 0x190 <= this->y.HALF.HI) return; + if (gRoomControls.roomOriginY + 0x190 <= this->y.HALF.HI) + return; if (this->field_0x74.HWORD > 0x100) { if (Random() & 1) { this->previousActionFlag = 6; @@ -604,7 +542,8 @@ void sub_080472BC(Entity* this) { this->nonPlanarMovement += 8; } sub_08047DF0(this, ((0x100 - this->direction) & 0xFF) << 8); - if (gRoomControls.roomOriginX + 0x2B0 >= this->x.HALF.HI) return; + if (gRoomControls.roomOriginX + 0x2B0 >= this->x.HALF.HI) + return; this->previousActionFlag = 9; this->field_0x76.HWORD = this->direction << 8; } @@ -615,22 +554,15 @@ void sub_08047310(Entity* this) { } this->field_0x76.HWORD -= 0x1D0; this->direction = this->field_0x76.HWORD >> 8; - if ((u8) (this->direction + 0x7F) < 0x40) { + if ((u8)(this->direction + 0x7F) < 0x40) { this->direction = 0xC0; this->previousActionFlag = 4; } sub_08047DF0(this, ((0x100 - this->direction) & 0xFF) << 8); } -void (* const gUnk_080D1BC0[7])(Entity*) = { - sub_080473B8, - sub_080473F0, - sub_08047484, - sub_08047508, - sub_080475F4, - sub_0804763C, - sub_0804772C -}; +void (*const gUnk_080D1BC0[7])(Entity*) = { sub_080473B8, sub_080473F0, sub_08047484, sub_08047508, + sub_080475F4, sub_0804763C, sub_0804772C }; void sub_0804736C(Entity* this) { if (this->animIndex == 1) { @@ -766,7 +698,7 @@ void sub_0804763C(Entity* this) { this->direction = this->field_0x76.HWORD >> 8; } } else { - s32 tmp = (s16) this->field_0x74.HWORD; + s32 tmp = (s16)this->field_0x74.HWORD; if (tmp > 0) { this->field_0x76.HWORD += tmp; this->direction = this->field_0x76.HWORD >> 8; @@ -812,13 +744,7 @@ void sub_0804772C(Entity* this) { sub_08047DF0(this, ((0x100 - this->direction) & 0xFF) << 8); } -void (* const gUnk_080D1BDC[5])(Entity*) = { - sub_08047798, - sub_080477F0, - sub_08047914, - sub_08047978, - sub_08047B08 -}; +void (*const gUnk_080D1BDC[5])(Entity*) = { sub_08047798, sub_080477F0, sub_08047914, sub_08047978, sub_08047B08 }; void sub_08047778(Entity* this) { gUnk_080D1BDC[this->previousActionFlag](this); @@ -838,10 +764,7 @@ void sub_08047798(Entity* this) { sub_08047D88(this); } -const s16 gUnk_080D1BF0[2] = { - 0x80, - -0x80 -}; +const s16 gUnk_080D1BF0[2] = { 0x80, -0x80 }; void sub_080477F0(Entity* this) { if (this->nonPlanarMovement < 0x300) { @@ -865,10 +788,11 @@ void sub_080477F0(Entity* this) { this->previousActionFlag = 2; this->field_0x76.HWORD = this->animationState << 8; this->field_0x74.HWORD = gUnk_080D1BF0[Random() & 1]; - if (((Entity*) this->otherEntity)->prev->field_0x6c.HWORD & 1) { - ((Entity*) this->otherEntity)->next->field_0x78.HALF.HI = gRoomControls.roomOriginX + 0x200 > this->x.HALF.HI ? 0x81 : 0x83; + if (((Entity*)this->otherEntity)->prev->field_0x6c.HWORD & 1) { + ((Entity*)this->otherEntity)->next->field_0x78.HALF.HI = + gRoomControls.roomOriginX + 0x200 > this->x.HALF.HI ? 0x81 : 0x83; } else { - ((Entity*) this->otherEntity)->next->field_0x78.HALF.HI = 0x80; + ((Entity*)this->otherEntity)->next->field_0x78.HALF.HI = 0x80; } } } @@ -883,7 +807,7 @@ void sub_08047914(Entity* this) { this->previousActionFlag = 3; this->field_0x70.HALF.LO = 0x3C; this->field_0x7c.HALF.HI = ((this->entityType.form * 0xF) << 2) + 0x78; - sub_080A1D70(((Entity*) this->otherEntity)->prev, this->animationState); + sub_080A1D70(((Entity*)this->otherEntity)->prev, this->animationState); } } @@ -920,11 +844,13 @@ void sub_08047978(Entity* this) { this->spriteRendering.b3 = 2; this->direction = this->animationState; } - if (this->currentHealth != 0) return; - if (this->attachedEntity->action != 1) return; + if (this->currentHealth != 0) + return; + if (this->attachedEntity->action != 1) + return; this->previousActionFlag = 4; if (this->entityType.form == 0) { - if ((((Entity*) this->otherEntity)->next->animationState >> 6) == 1) { + if ((((Entity*)this->otherEntity)->next->animationState >> 6) == 1) { this->field_0x80.HWORD = gRoomControls.roomOriginX + 0x1C0; this->field_0x82.HWORD = gRoomControls.roomOriginY + 0x250; } else { @@ -945,7 +871,6 @@ void sub_08047978(Entity* this) { } this->field_0x82.HWORD += gRoomControls.roomOriginY; } - } void sub_08047B08(Entity* this) { @@ -953,7 +878,8 @@ void sub_08047B08(Entity* this) { this->direction = sub_080045DA(this->field_0x80.HWORD - this->x.HALF.HI, this->field_0x82.HWORD - this->y.HALF.HI); this->nonPlanarMovement = 0x200; sub_08047E58(this); - if (!sub_0806FCB8(this, this->field_0x80.HWORD, this->field_0x82.HWORD, 4)) return; + if (!sub_0806FCB8(this, this->field_0x80.HWORD, this->field_0x82.HWORD, 4)) + return; if (this->entityType.form == 0) { this->action = 7; this->previousActionFlag = 0; @@ -967,11 +893,7 @@ void sub_08047B08(Entity* this) { } } -void (* const gUnk_080D1BF4[3])(Entity*) = { - sub_08047BA4, - sub_08047BF0, - sub_08047D24 -}; +void (*const gUnk_080D1BF4[3])(Entity*) = { sub_08047BA4, sub_08047BF0, sub_08047D24 }; void sub_08047B84(Entity* this) { gUnk_080D1BF4[this->previousActionFlag](this); @@ -991,12 +913,7 @@ void sub_08047BA4(Entity* this) { sub_08047BF0(this); } -const s8 gUnk_080D1C00[4] = { - 0x40, - -0x40, - -0x40, - 0x40 -}; +const s8 gUnk_080D1C00[4] = { 0x40, -0x40, -0x40, 0x40 }; void sub_08047BF0(Entity* this) { Entity* tmp; @@ -1052,9 +969,9 @@ void sub_08047D24(Entity* this) { this->field_0x7c.HALF_U.HI += 8; if (this->field_0x7c.HALF_U.HI > 0x800) { if (this->entityType.form == 0) { - ((u32*) this->otherEntity)[2] = 0; + ((u32*)this->otherEntity)[2] = 0; } else { - ((u32*) this->otherEntity)[3] = 0; + ((u32*)this->otherEntity)[3] = 0; } this->otherEntity = 0; DeleteThisEntity(); @@ -1074,17 +991,21 @@ void sub_08047D88(Entity* this) { tmp = ((tmp << 1) & 0x7F) | (tmp & 0x80); this->field_0x7c.BYTES.byte0 = tmp; tmp2 = this->spriteRendering.b3; - if (tmp2 == 3 && gPlayerState.field_0x14 != 0) return; - if (this->animIndex == 1) return; - if (!sub_0806FCB8(this, gPlayerEntity.x.HALF.HI, gPlayerEntity.y.HALF.HI, 0x20)) return; + if (tmp2 == 3 && gPlayerState.field_0x14 != 0) + return; + if (this->animIndex == 1) + return; + if (!sub_0806FCB8(this, gPlayerEntity.x.HALF.HI, gPlayerEntity.y.HALF.HI, 0x20)) + return; gPlayerState.field_0x14 = 1; - if (gPlayerEntity.height.HALF.HI != 0) return; + if (gPlayerEntity.height.HALF.HI != 0) + return; this->field_0x7c.BYTES.byte0 |= 1; } void sub_08047DF0(Entity* this, u32 unk1) { u32 oldX, oldY; - sub_08047D88(this); + sub_08047D88(this); sub_08047EA4(this, unk1); oldX = this->x.HALF.HI; oldY = this->y.HALF.HI; @@ -1120,7 +1041,8 @@ void sub_08047EA4(Entity* this, u32 unk1) { u32 tmp2, dir; this->field_0x78.HWORD = unk1; tmp = this->field_0x78.HWORD - this->field_0x7a.HWORD; - if (tmp + 0x100 < 0x200u) return; + if (tmp + 0x100 < 0x200u) + return; if (this->field_0x7c.BYTES.byte0 & 1) { tmp2 = sub_08047F68(this) << 8; dir = sub_080045DA(gPlayerEntity.x.HALF.HI - this->x.HALF.HI, gPlayerEntity.y.HALF.HI - this->y.HALF.HI); @@ -1132,24 +1054,17 @@ void sub_08047EA4(Entity* this, u32 unk1) { this->field_0x7a.HWORD = this->field_0x78.HWORD; } -const u16 gUnk_080D1C04[0x20] = { - 0, 1, 4, 9, - 16, 25, 36, 49, - 64, 81, 100, 121, - 144, 169, 196, 225, - 256, 289, 324, 361, - 400, 441, 484, 529, - 576, 625, 676, 729, - 784, 841, 900, 961 -}; +const u16 gUnk_080D1C04[0x20] = { 0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100, 121, 144, 169, 196, 225, + 256, 289, 324, 361, 400, 441, 484, 529, 576, 625, 676, 729, 784, 841, 900, 961 }; u32 sub_08047F68(Entity* this) { s32 diffX, diffY; s32 distSquared, approx; - diffX = gPlayerEntity.x.HALF.HI - this->x.HALF.HI; + diffX = gPlayerEntity.x.HALF.HI - this->x.HALF.HI; diffY = gPlayerEntity.y.HALF.HI - this->y.HALF.HI; distSquared = (diffX * diffX) + (diffY * diffY); - if (distSquared == 0x400) return 0x20; + if (distSquared == 0x400) + return 0x20; if (distSquared < gUnk_080D1C04[0x10]) { approx = 0x8; } else { @@ -1171,7 +1086,7 @@ u32 sub_08047F68(Entity* this) { approx += 1; } if (distSquared < gUnk_080D1C04[approx]) { - s32 tmp = gUnk_080D1C04[approx-1]; + s32 tmp = gUnk_080D1C04[approx - 1]; tmp += (gUnk_080D1C04[approx] - tmp) / 2; if (distSquared <= tmp) { approx = approx - 1; @@ -1181,22 +1096,26 @@ u32 sub_08047F68(Entity* this) { } void sub_08048004(Entity* this) { - if (this->action == 0) return; + if (this->action == 0) + return; if (this->animIndex == 0) { this->flags &= ~0x80; - if (gPlayerEntity.height.HALF.HI != 0) return; - if (!sub_08079F8C()) return; + if (gPlayerEntity.height.HALF.HI != 0) + return; + if (!sub_08079F8C()) + return; if (this->field_0x7c.BYTES.byte0 & 1) { u32 b = this->spriteRendering.b3; if (b == 3) { - s32 posX = ((gPlayerEntity.x.HALF.HI - gRoomControls.roomOriginX) >> 3); + s32 posX = ((gPlayerEntity.x.HALF.HI - gRoomControls.roomOriginX) >> 3); s32 posY = ((gPlayerEntity.y.HALF.HI - gRoomControls.roomOriginY) >> 3); - u16 * tmp = (u16*)&gUnk_02019EE0; + u16* tmp = (u16*)&gUnk_02019EE0; if (tmp[(posY << 7) + posX]) { if (!(this->field_0x7c.BYTES.byte0 & 2)) { this->field_0x7c.BYTES.byte0 |= 0x80; } - if ((this->field_0x7c.BYTES.byte0 & 0x80)) return; + if ((this->field_0x7c.BYTES.byte0 & 0x80)) + return; gPlayerEntity.x.HALF.HI = this->cutsceneBeh.HWORD; gPlayerEntity.y.HALF.HI = this->field_0x86.HWORD; return; @@ -1208,7 +1127,8 @@ void sub_08048004(Entity* this) { if (b != 3) { if (sub_0806FCB8(&gPlayerEntity, this->x.HALF.HI, this->y.HALF.HI, 0x24)) { if (!(this->field_0x7c.BYTES.byte0 & 2)) { - u32 tmp = sub_080045DA(gPlayerEntity.x.HALF.HI - this->x.HALF.HI, gPlayerEntity.y.HALF.HI - this->y.HALF.HI); + u32 tmp = sub_080045DA(gPlayerEntity.x.HALF.HI - this->x.HALF.HI, + gPlayerEntity.y.HALF.HI - this->y.HALF.HI); gPlayerEntity.x.WORD = this->x.WORD + (gSineTable[tmp] * 9216); gPlayerEntity.y.WORD = this->y.WORD - (gSineTable[tmp + 0x40] * 9216); } @@ -1226,41 +1146,19 @@ void sub_0804813C(Entity* this) { sub_080A1ED0(rand & 7, 1, (rand >> 8) & 3); } - -const u8 gUnk_080D1C44[0xC] = { - 0, 2, 6, 0, - 2, 4, 2, 4, - 6, 0, 4, 6 -}; +const u8 gUnk_080D1C44[0xC] = { 0, 2, 6, 0, 2, 4, 2, 4, 6, 0, 4, 6 }; u32 sub_08048158(u32 unk1) { return gUnk_080D1C44[(unk1 * 3) + ((signed)Random() % 3)]; } -const u16 gUnk_080D1C50[8] = { - 0x200, - 0x180, - 0x2C0, - 0x210, - 0x200, - 0x2A0, - 0x140, - 0x210 -}; +const u16 gUnk_080D1C50[8] = { 0x200, 0x180, 0x2C0, 0x210, 0x200, 0x2A0, 0x140, 0x210 }; -const u16 gUnk_080D1C60[8] = { - 0x200, - 0x150, - 0x290, - 0x210, - 0x200, - 0x2D0, - 0x170, - 0x210 -}; +const u16 gUnk_080D1C60[8] = { 0x200, 0x150, 0x290, 0x210, 0x200, 0x2D0, 0x170, 0x210 }; void sub_08048178(Entity* this, u32 unk1) { - const u16* tmp = ((((Entity*) this->otherEntity)->next->animationState >> 6 & 1) ? gUnk_080D1C60 + unk1: gUnk_080D1C50 + unk1); + const u16* tmp = + ((((Entity*)this->otherEntity)->next->animationState >> 6 & 1) ? gUnk_080D1C60 + unk1 : gUnk_080D1C50 + unk1); this->field_0x80.HWORD = *tmp + gRoomControls.roomOriginX; this->field_0x82.HWORD = *(tmp + 1) + gRoomControls.roomOriginY; } diff --git a/src/fileScreen.c b/src/fileScreen.c index 23384734..0dcd5287 100644 --- a/src/fileScreen.c +++ b/src/fileScreen.c @@ -1146,8 +1146,7 @@ void sub_08051874(void) { gUnk_02019EE0.saveStatus[gUnk_02019EE0.unk7] = temp; switch (temp) { case 1: - _DmaCopy(&gSave, &gUnk_02019EE0.saves[gUnk_02019EE0.unk7], - sizeof(gUnk_02019EE0.saves[gUnk_02019EE0.unk7])); + _DmaCopy(&gSave, &gUnk_02019EE0.saves[gUnk_02019EE0.unk7], sizeof(gUnk_02019EE0.saves[gUnk_02019EE0.unk7])); SetFileSelectState(0); break; case -1: diff --git a/src/item14.c b/src/item14.c index d1e6086d..08b3ec35 100644 --- a/src/item14.c +++ b/src/item14.c @@ -9,42 +9,42 @@ extern u8 gUnk_08003E44; void sub_0805FC74(Entity*); -void Item14(Entity *this) { +void Item14(Entity* this) { gUnk_08109AC8[this->action](this); } void sub_0805FBE8(Entity* this) { - CopyPosition(&gPlayerEntity,this); - this->action++; - this->spriteSettings.b.draw = TRUE; - this->field_0x3c = gPlayerEntity.field_0x3c + 1; - this->boundingBox = &gUnk_08109AD0; - this->nonPlanarMovement = 0x380; - this->animationState = this->animationState & 0x7f; - if (this->collisionLayer == 2) { - this->entityType.parameter = 1; - } - this->direction = this->animationState << 2; - *(u32 *)&this->field_0x6c = 0x3c; - InitializeAnimation(this, (this->animationState >> 1) + 0xc); - sub_0801766C(this); - sub_0806F69C(this); - sub_0805FC74(this); - PlaySFX(0x13f); + CopyPosition(&gPlayerEntity, this); + this->action++; + this->spriteSettings.b.draw = TRUE; + this->field_0x3c = gPlayerEntity.field_0x3c + 1; + this->boundingBox = &gUnk_08109AD0; + this->nonPlanarMovement = 0x380; + this->animationState = this->animationState & 0x7f; + if (this->collisionLayer == 2) { + this->entityType.parameter = 1; + } + this->direction = this->animationState << 2; + *(u32*)&this->field_0x6c = 0x3c; + InitializeAnimation(this, (this->animationState >> 1) + 0xc); + sub_0801766C(this); + sub_0806F69C(this); + sub_0805FC74(this); + PlaySFX(0x13f); } void sub_0805FC74(Entity* this) { int iVar1; - if (--*(int *)&this->field_0x6c != -1) { + if (--*(int*)&this->field_0x6c != -1) { GetNextFrame(this); sub_0806F69C(this); ++this->actionDelay; if (this->entityType.parameter == 0) { sub_0800451C(this); } - if (!sub_080002F0(COORD_TO_TILE(this),gPlayerEntity.collisionLayer,0x80) && - sub_080040D8(this,&gUnk_08003E44, this->x.HALF.HI, this->y.HALF.HI)) { + if (!sub_080002F0(COORD_TO_TILE(this), gPlayerEntity.collisionLayer, 0x80) && + sub_080040D8(this, &gUnk_08003E44, this->x.HALF.HI, this->y.HALF.HI)) { CreateFx(this, 0x19, 0); DeleteThisEntity(); } diff --git a/src/manager.c b/src/manager.c index a57bbae4..27124146 100644 --- a/src/manager.c +++ b/src/manager.c @@ -2,62 +2,13 @@ // TODO: change all manager arguments to be Entity* and cast to specific type later. void (*const gManagerFunctions[])() = { - NULL, - Manager1, - Manager2, - sub_080576C0, - sub_08057854, - sub_08057AD0, - sub_08057CB4, - Manager7_Main, - sub_08057ED0, - sub_080581D8, - sub_08058380, - sub_080585F0, - sub_0805884C, - sub_08058DD0, - sub_08058E60, - sub_08058ECC, - sub_08059570, - sub_080599B8, - sub_080599EC, - sub_08059DAC, - sub_08059E58, - sub_0805A280, - sub_0805AB4C, - sub_0805AD48, - sub_0805ADD8, - sub_0805AF60, - sub_0805B030, - sub_0805B3B4, - sub_0805B53C, - sub_0805B5C8, - Manager1E_Handler, - sub_0805B6F4, - sub_0805B7A0, - sub_0805B820, - sub_0805B8EC, - sub_0805BC74, - sub_0805BF18, - sub_0805C61C, - sub_0805C6B8, - Manager27, - Manager28_Entry, - sub_0805CB90, - sub_0805CFC0, - sub_0805D014, - sub_0805D174, - sub_0805D1FC, - sub_0805D250, - sub_0805D3C8, - Manager30_Main, - sub_0805D630, - sub_0805D7A4, - sub_0805DAE8, - sub_0805DB94, - sub_0805DC84, - sub_0805DDB4, - sub_0805DE38, - sub_0805E0A8, - sub_0805E0FC + NULL, Manager1, Manager2, sub_080576C0, sub_08057854, sub_08057AD0, sub_08057CB4, + Manager7_Main, sub_08057ED0, sub_080581D8, sub_08058380, sub_080585F0, sub_0805884C, sub_08058DD0, + sub_08058E60, sub_08058ECC, sub_08059570, sub_080599B8, sub_080599EC, sub_08059DAC, sub_08059E58, + sub_0805A280, sub_0805AB4C, sub_0805AD48, sub_0805ADD8, sub_0805AF60, sub_0805B030, sub_0805B3B4, + sub_0805B53C, sub_0805B5C8, Manager1E_Handler, sub_0805B6F4, sub_0805B7A0, sub_0805B820, sub_0805B8EC, + sub_0805BC74, sub_0805BF18, sub_0805C61C, sub_0805C6B8, Manager27, Manager28_Entry, sub_0805CB90, + sub_0805CFC0, sub_0805D014, sub_0805D174, sub_0805D1FC, sub_0805D250, sub_0805D3C8, Manager30_Main, + sub_0805D630, sub_0805D7A4, sub_0805DAE8, sub_0805DB94, sub_0805DC84, sub_0805DDB4, sub_0805DE38, + sub_0805E0A8, sub_0805E0FC }; diff --git a/src/manager/manager1E.c b/src/manager/manager1E.c index cf45af71..363c3113 100644 --- a/src/manager/manager1E.c +++ b/src/manager/manager1E.c @@ -6,28 +6,22 @@ typedef struct { Manager manager; - u8 unk_20[0x14];//unused + u8 unk_20[0x14]; // unused u16 radiusX; u16 radiusY; s16 posX; s16 posY; - u8 unk_3c[2];//unused + u8 unk_3c[2]; // unused u16 playerInRegionFlag; } Manager1E; -enum Manager1E_State { - Init, - ObserveRegion -}; +enum Manager1E_State { Init, ObserveRegion }; void Manager1E_Handler(Manager1E*); void Manager1E_Init(Manager1E*); void Manager1E_ObserveRegion(Manager1E*); -void (* const Manager1E_ActionFuncs[2])(Manager1E*) = { - Manager1E_Init, - Manager1E_ObserveRegion -}; +void (*const Manager1E_ActionFuncs[2])(Manager1E*) = { Manager1E_Init, Manager1E_ObserveRegion }; void Manager1E_Handler(Manager1E* this) { Manager1E_ActionFuncs[this->manager.action](this); diff --git a/src/manager/manager26.c b/src/manager/manager26.c index dda5761c..80613c41 100644 --- a/src/manager/manager26.c +++ b/src/manager/manager26.c @@ -17,16 +17,12 @@ void sub_0805C6D0(Manager26*); void sub_0805C7A0(Manager26*); void sub_0805C7C4(Manager26*); -void (* const gUnk_08108D04[])(Manager26*) = { - sub_0805C6D0, - sub_0805C7A0, - sub_0805C7C4 -}; +void (*const gUnk_08108D04[])(Manager26*) = { sub_0805C6D0, sub_0805C7A0, sub_0805C7C4 }; void sub_0805C7CC(Manager26*); void sub_0805C6B8(Manager26* this) { - gUnk_08108D04[this->manager.action](this); + gUnk_08108D04[this->manager.action](this); } void sub_0805C6D0(Manager26* this) { @@ -46,7 +42,7 @@ void sub_0805C6D0(Manager26* this) { obj->actionDelay = tmp->unk_03; obj->x.HALF.HI = gRoomControls.roomOriginX + tmp->unk_04; obj->y.HALF.HI = gRoomControls.roomOriginY + tmp->unk_06; - obj->parent = (Entity*) this; + obj->parent = (Entity*)this; obj->collisionLayer = 1; obj->field_0x82.HALF.HI = this->manager.unk_0e; obj->field_0x82.HALF.LO = tmp->unk_00; @@ -75,7 +71,7 @@ void sub_0805C7A0(Manager26* this) { } void sub_0805C7C4(Manager26* this) { - sub_0805C7CC(this); + sub_0805C7CC(this); } void sub_0805C7CC(Manager26* this) { diff --git a/src/manager/manager27.c b/src/manager/manager27.c index 641fdc9b..36719574 100644 --- a/src/manager/manager27.c +++ b/src/manager/manager27.c @@ -11,16 +11,9 @@ void sub_0805C894(Entity*); void sub_0805C8B4(Entity*); void sub_0805C908(Entity*); -void (*const gUnk_08108D10[])(Entity*) = { - sub_0805C874, - sub_0805C894, - sub_0805C8B4, - sub_0805C908 -}; +void (*const gUnk_08108D10[])(Entity*) = { sub_0805C874, sub_0805C894, sub_0805C8B4, sub_0805C908 }; -const u8 gUnk_08108D20[] = { - 0x6F, 0x70, 0x71, 0x72, 0x71, 0x70 -}; +const u8 gUnk_08108D20[] = { 0x6F, 0x70, 0x71, 0x72, 0x71, 0x70 }; void Manager27(Entity* this) { diff --git a/src/manager/manager28.c b/src/manager/manager28.c index 66864d13..9f518f1c 100644 --- a/src/manager/manager28.c +++ b/src/manager/manager28.c @@ -18,20 +18,11 @@ u32 Manager28_FindMatchingEntities(Manager28*); Entity* Manager28_FindMatchingEntity(EntityData*); void Manager28_RemoveDeletedEntities(Manager28*); -void (* const Manager28_ActionFuncs[])(Manager28*) = { - Manager28_Init, - Manager28_Main -}; +void (*const Manager28_ActionFuncs[])(Manager28*) = { Manager28_Init, Manager28_Main }; -enum Manager28_Action { - Init = 0, - Main = 1 -}; +enum Manager28_Action { Init = 0, Main = 1 }; -enum Manager28_InitState { - DoInit = 0, - DoNotInit = 1 -}; +enum Manager28_InitState { DoInit = 0, DoNotInit = 1 }; void Manager28_Entry(Manager28* this) { Manager28_ActionFuncs[this->manager.action](this); @@ -46,7 +37,7 @@ void Manager28_Init(Manager28* this) { } tmp2 = Manager28_FindMatchingEntities(this); if (tmp2 > 1) { - Manager28* tmp3 = (Manager28*) GetEmptyManager(); + Manager28* tmp3 = (Manager28*)GetEmptyManager(); if (tmp3) { tmp3->manager.type = 9; tmp3->manager.subtype = 0x28; @@ -92,20 +83,26 @@ void Manager28_Main(Manager28* this) { u32 Manager28_FindMatchingEntities(Manager28* this) { u32 re = 0; - EntityData * tmp = GetCurrentRoomProperty(this->manager.unk_0b); - if (!tmp) return 0; - for (; *((u8*) tmp) != 0xFF && !(tmp->type == 9 && tmp->subtype == 0x28); tmp++) { + EntityData* tmp = GetCurrentRoomProperty(this->manager.unk_0b); + if (!tmp) + return 0; + for (; *((u8*)tmp) != 0xFF && !(tmp->type == 9 && tmp->subtype == 0x28); tmp++) { Entity* tmp2; u32 i; - if (tmp->type != 3) continue; + if (tmp->type != 3) + continue; tmp2 = Manager28_FindMatchingEntity(tmp); - if (!tmp2) continue; + if (!tmp2) + continue; for (i = 0; i < re; i++) { - if (this->d.enemies[i] == tmp2) break; + if (this->d.enemies[i] == tmp2) + break; } - if (i != re) continue; + if (i != re) + continue; this->d.enemies[re++] = tmp2; - if (re == 8) return 8; + if (re == 8) + return 8; } return re; } @@ -115,15 +112,12 @@ Entity* Manager28_FindMatchingEntity(EntityData* unk1) { Entity* i; LinkedList* tmp; x = unk1->xPos + gRoomControls.roomOriginX; - y = unk1->yPos + gRoomControls.roomOriginY; - tmp = &gUnk_03003D90; - for (i = tmp->first; (u32) i != (u32) tmp; i = i->next) { - if (x == i->x.HALF.HI - && y == i->y.HALF.HI - && unk1->subtype == i->entityType.subtype - && 3 == i->entityType.type - && unk1->form == i->entityType.form) { - return i; + y = unk1->yPos + gRoomControls.roomOriginY; + tmp = &gUnk_03003D90; + for (i = tmp->first; (u32)i != (u32)tmp; i = i->next) { + if (x == i->x.HALF.HI && y == i->y.HALF.HI && unk1->subtype == i->entityType.subtype && + 3 == i->entityType.type && unk1->form == i->entityType.form) { + return i; } } return 0; @@ -133,13 +127,14 @@ void Manager28_RemoveDeletedEntities(Manager28* this) { s32 i; for (i = 0; i < this->manager.unk_0e; i++) { if (this->d.enemies[i]->next == 0) { - if (this->manager.unk_0e-1 == i) { + if (this->manager.unk_0e - 1 == i) { this->d.enemies[i] = 0; } else { - this->d.enemies[i] = this->d.enemies[this->manager.unk_0e-1]; + this->d.enemies[i] = this->d.enemies[this->manager.unk_0e - 1]; } this->manager.unk_0e--; } } - if (this->manager.unk_0e <= 1) DeleteThisEntity(); + if (this->manager.unk_0e <= 1) + DeleteThisEntity(); } diff --git a/src/manager/manager39.c b/src/manager/manager39.c index 9228b682..134e1551 100644 --- a/src/manager/manager39.c +++ b/src/manager/manager39.c @@ -7,20 +7,20 @@ typedef struct { Manager manager; - u8 unk_20;//unused - u8 unk_21[0x13];//unused - u16 unk_34;//unused - u16 unk_36;//unused - s16 unk_38;//unused - s16 unk_3A;//unused - u16 unk_3C;//unused - u16 unk_3E;//unused + u8 unk_20; // unused + u8 unk_21[0x13]; // unused + u16 unk_34; // unused + u16 unk_36; // unused + s16 unk_38; // unused + s16 unk_3A; // unused + u16 unk_3C; // unused + u16 unk_3E; // unused } Manager39; extern u8 gUnk_02034DF0[0x2F2]; extern const u16 gUnk_08108DE8[]; -extern void (* const gUnk_08108E28[])(Manager39*); +extern void (*const gUnk_08108E28[])(Manager39*); extern const u8 gUnk_08108E30[0x18]; extern const u8 gUnk_08108E48[0x18]; extern const u8 gUnk_08108E60[]; @@ -31,14 +31,13 @@ extern u32 CheckIsDungeon(void); extern void sub_0805E5B4(void); void sub_0805E140(Manager39*); -void sub_0805E18C(Manager39*); //unused? +void sub_0805E18C(Manager39*); // unused? void sub_0805E1D8(Manager39*); void sub_0805E1F8(u32, u32); void sub_0805E0FC(Manager39* this) { gUnk_08108E28[this->manager.action](this); - if ((gRoomControls.roomID != this->unk_20) - || (gTextBox.doTextBox & 0x7F)) { + if ((gRoomControls.roomID != this->unk_20) || (gTextBox.doTextBox & 0x7F)) { sub_0805E1D8(this); } } @@ -49,12 +48,13 @@ void sub_0805E140(Manager39* this) { this->unk_20 = gRoomControls.roomID; this->manager.unk_0e = 0x78; this->manager.unk_0f = 0x3c; - sub_0805E3A0((Entity*) this, 7); + sub_0805E3A0((Entity*)this, 7); sub_0805E1F8(gUnk_08108DE8[gArea.locationIndex], CheckIsDungeon()); } void sub_0805E18C(Manager39* this) { - if (gFadeControl.active) return; + if (gFadeControl.active) + return; if (this->manager.unk_0b) { if (!--this->manager.unk_0f) { this->manager.unk_0b = 0; @@ -80,13 +80,14 @@ void sub_0805E1F8(u32 unk0, u32 unk1) { u8 unk_05; u8 unk_06[3]; } PACKED tmp; - const u8 * tmp2; + const u8* tmp2; _DmaZero(&gUnk_02034DF0, 0x80); _DmaCopy(gUnk_08108E60, &tmp, sizeof(tmp)); - tmp.unk_04 = unk0>>8; + tmp.unk_04 = unk0 >> 8; tmp.unk_05 = unk0; tmp2 = gUnk_08108E48; - if (!unk1) tmp2 = gUnk_08108E30; + if (!unk1) + tmp2 = gUnk_08108E30; sub_0805F46C(&tmp, tmp2); gScreen.bg.bg3Control = 1; } diff --git a/src/manager/managerC.c b/src/manager/managerC.c index 2eec1a0d..25aed20e 100644 --- a/src/manager/managerC.c +++ b/src/manager/managerC.c @@ -9,10 +9,9 @@ #include "functions.h" #include "save.h" - typedef struct { Manager manager; - s32 unk_20; + s32 unk_20; union SplitWord unk_24; u32 unk_28; u32 unk_2c; @@ -26,7 +25,7 @@ typedef struct { u16 unk_6; } struct_08108228; -void (* const gUnk_0810821C[])(ManagerC*); +void (*const gUnk_0810821C[])(ManagerC*); const struct_08108228 gUnk_08108228[6]; const struct_08108228 gUnk_08108258[6]; const struct_08108228 gUnk_08108288[6]; @@ -60,11 +59,7 @@ void sub_08058894(ManagerC*); void sub_080588CC(ManagerC*); void nullsub_108(ManagerC*); -void (* const gUnk_0810821C[])(ManagerC*) = { - sub_08058894, - sub_080588CC, - nullsub_108 -}; +void (*const gUnk_0810821C[])(ManagerC*) = { sub_08058894, sub_080588CC, nullsub_108 }; void sub_0805884C(ManagerC* this) { u32 tmp; @@ -90,9 +85,10 @@ void sub_080588CC(ManagerC* this) { } } -void nullsub_108(ManagerC* this) {} +void nullsub_108(ManagerC* this) { +} -#define ABS_DIFF_GT(a, b, c) (signed) a - b >= 0 ? a - b > c : b - a > c +#define ABS_DIFF_GT(a, b, c) (signed)a - b >= 0 ? a - b > c : b - a > c void sub_080588F8(ManagerC* this) { if (this->manager.unk_0f == 0) { @@ -126,8 +122,8 @@ void sub_080588F8(ManagerC* this) { this->unk_24.WORD += tmp2; } if (ABS_DIFF_GT(this->unk_2c, this->unk_24.WORD, 0x100000)) { - this->unk_2c = this->unk_24.WORD; - PlaySFX(0x8b); + this->unk_2c = this->unk_24.WORD; + PlaySFX(0x8b); } } } @@ -140,50 +136,27 @@ void sub_080588F8(ManagerC* this) { } } -const struct_08108228 gUnk_08108228[6] = { - {0x40, 0x2A, 0x1C, 0x10}, - {0x3C, 0x24, 0x1C, 0x12}, - {0x3C, 0x1C, 0x1A, 0x18}, - {0x38, 0x16, 0x1C, 0x16}, - {0x34, 0x16, 0x1E, 0x0E}, - {0x30, 0x16, 0x20, 0x0A} -}; +const struct_08108228 gUnk_08108228[6] = { { 0x40, 0x2A, 0x1C, 0x10 }, { 0x3C, 0x24, 0x1C, 0x12 }, + { 0x3C, 0x1C, 0x1A, 0x18 }, { 0x38, 0x16, 0x1C, 0x16 }, + { 0x34, 0x16, 0x1E, 0x0E }, { 0x30, 0x16, 0x20, 0x0A } }; -const struct_08108228 gUnk_08108258[6] = { - {0x30, 0x88, 0x20, 0x0A}, - {0x34, 0x7E, 0x1E, 0x12}, - {0x38, 0x78, 0x1A, 0x16}, - {0x3A, 0x70, 0x1A, 0x18}, - {0x3C, 0x64, 0x1E, 0x1E}, - {0x3E, 0x6A, 0x1C, 0x10} -}; +const struct_08108228 gUnk_08108258[6] = { { 0x30, 0x88, 0x20, 0x0A }, { 0x34, 0x7E, 0x1E, 0x12 }, + { 0x38, 0x78, 0x1A, 0x16 }, { 0x3A, 0x70, 0x1A, 0x18 }, + { 0x3C, 0x64, 0x1E, 0x1E }, { 0x3E, 0x6A, 0x1C, 0x10 } }; -const struct_08108228 gUnk_08108288[6] = { - {0x98, 0x2A, 0x1C, 0x10}, - {0x98, 0x24, 0x1C, 0x12}, - {0x9C, 0x1C, 0x1A, 0x18}, - {0x9C, 0x16, 0x1C, 0x16}, - {0xA0, 0x16, 0x1E, 0x0E}, - {0xA0, 0x16, 0x20, 0x0A} -}; +const struct_08108228 gUnk_08108288[6] = { { 0x98, 0x2A, 0x1C, 0x10 }, { 0x98, 0x24, 0x1C, 0x12 }, + { 0x9C, 0x1C, 0x1A, 0x18 }, { 0x9C, 0x16, 0x1C, 0x16 }, + { 0xA0, 0x16, 0x1E, 0x0E }, { 0xA0, 0x16, 0x20, 0x0A } }; -const struct_08108228 gUnk_081082B8[6] = { - {0xA0, 0x88, 0x20, 0x0A}, - {0x9E, 0x7E, 0x1E, 0x12}, - {0x9C, 0x78, 0x1A, 0x16}, - {0x9A, 0x70, 0x1A, 0x18}, - {0x98, 0x64, 0x1E, 0x1E}, - {0x98, 0x6A, 0x1C, 0x10} -}; +const struct_08108228 gUnk_081082B8[6] = { { 0xA0, 0x88, 0x20, 0x0A }, { 0x9E, 0x7E, 0x1E, 0x12 }, + { 0x9C, 0x78, 0x1A, 0x16 }, { 0x9A, 0x70, 0x1A, 0x18 }, + { 0x98, 0x64, 0x1E, 0x1E }, { 0x98, 0x6A, 0x1C, 0x10 } }; void sub_08058A04(ManagerC* this) { s32 tmp = gPlayerEntity.x.HALF.HI - gRoomControls.roomOriginX; s32 tmp2 = gPlayerEntity.y.HALF.HI - gRoomControls.roomOriginY; - if ((this->unk_20 - 0x118 < 0xDu) && - CheckGlobalFlag(LV1TARU_OPEN) && - (tmp - 0x6d < 0x17u) && - (tmp2 - 0x45 < 0x17u) && - (gPlayerEntity.height.HALF.HI == 0)) { + if ((this->unk_20 - 0x118 < 0xDu) && CheckGlobalFlag(LV1TARU_OPEN) && (tmp - 0x6d < 0x17u) && + (tmp2 - 0x45 < 0x17u) && (gPlayerEntity.height.HALF.HI == 0)) { gPlayerState.playerAction = 3; gPlayerState.field_0x38 = 0; gPlayerEntity.x.HALF.HI = gRoomControls.roomOriginX + 0x78; @@ -228,12 +201,7 @@ u32 sub_08058B08(ManagerC* this, u32 unk1, u32 unk2, const struct_08108228* unk3 } } -const u16 gUnk_081082E8[0xC] = { - 0xB8, 0x80, 0x0, - 0xB8, 0x110, 0x2, - 0x118, 0x80, 0x2, - 0x118, 0x110, 0x0 -}; +const u16 gUnk_081082E8[0xC] = { 0xB8, 0x80, 0x0, 0xB8, 0x110, 0x2, 0x118, 0x80, 0x2, 0x118, 0x110, 0x0 }; void sub_08058B5C(ManagerC* this, u32 unk1) { gScreenTransition.transitioningOut = 1; @@ -242,14 +210,14 @@ void sub_08058B5C(ManagerC* this, u32 unk1) { gScreenTransition.areaID = gRoomControls.areaID; gScreenTransition.roomID = 6; gScreenTransition.playerState = unk1 & 1 ? 4 : 0; - gScreenTransition.playerStartPos.HALF.x = gUnk_081082E8[unk1*3]; - gScreenTransition.playerStartPos.HALF.y = gUnk_081082E8[unk1*3+1]; - gSave.unk7 = gUnk_081082E8[unk1*3+2]; + gScreenTransition.playerStartPos.HALF.x = gUnk_081082E8[unk1 * 3]; + gScreenTransition.playerStartPos.HALF.y = gUnk_081082E8[unk1 * 3 + 1]; + gSave.unk7 = gUnk_081082E8[unk1 * 3 + 2]; PlaySFX(0x121); } void sub_08058BC8(ManagerC* this) { - struct BgAffineDstData * tmp = &gUnk_02017AA0[gUnk_03003DE4[0]*0xA0]; + struct BgAffineDstData* tmp = &gUnk_02017AA0[gUnk_03003DE4[0] * 0xA0]; struct BgAffineSrcData tmp2; s32 tmp3; tmp2.texX = 0x10000; @@ -262,25 +230,25 @@ void sub_08058BC8(ManagerC* this) { do { u32 indx = ((tmp3 << 7) / 0xA0) & 0xFF; tmp2.sx = 0x100 + ((gSineTable[indx] * 3) >> 2); - tmp2.sy = 0x100 - ((gSineTable[indx * 2] * 2) >> 5);//yes, it makes no sense to multiply first and then shift right, but it's matching this way + tmp2.sy = + 0x100 - ((gSineTable[indx * 2] * 2) >> + 5); // yes, it makes no sense to multiply first and then shift right, but it's matching this way tmp2.texY = (this->unk_20 + tmp3) << 8; BgAffineSet(&tmp2, tmp, 1); tmp++; - } while (++tmp3<0xA0u); - tmp = &gUnk_02017BA0[gUnk_03003DE4[0]*0xA0]; + } while (++tmp3 < 0xA0u); + tmp = &gUnk_02017BA0[gUnk_03003DE4[0] * 0xA0]; gScreen.controls.bg2dx = tmp->pa; gScreen.controls.bg2dmx = tmp->pb; gScreen.controls.bg2dy = tmp->pc; gScreen.controls.bg2dmy = tmp->pd; - gScreen.controls.bg2xPointLeastSig = ((union SplitWord *) &tmp->dx)->HALF.LO; - gScreen.controls.bg2xPointMostSig = ((union SplitWord *) &tmp->dx)->HALF.HI; - gScreen.controls.bg2yPointLeastSig = ((union SplitWord *) &tmp->dy)->HALF.LO; - gScreen.controls.bg2yPointMostSig = ((union SplitWord *) &tmp->dy)->HALF.HI; + gScreen.controls.bg2xPointLeastSig = ((union SplitWord*)&tmp->dx)->HALF.LO; + gScreen.controls.bg2xPointMostSig = ((union SplitWord*)&tmp->dx)->HALF.HI; + gScreen.controls.bg2yPointLeastSig = ((union SplitWord*)&tmp->dy)->HALF.LO; + gScreen.controls.bg2yPointMostSig = ((union SplitWord*)&tmp->dy)->HALF.HI; } -const u16 gUnk_08108300[4] = { - 0xA4, 0x4C, 0xF4, 0x9C -}; +const u16 gUnk_08108300[4] = { 0xA4, 0x4C, 0xF4, 0x9C }; void sub_08058CB0(ManagerC* this) { u32 tmp = gPlayerEntity.x.HALF.HI - gRoomControls.roomOriginX; diff --git a/src/npc/festari.c b/src/npc/festari.c index fa1dac19..ad1635bd 100644 --- a/src/npc/festari.c +++ b/src/npc/festari.c @@ -38,7 +38,7 @@ void sub_0805FE48(Entity* this) { InitAnimationForceUpdate(this, sub_0806F5A4(GetFacingDirection(this, &gPlayerEntity))); sub_0806F118(this); } else { - ExecuteScriptCommandSet(this, *(ScriptExecutionContext **)&this->cutsceneBeh); + ExecuteScriptCommandSet(this, *(ScriptExecutionContext**)&this->cutsceneBeh); sub_0805FF2C(this, *(void**)&this->cutsceneBeh); uVar4 = this->field_0x80.HWORD; if (uVar4 < 8) { diff --git a/src/object/houseDoorExterior.c b/src/object/houseDoorExterior.c index ddf5b87e..8ef49de2 100644 --- a/src/object/houseDoorExterior.c +++ b/src/object/houseDoorExterior.c @@ -65,7 +65,7 @@ void sub_080866D8(Entity* this) { UpdateSpriteForCollisionLayer(entity); *((u32*)(&this->field_0x68)) |= mask; if (prop->unk8) { - *((ScriptExecutionContext **)(&entity->cutsceneBeh)) = StartCutscene(entity, (u16*)prop->unk8); + *((ScriptExecutionContext**)(&entity->cutsceneBeh)) = StartCutscene(entity, (u16*)prop->unk8); } } } @@ -117,7 +117,7 @@ static void sub_0808681C(Entity* this) { } if (this->flags & 0x2) { - ExecuteScriptCommandSet(this, *(ScriptExecutionContext **)&this->cutsceneBeh); + ExecuteScriptCommandSet(this, *(ScriptExecutionContext**)&this->cutsceneBeh); sub_080868EC(this, *(void**)&this->cutsceneBeh); } } @@ -129,7 +129,7 @@ void sub_080868B0(Entity* this) { this->boundingBox = &gUnk_081206AC; this->actionDelay = 8; } - ExecuteScriptCommandSet(this, *(ScriptExecutionContext **)&this->cutsceneBeh); + ExecuteScriptCommandSet(this, *(ScriptExecutionContext**)&this->cutsceneBeh); sub_080868EC(this, *(void**)&this->cutsceneBeh); } diff --git a/src/player.c b/src/player.c index f4264601..8b1c47b0 100644 --- a/src/player.c +++ b/src/player.c @@ -487,7 +487,7 @@ void sub_080712F0(Entity* this) { sub_08079458(); } -void sub_08071380(Entity *this) { +void sub_08071380(Entity* this) { gPlayerState.field_0xa8 = 0xe; gUnk_0811BA9C[this->previousActionFlag](this); @@ -499,7 +499,7 @@ void sub_08071380(Entity *this) { if ((gInput.newKeys & 0x102) == 0) return; - + if (CheckIsDungeon() || gArea.field_0x17 == 3) { this->previousActionFlag = 7; this->actionDelay = 30; @@ -528,7 +528,7 @@ void sub_08071400(Entity* this) { sub_08073904(this); UpdateAnimationSingleFrame(this); - + if (gPlayerState.jumpStatus == 0) { gPlayerState.flags.all |= 0x20; this->previousActionFlag = 1; @@ -538,9 +538,9 @@ void sub_08071400(Entity* this) { gPlayerState.field_0x8 = 0x52c; } } - + this->actionDelay = 8; - + if (gArea.field_0x17 != 3) { this->spritePriority.b0 = 3; } diff --git a/src/playerItem.c b/src/playerItem.c index 97c37c23..364502d0 100644 --- a/src/playerItem.c +++ b/src/playerItem.c @@ -21,29 +21,8 @@ extern void sub_080A306C(); extern void NulledItem(); void (*const gPlayerItemFunctions[])() = { - DeleteEntity, - sub_080A7544, - sub_0801B188, - sub_0801B45C, - sub_08018FCC, - sub_080A2D74, - sub_08054A40, - sub_08056330, - sub_080ADA30, - sub_080704BC, - DeleteEntity, - DeleteEntity, - sub_0801B898, - CellOverwriteSet, - SwordSpin, - SwordBeam, - sub_080ACBCC, - Item11, - sub_080700E8, - sub_080ACF14, - Item14, - sub_080A306C, - SwordBeam, - NulledItem, - CellOverwriteSet + DeleteEntity, sub_080A7544, sub_0801B188, sub_0801B45C, sub_08018FCC, sub_080A2D74, sub_08054A40, + sub_08056330, sub_080ADA30, sub_080704BC, DeleteEntity, DeleteEntity, sub_0801B898, CellOverwriteSet, + SwordSpin, SwordBeam, sub_080ACBCC, Item11, sub_080700E8, sub_080ACF14, Item14, + sub_080A306C, SwordBeam, NulledItem, CellOverwriteSet }; diff --git a/src/save.c b/src/save.c index 281e54c5..c6d0bfcd 100644 --- a/src/save.c +++ b/src/save.c @@ -203,71 +203,71 @@ u32 sub_0807CF88(u32 arg0, u8* arg1) { } NONMATCH("asm/non_matching/save/sub_0807D008.inc", u32 sub_0807D008(u32 param_1, SaveFile* saveFile)) { - u32 set_0; - char auStack32[8]; + u32 set_0; + char auStack32[8]; - struct_0807D1C4* unk_s; - u32 t1; - u32 t2; - u32 ret; - u32 temp; + struct_0807D1C4* unk_s; + u32 t1; + u32 t2; + u32 ret; + u32 temp; - unk_s = sub_0807D1C4(param_1); - t1 = sub_0807D0EC(unk_s->field_0x2, auStack32); - if (t1 == 2) { - if ((sub_0807D1D8(unk_s->field_0x6, (char*)saveFile, unk_s->field_0x0) == 0) || - (sub_0807D0A0((u16*)auStack32, (u16*)saveFile, (u32)unk_s->field_0x0) == 0)) { - t1 = 0; - } else { - return 1; - } + unk_s = sub_0807D1C4(param_1); + t1 = sub_0807D0EC(unk_s->field_0x2, auStack32); + if (t1 == 2) { + if ((sub_0807D1D8(unk_s->field_0x6, (char*)saveFile, unk_s->field_0x0) == 0) || + (sub_0807D0A0((u16*)auStack32, (u16*)saveFile, (u32)unk_s->field_0x0) == 0)) { + t1 = 0; + } else { + return 1; } - t2 = sub_0807D0EC(unk_s->field_0x4, auStack32); - if (t2 == 2) { - if ((sub_0807D1D8(unk_s->field_0x8, (char*)saveFile, unk_s->field_0x0) != 0) && - (sub_0807D0A0((u16*)auStack32, (u16*)saveFile, (u32)unk_s->field_0x0) != 0)) { - return 1; - } - t2 = 0; - } - set_0 = 0; - CpuSet(&set_0, saveFile, unk_s->field_0x0 >> 2 | CPU_SET_SRC_FIXED | CPU_SET_32BIT); - temp = t1 | t2; - ret = 0; - if (temp == 0) { - ret = -1; - } - return ret; } + t2 = sub_0807D0EC(unk_s->field_0x4, auStack32); + if (t2 == 2) { + if ((sub_0807D1D8(unk_s->field_0x8, (char*)saveFile, unk_s->field_0x0) != 0) && + (sub_0807D0A0((u16*)auStack32, (u16*)saveFile, (u32)unk_s->field_0x0) != 0)) { + return 1; + } + t2 = 0; + } + set_0 = 0; + CpuSet(&set_0, saveFile, unk_s->field_0x0 >> 2 | CPU_SET_SRC_FIXED | CPU_SET_32BIT); + temp = t1 | t2; + ret = 0; + if (temp == 0) { + ret = -1; + } + return ret; +} END_NONMATCH NONMATCH("asm/non_matching/save/sub_0807D0A0.inc", u32 sub_0807D0A0(u16* unk_1, u16* unk_2, u32 unk_3)) { - u32 r0; + u32 r0; - u32* u32_1 = (u32*)unk_1; + u32* u32_1 = (u32*)unk_1; - u16 u0; - u32 u1; + u16 u0; + u32 u1; - u0 = sub_0807D1A4(unk_1 + 2, 4); - u0 = u0 + sub_0807D1A4(unk_2, unk_3); + u0 = sub_0807D1A4(unk_1 + 2, 4); + u0 = u0 + sub_0807D1A4(unk_2, unk_3); - u1 = unk_1[0]; - if (u1 != u0) { - r0 = 0; - } else { - if (unk_1[1] == (-(u1 << 0x10) >> 0x10)) { - if (*(u32_1 + 1) != 'MCZ3') { - r0 = 0; - } else { - r0 = 1; - } - } else { + u1 = unk_1[0]; + if (u1 != u0) { + r0 = 0; + } else { + if (unk_1[1] == (-(u1 << 0x10) >> 0x10)) { + if (*(u32_1 + 1) != 'MCZ3') { r0 = 0; + } else { + r0 = 1; } + } else { + r0 = 0; } - return r0; } + return r0; +} END_NONMATCH u32 sub_0807D0EC(u32 unk_1, const char* unk_2) { @@ -336,33 +336,33 @@ struct_0807D1C4* sub_0807D1C4(u32 unk_1) { // these three are basically the same and wrong by basically one instruction in the wrong place NONMATCH("asm/non_matching/save/sub_0807D1D8.inc", u32 sub_0807D1D8(u32 unk_1, const char* unk_2, u32 unk_3)) { - } +} END_NONMATCH NONMATCH("asm/non_matching/save/sub_0807D20C.inc", u32 sub_0807D20C(u32 unk_1, const char* unk_2, u32 unk_3)) { - unk_3 >>= 3; - unk_1 >>= 3; - while (unk_3-- > 0) { - if (sub_080B18DC(unk_1, unk_2)) { - sub_080B18DC(unk_1, gUnk_0811E4B4); - return 0; - } - unk_1++; - unk_2 += 8; + unk_3 >>= 3; + unk_1 >>= 3; + while (unk_3-- > 0) { + if (sub_080B18DC(unk_1, unk_2)) { + sub_080B18DC(unk_1, gUnk_0811E4B4); + return 0; } - return 1; + unk_1++; + unk_2 += 8; } + return 1; +} END_NONMATCH NONMATCH("asm/non_matching/save/sub_0807D24C.inc", u32 sub_0807D24C(u32 unk_1, const char* unk_2, u32 unk_3)) { - unk_3 >>= 3; - unk_1 >>= 3; - while (unk_3-- > 0) { - if (sub_080B180C(unk_1, unk_2)) - return 0; - unk_1++; - unk_2 += 8; - } - return 1; + unk_3 >>= 3; + unk_1 >>= 3; + while (unk_3-- > 0) { + if (sub_080B180C(unk_1, unk_2)) + return 0; + unk_1++; + unk_2 += 8; } + return 1; +} END_NONMATCH diff --git a/src/screenDebug.c b/src/screenDebug.c index a370e373..5efe9713 100644 --- a/src/screenDebug.c +++ b/src/screenDebug.c @@ -18,7 +18,7 @@ extern u8 gBG3Buffer[]; extern void (*const gUnk_08109A30[])(); void HandleDebugTextScreen() { - gUnk_08109A30[gUnk_03001000.funcIndex](); + gUnk_08109A30[gUnk_03001000.funcIndex](); } void sub_0805FA04(void) { diff --git a/src/script.c b/src/script.c index 2f38b5f3..c5284391 100644 --- a/src/script.c +++ b/src/script.c @@ -12,7 +12,7 @@ void sub_0807DAF0(Entity*, ScriptExecutionContext*, u16*); void sub_0807DB88(ScriptExecutionContext*, u16*); void sub_0807DE80(Entity*); void sub_0807DF38(void); -void nullsub_507 (Entity*, ScriptExecutionContext*); +void nullsub_507(Entity*, ScriptExecutionContext*); void sub_0807E004(Entity*, ScriptExecutionContext*); void sub_0807E014(Entity*, ScriptExecutionContext*); void sub_0807E024(Entity*, ScriptExecutionContext*); @@ -71,7 +71,7 @@ void sub_0807E75C(Entity*, ScriptExecutionContext*); void sub_0807E778(Entity*, ScriptExecutionContext*); void sub_0807E788(Entity*, ScriptExecutionContext*); void sub_0807E79C(Entity*, ScriptExecutionContext*); -void nullsub_508 (Entity*, ScriptExecutionContext*); +void nullsub_508(Entity*, ScriptExecutionContext*); void sub_0807E7B0(Entity*, ScriptExecutionContext*); void sub_0807E7C4(Entity*, ScriptExecutionContext*); void sub_0807E7D8(Entity*, ScriptExecutionContext*); @@ -118,7 +118,7 @@ void sub_0807EBC8(Entity*, ScriptExecutionContext*); void sub_0807EBD8(Entity*, ScriptExecutionContext*); void sub_0807EBF4(Entity*, ScriptExecutionContext*); void sub_0807EC08(Entity*, ScriptExecutionContext*); -void nullsub_509 (Entity*, ScriptExecutionContext*); +void nullsub_509(Entity*, ScriptExecutionContext*); void sub_0807EC1C(Entity*, ScriptExecutionContext*); void sub_0807EC44(Entity*, ScriptExecutionContext*); void sub_0807EC64(Entity*, ScriptExecutionContext*); @@ -155,146 +155,29 @@ extern void CreateSpeechBubbleExclamationMark(Entity*, u32, u32); extern void CreateSpeechBubbleQuestionMark(Entity*, u32, u32); extern void sub_0801C4A0(u32); -void (* const gUnk_0811E524[])() = { - nullsub_507, - sub_0807E004, - sub_0807E014, - sub_0807E024, - sub_0807E050, - sub_0807E064, - sub_0807E078, - sub_0807E0A0, - sub_0807E0B8, - sub_0807E0CC, - sub_0807E0E0, - sub_0807E10C, - sub_0807E124, - sub_0807E148, - sub_0807E158, - sub_0807E188, +void (*const gUnk_0811E524[])() = { + nullsub_507, sub_0807E004, sub_0807E014, sub_0807E024, sub_0807E050, sub_0807E064, sub_0807E078, sub_0807E0A0, + sub_0807E0B8, sub_0807E0CC, sub_0807E0E0, sub_0807E10C, sub_0807E124, sub_0807E148, sub_0807E158, sub_0807E188, sub_0807E1D8, - sub_0807E4AC,//defined out of order - sub_0807E200, - sub_0807E220, - sub_0807E240, - sub_0807E260, - sub_0807E280, - sub_0807E2A8, - sub_0807E2E4, - sub_0807E30C, - sub_0807E390, - sub_0807E3BC, - sub_0807E3E8, - sub_0807E40C, - sub_0807E42C, - sub_0807E48C, - sub_0807E4CC, - sub_0807E4EC, - sub_0807E514, - sub_0807E538, - sub_0807E564, - sub_0807E584, - sub_0807E5A0, - sub_0807E5CC, - sub_0807E5F8, - sub_0807E610, - sub_0807E628, - sub_0807E634, - sub_0807E644, - sub_0807E650, - sub_0807E65C, - sub_0807E668, - sub_0807E674, - sub_0807E680, - sub_0807E690, - sub_0807E6AC, - sub_0807E6DC, - sub_0807E700, - sub_0807E72C, - sub_0807E75C, - sub_0807E778, - sub_0807E788, - sub_0807E79C, - nullsub_508, - sub_0807E7B0, - sub_0807E7C4, - sub_0807E7D8, - sub_0807E7EC, - sub_0807E800, - sub_0807E80C, - sub_0807E858, - sub_0807E864, - sub_0807E878, - sub_0807E888, - sub_0807E898, - sub_0807E8C4, - sub_0807E8D4, - sub_0807E8E4, - sub_0807E8E4,//duplicate - sub_0807E8E4,//duplicate - sub_0807E8E4,//duplicate - sub_0807E908, - sub_0807E914, - sub_0807E924, - sub_0807E930, - sub_0807E944, - sub_0807E974, - sub_0807E9D4, - sub_0807E9DC, - sub_0807E9E4, - sub_0807E9F0, - sub_0807EA4C, - sub_0807EA88, - sub_0807EA94, - sub_0807EAB4, - sub_0807EAC0, - sub_0807EAD0, - sub_0807EAF0, - sub_0807EB18, - sub_0807EB28, - sub_0807EB38, - sub_0807EB44, - sub_0807EB4C, - sub_0807EB74, - sub_0807EB8C, - sub_0807EBA8, - sub_0807EBB0, - sub_0807EBC0, - sub_0807EBC8, - sub_0807EBD8, - sub_0807EBF4, - sub_0807EC08, - nullsub_509, - sub_0807EC1C, - sub_0807EC64, - sub_0807EC94, - sub_0807ECC4, - sub_0807ECF4, - sub_0807ED24, - sub_0807EDD4, - sub_0807EE04, - sub_0807EE30, - sub_0807EEB4, - sub_0807EEF4, - sub_0807EF3C, - sub_0807EF80, - sub_0807EF90, - sub_0807EFA0, - sub_0807EFAC, - sub_0807EFD4, - sub_0807EFE4, - sub_0807EFF4, - sub_0807F004, - sub_0807F010, - sub_0807F034, - sub_0807F050, - sub_0807F060, - sub_0807F078, - sub_0807F088, - sub_0807F098, - sub_0807F0A4, - sub_0807F0B4, - sub_0807F0C8 + sub_0807E4AC, // defined out of order + sub_0807E200, sub_0807E220, sub_0807E240, sub_0807E260, sub_0807E280, sub_0807E2A8, sub_0807E2E4, sub_0807E30C, + sub_0807E390, sub_0807E3BC, sub_0807E3E8, sub_0807E40C, sub_0807E42C, sub_0807E48C, sub_0807E4CC, sub_0807E4EC, + sub_0807E514, sub_0807E538, sub_0807E564, sub_0807E584, sub_0807E5A0, sub_0807E5CC, sub_0807E5F8, sub_0807E610, + sub_0807E628, sub_0807E634, sub_0807E644, sub_0807E650, sub_0807E65C, sub_0807E668, sub_0807E674, sub_0807E680, + sub_0807E690, sub_0807E6AC, sub_0807E6DC, sub_0807E700, sub_0807E72C, sub_0807E75C, sub_0807E778, sub_0807E788, + sub_0807E79C, nullsub_508, sub_0807E7B0, sub_0807E7C4, sub_0807E7D8, sub_0807E7EC, sub_0807E800, sub_0807E80C, + sub_0807E858, sub_0807E864, sub_0807E878, sub_0807E888, sub_0807E898, sub_0807E8C4, sub_0807E8D4, sub_0807E8E4, + sub_0807E8E4, // duplicate + sub_0807E8E4, // duplicate + sub_0807E8E4, // duplicate + sub_0807E908, sub_0807E914, sub_0807E924, sub_0807E930, sub_0807E944, sub_0807E974, sub_0807E9D4, sub_0807E9DC, + sub_0807E9E4, sub_0807E9F0, sub_0807EA4C, sub_0807EA88, sub_0807EA94, sub_0807EAB4, sub_0807EAC0, sub_0807EAD0, + sub_0807EAF0, sub_0807EB18, sub_0807EB28, sub_0807EB38, sub_0807EB44, sub_0807EB4C, sub_0807EB74, sub_0807EB8C, + sub_0807EBA8, sub_0807EBB0, sub_0807EBC0, sub_0807EBC8, sub_0807EBD8, sub_0807EBF4, sub_0807EC08, nullsub_509, + sub_0807EC1C, sub_0807EC64, sub_0807EC94, sub_0807ECC4, sub_0807ECF4, sub_0807ED24, sub_0807EDD4, sub_0807EE04, + sub_0807EE30, sub_0807EEB4, sub_0807EEF4, sub_0807EF3C, sub_0807EF80, sub_0807EF90, sub_0807EFA0, sub_0807EFAC, + sub_0807EFD4, sub_0807EFE4, sub_0807EFF4, sub_0807F004, sub_0807F010, sub_0807F034, sub_0807F050, sub_0807F060, + sub_0807F078, sub_0807F088, sub_0807F098, sub_0807F0A4, sub_0807F0B4, sub_0807F0C8 }; extern const u16 gUnk_08016984; @@ -599,16 +482,18 @@ void sub_0807DF50(void) { } void ExecuteScriptCommandSet(Entity* unk1, ScriptExecutionContext* unk2) { - if (!unk2->unk_00) return; + if (!unk2->unk_00) + return; if (unk2->unk_10) { unk2->unk_10--; } else { - struct_02033280 * tmp2 = &gUnk_02033280; + struct_02033280* tmp2 = &gUnk_02033280; tmp2->unk_07 = 0; do { u32 cmd = GetNextScriptCommandHalfword(unk2->unk_00); u16* tmp; - if (cmd == 0xFFFF) return; + if (cmd == 0xFFFF) + return; tmp2->unk_06 = cmd >> 0xA; tmp2->unk_04 = cmd & 0x3FF; tmp = unk2->unk_00; @@ -622,7 +507,8 @@ void ExecuteScriptCommandSet(Entity* unk1, ScriptExecutionContext* unk2) { } } -void nullsub_507(Entity* unk1, ScriptExecutionContext* unk2) {} +void nullsub_507(Entity* unk1, ScriptExecutionContext* unk2) { +} void sub_0807E004(Entity* unk1, ScriptExecutionContext* unk2) { gUnk_02033280.unk_07 |= 2; @@ -660,7 +546,7 @@ void sub_0807E078(Entity* unk1, ScriptExecutionContext* unk2) { } void sub_0807E0A0(Entity* unk1, ScriptExecutionContext* unk2) { - unk2->unk_00 = (u16*) GetNextScriptCommandWordAfterCommandMetadata(unk2->unk_00); + unk2->unk_00 = (u16*)GetNextScriptCommandWordAfterCommandMetadata(unk2->unk_00); gUnk_02033280.unk_06 = 0; } @@ -684,11 +570,13 @@ void sub_0807E0E0(Entity* unk1, ScriptExecutionContext* unk2) { } void sub_0807E10C(Entity* unk1, ScriptExecutionContext* unk2) { - ((void (*)(Entity*, ScriptExecutionContext*)) GetNextScriptCommandWordAfterCommandMetadata(unk2->unk_00))(unk1, unk2); + ((void (*)(Entity*, ScriptExecutionContext*))GetNextScriptCommandWordAfterCommandMetadata(unk2->unk_00))(unk1, + unk2); } void sub_0807E124(Entity* unk1, ScriptExecutionContext* unk2) { - void (* tmp)(Entity*, ScriptExecutionContext*) = (void (*)(Entity*, ScriptExecutionContext*)) GetNextScriptCommandWordAfterCommandMetadata(unk2->unk_00); + void (*tmp)(Entity*, ScriptExecutionContext*) = + (void (*)(Entity*, ScriptExecutionContext*))GetNextScriptCommandWordAfterCommandMetadata(unk2->unk_00); unk2->unk_04 = GetNextScriptCommandWord(unk2->unk_00 + 3); tmp(unk1, unk2); } @@ -701,7 +589,8 @@ void sub_0807E158(Entity* unk1, ScriptExecutionContext* unk2) { u32 tmp = GetNextScriptCommandWordAfterCommandMetadata(unk2->unk_00); u32 tmp2 = 0; u32 tmp3 = gUnk_02033280.unk_00; - if ((tmp3 & tmp) == tmp) tmp2 = 1; + if ((tmp3 & tmp) == tmp) + tmp2 = 1; unk2->unk_14 = tmp2; gUnk_02033280.unk_00 = tmp3 & ~tmp; gUnk_02033280.unk_07 |= 1; @@ -762,7 +651,7 @@ void sub_0807E280(Entity* unk1, ScriptExecutionContext* unk2) { width &= 0xFF; x = unk2->unk_00[1]; y = unk2->unk_00[2]; - unk2->unk_14 = CheckPlayerInRegion(x,y,width, height); + unk2->unk_14 = CheckPlayerInRegion(x, y, width, height); gUnk_02033280.unk_07 |= 1; } @@ -772,7 +661,7 @@ void sub_0807E2A8(Entity* unk1, ScriptExecutionContext* unk2) { height = unk2->unk_00[1] >> 8; x = unk1->x.HALF.HI - gRoomControls.roomOriginX; y = unk1->y.HALF.HI - gRoomControls.roomOriginY; - unk2->unk_14 = CheckPlayerInRegion(x,y,width, height); + unk2->unk_14 = CheckPlayerInRegion(x, y, width, height); gUnk_02033280.unk_07 |= 1; } @@ -787,9 +676,8 @@ void sub_0807E2E4(Entity* unk1, ScriptExecutionContext* unk2) { } void sub_0807E30C(Entity* unk1, ScriptExecutionContext* unk2) { - if ((unk2->unk_1A & 0xF) == 0 - && (gPlayerState.flags.all & 0x80) == 0 - && sub_080041A0(unk1, &gPlayerEntity, 0x28, 0x28)) { + if ((unk2->unk_1A & 0xF) == 0 && (gPlayerState.flags.all & 0x80) == 0 && + sub_080041A0(unk1, &gPlayerEntity, 0x28, 0x28)) { unk1->animationState = sub_0806F5B0(GetFacingDirection(unk1, &gPlayerEntity)); } unk2->unk_1A++; @@ -994,7 +882,8 @@ void sub_0807E79C(Entity* unk1, ScriptExecutionContext* unk2) { sub_080500F4(gUnk_02033280.unk_08); } -void nullsub_508(Entity* unk1, ScriptExecutionContext* unk2) {} +void nullsub_508(Entity* unk1, ScriptExecutionContext* unk2) { +} void sub_0807E7B0(Entity* unk1, ScriptExecutionContext* unk2) { DoFade(4, gUnk_02033280.unk_08); @@ -1103,16 +992,19 @@ void sub_0807E944(Entity* unk1, ScriptExecutionContext* unk2) { void sub_0807E974(Entity* unk1, ScriptExecutionContext* unk2) { switch (unk2->unk_18) { default: - if (!--unk2->unk_19) return; + if (!--unk2->unk_19) + return; break; case 0: - if (!unk1->interactType) break; + if (!unk1->interactType) + break; unk1->interactType = 0; unk2->unk_18++; TextboxNoOverlapFollow(unk2->unk_00[1]); break; case 1: - if (gTextBox.doTextBox & 0x7F) break; + if (gTextBox.doTextBox & 0x7F) + break; unk2->unk_18 = 2; unk2->unk_19 = 0xF; break; @@ -1152,7 +1044,7 @@ void sub_0807E9F0(Entity* unk1, ScriptExecutionContext* unk2) { sub_0807919C(); gPlayerState.field_0x8b = 1; } else { - lbl: + lbl: gUnk_02033280.unk_06 = 0; } } @@ -1193,7 +1085,7 @@ void sub_0807EAD0(Entity* unk1, ScriptExecutionContext* unk2) { void sub_0807EAF0(Entity* unk1, ScriptExecutionContext* unk2) { if (gUnk_02033280.unk_06 > unk2->unk_04) { - u16 * tmp = unk2->unk_00 + unk2->unk_04; + u16* tmp = unk2->unk_00 + unk2->unk_04; TextboxNoOverlapFollow(tmp[1]); } else { TextboxNoOverlapFollow(0); @@ -1217,7 +1109,8 @@ void sub_0807EB44(Entity* unk1, ScriptExecutionContext* unk2) { } void sub_0807EB4C(Entity* unk1, ScriptExecutionContext* unk2) { - unk1->animationState = sub_0806F5B0(sub_080045B4(unk1, unk2->unk_00[1] + gRoomControls.roomOriginX, unk2->unk_00[2] + gRoomControls.roomOriginY)); + unk1->animationState = sub_0806F5B0( + sub_080045B4(unk1, unk2->unk_00[1] + gRoomControls.roomOriginX, unk2->unk_00[2] + gRoomControls.roomOriginY)); } void sub_0807EB74(Entity* unk1, ScriptExecutionContext* unk2) { @@ -1259,7 +1152,8 @@ void sub_0807EC08(Entity* unk1, ScriptExecutionContext* unk2) { CopyPosition(&gPlayerEntity, unk1); } -void nullsub_509(Entity* unk1, ScriptExecutionContext* unk2) {} +void nullsub_509(Entity* unk1, ScriptExecutionContext* unk2) { +} void sub_0807EC1C(Entity* unk1, ScriptExecutionContext* unk2) { if (!unk2->unk_18) { @@ -1332,7 +1226,8 @@ void sub_0807ED24(Entity* unk1, ScriptExecutionContext* unk2) { tmp = unk2->unk_00[2]; tmp3 = unk1->y.HALF.HI - gRoomControls.roomOriginY; unk2->unk_20.WORD = ((tmp - tmp3) << 0x10) / unk2->unk_12; - unk1->animationState = sub_0806F5B0(sub_080045B4(unk1, unk2->unk_00[1] + gRoomControls.roomOriginX, unk2->unk_00[2] + gRoomControls.roomOriginY)); + unk1->animationState = sub_0806F5B0(sub_080045B4(unk1, unk2->unk_00[1] + gRoomControls.roomOriginX, + unk2->unk_00[2] + gRoomControls.roomOriginY)); unk2->unk_08 |= 2; } else { if (!--unk2->unk_12) { @@ -1407,11 +1302,12 @@ void sub_0807EEF4(Entity* unk1, ScriptExecutionContext* unk2) { void sub_0807EF3C(Entity* unk1, ScriptExecutionContext* unk2) { if (!unk2->unk_18) { unk2->unk_18 = 1; - unk1->field_0x20 = ((s16) unk2->unk_00[1]) << 8; + unk1->field_0x20 = ((s16)unk2->unk_00[1]) << 8; unk2->unk_1C.HALF.LO = unk2->unk_00[2] << 8; sub_08003FC4(unk1, (u16)unk2->unk_1C.HALF.LO); } else { - if (!sub_08003FC4(unk1, (u16)unk2->unk_1C.HALF.LO)) return; + if (!sub_08003FC4(unk1, (u16)unk2->unk_1C.HALF.LO)) + return; } gUnk_02033280.unk_06 = 0; }