From 612011c12b06d8679d4aacb44620963c71b763ba Mon Sep 17 00:00:00 2001 From: octorock <79596758+octorock@users.noreply.github.com> Date: Sat, 28 Aug 2021 22:46:19 +0200 Subject: [PATCH] Split manager files --- asm/manager1.s | 485 ---------- asm/manager10.s | 560 ----------- asm/manager12.s | 462 --------- asm/manager14.s | 519 ---------- asm/manager1B.s | 203 ---- asm/manager1D.s | 95 -- asm/manager1F.s | 99 -- asm/manager2.s | 194 ---- asm/manager22.s | 454 --------- asm/manager23.s | 348 ------- asm/manager2B.s | 189 ---- asm/manager2E.s | 183 ---- asm/manager32.s | 449 --------- asm/manager34.s | 143 --- asm/manager35.s | 166 ---- asm/manager37.s | 390 -------- asm/managerF.s | 905 ------------------ asm/non_matching/manager1/nullsub_494.inc | 4 + asm/non_matching/manager1/sub_08057174.inc | 147 +++ asm/non_matching/manager1/sub_0805728C.inc | 38 + asm/non_matching/manager1/sub_080572D4.inc | 45 + asm/non_matching/manager1/sub_0805732C.inc | 58 ++ asm/non_matching/manager1/sub_080573AC.inc | 77 ++ asm/non_matching/manager1/sub_08057450.inc | 102 ++ asm/non_matching/manager10/Manager10_Main.inc | 56 ++ asm/non_matching/manager10/sub_080595E4.inc | 16 + asm/non_matching/manager10/sub_08059608.inc | 65 ++ asm/non_matching/manager10/sub_08059690.inc | 41 + asm/non_matching/manager10/sub_080596E0.inc | 175 ++++ asm/non_matching/manager10/sub_08059844.inc | 21 + asm/non_matching/manager10/sub_0805986C.inc | 21 + asm/non_matching/manager10/sub_08059894.inc | 47 + asm/non_matching/manager10/sub_080598F8.inc | 54 ++ asm/non_matching/manager10/sub_08059960.inc | 28 + asm/non_matching/manager10/sub_08059994.inc | 18 + asm/non_matching/manager12/Manager12_Main.inc | 32 + .../manager12/TryLoadPrologueHyruleTown.inc | 65 ++ asm/non_matching/manager12/sub_08059A2C.inc | 23 + asm/non_matching/manager12/sub_08059A58.inc | 87 ++ asm/non_matching/manager12/sub_08059B18.inc | 172 ++++ asm/non_matching/manager12/sub_08059C8C.inc | 28 + asm/non_matching/manager12/sub_08059CC0.inc | 41 + .../manager13/Manager13_Main.inc} | 10 +- asm/non_matching/manager14/Manager14_Main.inc | 19 + asm/non_matching/manager14/nullsub_495.inc | 4 + asm/non_matching/manager14/sub_08059E80.inc | 55 ++ asm/non_matching/manager14/sub_08059EF8.inc | 81 ++ asm/non_matching/manager14/sub_08059F9C.inc | 61 ++ asm/non_matching/manager14/sub_0805A040.inc | 5 + asm/non_matching/manager14/sub_0805A048.inc | 40 + asm/non_matching/manager14/sub_0805A098.inc | 24 + asm/non_matching/manager14/sub_0805A0C0.inc | 41 + asm/non_matching/manager14/sub_0805A114.inc | 92 ++ asm/non_matching/manager14/sub_0805A1D8.inc | 61 ++ asm/non_matching/manager14/sub_0805A25C.inc | 17 + .../manager16/Manager16_Main.inc} | 83 +- asm/non_matching/manager16/sub_0805ACC0.inc | 72 ++ .../manager18/Manager18_Main.inc} | 77 +- asm/non_matching/manager18/sub_0805AEDC.inc | 47 + asm/non_matching/manager18/sub_0805AF3C.inc | 18 + .../manager19/Manager19_Main.inc} | 36 +- asm/non_matching/manager19/sub_0805AFFC.inc | 25 + asm/non_matching/manager1B/Manager1B_Main.inc | 72 ++ asm/non_matching/manager1B/sub_0805B448.inc | 23 + asm/non_matching/manager1B/sub_0805B474.inc | 31 + asm/non_matching/manager1B/sub_0805B4B4.inc | 14 + asm/non_matching/manager1B/sub_0805B4D0.inc | 51 + asm/non_matching/manager1D/Manager1D_Main.inc | 12 + asm/non_matching/manager1D/sub_0805B5E0.inc | 47 + asm/non_matching/manager1D/sub_0805B638.inc | 26 + asm/non_matching/manager1F/Manager1F_Main.inc | 12 + asm/non_matching/manager1F/sub_0805B70C.inc | 29 + asm/non_matching/manager1F/sub_0805B744.inc | 27 + asm/non_matching/manager1F/sub_0805B778.inc | 20 + asm/non_matching/manager2/sub_0805754C.inc | 66 ++ asm/non_matching/manager2/sub_080575C8.inc | 90 ++ asm/non_matching/manager2/sub_08057688.inc | 12 + asm/non_matching/manager2/sub_080576A0.inc | 15 + .../manager21/Manager21_Main.inc} | 31 +- asm/non_matching/manager21/sub_0805B8CC.inc | 20 + asm/non_matching/manager22/Manager22_Main.inc | 185 ++++ asm/non_matching/manager22/sub_0805BA78.inc | 55 ++ asm/non_matching/manager22/sub_0805BAD4.inc | 23 + asm/non_matching/manager22/sub_0805BB00.inc | 54 ++ asm/non_matching/manager22/sub_0805BB74.inc | 34 + asm/non_matching/manager22/sub_0805BBBC.inc | 34 + asm/non_matching/manager22/sub_0805BC04.inc | 34 + asm/non_matching/manager22/sub_0805BC4C.inc | 20 + asm/non_matching/manager23/Manager23_Main.inc | 12 + asm/non_matching/manager23/sub_0805BC8C.inc | 35 + asm/non_matching/manager23/sub_0805BCD4.inc | 68 ++ asm/non_matching/manager23/sub_0805BD5C.inc | 43 + asm/non_matching/manager23/sub_0805BDB4.inc | 90 ++ asm/non_matching/manager23/sub_0805BE70.inc | 19 + asm/non_matching/manager23/sub_0805BE94.inc | 23 + asm/non_matching/manager23/sub_0805BEC4.inc | 43 + asm/non_matching/manager29/Manager29_Main.inc | 29 + asm/non_matching/manager29/sub_0805CBD0.inc | 54 ++ .../manager29/sub_0805CC3C.inc} | 131 +-- asm/non_matching/manager29/sub_0805CF80.inc | 35 + asm/non_matching/manager2B/Manager2B_Main.inc | 12 + asm/non_matching/manager2B/sub_0805D02C.inc | 74 ++ asm/non_matching/manager2B/sub_0805D0C4.inc | 30 + asm/non_matching/manager2B/sub_0805D0FC.inc | 17 + asm/non_matching/manager2B/sub_0805D11C.inc | 44 + asm/non_matching/manager2E/sub_0805D280.inc | 31 + asm/non_matching/manager2E/sub_0805D2C0.inc | 27 + asm/non_matching/manager2E/sub_0805D2F4.inc | 29 + asm/non_matching/manager2E/sub_0805D32C.inc | 12 + asm/non_matching/manager2E/sub_0805D344.inc | 21 + asm/non_matching/manager2E/sub_0805D36C.inc | 14 + asm/non_matching/manager2E/sub_0805D384.inc | 35 + .../manager2F/Manager2F_Main.inc} | 39 +- asm/non_matching/manager2F/sub_0805D470.inc | 28 + .../manager31/Manager31_Main.inc} | 10 +- asm/non_matching/manager32/Manager32_Main.inc | 25 + asm/non_matching/manager32/sub_0805D7DC.inc | 77 ++ asm/non_matching/manager32/sub_0805D860.inc | 84 ++ asm/non_matching/manager32/sub_0805D900.inc | 75 ++ asm/non_matching/manager32/sub_0805D98C.inc | 43 + asm/non_matching/manager32/sub_0805D9D8.inc | 25 + asm/non_matching/manager32/sub_0805DA08.inc | 65 ++ asm/non_matching/manager32/sub_0805DA90.inc | 40 + .../manager33/Manager33_Main.inc} | 10 +- asm/non_matching/manager34/Manager34_Main.inc | 16 + asm/non_matching/manager34/nullsub_498.inc | 4 + asm/non_matching/manager34/sub_0805DBB4.inc | 14 + asm/non_matching/manager34/sub_0805DBCC.inc | 19 + asm/non_matching/manager34/sub_0805DBF0.inc | 68 ++ asm/non_matching/manager34/sub_0805DC70.inc | 9 + asm/non_matching/manager35/Manager35_Main.inc | 12 + asm/non_matching/manager35/sub_0805DC9C.inc | 21 + asm/non_matching/manager35/sub_0805DCC8.inc | 47 + asm/non_matching/manager35/sub_0805DD24.inc | 34 + asm/non_matching/manager35/sub_0805DD68.inc | 40 + asm/non_matching/manager37/Manager37_Main.inc | 12 + asm/non_matching/manager37/sub_0805DE50.inc | 12 + asm/non_matching/manager37/sub_0805DE68.inc | 100 ++ asm/non_matching/manager37/sub_0805DEB8.inc | 73 ++ asm/non_matching/manager37/sub_0805DF4C.inc | 40 + asm/non_matching/manager37/sub_0805DF98.inc | 28 + asm/non_matching/manager37/sub_0805DFCC.inc | 14 + asm/non_matching/manager37/sub_0805DFE8.inc | 12 + asm/non_matching/manager37/sub_0805E000.inc | 54 ++ asm/non_matching/manager37/sub_0805E078.inc | 16 + asm/non_matching/manager37/sub_0805E094.inc | 10 + asm/non_matching/managerF/ManagerF_Main.inc | 12 + asm/non_matching/managerF/SetDirtTile.inc | 19 + asm/non_matching/managerF/sub_08058EE4.inc | 45 + asm/non_matching/managerF/sub_08058F44.inc | 31 + asm/non_matching/managerF/sub_08058F84.inc | 23 + asm/non_matching/managerF/sub_08058FB0.inc | 91 ++ asm/non_matching/managerF/sub_08059064.inc | 26 + asm/non_matching/managerF/sub_08059094.inc | 37 + asm/non_matching/managerF/sub_080590E0.inc | 34 + asm/non_matching/managerF/sub_08059124.inc | 80 ++ asm/non_matching/managerF/sub_080591CC.inc | 44 + asm/non_matching/managerF/sub_08059220.inc | 46 + asm/non_matching/managerF/sub_08059278.inc | 13 + asm/non_matching/managerF/sub_08059290.inc | 11 + asm/non_matching/managerF/sub_080592A4.inc | 34 + asm/non_matching/managerF/sub_080592EC.inc | 17 + asm/non_matching/managerF/sub_0805930C.inc | 32 + asm/non_matching/managerF/sub_08059368.inc | 18 + asm/non_matching/managerF/sub_0805938C.inc | 33 + asm/non_matching/managerF/sub_080593CC.inc | 45 + asm/non_matching/managerF/sub_08059424.inc | 42 + asm/non_matching/managerF/sub_0805947C.inc | 45 + asm/non_matching/managerF/sub_080594DC.inc | 52 + asm/non_matching/managerF/sub_08059548.inc | 43 + include/manager.h | 42 +- linker.ld | 49 +- src/manager/manager1.c | 14 + src/manager/manager10.c | 23 + src/manager/manager12.c | 15 + src/manager/manager13.c | 3 + src/manager/manager14.c | 25 + src/manager/manager16.c | 6 + src/manager/manager18.c | 7 + src/manager/manager19.c | 5 + src/manager/manager1B.c | 12 + src/manager/manager1D.c | 7 + src/manager/manager1F.c | 9 + src/manager/manager2.c | 8 + src/manager/manager21.c | 6 + src/manager/manager22.c | 18 + src/manager/manager23.c | 18 + src/manager/manager29.c | 10 + src/manager/manager2B.c | 11 + src/manager/manager2E.c | 14 + src/manager/manager2F.c | 6 + src/manager/manager31.c | 4 + src/manager/manager32.c | 17 + src/manager/manager33.c | 3 + src/manager/manager34.c | 13 + src/manager/manager35.c | 11 + src/manager/manager37.c | 23 + src/manager/managerF.c | 49 + 198 files changed, 6306 insertions(+), 6309 deletions(-) delete mode 100644 asm/manager1.s delete mode 100644 asm/manager10.s delete mode 100644 asm/manager12.s delete mode 100644 asm/manager14.s delete mode 100644 asm/manager1B.s delete mode 100644 asm/manager1D.s delete mode 100644 asm/manager1F.s delete mode 100644 asm/manager2.s delete mode 100644 asm/manager22.s delete mode 100644 asm/manager23.s delete mode 100644 asm/manager2B.s delete mode 100644 asm/manager2E.s delete mode 100644 asm/manager32.s delete mode 100644 asm/manager34.s delete mode 100644 asm/manager35.s delete mode 100644 asm/manager37.s delete mode 100644 asm/managerF.s create mode 100644 asm/non_matching/manager1/nullsub_494.inc create mode 100644 asm/non_matching/manager1/sub_08057174.inc create mode 100644 asm/non_matching/manager1/sub_0805728C.inc create mode 100644 asm/non_matching/manager1/sub_080572D4.inc create mode 100644 asm/non_matching/manager1/sub_0805732C.inc create mode 100644 asm/non_matching/manager1/sub_080573AC.inc create mode 100644 asm/non_matching/manager1/sub_08057450.inc create mode 100644 asm/non_matching/manager10/Manager10_Main.inc create mode 100644 asm/non_matching/manager10/sub_080595E4.inc create mode 100644 asm/non_matching/manager10/sub_08059608.inc create mode 100644 asm/non_matching/manager10/sub_08059690.inc create mode 100644 asm/non_matching/manager10/sub_080596E0.inc create mode 100644 asm/non_matching/manager10/sub_08059844.inc create mode 100644 asm/non_matching/manager10/sub_0805986C.inc create mode 100644 asm/non_matching/manager10/sub_08059894.inc create mode 100644 asm/non_matching/manager10/sub_080598F8.inc create mode 100644 asm/non_matching/manager10/sub_08059960.inc create mode 100644 asm/non_matching/manager10/sub_08059994.inc create mode 100644 asm/non_matching/manager12/Manager12_Main.inc create mode 100644 asm/non_matching/manager12/TryLoadPrologueHyruleTown.inc create mode 100644 asm/non_matching/manager12/sub_08059A2C.inc create mode 100644 asm/non_matching/manager12/sub_08059A58.inc create mode 100644 asm/non_matching/manager12/sub_08059B18.inc create mode 100644 asm/non_matching/manager12/sub_08059C8C.inc create mode 100644 asm/non_matching/manager12/sub_08059CC0.inc rename asm/{manager13.s => non_matching/manager13/Manager13_Main.inc} (91%) create mode 100644 asm/non_matching/manager14/Manager14_Main.inc create mode 100644 asm/non_matching/manager14/nullsub_495.inc create mode 100644 asm/non_matching/manager14/sub_08059E80.inc create mode 100644 asm/non_matching/manager14/sub_08059EF8.inc create mode 100644 asm/non_matching/manager14/sub_08059F9C.inc create mode 100644 asm/non_matching/manager14/sub_0805A040.inc create mode 100644 asm/non_matching/manager14/sub_0805A048.inc create mode 100644 asm/non_matching/manager14/sub_0805A098.inc create mode 100644 asm/non_matching/manager14/sub_0805A0C0.inc create mode 100644 asm/non_matching/manager14/sub_0805A114.inc create mode 100644 asm/non_matching/manager14/sub_0805A1D8.inc create mode 100644 asm/non_matching/manager14/sub_0805A25C.inc rename asm/{manager16.s => non_matching/manager16/Manager16_Main.inc} (68%) create mode 100644 asm/non_matching/manager16/sub_0805ACC0.inc rename asm/{manager18.s => non_matching/manager18/Manager18_Main.inc} (62%) create mode 100644 asm/non_matching/manager18/sub_0805AEDC.inc create mode 100644 asm/non_matching/manager18/sub_0805AF3C.inc rename asm/{manager19.s => non_matching/manager19/Manager19_Main.inc} (67%) create mode 100644 asm/non_matching/manager19/sub_0805AFFC.inc create mode 100644 asm/non_matching/manager1B/Manager1B_Main.inc create mode 100644 asm/non_matching/manager1B/sub_0805B448.inc create mode 100644 asm/non_matching/manager1B/sub_0805B474.inc create mode 100644 asm/non_matching/manager1B/sub_0805B4B4.inc create mode 100644 asm/non_matching/manager1B/sub_0805B4D0.inc create mode 100644 asm/non_matching/manager1D/Manager1D_Main.inc create mode 100644 asm/non_matching/manager1D/sub_0805B5E0.inc create mode 100644 asm/non_matching/manager1D/sub_0805B638.inc create mode 100644 asm/non_matching/manager1F/Manager1F_Main.inc create mode 100644 asm/non_matching/manager1F/sub_0805B70C.inc create mode 100644 asm/non_matching/manager1F/sub_0805B744.inc create mode 100644 asm/non_matching/manager1F/sub_0805B778.inc create mode 100644 asm/non_matching/manager2/sub_0805754C.inc create mode 100644 asm/non_matching/manager2/sub_080575C8.inc create mode 100644 asm/non_matching/manager2/sub_08057688.inc create mode 100644 asm/non_matching/manager2/sub_080576A0.inc rename asm/{manager21.s => non_matching/manager21/Manager21_Main.inc} (76%) create mode 100644 asm/non_matching/manager21/sub_0805B8CC.inc create mode 100644 asm/non_matching/manager22/Manager22_Main.inc create mode 100644 asm/non_matching/manager22/sub_0805BA78.inc create mode 100644 asm/non_matching/manager22/sub_0805BAD4.inc create mode 100644 asm/non_matching/manager22/sub_0805BB00.inc create mode 100644 asm/non_matching/manager22/sub_0805BB74.inc create mode 100644 asm/non_matching/manager22/sub_0805BBBC.inc create mode 100644 asm/non_matching/manager22/sub_0805BC04.inc create mode 100644 asm/non_matching/manager22/sub_0805BC4C.inc create mode 100644 asm/non_matching/manager23/Manager23_Main.inc create mode 100644 asm/non_matching/manager23/sub_0805BC8C.inc create mode 100644 asm/non_matching/manager23/sub_0805BCD4.inc create mode 100644 asm/non_matching/manager23/sub_0805BD5C.inc create mode 100644 asm/non_matching/manager23/sub_0805BDB4.inc create mode 100644 asm/non_matching/manager23/sub_0805BE70.inc create mode 100644 asm/non_matching/manager23/sub_0805BE94.inc create mode 100644 asm/non_matching/manager23/sub_0805BEC4.inc create mode 100644 asm/non_matching/manager29/Manager29_Main.inc create mode 100644 asm/non_matching/manager29/sub_0805CBD0.inc rename asm/{manager29.s => non_matching/manager29/sub_0805CC3C.inc} (73%) create mode 100644 asm/non_matching/manager29/sub_0805CF80.inc create mode 100644 asm/non_matching/manager2B/Manager2B_Main.inc create mode 100644 asm/non_matching/manager2B/sub_0805D02C.inc create mode 100644 asm/non_matching/manager2B/sub_0805D0C4.inc create mode 100644 asm/non_matching/manager2B/sub_0805D0FC.inc create mode 100644 asm/non_matching/manager2B/sub_0805D11C.inc create mode 100644 asm/non_matching/manager2E/sub_0805D280.inc create mode 100644 asm/non_matching/manager2E/sub_0805D2C0.inc create mode 100644 asm/non_matching/manager2E/sub_0805D2F4.inc create mode 100644 asm/non_matching/manager2E/sub_0805D32C.inc create mode 100644 asm/non_matching/manager2E/sub_0805D344.inc create mode 100644 asm/non_matching/manager2E/sub_0805D36C.inc create mode 100644 asm/non_matching/manager2E/sub_0805D384.inc rename asm/{manager2F.s => non_matching/manager2F/Manager2F_Main.inc} (67%) create mode 100644 asm/non_matching/manager2F/sub_0805D470.inc rename asm/{manager31.s => non_matching/manager31/Manager31_Main.inc} (95%) create mode 100644 asm/non_matching/manager32/Manager32_Main.inc create mode 100644 asm/non_matching/manager32/sub_0805D7DC.inc create mode 100644 asm/non_matching/manager32/sub_0805D860.inc create mode 100644 asm/non_matching/manager32/sub_0805D900.inc create mode 100644 asm/non_matching/manager32/sub_0805D98C.inc create mode 100644 asm/non_matching/manager32/sub_0805D9D8.inc create mode 100644 asm/non_matching/manager32/sub_0805DA08.inc create mode 100644 asm/non_matching/manager32/sub_0805DA90.inc rename asm/{manager33.s => non_matching/manager33/Manager33_Main.inc} (91%) create mode 100644 asm/non_matching/manager34/Manager34_Main.inc create mode 100644 asm/non_matching/manager34/nullsub_498.inc create mode 100644 asm/non_matching/manager34/sub_0805DBB4.inc create mode 100644 asm/non_matching/manager34/sub_0805DBCC.inc create mode 100644 asm/non_matching/manager34/sub_0805DBF0.inc create mode 100644 asm/non_matching/manager34/sub_0805DC70.inc create mode 100644 asm/non_matching/manager35/Manager35_Main.inc create mode 100644 asm/non_matching/manager35/sub_0805DC9C.inc create mode 100644 asm/non_matching/manager35/sub_0805DCC8.inc create mode 100644 asm/non_matching/manager35/sub_0805DD24.inc create mode 100644 asm/non_matching/manager35/sub_0805DD68.inc create mode 100644 asm/non_matching/manager37/Manager37_Main.inc create mode 100644 asm/non_matching/manager37/sub_0805DE50.inc create mode 100644 asm/non_matching/manager37/sub_0805DE68.inc create mode 100644 asm/non_matching/manager37/sub_0805DEB8.inc create mode 100644 asm/non_matching/manager37/sub_0805DF4C.inc create mode 100644 asm/non_matching/manager37/sub_0805DF98.inc create mode 100644 asm/non_matching/manager37/sub_0805DFCC.inc create mode 100644 asm/non_matching/manager37/sub_0805DFE8.inc create mode 100644 asm/non_matching/manager37/sub_0805E000.inc create mode 100644 asm/non_matching/manager37/sub_0805E078.inc create mode 100644 asm/non_matching/manager37/sub_0805E094.inc create mode 100644 asm/non_matching/managerF/ManagerF_Main.inc create mode 100644 asm/non_matching/managerF/SetDirtTile.inc create mode 100644 asm/non_matching/managerF/sub_08058EE4.inc create mode 100644 asm/non_matching/managerF/sub_08058F44.inc create mode 100644 asm/non_matching/managerF/sub_08058F84.inc create mode 100644 asm/non_matching/managerF/sub_08058FB0.inc create mode 100644 asm/non_matching/managerF/sub_08059064.inc create mode 100644 asm/non_matching/managerF/sub_08059094.inc create mode 100644 asm/non_matching/managerF/sub_080590E0.inc create mode 100644 asm/non_matching/managerF/sub_08059124.inc create mode 100644 asm/non_matching/managerF/sub_080591CC.inc create mode 100644 asm/non_matching/managerF/sub_08059220.inc create mode 100644 asm/non_matching/managerF/sub_08059278.inc create mode 100644 asm/non_matching/managerF/sub_08059290.inc create mode 100644 asm/non_matching/managerF/sub_080592A4.inc create mode 100644 asm/non_matching/managerF/sub_080592EC.inc create mode 100644 asm/non_matching/managerF/sub_0805930C.inc create mode 100644 asm/non_matching/managerF/sub_08059368.inc create mode 100644 asm/non_matching/managerF/sub_0805938C.inc create mode 100644 asm/non_matching/managerF/sub_080593CC.inc create mode 100644 asm/non_matching/managerF/sub_08059424.inc create mode 100644 asm/non_matching/managerF/sub_0805947C.inc create mode 100644 asm/non_matching/managerF/sub_080594DC.inc create mode 100644 asm/non_matching/managerF/sub_08059548.inc create mode 100644 src/manager/manager10.c create mode 100644 src/manager/manager12.c create mode 100644 src/manager/manager13.c create mode 100644 src/manager/manager14.c create mode 100644 src/manager/manager16.c create mode 100644 src/manager/manager18.c create mode 100644 src/manager/manager19.c create mode 100644 src/manager/manager1B.c create mode 100644 src/manager/manager1D.c create mode 100644 src/manager/manager1F.c create mode 100644 src/manager/manager21.c create mode 100644 src/manager/manager22.c create mode 100644 src/manager/manager23.c create mode 100644 src/manager/manager29.c create mode 100644 src/manager/manager2B.c create mode 100644 src/manager/manager2F.c create mode 100644 src/manager/manager31.c create mode 100644 src/manager/manager32.c create mode 100644 src/manager/manager33.c create mode 100644 src/manager/manager34.c create mode 100644 src/manager/manager35.c create mode 100644 src/manager/manager37.c create mode 100644 src/manager/managerF.c diff --git a/asm/manager1.s b/asm/manager1.s deleted file mode 100644 index a6bc4f1f..00000000 --- a/asm/manager1.s +++ /dev/null @@ -1,485 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_08057174 -sub_08057174: @ 0x08057174 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - bl GetCurrentRoomProperty - adds r3, r0, #0 - ldrb r0, [r3] - cmp r0, #0xff - bne _08057188 - b _0805728A -_08057188: - ldr r1, _080571E8 @ =gPlayerEntity - movs r2, #0x2e - ldrsh r0, [r1, r2] - cmp r0, #0 - bge _08057194 - adds r0, #0xf -_08057194: - asrs r6, r0, #4 - movs r7, #0x32 - ldrsh r0, [r1, r7] - cmp r0, #0 - bge _080571A0 - adds r0, #0xf -_080571A0: - asrs r5, r0, #4 - movs r0, #0x21 - adds r0, r0, r4 - mov ip, r0 -_080571A8: - ldrb r0, [r3] - mov r1, ip - ldrb r1, [r1] - cmp r0, r1 - beq _08057282 - ldr r1, _080571EC @ =gRoomControls - ldrh r0, [r1, #6] - lsrs r0, r0, #4 - ldrb r7, [r3, #1] - adds r2, r0, r7 - ldrh r0, [r1, #8] - lsrs r0, r0, #4 - ldrb r1, [r3, #2] - adds r0, r0, r1 - subs r0, r5, r0 - ldrb r7, [r3, #4] - cmp r0, r7 - bhs _08057282 - subs r0, r6, r2 - ldrb r1, [r3, #3] - cmp r0, r1 - bhs _08057282 - ldrb r0, [r3] - subs r0, #1 - cmp r0, #5 - bhi _08057268 - lsls r0, r0, #2 - ldr r1, _080571F0 @ =_080571F4 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080571E8: .4byte gPlayerEntity -_080571EC: .4byte gRoomControls -_080571F0: .4byte _080571F4 -_080571F4: @ jump table - .4byte _0805720C @ case 0 - .4byte _08057220 @ case 1 - .4byte _08057258 @ case 2 - .4byte _08057246 @ case 3 - .4byte _08057216 @ case 4 - .4byte _08057236 @ case 5 -_0805720C: - mov r2, ip - ldrb r0, [r2] - cmp r0, #2 - bne _08057268 - b _08057260 -_08057216: - mov r7, ip - ldrb r0, [r7] - cmp r0, #6 - bne _08057268 - b _08057260 -_08057220: - mov r0, ip - ldrb r1, [r0] - cmp r1, #0 - bne _08057268 - movs r0, #2 - strb r0, [r4, #0xc] - strb r1, [r4, #0xe] - adds r0, r4, #0 - adds r0, #0x20 - strb r1, [r0] - b _08057268 -_08057236: - mov r2, ip - ldrb r1, [r2] - cmp r1, #0 - bne _08057268 - movs r0, #2 - strb r0, [r4, #0xc] - strb r1, [r4, #0xe] - b _08057268 -_08057246: - mov r7, ip - ldrb r1, [r7] - cmp r1, #0 - bne _08057268 - movs r0, #2 - strb r0, [r4, #0xc] - strb r1, [r4, #0xe] - str r1, [r4, #0x34] - b _08057268 -_08057258: - mov r1, ip - ldrb r0, [r1] - cmp r0, #4 - bne _08057268 -_08057260: - movs r0, #3 - strb r0, [r4, #0xc] - movs r0, #9 - strb r0, [r4, #0xe] -_08057268: - ldrb r0, [r4, #0xc] - cmp r0, #1 - beq _08057282 - movs r0, #8 - strb r0, [r4, #0xf] - ldrb r0, [r3] - mov r2, ip - strb r0, [r2] - adds r1, r4, #0 - adds r1, #0x22 - movs r0, #1 - strb r0, [r1] - b _0805728A -_08057282: - adds r3, #5 - ldrb r0, [r3] - cmp r0, #0xff - bne _080571A8 -_0805728A: - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_0805728C -sub_0805728C: @ 0x0805728C - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080572CA - movs r0, #8 - strb r0, [r4, #0xf] - ldr r2, _080572CC @ =gScreen - ldr r3, _080572D0 @ =gUnk_08107C1C - ldrb r0, [r4, #0xe] - adds r1, r0, #1 - strb r1, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x17 - adds r0, r0, r3 - ldrh r0, [r0] - adds r2, #0x68 - strh r0, [r2] - lsls r1, r1, #0x18 - lsrs r1, r1, #0x18 - cmp r1, #0xa - bne _080572CA - movs r0, #1 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x22 - movs r0, #0 - strb r0, [r1] -_080572CA: - pop {r4, pc} - .align 2, 0 -_080572CC: .4byte gScreen -_080572D0: .4byte gUnk_08107C1C - - thumb_func_start sub_080572D4 -sub_080572D4: @ 0x080572D4 - push {r4, r5, lr} - adds r3, r0, #0 - ldrb r0, [r3, #0xf] - subs r0, #1 - strb r0, [r3, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08057320 - movs r0, #8 - strb r0, [r3, #0xf] - ldr r5, _08057324 @ =gScreen - ldr r2, _08057328 @ =gUnk_08107C1C - ldrb r0, [r3, #0xe] - adds r1, r0, #0 - adds r1, #0xff - strb r1, [r3, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x17 - adds r0, r0, r2 - ldrh r2, [r0] - adds r0, r5, #0 - adds r0, #0x68 - movs r4, #0 - strh r2, [r0] - lsls r1, r1, #0x18 - lsrs r1, r1, #0x18 - cmp r1, #0xff - bne _08057320 - movs r0, #1 - strb r0, [r3, #0xc] - adds r0, r3, #0 - adds r0, #0x22 - strb r4, [r0] - subs r0, #1 - strb r4, [r0] - adds r0, r5, #0 - adds r0, #0x6c - strb r4, [r0] -_08057320: - pop {r4, r5, pc} - .align 2, 0 -_08057324: .4byte gScreen -_08057328: .4byte gUnk_08107C1C - - thumb_func_start sub_0805732C -sub_0805732C: @ 0x0805732C - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - adds r6, r0, #0 - adds r5, r1, #0 - ldr r2, _08057390 @ =gUnk_03003DE4 - ldrb r1, [r2] - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #9 - ldr r1, _08057394 @ =gUnk_02017AA0 - adds r4, r0, r1 - movs r3, #0 - mov ip, r2 - mov r8, r1 - ldr r0, _08057398 @ =gSineTable - mov sb, r0 - movs r2, #0xff - ldr r1, _0805739C @ =gScreen -_08057354: - adds r0, r5, r3 - ands r0, r2 - lsls r0, r0, #1 - add r0, sb - movs r7, #0 - ldrsh r0, [r0, r7] - muls r0, r6, r0 - lsrs r0, r0, #8 - ldrh r7, [r1, #0x2e] - adds r0, r0, r7 - strh r0, [r4] - adds r4, #2 - adds r3, #1 - cmp r3, #0x9f - bls _08057354 - mov r0, ip - ldrb r1, [r0] - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #9 - add r0, r8 - ldr r1, _080573A0 @ =0x0400001C - ldr r2, _080573A4 @ =0xA2600001 - bl sub_0805622C - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08057390: .4byte gUnk_03003DE4 -_08057394: .4byte gUnk_02017AA0 -_08057398: .4byte gSineTable -_0805739C: .4byte gScreen -_080573A0: .4byte 0x0400001C -_080573A4: .4byte 0xA2600001 - - thumb_func_start nullsub_494 -nullsub_494: @ 0x080573A8 - bx lr - .align 2, 0 - - thumb_func_start sub_080573AC -sub_080573AC: @ 0x080573AC - push {r4, r5, r6, lr} - adds r6, r0, #0 - ldr r2, _08057434 @ =gRoomControls - ldr r0, [r2, #0x28] - ldr r1, _08057438 @ =0xFFFFE000 - adds r0, r0, r1 - str r0, [r2, #0x28] - ldr r0, [r2, #0x2c] - ldr r1, _0805743C @ =0xFFFFF000 - adds r0, r0, r1 - str r0, [r2, #0x2c] - ldr r5, _08057440 @ =gScreen - movs r1, #0xa - ldrsh r0, [r2, r1] - ldrh r1, [r2, #6] - subs r0, r0, r1 - asrs r0, r0, #1 - ldrh r1, [r2, #0x2a] - adds r0, r0, r1 - strh r0, [r5, #0x2e] - movs r1, #0xc - ldrsh r0, [r2, r1] - ldrh r1, [r2, #8] - subs r0, r0, r1 - asrs r0, r0, #1 - ldrh r2, [r2, #0x2e] - adds r0, r0, r2 - strh r0, [r5, #0x30] - ldr r2, _08057444 @ =gSineTable - ldr r4, _08057448 @ =gScreenTransition - ldr r1, [r4] - ldrb r0, [r4] - adds r0, #0x40 - lsls r0, r0, #1 - adds r0, r0, r2 - movs r2, #0 - ldrsh r0, [r0, r2] - asrs r0, r0, #5 - adds r0, #0x10 - bl sub_0805732C - adds r0, r6, #0 - adds r0, #0x22 - ldrb r0, [r0] - cmp r0, #0 - bne _08057430 - ldr r0, [r4] - movs r1, #0x1f - ands r0, r1 - cmp r0, #0 - bne _08057430 - adds r2, r6, #0 - adds r2, #0x24 - ldrb r0, [r2] - adds r0, #1 - movs r1, #7 - ands r0, r1 - strb r0, [r2] - ldr r1, _0805744C @ =gUnk_08107C30 - ldrb r0, [r2] - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r1, [r0] - adds r0, r5, #0 - adds r0, #0x68 - strh r1, [r0] -_08057430: - pop {r4, r5, r6, pc} - .align 2, 0 -_08057434: .4byte gRoomControls -_08057438: .4byte 0xFFFFE000 -_0805743C: .4byte 0xFFFFF000 -_08057440: .4byte gScreen -_08057444: .4byte gSineTable -_08057448: .4byte gScreenTransition -_0805744C: .4byte gUnk_08107C30 - - thumb_func_start sub_08057450 -sub_08057450: @ 0x08057450 - push {r4, r5, r6, lr} - adds r3, r0, #0 - ldr r4, _08057504 @ =gScreen - movs r0, #0x10 - strh r0, [r4, #0x2e] - ldr r0, _08057508 @ =gRoomControls - movs r2, #0xc - ldrsh r1, [r0, r2] - ldrh r0, [r0, #8] - subs r1, r1, r0 - asrs r1, r1, #2 - movs r2, #0x3f - adds r0, r1, #0 - ands r0, r2 - strh r0, [r4, #0x30] - cmp r1, #0 - bge _08057474 - adds r1, #0x3f -_08057474: - asrs r0, r1, #6 - lsls r0, r0, #9 - ldr r1, _0805750C @ =gBG3Buffer - adds r1, r0, r1 - str r1, [r4, #0x34] - ldr r0, [r3, #0x34] - cmp r0, r1 - beq _0805748A - str r1, [r3, #0x34] - movs r0, #1 - strh r0, [r4, #0x32] -_0805748A: - adds r0, r3, #0 - adds r0, #0x22 - ldrb r0, [r0] - ldr r5, _08057510 @ =gScreenTransition - cmp r0, #0 - bne _080574BE - ldr r0, [r5] - movs r1, #0x1f - ands r0, r1 - cmp r0, #0 - bne _080574BE - adds r2, r3, #0 - adds r2, #0x24 - ldrb r0, [r2] - adds r0, #1 - movs r1, #7 - ands r0, r1 - strb r0, [r2] - ldr r1, _08057514 @ =gUnk_08107C30 - ldrb r0, [r2] - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r1, [r0] - adds r0, r4, #0 - adds r0, #0x68 - strh r1, [r0] -_080574BE: - ldr r0, [r5] - movs r1, #7 - ands r0, r1 - cmp r0, #0 - bne _08057502 - adds r0, r3, #0 - adds r0, #0x23 - ldrb r1, [r0] - lsls r1, r1, #5 - ldr r2, _08057518 @ =gUnk_085B4180 - adds r1, r1, r2 - movs r5, #0 - adds r6, r0, #0 - adds r4, r1, #0 - adds r4, #0xe -_080574DC: - adds r0, r5, #0 - adds r0, #0x87 - ldrh r1, [r4] - bl sub_0801D79C - adds r0, r5, #0 - adds r0, #0x8c - ldrh r1, [r4, #0xa] - bl sub_0801D79C - adds r4, #2 - adds r5, #1 - cmp r5, #3 - bls _080574DC - ldrb r0, [r6] - adds r0, #1 - movs r1, #3 - ands r0, r1 - strb r0, [r6] -_08057502: - pop {r4, r5, r6, pc} - .align 2, 0 -_08057504: .4byte gScreen -_08057508: .4byte gRoomControls -_0805750C: .4byte gBG3Buffer -_08057510: .4byte gScreenTransition -_08057514: .4byte gUnk_08107C30 -_08057518: .4byte gUnk_085B4180 diff --git a/asm/manager10.s b/asm/manager10.s deleted file mode 100644 index 838b5bc0..00000000 --- a/asm/manager10.s +++ /dev/null @@ -1,560 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start Manager10_Main -Manager10_Main: @ 0x08059570 - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldrb r5, [r4, #0xc] - cmp r5, #0 - bne _080595C8 - movs r6, #1 - strb r6, [r4, #0xc] - adds r0, #0x21 - strb r5, [r0] - adds r0, #2 - strb r5, [r0] - bl sub_0805986C - cmp r0, #0 - beq _080595A8 - adds r0, r4, #0 - adds r0, #0x20 - strb r6, [r0] - adds r1, r4, #0 - adds r1, #0x22 - movs r0, #2 - strb r0, [r1] - ldr r0, _080595A4 @ =gUnk_0200B650 - str r5, [r0] - b _080595B8 - .align 2, 0 -_080595A4: .4byte gUnk_0200B650 -_080595A8: - adds r0, r4, #0 - adds r0, #0x20 - movs r1, #0x1f - strb r1, [r0] - adds r1, r4, #0 - adds r1, #0x22 - movs r0, #5 - strb r0, [r1] -_080595B8: - ldr r0, _080595DC @ =gRoomVars - movs r1, #0xff - strb r1, [r0, #0x10] - ldr r1, _080595E0 @ =sub_080595E4 - adds r0, r4, #0 - movs r2, #0 - bl sub_08052D74 -_080595C8: - adds r0, r4, #0 - bl sub_08059608 - adds r0, r4, #0 - bl sub_08059690 - adds r0, r4, #0 - bl sub_080596E0 - pop {r4, r5, r6, pc} - .align 2, 0 -_080595DC: .4byte gRoomVars -_080595E0: .4byte sub_080595E4 - - thumb_func_start sub_080595E4 -sub_080595E4: @ 0x080595E4 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _08059604 @ =gRoomVars - movs r0, #0xff - strb r0, [r1, #0x10] - adds r0, r4, #0 - bl sub_08059690 - adds r0, r4, #0 - bl sub_080596E0 - movs r0, #0 - bl sub_0805B4D0 - pop {r4, pc} - .align 2, 0 -_08059604: .4byte gRoomVars - - thumb_func_start sub_08059608 -sub_08059608: @ 0x08059608 - push {r4, lr} - adds r4, r0, #0 - adds r4, #0x23 - ldrb r0, [r4] - cmp r0, #0 - beq _08059638 - subs r0, #1 - strb r0, [r4] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08059682 - ldr r0, _08059634 @ =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] - bl SoundReq - b _08059682 - .align 2, 0 -_08059634: .4byte gArea -_08059638: - bl sub_0805986C - cmp r0, #0 - beq _08059668 - ldr r0, _0805965C @ =gArea - ldr r2, _08059660 @ =0x00000864 - adds r1, r0, r2 - ldr r0, [r1] - cmp r0, #0x1e - beq _08059682 - movs r0, #0x1e - str r0, [r1] - movs r0, #0x78 - strb r0, [r4] - ldr r0, _08059664 @ =0x800D0000 - bl SoundReq - b _08059682 - .align 2, 0 -_0805965C: .4byte gArea -_08059660: .4byte 0x00000864 -_08059664: .4byte 0x800D0000 -_08059668: - ldr r0, _08059684 @ =gArea - ldr r2, _08059688 @ =0x00000864 - adds r1, r0, r2 - ldr r0, [r1] - cmp r0, #0x37 - beq _08059682 - movs r0, #0x37 - str r0, [r1] - movs r0, #0x78 - strb r0, [r4] - ldr r0, _0805968C @ =0x800D0000 - bl SoundReq -_08059682: - pop {r4, pc} - .align 2, 0 -_08059684: .4byte gArea -_08059688: .4byte 0x00000864 -_0805968C: .4byte 0x800D0000 - - thumb_func_start sub_08059690 -sub_08059690: @ 0x08059690 - push {r4, lr} - adds r4, r0, #0 - bl sub_08059844 - cmp r0, #0 - beq _080596BC - adds r4, #0x20 - ldrb r0, [r4] - cmp r0, #0 - beq _080596D8 - ldr r0, _080596B8 @ =gUnk_085A7320 - movs r2, #0xd0 - lsls r2, r2, #1 - adds r1, r0, r2 - ldrb r2, [r4] - bl sub_08059894 - ldrb r0, [r4] - subs r0, #1 - b _080596D6 - .align 2, 0 -_080596B8: .4byte gUnk_085A7320 -_080596BC: - adds r4, #0x20 - ldrb r0, [r4] - cmp r0, #0x1f - bhi _080596D8 - ldr r0, _080596DC @ =gUnk_085A7320 - movs r2, #0xd0 - lsls r2, r2, #1 - adds r1, r0, r2 - ldrb r2, [r4] - bl sub_08059894 - ldrb r0, [r4] - adds r0, #1 -_080596D6: - strb r0, [r4] -_080596D8: - pop {r4, pc} - .align 2, 0 -_080596DC: .4byte gUnk_085A7320 - - thumb_func_start sub_080596E0 -sub_080596E0: @ 0x080596E0 - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldr r0, _08059730 @ =gScreenTransition - ldr r0, [r0] - movs r1, #7 - ands r0, r1 - cmp r0, #0 - bne _080596FC - ldr r0, _08059734 @ =gScreen - ldrh r1, [r0, #0x16] - adds r1, #8 - movs r2, #0x1f - ands r1, r2 - strh r1, [r0, #0x16] -_080596FC: - bl sub_0805986C - cmp r0, #0 - beq _08059740 - adds r0, r4, #0 - adds r0, #0x21 - ldrb r1, [r0] - adds r5, r0, #0 - adds r2, r4, #0 - adds r2, #0x22 - cmp r1, #0 - bne _08059764 - ldrb r0, [r2] - cmp r0, #2 - beq _08059764 - movs r0, #1 - strb r0, [r5] - movs r0, #3 - strb r0, [r2] - ldr r0, _08059738 @ =gUnk_08108390 - ldrb r0, [r0, #3] - strb r0, [r4, #0xe] - ldr r0, _0805973C @ =gUnk_0200B650 - str r1, [r0] - b _08059764 - .align 2, 0 -_08059730: .4byte gScreenTransition -_08059734: .4byte gScreen -_08059738: .4byte gUnk_08108390 -_0805973C: .4byte gUnk_0200B650 -_08059740: - adds r0, r4, #0 - adds r0, #0x21 - ldrb r1, [r0] - adds r5, r0, #0 - adds r2, r4, #0 - adds r2, #0x22 - cmp r1, #0 - bne _08059764 - ldrb r0, [r2] - cmp r0, #5 - beq _08059764 - movs r0, #2 - strb r0, [r5] - ldr r1, _08059774 @ =gUnk_08108390 - ldrb r0, [r2] - adds r0, r0, r1 - ldrb r0, [r0] - strb r0, [r4, #0xe] -_08059764: - adds r6, r5, #0 - ldrb r0, [r6] - cmp r0, #1 - beq _08059778 - cmp r0, #2 - beq _080597A8 - b _080597D0 - .align 2, 0 -_08059774: .4byte gUnk_08108390 -_08059778: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - movs r3, #0xff - lsls r0, r0, #0x18 - lsrs r5, r0, #0x18 - cmp r5, #0 - bne _080597D0 - ldr r1, _080597A4 @ =gUnk_08108390 - ldrb r0, [r2] - subs r0, #1 - strb r0, [r2] - ands r0, r3 - adds r0, r0, r1 - ldrb r0, [r0] - strb r0, [r4, #0xe] - ldrb r0, [r2] - cmp r0, #2 - bne _080597D0 - strb r5, [r6] - b _080597D0 - .align 2, 0 -_080597A4: .4byte gUnk_08108390 -_080597A8: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - movs r3, #0xff - lsls r0, r0, #0x18 - lsrs r6, r0, #0x18 - cmp r6, #0 - bne _080597D0 - ldr r1, _080597EC @ =gUnk_08108390 - ldrb r0, [r2] - adds r0, #1 - strb r0, [r2] - ands r0, r3 - adds r0, r0, r1 - ldrb r0, [r0] - strb r0, [r4, #0xe] - ldrb r0, [r2] - cmp r0, #5 - bne _080597D0 - strb r6, [r5] -_080597D0: - ldr r3, _080597F0 @ =gRoomVars - ldrb r1, [r2] - ldrb r0, [r3, #0x10] - cmp r0, r1 - beq _08059838 - strb r1, [r3, #0x10] - ldrb r0, [r2] - cmp r0, #4 - beq _08059800 - cmp r0, #4 - ble _080597F4 - cmp r0, #5 - beq _08059824 - b _08059838 - .align 2, 0 -_080597EC: .4byte gUnk_08108390 -_080597F0: .4byte gRoomVars -_080597F4: - cmp r0, #0 - blt _08059838 - adds r0, #0x2b - bl LoadGfxGroup - b _08059838 -_08059800: - ldr r4, _0805981C @ =gBG3Buffer - movs r5, #0x80 - lsls r5, r5, #4 - adds r0, r4, #0 - adds r1, r5, #0 - bl MemClear - ldr r1, _08059820 @ =0x0600E800 - adds r0, r4, #0 - adds r2, r5, #0 - bl LoadResourceAsync - b _08059838 - .align 2, 0 -_0805981C: .4byte gBG3Buffer -_08059820: .4byte 0x0600E800 -_08059824: - ldr r0, _0805983C @ =gUnk_0200B650 - ldr r1, _08059840 @ =gBG1Settings - str r1, [r0] - subs r1, #0x14 - ldrh r2, [r1] - movs r3, #0x80 - lsls r3, r3, #2 - adds r0, r3, #0 - orrs r0, r2 - strh r0, [r1] -_08059838: - pop {r4, r5, r6, pc} - .align 2, 0 -_0805983C: .4byte gUnk_0200B650 -_08059840: .4byte gBG1Settings - - thumb_func_start sub_08059844 -sub_08059844: @ 0x08059844 - push {lr} - movs r3, #0 - ldr r0, _08059864 @ =gPlayerEntity - movs r2, #0x2e - ldrsh r1, [r0, r2] - ldr r2, _08059868 @ =gRoomControls - ldrh r0, [r2, #6] - subs r1, r1, r0 - ldrh r0, [r2, #0x1e] - lsrs r0, r0, #1 - cmp r1, r0 - ble _0805985E - movs r3, #1 -_0805985E: - adds r0, r3, #0 - pop {pc} - .align 2, 0 -_08059864: .4byte gPlayerEntity -_08059868: .4byte gRoomControls - - thumb_func_start sub_0805986C -sub_0805986C: @ 0x0805986C - push {lr} - movs r2, #0 - ldr r0, _0805988C @ =gPlayerEntity - movs r3, #0x2e - ldrsh r1, [r0, r3] - ldr r0, _08059890 @ =gRoomControls - ldrh r0, [r0, #6] - subs r1, r1, r0 - movs r0, #0x80 - lsls r0, r0, #2 - cmp r1, r0 - ble _08059886 - movs r2, #1 -_08059886: - adds r0, r2, #0 - pop {pc} - .align 2, 0 -_0805988C: .4byte gPlayerEntity -_08059890: .4byte gRoomControls - - thumb_func_start sub_08059894 -sub_08059894: @ 0x08059894 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - adds r5, r0, #0 - adds r4, r1, #0 - ldr r0, _080598E8 @ =gUnk_020176E0 - mov sb, r0 - movs r6, #0 - lsls r2, r2, #0x18 - mov r8, r2 -_080598AA: - adds r0, r5, #0 - adds r1, r4, #0 - mov r2, sb - mov r7, r8 - lsrs r3, r7, #0x18 - bl sub_08059960 - adds r5, #0x20 - adds r4, #0x20 - movs r0, #0x20 - add sb, r0 - adds r6, #1 - cmp r6, #0xc - bls _080598AA - ldr r0, _080598EC @ =gUnk_02017700 - movs r2, #0x90 - lsls r2, r2, #2 - adds r1, r0, r2 - movs r2, #0x20 - bl MemCopy - ldr r2, _080598F0 @ =gUsedPalettes - ldr r0, [r2] - ldr r1, _080598F4 @ =0x00207FFC - orrs r0, r1 - str r0, [r2] - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080598E8: .4byte gUnk_020176E0 -_080598EC: .4byte gUnk_02017700 -_080598F0: .4byte gUsedPalettes -_080598F4: .4byte 0x00207FFC - - thumb_func_start sub_080598F8 -sub_080598F8: @ 0x080598F8 - push {r4, r5, r6, r7, lr} - movs r4, #0x1f - adds r3, r0, #0 - ands r3, r4 - lsls r6, r3, #8 - adds r3, r6, #0 - muls r3, r2, r3 - lsrs r6, r3, #5 - adds r3, r1, #0 - ands r3, r4 - lsls r3, r3, #8 - movs r4, #0x20 - subs r4, r4, r2 - muls r3, r4, r3 - lsrs r3, r3, #5 - adds r3, r6, r3 - lsrs r6, r3, #8 - movs r5, #0xf8 - lsls r5, r5, #2 - adds r3, r0, #0 - ands r3, r5 - lsls r7, r3, #3 - adds r3, r7, #0 - muls r3, r2, r3 - lsrs r7, r3, #5 - adds r3, r1, #0 - ands r3, r5 - lsls r3, r3, #3 - muls r3, r4, r3 - lsrs r3, r3, #5 - adds r3, r7, r3 - lsrs r7, r3, #8 - movs r3, #0xf8 - lsls r3, r3, #7 - ands r0, r3 - lsrs r5, r0, #2 - adds r0, r5, #0 - muls r0, r2, r0 - lsrs r5, r0, #5 - ands r1, r3 - lsrs r0, r1, #2 - muls r0, r4, r0 - lsrs r0, r0, #5 - adds r0, r5, r0 - lsrs r5, r0, #8 - lsls r0, r7, #5 - orrs r6, r0 - lsls r0, r5, #0xa - orrs r6, r0 - adds r0, r6, #0 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_08059960 -sub_08059960: @ 0x08059960 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r6, r0, #0 - adds r5, r1, #0 - adds r4, r2, #0 - lsls r3, r3, #0x18 - lsrs r3, r3, #0x18 - mov r8, r3 - movs r7, #0 -_08059974: - ldrh r0, [r6] - adds r6, #2 - ldrh r1, [r5] - adds r5, #2 - mov r2, r8 - bl sub_080598F8 - strh r0, [r4] - adds r4, #2 - adds r7, #1 - cmp r7, #0xf - bls _08059974 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_08059994 -sub_08059994: @ 0x08059994 - push {lr} - bl sub_0805986C - cmp r0, #0 - beq _080599AE - movs r0, #0x5b - bl LoadPaletteGroup - ldr r0, _080599B0 @ =gArea - ldr r1, _080599B4 @ =0x00000864 - adds r0, r0, r1 - movs r1, #0x1e - str r1, [r0] -_080599AE: - pop {pc} - .align 2, 0 -_080599B0: .4byte gArea -_080599B4: .4byte 0x00000864 diff --git a/asm/manager12.s b/asm/manager12.s deleted file mode 100644 index 14a9f8da..00000000 --- a/asm/manager12.s +++ /dev/null @@ -1,462 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start Manager12_Main -Manager12_Main: @ 0x080599EC - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _08059A20 - movs r0, #1 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x22 - movs r0, #0xff - strb r0, [r1] - subs r1, #1 - movs r0, #1 - rsbs r0, r0, #0 - strb r0, [r1] - subs r1, #1 - strb r0, [r1] - ldr r1, _08059A28 @ =sub_08059A2C - adds r0, r4, #0 - movs r2, #0 - bl sub_08052D74 - adds r0, r4, #0 - movs r1, #6 - bl sub_0805E3A0 -_08059A20: - adds r0, r4, #0 - bl sub_08059A58 - pop {r4, pc} - .align 2, 0 -_08059A28: .4byte sub_08059A2C - - thumb_func_start sub_08059A2C -sub_08059A2C: @ 0x08059A2C - push {lr} - adds r2, r0, #0 - ldr r1, _08059A54 @ =gRoomVars - movs r0, #0xff - strb r0, [r1, #0x12] - movs r0, #1 - rsbs r0, r0, #0 - strb r0, [r1, #0x11] - strb r0, [r1, #0x10] - adds r1, r2, #0 - adds r1, #0x22 - strb r0, [r1] - subs r1, #1 - strb r0, [r1] - subs r1, #1 - strb r0, [r1] - adds r0, r2, #0 - bl sub_08059A58 - pop {pc} - .align 2, 0 -_08059A54: .4byte gRoomVars - - thumb_func_start sub_08059A58 -sub_08059A58: @ 0x08059A58 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r0, _08059AC4 @ =gRoomControls - ldrb r0, [r0, #4] - cmp r0, #0x15 - beq _08059AD4 - adds r4, r5, #0 - adds r4, #0x20 - ldr r3, _08059AC8 @ =gUnk_08108398 - adds r0, r5, #0 - movs r1, #0 - adds r2, r4, #0 - bl sub_08059C8C - cmp r0, #0 - beq _08059A80 - ldrb r1, [r4] - movs r0, #0 - bl sub_08059CC0 -_08059A80: - adds r4, r5, #0 - adds r4, #0x21 - ldr r3, _08059ACC @ =gUnk_081083AE - adds r0, r5, #0 - movs r1, #1 - adds r2, r4, #0 - bl sub_08059C8C - cmp r0, #0 - beq _08059AA6 - ldrb r1, [r4] - movs r0, #1 - bl sub_08059CC0 - ldrb r0, [r4] - cmp r0, #2 - bne _08059AA6 - bl sub_08059B18 -_08059AA6: - adds r4, r5, #0 - adds r4, #0x22 - ldr r3, _08059AD0 @ =gUnk_081083C4 - adds r0, r5, #0 - movs r1, #2 - adds r2, r4, #0 - bl sub_08059C8C - cmp r0, #0 - beq _08059B0C - ldrb r1, [r4] - movs r0, #2 - bl sub_08059CC0 - b _08059B0C - .align 2, 0 -_08059AC4: .4byte gRoomControls -_08059AC8: .4byte gUnk_08108398 -_08059ACC: .4byte gUnk_081083AE -_08059AD0: .4byte gUnk_081083C4 -_08059AD4: - adds r4, r5, #0 - adds r4, #0x20 - ldr r3, _08059B10 @ =gUnk_081083DA - adds r0, r5, #0 - movs r1, #0 - adds r2, r4, #0 - bl sub_08059C8C - cmp r0, #0 - beq _08059AF0 - ldrb r1, [r4] - movs r0, #0 - bl sub_08059CC0 -_08059AF0: - adds r4, r5, #0 - adds r4, #0x22 - ldr r3, _08059B14 @ =gUnk_081083F2 - adds r0, r5, #0 - movs r1, #2 - adds r2, r4, #0 - bl sub_08059C8C - cmp r0, #0 - beq _08059B0C - ldrb r1, [r4] - movs r0, #2 - bl sub_08059CC0 -_08059B0C: - pop {r4, r5, pc} - .align 2, 0 -_08059B10: .4byte gUnk_081083DA -_08059B14: .4byte gUnk_081083F2 - - thumb_func_start sub_08059B18 -sub_08059B18: @ 0x08059B18 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - sub sp, #4 - movs r0, #0x18 - bl CheckGlobalFlag - cmp r0, #0 - beq _08059BEC - movs r6, #0 - movs r0, #0x3f - mov sb, r0 - movs r2, #0xc4 - lsls r2, r2, #1 - mov r8, r2 -_08059B38: - movs r5, #0 - lsls r1, r6, #4 - mov r2, r8 - lsrs r0, r2, #4 - mov r2, sb - ands r0, r2 - lsls r3, r0, #6 - movs r7, #0x28 - ldr r0, _08059BD8 @ =0x000004AB - adds r4, r1, r0 -_08059B4C: - lsrs r1, r7, #4 - mov r2, sb - ands r1, r2 - orrs r1, r3 - adds r0, r4, #0 - movs r2, #1 - str r3, [sp] - bl sub_0807B9B8 - adds r7, #0x10 - adds r4, #1 - adds r5, #1 - ldr r3, [sp] - cmp r5, #3 - bls _08059B4C - movs r0, #0x10 - add r8, r0 - adds r6, #1 - cmp r6, #3 - bls _08059B38 - movs r6, #0 - movs r3, #0x3f -_08059B78: - movs r5, #0 - lsls r1, r6, #4 - adds r6, #1 - mov r8, r6 - movs r2, #0xc4 - lsls r2, r2, #1 - adds r0, r1, r2 - lsrs r0, r0, #4 - ands r0, r3 - lsls r7, r0, #6 - movs r6, #0x28 - movs r0, #0x88 - lsls r0, r0, #3 - adds r4, r1, r0 -_08059B94: - lsrs r1, r6, #4 - ands r1, r3 - orrs r1, r7 - adds r0, r4, #0 - movs r2, #2 - str r3, [sp] - bl sub_0807B9B8 - adds r6, #0x10 - adds r4, #1 - adds r5, #1 - ldr r3, [sp] - cmp r5, #3 - bls _08059B94 - mov r6, r8 - cmp r6, #2 - bls _08059B78 - ldr r1, _08059BDC @ =0x000005C2 - movs r0, #0xd6 - movs r2, #2 - bl sub_0807B9B8 - ldr r1, _08059BE0 @ =0x000005C3 - movs r0, #0xd7 - movs r2, #2 - bl sub_0807B9B8 - ldr r0, _08059BE4 @ =gUnk_086E8460 - ldr r1, _08059BE8 @ =0x06001800 - movs r2, #0x80 - lsls r2, r2, #4 - bl LoadResourceAsync - b _08059C5E - .align 2, 0 -_08059BD8: .4byte 0x000004AB -_08059BDC: .4byte 0x000005C2 -_08059BE0: .4byte 0x000005C3 -_08059BE4: .4byte gUnk_086E8460 -_08059BE8: .4byte 0x06001800 -_08059BEC: - movs r0, #0x19 - bl CheckGlobalFlag - cmp r0, #0 - beq _08059C5E - movs r6, #0 - movs r3, #0x3f -_08059BFA: - movs r5, #0 - lsls r1, r6, #4 - adds r6, #1 - mov r8, r6 - movs r2, #0xc4 - lsls r2, r2, #1 - adds r0, r1, r2 - lsrs r0, r0, #4 - ands r0, r3 - lsls r7, r0, #6 - movs r6, #0x28 - ldr r0, _08059C68 @ =0x000004A6 - adds r4, r1, r0 -_08059C14: - lsrs r1, r6, #4 - ands r1, r3 - orrs r1, r7 - adds r0, r4, #0 - movs r2, #1 - str r3, [sp] - bl sub_0807B9B8 - adds r6, #0x10 - adds r4, #1 - adds r5, #1 - ldr r3, [sp] - cmp r5, #3 - bls _08059C14 - mov r6, r8 - cmp r6, #4 - bls _08059BFA - ldr r0, _08059C6C @ =0x00000444 - ldr r1, _08059C70 @ =0x00000602 - movs r2, #2 - bl sub_0807B9B8 - ldr r0, _08059C74 @ =0x00000445 - ldr r1, _08059C78 @ =0x00000605 - movs r2, #2 - bl sub_0807B9B8 - ldr r0, _08059C7C @ =0x00000454 - ldr r1, _08059C80 @ =0x00000642 - movs r2, #2 - bl sub_0807B9B8 - ldr r0, _08059C84 @ =0x00000455 - ldr r1, _08059C88 @ =0x00000645 - movs r2, #2 - bl sub_0807B9B8 -_08059C5E: - add sp, #4 - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08059C68: .4byte 0x000004A6 -_08059C6C: .4byte 0x00000444 -_08059C70: .4byte 0x00000602 -_08059C74: .4byte 0x00000445 -_08059C78: .4byte 0x00000605 -_08059C7C: .4byte 0x00000454 -_08059C80: .4byte 0x00000642 -_08059C84: .4byte 0x00000455 -_08059C88: .4byte 0x00000645 - - thumb_func_start sub_08059C8C -sub_08059C8C: @ 0x08059C8C - push {r4, r5, lr} - adds r5, r1, #0 - adds r4, r2, #0 - adds r0, r3, #0 - bl sub_08056300 - adds r2, r0, #0 - strb r2, [r4] - lsls r0, r2, #0x18 - lsrs r3, r0, #0x18 - cmp r3, #0xff - beq _08059CBC - ldr r0, _08059CB8 @ =gRoomVars - adds r0, #0x10 - adds r1, r5, r0 - ldrb r0, [r1] - cmp r0, r3 - beq _08059CBC - strb r2, [r1] - movs r0, #1 - b _08059CBE - .align 2, 0 -_08059CB8: .4byte gRoomVars -_08059CBC: - movs r0, #0 -_08059CBE: - pop {r4, r5, pc} - - thumb_func_start sub_08059CC0 -sub_08059CC0: @ 0x08059CC0 - push {r4, r5, r6, lr} - adds r2, r1, #0 - ldr r1, _08059CDC @ =gRoomVars - adds r1, #0x10 - adds r0, r0, r1 - strb r2, [r0] - ldr r0, _08059CE0 @ =gRoomControls - ldrb r0, [r0, #4] - cmp r0, #0x15 - beq _08059CE8 - lsls r1, r2, #4 - ldr r0, _08059CE4 @ =gUnk_08108408 - b _08059CEC - .align 2, 0 -_08059CDC: .4byte gRoomVars -_08059CE0: .4byte gRoomControls -_08059CE4: .4byte gUnk_08108408 -_08059CE8: - lsls r1, r2, #4 - ldr r0, _08059D10 @ =gUnk_08108468 -_08059CEC: - adds r6, r1, r0 - ldr r0, [r6] - ldr r4, _08059D14 @ =gGlobalGfxAndPalettes - adds r0, r0, r4 - ldr r1, [r6, #4] - movs r5, #0x80 - lsls r5, r5, #5 - adds r2, r5, #0 - bl LoadResourceAsync - ldr r0, [r6, #8] - adds r0, r0, r4 - ldr r1, [r6, #0xc] - adds r2, r5, #0 - bl LoadResourceAsync - pop {r4, r5, r6, pc} - .align 2, 0 -_08059D10: .4byte gUnk_08108468 -_08059D14: .4byte gGlobalGfxAndPalettes - - thumb_func_start TryLoadPrologueHyruleTown -TryLoadPrologueHyruleTown: @ 0x08059D18 - push {r4, lr} - ldr r0, _08059D68 @ =gRoomControls - ldrb r0, [r0, #4] - cmp r0, #0x15 - beq _08059D78 - ldr r0, _08059D6C @ =gUnk_08108398 - bl sub_08056300 - adds r4, r0, #0 - cmp r4, #0xff - beq _08059D36 - movs r0, #0 - adds r1, r4, #0 - bl sub_08059CC0 -_08059D36: - ldr r0, _08059D70 @ =gUnk_081083AE - bl sub_08056300 - adds r4, r0, #0 - cmp r4, #0xff - beq _08059D52 - movs r0, #1 - adds r1, r4, #0 - bl sub_08059CC0 - cmp r4, #2 - bne _08059D52 - bl sub_08059B18 -_08059D52: - ldr r0, _08059D74 @ =gUnk_081083C4 - bl sub_08056300 - adds r4, r0, #0 - cmp r4, #0xff - beq _08059DA0 - movs r0, #2 - adds r1, r4, #0 - bl sub_08059CC0 - b _08059DA0 - .align 2, 0 -_08059D68: .4byte gRoomControls -_08059D6C: .4byte gUnk_08108398 -_08059D70: .4byte gUnk_081083AE -_08059D74: .4byte gUnk_081083C4 -_08059D78: - ldr r0, _08059DA4 @ =gUnk_081083DA - bl sub_08056300 - adds r4, r0, #0 - cmp r4, #0xff - beq _08059D8C - movs r0, #0 - adds r1, r4, #0 - bl sub_08059CC0 -_08059D8C: - ldr r0, _08059DA8 @ =gUnk_081083F2 - bl sub_08056300 - adds r4, r0, #0 - cmp r4, #0xff - beq _08059DA0 - movs r0, #2 - adds r1, r4, #0 - bl sub_08059CC0 -_08059DA0: - pop {r4, pc} - .align 2, 0 -_08059DA4: .4byte gUnk_081083DA -_08059DA8: .4byte gUnk_081083F2 diff --git a/asm/manager14.s b/asm/manager14.s deleted file mode 100644 index cc72ed3c..00000000 --- a/asm/manager14.s +++ /dev/null @@ -1,519 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start Manager14_Main -Manager14_Main: @ 0x08059E58 - push {r4, lr} - adds r4, r0, #0 - ldrh r0, [r4, #0x20] - adds r0, #1 - strh r0, [r4, #0x20] - ldr r1, _08059E7C @ =gUnk_081085A4 - 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_0805A1D8 - pop {r4, pc} - .align 2, 0 -_08059E7C: .4byte gUnk_081085A4 - - thumb_func_start sub_08059E80 -sub_08059E80: @ 0x08059E80 - push {r4, r5, lr} - adds r4, r0, #0 - bl EntityHasDuplicateID - cmp r0, #0 - beq _08059E90 - bl DeleteThisEntity -_08059E90: - adds r1, r4, #0 - adds r1, #0x22 - movs r2, #0 - movs r0, #1 - strb r0, [r1] - movs r0, #0 - strh r2, [r4, #0x20] - strb r0, [r4, #0xe] - movs r0, #4 - strb r0, [r4, #0xf] - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x20 - orrs r0, r1 - strb r0, [r4, #0x10] - ldr r3, _08059EE4 @ =gScreen - ldr r0, _08059EE8 @ =0x00001E04 - strh r0, [r3, #0x2c] - ldrh r0, [r3] - movs r5, #0x80 - lsls r5, r5, #4 - adds r1, r5, #0 - orrs r0, r1 - strh r0, [r3] - adds r1, r3, #0 - adds r1, #0x66 - ldr r0, _08059EEC @ =0x00003E48 - strh r0, [r1] - adds r1, #2 - movs r0, #0x80 - lsls r0, r0, #5 - strh r0, [r1] - movs r0, #0x80 - strh r0, [r3, #0x2e] - strh r2, [r3, #0x30] - ldr r1, _08059EF0 @ =nullsub_495 - ldr r2, _08059EF4 @ =sub_0805A25C - adds r0, r4, #0 - bl sub_08052D74 - pop {r4, r5, pc} - .align 2, 0 -_08059EE4: .4byte gScreen -_08059EE8: .4byte 0x00001E04 -_08059EEC: .4byte 0x00003E48 -_08059EF0: .4byte nullsub_495 -_08059EF4: .4byte sub_0805A25C - - thumb_func_start sub_08059EF8 -sub_08059EF8: @ 0x08059EF8 - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - movs r6, #0xff - lsls r0, r0, #0x18 - lsrs r5, r0, #0x18 - cmp r5, #0 - bne _08059F90 - movs r0, #4 - strb r0, [r4, #0xf] - adds r0, r4, #0 - bl sub_08059F9C - cmp r0, #0 - beq _08059F64 - ldr r2, _08059F50 @ =gUnk_08108588 - ldrb r0, [r4, #0xe] - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r1, [r0] - ldr r0, _08059F54 @ =0x00000808 - cmp r1, r0 - beq _08059F5C - adds r1, r4, #0 - adds r1, #0x22 - movs r0, #1 - strb r0, [r1] - adds r0, r4, #0 - adds r0, #0x24 - strb r5, [r0] - ldr r1, _08059F58 @ =gScreen - ldrb r0, [r4, #0xe] - adds r0, #1 - strb r0, [r4, #0xe] - ands r0, r6 - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r0, [r0] - adds r1, #0x68 - strh r0, [r1] - b _08059F90 - .align 2, 0 -_08059F50: .4byte gUnk_08108588 -_08059F54: .4byte 0x00000808 -_08059F58: .4byte gScreen -_08059F5C: - adds r0, r4, #0 - adds r0, #0x22 - strb r5, [r0] - b _08059F90 -_08059F64: - adds r1, r4, #0 - adds r1, #0x22 - movs r0, #1 - strb r0, [r1] - ldr r3, _08059F94 @ =gUnk_08108588 - ldrb r2, [r4, #0xe] - lsls r0, r2, #1 - adds r0, r0, r3 - ldrh r1, [r0] - movs r0, #0x80 - lsls r0, r0, #5 - cmp r1, r0 - beq _08059F90 - ldr r0, _08059F98 @ =gScreen - subs r1, r2, #1 - strb r1, [r4, #0xe] - ands r1, r6 - lsls r1, r1, #1 - adds r1, r1, r3 - ldrh r1, [r1] - adds r0, #0x68 - strh r1, [r0] -_08059F90: - pop {r4, r5, r6, pc} - .align 2, 0 -_08059F94: .4byte gUnk_08108588 -_08059F98: .4byte gScreen - - thumb_func_start sub_08059F9C -sub_08059F9C: @ 0x08059F9C - push {r4, lr} - adds r4, r0, #0 - ldr r0, _08059FB4 @ =gRoomControls - ldrb r0, [r0, #5] - cmp r0, #0x17 - bhi _0805A03A - lsls r0, r0, #2 - ldr r1, _08059FB8 @ =_08059FBC - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08059FB4: .4byte gRoomControls -_08059FB8: .4byte _08059FBC -_08059FBC: @ jump table - .4byte _0805A036 @ case 0 - .4byte _0805A01C @ case 1 - .4byte _0805A03A @ case 2 - .4byte _0805A03A @ case 3 - .4byte _0805A03A @ case 4 - .4byte _0805A03A @ case 5 - .4byte _0805A03A @ case 6 - .4byte _0805A02A @ case 7 - .4byte _0805A036 @ case 8 - .4byte _0805A036 @ case 9 - .4byte _0805A03A @ case 10 - .4byte _0805A03A @ case 11 - .4byte _0805A03A @ case 12 - .4byte _0805A03A @ case 13 - .4byte _0805A03A @ case 14 - .4byte _0805A03A @ case 15 - .4byte _0805A03A @ case 16 - .4byte _0805A03A @ case 17 - .4byte _0805A03A @ case 18 - .4byte _0805A03A @ case 19 - .4byte _0805A03A @ case 20 - .4byte _0805A03A @ case 21 - .4byte _0805A03A @ case 22 - .4byte _0805A036 @ case 23 -_0805A01C: - movs r0, #0x16 - bl CheckLocalFlag - cmp r0, #0 - beq _0805A02A - movs r0, #0 - b _0805A03C -_0805A02A: - adds r0, r4, #0 - bl sub_0805A25C - bl DeleteThisEntity - b _0805A03C -_0805A036: - movs r0, #1 - b _0805A03C -_0805A03A: - movs r0, #0 -_0805A03C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0805A040 -sub_0805A040: @ 0x0805A040 - push {lr} - bl sub_0805A098 - pop {pc} - - thumb_func_start sub_0805A048 -sub_0805A048: @ 0x0805A048 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0805A086 - movs r0, #4 - strb r0, [r4, #0xf] - ldr r2, _0805A090 @ =gScreen - ldr r3, _0805A094 @ =gUnk_08108588 - ldrb r0, [r4, #0xe] - adds r1, r0, #1 - strb r1, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x17 - adds r0, r0, r3 - ldrh r0, [r0] - adds r2, #0x68 - strh r0, [r2] - lsls r1, r1, #0x18 - lsrs r1, r1, #0x18 - cmp r1, #9 - bne _0805A086 - movs r0, #1 - strb r0, [r4, #0xc] - adds r1, r4, #0 - adds r1, #0x22 - movs r0, #0 - strb r0, [r1] -_0805A086: - adds r0, r4, #0 - bl sub_0805A098 - pop {r4, pc} - .align 2, 0 -_0805A090: .4byte gScreen -_0805A094: .4byte gUnk_08108588 - - thumb_func_start sub_0805A098 -sub_0805A098: @ 0x0805A098 - push {lr} - adds r1, r0, #0 - ldr r0, _0805A0B0 @ =gRoomControls - ldrb r0, [r0, #5] - cmp r0, #9 - bgt _0805A0B4 - cmp r0, #8 - bge _0805A0BC - cmp r0, #0 - beq _0805A0BC - b _0805A0B8 - .align 2, 0 -_0805A0B0: .4byte gRoomControls -_0805A0B4: - cmp r0, #0x17 - beq _0805A0BC -_0805A0B8: - movs r0, #3 - strb r0, [r1, #0xc] -_0805A0BC: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0805A0C0 -sub_0805A0C0: @ 0x0805A0C0 - push {r4, lr} - adds r3, r0, #0 - ldrb r0, [r3, #0xf] - subs r0, #1 - strb r0, [r3, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0805A106 - movs r0, #4 - strb r0, [r3, #0xf] - ldr r4, _0805A108 @ =gScreen - ldr r2, _0805A10C @ =gUnk_08108588 - ldrb r0, [r3, #0xe] - adds r1, r0, #0 - adds r1, #0xff - strb r1, [r3, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x17 - adds r0, r0, r2 - ldrh r2, [r0] - adds r0, r4, #0 - adds r0, #0x68 - strh r2, [r0] - lsls r1, r1, #0x18 - lsrs r1, r1, #0x18 - cmp r1, #0xff - bne _0805A106 - ldrh r1, [r4] - ldr r0, _0805A110 @ =0x0000F7FF - ands r0, r1 - strh r0, [r4] - bl sub_08056250 - bl DeleteThisEntity -_0805A106: - pop {r4, pc} - .align 2, 0 -_0805A108: .4byte gScreen -_0805A10C: .4byte gUnk_08108588 -_0805A110: .4byte 0x0000F7FF - - thumb_func_start sub_0805A114 -sub_0805A114: @ 0x0805A114 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - adds r7, r0, #0 - adds r6, r1, #0 - ldr r2, _0805A154 @ =gUnk_03003DE4 - ldrb r1, [r2] - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #9 - ldr r1, _0805A158 @ =gUnk_02017AA0 - adds r4, r0, r1 - movs r5, #0 - mov r8, r2 - mov sb, r1 - ldr r2, _0805A15C @ =gScreen - ldr r0, _0805A160 @ =gSineTable - mov ip, r0 -_0805A13A: - movs r1, #0x30 - ldrsh r0, [r2, r1] - adds r3, r5, r0 - asrs r1, r3, #3 - movs r0, #7 - ands r1, r0 - cmp r1, #7 - bhi _0805A190 - lsls r0, r1, #2 - ldr r1, _0805A164 @ =_0805A168 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0805A154: .4byte gUnk_03003DE4 -_0805A158: .4byte gUnk_02017AA0 -_0805A15C: .4byte gScreen -_0805A160: .4byte gSineTable -_0805A164: .4byte _0805A168 -_0805A168: @ jump table - .4byte _0805A190 @ case 0 - .4byte _0805A18C @ case 1 - .4byte _0805A190 @ case 2 - .4byte _0805A190 @ case 3 - .4byte _0805A188 @ case 4 - .4byte _0805A190 @ case 5 - .4byte _0805A190 @ case 6 - .4byte _0805A18C @ case 7 -_0805A188: - subs r3, #8 - b _0805A190 -_0805A18C: - movs r0, #0xf0 - b _0805A192 -_0805A190: - movs r0, #0xf8 -_0805A192: - ands r3, r0 - adds r0, r6, r3 - movs r1, #0xff - ands r0, r1 - lsls r0, r0, #1 - add r0, ip - movs r1, #0 - ldrsh r0, [r0, r1] - muls r0, r7, r0 - lsrs r0, r0, #8 - ldrh r1, [r2, #0x2e] - adds r0, r0, r1 - strh r0, [r4] - adds r4, #2 - adds r5, #1 - cmp r5, #0x9f - ble _0805A13A - mov r0, r8 - ldrb r1, [r0] - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #9 - add r0, sb - ldr r1, _0805A1D0 @ =0x0400001C - ldr r2, _0805A1D4 @ =0xA2600001 - bl sub_0805622C - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0805A1D0: .4byte 0x0400001C -_0805A1D4: .4byte 0xA2600001 - - thumb_func_start sub_0805A1D8 -sub_0805A1D8: @ 0x0805A1D8 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r1, _0805A244 @ =gRoomControls - ldr r0, [r1, #0x28] - ldr r2, _0805A248 @ =0xFFFFF000 - adds r0, r0, r2 - str r0, [r1, #0x28] - ldr r5, _0805A24C @ =gScreen - ldrh r0, [r1, #0x2a] - strh r0, [r5, #0x2e] - ldr r0, [r1, #0x2c] - adds r0, r0, r2 - str r0, [r1, #0x2c] - ldrh r0, [r1, #0x2e] - strh r0, [r5, #0x30] - ldrh r1, [r5] - movs r0, #0x80 - lsls r0, r0, #4 - ands r0, r1 - cmp r0, #0 - beq _0805A240 - ldrh r1, [r4, #0x20] - lsrs r1, r1, #1 - movs r0, #6 - bl sub_0805A114 - adds r0, r4, #0 - adds r0, #0x22 - ldrb r0, [r0] - cmp r0, #0 - bne _0805A240 - ldr r0, _0805A250 @ =gMain - ldrh r1, [r0, #0xc] - movs r0, #0x1f - ands r0, r1 - cmp r0, #0 - bne _0805A240 - adds r2, r4, #0 - adds r2, #0x24 - ldrb r0, [r2] - adds r0, #1 - movs r1, #3 - ands r0, r1 - strb r0, [r2] - ldr r1, _0805A254 @ =gUnk_0810859A - ldrb r0, [r2] - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r1, [r0] - adds r0, r5, #0 - adds r0, #0x68 - strh r1, [r0] -_0805A240: - pop {r4, r5, pc} - .align 2, 0 -_0805A244: .4byte gRoomControls -_0805A248: .4byte 0xFFFFF000 -_0805A24C: .4byte gScreen -_0805A250: .4byte gMain -_0805A254: .4byte gUnk_0810859A - - thumb_func_start nullsub_495 -nullsub_495: @ 0x0805A258 - bx lr - .align 2, 0 - - thumb_func_start sub_0805A25C -sub_0805A25C: @ 0x0805A25C - push {lr} - ldr r1, _0805A278 @ =gScreen - adds r2, r1, #0 - adds r2, #0x66 - movs r0, #0 - strh r0, [r2] - ldrh r2, [r1] - ldr r0, _0805A27C @ =0x0000F7FF - ands r0, r2 - strh r0, [r1] - bl sub_08056250 - pop {pc} - .align 2, 0 -_0805A278: .4byte gScreen -_0805A27C: .4byte 0x0000F7FF diff --git a/asm/manager1B.s b/asm/manager1B.s deleted file mode 100644 index 72c32b93..00000000 --- a/asm/manager1B.s +++ /dev/null @@ -1,203 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start Manager1B_Main -Manager1B_Main: @ 0x0805B3B4 - push {r4, r5, lr} - adds r4, r0, #0 - bl EntityHasDuplicateID - cmp r0, #0 - beq _0805B3C4 - bl DeleteThisEntity -_0805B3C4: - ldrb r0, [r4, #0xa] - lsls r0, r0, #2 - ldr r1, _0805B438 @ =gUnk_08108C28 - adds r5, r0, r1 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0805B41E - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x20 - orrs r0, r1 - strb r0, [r4, #0x10] - adds r0, r4, #0 - movs r1, #6 - bl sub_0805E3A0 - ldrb r0, [r4, #0xa] - cmp r0, #0 - beq _0805B3F6 - ldr r1, _0805B43C @ =sub_0805B4B4 - adds r0, r4, #0 - movs r2, #0 - bl sub_08052D74 -_0805B3F6: - ldr r0, _0805B440 @ =gRoomControls - ldrh r1, [r0, #0x20] - movs r0, #0x80 - lsls r0, r0, #1 - subs r1, r0, r1 - cmp r1, #0 - bge _0805B406 - movs r1, #0 -_0805B406: - movs r0, #2 - ldrsb r0, [r5, r0] - adds r0, r1, r0 - str r0, [r4, #0x20] - ldr r1, _0805B444 @ =gUnk_08108C54 - ldrb r0, [r5, #1] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 -_0805B41E: - ldr r0, _0805B440 @ =gRoomControls - ldrh r0, [r0] - cmp r0, #0 - bne _0805B436 - ldr r0, _0805B444 @ =gUnk_08108C54 - ldrb r1, [r5, #1] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r4, #0 - bl _call_via_r1 -_0805B436: - pop {r4, r5, pc} - .align 2, 0 -_0805B438: .4byte gUnk_08108C28 -_0805B43C: .4byte sub_0805B4B4 -_0805B440: .4byte gRoomControls -_0805B444: .4byte gUnk_08108C54 - - thumb_func_start sub_0805B448 -sub_0805B448: @ 0x0805B448 - push {r4, lr} - ldr r4, _0805B46C @ =gScreen - ldr r3, _0805B470 @ =gRoomControls - movs r2, #0xa - ldrsh r1, [r3, r2] - ldrh r2, [r3, #6] - subs r1, r1, r2 - asrs r1, r1, #2 - strh r1, [r4, #0x2e] - movs r2, #0xc - ldrsh r1, [r3, r2] - ldrh r2, [r3, #8] - subs r1, r1, r2 - asrs r1, r1, #1 - ldr r0, [r0, #0x20] - adds r0, r0, r1 - strh r0, [r4, #0x30] - pop {r4, pc} - .align 2, 0 -_0805B46C: .4byte gScreen -_0805B470: .4byte gRoomControls - - thumb_func_start sub_0805B474 -sub_0805B474: @ 0x0805B474 - push {r4, r5, lr} - ldr r5, _0805B4A8 @ =gRoomControls - movs r0, #0xc - ldrsh r1, [r5, r0] - ldrh r4, [r5, #8] - subs r1, r1, r4 - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #5 - ldrh r1, [r5, #0x20] - subs r1, #0xa0 - bl __divsi3 - ldr r2, _0805B4AC @ =gScreen - adds r4, r4, r0 - strh r4, [r2, #0x30] - ldrh r0, [r5, #0x1e] - ldr r1, _0805B4B0 @ =0xFFFFFF00 - adds r0, r0, r1 - lsrs r1, r0, #0x1f - adds r0, r0, r1 - asrs r0, r0, #1 - ldrh r1, [r5, #0xa] - subs r1, r1, r0 - strh r1, [r2, #0x2e] - pop {r4, r5, pc} - .align 2, 0 -_0805B4A8: .4byte gRoomControls -_0805B4AC: .4byte gScreen -_0805B4B0: .4byte 0xFFFFFF00 - - thumb_func_start sub_0805B4B4 -sub_0805B4B4: @ 0x0805B4B4 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - bl sub_0805B4D0 - ldrb r0, [r4, #0xa] - cmp r0, #2 - bne _0805B4C8 - bl sub_0806D0F8 -_0805B4C8: - adds r0, r4, #0 - bl Manager1B_Main - pop {r4, pc} - - thumb_func_start sub_0805B4D0 -sub_0805B4D0: @ 0x0805B4D0 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r0, _0805B528 @ =gUnk_08108C5C - adds r0, r5, r0 - ldrb r0, [r0] - bl LoadGfxGroup - ldr r4, _0805B52C @ =gScreen - ldr r0, _0805B530 @ =0x00001E07 - strh r0, [r4, #0x2c] - ldrh r1, [r4] - movs r2, #0x80 - lsls r2, r2, #4 - adds r0, r2, #0 - orrs r0, r1 - strh r0, [r4] - ldr r2, _0805B534 @ =gRoomControls - movs r1, #0xa - ldrsh r0, [r2, r1] - ldrh r1, [r2, #6] - subs r0, r0, r1 - asrs r0, r0, #2 - strh r0, [r4, #0x2e] - movs r1, #0xc - ldrsh r0, [r2, r1] - ldrh r1, [r2, #8] - subs r0, r0, r1 - asrs r3, r0, #1 - ldrh r1, [r2, #0x20] - movs r0, #0x80 - lsls r0, r0, #1 - subs r2, r0, r1 - cmp r2, #0 - bge _0805B516 - movs r2, #0 -_0805B516: - ldr r0, _0805B538 @ =gUnk_08108C44 - lsls r1, r5, #1 - adds r1, r1, r0 - adds r0, r3, r2 - ldrh r1, [r1] - adds r0, r0, r1 - strh r0, [r4, #0x30] - pop {r4, r5, pc} - .align 2, 0 -_0805B528: .4byte gUnk_08108C5C -_0805B52C: .4byte gScreen -_0805B530: .4byte 0x00001E07 -_0805B534: .4byte gRoomControls -_0805B538: .4byte gUnk_08108C44 diff --git a/asm/manager1D.s b/asm/manager1D.s deleted file mode 100644 index 2314dcc3..00000000 --- a/asm/manager1D.s +++ /dev/null @@ -1,95 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start Manager1D_Main -Manager1D_Main: @ 0x0805B5C8 - push {lr} - ldr r2, _0805B5DC @ =gUnk_08108C80 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0805B5DC: .4byte gUnk_08108C80 - - thumb_func_start sub_0805B5E0 -sub_0805B5E0: @ 0x0805B5E0 - push {r4, r5, lr} - movs r4, #0 - movs r1, #1 - strb r1, [r0, #0xc] - ldr r3, _0805B618 @ =gScreen - ldrh r2, [r3] - movs r5, #0x80 - lsls r5, r5, #4 - adds r1, r5, #0 - orrs r1, r2 - strh r1, [r3] - ldr r2, _0805B61C @ =gUnk_08108C88 - ldrb r1, [r0, #0xa] - lsls r1, r1, #1 - adds r1, r1, r2 - ldrh r1, [r1] - strh r1, [r3, #0x2c] - ldr r1, _0805B620 @ =gRoomControls - str r4, [r1, #0x2c] - str r4, [r1, #0x28] - ldrb r0, [r0, #0xa] - cmp r0, #0 - beq _0805B612 - cmp r0, #1 - beq _0805B624 -_0805B612: - strh r4, [r3, #0x30] - strh r4, [r3, #0x2e] - b _0805B634 - .align 2, 0 -_0805B618: .4byte gScreen -_0805B61C: .4byte gUnk_08108C88 -_0805B620: .4byte gRoomControls -_0805B624: - ldrh r0, [r1, #0x2a] - ldrh r2, [r1, #0xa] - adds r0, r0, r2 - strh r0, [r3, #0x2e] - ldrh r0, [r1, #0x2e] - ldrh r1, [r1, #0xc] - adds r0, r0, r1 - strh r0, [r3, #0x30] -_0805B634: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0805B638 -sub_0805B638: @ 0x0805B638 - push {lr} - ldrb r0, [r0, #0xa] - cmp r0, #1 - bne _0805B65E - ldr r1, _0805B660 @ =gRoomControls - ldr r0, [r1, #0x28] - movs r2, #0x80 - lsls r2, r2, #6 - adds r0, r0, r2 - str r0, [r1, #0x28] - ldr r2, _0805B664 @ =gScreen - ldrh r0, [r1, #0x2a] - ldrh r3, [r1, #0xa] - adds r0, r0, r3 - strh r0, [r2, #0x2e] - ldrh r0, [r1, #0x2e] - ldrh r1, [r1, #0xc] - adds r0, r0, r1 - strh r0, [r2, #0x30] -_0805B65E: - pop {pc} - .align 2, 0 -_0805B660: .4byte gRoomControls -_0805B664: .4byte gScreen diff --git a/asm/manager1F.s b/asm/manager1F.s deleted file mode 100644 index 6db92054..00000000 --- a/asm/manager1F.s +++ /dev/null @@ -1,99 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start Manager1F_Main -Manager1F_Main: @ 0x0805B6F4 - push {lr} - ldr r2, _0805B708 @ =gUnk_08108C94 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0805B708: .4byte gUnk_08108C94 - - thumb_func_start sub_0805B70C -sub_0805B70C: @ 0x0805B70C - push {r4, lr} - adds r4, r0, #0 - ldrh r0, [r4, #0x3e] - bl CheckFlags - cmp r0, #0 - beq _0805B71E - movs r0, #1 - strb r0, [r4, #0xb] -_0805B71E: - movs r0, #1 - strb r0, [r4, #0xc] - ldrh r1, [r4, #0x38] - lsls r1, r1, #0x10 - asrs r1, r1, #0x14 - movs r2, #0x3f - ands r1, r2 - ldrh r0, [r4, #0x3a] - lsls r0, r0, #0x10 - asrs r0, r0, #0x14 - ands r0, r2 - lsls r0, r0, #6 - orrs r1, r0 - strh r1, [r4, #0x38] - adds r0, r4, #0 - bl sub_0805B778 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0805B744 -sub_0805B744: @ 0x0805B744 - push {r4, lr} - adds r4, r0, #0 - ldrh r0, [r4, #0x3e] - bl CheckFlags - adds r1, r0, #0 - cmp r1, #0 - beq _0805B766 - ldrb r0, [r4, #0xb] - cmp r0, #0 - bne _0805B774 - movs r0, #1 - strb r0, [r4, #0xb] - adds r0, r4, #0 - bl sub_0805B778 - b _0805B774 -_0805B766: - ldrb r0, [r4, #0xb] - cmp r0, #1 - bne _0805B774 - strb r1, [r4, #0xb] - adds r0, r4, #0 - bl sub_0805B778 -_0805B774: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0805B778 -sub_0805B778: @ 0x0805B778 - push {lr} - ldr r2, _0805B79C @ =gUnk_08108C9C - ldrb r1, [r0, #0xa] - lsls r1, r1, #1 - ldrb r3, [r0, #0xb] - adds r1, r1, r3 - lsls r1, r1, #1 - adds r1, r1, r2 - ldrh r3, [r1] - movs r2, #0x38 - ldrsh r1, [r0, r2] - adds r0, #0x36 - ldrb r2, [r0] - adds r0, r3, #0 - bl SetTileType - pop {pc} - .align 2, 0 -_0805B79C: .4byte gUnk_08108C9C diff --git a/asm/manager2.s b/asm/manager2.s deleted file mode 100644 index a1ffd36e..00000000 --- a/asm/manager2.s +++ /dev/null @@ -1,194 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_0805754C -sub_0805754C: @ 0x0805754C - push {r4, r5, r6, lr} - adds r2, r0, #0 - ldr r3, _080575BC @ =gRoomControls - movs r0, #0xc - ldrsh r1, [r3, r0] - ldrh r0, [r3, #8] - subs r1, r1, r0 - asrs r0, r1, #3 - adds r1, r1, r0 - ldr r4, _080575C0 @ =gScreen - movs r6, #0x3f - adds r0, r1, #0 - ands r0, r6 - strh r0, [r4, #0x30] - adds r0, r1, #0 - cmp r1, #0 - bge _08057570 - adds r0, #0x3f -_08057570: - asrs r0, r0, #6 - lsls r0, r0, #9 - ldr r5, _080575C4 @ =gMapDataTopSpecial - adds r1, r0, r5 - str r1, [r4, #0x34] - ldr r0, [r2, #0x38] - cmp r0, r1 - beq _08057586 - str r1, [r2, #0x38] - movs r0, #1 - strh r0, [r4, #0x32] -_08057586: - movs r0, #0xc - ldrsh r1, [r3, r0] - ldrh r0, [r3, #8] - subs r1, r1, r0 - asrs r0, r1, #2 - adds r1, r1, r0 - adds r0, r1, #0 - ands r0, r6 - strh r0, [r4, #0x18] - adds r0, r1, #0 - cmp r0, #0 - bge _080575A0 - adds r0, #0x3f -_080575A0: - asrs r0, r0, #6 - lsls r0, r0, #9 - movs r3, #0x80 - lsls r3, r3, #6 - adds r1, r5, r3 - adds r1, r0, r1 - str r1, [r4, #0x1c] - ldr r0, [r2, #0x3c] - cmp r0, r1 - beq _080575BA - str r1, [r2, #0x3c] - movs r0, #1 - strh r0, [r4, #0x1a] -_080575BA: - pop {r4, r5, r6, pc} - .align 2, 0 -_080575BC: .4byte gRoomControls -_080575C0: .4byte gScreen -_080575C4: .4byte gMapDataTopSpecial - - thumb_func_start sub_080575C8 -sub_080575C8: @ 0x080575C8 - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - ldr r0, _08057664 @ =gUnk_0200B650 - movs r5, #0 - str r5, [r0] - movs r0, #0x80 - lsls r0, r0, #0x13 - strh r5, [r0] - adds r0, r4, #0 - bl LoadGfxGroup - ldr r0, _08057668 @ =gRoomVars - strb r4, [r0, #0x10] - ldr r3, _0805766C @ =gRoomControls - movs r0, #0xc - ldrsh r1, [r3, r0] - ldrh r0, [r3, #8] - subs r1, r1, r0 - asrs r0, r1, #3 - adds r1, r1, r0 - ldr r2, _08057670 @ =gScreen - movs r7, #0x3f - adds r0, r1, #0 - ands r0, r7 - strh r0, [r2, #0x30] - strh r5, [r2, #0x2e] - adds r0, r1, #0 - cmp r1, #0 - bge _08057604 - adds r0, #0x3f -_08057604: - asrs r0, r0, #6 - lsls r0, r0, #9 - ldr r4, _08057674 @ =gMapDataTopSpecial - adds r0, r0, r4 - str r0, [r2, #0x34] - ldr r0, _08057678 @ =0x00001D49 - strh r0, [r2, #0x2c] - movs r6, #1 - strh r6, [r2, #0x32] - movs r0, #0xc - ldrsh r1, [r3, r0] - ldrh r0, [r3, #8] - subs r1, r1, r0 - asrs r0, r1, #2 - adds r1, r1, r0 - adds r0, r1, #0 - ands r0, r7 - strh r0, [r2, #0x18] - strh r5, [r2, #0x16] - adds r0, r1, #0 - cmp r0, #0 - bge _08057632 - adds r0, #0x3f -_08057632: - asrs r0, r0, #6 - lsls r0, r0, #9 - movs r3, #0x80 - lsls r3, r3, #6 - adds r1, r4, r3 - adds r0, r0, r1 - str r0, [r2, #0x1c] - ldr r0, _0805767C @ =0x00001E49 - strh r0, [r2, #0x14] - strh r6, [r2, #0x1a] - adds r1, r2, #0 - adds r1, #0x66 - ldr r0, _08057680 @ =0x00003C48 - strh r0, [r1] - adds r1, #2 - ldr r0, _08057684 @ =0x00000609 - strh r0, [r1] - ldrh r0, [r2] - movs r3, #0xa0 - lsls r3, r3, #4 - adds r1, r3, #0 - orrs r0, r1 - strh r0, [r2] - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08057664: .4byte gUnk_0200B650 -_08057668: .4byte gRoomVars -_0805766C: .4byte gRoomControls -_08057670: .4byte gScreen -_08057674: .4byte gMapDataTopSpecial -_08057678: .4byte 0x00001D49 -_0805767C: .4byte 0x00001E49 -_08057680: .4byte 0x00003C48 -_08057684: .4byte 0x00000609 - - thumb_func_start sub_08057688 -sub_08057688: @ 0x08057688 - ldr r0, _08057694 @ =gScreen - ldr r1, _08057698 @ =0x00001D48 - strh r1, [r0, #0x2c] - ldr r1, _0805769C @ =0x00001E48 - strh r1, [r0, #0x14] - bx lr - .align 2, 0 -_08057694: .4byte gScreen -_08057698: .4byte 0x00001D48 -_0805769C: .4byte 0x00001E48 - - thumb_func_start sub_080576A0 -sub_080576A0: @ 0x080576A0 - push {r4, lr} - adds r4, r0, #0 - ldr r0, _080576BC @ =gRoomVars - ldrb r0, [r0, #0x10] - bl LoadGfxGroup - movs r0, #0 - str r0, [r4, #0x38] - str r0, [r4, #0x3c] - adds r0, r4, #0 - bl sub_0805754C - pop {r4, pc} - .align 2, 0 -_080576BC: .4byte gRoomVars diff --git a/asm/manager22.s b/asm/manager22.s deleted file mode 100644 index 38c1281c..00000000 --- a/asm/manager22.s +++ /dev/null @@ -1,454 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start Manager22_Main -Manager22_Main: @ 0x0805B8EC - push {r4, r5, r6, lr} - adds r5, r0, #0 - ldr r4, _0805B964 @ =gArea - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0805B90A - bl sub_0801E104 - ldr r2, _0805B968 @ =gScreen - ldrh r1, [r2] - ldr r0, _0805B96C @ =0x0000D7FF - ands r0, r1 - strh r0, [r2] - bl DeleteThisEntity -_0805B90A: - ldrb r2, [r5, #0xc] - cmp r2, #0 - bne _0805B934 - movs r0, #1 - strb r0, [r5, #0xc] - ldrb r1, [r5, #0x10] - movs r0, #0x20 - orrs r0, r1 - strb r0, [r5, #0x10] - movs r0, #0x11 - strb r0, [r5, #0xe] - str r2, [r5, #0x20] - adds r0, r5, #0 - movs r1, #6 - bl sub_0805E3A0 - bl sub_0801E120 - ldrb r0, [r5, #0xe] - bl sub_0801E154 -_0805B934: - ldr r0, _0805B970 @ =gMain - ldrb r0, [r0, #4] - cmp r0, #2 - bne _0805B952 - ldr r2, _0805B968 @ =gScreen - ldrh r1, [r2] - movs r3, #0x80 - lsls r3, r3, #4 - adds r0, r3, #0 - orrs r0, r1 - strh r0, [r2] - bl sub_0805BA78 - bl sub_0805BAD4 -_0805B952: - ldrb r0, [r4, #0xc] - cmp r0, #2 - bne _0805B978 - ldr r2, _0805B968 @ =gScreen - ldrh r1, [r2] - ldr r0, _0805B974 @ =0x0000DFFF - ands r0, r1 - strh r0, [r2] - b _0805BA6C - .align 2, 0 -_0805B964: .4byte gArea -_0805B968: .4byte gScreen -_0805B96C: .4byte 0x0000D7FF -_0805B970: .4byte gMain -_0805B974: .4byte 0x0000DFFF -_0805B978: - ldr r3, _0805B9A8 @ =gPlayerEntity - movs r4, #0x2e - ldrsh r0, [r3, r4] - ldr r2, _0805B9AC @ =gRoomControls - ldrh r1, [r2, #6] - subs r0, r0, r1 - movs r6, #0x32 - ldrsh r1, [r3, r6] - ldrh r2, [r2, #8] - subs r1, r1, r2 - movs r2, #0 - movs r3, #0 - bl CheckRectOnScreen - cmp r0, #0 - beq _0805B9B4 - ldr r2, _0805B9B0 @ =gScreen - ldrh r1, [r2] - movs r3, #0x80 - lsls r3, r3, #6 - adds r0, r3, #0 - orrs r0, r1 - b _0805B9BC - .align 2, 0 -_0805B9A8: .4byte gPlayerEntity -_0805B9AC: .4byte gRoomControls -_0805B9B0: .4byte gScreen -_0805B9B4: - ldr r2, _0805B9E8 @ =gScreen - ldrh r1, [r2] - ldr r0, _0805B9EC @ =0x0000DFFF - ands r0, r1 -_0805B9BC: - strh r0, [r2] - ldrb r4, [r5, #0xe] - ldr r0, _0805B9F0 @ =gPlayerState - ldr r0, [r0, #0x30] - movs r1, #0x80 - lsls r1, r1, #0x10 - ands r0, r1 - cmp r0, #0 - beq _0805BA2C - ldr r0, _0805B9F4 @ =gArea - ldrb r0, [r0, #0xc] - cmp r0, #0 - beq _0805BA2C - cmp r4, #0x47 - bhi _0805B9F8 - adds r4, #4 - adds r0, r4, #0 - bl sub_0801E154 - movs r0, #0 - str r0, [r5, #0x20] - b _0805BA42 - .align 2, 0 -_0805B9E8: .4byte gScreen -_0805B9EC: .4byte 0x0000DFFF -_0805B9F0: .4byte gPlayerState -_0805B9F4: .4byte gArea -_0805B9F8: - ldr r0, _0805BA24 @ =gScreenTransition - ldr r0, [r0] - movs r1, #3 - ands r0, r1 - cmp r0, #0 - bne _0805BA42 - ldrb r0, [r5, #0xf] - adds r0, #0x10 - strb r0, [r5, #0xf] - ldr r1, _0805BA28 @ =gSineTable - ldrb r0, [r5, #0xf] - lsls r0, r0, #1 - adds r0, r0, r1 - movs r6, #0 - ldrsh r0, [r0, r6] - asrs r0, r0, #7 - str r0, [r5, #0x20] - adds r0, r4, r0 - bl sub_0801E154 - b _0805BA42 - .align 2, 0 -_0805BA24: .4byte gScreenTransition -_0805BA28: .4byte gSineTable -_0805BA2C: - movs r0, #0 - str r0, [r5, #0x20] - cmp r4, #0x11 - bls _0805BA42 - subs r4, #4 - cmp r4, #0x10 - bhi _0805BA3C - movs r4, #0x11 -_0805BA3C: - adds r0, r4, #0 - bl sub_0801E154 -_0805BA42: - strb r4, [r5, #0xe] - ldr r3, _0805BA70 @ =gPlayerEntity - movs r1, #0x2e - ldrsh r0, [r3, r1] - ldr r2, _0805BA74 @ =gRoomControls - movs r6, #0xa - ldrsh r1, [r2, r6] - subs r0, r0, r1 - movs r6, #0x32 - ldrsh r1, [r3, r6] - movs r6, #0xc - ldrsh r2, [r2, r6] - subs r1, r1, r2 - movs r6, #0x36 - ldrsh r2, [r3, r6] - subs r2, #9 - adds r1, r1, r2 - ldr r2, [r5, #0x20] - adds r2, r4, r2 - bl sub_0801E160 -_0805BA6C: - pop {r4, r5, r6, pc} - .align 2, 0 -_0805BA70: .4byte gPlayerEntity -_0805BA74: .4byte gRoomControls - - thumb_func_start sub_0805BA78 -sub_0805BA78: @ 0x0805BA78 - push {r4, lr} - ldr r1, _0805BAA8 @ =gArea - movs r0, #0xa - ldrsh r3, [r1, r0] - ldr r0, _0805BAAC @ =gRoomVars - movs r4, #0xc - ldrsh r2, [r0, r4] - cmp r2, #0 - bge _0805BA8C - movs r2, #0 -_0805BA8C: - movs r0, #0x80 - lsls r0, r0, #1 - cmp r2, r0 - ble _0805BA96 - adds r2, r0, #0 -_0805BA96: - cmp r3, r2 - beq _0805BACE - subs r0, r2, r3 - cmp r0, #0 - blt _0805BAB0 - cmp r0, #4 - bls _0805BAB6 - b _0805BABA - .align 2, 0 -_0805BAA8: .4byte gArea -_0805BAAC: .4byte gRoomVars -_0805BAB0: - subs r0, r3, r2 - cmp r0, #4 - bhi _0805BABA -_0805BAB6: - adds r3, r2, #0 - b _0805BAC8 -_0805BABA: - cmp r2, r3 - bge _0805BAC2 - subs r3, #4 - b _0805BAC8 -_0805BAC2: - cmp r2, r3 - ble _0805BAC8 - adds r3, #4 -_0805BAC8: - strh r3, [r1, #0xa] - movs r0, #1 - b _0805BAD0 -_0805BACE: - movs r0, #0 -_0805BAD0: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0805BAD4 -sub_0805BAD4: @ 0x0805BAD4 - push {lr} - ldr r3, _0805BAF4 @ =gArea - ldrb r0, [r3, #0xc] - cmp r0, #0 - beq _0805BAF2 - ldr r1, _0805BAF8 @ =gScreen - ldr r2, _0805BAFC @ =gUnk_08108CA8 - ldrh r0, [r3, #0xa] - lsls r0, r0, #0x10 - asrs r0, r0, #0x14 - lsls r0, r0, #1 - adds r0, r0, r2 - ldrh r0, [r0] - adds r1, #0x68 - strh r0, [r1] -_0805BAF2: - pop {pc} - .align 2, 0 -_0805BAF4: .4byte gArea -_0805BAF8: .4byte gScreen -_0805BAFC: .4byte gUnk_08108CA8 - - thumb_func_start sub_0805BB00 -sub_0805BB00: @ 0x0805BB00 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - ldr r0, _0805BB50 @ =gArea - ldrb r0, [r0, #0xc] - cmp r0, #0 - bne _0805BB28 - bl GetEmptyManager - adds r1, r0, #0 - cmp r1, #0 - beq _0805BB28 - movs r0, #9 - strb r0, [r1, #8] - movs r0, #0x22 - strb r0, [r1, #9] - adds r0, r1, #0 - movs r1, #0 - bl AppendEntityToList -_0805BB28: - ldr r1, _0805BB54 @ =0x0600F000 - movs r2, #0x80 - lsls r2, r2, #4 - movs r0, #0xf - bl MemFill16 - ldr r0, _0805BB58 @ =gScreen - ldr r1, _0805BB5C @ =0x00001E0C - strh r1, [r0, #0x2c] - adds r0, #0x66 - ldr r1, _0805BB60 @ =0x00003E48 - strh r1, [r0] - ldr r0, _0805BB64 @ =gRoomVars - strh r4, [r0, #0xc] - cmp r5, #0 - beq _0805BB68 - ldr r1, _0805BB50 @ =gArea - movs r0, #1 - b _0805BB6C - .align 2, 0 -_0805BB50: .4byte gArea -_0805BB54: .4byte 0x0600F000 -_0805BB58: .4byte gScreen -_0805BB5C: .4byte 0x00001E0C -_0805BB60: .4byte 0x00003E48 -_0805BB64: .4byte gRoomVars -_0805BB68: - ldr r1, _0805BB70 @ =gArea - movs r0, #2 -_0805BB6C: - strb r0, [r1, #0xc] - pop {r4, r5, pc} - .align 2, 0 -_0805BB70: .4byte gArea - - thumb_func_start sub_0805BB74 -sub_0805BB74: @ 0x0805BB74 - push {lr} - adds r1, r0, #0 - ldr r2, _0805BBB0 @ =gRoomVars - cmp r1, #0 - bge _0805BB82 - movs r0, #0xc - ldrsh r1, [r2, r0] -_0805BB82: - ldr r0, _0805BBB4 @ =gArea - strh r1, [r0, #0xa] - strh r1, [r2, #0xc] - movs r0, #9 - movs r1, #0x22 - bl DeepFindEntityByID - cmp r0, #0 - beq _0805BBAE - bl Manager22_Main - ldr r0, _0805BBB8 @ =gScreen - ldrh r1, [r0] - movs r3, #0x80 - lsls r3, r3, #4 - adds r2, r3, #0 - orrs r1, r2 - strh r1, [r0] - bl sub_0805BA78 - bl sub_0805BAD4 -_0805BBAE: - pop {pc} - .align 2, 0 -_0805BBB0: .4byte gRoomVars -_0805BBB4: .4byte gArea -_0805BBB8: .4byte gScreen - - thumb_func_start sub_0805BBBC -sub_0805BBBC: @ 0x0805BBBC - push {r4, lr} - movs r4, #0 - ldr r2, _0805BBF8 @ =gArea - ldrb r0, [r2, #0xc] - cmp r0, #0 - beq _0805BBF2 - ldr r0, _0805BBFC @ =gRoomVars - movs r3, #0xc - ldrsh r1, [r0, r3] - movs r3, #0xa - ldrsh r0, [r2, r3] - cmp r1, r0 - bge _0805BBF2 - ldr r2, _0805BC00 @ =gScreen - ldrh r1, [r2] - movs r3, #0x80 - lsls r3, r3, #4 - adds r0, r3, #0 - orrs r0, r1 - strh r0, [r2] - bl sub_0805BA78 - adds r4, r0, #0 - cmp r4, #0 - beq _0805BBF2 - bl sub_0805BAD4 -_0805BBF2: - adds r0, r4, #0 - pop {r4, pc} - .align 2, 0 -_0805BBF8: .4byte gArea -_0805BBFC: .4byte gRoomVars -_0805BC00: .4byte gScreen - - thumb_func_start sub_0805BC04 -sub_0805BC04: @ 0x0805BC04 - push {r4, lr} - movs r4, #0 - ldr r2, _0805BC40 @ =gArea - ldrb r0, [r2, #0xc] - cmp r0, #0 - beq _0805BC3A - ldr r0, _0805BC44 @ =gRoomVars - movs r3, #0xc - ldrsh r1, [r0, r3] - movs r3, #0xa - ldrsh r0, [r2, r3] - cmp r1, r0 - ble _0805BC3A - ldr r2, _0805BC48 @ =gScreen - ldrh r1, [r2] - movs r3, #0x80 - lsls r3, r3, #4 - adds r0, r3, #0 - orrs r0, r1 - strh r0, [r2] - bl sub_0805BA78 - adds r4, r0, #0 - cmp r4, #0 - beq _0805BC3A - bl sub_0805BAD4 -_0805BC3A: - adds r0, r4, #0 - pop {r4, pc} - .align 2, 0 -_0805BC40: .4byte gArea -_0805BC44: .4byte gRoomVars -_0805BC48: .4byte gScreen - - thumb_func_start sub_0805BC4C -sub_0805BC4C: @ 0x0805BC4C - push {lr} - ldr r1, _0805BC68 @ =gArea - ldrb r0, [r1, #0xc] - cmp r0, #0 - beq _0805BC64 - movs r0, #0 - strb r0, [r1, #0xc] - ldr r2, _0805BC6C @ =gScreen - ldrh r1, [r2] - ldr r0, _0805BC70 @ =0x0000D7FF - ands r0, r1 - strh r0, [r2] -_0805BC64: - pop {pc} - .align 2, 0 -_0805BC68: .4byte gArea -_0805BC6C: .4byte gScreen -_0805BC70: .4byte 0x0000D7FF diff --git a/asm/manager23.s b/asm/manager23.s deleted file mode 100644 index cbe25cae..00000000 --- a/asm/manager23.s +++ /dev/null @@ -1,348 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start Manager23_Main -Manager23_Main: @ 0x0805BC74 - push {lr} - ldr r2, _0805BC88 @ =gUnk_08108CCC - ldrb r1, [r0, #0xa] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0805BC88: .4byte gUnk_08108CCC - - thumb_func_start sub_0805BC8C -sub_0805BC8C: @ 0x0805BC8C - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0805BCAE - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #0x1e - strb r0, [r4, #0xf] - ldrh r0, [r4, #0x3e] - bl CheckFlags - cmp r0, #0 - beq _0805BCAE - adds r0, r4, #0 - bl sub_0805BE94 -_0805BCAE: - ldrh r0, [r4, #0x3e] - bl CheckFlags - cmp r0, #0 - beq _0805BCD0 - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0805BCD0 - adds r0, r4, #0 - bl sub_0805BEC4 - adds r0, r4, #0 - bl sub_0805BE94 -_0805BCD0: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0805BCD4 -sub_0805BCD4: @ 0x0805BCD4 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #1 - beq _0805BD0E - cmp r0, #1 - bgt _0805BCE8 - cmp r0, #0 - beq _0805BCEE - b _0805BD5A -_0805BCE8: - cmp r0, #2 - beq _0805BD38 - b _0805BD5A -_0805BCEE: - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #0x1e - strb r0, [r4, #0xf] - ldrh r0, [r4, #0x3e] - bl CheckFlags - cmp r0, #0 - beq _0805BD5A - adds r0, r4, #0 - movs r1, #0x75 - bl sub_0805BE70 - movs r0, #2 - strb r0, [r4, #0xc] - b _0805BD5A -_0805BD0E: - ldrh r0, [r4, #0x3e] - bl CheckFlags - cmp r0, #0 - beq _0805BD5A - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0805BD5A - movs r0, #0x1e - strb r0, [r4, #0xf] - adds r0, r4, #0 - bl sub_0805BEC4 - adds r0, r4, #0 - movs r1, #0x76 - bl sub_0805BE70 - b _0805BD5A -_0805BD38: - ldrh r0, [r4, #0x3e] - bl CheckFlags - cmp r0, #0 - bne _0805BD5A - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0805BD5A - movs r0, #0x1e - strb r0, [r4, #0xf] - adds r0, r4, #0 - movs r1, #0x75 - bl sub_0805BE70 -_0805BD5A: - pop {r4, pc} - - thumb_func_start sub_0805BD5C -sub_0805BD5C: @ 0x0805BD5C - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0805BD94 - ldrh r0, [r4, #0x3e] - bl CheckFlags - cmp r0, #0 - beq _0805BD76 - adds r0, r4, #0 - bl sub_0805BE94 -_0805BD76: - ldrh r1, [r4, #0x38] - lsls r1, r1, #0x10 - asrs r1, r1, #0x14 - movs r2, #0x3f - ands r1, r2 - ldrh r0, [r4, #0x3a] - lsls r0, r0, #0x10 - asrs r0, r0, #0x14 - ands r0, r2 - lsls r0, r0, #6 - orrs r1, r0 - strh r1, [r4, #0x20] - movs r0, #1 - strb r0, [r4, #0xc] - b _0805BDB0 -_0805BD94: - ldrh r0, [r4, #0x20] - ldrb r1, [r4, #0xb] - bl GetTileType - cmp r0, #0x76 - bne _0805BDB0 - ldrh r0, [r4, #0x3e] - bl SetFlag - ldrb r0, [r4, #0xe] - bl sub_0805308C - bl DeleteThisEntity -_0805BDB0: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0805BDB4 -sub_0805BDB4: @ 0x0805BDB4 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - beq _0805BDF4 - cmp r0, #1 - beq _0805BE2C - ldrh r0, [r4, #0x22] - subs r0, #1 - strh r0, [r4, #0x22] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _0805BE58 - movs r1, #0x38 - ldrsh r0, [r4, r1] - movs r2, #0x3a - ldrsh r1, [r4, r2] - ldrb r2, [r4, #0xb] - bl CreateDustAt - ldrh r0, [r4, #0x3e] - bl ClearFlag - ldrh r0, [r4, #0x20] - ldrb r1, [r4, #0xb] - bl sub_0807BA8C - ldrb r0, [r4, #0xe] - rsbs r0, r0, #0 - bl sub_0805308C - b _0805BE26 -_0805BDF4: - ldrh r0, [r4, #0x3e] - bl CheckFlags - cmp r0, #0 - bne _0805BE08 - ldrh r0, [r4, #0x3c] - bl CheckFlags - cmp r0, #0 - beq _0805BE0E -_0805BE08: - adds r0, r4, #0 - bl sub_0805BE94 -_0805BE0E: - ldrh r1, [r4, #0x38] - lsls r1, r1, #0x10 - asrs r1, r1, #0x14 - movs r2, #0x3f - ands r1, r2 - ldrh r0, [r4, #0x3a] - lsls r0, r0, #0x10 - asrs r0, r0, #0x14 - ands r0, r2 - lsls r0, r0, #6 - orrs r1, r0 - strh r1, [r4, #0x20] -_0805BE26: - movs r0, #1 - strb r0, [r4, #0xc] - b _0805BE6C -_0805BE2C: - ldrh r0, [r4, #0x20] - ldrb r1, [r4, #0xb] - bl GetTileType - cmp r0, #0x76 - bne _0805BE6C - ldrh r0, [r4, #0x3e] - bl SetFlag - ldrb r0, [r4, #0xe] - bl sub_0805308C - movs r0, #2 - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x36 - ldrb r1, [r0] - lsls r0, r1, #4 - subs r0, r0, r1 - lsls r0, r0, #2 - strh r0, [r4, #0x22] - b _0805BE6C -_0805BE58: - ldrh r0, [r4, #0x3c] - bl CheckFlags - cmp r0, #0 - beq _0805BE6C - adds r0, r4, #0 - bl sub_0805BEC4 - bl DeleteThisEntity -_0805BE6C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0805BE70 -sub_0805BE70: @ 0x0805BE70 - push {r4, lr} - adds r4, r1, #0 - ldrh r1, [r0, #0x38] - lsls r1, r1, #0x10 - asrs r1, r1, #0x14 - movs r3, #0x3f - ands r1, r3 - ldrh r2, [r0, #0x3a] - lsls r2, r2, #0x10 - asrs r2, r2, #0x14 - ands r2, r3 - lsls r2, r2, #6 - orrs r1, r2 - ldrb r2, [r0, #0xb] - adds r0, r4, #0 - bl SetTileType - pop {r4, pc} - - thumb_func_start sub_0805BE94 -sub_0805BE94: @ 0x0805BE94 - push {r4, lr} - adds r4, r0, #0 - ldrh r1, [r4, #0x38] - lsls r1, r1, #0x10 - asrs r1, r1, #0x14 - movs r2, #0x3f - ands r1, r2 - ldrh r0, [r4, #0x3a] - lsls r0, r0, #0x10 - asrs r0, r0, #0x14 - ands r0, r2 - lsls r0, r0, #6 - orrs r1, r0 - ldrb r2, [r4, #0xb] - movs r0, #0x76 - bl SetTileType - ldrb r0, [r4, #0xe] - bl sub_0805308C - bl DeleteThisEntity - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0805BEC4 -sub_0805BEC4: @ 0x0805BEC4 - push {r4, lr} - adds r4, r0, #0 - movs r0, #0x2a - movs r1, #1 - movs r2, #0 - bl CreateObject - adds r2, r0, #0 - cmp r2, #0 - beq _0805BF10 - ldrb r1, [r2, #0x11] - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #3 - orrs r0, r1 - strb r0, [r2, #0x11] - ldr r1, _0805BF14 @ =gRoomControls - ldrh r0, [r1, #6] - ldrh r3, [r4, #0x38] - adds r0, r0, r3 - strh r0, [r2, #0x2e] - ldrh r0, [r1, #8] - ldrh r1, [r4, #0x3a] - adds r0, r0, r1 - strh r0, [r2, #0x32] - ldrb r1, [r4, #0xb] - adds r0, r2, #0 - adds r0, #0x38 - strb r1, [r0] - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #2 - orrs r0, r1 - strb r0, [r2] -_0805BF10: - pop {r4, pc} - .align 2, 0 -_0805BF14: .4byte gRoomControls diff --git a/asm/manager2B.s b/asm/manager2B.s deleted file mode 100644 index 16371d05..00000000 --- a/asm/manager2B.s +++ /dev/null @@ -1,189 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start Manager2B_Main -Manager2B_Main: @ 0x0805D014 - push {lr} - ldr r2, _0805D028 @ =gUnk_08108D30 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0805D028: .4byte gUnk_08108D30 - - thumb_func_start sub_0805D02C -sub_0805D02C: @ 0x0805D02C - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - adds r6, r0, #0 - ldrh r0, [r6, #0x3e] - bl CheckFlags - cmp r0, #0 - beq _0805D046 - bl DeleteThisEntity -_0805D046: - ldr r0, _0805D0BC @ =gEntCount - ldrb r0, [r0] - cmp r0, #0x43 - bhi _0805D0B0 - ldrb r0, [r6, #0xa] - bl GetCurrentRoomProperty - adds r5, r0, #0 - movs r7, #0 - movs r0, #0x36 - adds r0, r0, r6 - mov sl, r0 - ldr r1, _0805D0C0 @ =gRoomControls - mov r8, r1 - movs r0, #0x20 - adds r0, r0, r6 - mov sb, r0 -_0805D068: - ldrh r1, [r5, #4] - movs r0, #0xa0 - adds r2, r7, #0 - bl CreateObject - adds r4, r0, #0 - mov r1, r8 - ldrh r0, [r1, #6] - ldrh r1, [r5] - adds r0, r0, r1 - strh r0, [r4, #0x2e] - mov r1, r8 - ldrh r0, [r1, #8] - ldrh r1, [r5, #2] - adds r0, r0, r1 - strh r0, [r4, #0x32] - str r6, [r4, #0x50] - adds r0, r4, #0 - bl sub_08016A30 - mov r0, sb - adds r0, #4 - mov sb, r0 - subs r0, #4 - stm r0!, {r4} - adds r7, #1 - adds r5, #6 - cmp r7, #3 - bls _0805D068 - movs r0, #0 - movs r1, #1 - strb r1, [r6, #0xc] - movs r1, #0x3c - strb r1, [r6, #0xf] - mov r1, sl - strb r0, [r1] -_0805D0B0: - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0805D0BC: .4byte gEntCount -_0805D0C0: .4byte gRoomControls - - thumb_func_start sub_0805D0C4 -sub_0805D0C4: @ 0x0805D0C4 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xf] - subs r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0805D0D8 - movs r0, #0xb4 - strb r0, [r4, #0xf] -_0805D0D8: - adds r5, r4, #0 - adds r5, #0x36 - ldrb r0, [r5] - cmp r0, #0xf - bne _0805D0F6 - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #8 - strb r0, [r4, #0xe] - movs r0, #0x72 - bl SoundReq - adds r0, r4, #0 - bl sub_0805D11C -_0805D0F6: - movs r0, #0 - strb r0, [r5] - pop {r4, r5, pc} - - thumb_func_start sub_0805D0FC -sub_0805D0FC: @ 0x0805D0FC - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0805D118 - ldrh r0, [r4, #0x3e] - bl SetFlag - adds r0, r4, #0 - bl DeleteManager -_0805D118: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0805D11C -sub_0805D11C: @ 0x0805D11C - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - movs r6, #0 - ldr r1, _0805D170 @ =gRoomControls - mov r8, r1 - movs r7, #0x3f - adds r5, r0, #0 - adds r5, #0x20 -_0805D12E: - ldr r4, [r5] - movs r0, #0 - stm r5!, {r0} - movs r2, #0x2e - ldrsh r0, [r4, r2] - mov r3, r8 - ldrh r1, [r3, #6] - subs r0, r0, r1 - asrs r0, r0, #4 - ands r0, r7 - movs r2, #0x32 - ldrsh r1, [r4, r2] - ldrh r2, [r3, #8] - subs r1, r1, r2 - asrs r1, r1, #4 - ands r1, r7 - lsls r1, r1, #6 - orrs r0, r1 - adds r1, r4, #0 - adds r1, #0x38 - ldrb r1, [r1] - bl sub_0807BA8C - adds r0, r4, #0 - bl DeleteEntity - adds r6, #1 - cmp r6, #3 - bls _0805D12E - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0805D170: .4byte gRoomControls diff --git a/asm/manager2E.s b/asm/manager2E.s deleted file mode 100644 index c5b8388b..00000000 --- a/asm/manager2E.s +++ /dev/null @@ -1,183 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_0805D280 -sub_0805D280: @ 0x0805D280 - push {r4, lr} - adds r4, r0, #0 - ldrh r0, [r4, #0x3c] - bl CheckFlags - cmp r0, #0 - beq _0805D292 - bl DeleteThisEntity -_0805D292: - ldrh r0, [r4, #0x3e] - bl CheckFlags - cmp r0, #0 - beq _0805D2A6 - ldrh r0, [r4, #0x3c] - bl SetFlag - bl DeleteThisEntity -_0805D2A6: - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r0, [r4, #0xe] - cmp r0, #0 - bne _0805D2B4 - movs r0, #0x1e - strb r0, [r4, #0xe] -_0805D2B4: - adds r0, r4, #0 - movs r1, #6 - bl sub_0805E3A0 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0805D2C0 -sub_0805D2C0: @ 0x0805D2C0 - push {r4, lr} - adds r4, r0, #0 - ldrh r0, [r4, #0x3e] - bl CheckFlags - cmp r0, #0 - beq _0805D2EE - ldr r0, _0805D2F0 @ =gUnk_03003DC0 - ldrh r0, [r0, #8] - cmp r0, #1 - bhi _0805D2EE - movs r0, #2 - strb r0, [r4, #0xc] - ldrb r0, [r4, #0xe] - cmp r0, #1 - bne _0805D2E6 - adds r0, r4, #0 - bl sub_0805D2F4 -_0805D2E6: - ldrb r1, [r4, #0xe] - adds r0, r4, #0 - bl sub_0805E4E0 -_0805D2EE: - pop {r4, pc} - .align 2, 0 -_0805D2F0: .4byte gUnk_03003DC0 - - thumb_func_start sub_0805D2F4 -sub_0805D2F4: @ 0x0805D2F4 - push {r4, lr} - adds r4, r0, #0 - ldr r0, _0805D310 @ =gUnk_03003DC0 - ldrh r0, [r0, #8] - cmp r0, #0 - bne _0805D328 - movs r1, #0x38 - ldrsh r0, [r4, r1] - cmp r0, #0 - beq _0805D314 - bl SoundReq - b _0805D31A - .align 2, 0 -_0805D310: .4byte gUnk_03003DC0 -_0805D314: - movs r0, #0x72 - bl SoundReq -_0805D31A: - ldrh r0, [r4, #0x3c] - cmp r0, #0 - beq _0805D324 - bl SetFlag -_0805D324: - bl DeleteThisEntity -_0805D328: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0805D32C -sub_0805D32C: @ 0x0805D32C - push {lr} - ldr r2, _0805D340 @ =gUnk_08108D50 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0805D340: .4byte gUnk_08108D50 - - thumb_func_start sub_0805D344 -sub_0805D344: @ 0x0805D344 - push {r4, lr} - adds r4, r0, #0 - ldrh r0, [r4, #0x3e] - bl CheckFlags - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r0, [r4, #0xe] - cmp r0, #0 - bne _0805D35C - movs r0, #0x1e - strb r0, [r4, #0xe] -_0805D35C: - ldrb r0, [r4, #0xe] - strb r0, [r4, #0xf] - adds r0, r4, #0 - movs r1, #6 - bl sub_0805E3A0 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0805D36C -sub_0805D36C: @ 0x0805D36C - push {r4, lr} - adds r4, r0, #0 - ldrh r0, [r4, #0x3e] - bl CheckFlags - cmp r0, #0 - beq _0805D382 - movs r0, #2 - strb r0, [r4, #0xc] - ldrb r0, [r4, #0xf] - strb r0, [r4, #0xe] -_0805D382: - pop {r4, pc} - - thumb_func_start sub_0805D384 -sub_0805D384: @ 0x0805D384 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - cmp r0, #0 - beq _0805D3B2 - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0805D3C6 - movs r1, #0x38 - ldrsh r0, [r4, r1] - movs r1, #0x72 - cmp r0, #0 - beq _0805D3A4 - adds r1, r0, #0 -_0805D3A4: - adds r0, r1, #0 - bl SoundReq - ldrh r0, [r4, #0x3c] - bl SetFlag - b _0805D3C6 -_0805D3B2: - ldrh r0, [r4, #0x3e] - bl CheckFlags - cmp r0, #0 - bne _0805D3C6 - movs r0, #1 - strb r0, [r4, #0xc] - ldrh r0, [r4, #0x3c] - bl ClearFlag -_0805D3C6: - pop {r4, pc} diff --git a/asm/manager32.s b/asm/manager32.s deleted file mode 100644 index fa9d71d2..00000000 --- a/asm/manager32.s +++ /dev/null @@ -1,449 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start Manager32_Main -Manager32_Main: @ 0x0805D7A4 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _0805D7D4 @ =gUnk_08108D7C - 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, _0805D7D8 @ =gScreenTransition - ldr r0, [r0] - lsls r0, r0, #4 - str r0, [r4, #0x24] - adds r0, r4, #0 - bl sub_0805D9D8 - ldr r0, [r4, #0x20] - ldr r1, [r4, #0x28] - ldr r2, [r4, #0x24] - bl sub_0805DA08 - pop {r4, pc} - .align 2, 0 -_0805D7D4: .4byte gUnk_08108D7C -_0805D7D8: .4byte gScreenTransition - - thumb_func_start sub_0805D7DC -sub_0805D7DC: @ 0x0805D7DC - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xa] - movs r2, #2 - cmp r0, #0 - bne _0805D7EA - movs r2, #1 -_0805D7EA: - movs r0, #0 - strb r2, [r1, #0xc] - str r0, [r1, #0x20] - str r0, [r1, #0x24] - ldr r0, _0805D80C @ =gRoomControls - ldrb r0, [r0, #4] - cmp r0, #0x78 - beq _0805D83C - cmp r0, #0x78 - bgt _0805D816 - cmp r0, #7 - beq _0805D828 - cmp r0, #7 - bgt _0805D810 - cmp r0, #3 - beq _0805D82C - b _0805D828 - .align 2, 0 -_0805D80C: .4byte gRoomControls -_0805D810: - cmp r0, #0x38 - beq _0805D840 - b _0805D828 -_0805D816: - cmp r0, #0x81 - beq _0805D830 - cmp r0, #0x81 - bgt _0805D824 - cmp r0, #0x80 - beq _0805D834 - b _0805D828 -_0805D824: - cmp r0, #0x88 - beq _0805D838 -_0805D828: - movs r1, #0 - b _0805D842 -_0805D82C: - movs r1, #1 - b _0805D842 -_0805D830: - movs r1, #2 - b _0805D842 -_0805D834: - movs r1, #3 - b _0805D842 -_0805D838: - movs r1, #4 - b _0805D842 -_0805D83C: - movs r1, #5 - b _0805D842 -_0805D840: - movs r1, #6 -_0805D842: - ldr r0, _0805D854 @ =gUnk_08108D74 - adds r0, r1, r0 - ldrb r0, [r0] - bl LoadGfxGroup - ldr r1, _0805D858 @ =gScreen - ldr r0, _0805D85C @ =0x00001E04 - strh r0, [r1, #0x2c] - pop {pc} - .align 2, 0 -_0805D854: .4byte gUnk_08108D74 -_0805D858: .4byte gScreen -_0805D85C: .4byte 0x00001E04 - - thumb_func_start sub_0805D860 -sub_0805D860: @ 0x0805D860 - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xd] - cmp r0, #1 - beq _0805D89C - cmp r0, #1 - bgt _0805D874 - cmp r0, #0 - beq _0805D87E - b _0805D8D6 -_0805D874: - cmp r0, #2 - beq _0805D8B0 - cmp r0, #3 - beq _0805D8C2 - b _0805D8D6 -_0805D87E: - movs r0, #1 - strb r0, [r1, #0xd] - movs r0, #0x80 - str r0, [r1, #0x20] - ldr r2, _0805D898 @ =gScreen - ldrh r1, [r2] - movs r3, #0x80 - lsls r3, r3, #4 - adds r0, r3, #0 - orrs r0, r1 - strh r0, [r2] - b _0805D8F4 - .align 2, 0 -_0805D898: .4byte gScreen -_0805D89C: - ldr r0, [r1, #0x20] - subs r0, #1 - str r0, [r1, #0x20] - cmp r0, #0x10 - bne _0805D8F4 - movs r0, #2 - strb r0, [r1, #0xd] - movs r0, #0x2d - strb r0, [r1, #0xe] - b _0805D8F4 -_0805D8B0: - ldrb r0, [r1, #0xe] - subs r0, #1 - strb r0, [r1, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0805D8F4 - movs r0, #3 - strb r0, [r1, #0xd] - b _0805D8F4 -_0805D8C2: - ldr r0, [r1, #0x20] - subs r0, #1 - str r0, [r1, #0x20] - cmp r0, #0 - bne _0805D8F4 - movs r0, #4 - strb r0, [r1, #0xd] - movs r0, #0x3c - strb r0, [r1, #0xe] - b _0805D8F4 -_0805D8D6: - ldrb r0, [r1, #0xe] - subs r0, #1 - strb r0, [r1, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0805D8F4 - bl sub_0801E104 - ldr r2, _0805D8F8 @ =gScreen - ldrh r1, [r2] - ldr r0, _0805D8FC @ =0x0000F7FF - ands r0, r1 - strh r0, [r2] - bl DeleteThisEntity -_0805D8F4: - pop {pc} - .align 2, 0 -_0805D8F8: .4byte gScreen -_0805D8FC: .4byte 0x0000F7FF - - thumb_func_start sub_0805D900 -sub_0805D900: @ 0x0805D900 - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xd] - cmp r0, #1 - beq _0805D938 - cmp r0, #1 - bgt _0805D914 - cmp r0, #0 - beq _0805D91A - b _0805D966 -_0805D914: - cmp r0, #2 - beq _0805D94E - b _0805D966 -_0805D91A: - movs r1, #1 - strb r1, [r2, #0xd] - movs r0, #0x2d - strb r0, [r2, #0xe] - str r1, [r2, #0x20] - ldr r2, _0805D934 @ =gScreen - ldrh r1, [r2] - movs r3, #0x80 - lsls r3, r3, #4 - adds r0, r3, #0 - orrs r0, r1 - strh r0, [r2] - b _0805D982 - .align 2, 0 -_0805D934: .4byte gScreen -_0805D938: - ldrb r0, [r2, #0xe] - subs r0, #1 - strb r0, [r2, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0805D982 - movs r0, #2 - strb r0, [r2, #0xd] - movs r0, #0x14 - strb r0, [r2, #0xe] - b _0805D982 -_0805D94E: - ldr r0, [r2, #0x20] - adds r0, #1 - str r0, [r2, #0x20] - ldrb r0, [r2, #0xe] - subs r0, #1 - strb r0, [r2, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0805D982 - movs r0, #3 - strb r0, [r2, #0xd] - b _0805D982 -_0805D966: - ldr r0, [r2, #0x20] - adds r0, #4 - str r0, [r2, #0x20] - cmp r0, #0x80 - bls _0805D982 - bl sub_0801E104 - ldr r2, _0805D984 @ =gScreen - ldrh r1, [r2] - ldr r0, _0805D988 @ =0x0000F7FF - ands r0, r1 - strh r0, [r2] - bl DeleteThisEntity -_0805D982: - pop {pc} - .align 2, 0 -_0805D984: .4byte gScreen -_0805D988: .4byte 0x0000F7FF - - thumb_func_start sub_0805D98C -sub_0805D98C: @ 0x0805D98C - push {lr} - adds r2, r0, #0 - ldr r3, _0805D9D4 @ =gInput - ldrh r1, [r3] - movs r0, #0x40 - ands r0, r1 - cmp r0, #0 - beq _0805D9A2 - ldr r0, [r2, #0x20] - subs r0, #1 - str r0, [r2, #0x20] -_0805D9A2: - ldrh r1, [r3] - movs r0, #0x80 - ands r0, r1 - adds r3, r1, #0 - cmp r0, #0 - beq _0805D9B4 - ldr r0, [r2, #0x20] - adds r0, #1 - str r0, [r2, #0x20] -_0805D9B4: - movs r0, #0x20 - ands r0, r3 - cmp r0, #0 - beq _0805D9C2 - ldr r0, [r2, #0x28] - subs r0, #1 - str r0, [r2, #0x28] -_0805D9C2: - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - beq _0805D9D0 - ldr r0, [r2, #0x28] - adds r0, #1 - str r0, [r2, #0x28] -_0805D9D0: - pop {pc} - .align 2, 0 -_0805D9D4: .4byte gInput - - thumb_func_start sub_0805D9D8 -sub_0805D9D8: @ 0x0805D9D8 - push {r4, lr} - ldr r4, [r0, #0x14] - cmp r4, #0 - beq _0805D9FC - ldr r3, _0805DA00 @ =gScreen - ldr r2, _0805DA04 @ =gRoomControls - ldrh r1, [r4, #0x2e] - ldrh r0, [r2, #0xa] - subs r1, r1, r0 - movs r0, #0x80 - subs r0, r0, r1 - strh r0, [r3, #0x2e] - ldrh r1, [r4, #0x32] - ldrh r0, [r2, #0xc] - subs r1, r1, r0 - movs r0, #0x8c - subs r0, r0, r1 - strh r0, [r3, #0x30] -_0805D9FC: - pop {r4, pc} - .align 2, 0 -_0805DA00: .4byte gScreen -_0805DA04: .4byte gRoomControls - - thumb_func_start sub_0805DA08 -sub_0805DA08: @ 0x0805DA08 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - mov sl, r0 - adds r5, r1, #0 - adds r6, r2, #0 - ldr r2, _0805DA78 @ =gUnk_03003DE4 - ldrb r1, [r2] - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #9 - ldr r1, _0805DA7C @ =gUnk_02017AA0 - adds r4, r0, r1 - movs r3, #0 - mov r8, r2 - mov sb, r1 - ldr r0, _0805DA80 @ =gSineTable - mov ip, r0 - movs r2, #0xff - ldr r1, _0805DA84 @ =gScreen -_0805DA34: - adds r0, r6, r3 - adds r0, r0, r5 - ands r0, r2 - lsls r0, r0, #1 - add r0, ip - movs r7, #0 - ldrsh r0, [r0, r7] - mov r7, sl - muls r7, r0, r7 - adds r0, r7, #0 - lsrs r0, r0, #8 - ldrh r7, [r1, #0x2e] - adds r0, r0, r7 - strh r0, [r4] - adds r4, #2 - adds r3, #1 - adds r5, #0x17 - cmp r3, #0x9f - bls _0805DA34 - mov r0, r8 - ldrb r1, [r0] - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #9 - add r0, sb - ldr r1, _0805DA88 @ =0x0400001C - ldr r2, _0805DA8C @ =0xA2600001 - bl sub_0805622C - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0805DA78: .4byte gUnk_03003DE4 -_0805DA7C: .4byte gUnk_02017AA0 -_0805DA80: .4byte gSineTable -_0805DA84: .4byte gScreen -_0805DA88: .4byte 0x0400001C -_0805DA8C: .4byte 0xA2600001 - - thumb_func_start sub_0805DA90 -sub_0805DA90: @ 0x0805DA90 - push {r4, r5, lr} - adds r5, r0, #0 - adds r4, r1, #0 - bl GetEmptyManager - adds r1, r0, #0 - cmp r1, #0 - beq _0805DAB4 - movs r0, #9 - strb r0, [r1, #8] - movs r0, #0x32 - strb r0, [r1, #9] - strb r4, [r1, #0xa] - str r5, [r1, #0x14] - adds r0, r1, #0 - movs r1, #8 - bl AppendEntityToList -_0805DAB4: - ldr r0, _0805DAD8 @ =gArea - ldr r1, _0805DADC @ =0x0000088C - adds r4, r0, r1 - ldr r0, [r4] - cmp r0, #0 - beq _0805DAD4 - ldr r2, _0805DAE0 @ =gScreen - ldrh r1, [r2] - ldr r0, _0805DAE4 @ =0x0000F7FF - ands r0, r1 - strh r0, [r2] - bl sub_080528F0 - ldr r0, [r4] - bl DeleteManager -_0805DAD4: - pop {r4, r5, pc} - .align 2, 0 -_0805DAD8: .4byte gArea -_0805DADC: .4byte 0x0000088C -_0805DAE0: .4byte gScreen -_0805DAE4: .4byte 0x0000F7FF diff --git a/asm/manager34.s b/asm/manager34.s deleted file mode 100644 index 30b172e6..00000000 --- a/asm/manager34.s +++ /dev/null @@ -1,143 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start Manager34_Main -Manager34_Main: @ 0x0805DB94 - push {r4, lr} - adds r4, r0, #0 - ldr r1, _0805DBB0 @ =gUnk_08108D8C - 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_0805DBF0 - pop {r4, pc} - .align 2, 0 -_0805DBB0: .4byte gUnk_08108D8C - - thumb_func_start sub_0805DBB4 -sub_0805DBB4: @ 0x0805DBB4 - movs r1, #1 - strb r1, [r0, #0xc] - ldr r1, _0805DBC8 @ =gScreenTransition - adds r1, #0x3d - ldrb r2, [r1] - lsls r1, r2, #4 - subs r1, r1, r2 - lsls r1, r1, #2 - strh r1, [r0, #0x20] - bx lr - .align 2, 0 -_0805DBC8: .4byte gScreenTransition - - thumb_func_start sub_0805DBCC -sub_0805DBCC: @ 0x0805DBCC - push {lr} - adds r1, r0, #0 - ldr r0, [r1, #0x14] - ldr r0, [r0, #4] - cmp r0, #0 - bne _0805DBE6 - movs r0, #2 - strb r0, [r1, #0xc] - ldrh r0, [r1, #0x20] - ldr r2, _0805DBE8 @ =0x0000012D - cmp r0, r2 - bls _0805DBE6 - strh r2, [r1, #0x20] -_0805DBE6: - pop {pc} - .align 2, 0 -_0805DBE8: .4byte 0x0000012D - - thumb_func_start nullsub_498 -nullsub_498: @ 0x0805DBEC - bx lr - .align 2, 0 - - thumb_func_start sub_0805DBF0 -sub_0805DBF0: @ 0x0805DBF0 - push {r4, lr} - adds r4, r0, #0 - ldrh r0, [r4, #0x20] - subs r1, r0, #1 - strh r1, [r4, #0x20] - lsls r0, r1, #0x10 - cmp r0, #0 - bne _0805DC06 - bl sub_0805DC70 - b _0805DC6C -_0805DC06: - lsls r0, r1, #0x10 - lsrs r1, r0, #0x10 - cmp r1, #0x78 - bne _0805DC18 - movs r0, #0x78 - movs r1, #2 - bl sub_08080964 - b _0805DC36 -_0805DC18: - cmp r1, #0xd2 - bne _0805DC26 - movs r0, #0x5a - movs r1, #1 - bl sub_08080964 - b _0805DC36 -_0805DC26: - movs r0, #0x96 - lsls r0, r0, #1 - cmp r1, r0 - bne _0805DC36 - movs r0, #0x5a - movs r1, #0 - bl sub_08080964 -_0805DC36: - ldrh r1, [r4, #0x20] - adds r0, r1, #0 - cmp r0, #0x77 - bhi _0805DC42 - movs r0, #0xf - b _0805DC48 -_0805DC42: - cmp r0, #0xd1 - bhi _0805DC58 - movs r0, #0x1f -_0805DC48: - ands r0, r1 - cmp r0, #0 - bne _0805DC6C - movs r0, #0x93 - lsls r0, r0, #1 - bl SoundReq - b _0805DC6C -_0805DC58: - cmp r0, #0xc7 - bhi _0805DC6C - movs r0, #0x3f - ands r0, r1 - cmp r0, #0 - bne _0805DC6C - movs r0, #0x93 - lsls r0, r0, #1 - bl SoundReq -_0805DC6C: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0805DC70 -sub_0805DC70: @ 0x0805DC70 - push {lr} - bl sub_0805E5A8 - ldr r0, _0805DC80 @ =gUnk_0813AC48 - bl DoExitTransition - pop {pc} - .align 2, 0 -_0805DC80: .4byte gUnk_0813AC48 diff --git a/asm/manager35.s b/asm/manager35.s deleted file mode 100644 index b1c1ec63..00000000 --- a/asm/manager35.s +++ /dev/null @@ -1,166 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start Manager35_Main -Manager35_Main: @ 0x0805DC84 - push {lr} - ldr r2, _0805DC98 @ =gUnk_08108D98 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0805DC98: .4byte gUnk_08108D98 - - thumb_func_start sub_0805DC9C -sub_0805DC9C: @ 0x0805DC9C - push {r4, lr} - adds r4, r0, #0 - ldrh r0, [r4, #0x3c] - bl CheckFlags - cmp r0, #0 - beq _0805DCAE - bl DeleteThisEntity -_0805DCAE: - ldrh r0, [r4, #0x3e] - bl CheckFlags - cmp r0, #0 - beq _0805DCC2 - ldrh r0, [r4, #0x3c] - bl SetFlag - bl DeleteThisEntity -_0805DCC2: - movs r0, #1 - strb r0, [r4, #0xc] - pop {r4, pc} - - thumb_func_start sub_0805DCC8 -sub_0805DCC8: @ 0x0805DCC8 - push {r4, r5, lr} - adds r4, r0, #0 - ldrh r0, [r4, #0x3e] - bl CheckFlags - cmp r0, #0 - beq _0805DD1E - movs r0, #2 - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x35 - ldrb r0, [r0] - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0805DCEC - movs r0, #0x1e - strb r0, [r4, #0xe] -_0805DCEC: - ldr r5, _0805DD20 @ =gRoomControls - ldr r0, [r5, #0x30] - str r0, [r4, #0x14] - movs r0, #0x69 - movs r1, #0 - movs r2, #0 - bl CreateObject - adds r1, r0, #0 - cmp r1, #0 - beq _0805DD1E - ldrh r0, [r5, #6] - ldrh r2, [r4, #0x38] - adds r0, r0, r2 - strh r0, [r1, #0x2e] - ldrh r0, [r5, #8] - ldrh r2, [r4, #0x3a] - adds r0, r0, r2 - strh r0, [r1, #0x32] - str r1, [r4, #0x18] - str r1, [r5, #0x30] - adds r0, r1, #0 - movs r1, #0x1e - bl sub_0805E4E0 -_0805DD1E: - pop {r4, r5, pc} - .align 2, 0 -_0805DD20: .4byte gRoomControls - - thumb_func_start sub_0805DD24 -sub_0805DD24: @ 0x0805DD24 - push {r4, lr} - adds r4, r0, #0 - movs r0, #0 - movs r1, #8 - bl sub_0805E4E0 - ldr r0, _0805DD64 @ =gRoomControls - ldrb r1, [r0, #0xf] - movs r0, #4 - ands r0, r1 - cmp r0, #0 - bne _0805DD60 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0805DD60 - movs r0, #3 - strb r0, [r4, #0xc] - ldrh r0, [r4, #0x3c] - bl SetFlag - adds r1, r4, #0 - adds r1, #0x36 - ldrb r0, [r1] - cmp r0, #0 - bne _0805DD60 - movs r0, #1 - strb r0, [r1] -_0805DD60: - pop {r4, pc} - .align 2, 0 -_0805DD64: .4byte gRoomControls - - thumb_func_start sub_0805DD68 -sub_0805DD68: @ 0x0805DD68 - push {r4, lr} - adds r4, r0, #0 - movs r0, #0 - movs r1, #8 - bl sub_0805E4E0 - adds r1, r4, #0 - adds r1, #0x36 - ldrb r0, [r1] - cmp r0, #0 - beq _0805DD94 - subs r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0805DDAE - ldr r1, _0805DD90 @ =gRoomControls - ldr r0, [r4, #0x14] - str r0, [r1, #0x30] - b _0805DDAE - .align 2, 0 -_0805DD90: .4byte gRoomControls -_0805DD94: - ldr r0, _0805DDB0 @ =gRoomControls - ldrb r1, [r0, #0xf] - movs r0, #4 - ands r0, r1 - cmp r0, #0 - bne _0805DDAE - ldr r0, [r4, #0x18] - cmp r0, #0 - beq _0805DDAA - bl DeleteEntity -_0805DDAA: - bl DeleteThisEntity -_0805DDAE: - pop {r4, pc} - .align 2, 0 -_0805DDB0: .4byte gRoomControls diff --git a/asm/manager37.s b/asm/manager37.s deleted file mode 100644 index 2ec3b180..00000000 --- a/asm/manager37.s +++ /dev/null @@ -1,390 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start Manager37_Main -Manager37_Main: @ 0x0805DE38 - push {lr} - ldr r2, _0805DE4C @ =gUnk_08108DBC - ldrb r1, [r0, #0xa] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0805DE4C: .4byte gUnk_08108DBC - - thumb_func_start sub_0805DE50 -sub_0805DE50: @ 0x0805DE50 - push {lr} - ldr r2, _0805DE64 @ =gUnk_08108DC4 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0805DE64: .4byte gUnk_08108DC4 - - thumb_func_start sub_0805DE68 -sub_0805DE68: @ 0x0805DE68 -.ifdef JP - push {r4, lr} - adds r4, r0, #0 - movs r0, #0x7b - bl CheckLocalFlag - cmp r0, #0 - bne _0805DCCE - bl DeleteThisEntity -_0805DCCE: - movs r1, #0 - movs r0, #1 - strb r0, [r4, #0xc] - ldr r2, _0805DCF4 @ =0x030010A0 - adds r0, r2, #0 - adds r0, #0x38 - strb r1, [r0] - adds r1, r2, #0 - adds r1, #0x39 - movs r0, #0xf - strb r0, [r1] - adds r0, r2, #0 - adds r0, #0x3a - movs r1, #0x20 - strb r1, [r0] - adds r0, #1 - strb r1, [r0] - pop {r4, pc} - .align 2, 0 -_0805DCF4: .4byte gScreenTransition -.else -.ifdef EU - push {r4, lr} - adds r4, r0, #0 - movs r0, #0x7b - bl CheckLocalFlag - cmp r0, #0 - bne _0805D916 - bl DeleteThisEntity -_0805D916: - movs r1, #0 - movs r0, #1 - strb r0, [r4, #0xc] - ldr r2, _0805D93C @ =gScreenTransition - adds r0, r2, #0 - adds r0, #0x38 - strb r1, [r0] - adds r1, r2, #0 - adds r1, #0x39 - movs r0, #0xf - strb r0, [r1] - adds r0, r2, #0 - adds r0, #0x3a - movs r1, #0x20 - strb r1, [r0] - adds r0, #1 - strb r1, [r0] - pop {r4, pc} - .align 2, 0 -_0805D93C: .4byte gScreenTransition - -.else - push {r4, lr} - adds r4, r0, #0 - movs r0, #0x7b - bl CheckLocalFlag - cmp r0, #0 - bne _0805DE7A - bl DeleteThisEntity -_0805DE7A: - movs r1, #0 - movs r0, #1 - strb r0, [r4, #0xc] - ldr r2, _0805DEAC @ =gScreenTransition - adds r0, r2, #0 - adds r0, #0x38 - strb r1, [r0] - adds r1, r2, #0 - adds r1, #0x39 - movs r0, #0xf - strb r0, [r1] - adds r0, r2, #0 - adds r0, #0x3a - movs r1, #0x20 - strb r1, [r0] - adds r0, #1 - strb r1, [r0] - ldr r0, _0805DEB0 @ =gSave - movs r1, #0x93 - lsls r1, r1, #3 - adds r0, r0, r1 - ldr r1, _0805DEB4 @ =0x00001194 - str r1, [r0] - pop {r4, pc} - .align 2, 0 -_0805DEAC: .4byte gScreenTransition -_0805DEB0: .4byte gSave -_0805DEB4: .4byte 0x00001194 -.endif -.endif - - thumb_func_start sub_0805DEB8 -sub_0805DEB8: @ 0x0805DEB8 - push {r4, r5, lr} - adds r3, r0, #0 - ldr r5, _0805DF44 @ =gPlayerEntity - movs r0, #0x2e - ldrsh r2, [r5, r0] - subs r2, #0x88 - ldr r4, _0805DF48 @ =gRoomControls - ldrh r0, [r4, #6] - subs r2, r2, r0 - movs r1, #0x32 - ldrsh r0, [r5, r1] - subs r0, #0x40 - ldrh r1, [r4, #8] - subs r0, r0, r1 - adds r1, r2, #0 - muls r1, r2, r1 - adds r2, r0, #0 - muls r2, r0, r2 - adds r0, r2, #0 - adds r1, r1, r0 - movs r0, #0x90 - lsls r0, r0, #4 - cmp r1, r0 - bgt _0805DF42 - movs r0, #0 - movs r1, #2 - strb r1, [r3, #0xc] - strb r0, [r3, #0xd] - movs r0, #0x78 - strb r0, [r3, #0xe] - movs r0, #2 - bl sub_08078A90 - bl sub_08078B48 - movs r0, #0x64 - movs r1, #0 - movs r2, #0 - bl CreateObject - adds r2, r0, #0 - cmp r2, #0 - beq _0805DF1A - ldrh r0, [r4, #6] - adds r0, #0x88 - strh r0, [r2, #0x2e] - ldrh r0, [r4, #8] - adds r0, #0x48 - strh r0, [r2, #0x32] -_0805DF1A: - movs r2, #0x10 - rsbs r2, r2, #0 - adds r0, r5, #0 - movs r1, #8 - bl CreateSpeechBubbleExclamationMark - adds r2, r0, #0 - cmp r2, #0 - beq _0805DF3C - 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] -_0805DF3C: - movs r0, #0x32 - bl SoundReq -_0805DF42: - pop {r4, r5, pc} - .align 2, 0 -_0805DF44: .4byte gPlayerEntity -_0805DF48: .4byte gRoomControls - - thumb_func_start sub_0805DF4C -sub_0805DF4C: @ 0x0805DF4C - push {lr} - adds r1, r0, #0 - ldr r2, _0805DF70 @ =gPlayerEntity - movs r0, #0 - strb r0, [r2, #0x14] - movs r3, #0x36 - ldrsh r0, [r2, r3] - cmp r0, #0 - beq _0805DF78 - movs r1, #0x32 - ldrsh r0, [r2, r1] - ldr r1, _0805DF74 @ =gRoomControls - ldrh r1, [r1, #8] - adds r1, #0x48 - cmp r0, r1 - bge _0805DF92 - strh r1, [r2, #0x32] - b _0805DF92 - .align 2, 0 -_0805DF70: .4byte gPlayerEntity -_0805DF74: .4byte gRoomControls -_0805DF78: - ldrb r0, [r1, #0xe] - subs r0, #1 - strb r0, [r1, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0805DF92 - movs r0, #3 - strb r0, [r1, #0xc] - movs r0, #0x1e - strb r0, [r1, #0xe] - ldr r0, _0805DF94 @ =0x0000164F - bl TextboxNoOverlapFollow -_0805DF92: - pop {pc} - .align 2, 0 -_0805DF94: .4byte 0x0000164F - - thumb_func_start sub_0805DF98 -sub_0805DF98: @ 0x0805DF98 - push {lr} - adds r2, r0, #0 - ldr r0, _0805DFB4 @ =gTextBox - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - bne _0805DFCA - ldrb r0, [r2, #0xe] - cmp r0, #0 - beq _0805DFB8 - subs r0, #1 - strb r0, [r2, #0xe] - b _0805DFCA - .align 2, 0 -_0805DFB4: .4byte gTextBox -_0805DFB8: - movs r0, #4 - strb r0, [r2, #0xc] - movs r0, #7 - movs r1, #4 - bl DoFade - movs r0, #0xf6 - bl SoundReq -_0805DFCA: - pop {pc} - - thumb_func_start sub_0805DFCC -sub_0805DFCC: @ 0x0805DFCC - push {lr} - ldr r0, _0805DFE4 @ =gFadeControl - ldrb r0, [r0] - cmp r0, #0 - bne _0805DFE0 - movs r0, #0x1c - bl ClearGlobalFlag - bl sub_0805E094 -_0805DFE0: - pop {pc} - .align 2, 0 -_0805DFE4: .4byte gFadeControl - - thumb_func_start sub_0805DFE8 -sub_0805DFE8: @ 0x0805DFE8 - push {lr} - ldr r2, _0805DFFC @ =gUnk_08108DD8 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0805DFFC: .4byte gUnk_08108DD8 - - thumb_func_start sub_0805E000 -sub_0805E000: @ 0x0805E000 - push {r4, r5, r6, lr} - adds r6, r0, #0 - movs r0, #0x51 - movs r1, #0 - bl CreateEnemy - adds r4, r0, #0 - cmp r4, #0 - beq _0805E062 - ldr r1, _0805E064 @ =gRoomControls - ldrh r0, [r1, #6] - adds r0, #0xb0 - strh r0, [r4, #0x2e] - ldrh r0, [r1, #8] - adds r0, #0x48 - strh r0, [r4, #0x32] - adds r0, r4, #0 - adds r0, #0x38 - movs r5, #1 - strb r5, [r0] - adds r0, r4, #0 - bl UpdateSpriteForCollisionLayer - ldr r0, _0805E068 @ =gScreenTransition - adds r0, #0x38 - ldrb r1, [r0] - adds r0, r5, #0 - ands r0, r1 - cmp r0, #0 - beq _0805E040 - bl DeleteThisEntity -_0805E040: - str r4, [r6, #0x18] - strb r5, [r6, #0xc] - movs r0, #3 - bl sub_08078A90 - ldr r0, _0805E06C @ =gArea - ldr r1, _0805E070 @ =0x00000864 - adds r0, r0, r1 - ldr r1, _0805E074 @ =0x80010000 - str r1, [r0] - movs r0, #6 - movs r1, #4 - bl DoFade - movs r0, #0xf7 - bl SoundReq -_0805E062: - pop {r4, r5, r6, pc} - .align 2, 0 -_0805E064: .4byte gRoomControls -_0805E068: .4byte gScreenTransition -_0805E06C: .4byte gArea -_0805E070: .4byte 0x00000864 -_0805E074: .4byte 0x80010000 - - thumb_func_start sub_0805E078 -sub_0805E078: @ 0x0805E078 - push {lr} - adds r1, r0, #0 - ldr r0, _0805E090 @ =gFadeControl - ldrb r0, [r0] - cmp r0, #0 - bne _0805E08E - ldr r1, [r1, #0x18] - movs r0, #1 - strb r0, [r1, #0xd] - bl DeleteThisEntity -_0805E08E: - pop {pc} - .align 2, 0 -_0805E090: .4byte gFadeControl - - thumb_func_start sub_0805E094 -sub_0805E094: @ 0x0805E094 - push {lr} - bl sub_0805E5A8 - ldr r0, _0805E0A4 @ =gUnk_0813AC34 - movs r1, #7 - bl sub_0808091C - pop {pc} - .align 2, 0 -_0805E0A4: .4byte gUnk_0813AC34 diff --git a/asm/managerF.s b/asm/managerF.s deleted file mode 100644 index 3a5d746b..00000000 --- a/asm/managerF.s +++ /dev/null @@ -1,905 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start ManagerF_Main -ManagerF_Main: @ 0x08058ECC - push {lr} - ldr r2, _08058EE0 @ =gUnk_08108314 - ldrb r1, [r0, #0xa] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08058EE0: .4byte gUnk_08108314 - - thumb_func_start sub_08058EE4 -sub_08058EE4: @ 0x08058EE4 - push {r4, r5, r6, lr} - adds r6, r0, #0 - ldrb r0, [r6, #0xc] - cmp r0, #0 - bne _08058EF2 - movs r0, #1 - strb r0, [r6, #0xc] -_08058EF2: - ldrb r0, [r6, #0xb] - bl CheckRoomFlag - cmp r0, #0 - beq _08058F40 - movs r5, #0x94 - lsls r5, r5, #1 - ldrb r2, [r6, #0xb] - adds r2, #1 - adds r0, r5, #0 - movs r1, #0x68 - bl sub_08058F44 - movs r4, #0xac - lsls r4, r4, #1 - ldrb r2, [r6, #0xb] - adds r2, #2 - adds r0, r4, #0 - movs r1, #0x68 - bl sub_08058F44 - ldrb r2, [r6, #0xb] - adds r2, #3 - adds r0, r5, #0 - movs r1, #0x98 - bl sub_08058F44 - ldrb r2, [r6, #0xb] - adds r2, #4 - adds r0, r4, #0 - movs r1, #0x98 - bl sub_08058F44 - movs r0, #0x92 - lsls r0, r0, #1 - bl SoundReq - bl DeleteThisEntity -_08058F40: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_08058F44 -sub_08058F44: @ 0x08058F44 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - adds r0, r2, #0 - bl CheckRoomFlag - cmp r0, #0 - bne _08058F80 - adds r0, r4, #0 - adds r1, r5, #0 - movs r2, #1 - bl sub_080002A8 - cmp r0, #0x61 - bne _08058F80 - lsrs r1, r4, #4 - movs r2, #0x3f - ands r1, r2 - lsrs r0, r5, #4 - ands r0, r2 - lsls r0, r0, #6 - orrs r1, r0 - movs r0, #0x26 - movs r2, #1 - bl SetTileType - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_08058F84 -_08058F80: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08058F84 -sub_08058F84: @ 0x08058F84 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - movs r0, #0x21 - movs r1, #0 - movs r2, #0 - bl CreateObject - adds r2, r0, #0 - cmp r2, #0 - beq _08058FA8 - ldr r0, _08058FAC @ =gRoomControls - ldrh r1, [r0, #6] - adds r1, r1, r4 - strh r1, [r2, #0x2e] - ldrh r0, [r0, #8] - adds r0, r0, r5 - strh r0, [r2, #0x32] -_08058FA8: - pop {r4, r5, pc} - .align 2, 0 -_08058FAC: .4byte gRoomControls - - thumb_func_start sub_08058FB0 -sub_08058FB0: @ 0x08058FB0 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #1 - beq _08058FF6 - cmp r0, #1 - bgt _08058FC4 - cmp r0, #0 - beq _08058FCA - b _08059050 -_08058FC4: - cmp r0, #2 - beq _08059018 - b _08059050 -_08058FCA: - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r0, [r4, #0xa] - cmp r0, #1 - bne _08058FDC - movs r0, #7 - strb r0, [r4, #0xd] - movs r0, #6 - b _08058FE2 -_08058FDC: - movs r0, #8 - strb r0, [r4, #0xd] - movs r0, #2 -_08058FE2: - strb r0, [r4, #0xf] - ldrh r0, [r4, #0x3e] - bl CheckFlags - cmp r0, #0 - beq _08059060 - adds r0, r4, #0 - bl DeleteManager - b _08059060 -_08058FF6: - ldrh r0, [r4, #0x3e] - bl CheckFlags - cmp r0, #0 - beq _08059060 - movs r0, #2 - strb r0, [r4, #0xc] - movs r0, #0x78 - strb r0, [r4, #0xe] - adds r0, r4, #0 - movs r1, #0xf0 - bl sub_0805E4E0 - adds r0, r4, #0 - bl sub_08059064 - b _08059060 -_08059018: - ldrb r0, [r4, #0xe] - cmp r0, #0x5a - bne _08059028 - movs r0, #2 - bl sub_08078A90 - bl sub_08077B20 -_08059028: - ldrb r2, [r4, #0xe] - cmp r2, #0x3c - bne _08059034 - ldr r1, _0805904C @ =gPlayerEntity - ldrb r0, [r4, #0xf] - strb r0, [r1, #0x14] -_08059034: - subs r0, r2, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08059060 - movs r0, #3 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0xd] - movs r0, #5 - bl MenuFadeIn - b _08059060 - .align 2, 0 -_0805904C: .4byte gPlayerEntity -_08059050: - ldrh r0, [r4, #0x3e] - bl SetFlag - movs r0, #1 - bl sub_08078A90 - bl DeleteThisEntity -_08059060: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08059064 -sub_08059064: @ 0x08059064 - push {r4, lr} - adds r4, r0, #0 - movs r0, #0 - movs r1, #0x53 - movs r2, #0 - bl CreateObject - adds r2, r0, #0 - cmp r2, #0 - beq _0805908E - movs r0, #2 - strb r0, [r2, #0xe] - ldr r1, _08059090 @ =gRoomControls - ldrh r0, [r1, #6] - ldrh r3, [r4, #0x38] - adds r0, r0, r3 - strh r0, [r2, #0x2e] - ldrh r0, [r1, #8] - ldrh r4, [r4, #0x3a] - adds r0, r0, r4 - strh r0, [r2, #0x32] -_0805908E: - pop {r4, pc} - .align 2, 0 -_08059090: .4byte gRoomControls - - thumb_func_start sub_08059094 -sub_08059094: @ 0x08059094 - push {r4, r5, lr} - adds r4, r0, #0 - movs r5, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _080590B6 - movs r0, #1 - strb r0, [r4, #0xc] - movs r0, #0x60 - bl CheckLocalFlag - cmp r0, #0 - bne _080590CC - movs r0, #0x5f - bl SetLocalFlag - b _080590C8 -_080590B6: - movs r0, #0x60 - bl CheckLocalFlag - cmp r0, #0 - beq _080590C8 - movs r0, #0x5f - bl ClearLocalFlag - movs r5, #1 -_080590C8: - cmp r5, #0 - beq _080590D8 -_080590CC: - ldr r0, _080590DC @ =gUnk_080F4B88 - bl LoadRoomEntityList - adds r0, r4, #0 - bl DeleteManager -_080590D8: - pop {r4, r5, pc} - .align 2, 0 -_080590DC: .4byte gUnk_080F4B88 - - thumb_func_start sub_080590E0 -sub_080590E0: @ 0x080590E0 - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xc] - cmp r0, #0 - bne _080590F6 - movs r0, #1 - strb r0, [r1, #0xc] - adds r0, r1, #0 - movs r1, #6 - bl sub_0805E3A0 -_080590F6: - movs r0, #0x6c - bl CheckLocalFlag - cmp r0, #0 - beq _0805911A - movs r0, #0x4b - bl CheckLocalFlag - cmp r0, #0 - beq _08059112 - movs r0, #0x4a - bl SetLocalFlag - b _08059120 -_08059112: - movs r0, #0x4a - bl ClearLocalFlag - b _08059120 -_0805911A: - movs r0, #0x4a - bl ClearLocalFlag -_08059120: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08059124 -sub_08059124: @ 0x08059124 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - beq _08059174 - cmp r0, #1 - beq _080591AC - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080591C8 - movs r1, #0x38 - ldrsh r0, [r4, r1] - movs r2, #0x3a - ldrsh r1, [r4, r2] - ldrb r2, [r4, #0xb] - bl CreateDustAt - ldrh r0, [r4, #0x38] - lsls r0, r0, #0x10 - asrs r0, r0, #0x14 - movs r2, #0x3f - ands r0, r2 - ldrh r1, [r4, #0x3a] - lsls r1, r1, #0x10 - asrs r1, r1, #0x14 - ands r1, r2 - lsls r1, r1, #6 - orrs r0, r1 - ldrb r1, [r4, #0xb] - bl sub_0807BA8C - movs r0, #0xcd - bl SoundReq - bl DeleteThisEntity - b _080591C8 -_08059174: - ldrh r0, [r4, #0x3e] - bl CheckFlags - cmp r0, #0 - beq _08059182 - bl DeleteThisEntity -_08059182: - movs r0, #1 - strb r0, [r4, #0xc] - ldr r0, _080591A8 @ =0x00000365 - ldrh r1, [r4, #0x38] - lsls r1, r1, #0x10 - asrs r1, r1, #0x14 - movs r3, #0x3f - ands r1, r3 - ldrh r2, [r4, #0x3a] - lsls r2, r2, #0x10 - asrs r2, r2, #0x14 - ands r2, r3 - lsls r2, r2, #6 - orrs r1, r2 - ldrb r2, [r4, #0xb] - bl SetTileType - b _080591C8 - .align 2, 0 -_080591A8: .4byte 0x00000365 -_080591AC: - ldrh r0, [r4, #0x3e] - bl CheckFlags - cmp r0, #0 - beq _080591C8 - adds r0, r4, #0 - movs r1, #0x4b - bl sub_0805E4E0 - movs r0, #0x2d - strb r0, [r4, #0xe] - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] -_080591C8: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080591CC -sub_080591CC: @ 0x080591CC - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _080591F4 - movs r0, #1 - strb r0, [r4, #0xc] - ldrh r0, [r4, #0x3e] - bl CheckFlags - strb r0, [r4, #0xb] - lsls r0, r0, #0x18 - cmp r0, #0 - beq _08059214 - ldr r1, _080591F0 @ =gRoomVars - ldrh r0, [r4, #0x3a] - b _08059218 - .align 2, 0 -_080591F0: .4byte gRoomVars -_080591F4: - ldrh r0, [r4, #0x3e] - bl CheckFlags - adds r1, r0, #0 - ldrb r0, [r4, #0xb] - cmp r0, r1 - beq _0805921A - strb r1, [r4, #0xb] - cmp r1, #0 - beq _08059214 - ldr r1, _08059210 @ =gRoomVars - ldrh r0, [r4, #0x3a] - b _08059218 - .align 2, 0 -_08059210: .4byte gRoomVars -_08059214: - ldr r1, _0805921C @ =gRoomVars - ldrh r0, [r4, #0x38] -_08059218: - strh r0, [r1, #0xc] -_0805921A: - pop {r4, pc} - .align 2, 0 -_0805921C: .4byte gRoomVars - - thumb_func_start sub_08059220 -sub_08059220: @ 0x08059220 - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - ldr r2, _08059268 @ =gRoomVars - movs r0, #0 - strh r0, [r2, #0xc] - ldr r4, _0805926C @ =gUnk_08108354 - ldrh r0, [r4] - ldr r1, _08059270 @ =0x0000FFFF - cmp r0, r1 - beq _08059254 - adds r7, r2, #0 - adds r6, r1, #0 -_08059238: - ldrh r0, [r4] - ldrh r1, [r4, #2] - ldrh r2, [r4, #4] - ldrh r3, [r4, #6] - bl CheckPlayerInRegion - cmp r0, #0 - beq _0805924C - ldrh r0, [r4, #8] - strh r0, [r7, #0xc] -_0805924C: - adds r4, #0xa - ldrh r0, [r4] - cmp r0, r6 - bne _08059238 -_08059254: - ldrb r0, [r5, #0xc] - cmp r0, #0 - bne _08059266 - movs r0, #1 - strb r0, [r5, #0xc] - ldr r1, _08059274 @ =gArea - ldr r0, _08059268 @ =gRoomVars - ldrh r0, [r0, #0xc] - strh r0, [r1, #0xa] -_08059266: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08059268: .4byte gRoomVars -_0805926C: .4byte gUnk_08108354 -_08059270: .4byte 0x0000FFFF -_08059274: .4byte gArea - - thumb_func_start sub_08059278 -sub_08059278: @ 0x08059278 - push {lr} - movs r0, #9 - movs r1, #0xf - movs r2, #6 - bl FindEntityByID - cmp r0, #0 - beq _0805928C - bl ManagerF_Main -_0805928C: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08059290 -sub_08059290: @ 0x08059290 - movs r1, #1 - strb r1, [r0, #0xc] - ldr r1, _0805929C @ =gRoomControls - ldr r0, _080592A0 @ =gPlayerEntity - str r0, [r1, #0x30] - bx lr - .align 2, 0 -_0805929C: .4byte gRoomControls -_080592A0: .4byte gPlayerEntity - - thumb_func_start sub_080592A4 -sub_080592A4: @ 0x080592A4 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _080592C8 - movs r0, #1 - strb r0, [r4, #0xc] - ldrh r0, [r4, #0x3e] - bl CheckFlags - cmp r0, #0 - beq _080592EA - adds r0, r4, #0 - bl sub_080592EC - bl DeleteThisEntity - b _080592EA -_080592C8: - ldrh r0, [r4, #0x3e] - bl CheckFlags - cmp r0, #0 - beq _080592EA - adds r0, r4, #0 - bl sub_080592EC - adds r0, r4, #0 - bl sub_0805930C -.ifndef EU - movs r0, #0xb7 - lsls r0, r0, #1 - bl SoundReq -.endif - bl DeleteThisEntity -_080592EA: - pop {r4, pc} - - thumb_func_start sub_080592EC -sub_080592EC: @ 0x080592EC - push {lr} - adds r1, r0, #0 - ldrh r0, [r1, #0x38] - lsls r0, r0, #0x10 - asrs r0, r0, #0x14 - movs r2, #0x3f - ands r0, r2 - ldrh r1, [r1, #0x3a] - lsls r1, r1, #0x10 - asrs r1, r1, #0x14 - ands r1, r2 - lsls r1, r1, #6 - orrs r0, r1 - bl SetDirtTile - pop {pc} - - thumb_func_start sub_0805930C -sub_0805930C: @ 0x0805930C - push {r4, lr} - adds r4, r0, #0 - movs r0, #0xf - movs r1, #0x43 -.ifdef EU - movs r2, #0x0 -.else - movs r2, #0x40 -.endif - bl CreateObject - adds r2, r0, #0 - cmp r2, #0 - beq _0805933A - ldr r1, _0805933C @ =gRoomControls - ldrh r0, [r1, #6] - ldrh r3, [r4, #0x38] - adds r0, r0, r3 - strh r0, [r2, #0x2e] - ldrh r0, [r1, #8] - ldrh r4, [r4, #0x3a] - adds r0, r0, r4 - strh r0, [r2, #0x32] - adds r1, r2, #0 - adds r1, #0x38 - movs r0, #1 - strb r0, [r1] -_0805933A: - pop {r4, pc} - .align 2, 0 -_0805933C: .4byte gRoomControls - - thumb_func_start SetDirtTile -SetDirtTile: @ 0x08059340 - push {r4, lr} - adds r4, r0, #0 - movs r0, #0x1d - adds r1, r4, #0 - movs r2, #1 - bl SetTileType - movs r0, #0 - adds r1, r4, #0 - movs r2, #2 - bl SetTileType - subs r4, #0x40 - movs r0, #0 - adds r1, r4, #0 - movs r2, #2 - bl SetTileType - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08059368 -sub_08059368: @ 0x08059368 - push {lr} - adds r2, r0, #0 - movs r0, #1 - strb r0, [r2, #0xc] - ldr r1, _08059388 @ =gCurrentTextBox - ldrh r0, [r2, #0x3c] - ldrh r1, [r1, #0x28] - cmp r0, r1 - bne _08059384 - ldrh r0, [r2, #0x3e] - bl SetFlag - bl DeleteThisEntity -_08059384: - pop {pc} - .align 2, 0 -_08059388: .4byte gCurrentTextBox - - thumb_func_start sub_0805938C -sub_0805938C: @ 0x0805938C - push {r4, lr} - adds r4, r0, #0 - bl sub_080593CC - cmp r0, #0 - beq _080593C8 - ldrb r0, [r4, #0xe] - adds r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #7 - bls _080593CA - movs r1, #0x38 - ldrsh r0, [r4, r1] - ldr r2, _080593C4 @ =gRoomControls - ldrh r1, [r2, #6] - subs r0, r0, r1 - movs r3, #0x3a - ldrsh r1, [r4, r3] - ldrh r2, [r2, #8] - subs r1, r1, r2 - movs r2, #0xff - movs r3, #0xa - bl sub_080806BC - b _080593CA - .align 2, 0 -_080593C4: .4byte gRoomControls -_080593C8: - strb r0, [r4, #0xe] -_080593CA: - pop {r4, pc} - - thumb_func_start sub_080593CC -sub_080593CC: @ 0x080593CC - push {r4, lr} - adds r3, r0, #0 - ldr r2, _08059418 @ =gPlayerState - ldr r0, [r2, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - bne _08059420 - adds r0, r2, #0 - adds r0, #0x26 - ldrb r0, [r0] - cmp r0, #0 - beq _08059420 - ldr r4, _0805941C @ =gPlayerEntity - ldrb r0, [r4, #0x14] - cmp r0, #0 - bne _08059420 - adds r0, r2, #0 - adds r0, #0x90 - ldrh r1, [r0] - movs r0, #0xf0 - lsls r0, r0, #4 - ands r0, r1 - movs r1, #0x80 - lsls r1, r1, #3 - cmp r0, r1 - bne _08059420 - movs r0, #0x38 - ldrsh r1, [r3, r0] - movs r0, #0x3a - ldrsh r2, [r3, r0] - adds r2, #0xc - adds r0, r4, #0 - movs r3, #6 - bl sub_0806FCB8 - b _08059422 - .align 2, 0 -_08059418: .4byte gPlayerState -_0805941C: .4byte gPlayerEntity -_08059420: - movs r0, #0 -_08059422: - pop {r4, pc} - - thumb_func_start sub_08059424 -sub_08059424: @ 0x08059424 - push {r4, lr} - adds r4, r0, #0 - ldrh r0, [r4, #0x3e] - bl CheckFlags - cmp r0, #0 - beq _08059436 - bl DeleteThisEntity -_08059436: - ldrh r0, [r4, #0x3c] - bl CheckFlags - cmp r0, #0 - beq _08059476 - movs r0, #0xf - movs r1, #0x35 - movs r2, #0 - bl CreateObject - adds r2, r0, #0 - cmp r2, #0 - beq _08059476 - adds r1, r2, #0 - adds r1, #0x38 - movs r0, #2 - strb r0, [r1] - ldr r1, _08059478 @ =gRoomControls - ldrh r0, [r1, #6] - ldrh r3, [r4, #0x38] - adds r0, r0, r3 - strh r0, [r2, #0x2e] - ldrh r0, [r1, #8] - ldrh r4, [r4, #0x3a] - adds r0, r0, r4 - strh r0, [r2, #0x32] - movs r0, #0xd8 - lsls r0, r0, #1 - bl EnqueueSFX - bl DeleteThisEntity -_08059476: - pop {r4, pc} - .align 2, 0 -_08059478: .4byte gRoomControls - - thumb_func_start sub_0805947C -sub_0805947C: @ 0x0805947C - push {lr} - ldrh r0, [r0, #0x3e] - bl CheckFlags - cmp r0, #0 - bne _080594CE - movs r0, #3 - bl sub_08078A90 - ldr r1, _080594B0 @ =gRoomControls - ldrh r0, [r1] - cmp r0, #0 - bne _080594D2 - ldr r0, _080594B4 @ =gRoomVars - ldrb r0, [r0] - cmp r0, #0 - beq _080594BC - ldr r0, _080594B8 @ =gUnk_08108380 - ldrb r1, [r1, #0x10] - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r0, [r1] - bl StartPlayerScript - b _080594CE - .align 2, 0 -_080594B0: .4byte gRoomControls -_080594B4: .4byte gRoomVars -_080594B8: .4byte gUnk_08108380 -_080594BC: - ldr r1, _080594D4 @ =gUnk_08108380 - ldr r0, _080594D8 @ =gPlayerEntity - ldrb r0, [r0, #0x14] - lsrs r0, r0, #1 - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl StartPlayerScript -_080594CE: - bl DeleteThisEntity -_080594D2: - pop {pc} - .align 2, 0 -_080594D4: .4byte gUnk_08108380 -_080594D8: .4byte gPlayerEntity - -.ifndef EU - thumb_func_start sub_080594DC -sub_080594DC: @ 0x080594DC - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #1 - beq _080594F2 - cmp r0, #1 - bgt _0805951C - cmp r0, #0 - bne _0805951C - movs r0, #1 - strb r0, [r4, #0xc] -_080594F2: - movs r0, #6 - bl GetInventoryValue - cmp r0, #0 - beq _08059540 - movs r0, #0x8c - lsls r0, r0, #4 - movs r1, #0x85 - bl CheckLocalFlagByOffset - cmp r0, #0 - bne _08059540 - movs r0, #2 - strb r0, [r4, #0xc] - ldr r0, _08059518 @ =0x00000B0F - bl sub_080186C0 - b _08059540 - .align 2, 0 -_08059518: .4byte 0x00000B0F -_0805951C: - ldr r0, _08059544 @ =gArea - adds r0, #0x28 - ldrb r0, [r0] - cmp r0, #0xff - beq _0805952A - bl DeleteThisEntity -_0805952A: - movs r0, #0x8c - lsls r0, r0, #4 - movs r1, #0x85 - bl CheckLocalFlagByOffset - cmp r0, #0 - beq _08059540 - bl sub_0801855C - bl DeleteThisEntity -_08059540: - pop {r4, pc} - .align 2, 0 -_08059544: .4byte gArea -.endif - - - thumb_func_start sub_08059548 -sub_08059548: @ 0x08059548 -.ifdef USA - push {lr} - movs r1, #6 - bl sub_0805E3A0 - ldr r0, _08059568 @ =gPlayerEntity - ldrb r0, [r0, #0xc] - cmp r0, #0x16 - bne _0805955C - bl DeleteThisEntity -_0805955C: - ldr r2, _0805956C @ =gInput - ldrh r1, [r2] - movs r0, #4 - orrs r0, r1 - strh r0, [r2] - pop {pc} - .align 2, 0 -_08059568: .4byte gPlayerEntity -_0805956C: .4byte gInput -.else -.ifdef DEMO @ TODO deduplicate - push {lr} - movs r1, #6 - bl sub_0805E3A0 - ldr r0, _08059568 @ =gPlayerEntity - ldrb r0, [r0, #0xc] - cmp r0, #0x16 - bne _0805955C - bl DeleteThisEntity -_0805955C: - ldr r2, _0805956C @ =gInput - ldrh r1, [r2] - movs r0, #4 - orrs r0, r1 - strh r0, [r2] - pop {pc} - .align 2, 0 -_08059568: .4byte gPlayerEntity -_0805956C: .4byte gInput -.endif -.endif diff --git a/asm/non_matching/manager1/nullsub_494.inc b/asm/non_matching/manager1/nullsub_494.inc new file mode 100644 index 00000000..807ea5e0 --- /dev/null +++ b/asm/non_matching/manager1/nullsub_494.inc @@ -0,0 +1,4 @@ + .syntax unified + bx lr + .align 2, 0 + .syntax divided diff --git a/asm/non_matching/manager1/sub_08057174.inc b/asm/non_matching/manager1/sub_08057174.inc new file mode 100644 index 00000000..b718dfab --- /dev/null +++ b/asm/non_matching/manager1/sub_08057174.inc @@ -0,0 +1,147 @@ + .syntax unified + push {r4, r5, r6, r7, lr} + adds r4, r0, #0 + ldrb r0, [r4, #0xa] + bl GetCurrentRoomProperty + adds r3, r0, #0 + ldrb r0, [r3] + cmp r0, #0xff + bne _08057188 + b _0805728A +_08057188: + ldr r1, _080571E8 @ =gPlayerEntity + movs r2, #0x2e + ldrsh r0, [r1, r2] + cmp r0, #0 + bge _08057194 + adds r0, #0xf +_08057194: + asrs r6, r0, #4 + movs r7, #0x32 + ldrsh r0, [r1, r7] + cmp r0, #0 + bge _080571A0 + adds r0, #0xf +_080571A0: + asrs r5, r0, #4 + movs r0, #0x21 + adds r0, r0, r4 + mov ip, r0 +_080571A8: + ldrb r0, [r3] + mov r1, ip + ldrb r1, [r1] + cmp r0, r1 + beq _08057282 + ldr r1, _080571EC @ =gRoomControls + ldrh r0, [r1, #6] + lsrs r0, r0, #4 + ldrb r7, [r3, #1] + adds r2, r0, r7 + ldrh r0, [r1, #8] + lsrs r0, r0, #4 + ldrb r1, [r3, #2] + adds r0, r0, r1 + subs r0, r5, r0 + ldrb r7, [r3, #4] + cmp r0, r7 + bhs _08057282 + subs r0, r6, r2 + ldrb r1, [r3, #3] + cmp r0, r1 + bhs _08057282 + ldrb r0, [r3] + subs r0, #1 + cmp r0, #5 + bhi _08057268 + lsls r0, r0, #2 + ldr r1, _080571F0 @ =_080571F4 + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080571E8: .4byte gPlayerEntity +_080571EC: .4byte gRoomControls +_080571F0: .4byte _080571F4 +_080571F4: @ jump table + .4byte _0805720C @ case 0 + .4byte _08057220 @ case 1 + .4byte _08057258 @ case 2 + .4byte _08057246 @ case 3 + .4byte _08057216 @ case 4 + .4byte _08057236 @ case 5 +_0805720C: + mov r2, ip + ldrb r0, [r2] + cmp r0, #2 + bne _08057268 + b _08057260 +_08057216: + mov r7, ip + ldrb r0, [r7] + cmp r0, #6 + bne _08057268 + b _08057260 +_08057220: + mov r0, ip + ldrb r1, [r0] + cmp r1, #0 + bne _08057268 + movs r0, #2 + strb r0, [r4, #0xc] + strb r1, [r4, #0xe] + adds r0, r4, #0 + adds r0, #0x20 + strb r1, [r0] + b _08057268 +_08057236: + mov r2, ip + ldrb r1, [r2] + cmp r1, #0 + bne _08057268 + movs r0, #2 + strb r0, [r4, #0xc] + strb r1, [r4, #0xe] + b _08057268 +_08057246: + mov r7, ip + ldrb r1, [r7] + cmp r1, #0 + bne _08057268 + movs r0, #2 + strb r0, [r4, #0xc] + strb r1, [r4, #0xe] + str r1, [r4, #0x34] + b _08057268 +_08057258: + mov r1, ip + ldrb r0, [r1] + cmp r0, #4 + bne _08057268 +_08057260: + movs r0, #3 + strb r0, [r4, #0xc] + movs r0, #9 + strb r0, [r4, #0xe] +_08057268: + ldrb r0, [r4, #0xc] + cmp r0, #1 + beq _08057282 + movs r0, #8 + strb r0, [r4, #0xf] + ldrb r0, [r3] + mov r2, ip + strb r0, [r2] + adds r1, r4, #0 + adds r1, #0x22 + movs r0, #1 + strb r0, [r1] + b _0805728A +_08057282: + adds r3, #5 + ldrb r0, [r3] + cmp r0, #0xff + bne _080571A8 +_0805728A: + pop {r4, r5, r6, r7, pc} + .syntax divided diff --git a/asm/non_matching/manager1/sub_0805728C.inc b/asm/non_matching/manager1/sub_0805728C.inc new file mode 100644 index 00000000..1a5ee0e7 --- /dev/null +++ b/asm/non_matching/manager1/sub_0805728C.inc @@ -0,0 +1,38 @@ + .syntax unified + push {r4, lr} + adds r4, r0, #0 + ldrb r0, [r4, #0xf] + subs r0, #1 + strb r0, [r4, #0xf] + lsls r0, r0, #0x18 + cmp r0, #0 + bne _080572CA + movs r0, #8 + strb r0, [r4, #0xf] + ldr r2, _080572CC @ =gScreen + ldr r3, _080572D0 @ =gUnk_08107C1C + ldrb r0, [r4, #0xe] + adds r1, r0, #1 + strb r1, [r4, #0xe] + lsls r0, r0, #0x18 + lsrs r0, r0, #0x17 + adds r0, r0, r3 + ldrh r0, [r0] + adds r2, #0x68 + strh r0, [r2] + lsls r1, r1, #0x18 + lsrs r1, r1, #0x18 + cmp r1, #0xa + bne _080572CA + movs r0, #1 + strb r0, [r4, #0xc] + adds r1, r4, #0 + adds r1, #0x22 + movs r0, #0 + strb r0, [r1] +_080572CA: + pop {r4, pc} + .align 2, 0 +_080572CC: .4byte gScreen +_080572D0: .4byte gUnk_08107C1C + .syntax divided diff --git a/asm/non_matching/manager1/sub_080572D4.inc b/asm/non_matching/manager1/sub_080572D4.inc new file mode 100644 index 00000000..e752ae35 --- /dev/null +++ b/asm/non_matching/manager1/sub_080572D4.inc @@ -0,0 +1,45 @@ + .syntax unified + push {r4, r5, lr} + adds r3, r0, #0 + ldrb r0, [r3, #0xf] + subs r0, #1 + strb r0, [r3, #0xf] + lsls r0, r0, #0x18 + cmp r0, #0 + bne _08057320 + movs r0, #8 + strb r0, [r3, #0xf] + ldr r5, _08057324 @ =gScreen + ldr r2, _08057328 @ =gUnk_08107C1C + ldrb r0, [r3, #0xe] + adds r1, r0, #0 + adds r1, #0xff + strb r1, [r3, #0xe] + lsls r0, r0, #0x18 + lsrs r0, r0, #0x17 + adds r0, r0, r2 + ldrh r2, [r0] + adds r0, r5, #0 + adds r0, #0x68 + movs r4, #0 + strh r2, [r0] + lsls r1, r1, #0x18 + lsrs r1, r1, #0x18 + cmp r1, #0xff + bne _08057320 + movs r0, #1 + strb r0, [r3, #0xc] + adds r0, r3, #0 + adds r0, #0x22 + strb r4, [r0] + subs r0, #1 + strb r4, [r0] + adds r0, r5, #0 + adds r0, #0x6c + strb r4, [r0] +_08057320: + pop {r4, r5, pc} + .align 2, 0 +_08057324: .4byte gScreen +_08057328: .4byte gUnk_08107C1C + .syntax divided diff --git a/asm/non_matching/manager1/sub_0805732C.inc b/asm/non_matching/manager1/sub_0805732C.inc new file mode 100644 index 00000000..c7b02ff7 --- /dev/null +++ b/asm/non_matching/manager1/sub_0805732C.inc @@ -0,0 +1,58 @@ + .syntax unified + push {r4, r5, r6, r7, lr} + mov r7, sb + mov r6, r8 + push {r6, r7} + adds r6, r0, #0 + adds r5, r1, #0 + ldr r2, _08057390 @ =gUnk_03003DE4 + ldrb r1, [r2] + lsls r0, r1, #2 + adds r0, r0, r1 + lsls r0, r0, #9 + ldr r1, _08057394 @ =gUnk_02017AA0 + adds r4, r0, r1 + movs r3, #0 + mov ip, r2 + mov r8, r1 + ldr r0, _08057398 @ =gSineTable + mov sb, r0 + movs r2, #0xff + ldr r1, _0805739C @ =gScreen +_08057354: + adds r0, r5, r3 + ands r0, r2 + lsls r0, r0, #1 + add r0, sb + movs r7, #0 + ldrsh r0, [r0, r7] + muls r0, r6, r0 + lsrs r0, r0, #8 + ldrh r7, [r1, #0x2e] + adds r0, r0, r7 + strh r0, [r4] + adds r4, #2 + adds r3, #1 + cmp r3, #0x9f + bls _08057354 + mov r0, ip + ldrb r1, [r0] + lsls r0, r1, #2 + adds r0, r0, r1 + lsls r0, r0, #9 + add r0, r8 + ldr r1, _080573A0 @ =0x0400001C + ldr r2, _080573A4 @ =0xA2600001 + bl sub_0805622C + pop {r3, r4} + mov r8, r3 + mov sb, r4 + pop {r4, r5, r6, r7, pc} + .align 2, 0 +_08057390: .4byte gUnk_03003DE4 +_08057394: .4byte gUnk_02017AA0 +_08057398: .4byte gSineTable +_0805739C: .4byte gScreen +_080573A0: .4byte 0x0400001C +_080573A4: .4byte 0xA2600001 + .syntax divided diff --git a/asm/non_matching/manager1/sub_080573AC.inc b/asm/non_matching/manager1/sub_080573AC.inc new file mode 100644 index 00000000..e38472fe --- /dev/null +++ b/asm/non_matching/manager1/sub_080573AC.inc @@ -0,0 +1,77 @@ + .syntax unified + push {r4, r5, r6, lr} + adds r6, r0, #0 + ldr r2, _08057434 @ =gRoomControls + ldr r0, [r2, #0x28] + ldr r1, _08057438 @ =0xFFFFE000 + adds r0, r0, r1 + str r0, [r2, #0x28] + ldr r0, [r2, #0x2c] + ldr r1, _0805743C @ =0xFFFFF000 + adds r0, r0, r1 + str r0, [r2, #0x2c] + ldr r5, _08057440 @ =gScreen + movs r1, #0xa + ldrsh r0, [r2, r1] + ldrh r1, [r2, #6] + subs r0, r0, r1 + asrs r0, r0, #1 + ldrh r1, [r2, #0x2a] + adds r0, r0, r1 + strh r0, [r5, #0x2e] + movs r1, #0xc + ldrsh r0, [r2, r1] + ldrh r1, [r2, #8] + subs r0, r0, r1 + asrs r0, r0, #1 + ldrh r2, [r2, #0x2e] + adds r0, r0, r2 + strh r0, [r5, #0x30] + ldr r2, _08057444 @ =gSineTable + ldr r4, _08057448 @ =gScreenTransition + ldr r1, [r4] + ldrb r0, [r4] + adds r0, #0x40 + lsls r0, r0, #1 + adds r0, r0, r2 + movs r2, #0 + ldrsh r0, [r0, r2] + asrs r0, r0, #5 + adds r0, #0x10 + bl sub_0805732C + adds r0, r6, #0 + adds r0, #0x22 + ldrb r0, [r0] + cmp r0, #0 + bne _08057430 + ldr r0, [r4] + movs r1, #0x1f + ands r0, r1 + cmp r0, #0 + bne _08057430 + adds r2, r6, #0 + adds r2, #0x24 + ldrb r0, [r2] + adds r0, #1 + movs r1, #7 + ands r0, r1 + strb r0, [r2] + ldr r1, _0805744C @ =gUnk_08107C30 + ldrb r0, [r2] + lsls r0, r0, #1 + adds r0, r0, r1 + ldrh r1, [r0] + adds r0, r5, #0 + adds r0, #0x68 + strh r1, [r0] +_08057430: + pop {r4, r5, r6, pc} + .align 2, 0 +_08057434: .4byte gRoomControls +_08057438: .4byte 0xFFFFE000 +_0805743C: .4byte 0xFFFFF000 +_08057440: .4byte gScreen +_08057444: .4byte gSineTable +_08057448: .4byte gScreenTransition +_0805744C: .4byte gUnk_08107C30 + .syntax divided diff --git a/asm/non_matching/manager1/sub_08057450.inc b/asm/non_matching/manager1/sub_08057450.inc new file mode 100644 index 00000000..c1608a37 --- /dev/null +++ b/asm/non_matching/manager1/sub_08057450.inc @@ -0,0 +1,102 @@ + .syntax unified + push {r4, r5, r6, lr} + adds r3, r0, #0 + ldr r4, _08057504 @ =gScreen + movs r0, #0x10 + strh r0, [r4, #0x2e] + ldr r0, _08057508 @ =gRoomControls + movs r2, #0xc + ldrsh r1, [r0, r2] + ldrh r0, [r0, #8] + subs r1, r1, r0 + asrs r1, r1, #2 + movs r2, #0x3f + adds r0, r1, #0 + ands r0, r2 + strh r0, [r4, #0x30] + cmp r1, #0 + bge _08057474 + adds r1, #0x3f +_08057474: + asrs r0, r1, #6 + lsls r0, r0, #9 + ldr r1, _0805750C @ =gBG3Buffer + adds r1, r0, r1 + str r1, [r4, #0x34] + ldr r0, [r3, #0x34] + cmp r0, r1 + beq _0805748A + str r1, [r3, #0x34] + movs r0, #1 + strh r0, [r4, #0x32] +_0805748A: + adds r0, r3, #0 + adds r0, #0x22 + ldrb r0, [r0] + ldr r5, _08057510 @ =gScreenTransition + cmp r0, #0 + bne _080574BE + ldr r0, [r5] + movs r1, #0x1f + ands r0, r1 + cmp r0, #0 + bne _080574BE + adds r2, r3, #0 + adds r2, #0x24 + ldrb r0, [r2] + adds r0, #1 + movs r1, #7 + ands r0, r1 + strb r0, [r2] + ldr r1, _08057514 @ =gUnk_08107C30 + ldrb r0, [r2] + lsls r0, r0, #1 + adds r0, r0, r1 + ldrh r1, [r0] + adds r0, r4, #0 + adds r0, #0x68 + strh r1, [r0] +_080574BE: + ldr r0, [r5] + movs r1, #7 + ands r0, r1 + cmp r0, #0 + bne _08057502 + adds r0, r3, #0 + adds r0, #0x23 + ldrb r1, [r0] + lsls r1, r1, #5 + ldr r2, _08057518 @ =gUnk_085B4180 + adds r1, r1, r2 + movs r5, #0 + adds r6, r0, #0 + adds r4, r1, #0 + adds r4, #0xe +_080574DC: + adds r0, r5, #0 + adds r0, #0x87 + ldrh r1, [r4] + bl sub_0801D79C + adds r0, r5, #0 + adds r0, #0x8c + ldrh r1, [r4, #0xa] + bl sub_0801D79C + adds r4, #2 + adds r5, #1 + cmp r5, #3 + bls _080574DC + ldrb r0, [r6] + adds r0, #1 + movs r1, #3 + ands r0, r1 + strb r0, [r6] +_08057502: + pop {r4, r5, r6, pc} + .align 2, 0 +_08057504: .4byte gScreen +_08057508: .4byte gRoomControls +_0805750C: .4byte gBG3Buffer +_08057510: .4byte gScreenTransition +_08057514: .4byte gUnk_08107C30 +_08057518: .4byte gUnk_085B4180 + .syntax divided diff --git a/asm/non_matching/manager10/Manager10_Main.inc b/asm/non_matching/manager10/Manager10_Main.inc new file mode 100644 index 00000000..b352c800 --- /dev/null +++ b/asm/non_matching/manager10/Manager10_Main.inc @@ -0,0 +1,56 @@ + .syntax unified + push {r4, r5, r6, lr} + adds r4, r0, #0 + ldrb r5, [r4, #0xc] + cmp r5, #0 + bne _080595C8 + movs r6, #1 + strb r6, [r4, #0xc] + adds r0, #0x21 + strb r5, [r0] + adds r0, #2 + strb r5, [r0] + bl sub_0805986C + cmp r0, #0 + beq _080595A8 + adds r0, r4, #0 + adds r0, #0x20 + strb r6, [r0] + adds r1, r4, #0 + adds r1, #0x22 + movs r0, #2 + strb r0, [r1] + ldr r0, _080595A4 @ =gUnk_0200B650 + str r5, [r0] + b _080595B8 + .align 2, 0 +_080595A4: .4byte gUnk_0200B650 +_080595A8: + adds r0, r4, #0 + adds r0, #0x20 + movs r1, #0x1f + strb r1, [r0] + adds r1, r4, #0 + adds r1, #0x22 + movs r0, #5 + strb r0, [r1] +_080595B8: + ldr r0, _080595DC @ =gRoomVars + movs r1, #0xff + strb r1, [r0, #0x10] + ldr r1, _080595E0 @ =sub_080595E4 + adds r0, r4, #0 + movs r2, #0 + bl sub_08052D74 +_080595C8: + adds r0, r4, #0 + bl sub_08059608 + adds r0, r4, #0 + bl sub_08059690 + adds r0, r4, #0 + bl sub_080596E0 + pop {r4, r5, r6, pc} + .align 2, 0 +_080595DC: .4byte gRoomVars +_080595E0: .4byte sub_080595E4 + .syntax divided diff --git a/asm/non_matching/manager10/sub_080595E4.inc b/asm/non_matching/manager10/sub_080595E4.inc new file mode 100644 index 00000000..21842a1e --- /dev/null +++ b/asm/non_matching/manager10/sub_080595E4.inc @@ -0,0 +1,16 @@ + .syntax unified + push {r4, lr} + adds r4, r0, #0 + ldr r1, _08059604 @ =gRoomVars + movs r0, #0xff + strb r0, [r1, #0x10] + adds r0, r4, #0 + bl sub_08059690 + adds r0, r4, #0 + bl sub_080596E0 + movs r0, #0 + bl sub_0805B4D0 + pop {r4, pc} + .align 2, 0 +_08059604: .4byte gRoomVars + .syntax divided diff --git a/asm/non_matching/manager10/sub_08059608.inc b/asm/non_matching/manager10/sub_08059608.inc new file mode 100644 index 00000000..93a1156a --- /dev/null +++ b/asm/non_matching/manager10/sub_08059608.inc @@ -0,0 +1,65 @@ + .syntax unified + push {r4, lr} + adds r4, r0, #0 + adds r4, #0x23 + ldrb r0, [r4] + cmp r0, #0 + beq _08059638 + subs r0, #1 + strb r0, [r4] + lsls r0, r0, #0x18 + cmp r0, #0 + bne _08059682 + ldr r0, _08059634 @ =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] + bl SoundReq + b _08059682 + .align 2, 0 +_08059634: .4byte gArea +_08059638: + bl sub_0805986C + cmp r0, #0 + beq _08059668 + ldr r0, _0805965C @ =gArea + ldr r2, _08059660 @ =0x00000864 + adds r1, r0, r2 + ldr r0, [r1] + cmp r0, #0x1e + beq _08059682 + movs r0, #0x1e + str r0, [r1] + movs r0, #0x78 + strb r0, [r4] + ldr r0, _08059664 @ =0x800D0000 + bl SoundReq + b _08059682 + .align 2, 0 +_0805965C: .4byte gArea +_08059660: .4byte 0x00000864 +_08059664: .4byte 0x800D0000 +_08059668: + ldr r0, _08059684 @ =gArea + ldr r2, _08059688 @ =0x00000864 + adds r1, r0, r2 + ldr r0, [r1] + cmp r0, #0x37 + beq _08059682 + movs r0, #0x37 + str r0, [r1] + movs r0, #0x78 + strb r0, [r4] + ldr r0, _0805968C @ =0x800D0000 + bl SoundReq +_08059682: + pop {r4, pc} + .align 2, 0 +_08059684: .4byte gArea +_08059688: .4byte 0x00000864 +_0805968C: .4byte 0x800D0000 + .syntax divided diff --git a/asm/non_matching/manager10/sub_08059690.inc b/asm/non_matching/manager10/sub_08059690.inc new file mode 100644 index 00000000..b2d66b45 --- /dev/null +++ b/asm/non_matching/manager10/sub_08059690.inc @@ -0,0 +1,41 @@ + .syntax unified + push {r4, lr} + adds r4, r0, #0 + bl sub_08059844 + cmp r0, #0 + beq _080596BC + adds r4, #0x20 + ldrb r0, [r4] + cmp r0, #0 + beq _080596D8 + ldr r0, _080596B8 @ =gUnk_085A7320 + movs r2, #0xd0 + lsls r2, r2, #1 + adds r1, r0, r2 + ldrb r2, [r4] + bl sub_08059894 + ldrb r0, [r4] + subs r0, #1 + b _080596D6 + .align 2, 0 +_080596B8: .4byte gUnk_085A7320 +_080596BC: + adds r4, #0x20 + ldrb r0, [r4] + cmp r0, #0x1f + bhi _080596D8 + ldr r0, _080596DC @ =gUnk_085A7320 + movs r2, #0xd0 + lsls r2, r2, #1 + adds r1, r0, r2 + ldrb r2, [r4] + bl sub_08059894 + ldrb r0, [r4] + adds r0, #1 +_080596D6: + strb r0, [r4] +_080596D8: + pop {r4, pc} + .align 2, 0 +_080596DC: .4byte gUnk_085A7320 + .syntax divided diff --git a/asm/non_matching/manager10/sub_080596E0.inc b/asm/non_matching/manager10/sub_080596E0.inc new file mode 100644 index 00000000..8198dbe6 --- /dev/null +++ b/asm/non_matching/manager10/sub_080596E0.inc @@ -0,0 +1,175 @@ + .syntax unified + push {r4, r5, r6, lr} + adds r4, r0, #0 + ldr r0, _08059730 @ =gScreenTransition + ldr r0, [r0] + movs r1, #7 + ands r0, r1 + cmp r0, #0 + bne _080596FC + ldr r0, _08059734 @ =gScreen + ldrh r1, [r0, #0x16] + adds r1, #8 + movs r2, #0x1f + ands r1, r2 + strh r1, [r0, #0x16] +_080596FC: + bl sub_0805986C + cmp r0, #0 + beq _08059740 + adds r0, r4, #0 + adds r0, #0x21 + ldrb r1, [r0] + adds r5, r0, #0 + adds r2, r4, #0 + adds r2, #0x22 + cmp r1, #0 + bne _08059764 + ldrb r0, [r2] + cmp r0, #2 + beq _08059764 + movs r0, #1 + strb r0, [r5] + movs r0, #3 + strb r0, [r2] + ldr r0, _08059738 @ =gUnk_08108390 + ldrb r0, [r0, #3] + strb r0, [r4, #0xe] + ldr r0, _0805973C @ =gUnk_0200B650 + str r1, [r0] + b _08059764 + .align 2, 0 +_08059730: .4byte gScreenTransition +_08059734: .4byte gScreen +_08059738: .4byte gUnk_08108390 +_0805973C: .4byte gUnk_0200B650 +_08059740: + adds r0, r4, #0 + adds r0, #0x21 + ldrb r1, [r0] + adds r5, r0, #0 + adds r2, r4, #0 + adds r2, #0x22 + cmp r1, #0 + bne _08059764 + ldrb r0, [r2] + cmp r0, #5 + beq _08059764 + movs r0, #2 + strb r0, [r5] + ldr r1, _08059774 @ =gUnk_08108390 + ldrb r0, [r2] + adds r0, r0, r1 + ldrb r0, [r0] + strb r0, [r4, #0xe] +_08059764: + adds r6, r5, #0 + ldrb r0, [r6] + cmp r0, #1 + beq _08059778 + cmp r0, #2 + beq _080597A8 + b _080597D0 + .align 2, 0 +_08059774: .4byte gUnk_08108390 +_08059778: + ldrb r0, [r4, #0xe] + subs r0, #1 + strb r0, [r4, #0xe] + movs r3, #0xff + lsls r0, r0, #0x18 + lsrs r5, r0, #0x18 + cmp r5, #0 + bne _080597D0 + ldr r1, _080597A4 @ =gUnk_08108390 + ldrb r0, [r2] + subs r0, #1 + strb r0, [r2] + ands r0, r3 + adds r0, r0, r1 + ldrb r0, [r0] + strb r0, [r4, #0xe] + ldrb r0, [r2] + cmp r0, #2 + bne _080597D0 + strb r5, [r6] + b _080597D0 + .align 2, 0 +_080597A4: .4byte gUnk_08108390 +_080597A8: + ldrb r0, [r4, #0xe] + subs r0, #1 + strb r0, [r4, #0xe] + movs r3, #0xff + lsls r0, r0, #0x18 + lsrs r6, r0, #0x18 + cmp r6, #0 + bne _080597D0 + ldr r1, _080597EC @ =gUnk_08108390 + ldrb r0, [r2] + adds r0, #1 + strb r0, [r2] + ands r0, r3 + adds r0, r0, r1 + ldrb r0, [r0] + strb r0, [r4, #0xe] + ldrb r0, [r2] + cmp r0, #5 + bne _080597D0 + strb r6, [r5] +_080597D0: + ldr r3, _080597F0 @ =gRoomVars + ldrb r1, [r2] + ldrb r0, [r3, #0x10] + cmp r0, r1 + beq _08059838 + strb r1, [r3, #0x10] + ldrb r0, [r2] + cmp r0, #4 + beq _08059800 + cmp r0, #4 + ble _080597F4 + cmp r0, #5 + beq _08059824 + b _08059838 + .align 2, 0 +_080597EC: .4byte gUnk_08108390 +_080597F0: .4byte gRoomVars +_080597F4: + cmp r0, #0 + blt _08059838 + adds r0, #0x2b + bl LoadGfxGroup + b _08059838 +_08059800: + ldr r4, _0805981C @ =gBG3Buffer + movs r5, #0x80 + lsls r5, r5, #4 + adds r0, r4, #0 + adds r1, r5, #0 + bl MemClear + ldr r1, _08059820 @ =0x0600E800 + adds r0, r4, #0 + adds r2, r5, #0 + bl LoadResourceAsync + b _08059838 + .align 2, 0 +_0805981C: .4byte gBG3Buffer +_08059820: .4byte 0x0600E800 +_08059824: + ldr r0, _0805983C @ =gUnk_0200B650 + ldr r1, _08059840 @ =gBG1Settings + str r1, [r0] + subs r1, #0x14 + ldrh r2, [r1] + movs r3, #0x80 + lsls r3, r3, #2 + adds r0, r3, #0 + orrs r0, r2 + strh r0, [r1] +_08059838: + pop {r4, r5, r6, pc} + .align 2, 0 +_0805983C: .4byte gUnk_0200B650 +_08059840: .4byte gBG1Settings + .syntax divided diff --git a/asm/non_matching/manager10/sub_08059844.inc b/asm/non_matching/manager10/sub_08059844.inc new file mode 100644 index 00000000..f898b690 --- /dev/null +++ b/asm/non_matching/manager10/sub_08059844.inc @@ -0,0 +1,21 @@ + .syntax unified + push {lr} + movs r3, #0 + ldr r0, _08059864 @ =gPlayerEntity + movs r2, #0x2e + ldrsh r1, [r0, r2] + ldr r2, _08059868 @ =gRoomControls + ldrh r0, [r2, #6] + subs r1, r1, r0 + ldrh r0, [r2, #0x1e] + lsrs r0, r0, #1 + cmp r1, r0 + ble _0805985E + movs r3, #1 +_0805985E: + adds r0, r3, #0 + pop {pc} + .align 2, 0 +_08059864: .4byte gPlayerEntity +_08059868: .4byte gRoomControls + .syntax divided diff --git a/asm/non_matching/manager10/sub_0805986C.inc b/asm/non_matching/manager10/sub_0805986C.inc new file mode 100644 index 00000000..74fc9540 --- /dev/null +++ b/asm/non_matching/manager10/sub_0805986C.inc @@ -0,0 +1,21 @@ + .syntax unified + push {lr} + movs r2, #0 + ldr r0, _0805988C @ =gPlayerEntity + movs r3, #0x2e + ldrsh r1, [r0, r3] + ldr r0, _08059890 @ =gRoomControls + ldrh r0, [r0, #6] + subs r1, r1, r0 + movs r0, #0x80 + lsls r0, r0, #2 + cmp r1, r0 + ble _08059886 + movs r2, #1 +_08059886: + adds r0, r2, #0 + pop {pc} + .align 2, 0 +_0805988C: .4byte gPlayerEntity +_08059890: .4byte gRoomControls + .syntax divided diff --git a/asm/non_matching/manager10/sub_08059894.inc b/asm/non_matching/manager10/sub_08059894.inc new file mode 100644 index 00000000..c41861f1 --- /dev/null +++ b/asm/non_matching/manager10/sub_08059894.inc @@ -0,0 +1,47 @@ + .syntax unified + push {r4, r5, r6, r7, lr} + mov r7, sb + mov r6, r8 + push {r6, r7} + adds r5, r0, #0 + adds r4, r1, #0 + ldr r0, _080598E8 @ =gUnk_020176E0 + mov sb, r0 + movs r6, #0 + lsls r2, r2, #0x18 + mov r8, r2 +_080598AA: + adds r0, r5, #0 + adds r1, r4, #0 + mov r2, sb + mov r7, r8 + lsrs r3, r7, #0x18 + bl sub_08059960 + adds r5, #0x20 + adds r4, #0x20 + movs r0, #0x20 + add sb, r0 + adds r6, #1 + cmp r6, #0xc + bls _080598AA + ldr r0, _080598EC @ =gUnk_02017700 + movs r2, #0x90 + lsls r2, r2, #2 + adds r1, r0, r2 + movs r2, #0x20 + bl MemCopy + ldr r2, _080598F0 @ =gUsedPalettes + ldr r0, [r2] + ldr r1, _080598F4 @ =0x00207FFC + orrs r0, r1 + str r0, [r2] + pop {r3, r4} + mov r8, r3 + mov sb, r4 + pop {r4, r5, r6, r7, pc} + .align 2, 0 +_080598E8: .4byte gUnk_020176E0 +_080598EC: .4byte gUnk_02017700 +_080598F0: .4byte gUsedPalettes +_080598F4: .4byte 0x00207FFC + .syntax divided diff --git a/asm/non_matching/manager10/sub_080598F8.inc b/asm/non_matching/manager10/sub_080598F8.inc new file mode 100644 index 00000000..ae4525ff --- /dev/null +++ b/asm/non_matching/manager10/sub_080598F8.inc @@ -0,0 +1,54 @@ + .syntax unified + push {r4, r5, r6, r7, lr} + movs r4, #0x1f + adds r3, r0, #0 + ands r3, r4 + lsls r6, r3, #8 + adds r3, r6, #0 + muls r3, r2, r3 + lsrs r6, r3, #5 + adds r3, r1, #0 + ands r3, r4 + lsls r3, r3, #8 + movs r4, #0x20 + subs r4, r4, r2 + muls r3, r4, r3 + lsrs r3, r3, #5 + adds r3, r6, r3 + lsrs r6, r3, #8 + movs r5, #0xf8 + lsls r5, r5, #2 + adds r3, r0, #0 + ands r3, r5 + lsls r7, r3, #3 + adds r3, r7, #0 + muls r3, r2, r3 + lsrs r7, r3, #5 + adds r3, r1, #0 + ands r3, r5 + lsls r3, r3, #3 + muls r3, r4, r3 + lsrs r3, r3, #5 + adds r3, r7, r3 + lsrs r7, r3, #8 + movs r3, #0xf8 + lsls r3, r3, #7 + ands r0, r3 + lsrs r5, r0, #2 + adds r0, r5, #0 + muls r0, r2, r0 + lsrs r5, r0, #5 + ands r1, r3 + lsrs r0, r1, #2 + muls r0, r4, r0 + lsrs r0, r0, #5 + adds r0, r5, r0 + lsrs r5, r0, #8 + lsls r0, r7, #5 + orrs r6, r0 + lsls r0, r5, #0xa + orrs r6, r0 + adds r0, r6, #0 + pop {r4, r5, r6, r7, pc} + .align 2, 0 + .syntax divided diff --git a/asm/non_matching/manager10/sub_08059960.inc b/asm/non_matching/manager10/sub_08059960.inc new file mode 100644 index 00000000..49568522 --- /dev/null +++ b/asm/non_matching/manager10/sub_08059960.inc @@ -0,0 +1,28 @@ + .syntax unified + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + adds r6, r0, #0 + adds r5, r1, #0 + adds r4, r2, #0 + lsls r3, r3, #0x18 + lsrs r3, r3, #0x18 + mov r8, r3 + movs r7, #0 +_08059974: + ldrh r0, [r6] + adds r6, #2 + ldrh r1, [r5] + adds r5, #2 + mov r2, r8 + bl sub_080598F8 + strh r0, [r4] + adds r4, #2 + adds r7, #1 + cmp r7, #0xf + bls _08059974 + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7, pc} + .align 2, 0 + .syntax divided diff --git a/asm/non_matching/manager10/sub_08059994.inc b/asm/non_matching/manager10/sub_08059994.inc new file mode 100644 index 00000000..6021e9fe --- /dev/null +++ b/asm/non_matching/manager10/sub_08059994.inc @@ -0,0 +1,18 @@ + .syntax unified + push {lr} + bl sub_0805986C + cmp r0, #0 + beq _080599AE + movs r0, #0x5b + bl LoadPaletteGroup + ldr r0, _080599B0 @ =gArea + ldr r1, _080599B4 @ =0x00000864 + adds r0, r0, r1 + movs r1, #0x1e + str r1, [r0] +_080599AE: + pop {pc} + .align 2, 0 +_080599B0: .4byte gArea +_080599B4: .4byte 0x00000864 + .syntax divided diff --git a/asm/non_matching/manager12/Manager12_Main.inc b/asm/non_matching/manager12/Manager12_Main.inc new file mode 100644 index 00000000..27e66c32 --- /dev/null +++ b/asm/non_matching/manager12/Manager12_Main.inc @@ -0,0 +1,32 @@ + .syntax unified + push {r4, lr} + adds r4, r0, #0 + ldrb r0, [r4, #0xc] + cmp r0, #0 + bne _08059A20 + movs r0, #1 + strb r0, [r4, #0xc] + adds r1, r4, #0 + adds r1, #0x22 + movs r0, #0xff + strb r0, [r1] + subs r1, #1 + movs r0, #1 + rsbs r0, r0, #0 + strb r0, [r1] + subs r1, #1 + strb r0, [r1] + ldr r1, _08059A28 @ =sub_08059A2C + adds r0, r4, #0 + movs r2, #0 + bl sub_08052D74 + adds r0, r4, #0 + movs r1, #6 + bl sub_0805E3A0 +_08059A20: + adds r0, r4, #0 + bl sub_08059A58 + pop {r4, pc} + .align 2, 0 +_08059A28: .4byte sub_08059A2C + .syntax divided diff --git a/asm/non_matching/manager12/TryLoadPrologueHyruleTown.inc b/asm/non_matching/manager12/TryLoadPrologueHyruleTown.inc new file mode 100644 index 00000000..366a47e2 --- /dev/null +++ b/asm/non_matching/manager12/TryLoadPrologueHyruleTown.inc @@ -0,0 +1,65 @@ + .syntax unified + push {r4, lr} + ldr r0, _08059D68 @ =gRoomControls + ldrb r0, [r0, #4] + cmp r0, #0x15 + beq _08059D78 + ldr r0, _08059D6C @ =gUnk_08108398 + bl sub_08056300 + adds r4, r0, #0 + cmp r4, #0xff + beq _08059D36 + movs r0, #0 + adds r1, r4, #0 + bl sub_08059CC0 +_08059D36: + ldr r0, _08059D70 @ =gUnk_081083AE + bl sub_08056300 + adds r4, r0, #0 + cmp r4, #0xff + beq _08059D52 + movs r0, #1 + adds r1, r4, #0 + bl sub_08059CC0 + cmp r4, #2 + bne _08059D52 + bl sub_08059B18 +_08059D52: + ldr r0, _08059D74 @ =gUnk_081083C4 + bl sub_08056300 + adds r4, r0, #0 + cmp r4, #0xff + beq _08059DA0 + movs r0, #2 + adds r1, r4, #0 + bl sub_08059CC0 + b _08059DA0 + .align 2, 0 +_08059D68: .4byte gRoomControls +_08059D6C: .4byte gUnk_08108398 +_08059D70: .4byte gUnk_081083AE +_08059D74: .4byte gUnk_081083C4 +_08059D78: + ldr r0, _08059DA4 @ =gUnk_081083DA + bl sub_08056300 + adds r4, r0, #0 + cmp r4, #0xff + beq _08059D8C + movs r0, #0 + adds r1, r4, #0 + bl sub_08059CC0 +_08059D8C: + ldr r0, _08059DA8 @ =gUnk_081083F2 + bl sub_08056300 + adds r4, r0, #0 + cmp r4, #0xff + beq _08059DA0 + movs r0, #2 + adds r1, r4, #0 + bl sub_08059CC0 +_08059DA0: + pop {r4, pc} + .align 2, 0 +_08059DA4: .4byte gUnk_081083DA +_08059DA8: .4byte gUnk_081083F2 + .syntax divided diff --git a/asm/non_matching/manager12/sub_08059A2C.inc b/asm/non_matching/manager12/sub_08059A2C.inc new file mode 100644 index 00000000..3288c841 --- /dev/null +++ b/asm/non_matching/manager12/sub_08059A2C.inc @@ -0,0 +1,23 @@ + .syntax unified + push {lr} + adds r2, r0, #0 + ldr r1, _08059A54 @ =gRoomVars + movs r0, #0xff + strb r0, [r1, #0x12] + movs r0, #1 + rsbs r0, r0, #0 + strb r0, [r1, #0x11] + strb r0, [r1, #0x10] + adds r1, r2, #0 + adds r1, #0x22 + strb r0, [r1] + subs r1, #1 + strb r0, [r1] + subs r1, #1 + strb r0, [r1] + adds r0, r2, #0 + bl sub_08059A58 + pop {pc} + .align 2, 0 +_08059A54: .4byte gRoomVars + .syntax divided diff --git a/asm/non_matching/manager12/sub_08059A58.inc b/asm/non_matching/manager12/sub_08059A58.inc new file mode 100644 index 00000000..52e7b5e5 --- /dev/null +++ b/asm/non_matching/manager12/sub_08059A58.inc @@ -0,0 +1,87 @@ + .syntax unified + push {r4, r5, lr} + adds r5, r0, #0 + ldr r0, _08059AC4 @ =gRoomControls + ldrb r0, [r0, #4] + cmp r0, #0x15 + beq _08059AD4 + adds r4, r5, #0 + adds r4, #0x20 + ldr r3, _08059AC8 @ =gUnk_08108398 + adds r0, r5, #0 + movs r1, #0 + adds r2, r4, #0 + bl sub_08059C8C + cmp r0, #0 + beq _08059A80 + ldrb r1, [r4] + movs r0, #0 + bl sub_08059CC0 +_08059A80: + adds r4, r5, #0 + adds r4, #0x21 + ldr r3, _08059ACC @ =gUnk_081083AE + adds r0, r5, #0 + movs r1, #1 + adds r2, r4, #0 + bl sub_08059C8C + cmp r0, #0 + beq _08059AA6 + ldrb r1, [r4] + movs r0, #1 + bl sub_08059CC0 + ldrb r0, [r4] + cmp r0, #2 + bne _08059AA6 + bl sub_08059B18 +_08059AA6: + adds r4, r5, #0 + adds r4, #0x22 + ldr r3, _08059AD0 @ =gUnk_081083C4 + adds r0, r5, #0 + movs r1, #2 + adds r2, r4, #0 + bl sub_08059C8C + cmp r0, #0 + beq _08059B0C + ldrb r1, [r4] + movs r0, #2 + bl sub_08059CC0 + b _08059B0C + .align 2, 0 +_08059AC4: .4byte gRoomControls +_08059AC8: .4byte gUnk_08108398 +_08059ACC: .4byte gUnk_081083AE +_08059AD0: .4byte gUnk_081083C4 +_08059AD4: + adds r4, r5, #0 + adds r4, #0x20 + ldr r3, _08059B10 @ =gUnk_081083DA + adds r0, r5, #0 + movs r1, #0 + adds r2, r4, #0 + bl sub_08059C8C + cmp r0, #0 + beq _08059AF0 + ldrb r1, [r4] + movs r0, #0 + bl sub_08059CC0 +_08059AF0: + adds r4, r5, #0 + adds r4, #0x22 + ldr r3, _08059B14 @ =gUnk_081083F2 + adds r0, r5, #0 + movs r1, #2 + adds r2, r4, #0 + bl sub_08059C8C + cmp r0, #0 + beq _08059B0C + ldrb r1, [r4] + movs r0, #2 + bl sub_08059CC0 +_08059B0C: + pop {r4, r5, pc} + .align 2, 0 +_08059B10: .4byte gUnk_081083DA +_08059B14: .4byte gUnk_081083F2 + .syntax divided diff --git a/asm/non_matching/manager12/sub_08059B18.inc b/asm/non_matching/manager12/sub_08059B18.inc new file mode 100644 index 00000000..ba1c74d4 --- /dev/null +++ b/asm/non_matching/manager12/sub_08059B18.inc @@ -0,0 +1,172 @@ + .syntax unified + push {r4, r5, r6, r7, lr} + mov r7, sb + mov r6, r8 + push {r6, r7} + sub sp, #4 + movs r0, #0x18 + bl CheckGlobalFlag + cmp r0, #0 + beq _08059BEC + movs r6, #0 + movs r0, #0x3f + mov sb, r0 + movs r2, #0xc4 + lsls r2, r2, #1 + mov r8, r2 +_08059B38: + movs r5, #0 + lsls r1, r6, #4 + mov r2, r8 + lsrs r0, r2, #4 + mov r2, sb + ands r0, r2 + lsls r3, r0, #6 + movs r7, #0x28 + ldr r0, _08059BD8 @ =0x000004AB + adds r4, r1, r0 +_08059B4C: + lsrs r1, r7, #4 + mov r2, sb + ands r1, r2 + orrs r1, r3 + adds r0, r4, #0 + movs r2, #1 + str r3, [sp] + bl sub_0807B9B8 + adds r7, #0x10 + adds r4, #1 + adds r5, #1 + ldr r3, [sp] + cmp r5, #3 + bls _08059B4C + movs r0, #0x10 + add r8, r0 + adds r6, #1 + cmp r6, #3 + bls _08059B38 + movs r6, #0 + movs r3, #0x3f +_08059B78: + movs r5, #0 + lsls r1, r6, #4 + adds r6, #1 + mov r8, r6 + movs r2, #0xc4 + lsls r2, r2, #1 + adds r0, r1, r2 + lsrs r0, r0, #4 + ands r0, r3 + lsls r7, r0, #6 + movs r6, #0x28 + movs r0, #0x88 + lsls r0, r0, #3 + adds r4, r1, r0 +_08059B94: + lsrs r1, r6, #4 + ands r1, r3 + orrs r1, r7 + adds r0, r4, #0 + movs r2, #2 + str r3, [sp] + bl sub_0807B9B8 + adds r6, #0x10 + adds r4, #1 + adds r5, #1 + ldr r3, [sp] + cmp r5, #3 + bls _08059B94 + mov r6, r8 + cmp r6, #2 + bls _08059B78 + ldr r1, _08059BDC @ =0x000005C2 + movs r0, #0xd6 + movs r2, #2 + bl sub_0807B9B8 + ldr r1, _08059BE0 @ =0x000005C3 + movs r0, #0xd7 + movs r2, #2 + bl sub_0807B9B8 + ldr r0, _08059BE4 @ =gUnk_086E8460 + ldr r1, _08059BE8 @ =0x06001800 + movs r2, #0x80 + lsls r2, r2, #4 + bl LoadResourceAsync + b _08059C5E + .align 2, 0 +_08059BD8: .4byte 0x000004AB +_08059BDC: .4byte 0x000005C2 +_08059BE0: .4byte 0x000005C3 +_08059BE4: .4byte gUnk_086E8460 +_08059BE8: .4byte 0x06001800 +_08059BEC: + movs r0, #0x19 + bl CheckGlobalFlag + cmp r0, #0 + beq _08059C5E + movs r6, #0 + movs r3, #0x3f +_08059BFA: + movs r5, #0 + lsls r1, r6, #4 + adds r6, #1 + mov r8, r6 + movs r2, #0xc4 + lsls r2, r2, #1 + adds r0, r1, r2 + lsrs r0, r0, #4 + ands r0, r3 + lsls r7, r0, #6 + movs r6, #0x28 + ldr r0, _08059C68 @ =0x000004A6 + adds r4, r1, r0 +_08059C14: + lsrs r1, r6, #4 + ands r1, r3 + orrs r1, r7 + adds r0, r4, #0 + movs r2, #1 + str r3, [sp] + bl sub_0807B9B8 + adds r6, #0x10 + adds r4, #1 + adds r5, #1 + ldr r3, [sp] + cmp r5, #3 + bls _08059C14 + mov r6, r8 + cmp r6, #4 + bls _08059BFA + ldr r0, _08059C6C @ =0x00000444 + ldr r1, _08059C70 @ =0x00000602 + movs r2, #2 + bl sub_0807B9B8 + ldr r0, _08059C74 @ =0x00000445 + ldr r1, _08059C78 @ =0x00000605 + movs r2, #2 + bl sub_0807B9B8 + ldr r0, _08059C7C @ =0x00000454 + ldr r1, _08059C80 @ =0x00000642 + movs r2, #2 + bl sub_0807B9B8 + ldr r0, _08059C84 @ =0x00000455 + ldr r1, _08059C88 @ =0x00000645 + movs r2, #2 + bl sub_0807B9B8 +_08059C5E: + add sp, #4 + pop {r3, r4} + mov r8, r3 + mov sb, r4 + pop {r4, r5, r6, r7, pc} + .align 2, 0 +_08059C68: .4byte 0x000004A6 +_08059C6C: .4byte 0x00000444 +_08059C70: .4byte 0x00000602 +_08059C74: .4byte 0x00000445 +_08059C78: .4byte 0x00000605 +_08059C7C: .4byte 0x00000454 +_08059C80: .4byte 0x00000642 +_08059C84: .4byte 0x00000455 +_08059C88: .4byte 0x00000645 + .syntax divided diff --git a/asm/non_matching/manager12/sub_08059C8C.inc b/asm/non_matching/manager12/sub_08059C8C.inc new file mode 100644 index 00000000..3ac8da37 --- /dev/null +++ b/asm/non_matching/manager12/sub_08059C8C.inc @@ -0,0 +1,28 @@ + .syntax unified + push {r4, r5, lr} + adds r5, r1, #0 + adds r4, r2, #0 + adds r0, r3, #0 + bl sub_08056300 + adds r2, r0, #0 + strb r2, [r4] + lsls r0, r2, #0x18 + lsrs r3, r0, #0x18 + cmp r3, #0xff + beq _08059CBC + ldr r0, _08059CB8 @ =gRoomVars + adds r0, #0x10 + adds r1, r5, r0 + ldrb r0, [r1] + cmp r0, r3 + beq _08059CBC + strb r2, [r1] + movs r0, #1 + b _08059CBE + .align 2, 0 +_08059CB8: .4byte gRoomVars +_08059CBC: + movs r0, #0 +_08059CBE: + pop {r4, r5, pc} + .syntax divided diff --git a/asm/non_matching/manager12/sub_08059CC0.inc b/asm/non_matching/manager12/sub_08059CC0.inc new file mode 100644 index 00000000..e0d66ece --- /dev/null +++ b/asm/non_matching/manager12/sub_08059CC0.inc @@ -0,0 +1,41 @@ + .syntax unified + push {r4, r5, r6, lr} + adds r2, r1, #0 + ldr r1, _08059CDC @ =gRoomVars + adds r1, #0x10 + adds r0, r0, r1 + strb r2, [r0] + ldr r0, _08059CE0 @ =gRoomControls + ldrb r0, [r0, #4] + cmp r0, #0x15 + beq _08059CE8 + lsls r1, r2, #4 + ldr r0, _08059CE4 @ =gUnk_08108408 + b _08059CEC + .align 2, 0 +_08059CDC: .4byte gRoomVars +_08059CE0: .4byte gRoomControls +_08059CE4: .4byte gUnk_08108408 +_08059CE8: + lsls r1, r2, #4 + ldr r0, _08059D10 @ =gUnk_08108468 +_08059CEC: + adds r6, r1, r0 + ldr r0, [r6] + ldr r4, _08059D14 @ =gGlobalGfxAndPalettes + adds r0, r0, r4 + ldr r1, [r6, #4] + movs r5, #0x80 + lsls r5, r5, #5 + adds r2, r5, #0 + bl LoadResourceAsync + ldr r0, [r6, #8] + adds r0, r0, r4 + ldr r1, [r6, #0xc] + adds r2, r5, #0 + bl LoadResourceAsync + pop {r4, r5, r6, pc} + .align 2, 0 +_08059D10: .4byte gUnk_08108468 +_08059D14: .4byte gGlobalGfxAndPalettes + .syntax divided diff --git a/asm/manager13.s b/asm/non_matching/manager13/Manager13_Main.inc similarity index 91% rename from asm/manager13.s rename to asm/non_matching/manager13/Manager13_Main.inc index 32d7472c..40c9274e 100644 --- a/asm/manager13.s +++ b/asm/non_matching/manager13/Manager13_Main.inc @@ -1,13 +1,4 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - .syntax unified - - .text - - thumb_func_start Manager13_Main -Manager13_Main: @ 0x08059DAC push {r4, r5, r6, r7, lr} mov r7, r8 push {r7} @@ -95,3 +86,4 @@ _08059E46: _08059E4C: .4byte gRoomControls _08059E50: .4byte gUnk_081084C8 _08059E54: .4byte gUnk_08108530 + .syntax divided diff --git a/asm/non_matching/manager14/Manager14_Main.inc b/asm/non_matching/manager14/Manager14_Main.inc new file mode 100644 index 00000000..da20afe1 --- /dev/null +++ b/asm/non_matching/manager14/Manager14_Main.inc @@ -0,0 +1,19 @@ + .syntax unified + push {r4, lr} + adds r4, r0, #0 + ldrh r0, [r4, #0x20] + adds r0, #1 + strh r0, [r4, #0x20] + ldr r1, _08059E7C @ =gUnk_081085A4 + 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_0805A1D8 + pop {r4, pc} + .align 2, 0 +_08059E7C: .4byte gUnk_081085A4 + .syntax divided diff --git a/asm/non_matching/manager14/nullsub_495.inc b/asm/non_matching/manager14/nullsub_495.inc new file mode 100644 index 00000000..807ea5e0 --- /dev/null +++ b/asm/non_matching/manager14/nullsub_495.inc @@ -0,0 +1,4 @@ + .syntax unified + bx lr + .align 2, 0 + .syntax divided diff --git a/asm/non_matching/manager14/sub_08059E80.inc b/asm/non_matching/manager14/sub_08059E80.inc new file mode 100644 index 00000000..1b598506 --- /dev/null +++ b/asm/non_matching/manager14/sub_08059E80.inc @@ -0,0 +1,55 @@ + .syntax unified + push {r4, r5, lr} + adds r4, r0, #0 + bl EntityHasDuplicateID + cmp r0, #0 + beq _08059E90 + bl DeleteThisEntity +_08059E90: + adds r1, r4, #0 + adds r1, #0x22 + movs r2, #0 + movs r0, #1 + strb r0, [r1] + movs r0, #0 + strh r2, [r4, #0x20] + strb r0, [r4, #0xe] + movs r0, #4 + strb r0, [r4, #0xf] + strb r0, [r4, #0xc] + ldrb r1, [r4, #0x10] + movs r0, #0x20 + orrs r0, r1 + strb r0, [r4, #0x10] + ldr r3, _08059EE4 @ =gScreen + ldr r0, _08059EE8 @ =0x00001E04 + strh r0, [r3, #0x2c] + ldrh r0, [r3] + movs r5, #0x80 + lsls r5, r5, #4 + adds r1, r5, #0 + orrs r0, r1 + strh r0, [r3] + adds r1, r3, #0 + adds r1, #0x66 + ldr r0, _08059EEC @ =0x00003E48 + strh r0, [r1] + adds r1, #2 + movs r0, #0x80 + lsls r0, r0, #5 + strh r0, [r1] + movs r0, #0x80 + strh r0, [r3, #0x2e] + strh r2, [r3, #0x30] + ldr r1, _08059EF0 @ =nullsub_495 + ldr r2, _08059EF4 @ =sub_0805A25C + adds r0, r4, #0 + bl sub_08052D74 + pop {r4, r5, pc} + .align 2, 0 +_08059EE4: .4byte gScreen +_08059EE8: .4byte 0x00001E04 +_08059EEC: .4byte 0x00003E48 +_08059EF0: .4byte nullsub_495 +_08059EF4: .4byte sub_0805A25C + .syntax divided diff --git a/asm/non_matching/manager14/sub_08059EF8.inc b/asm/non_matching/manager14/sub_08059EF8.inc new file mode 100644 index 00000000..08bcb5db --- /dev/null +++ b/asm/non_matching/manager14/sub_08059EF8.inc @@ -0,0 +1,81 @@ + .syntax unified + push {r4, r5, r6, lr} + adds r4, r0, #0 + ldrb r0, [r4, #0xf] + subs r0, #1 + strb r0, [r4, #0xf] + movs r6, #0xff + lsls r0, r0, #0x18 + lsrs r5, r0, #0x18 + cmp r5, #0 + bne _08059F90 + movs r0, #4 + strb r0, [r4, #0xf] + adds r0, r4, #0 + bl sub_08059F9C + cmp r0, #0 + beq _08059F64 + ldr r2, _08059F50 @ =gUnk_08108588 + ldrb r0, [r4, #0xe] + lsls r0, r0, #1 + adds r0, r0, r2 + ldrh r1, [r0] + ldr r0, _08059F54 @ =0x00000808 + cmp r1, r0 + beq _08059F5C + adds r1, r4, #0 + adds r1, #0x22 + movs r0, #1 + strb r0, [r1] + adds r0, r4, #0 + adds r0, #0x24 + strb r5, [r0] + ldr r1, _08059F58 @ =gScreen + ldrb r0, [r4, #0xe] + adds r0, #1 + strb r0, [r4, #0xe] + ands r0, r6 + lsls r0, r0, #1 + adds r0, r0, r2 + ldrh r0, [r0] + adds r1, #0x68 + strh r0, [r1] + b _08059F90 + .align 2, 0 +_08059F50: .4byte gUnk_08108588 +_08059F54: .4byte 0x00000808 +_08059F58: .4byte gScreen +_08059F5C: + adds r0, r4, #0 + adds r0, #0x22 + strb r5, [r0] + b _08059F90 +_08059F64: + adds r1, r4, #0 + adds r1, #0x22 + movs r0, #1 + strb r0, [r1] + ldr r3, _08059F94 @ =gUnk_08108588 + ldrb r2, [r4, #0xe] + lsls r0, r2, #1 + adds r0, r0, r3 + ldrh r1, [r0] + movs r0, #0x80 + lsls r0, r0, #5 + cmp r1, r0 + beq _08059F90 + ldr r0, _08059F98 @ =gScreen + subs r1, r2, #1 + strb r1, [r4, #0xe] + ands r1, r6 + lsls r1, r1, #1 + adds r1, r1, r3 + ldrh r1, [r1] + adds r0, #0x68 + strh r1, [r0] +_08059F90: + pop {r4, r5, r6, pc} + .align 2, 0 +_08059F94: .4byte gUnk_08108588 +_08059F98: .4byte gScreen + .syntax divided diff --git a/asm/non_matching/manager14/sub_08059F9C.inc b/asm/non_matching/manager14/sub_08059F9C.inc new file mode 100644 index 00000000..55a7686f --- /dev/null +++ b/asm/non_matching/manager14/sub_08059F9C.inc @@ -0,0 +1,61 @@ + .syntax unified + push {r4, lr} + adds r4, r0, #0 + ldr r0, _08059FB4 @ =gRoomControls + ldrb r0, [r0, #5] + cmp r0, #0x17 + bhi _0805A03A + lsls r0, r0, #2 + ldr r1, _08059FB8 @ =_08059FBC + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08059FB4: .4byte gRoomControls +_08059FB8: .4byte _08059FBC +_08059FBC: @ jump table + .4byte _0805A036 @ case 0 + .4byte _0805A01C @ case 1 + .4byte _0805A03A @ case 2 + .4byte _0805A03A @ case 3 + .4byte _0805A03A @ case 4 + .4byte _0805A03A @ case 5 + .4byte _0805A03A @ case 6 + .4byte _0805A02A @ case 7 + .4byte _0805A036 @ case 8 + .4byte _0805A036 @ case 9 + .4byte _0805A03A @ case 10 + .4byte _0805A03A @ case 11 + .4byte _0805A03A @ case 12 + .4byte _0805A03A @ case 13 + .4byte _0805A03A @ case 14 + .4byte _0805A03A @ case 15 + .4byte _0805A03A @ case 16 + .4byte _0805A03A @ case 17 + .4byte _0805A03A @ case 18 + .4byte _0805A03A @ case 19 + .4byte _0805A03A @ case 20 + .4byte _0805A03A @ case 21 + .4byte _0805A03A @ case 22 + .4byte _0805A036 @ case 23 +_0805A01C: + movs r0, #0x16 + bl CheckLocalFlag + cmp r0, #0 + beq _0805A02A + movs r0, #0 + b _0805A03C +_0805A02A: + adds r0, r4, #0 + bl sub_0805A25C + bl DeleteThisEntity + b _0805A03C +_0805A036: + movs r0, #1 + b _0805A03C +_0805A03A: + movs r0, #0 +_0805A03C: + pop {r4, pc} + .align 2, 0 + .syntax divided diff --git a/asm/non_matching/manager14/sub_0805A040.inc b/asm/non_matching/manager14/sub_0805A040.inc new file mode 100644 index 00000000..b326f001 --- /dev/null +++ b/asm/non_matching/manager14/sub_0805A040.inc @@ -0,0 +1,5 @@ + .syntax unified + push {lr} + bl sub_0805A098 + pop {pc} + .syntax divided diff --git a/asm/non_matching/manager14/sub_0805A048.inc b/asm/non_matching/manager14/sub_0805A048.inc new file mode 100644 index 00000000..1e744aea --- /dev/null +++ b/asm/non_matching/manager14/sub_0805A048.inc @@ -0,0 +1,40 @@ + .syntax unified + push {r4, lr} + adds r4, r0, #0 + ldrb r0, [r4, #0xf] + subs r0, #1 + strb r0, [r4, #0xf] + lsls r0, r0, #0x18 + cmp r0, #0 + bne _0805A086 + movs r0, #4 + strb r0, [r4, #0xf] + ldr r2, _0805A090 @ =gScreen + ldr r3, _0805A094 @ =gUnk_08108588 + ldrb r0, [r4, #0xe] + adds r1, r0, #1 + strb r1, [r4, #0xe] + lsls r0, r0, #0x18 + lsrs r0, r0, #0x17 + adds r0, r0, r3 + ldrh r0, [r0] + adds r2, #0x68 + strh r0, [r2] + lsls r1, r1, #0x18 + lsrs r1, r1, #0x18 + cmp r1, #9 + bne _0805A086 + movs r0, #1 + strb r0, [r4, #0xc] + adds r1, r4, #0 + adds r1, #0x22 + movs r0, #0 + strb r0, [r1] +_0805A086: + adds r0, r4, #0 + bl sub_0805A098 + pop {r4, pc} + .align 2, 0 +_0805A090: .4byte gScreen +_0805A094: .4byte gUnk_08108588 + .syntax divided diff --git a/asm/non_matching/manager14/sub_0805A098.inc b/asm/non_matching/manager14/sub_0805A098.inc new file mode 100644 index 00000000..76e0471d --- /dev/null +++ b/asm/non_matching/manager14/sub_0805A098.inc @@ -0,0 +1,24 @@ + .syntax unified + push {lr} + adds r1, r0, #0 + ldr r0, _0805A0B0 @ =gRoomControls + ldrb r0, [r0, #5] + cmp r0, #9 + bgt _0805A0B4 + cmp r0, #8 + bge _0805A0BC + cmp r0, #0 + beq _0805A0BC + b _0805A0B8 + .align 2, 0 +_0805A0B0: .4byte gRoomControls +_0805A0B4: + cmp r0, #0x17 + beq _0805A0BC +_0805A0B8: + movs r0, #3 + strb r0, [r1, #0xc] +_0805A0BC: + pop {pc} + .align 2, 0 + .syntax divided diff --git a/asm/non_matching/manager14/sub_0805A0C0.inc b/asm/non_matching/manager14/sub_0805A0C0.inc new file mode 100644 index 00000000..0e67a842 --- /dev/null +++ b/asm/non_matching/manager14/sub_0805A0C0.inc @@ -0,0 +1,41 @@ + .syntax unified + push {r4, lr} + adds r3, r0, #0 + ldrb r0, [r3, #0xf] + subs r0, #1 + strb r0, [r3, #0xf] + lsls r0, r0, #0x18 + cmp r0, #0 + bne _0805A106 + movs r0, #4 + strb r0, [r3, #0xf] + ldr r4, _0805A108 @ =gScreen + ldr r2, _0805A10C @ =gUnk_08108588 + ldrb r0, [r3, #0xe] + adds r1, r0, #0 + adds r1, #0xff + strb r1, [r3, #0xe] + lsls r0, r0, #0x18 + lsrs r0, r0, #0x17 + adds r0, r0, r2 + ldrh r2, [r0] + adds r0, r4, #0 + adds r0, #0x68 + strh r2, [r0] + lsls r1, r1, #0x18 + lsrs r1, r1, #0x18 + cmp r1, #0xff + bne _0805A106 + ldrh r1, [r4] + ldr r0, _0805A110 @ =0x0000F7FF + ands r0, r1 + strh r0, [r4] + bl sub_08056250 + bl DeleteThisEntity +_0805A106: + pop {r4, pc} + .align 2, 0 +_0805A108: .4byte gScreen +_0805A10C: .4byte gUnk_08108588 +_0805A110: .4byte 0x0000F7FF + .syntax divided diff --git a/asm/non_matching/manager14/sub_0805A114.inc b/asm/non_matching/manager14/sub_0805A114.inc new file mode 100644 index 00000000..553675ce --- /dev/null +++ b/asm/non_matching/manager14/sub_0805A114.inc @@ -0,0 +1,92 @@ + .syntax unified + push {r4, r5, r6, r7, lr} + mov r7, sb + mov r6, r8 + push {r6, r7} + adds r7, r0, #0 + adds r6, r1, #0 + ldr r2, _0805A154 @ =gUnk_03003DE4 + ldrb r1, [r2] + lsls r0, r1, #2 + adds r0, r0, r1 + lsls r0, r0, #9 + ldr r1, _0805A158 @ =gUnk_02017AA0 + adds r4, r0, r1 + movs r5, #0 + mov r8, r2 + mov sb, r1 + ldr r2, _0805A15C @ =gScreen + ldr r0, _0805A160 @ =gSineTable + mov ip, r0 +_0805A13A: + movs r1, #0x30 + ldrsh r0, [r2, r1] + adds r3, r5, r0 + asrs r1, r3, #3 + movs r0, #7 + ands r1, r0 + cmp r1, #7 + bhi _0805A190 + lsls r0, r1, #2 + ldr r1, _0805A164 @ =_0805A168 + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0805A154: .4byte gUnk_03003DE4 +_0805A158: .4byte gUnk_02017AA0 +_0805A15C: .4byte gScreen +_0805A160: .4byte gSineTable +_0805A164: .4byte _0805A168 +_0805A168: @ jump table + .4byte _0805A190 @ case 0 + .4byte _0805A18C @ case 1 + .4byte _0805A190 @ case 2 + .4byte _0805A190 @ case 3 + .4byte _0805A188 @ case 4 + .4byte _0805A190 @ case 5 + .4byte _0805A190 @ case 6 + .4byte _0805A18C @ case 7 +_0805A188: + subs r3, #8 + b _0805A190 +_0805A18C: + movs r0, #0xf0 + b _0805A192 +_0805A190: + movs r0, #0xf8 +_0805A192: + ands r3, r0 + adds r0, r6, r3 + movs r1, #0xff + ands r0, r1 + lsls r0, r0, #1 + add r0, ip + movs r1, #0 + ldrsh r0, [r0, r1] + muls r0, r7, r0 + lsrs r0, r0, #8 + ldrh r1, [r2, #0x2e] + adds r0, r0, r1 + strh r0, [r4] + adds r4, #2 + adds r5, #1 + cmp r5, #0x9f + ble _0805A13A + mov r0, r8 + ldrb r1, [r0] + lsls r0, r1, #2 + adds r0, r0, r1 + lsls r0, r0, #9 + add r0, sb + ldr r1, _0805A1D0 @ =0x0400001C + ldr r2, _0805A1D4 @ =0xA2600001 + bl sub_0805622C + pop {r3, r4} + mov r8, r3 + mov sb, r4 + pop {r4, r5, r6, r7, pc} + .align 2, 0 +_0805A1D0: .4byte 0x0400001C +_0805A1D4: .4byte 0xA2600001 + .syntax divided diff --git a/asm/non_matching/manager14/sub_0805A1D8.inc b/asm/non_matching/manager14/sub_0805A1D8.inc new file mode 100644 index 00000000..a91affc4 --- /dev/null +++ b/asm/non_matching/manager14/sub_0805A1D8.inc @@ -0,0 +1,61 @@ + .syntax unified + push {r4, r5, lr} + adds r4, r0, #0 + ldr r1, _0805A244 @ =gRoomControls + ldr r0, [r1, #0x28] + ldr r2, _0805A248 @ =0xFFFFF000 + adds r0, r0, r2 + str r0, [r1, #0x28] + ldr r5, _0805A24C @ =gScreen + ldrh r0, [r1, #0x2a] + strh r0, [r5, #0x2e] + ldr r0, [r1, #0x2c] + adds r0, r0, r2 + str r0, [r1, #0x2c] + ldrh r0, [r1, #0x2e] + strh r0, [r5, #0x30] + ldrh r1, [r5] + movs r0, #0x80 + lsls r0, r0, #4 + ands r0, r1 + cmp r0, #0 + beq _0805A240 + ldrh r1, [r4, #0x20] + lsrs r1, r1, #1 + movs r0, #6 + bl sub_0805A114 + adds r0, r4, #0 + adds r0, #0x22 + ldrb r0, [r0] + cmp r0, #0 + bne _0805A240 + ldr r0, _0805A250 @ =gMain + ldrh r1, [r0, #0xc] + movs r0, #0x1f + ands r0, r1 + cmp r0, #0 + bne _0805A240 + adds r2, r4, #0 + adds r2, #0x24 + ldrb r0, [r2] + adds r0, #1 + movs r1, #3 + ands r0, r1 + strb r0, [r2] + ldr r1, _0805A254 @ =gUnk_0810859A + ldrb r0, [r2] + lsls r0, r0, #1 + adds r0, r0, r1 + ldrh r1, [r0] + adds r0, r5, #0 + adds r0, #0x68 + strh r1, [r0] +_0805A240: + pop {r4, r5, pc} + .align 2, 0 +_0805A244: .4byte gRoomControls +_0805A248: .4byte 0xFFFFF000 +_0805A24C: .4byte gScreen +_0805A250: .4byte gMain +_0805A254: .4byte gUnk_0810859A + .syntax divided diff --git a/asm/non_matching/manager14/sub_0805A25C.inc b/asm/non_matching/manager14/sub_0805A25C.inc new file mode 100644 index 00000000..6a989185 --- /dev/null +++ b/asm/non_matching/manager14/sub_0805A25C.inc @@ -0,0 +1,17 @@ + .syntax unified + push {lr} + ldr r1, _0805A278 @ =gScreen + adds r2, r1, #0 + adds r2, #0x66 + movs r0, #0 + strh r0, [r2] + ldrh r2, [r1] + ldr r0, _0805A27C @ =0x0000F7FF + ands r0, r2 + strh r0, [r1] + bl sub_08056250 + pop {pc} + .align 2, 0 +_0805A278: .4byte gScreen +_0805A27C: .4byte 0x0000F7FF + .syntax divided diff --git a/asm/manager16.s b/asm/non_matching/manager16/Manager16_Main.inc similarity index 68% rename from asm/manager16.s rename to asm/non_matching/manager16/Manager16_Main.inc index b5d6e1f4..8c424e8d 100644 --- a/asm/manager16.s +++ b/asm/non_matching/manager16/Manager16_Main.inc @@ -1,13 +1,4 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - .syntax unified - - .text - - thumb_func_start Manager16_Main -Manager16_Main: @ 0x0805AB4C push {r4, r5, r6, r7, lr} mov r7, sl mov r6, sb @@ -190,76 +181,4 @@ _0805ACAA: pop {r4, r5, r6, r7, pc} .align 2, 0 _0805ACBC: .4byte gRoomControls - - thumb_func_start sub_0805ACC0 -sub_0805ACC0: @ 0x0805ACC0 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r0, #0x45 - ldrb r1, [r0] - cmp r1, #0 - bne _0805ACF0 - b _0805AD32 -_0805ACD0: - ldrb r0, [r4, #0xb] - subs r0, r5, r0 - lsls r0, r0, #4 - adds r3, r3, r0 - ldrh r0, [r3, #4] - ldr r2, _0805ACEC @ =gRoomControls - ldrh r1, [r2, #6] - adds r0, r0, r1 - lsls r0, r0, #0x10 - ldrh r1, [r3, #6] - orrs r0, r1 - ldrh r2, [r2, #8] - adds r0, r0, r2 - b _0805AD34 - .align 2, 0 -_0805ACEC: .4byte gRoomControls -_0805ACF0: - movs r0, #0x7f - ands r0, r1 - subs r5, r0, #1 - ldr r6, _0805AD3C @ =gUnk_03003DA0 - ldr r4, [r6, #4] - cmp r4, r6 - beq _0805AD32 - ldr r0, _0805AD40 @ =0x00001609 - mov r8, r0 - ldr r0, _0805AD44 @ =0x0000FFFF - adds r7, r0, #0 -_0805AD06: - ldrh r0, [r4, #8] - ands r0, r7 - cmp r0, r8 - bne _0805AD2C - ldrb r1, [r4, #0xb] - cmp r1, r5 - bgt _0805AD2C - adds r0, r4, #0 - adds r0, #0x21 - ldrb r0, [r0] - adds r0, r1, r0 - cmp r0, r5 - ble _0805AD2C - ldrb r0, [r4, #0xa] - bl GetCurrentRoomProperty - adds r3, r0, #0 - cmp r3, #0 - bne _0805ACD0 -_0805AD2C: - ldr r4, [r4, #4] - cmp r4, r6 - bne _0805AD06 -_0805AD32: - movs r0, #0 -_0805AD34: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0805AD3C: .4byte gUnk_03003DA0 -_0805AD40: .4byte 0x00001609 -_0805AD44: .4byte 0x0000FFFF + .syntax divided diff --git a/asm/non_matching/manager16/sub_0805ACC0.inc b/asm/non_matching/manager16/sub_0805ACC0.inc new file mode 100644 index 00000000..df4f3ff6 --- /dev/null +++ b/asm/non_matching/manager16/sub_0805ACC0.inc @@ -0,0 +1,72 @@ + .syntax unified + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + adds r0, #0x45 + ldrb r1, [r0] + cmp r1, #0 + bne _0805ACF0 + b _0805AD32 +_0805ACD0: + ldrb r0, [r4, #0xb] + subs r0, r5, r0 + lsls r0, r0, #4 + adds r3, r3, r0 + ldrh r0, [r3, #4] + ldr r2, _0805ACEC @ =gRoomControls + ldrh r1, [r2, #6] + adds r0, r0, r1 + lsls r0, r0, #0x10 + ldrh r1, [r3, #6] + orrs r0, r1 + ldrh r2, [r2, #8] + adds r0, r0, r2 + b _0805AD34 + .align 2, 0 +_0805ACEC: .4byte gRoomControls +_0805ACF0: + movs r0, #0x7f + ands r0, r1 + subs r5, r0, #1 + ldr r6, _0805AD3C @ =gUnk_03003DA0 + ldr r4, [r6, #4] + cmp r4, r6 + beq _0805AD32 + ldr r0, _0805AD40 @ =0x00001609 + mov r8, r0 + ldr r0, _0805AD44 @ =0x0000FFFF + adds r7, r0, #0 +_0805AD06: + ldrh r0, [r4, #8] + ands r0, r7 + cmp r0, r8 + bne _0805AD2C + ldrb r1, [r4, #0xb] + cmp r1, r5 + bgt _0805AD2C + adds r0, r4, #0 + adds r0, #0x21 + ldrb r0, [r0] + adds r0, r1, r0 + cmp r0, r5 + ble _0805AD2C + ldrb r0, [r4, #0xa] + bl GetCurrentRoomProperty + adds r3, r0, #0 + cmp r3, #0 + bne _0805ACD0 +_0805AD2C: + ldr r4, [r4, #4] + cmp r4, r6 + bne _0805AD06 +_0805AD32: + movs r0, #0 +_0805AD34: + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7, pc} + .align 2, 0 +_0805AD3C: .4byte gUnk_03003DA0 +_0805AD40: .4byte 0x00001609 +_0805AD44: .4byte 0x0000FFFF + .syntax divided diff --git a/asm/manager18.s b/asm/non_matching/manager18/Manager18_Main.inc similarity index 62% rename from asm/manager18.s rename to asm/non_matching/manager18/Manager18_Main.inc index 65f3737a..1b319fd3 100644 --- a/asm/manager18.s +++ b/asm/non_matching/manager18/Manager18_Main.inc @@ -1,13 +1,4 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - .syntax unified - - .text - - thumb_func_start Manager18_Main -Manager18_Main: @ 0x0805ADD8 push {r4, lr} adds r4, r0, #0 cmp r4, #0 @@ -126,70 +117,4 @@ _0805AECC: .4byte gScreen _0805AED0: .4byte gRoomControls _0805AED4: .4byte 0xFFFFE000 _0805AED8: .4byte 0xFFFFF000 - - thumb_func_start sub_0805AEDC -sub_0805AEDC: @ 0x0805AEDC - push {r4, lr} - adds r3, r0, #0 - ldr r2, _0805AF2C @ =gScreen - ldr r0, _0805AF30 @ =0x00001E05 - strh r0, [r2, #0x2c] - ldrh r0, [r2] - movs r4, #0x80 - lsls r4, r4, #4 - adds r1, r4, #0 - orrs r0, r1 - strh r0, [r2] - adds r1, r2, #0 - adds r1, #0x66 - ldr r0, _0805AF34 @ =0x00003648 - strh r0, [r1] - movs r0, #0x80 - lsls r0, r0, #5 - adds r1, r0, #0 - cmp r3, #0 - beq _0805AF06 - ldrh r1, [r3, #0x20] -_0805AF06: - adds r0, r2, #0 - adds r0, #0x68 - strh r1, [r0] - ldr r1, _0805AF38 @ =gRoomControls - ldrh r0, [r1, #0x2a] - ldrh r4, [r1, #0xa] - adds r0, r0, r4 - strh r0, [r2, #0x2e] - ldrh r0, [r1, #0x2e] - ldrh r1, [r1, #0xc] - adds r0, r0, r1 - strh r0, [r2, #0x30] - cmp r3, #0 - beq _0805AF28 - adds r0, r3, #0 - bl Manager18_Main -_0805AF28: - pop {r4, pc} - .align 2, 0 -_0805AF2C: .4byte gScreen -_0805AF30: .4byte 0x00001E05 -_0805AF34: .4byte 0x00003648 -_0805AF38: .4byte gRoomControls - - thumb_func_start sub_0805AF3C -sub_0805AF3C: @ 0x0805AF3C - ldrb r2, [r0, #0x10] - movs r1, #0xdf - ands r1, r2 - movs r3, #0 - strb r1, [r0, #0x10] - ldr r1, _0805AF58 @ =gScreen - ldrh r2, [r1] - ldr r0, _0805AF5C @ =0x0000F7FF - ands r0, r2 - strh r0, [r1] - adds r1, #0x66 - strh r3, [r1] - bx lr - .align 2, 0 -_0805AF58: .4byte gScreen -_0805AF5C: .4byte 0x0000F7FF + .syntax divided diff --git a/asm/non_matching/manager18/sub_0805AEDC.inc b/asm/non_matching/manager18/sub_0805AEDC.inc new file mode 100644 index 00000000..361962e5 --- /dev/null +++ b/asm/non_matching/manager18/sub_0805AEDC.inc @@ -0,0 +1,47 @@ + .syntax unified + push {r4, lr} + adds r3, r0, #0 + ldr r2, _0805AF2C @ =gScreen + ldr r0, _0805AF30 @ =0x00001E05 + strh r0, [r2, #0x2c] + ldrh r0, [r2] + movs r4, #0x80 + lsls r4, r4, #4 + adds r1, r4, #0 + orrs r0, r1 + strh r0, [r2] + adds r1, r2, #0 + adds r1, #0x66 + ldr r0, _0805AF34 @ =0x00003648 + strh r0, [r1] + movs r0, #0x80 + lsls r0, r0, #5 + adds r1, r0, #0 + cmp r3, #0 + beq _0805AF06 + ldrh r1, [r3, #0x20] +_0805AF06: + adds r0, r2, #0 + adds r0, #0x68 + strh r1, [r0] + ldr r1, _0805AF38 @ =gRoomControls + ldrh r0, [r1, #0x2a] + ldrh r4, [r1, #0xa] + adds r0, r0, r4 + strh r0, [r2, #0x2e] + ldrh r0, [r1, #0x2e] + ldrh r1, [r1, #0xc] + adds r0, r0, r1 + strh r0, [r2, #0x30] + cmp r3, #0 + beq _0805AF28 + adds r0, r3, #0 + bl Manager18_Main +_0805AF28: + pop {r4, pc} + .align 2, 0 +_0805AF2C: .4byte gScreen +_0805AF30: .4byte 0x00001E05 +_0805AF34: .4byte 0x00003648 +_0805AF38: .4byte gRoomControls + .syntax divided diff --git a/asm/non_matching/manager18/sub_0805AF3C.inc b/asm/non_matching/manager18/sub_0805AF3C.inc new file mode 100644 index 00000000..ab6b3af6 --- /dev/null +++ b/asm/non_matching/manager18/sub_0805AF3C.inc @@ -0,0 +1,18 @@ + .syntax unified + ldrb r2, [r0, #0x10] + movs r1, #0xdf + ands r1, r2 + movs r3, #0 + strb r1, [r0, #0x10] + ldr r1, _0805AF58 @ =gScreen + ldrh r2, [r1] + ldr r0, _0805AF5C @ =0x0000F7FF + ands r0, r2 + strh r0, [r1] + adds r1, #0x66 + strh r3, [r1] + bx lr + .align 2, 0 +_0805AF58: .4byte gScreen +_0805AF5C: .4byte 0x0000F7FF + .syntax divided diff --git a/asm/manager19.s b/asm/non_matching/manager19/Manager19_Main.inc similarity index 67% rename from asm/manager19.s rename to asm/non_matching/manager19/Manager19_Main.inc index 811210b7..5eb635c5 100644 --- a/asm/manager19.s +++ b/asm/non_matching/manager19/Manager19_Main.inc @@ -1,13 +1,4 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - .syntax unified - - .text - - thumb_func_start Manager19_Main -Manager19_Main: @ 0x0805AF60 push {r4, lr} adds r4, r0, #0 cmp r4, #0 @@ -78,29 +69,4 @@ _0805AFEE: _0805AFF0: .4byte gRoomControls _0805AFF4: .4byte 0xFFFFE000 _0805AFF8: .4byte gScreen - - thumb_func_start sub_0805AFFC -sub_0805AFFC: @ 0x0805AFFC - ldr r2, _0805B024 @ =gScreen - ldr r0, _0805B028 @ =0x00001E03 - strh r0, [r2, #0x2c] - ldrh r1, [r2] - movs r3, #0x80 - lsls r3, r3, #4 - adds r0, r3, #0 - orrs r0, r1 - strh r0, [r2] - ldr r1, _0805B02C @ =gRoomControls - ldrh r0, [r1, #0x2a] - ldrh r3, [r1, #0xa] - adds r0, r0, r3 - strh r0, [r2, #0x2e] - ldrh r0, [r1, #0x2e] - ldrh r1, [r1, #0xc] - adds r0, r0, r1 - strh r0, [r2, #0x30] - bx lr - .align 2, 0 -_0805B024: .4byte gScreen -_0805B028: .4byte 0x00001E03 -_0805B02C: .4byte gRoomControls + .syntax divided diff --git a/asm/non_matching/manager19/sub_0805AFFC.inc b/asm/non_matching/manager19/sub_0805AFFC.inc new file mode 100644 index 00000000..e9ee5a41 --- /dev/null +++ b/asm/non_matching/manager19/sub_0805AFFC.inc @@ -0,0 +1,25 @@ + .syntax unified + ldr r2, _0805B024 @ =gScreen + ldr r0, _0805B028 @ =0x00001E03 + strh r0, [r2, #0x2c] + ldrh r1, [r2] + movs r3, #0x80 + lsls r3, r3, #4 + adds r0, r3, #0 + orrs r0, r1 + strh r0, [r2] + ldr r1, _0805B02C @ =gRoomControls + ldrh r0, [r1, #0x2a] + ldrh r3, [r1, #0xa] + adds r0, r0, r3 + strh r0, [r2, #0x2e] + ldrh r0, [r1, #0x2e] + ldrh r1, [r1, #0xc] + adds r0, r0, r1 + strh r0, [r2, #0x30] + bx lr + .align 2, 0 +_0805B024: .4byte gScreen +_0805B028: .4byte 0x00001E03 +_0805B02C: .4byte gRoomControls + .syntax divided diff --git a/asm/non_matching/manager1B/Manager1B_Main.inc b/asm/non_matching/manager1B/Manager1B_Main.inc new file mode 100644 index 00000000..6a4b50b7 --- /dev/null +++ b/asm/non_matching/manager1B/Manager1B_Main.inc @@ -0,0 +1,72 @@ + .syntax unified + push {r4, r5, lr} + adds r4, r0, #0 + bl EntityHasDuplicateID + cmp r0, #0 + beq _0805B3C4 + bl DeleteThisEntity +_0805B3C4: + ldrb r0, [r4, #0xa] + lsls r0, r0, #2 + ldr r1, _0805B438 @ =gUnk_08108C28 + adds r5, r0, r1 + ldrb r0, [r4, #0xc] + cmp r0, #0 + bne _0805B41E + movs r0, #1 + strb r0, [r4, #0xc] + ldrb r1, [r4, #0x10] + movs r0, #0x20 + orrs r0, r1 + strb r0, [r4, #0x10] + adds r0, r4, #0 + movs r1, #6 + bl sub_0805E3A0 + ldrb r0, [r4, #0xa] + cmp r0, #0 + beq _0805B3F6 + ldr r1, _0805B43C @ =sub_0805B4B4 + adds r0, r4, #0 + movs r2, #0 + bl sub_08052D74 +_0805B3F6: + ldr r0, _0805B440 @ =gRoomControls + ldrh r1, [r0, #0x20] + movs r0, #0x80 + lsls r0, r0, #1 + subs r1, r0, r1 + cmp r1, #0 + bge _0805B406 + movs r1, #0 +_0805B406: + movs r0, #2 + ldrsb r0, [r5, r0] + adds r0, r1, r0 + str r0, [r4, #0x20] + ldr r1, _0805B444 @ =gUnk_08108C54 + ldrb r0, [r5, #1] + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r1, [r0] + adds r0, r4, #0 + bl _call_via_r1 +_0805B41E: + ldr r0, _0805B440 @ =gRoomControls + ldrh r0, [r0] + cmp r0, #0 + bne _0805B436 + ldr r0, _0805B444 @ =gUnk_08108C54 + ldrb r1, [r5, #1] + lsls r1, r1, #2 + adds r1, r1, r0 + ldr r1, [r1] + adds r0, r4, #0 + bl _call_via_r1 +_0805B436: + pop {r4, r5, pc} + .align 2, 0 +_0805B438: .4byte gUnk_08108C28 +_0805B43C: .4byte sub_0805B4B4 +_0805B440: .4byte gRoomControls +_0805B444: .4byte gUnk_08108C54 + .syntax divided diff --git a/asm/non_matching/manager1B/sub_0805B448.inc b/asm/non_matching/manager1B/sub_0805B448.inc new file mode 100644 index 00000000..167281fe --- /dev/null +++ b/asm/non_matching/manager1B/sub_0805B448.inc @@ -0,0 +1,23 @@ + .syntax unified + push {r4, lr} + ldr r4, _0805B46C @ =gScreen + ldr r3, _0805B470 @ =gRoomControls + movs r2, #0xa + ldrsh r1, [r3, r2] + ldrh r2, [r3, #6] + subs r1, r1, r2 + asrs r1, r1, #2 + strh r1, [r4, #0x2e] + movs r2, #0xc + ldrsh r1, [r3, r2] + ldrh r2, [r3, #8] + subs r1, r1, r2 + asrs r1, r1, #1 + ldr r0, [r0, #0x20] + adds r0, r0, r1 + strh r0, [r4, #0x30] + pop {r4, pc} + .align 2, 0 +_0805B46C: .4byte gScreen +_0805B470: .4byte gRoomControls + .syntax divided diff --git a/asm/non_matching/manager1B/sub_0805B474.inc b/asm/non_matching/manager1B/sub_0805B474.inc new file mode 100644 index 00000000..59158767 --- /dev/null +++ b/asm/non_matching/manager1B/sub_0805B474.inc @@ -0,0 +1,31 @@ + .syntax unified + push {r4, r5, lr} + ldr r5, _0805B4A8 @ =gRoomControls + movs r0, #0xc + ldrsh r1, [r5, r0] + ldrh r4, [r5, #8] + subs r1, r1, r4 + lsls r0, r1, #1 + adds r0, r0, r1 + lsls r0, r0, #5 + ldrh r1, [r5, #0x20] + subs r1, #0xa0 + bl __divsi3 + ldr r2, _0805B4AC @ =gScreen + adds r4, r4, r0 + strh r4, [r2, #0x30] + ldrh r0, [r5, #0x1e] + ldr r1, _0805B4B0 @ =0xFFFFFF00 + adds r0, r0, r1 + lsrs r1, r0, #0x1f + adds r0, r0, r1 + asrs r0, r0, #1 + ldrh r1, [r5, #0xa] + subs r1, r1, r0 + strh r1, [r2, #0x2e] + pop {r4, r5, pc} + .align 2, 0 +_0805B4A8: .4byte gRoomControls +_0805B4AC: .4byte gScreen +_0805B4B0: .4byte 0xFFFFFF00 + .syntax divided diff --git a/asm/non_matching/manager1B/sub_0805B4B4.inc b/asm/non_matching/manager1B/sub_0805B4B4.inc new file mode 100644 index 00000000..b0e254c9 --- /dev/null +++ b/asm/non_matching/manager1B/sub_0805B4B4.inc @@ -0,0 +1,14 @@ + .syntax unified + push {r4, lr} + adds r4, r0, #0 + ldrb r0, [r4, #0xa] + bl sub_0805B4D0 + ldrb r0, [r4, #0xa] + cmp r0, #2 + bne _0805B4C8 + bl sub_0806D0F8 +_0805B4C8: + adds r0, r4, #0 + bl Manager1B_Main + pop {r4, pc} + .syntax divided diff --git a/asm/non_matching/manager1B/sub_0805B4D0.inc b/asm/non_matching/manager1B/sub_0805B4D0.inc new file mode 100644 index 00000000..8be13a26 --- /dev/null +++ b/asm/non_matching/manager1B/sub_0805B4D0.inc @@ -0,0 +1,51 @@ + .syntax unified + push {r4, r5, lr} + adds r5, r0, #0 + ldr r0, _0805B528 @ =gUnk_08108C5C + adds r0, r5, r0 + ldrb r0, [r0] + bl LoadGfxGroup + ldr r4, _0805B52C @ =gScreen + ldr r0, _0805B530 @ =0x00001E07 + strh r0, [r4, #0x2c] + ldrh r1, [r4] + movs r2, #0x80 + lsls r2, r2, #4 + adds r0, r2, #0 + orrs r0, r1 + strh r0, [r4] + ldr r2, _0805B534 @ =gRoomControls + movs r1, #0xa + ldrsh r0, [r2, r1] + ldrh r1, [r2, #6] + subs r0, r0, r1 + asrs r0, r0, #2 + strh r0, [r4, #0x2e] + movs r1, #0xc + ldrsh r0, [r2, r1] + ldrh r1, [r2, #8] + subs r0, r0, r1 + asrs r3, r0, #1 + ldrh r1, [r2, #0x20] + movs r0, #0x80 + lsls r0, r0, #1 + subs r2, r0, r1 + cmp r2, #0 + bge _0805B516 + movs r2, #0 +_0805B516: + ldr r0, _0805B538 @ =gUnk_08108C44 + lsls r1, r5, #1 + adds r1, r1, r0 + adds r0, r3, r2 + ldrh r1, [r1] + adds r0, r0, r1 + strh r0, [r4, #0x30] + pop {r4, r5, pc} + .align 2, 0 +_0805B528: .4byte gUnk_08108C5C +_0805B52C: .4byte gScreen +_0805B530: .4byte 0x00001E07 +_0805B534: .4byte gRoomControls +_0805B538: .4byte gUnk_08108C44 + .syntax divided diff --git a/asm/non_matching/manager1D/Manager1D_Main.inc b/asm/non_matching/manager1D/Manager1D_Main.inc new file mode 100644 index 00000000..fab27c34 --- /dev/null +++ b/asm/non_matching/manager1D/Manager1D_Main.inc @@ -0,0 +1,12 @@ + .syntax unified + push {lr} + ldr r2, _0805B5DC @ =gUnk_08108C80 + ldrb r1, [r0, #0xc] + lsls r1, r1, #2 + adds r1, r1, r2 + ldr r1, [r1] + bl _call_via_r1 + pop {pc} + .align 2, 0 +_0805B5DC: .4byte gUnk_08108C80 + .syntax divided diff --git a/asm/non_matching/manager1D/sub_0805B5E0.inc b/asm/non_matching/manager1D/sub_0805B5E0.inc new file mode 100644 index 00000000..7cfa013f --- /dev/null +++ b/asm/non_matching/manager1D/sub_0805B5E0.inc @@ -0,0 +1,47 @@ + .syntax unified + push {r4, r5, lr} + movs r4, #0 + movs r1, #1 + strb r1, [r0, #0xc] + ldr r3, _0805B618 @ =gScreen + ldrh r2, [r3] + movs r5, #0x80 + lsls r5, r5, #4 + adds r1, r5, #0 + orrs r1, r2 + strh r1, [r3] + ldr r2, _0805B61C @ =gUnk_08108C88 + ldrb r1, [r0, #0xa] + lsls r1, r1, #1 + adds r1, r1, r2 + ldrh r1, [r1] + strh r1, [r3, #0x2c] + ldr r1, _0805B620 @ =gRoomControls + str r4, [r1, #0x2c] + str r4, [r1, #0x28] + ldrb r0, [r0, #0xa] + cmp r0, #0 + beq _0805B612 + cmp r0, #1 + beq _0805B624 +_0805B612: + strh r4, [r3, #0x30] + strh r4, [r3, #0x2e] + b _0805B634 + .align 2, 0 +_0805B618: .4byte gScreen +_0805B61C: .4byte gUnk_08108C88 +_0805B620: .4byte gRoomControls +_0805B624: + ldrh r0, [r1, #0x2a] + ldrh r2, [r1, #0xa] + adds r0, r0, r2 + strh r0, [r3, #0x2e] + ldrh r0, [r1, #0x2e] + ldrh r1, [r1, #0xc] + adds r0, r0, r1 + strh r0, [r3, #0x30] +_0805B634: + pop {r4, r5, pc} + .align 2, 0 + .syntax divided diff --git a/asm/non_matching/manager1D/sub_0805B638.inc b/asm/non_matching/manager1D/sub_0805B638.inc new file mode 100644 index 00000000..fb210c75 --- /dev/null +++ b/asm/non_matching/manager1D/sub_0805B638.inc @@ -0,0 +1,26 @@ + .syntax unified + push {lr} + ldrb r0, [r0, #0xa] + cmp r0, #1 + bne _0805B65E + ldr r1, _0805B660 @ =gRoomControls + ldr r0, [r1, #0x28] + movs r2, #0x80 + lsls r2, r2, #6 + adds r0, r0, r2 + str r0, [r1, #0x28] + ldr r2, _0805B664 @ =gScreen + ldrh r0, [r1, #0x2a] + ldrh r3, [r1, #0xa] + adds r0, r0, r3 + strh r0, [r2, #0x2e] + ldrh r0, [r1, #0x2e] + ldrh r1, [r1, #0xc] + adds r0, r0, r1 + strh r0, [r2, #0x30] +_0805B65E: + pop {pc} + .align 2, 0 +_0805B660: .4byte gRoomControls +_0805B664: .4byte gScreen + .syntax divided diff --git a/asm/non_matching/manager1F/Manager1F_Main.inc b/asm/non_matching/manager1F/Manager1F_Main.inc new file mode 100644 index 00000000..e09ecfca --- /dev/null +++ b/asm/non_matching/manager1F/Manager1F_Main.inc @@ -0,0 +1,12 @@ + .syntax unified + push {lr} + ldr r2, _0805B708 @ =gUnk_08108C94 + ldrb r1, [r0, #0xc] + lsls r1, r1, #2 + adds r1, r1, r2 + ldr r1, [r1] + bl _call_via_r1 + pop {pc} + .align 2, 0 +_0805B708: .4byte gUnk_08108C94 + .syntax divided diff --git a/asm/non_matching/manager1F/sub_0805B70C.inc b/asm/non_matching/manager1F/sub_0805B70C.inc new file mode 100644 index 00000000..bf21f206 --- /dev/null +++ b/asm/non_matching/manager1F/sub_0805B70C.inc @@ -0,0 +1,29 @@ + .syntax unified + push {r4, lr} + adds r4, r0, #0 + ldrh r0, [r4, #0x3e] + bl CheckFlags + cmp r0, #0 + beq _0805B71E + movs r0, #1 + strb r0, [r4, #0xb] +_0805B71E: + movs r0, #1 + strb r0, [r4, #0xc] + ldrh r1, [r4, #0x38] + lsls r1, r1, #0x10 + asrs r1, r1, #0x14 + movs r2, #0x3f + ands r1, r2 + ldrh r0, [r4, #0x3a] + lsls r0, r0, #0x10 + asrs r0, r0, #0x14 + ands r0, r2 + lsls r0, r0, #6 + orrs r1, r0 + strh r1, [r4, #0x38] + adds r0, r4, #0 + bl sub_0805B778 + pop {r4, pc} + .align 2, 0 + .syntax divided diff --git a/asm/non_matching/manager1F/sub_0805B744.inc b/asm/non_matching/manager1F/sub_0805B744.inc new file mode 100644 index 00000000..a43b8175 --- /dev/null +++ b/asm/non_matching/manager1F/sub_0805B744.inc @@ -0,0 +1,27 @@ + .syntax unified + push {r4, lr} + adds r4, r0, #0 + ldrh r0, [r4, #0x3e] + bl CheckFlags + adds r1, r0, #0 + cmp r1, #0 + beq _0805B766 + ldrb r0, [r4, #0xb] + cmp r0, #0 + bne _0805B774 + movs r0, #1 + strb r0, [r4, #0xb] + adds r0, r4, #0 + bl sub_0805B778 + b _0805B774 +_0805B766: + ldrb r0, [r4, #0xb] + cmp r0, #1 + bne _0805B774 + strb r1, [r4, #0xb] + adds r0, r4, #0 + bl sub_0805B778 +_0805B774: + pop {r4, pc} + .align 2, 0 + .syntax divided diff --git a/asm/non_matching/manager1F/sub_0805B778.inc b/asm/non_matching/manager1F/sub_0805B778.inc new file mode 100644 index 00000000..9d5ac27f --- /dev/null +++ b/asm/non_matching/manager1F/sub_0805B778.inc @@ -0,0 +1,20 @@ + .syntax unified + push {lr} + ldr r2, _0805B79C @ =gUnk_08108C9C + ldrb r1, [r0, #0xa] + lsls r1, r1, #1 + ldrb r3, [r0, #0xb] + adds r1, r1, r3 + lsls r1, r1, #1 + adds r1, r1, r2 + ldrh r3, [r1] + movs r2, #0x38 + ldrsh r1, [r0, r2] + adds r0, #0x36 + ldrb r2, [r0] + adds r0, r3, #0 + bl SetTileType + pop {pc} + .align 2, 0 +_0805B79C: .4byte gUnk_08108C9C + .syntax divided diff --git a/asm/non_matching/manager2/sub_0805754C.inc b/asm/non_matching/manager2/sub_0805754C.inc new file mode 100644 index 00000000..ad1109b3 --- /dev/null +++ b/asm/non_matching/manager2/sub_0805754C.inc @@ -0,0 +1,66 @@ + .syntax unified + push {r4, r5, r6, lr} + adds r2, r0, #0 + ldr r3, _080575BC @ =gRoomControls + movs r0, #0xc + ldrsh r1, [r3, r0] + ldrh r0, [r3, #8] + subs r1, r1, r0 + asrs r0, r1, #3 + adds r1, r1, r0 + ldr r4, _080575C0 @ =gScreen + movs r6, #0x3f + adds r0, r1, #0 + ands r0, r6 + strh r0, [r4, #0x30] + adds r0, r1, #0 + cmp r1, #0 + bge _08057570 + adds r0, #0x3f +_08057570: + asrs r0, r0, #6 + lsls r0, r0, #9 + ldr r5, _080575C4 @ =gMapDataTopSpecial + adds r1, r0, r5 + str r1, [r4, #0x34] + ldr r0, [r2, #0x38] + cmp r0, r1 + beq _08057586 + str r1, [r2, #0x38] + movs r0, #1 + strh r0, [r4, #0x32] +_08057586: + movs r0, #0xc + ldrsh r1, [r3, r0] + ldrh r0, [r3, #8] + subs r1, r1, r0 + asrs r0, r1, #2 + adds r1, r1, r0 + adds r0, r1, #0 + ands r0, r6 + strh r0, [r4, #0x18] + adds r0, r1, #0 + cmp r0, #0 + bge _080575A0 + adds r0, #0x3f +_080575A0: + asrs r0, r0, #6 + lsls r0, r0, #9 + movs r3, #0x80 + lsls r3, r3, #6 + adds r1, r5, r3 + adds r1, r0, r1 + str r1, [r4, #0x1c] + ldr r0, [r2, #0x3c] + cmp r0, r1 + beq _080575BA + str r1, [r2, #0x3c] + movs r0, #1 + strh r0, [r4, #0x1a] +_080575BA: + pop {r4, r5, r6, pc} + .align 2, 0 +_080575BC: .4byte gRoomControls +_080575C0: .4byte gScreen +_080575C4: .4byte gMapDataTopSpecial + .syntax divided diff --git a/asm/non_matching/manager2/sub_080575C8.inc b/asm/non_matching/manager2/sub_080575C8.inc new file mode 100644 index 00000000..ed601e15 --- /dev/null +++ b/asm/non_matching/manager2/sub_080575C8.inc @@ -0,0 +1,90 @@ + .syntax unified + push {r4, r5, r6, r7, lr} + adds r4, r0, #0 + ldr r0, _08057664 @ =gUnk_0200B650 + movs r5, #0 + str r5, [r0] + movs r0, #0x80 + lsls r0, r0, #0x13 + strh r5, [r0] + adds r0, r4, #0 + bl LoadGfxGroup + ldr r0, _08057668 @ =gRoomVars + strb r4, [r0, #0x10] + ldr r3, _0805766C @ =gRoomControls + movs r0, #0xc + ldrsh r1, [r3, r0] + ldrh r0, [r3, #8] + subs r1, r1, r0 + asrs r0, r1, #3 + adds r1, r1, r0 + ldr r2, _08057670 @ =gScreen + movs r7, #0x3f + adds r0, r1, #0 + ands r0, r7 + strh r0, [r2, #0x30] + strh r5, [r2, #0x2e] + adds r0, r1, #0 + cmp r1, #0 + bge _08057604 + adds r0, #0x3f +_08057604: + asrs r0, r0, #6 + lsls r0, r0, #9 + ldr r4, _08057674 @ =gMapDataTopSpecial + adds r0, r0, r4 + str r0, [r2, #0x34] + ldr r0, _08057678 @ =0x00001D49 + strh r0, [r2, #0x2c] + movs r6, #1 + strh r6, [r2, #0x32] + movs r0, #0xc + ldrsh r1, [r3, r0] + ldrh r0, [r3, #8] + subs r1, r1, r0 + asrs r0, r1, #2 + adds r1, r1, r0 + adds r0, r1, #0 + ands r0, r7 + strh r0, [r2, #0x18] + strh r5, [r2, #0x16] + adds r0, r1, #0 + cmp r0, #0 + bge _08057632 + adds r0, #0x3f +_08057632: + asrs r0, r0, #6 + lsls r0, r0, #9 + movs r3, #0x80 + lsls r3, r3, #6 + adds r1, r4, r3 + adds r0, r0, r1 + str r0, [r2, #0x1c] + ldr r0, _0805767C @ =0x00001E49 + strh r0, [r2, #0x14] + strh r6, [r2, #0x1a] + adds r1, r2, #0 + adds r1, #0x66 + ldr r0, _08057680 @ =0x00003C48 + strh r0, [r1] + adds r1, #2 + ldr r0, _08057684 @ =0x00000609 + strh r0, [r1] + ldrh r0, [r2] + movs r3, #0xa0 + lsls r3, r3, #4 + adds r1, r3, #0 + orrs r0, r1 + strh r0, [r2] + pop {r4, r5, r6, r7, pc} + .align 2, 0 +_08057664: .4byte gUnk_0200B650 +_08057668: .4byte gRoomVars +_0805766C: .4byte gRoomControls +_08057670: .4byte gScreen +_08057674: .4byte gMapDataTopSpecial +_08057678: .4byte 0x00001D49 +_0805767C: .4byte 0x00001E49 +_08057680: .4byte 0x00003C48 +_08057684: .4byte 0x00000609 + .syntax divided diff --git a/asm/non_matching/manager2/sub_08057688.inc b/asm/non_matching/manager2/sub_08057688.inc new file mode 100644 index 00000000..fae0c509 --- /dev/null +++ b/asm/non_matching/manager2/sub_08057688.inc @@ -0,0 +1,12 @@ + .syntax unified + ldr r0, _08057694 @ =gScreen + ldr r1, _08057698 @ =0x00001D48 + strh r1, [r0, #0x2c] + ldr r1, _0805769C @ =0x00001E48 + strh r1, [r0, #0x14] + bx lr + .align 2, 0 +_08057694: .4byte gScreen +_08057698: .4byte 0x00001D48 +_0805769C: .4byte 0x00001E48 + .syntax divided diff --git a/asm/non_matching/manager2/sub_080576A0.inc b/asm/non_matching/manager2/sub_080576A0.inc new file mode 100644 index 00000000..22d3cfc8 --- /dev/null +++ b/asm/non_matching/manager2/sub_080576A0.inc @@ -0,0 +1,15 @@ + .syntax unified + push {r4, lr} + adds r4, r0, #0 + ldr r0, _080576BC @ =gRoomVars + ldrb r0, [r0, #0x10] + bl LoadGfxGroup + movs r0, #0 + str r0, [r4, #0x38] + str r0, [r4, #0x3c] + adds r0, r4, #0 + bl sub_0805754C + pop {r4, pc} + .align 2, 0 +_080576BC: .4byte gRoomVars + .syntax divided diff --git a/asm/manager21.s b/asm/non_matching/manager21/Manager21_Main.inc similarity index 76% rename from asm/manager21.s rename to asm/non_matching/manager21/Manager21_Main.inc index 601bea8c..87823c86 100644 --- a/asm/manager21.s +++ b/asm/non_matching/manager21/Manager21_Main.inc @@ -1,13 +1,4 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - .syntax unified - - .text - - thumb_func_start Manager21_Main -Manager21_Main: @ 0x0805B820 push {r4, r5, r6, r7, lr} mov r7, r8 push {r7} @@ -94,24 +85,4 @@ _0805B8C4: mov r8, r3 pop {r4, r5, r6, r7, pc} .align 2, 0 - - thumb_func_start sub_0805B8CC -sub_0805B8CC: @ 0x0805B8CC - push {lr} - cmp r0, #4 - bne _0805B8DA - movs r0, #0x18 - bl CheckGlobalFlag - b _0805B8E8 -_0805B8DA: - cmp r0, #4 - bls _0805B8E6 - cmp r0, #6 - bhi _0805B8E6 - movs r0, #0 - b _0805B8E8 -_0805B8E6: - movs r0, #1 -_0805B8E8: - pop {pc} - .align 2, 0 + .syntax divided diff --git a/asm/non_matching/manager21/sub_0805B8CC.inc b/asm/non_matching/manager21/sub_0805B8CC.inc new file mode 100644 index 00000000..d06a5b37 --- /dev/null +++ b/asm/non_matching/manager21/sub_0805B8CC.inc @@ -0,0 +1,20 @@ + .syntax unified + push {lr} + cmp r0, #4 + bne _0805B8DA + movs r0, #0x18 + bl CheckGlobalFlag + b _0805B8E8 +_0805B8DA: + cmp r0, #4 + bls _0805B8E6 + cmp r0, #6 + bhi _0805B8E6 + movs r0, #0 + b _0805B8E8 +_0805B8E6: + movs r0, #1 +_0805B8E8: + pop {pc} + .align 2, 0 + .syntax divided diff --git a/asm/non_matching/manager22/Manager22_Main.inc b/asm/non_matching/manager22/Manager22_Main.inc new file mode 100644 index 00000000..42e1a86e --- /dev/null +++ b/asm/non_matching/manager22/Manager22_Main.inc @@ -0,0 +1,185 @@ + .syntax unified + push {r4, r5, r6, lr} + adds r5, r0, #0 + ldr r4, _0805B964 @ =gArea + ldrb r0, [r4, #0xc] + cmp r0, #0 + bne _0805B90A + bl sub_0801E104 + ldr r2, _0805B968 @ =gScreen + ldrh r1, [r2] + ldr r0, _0805B96C @ =0x0000D7FF + ands r0, r1 + strh r0, [r2] + bl DeleteThisEntity +_0805B90A: + ldrb r2, [r5, #0xc] + cmp r2, #0 + bne _0805B934 + movs r0, #1 + strb r0, [r5, #0xc] + ldrb r1, [r5, #0x10] + movs r0, #0x20 + orrs r0, r1 + strb r0, [r5, #0x10] + movs r0, #0x11 + strb r0, [r5, #0xe] + str r2, [r5, #0x20] + adds r0, r5, #0 + movs r1, #6 + bl sub_0805E3A0 + bl sub_0801E120 + ldrb r0, [r5, #0xe] + bl sub_0801E154 +_0805B934: + ldr r0, _0805B970 @ =gMain + ldrb r0, [r0, #4] + cmp r0, #2 + bne _0805B952 + ldr r2, _0805B968 @ =gScreen + ldrh r1, [r2] + movs r3, #0x80 + lsls r3, r3, #4 + adds r0, r3, #0 + orrs r0, r1 + strh r0, [r2] + bl sub_0805BA78 + bl sub_0805BAD4 +_0805B952: + ldrb r0, [r4, #0xc] + cmp r0, #2 + bne _0805B978 + ldr r2, _0805B968 @ =gScreen + ldrh r1, [r2] + ldr r0, _0805B974 @ =0x0000DFFF + ands r0, r1 + strh r0, [r2] + b _0805BA6C + .align 2, 0 +_0805B964: .4byte gArea +_0805B968: .4byte gScreen +_0805B96C: .4byte 0x0000D7FF +_0805B970: .4byte gMain +_0805B974: .4byte 0x0000DFFF +_0805B978: + ldr r3, _0805B9A8 @ =gPlayerEntity + movs r4, #0x2e + ldrsh r0, [r3, r4] + ldr r2, _0805B9AC @ =gRoomControls + ldrh r1, [r2, #6] + subs r0, r0, r1 + movs r6, #0x32 + ldrsh r1, [r3, r6] + ldrh r2, [r2, #8] + subs r1, r1, r2 + movs r2, #0 + movs r3, #0 + bl CheckRectOnScreen + cmp r0, #0 + beq _0805B9B4 + ldr r2, _0805B9B0 @ =gScreen + ldrh r1, [r2] + movs r3, #0x80 + lsls r3, r3, #6 + adds r0, r3, #0 + orrs r0, r1 + b _0805B9BC + .align 2, 0 +_0805B9A8: .4byte gPlayerEntity +_0805B9AC: .4byte gRoomControls +_0805B9B0: .4byte gScreen +_0805B9B4: + ldr r2, _0805B9E8 @ =gScreen + ldrh r1, [r2] + ldr r0, _0805B9EC @ =0x0000DFFF + ands r0, r1 +_0805B9BC: + strh r0, [r2] + ldrb r4, [r5, #0xe] + ldr r0, _0805B9F0 @ =gPlayerState + ldr r0, [r0, #0x30] + movs r1, #0x80 + lsls r1, r1, #0x10 + ands r0, r1 + cmp r0, #0 + beq _0805BA2C + ldr r0, _0805B9F4 @ =gArea + ldrb r0, [r0, #0xc] + cmp r0, #0 + beq _0805BA2C + cmp r4, #0x47 + bhi _0805B9F8 + adds r4, #4 + adds r0, r4, #0 + bl sub_0801E154 + movs r0, #0 + str r0, [r5, #0x20] + b _0805BA42 + .align 2, 0 +_0805B9E8: .4byte gScreen +_0805B9EC: .4byte 0x0000DFFF +_0805B9F0: .4byte gPlayerState +_0805B9F4: .4byte gArea +_0805B9F8: + ldr r0, _0805BA24 @ =gScreenTransition + ldr r0, [r0] + movs r1, #3 + ands r0, r1 + cmp r0, #0 + bne _0805BA42 + ldrb r0, [r5, #0xf] + adds r0, #0x10 + strb r0, [r5, #0xf] + ldr r1, _0805BA28 @ =gSineTable + ldrb r0, [r5, #0xf] + lsls r0, r0, #1 + adds r0, r0, r1 + movs r6, #0 + ldrsh r0, [r0, r6] + asrs r0, r0, #7 + str r0, [r5, #0x20] + adds r0, r4, r0 + bl sub_0801E154 + b _0805BA42 + .align 2, 0 +_0805BA24: .4byte gScreenTransition +_0805BA28: .4byte gSineTable +_0805BA2C: + movs r0, #0 + str r0, [r5, #0x20] + cmp r4, #0x11 + bls _0805BA42 + subs r4, #4 + cmp r4, #0x10 + bhi _0805BA3C + movs r4, #0x11 +_0805BA3C: + adds r0, r4, #0 + bl sub_0801E154 +_0805BA42: + strb r4, [r5, #0xe] + ldr r3, _0805BA70 @ =gPlayerEntity + movs r1, #0x2e + ldrsh r0, [r3, r1] + ldr r2, _0805BA74 @ =gRoomControls + movs r6, #0xa + ldrsh r1, [r2, r6] + subs r0, r0, r1 + movs r6, #0x32 + ldrsh r1, [r3, r6] + movs r6, #0xc + ldrsh r2, [r2, r6] + subs r1, r1, r2 + movs r6, #0x36 + ldrsh r2, [r3, r6] + subs r2, #9 + adds r1, r1, r2 + ldr r2, [r5, #0x20] + adds r2, r4, r2 + bl sub_0801E160 +_0805BA6C: + pop {r4, r5, r6, pc} + .align 2, 0 +_0805BA70: .4byte gPlayerEntity +_0805BA74: .4byte gRoomControls + .syntax divided diff --git a/asm/non_matching/manager22/sub_0805BA78.inc b/asm/non_matching/manager22/sub_0805BA78.inc new file mode 100644 index 00000000..394c19ef --- /dev/null +++ b/asm/non_matching/manager22/sub_0805BA78.inc @@ -0,0 +1,55 @@ + .syntax unified + push {r4, lr} + ldr r1, _0805BAA8 @ =gArea + movs r0, #0xa + ldrsh r3, [r1, r0] + ldr r0, _0805BAAC @ =gRoomVars + movs r4, #0xc + ldrsh r2, [r0, r4] + cmp r2, #0 + bge _0805BA8C + movs r2, #0 +_0805BA8C: + movs r0, #0x80 + lsls r0, r0, #1 + cmp r2, r0 + ble _0805BA96 + adds r2, r0, #0 +_0805BA96: + cmp r3, r2 + beq _0805BACE + subs r0, r2, r3 + cmp r0, #0 + blt _0805BAB0 + cmp r0, #4 + bls _0805BAB6 + b _0805BABA + .align 2, 0 +_0805BAA8: .4byte gArea +_0805BAAC: .4byte gRoomVars +_0805BAB0: + subs r0, r3, r2 + cmp r0, #4 + bhi _0805BABA +_0805BAB6: + adds r3, r2, #0 + b _0805BAC8 +_0805BABA: + cmp r2, r3 + bge _0805BAC2 + subs r3, #4 + b _0805BAC8 +_0805BAC2: + cmp r2, r3 + ble _0805BAC8 + adds r3, #4 +_0805BAC8: + strh r3, [r1, #0xa] + movs r0, #1 + b _0805BAD0 +_0805BACE: + movs r0, #0 +_0805BAD0: + pop {r4, pc} + .align 2, 0 + .syntax divided diff --git a/asm/non_matching/manager22/sub_0805BAD4.inc b/asm/non_matching/manager22/sub_0805BAD4.inc new file mode 100644 index 00000000..516edb52 --- /dev/null +++ b/asm/non_matching/manager22/sub_0805BAD4.inc @@ -0,0 +1,23 @@ + .syntax unified + push {lr} + ldr r3, _0805BAF4 @ =gArea + ldrb r0, [r3, #0xc] + cmp r0, #0 + beq _0805BAF2 + ldr r1, _0805BAF8 @ =gScreen + ldr r2, _0805BAFC @ =gUnk_08108CA8 + ldrh r0, [r3, #0xa] + lsls r0, r0, #0x10 + asrs r0, r0, #0x14 + lsls r0, r0, #1 + adds r0, r0, r2 + ldrh r0, [r0] + adds r1, #0x68 + strh r0, [r1] +_0805BAF2: + pop {pc} + .align 2, 0 +_0805BAF4: .4byte gArea +_0805BAF8: .4byte gScreen +_0805BAFC: .4byte gUnk_08108CA8 + .syntax divided diff --git a/asm/non_matching/manager22/sub_0805BB00.inc b/asm/non_matching/manager22/sub_0805BB00.inc new file mode 100644 index 00000000..52849cd7 --- /dev/null +++ b/asm/non_matching/manager22/sub_0805BB00.inc @@ -0,0 +1,54 @@ + .syntax unified + push {r4, r5, lr} + adds r4, r0, #0 + adds r5, r1, #0 + ldr r0, _0805BB50 @ =gArea + ldrb r0, [r0, #0xc] + cmp r0, #0 + bne _0805BB28 + bl GetEmptyManager + adds r1, r0, #0 + cmp r1, #0 + beq _0805BB28 + movs r0, #9 + strb r0, [r1, #8] + movs r0, #0x22 + strb r0, [r1, #9] + adds r0, r1, #0 + movs r1, #0 + bl AppendEntityToList +_0805BB28: + ldr r1, _0805BB54 @ =0x0600F000 + movs r2, #0x80 + lsls r2, r2, #4 + movs r0, #0xf + bl MemFill16 + ldr r0, _0805BB58 @ =gScreen + ldr r1, _0805BB5C @ =0x00001E0C + strh r1, [r0, #0x2c] + adds r0, #0x66 + ldr r1, _0805BB60 @ =0x00003E48 + strh r1, [r0] + ldr r0, _0805BB64 @ =gRoomVars + strh r4, [r0, #0xc] + cmp r5, #0 + beq _0805BB68 + ldr r1, _0805BB50 @ =gArea + movs r0, #1 + b _0805BB6C + .align 2, 0 +_0805BB50: .4byte gArea +_0805BB54: .4byte 0x0600F000 +_0805BB58: .4byte gScreen +_0805BB5C: .4byte 0x00001E0C +_0805BB60: .4byte 0x00003E48 +_0805BB64: .4byte gRoomVars +_0805BB68: + ldr r1, _0805BB70 @ =gArea + movs r0, #2 +_0805BB6C: + strb r0, [r1, #0xc] + pop {r4, r5, pc} + .align 2, 0 +_0805BB70: .4byte gArea + .syntax divided diff --git a/asm/non_matching/manager22/sub_0805BB74.inc b/asm/non_matching/manager22/sub_0805BB74.inc new file mode 100644 index 00000000..cd3b7362 --- /dev/null +++ b/asm/non_matching/manager22/sub_0805BB74.inc @@ -0,0 +1,34 @@ + .syntax unified + push {lr} + adds r1, r0, #0 + ldr r2, _0805BBB0 @ =gRoomVars + cmp r1, #0 + bge _0805BB82 + movs r0, #0xc + ldrsh r1, [r2, r0] +_0805BB82: + ldr r0, _0805BBB4 @ =gArea + strh r1, [r0, #0xa] + strh r1, [r2, #0xc] + movs r0, #9 + movs r1, #0x22 + bl DeepFindEntityByID + cmp r0, #0 + beq _0805BBAE + bl Manager22_Main + ldr r0, _0805BBB8 @ =gScreen + ldrh r1, [r0] + movs r3, #0x80 + lsls r3, r3, #4 + adds r2, r3, #0 + orrs r1, r2 + strh r1, [r0] + bl sub_0805BA78 + bl sub_0805BAD4 +_0805BBAE: + pop {pc} + .align 2, 0 +_0805BBB0: .4byte gRoomVars +_0805BBB4: .4byte gArea +_0805BBB8: .4byte gScreen + .syntax divided diff --git a/asm/non_matching/manager22/sub_0805BBBC.inc b/asm/non_matching/manager22/sub_0805BBBC.inc new file mode 100644 index 00000000..643afc33 --- /dev/null +++ b/asm/non_matching/manager22/sub_0805BBBC.inc @@ -0,0 +1,34 @@ + .syntax unified + push {r4, lr} + movs r4, #0 + ldr r2, _0805BBF8 @ =gArea + ldrb r0, [r2, #0xc] + cmp r0, #0 + beq _0805BBF2 + ldr r0, _0805BBFC @ =gRoomVars + movs r3, #0xc + ldrsh r1, [r0, r3] + movs r3, #0xa + ldrsh r0, [r2, r3] + cmp r1, r0 + bge _0805BBF2 + ldr r2, _0805BC00 @ =gScreen + ldrh r1, [r2] + movs r3, #0x80 + lsls r3, r3, #4 + adds r0, r3, #0 + orrs r0, r1 + strh r0, [r2] + bl sub_0805BA78 + adds r4, r0, #0 + cmp r4, #0 + beq _0805BBF2 + bl sub_0805BAD4 +_0805BBF2: + adds r0, r4, #0 + pop {r4, pc} + .align 2, 0 +_0805BBF8: .4byte gArea +_0805BBFC: .4byte gRoomVars +_0805BC00: .4byte gScreen + .syntax divided diff --git a/asm/non_matching/manager22/sub_0805BC04.inc b/asm/non_matching/manager22/sub_0805BC04.inc new file mode 100644 index 00000000..f74987d1 --- /dev/null +++ b/asm/non_matching/manager22/sub_0805BC04.inc @@ -0,0 +1,34 @@ + .syntax unified + push {r4, lr} + movs r4, #0 + ldr r2, _0805BC40 @ =gArea + ldrb r0, [r2, #0xc] + cmp r0, #0 + beq _0805BC3A + ldr r0, _0805BC44 @ =gRoomVars + movs r3, #0xc + ldrsh r1, [r0, r3] + movs r3, #0xa + ldrsh r0, [r2, r3] + cmp r1, r0 + ble _0805BC3A + ldr r2, _0805BC48 @ =gScreen + ldrh r1, [r2] + movs r3, #0x80 + lsls r3, r3, #4 + adds r0, r3, #0 + orrs r0, r1 + strh r0, [r2] + bl sub_0805BA78 + adds r4, r0, #0 + cmp r4, #0 + beq _0805BC3A + bl sub_0805BAD4 +_0805BC3A: + adds r0, r4, #0 + pop {r4, pc} + .align 2, 0 +_0805BC40: .4byte gArea +_0805BC44: .4byte gRoomVars +_0805BC48: .4byte gScreen + .syntax divided diff --git a/asm/non_matching/manager22/sub_0805BC4C.inc b/asm/non_matching/manager22/sub_0805BC4C.inc new file mode 100644 index 00000000..8ff50b9c --- /dev/null +++ b/asm/non_matching/manager22/sub_0805BC4C.inc @@ -0,0 +1,20 @@ + .syntax unified + push {lr} + ldr r1, _0805BC68 @ =gArea + ldrb r0, [r1, #0xc] + cmp r0, #0 + beq _0805BC64 + movs r0, #0 + strb r0, [r1, #0xc] + ldr r2, _0805BC6C @ =gScreen + ldrh r1, [r2] + ldr r0, _0805BC70 @ =0x0000D7FF + ands r0, r1 + strh r0, [r2] +_0805BC64: + pop {pc} + .align 2, 0 +_0805BC68: .4byte gArea +_0805BC6C: .4byte gScreen +_0805BC70: .4byte 0x0000D7FF + .syntax divided diff --git a/asm/non_matching/manager23/Manager23_Main.inc b/asm/non_matching/manager23/Manager23_Main.inc new file mode 100644 index 00000000..7bd09747 --- /dev/null +++ b/asm/non_matching/manager23/Manager23_Main.inc @@ -0,0 +1,12 @@ + .syntax unified + push {lr} + ldr r2, _0805BC88 @ =gUnk_08108CCC + ldrb r1, [r0, #0xa] + lsls r1, r1, #2 + adds r1, r1, r2 + ldr r1, [r1] + bl _call_via_r1 + pop {pc} + .align 2, 0 +_0805BC88: .4byte gUnk_08108CCC + .syntax divided diff --git a/asm/non_matching/manager23/sub_0805BC8C.inc b/asm/non_matching/manager23/sub_0805BC8C.inc new file mode 100644 index 00000000..84fa7a8e --- /dev/null +++ b/asm/non_matching/manager23/sub_0805BC8C.inc @@ -0,0 +1,35 @@ + .syntax unified + push {r4, lr} + adds r4, r0, #0 + ldrb r0, [r4, #0xc] + cmp r0, #0 + bne _0805BCAE + movs r0, #1 + strb r0, [r4, #0xc] + movs r0, #0x1e + strb r0, [r4, #0xf] + ldrh r0, [r4, #0x3e] + bl CheckFlags + cmp r0, #0 + beq _0805BCAE + adds r0, r4, #0 + bl sub_0805BE94 +_0805BCAE: + ldrh r0, [r4, #0x3e] + bl CheckFlags + cmp r0, #0 + beq _0805BCD0 + ldrb r0, [r4, #0xf] + subs r0, #1 + strb r0, [r4, #0xf] + lsls r0, r0, #0x18 + cmp r0, #0 + bne _0805BCD0 + adds r0, r4, #0 + bl sub_0805BEC4 + adds r0, r4, #0 + bl sub_0805BE94 +_0805BCD0: + pop {r4, pc} + .align 2, 0 + .syntax divided diff --git a/asm/non_matching/manager23/sub_0805BCD4.inc b/asm/non_matching/manager23/sub_0805BCD4.inc new file mode 100644 index 00000000..7a11186d --- /dev/null +++ b/asm/non_matching/manager23/sub_0805BCD4.inc @@ -0,0 +1,68 @@ + .syntax unified + push {r4, lr} + adds r4, r0, #0 + ldrb r0, [r4, #0xc] + cmp r0, #1 + beq _0805BD0E + cmp r0, #1 + bgt _0805BCE8 + cmp r0, #0 + beq _0805BCEE + b _0805BD5A +_0805BCE8: + cmp r0, #2 + beq _0805BD38 + b _0805BD5A +_0805BCEE: + movs r0, #1 + strb r0, [r4, #0xc] + movs r0, #0x1e + strb r0, [r4, #0xf] + ldrh r0, [r4, #0x3e] + bl CheckFlags + cmp r0, #0 + beq _0805BD5A + adds r0, r4, #0 + movs r1, #0x75 + bl sub_0805BE70 + movs r0, #2 + strb r0, [r4, #0xc] + b _0805BD5A +_0805BD0E: + ldrh r0, [r4, #0x3e] + bl CheckFlags + cmp r0, #0 + beq _0805BD5A + ldrb r0, [r4, #0xf] + subs r0, #1 + strb r0, [r4, #0xf] + lsls r0, r0, #0x18 + cmp r0, #0 + bne _0805BD5A + movs r0, #0x1e + strb r0, [r4, #0xf] + adds r0, r4, #0 + bl sub_0805BEC4 + adds r0, r4, #0 + movs r1, #0x76 + bl sub_0805BE70 + b _0805BD5A +_0805BD38: + ldrh r0, [r4, #0x3e] + bl CheckFlags + cmp r0, #0 + bne _0805BD5A + ldrb r0, [r4, #0xf] + subs r0, #1 + strb r0, [r4, #0xf] + lsls r0, r0, #0x18 + cmp r0, #0 + bne _0805BD5A + movs r0, #0x1e + strb r0, [r4, #0xf] + adds r0, r4, #0 + movs r1, #0x75 + bl sub_0805BE70 +_0805BD5A: + pop {r4, pc} + .syntax divided diff --git a/asm/non_matching/manager23/sub_0805BD5C.inc b/asm/non_matching/manager23/sub_0805BD5C.inc new file mode 100644 index 00000000..404857fd --- /dev/null +++ b/asm/non_matching/manager23/sub_0805BD5C.inc @@ -0,0 +1,43 @@ + .syntax unified + push {r4, lr} + adds r4, r0, #0 + ldrb r0, [r4, #0xc] + cmp r0, #0 + bne _0805BD94 + ldrh r0, [r4, #0x3e] + bl CheckFlags + cmp r0, #0 + beq _0805BD76 + adds r0, r4, #0 + bl sub_0805BE94 +_0805BD76: + ldrh r1, [r4, #0x38] + lsls r1, r1, #0x10 + asrs r1, r1, #0x14 + movs r2, #0x3f + ands r1, r2 + ldrh r0, [r4, #0x3a] + lsls r0, r0, #0x10 + asrs r0, r0, #0x14 + ands r0, r2 + lsls r0, r0, #6 + orrs r1, r0 + strh r1, [r4, #0x20] + movs r0, #1 + strb r0, [r4, #0xc] + b _0805BDB0 +_0805BD94: + ldrh r0, [r4, #0x20] + ldrb r1, [r4, #0xb] + bl GetTileType + cmp r0, #0x76 + bne _0805BDB0 + ldrh r0, [r4, #0x3e] + bl SetFlag + ldrb r0, [r4, #0xe] + bl sub_0805308C + bl DeleteThisEntity +_0805BDB0: + pop {r4, pc} + .align 2, 0 + .syntax divided diff --git a/asm/non_matching/manager23/sub_0805BDB4.inc b/asm/non_matching/manager23/sub_0805BDB4.inc new file mode 100644 index 00000000..9e1ee204 --- /dev/null +++ b/asm/non_matching/manager23/sub_0805BDB4.inc @@ -0,0 +1,90 @@ + .syntax unified + push {r4, lr} + adds r4, r0, #0 + ldrb r0, [r4, #0xc] + cmp r0, #0 + beq _0805BDF4 + cmp r0, #1 + beq _0805BE2C + ldrh r0, [r4, #0x22] + subs r0, #1 + strh r0, [r4, #0x22] + lsls r0, r0, #0x10 + cmp r0, #0 + bne _0805BE58 + movs r1, #0x38 + ldrsh r0, [r4, r1] + movs r2, #0x3a + ldrsh r1, [r4, r2] + ldrb r2, [r4, #0xb] + bl CreateDustAt + ldrh r0, [r4, #0x3e] + bl ClearFlag + ldrh r0, [r4, #0x20] + ldrb r1, [r4, #0xb] + bl sub_0807BA8C + ldrb r0, [r4, #0xe] + rsbs r0, r0, #0 + bl sub_0805308C + b _0805BE26 +_0805BDF4: + ldrh r0, [r4, #0x3e] + bl CheckFlags + cmp r0, #0 + bne _0805BE08 + ldrh r0, [r4, #0x3c] + bl CheckFlags + cmp r0, #0 + beq _0805BE0E +_0805BE08: + adds r0, r4, #0 + bl sub_0805BE94 +_0805BE0E: + ldrh r1, [r4, #0x38] + lsls r1, r1, #0x10 + asrs r1, r1, #0x14 + movs r2, #0x3f + ands r1, r2 + ldrh r0, [r4, #0x3a] + lsls r0, r0, #0x10 + asrs r0, r0, #0x14 + ands r0, r2 + lsls r0, r0, #6 + orrs r1, r0 + strh r1, [r4, #0x20] +_0805BE26: + movs r0, #1 + strb r0, [r4, #0xc] + b _0805BE6C +_0805BE2C: + ldrh r0, [r4, #0x20] + ldrb r1, [r4, #0xb] + bl GetTileType + cmp r0, #0x76 + bne _0805BE6C + ldrh r0, [r4, #0x3e] + bl SetFlag + ldrb r0, [r4, #0xe] + bl sub_0805308C + movs r0, #2 + strb r0, [r4, #0xc] + adds r0, r4, #0 + adds r0, #0x36 + ldrb r1, [r0] + lsls r0, r1, #4 + subs r0, r0, r1 + lsls r0, r0, #2 + strh r0, [r4, #0x22] + b _0805BE6C +_0805BE58: + ldrh r0, [r4, #0x3c] + bl CheckFlags + cmp r0, #0 + beq _0805BE6C + adds r0, r4, #0 + bl sub_0805BEC4 + bl DeleteThisEntity +_0805BE6C: + pop {r4, pc} + .align 2, 0 + .syntax divided diff --git a/asm/non_matching/manager23/sub_0805BE70.inc b/asm/non_matching/manager23/sub_0805BE70.inc new file mode 100644 index 00000000..18b92284 --- /dev/null +++ b/asm/non_matching/manager23/sub_0805BE70.inc @@ -0,0 +1,19 @@ + .syntax unified + push {r4, lr} + adds r4, r1, #0 + ldrh r1, [r0, #0x38] + lsls r1, r1, #0x10 + asrs r1, r1, #0x14 + movs r3, #0x3f + ands r1, r3 + ldrh r2, [r0, #0x3a] + lsls r2, r2, #0x10 + asrs r2, r2, #0x14 + ands r2, r3 + lsls r2, r2, #6 + orrs r1, r2 + ldrb r2, [r0, #0xb] + adds r0, r4, #0 + bl SetTileType + pop {r4, pc} + .syntax divided diff --git a/asm/non_matching/manager23/sub_0805BE94.inc b/asm/non_matching/manager23/sub_0805BE94.inc new file mode 100644 index 00000000..a4e34a14 --- /dev/null +++ b/asm/non_matching/manager23/sub_0805BE94.inc @@ -0,0 +1,23 @@ + .syntax unified + push {r4, lr} + adds r4, r0, #0 + ldrh r1, [r4, #0x38] + lsls r1, r1, #0x10 + asrs r1, r1, #0x14 + movs r2, #0x3f + ands r1, r2 + ldrh r0, [r4, #0x3a] + lsls r0, r0, #0x10 + asrs r0, r0, #0x14 + ands r0, r2 + lsls r0, r0, #6 + orrs r1, r0 + ldrb r2, [r4, #0xb] + movs r0, #0x76 + bl SetTileType + ldrb r0, [r4, #0xe] + bl sub_0805308C + bl DeleteThisEntity + pop {r4, pc} + .align 2, 0 + .syntax divided diff --git a/asm/non_matching/manager23/sub_0805BEC4.inc b/asm/non_matching/manager23/sub_0805BEC4.inc new file mode 100644 index 00000000..daf91631 --- /dev/null +++ b/asm/non_matching/manager23/sub_0805BEC4.inc @@ -0,0 +1,43 @@ + .syntax unified + push {r4, lr} + adds r4, r0, #0 + movs r0, #0x2a + movs r1, #1 + movs r2, #0 + bl CreateObject + adds r2, r0, #0 + cmp r2, #0 + beq _0805BF10 + ldrb r1, [r2, #0x11] + movs r0, #0x10 + rsbs r0, r0, #0 + ands r0, r1 + movs r1, #3 + orrs r0, r1 + strb r0, [r2, #0x11] + ldr r1, _0805BF14 @ =gRoomControls + ldrh r0, [r1, #6] + ldrh r3, [r4, #0x38] + adds r0, r0, r3 + strh r0, [r2, #0x2e] + ldrh r0, [r1, #8] + ldrh r1, [r4, #0x3a] + adds r0, r0, r1 + strh r0, [r2, #0x32] + ldrb r1, [r4, #0xb] + adds r0, r2, #0 + adds r0, #0x38 + strb r1, [r0] + adds r2, #0x29 + ldrb r1, [r2] + movs r0, #8 + rsbs r0, r0, #0 + ands r0, r1 + movs r1, #2 + orrs r0, r1 + strb r0, [r2] +_0805BF10: + pop {r4, pc} + .align 2, 0 +_0805BF14: .4byte gRoomControls + .syntax divided diff --git a/asm/non_matching/manager29/Manager29_Main.inc b/asm/non_matching/manager29/Manager29_Main.inc new file mode 100644 index 00000000..a95f1469 --- /dev/null +++ b/asm/non_matching/manager29/Manager29_Main.inc @@ -0,0 +1,29 @@ + .syntax unified + push {r4, lr} + adds r4, r0, #0 + ldrb r0, [r4, #0xc] + cmp r0, #0 + bne _0805CBB8 + adds r0, r4, #0 + bl sub_0805CBD0 + ldrh r0, [r4, #0x3e] + bl CheckFlags + cmp r0, #0 + beq _0805CBCE + adds r0, r4, #0 + bl sub_0805CC3C + adds r0, r4, #0 + bl DeleteManager + b _0805CBCE +_0805CBB8: + adds r0, r4, #0 + bl sub_0805CF80 + cmp r0, #0 + beq _0805CBCE + ldrh r0, [r4, #0x3e] + bl SetFlag + adds r0, r4, #0 + bl DeleteManager +_0805CBCE: + pop {r4, pc} + .syntax divided diff --git a/asm/non_matching/manager29/sub_0805CBD0.inc b/asm/non_matching/manager29/sub_0805CBD0.inc new file mode 100644 index 00000000..ac48b7a1 --- /dev/null +++ b/asm/non_matching/manager29/sub_0805CBD0.inc @@ -0,0 +1,54 @@ + .syntax unified + push {r4, r5, lr} + adds r5, r0, #0 + movs r0, #1 + strb r0, [r5, #0xc] + ldrh r1, [r5, #0x38] + lsls r1, r1, #0x10 + asrs r1, r1, #0x14 + movs r3, #0x3f + ands r1, r3 + ldrh r0, [r5, #0x3a] + lsls r0, r0, #0x10 + asrs r0, r0, #0x14 + ands r0, r3 + lsls r0, r0, #6 + orrs r1, r0 + strh r1, [r5, #0x38] + ldrh r2, [r5, #0x3c] + lsrs r2, r2, #4 + ands r2, r3 + adds r0, r5, #0 + adds r0, #0x36 + ldrb r1, [r0] + adds r0, #1 + ldrb r0, [r0] + lsls r0, r0, #8 + adds r1, r1, r0 + asrs r1, r1, #4 + ands r1, r3 + lsls r1, r1, #6 + orrs r2, r1 + strh r2, [r5, #0x3a] + movs r1, #0x38 + ldrsh r0, [r5, r1] + adds r4, r5, #0 + adds r4, #0x34 + ldrb r1, [r4] + bl GetTileType + strh r0, [r5, #0x3c] + ldrb r0, [r4] + bl GetLayerByIndex + ldr r2, _0805CC38 @ =0x00005004 + adds r1, r0, r2 + str r1, [r5, #0x28] + movs r2, #0x3a + ldrsh r1, [r5, r2] + lsls r1, r1, #1 + adds r1, #4 + adds r0, r0, r1 + str r0, [r5, #0x2c] + pop {r4, r5, pc} + .align 2, 0 +_0805CC38: .4byte 0x00005004 + .syntax divided diff --git a/asm/manager29.s b/asm/non_matching/manager29/sub_0805CC3C.inc similarity index 73% rename from asm/manager29.s rename to asm/non_matching/manager29/sub_0805CC3C.inc index ae60f934..402b9d89 100644 --- a/asm/manager29.s +++ b/asm/non_matching/manager29/sub_0805CC3C.inc @@ -1,98 +1,4 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - .syntax unified - - .text - - thumb_func_start Manager29_Main -Manager29_Main: @ 0x0805CB90 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0805CBB8 - adds r0, r4, #0 - bl sub_0805CBD0 - ldrh r0, [r4, #0x3e] - bl CheckFlags - cmp r0, #0 - beq _0805CBCE - adds r0, r4, #0 - bl sub_0805CC3C - adds r0, r4, #0 - bl DeleteManager - b _0805CBCE -_0805CBB8: - adds r0, r4, #0 - bl sub_0805CF80 - cmp r0, #0 - beq _0805CBCE - ldrh r0, [r4, #0x3e] - bl SetFlag - adds r0, r4, #0 - bl DeleteManager -_0805CBCE: - pop {r4, pc} - - thumb_func_start sub_0805CBD0 -sub_0805CBD0: @ 0x0805CBD0 - push {r4, r5, lr} - adds r5, r0, #0 - movs r0, #1 - strb r0, [r5, #0xc] - ldrh r1, [r5, #0x38] - lsls r1, r1, #0x10 - asrs r1, r1, #0x14 - movs r3, #0x3f - ands r1, r3 - ldrh r0, [r5, #0x3a] - lsls r0, r0, #0x10 - asrs r0, r0, #0x14 - ands r0, r3 - lsls r0, r0, #6 - orrs r1, r0 - strh r1, [r5, #0x38] - ldrh r2, [r5, #0x3c] - lsrs r2, r2, #4 - ands r2, r3 - adds r0, r5, #0 - adds r0, #0x36 - ldrb r1, [r0] - adds r0, #1 - ldrb r0, [r0] - lsls r0, r0, #8 - adds r1, r1, r0 - asrs r1, r1, #4 - ands r1, r3 - lsls r1, r1, #6 - orrs r2, r1 - strh r2, [r5, #0x3a] - movs r1, #0x38 - ldrsh r0, [r5, r1] - adds r4, r5, #0 - adds r4, #0x34 - ldrb r1, [r4] - bl GetTileType - strh r0, [r5, #0x3c] - ldrb r0, [r4] - bl GetLayerByIndex - ldr r2, _0805CC38 @ =0x00005004 - adds r1, r0, r2 - str r1, [r5, #0x28] - movs r2, #0x3a - ldrsh r1, [r5, r2] - lsls r1, r1, #1 - adds r1, #4 - adds r0, r0, r1 - str r0, [r5, #0x2c] - pop {r4, r5, pc} - .align 2, 0 -_0805CC38: .4byte 0x00005004 - - thumb_func_start sub_0805CC3C -sub_0805CC3C: @ 0x0805CC3C push {r4, r5, r6, r7, lr} mov r7, r8 push {r7} @@ -448,39 +354,4 @@ _0805CF70: .4byte 0x00000372 _0805CF74: .4byte 0x0000036F _0805CF78: .4byte 0x00000375 _0805CF7C: .4byte 0x00000371 - - thumb_func_start sub_0805CF80 -sub_0805CF80: @ 0x0805CF80 - push {lr} - ldr r1, [r0, #0x2c] - ldrh r1, [r1] - ldr r0, [r0, #0x28] - lsls r1, r1, #1 - adds r1, r1, r0 - ldrh r1, [r1] - movs r2, #0 - ldr r0, _0805CFBC @ =0x00000365 - cmp r1, r0 - beq _0805CFB4 - adds r0, #4 - cmp r1, r0 - beq _0805CFB4 - adds r0, #1 - cmp r1, r0 - beq _0805CFB4 - adds r0, #1 - cmp r1, r0 - beq _0805CFB4 - adds r0, #2 - cmp r1, r0 - beq _0805CFB4 - subs r0, #1 - cmp r1, r0 - bne _0805CFB6 -_0805CFB4: - movs r2, #1 -_0805CFB6: - adds r0, r2, #0 - pop {pc} - .align 2, 0 -_0805CFBC: .4byte 0x00000365 + .syntax divided diff --git a/asm/non_matching/manager29/sub_0805CF80.inc b/asm/non_matching/manager29/sub_0805CF80.inc new file mode 100644 index 00000000..6e7c0007 --- /dev/null +++ b/asm/non_matching/manager29/sub_0805CF80.inc @@ -0,0 +1,35 @@ + .syntax unified + push {lr} + ldr r1, [r0, #0x2c] + ldrh r1, [r1] + ldr r0, [r0, #0x28] + lsls r1, r1, #1 + adds r1, r1, r0 + ldrh r1, [r1] + movs r2, #0 + ldr r0, _0805CFBC @ =0x00000365 + cmp r1, r0 + beq _0805CFB4 + adds r0, #4 + cmp r1, r0 + beq _0805CFB4 + adds r0, #1 + cmp r1, r0 + beq _0805CFB4 + adds r0, #1 + cmp r1, r0 + beq _0805CFB4 + adds r0, #2 + cmp r1, r0 + beq _0805CFB4 + subs r0, #1 + cmp r1, r0 + bne _0805CFB6 +_0805CFB4: + movs r2, #1 +_0805CFB6: + adds r0, r2, #0 + pop {pc} + .align 2, 0 +_0805CFBC: .4byte 0x00000365 + .syntax divided diff --git a/asm/non_matching/manager2B/Manager2B_Main.inc b/asm/non_matching/manager2B/Manager2B_Main.inc new file mode 100644 index 00000000..5e0a806b --- /dev/null +++ b/asm/non_matching/manager2B/Manager2B_Main.inc @@ -0,0 +1,12 @@ + .syntax unified + push {lr} + ldr r2, _0805D028 @ =gUnk_08108D30 + ldrb r1, [r0, #0xc] + lsls r1, r1, #2 + adds r1, r1, r2 + ldr r1, [r1] + bl _call_via_r1 + pop {pc} + .align 2, 0 +_0805D028: .4byte gUnk_08108D30 + .syntax divided diff --git a/asm/non_matching/manager2B/sub_0805D02C.inc b/asm/non_matching/manager2B/sub_0805D02C.inc new file mode 100644 index 00000000..fc30b11f --- /dev/null +++ b/asm/non_matching/manager2B/sub_0805D02C.inc @@ -0,0 +1,74 @@ + .syntax unified + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + adds r6, r0, #0 + ldrh r0, [r6, #0x3e] + bl CheckFlags + cmp r0, #0 + beq _0805D046 + bl DeleteThisEntity +_0805D046: + ldr r0, _0805D0BC @ =gEntCount + ldrb r0, [r0] + cmp r0, #0x43 + bhi _0805D0B0 + ldrb r0, [r6, #0xa] + bl GetCurrentRoomProperty + adds r5, r0, #0 + movs r7, #0 + movs r0, #0x36 + adds r0, r0, r6 + mov sl, r0 + ldr r1, _0805D0C0 @ =gRoomControls + mov r8, r1 + movs r0, #0x20 + adds r0, r0, r6 + mov sb, r0 +_0805D068: + ldrh r1, [r5, #4] + movs r0, #0xa0 + adds r2, r7, #0 + bl CreateObject + adds r4, r0, #0 + mov r1, r8 + ldrh r0, [r1, #6] + ldrh r1, [r5] + adds r0, r0, r1 + strh r0, [r4, #0x2e] + mov r1, r8 + ldrh r0, [r1, #8] + ldrh r1, [r5, #2] + adds r0, r0, r1 + strh r0, [r4, #0x32] + str r6, [r4, #0x50] + adds r0, r4, #0 + bl sub_08016A30 + mov r0, sb + adds r0, #4 + mov sb, r0 + subs r0, #4 + stm r0!, {r4} + adds r7, #1 + adds r5, #6 + cmp r7, #3 + bls _0805D068 + movs r0, #0 + movs r1, #1 + strb r1, [r6, #0xc] + movs r1, #0x3c + strb r1, [r6, #0xf] + mov r1, sl + strb r0, [r1] +_0805D0B0: + pop {r3, r4, r5} + mov r8, r3 + mov sb, r4 + mov sl, r5 + pop {r4, r5, r6, r7, pc} + .align 2, 0 +_0805D0BC: .4byte gEntCount +_0805D0C0: .4byte gRoomControls + .syntax divided diff --git a/asm/non_matching/manager2B/sub_0805D0C4.inc b/asm/non_matching/manager2B/sub_0805D0C4.inc new file mode 100644 index 00000000..5472b6d4 --- /dev/null +++ b/asm/non_matching/manager2B/sub_0805D0C4.inc @@ -0,0 +1,30 @@ + .syntax unified + push {r4, r5, lr} + adds r4, r0, #0 + ldrb r0, [r4, #0xf] + subs r0, #1 + strb r0, [r4, #0xf] + lsls r0, r0, #0x18 + cmp r0, #0 + bne _0805D0D8 + movs r0, #0xb4 + strb r0, [r4, #0xf] +_0805D0D8: + adds r5, r4, #0 + adds r5, #0x36 + ldrb r0, [r5] + cmp r0, #0xf + bne _0805D0F6 + movs r0, #2 + strb r0, [r4, #0xc] + movs r0, #8 + strb r0, [r4, #0xe] + movs r0, #0x72 + bl SoundReq + adds r0, r4, #0 + bl sub_0805D11C +_0805D0F6: + movs r0, #0 + strb r0, [r5] + pop {r4, r5, pc} + .syntax divided diff --git a/asm/non_matching/manager2B/sub_0805D0FC.inc b/asm/non_matching/manager2B/sub_0805D0FC.inc new file mode 100644 index 00000000..c0e0bd1d --- /dev/null +++ b/asm/non_matching/manager2B/sub_0805D0FC.inc @@ -0,0 +1,17 @@ + .syntax unified + push {r4, lr} + adds r4, r0, #0 + ldrb r0, [r4, #0xe] + subs r0, #1 + strb r0, [r4, #0xe] + lsls r0, r0, #0x18 + cmp r0, #0 + bne _0805D118 + ldrh r0, [r4, #0x3e] + bl SetFlag + adds r0, r4, #0 + bl DeleteManager +_0805D118: + pop {r4, pc} + .align 2, 0 + .syntax divided diff --git a/asm/non_matching/manager2B/sub_0805D11C.inc b/asm/non_matching/manager2B/sub_0805D11C.inc new file mode 100644 index 00000000..6f1e4f0e --- /dev/null +++ b/asm/non_matching/manager2B/sub_0805D11C.inc @@ -0,0 +1,44 @@ + .syntax unified + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + movs r6, #0 + ldr r1, _0805D170 @ =gRoomControls + mov r8, r1 + movs r7, #0x3f + adds r5, r0, #0 + adds r5, #0x20 +_0805D12E: + ldr r4, [r5] + movs r0, #0 + stm r5!, {r0} + movs r2, #0x2e + ldrsh r0, [r4, r2] + mov r3, r8 + ldrh r1, [r3, #6] + subs r0, r0, r1 + asrs r0, r0, #4 + ands r0, r7 + movs r2, #0x32 + ldrsh r1, [r4, r2] + ldrh r2, [r3, #8] + subs r1, r1, r2 + asrs r1, r1, #4 + ands r1, r7 + lsls r1, r1, #6 + orrs r0, r1 + adds r1, r4, #0 + adds r1, #0x38 + ldrb r1, [r1] + bl sub_0807BA8C + adds r0, r4, #0 + bl DeleteEntity + adds r6, #1 + cmp r6, #3 + bls _0805D12E + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7, pc} + .align 2, 0 +_0805D170: .4byte gRoomControls + .syntax divided diff --git a/asm/non_matching/manager2E/sub_0805D280.inc b/asm/non_matching/manager2E/sub_0805D280.inc new file mode 100644 index 00000000..3b24e036 --- /dev/null +++ b/asm/non_matching/manager2E/sub_0805D280.inc @@ -0,0 +1,31 @@ + .syntax unified + push {r4, lr} + adds r4, r0, #0 + ldrh r0, [r4, #0x3c] + bl CheckFlags + cmp r0, #0 + beq _0805D292 + bl DeleteThisEntity +_0805D292: + ldrh r0, [r4, #0x3e] + bl CheckFlags + cmp r0, #0 + beq _0805D2A6 + ldrh r0, [r4, #0x3c] + bl SetFlag + bl DeleteThisEntity +_0805D2A6: + movs r0, #1 + strb r0, [r4, #0xc] + ldrb r0, [r4, #0xe] + cmp r0, #0 + bne _0805D2B4 + movs r0, #0x1e + strb r0, [r4, #0xe] +_0805D2B4: + adds r0, r4, #0 + movs r1, #6 + bl sub_0805E3A0 + pop {r4, pc} + .align 2, 0 + .syntax divided diff --git a/asm/non_matching/manager2E/sub_0805D2C0.inc b/asm/non_matching/manager2E/sub_0805D2C0.inc new file mode 100644 index 00000000..f90414ea --- /dev/null +++ b/asm/non_matching/manager2E/sub_0805D2C0.inc @@ -0,0 +1,27 @@ + .syntax unified + push {r4, lr} + adds r4, r0, #0 + ldrh r0, [r4, #0x3e] + bl CheckFlags + cmp r0, #0 + beq _0805D2EE + ldr r0, _0805D2F0 @ =gUnk_03003DC0 + ldrh r0, [r0, #8] + cmp r0, #1 + bhi _0805D2EE + movs r0, #2 + strb r0, [r4, #0xc] + ldrb r0, [r4, #0xe] + cmp r0, #1 + bne _0805D2E6 + adds r0, r4, #0 + bl sub_0805D2F4 +_0805D2E6: + ldrb r1, [r4, #0xe] + adds r0, r4, #0 + bl sub_0805E4E0 +_0805D2EE: + pop {r4, pc} + .align 2, 0 +_0805D2F0: .4byte gUnk_03003DC0 + .syntax divided diff --git a/asm/non_matching/manager2E/sub_0805D2F4.inc b/asm/non_matching/manager2E/sub_0805D2F4.inc new file mode 100644 index 00000000..f9780632 --- /dev/null +++ b/asm/non_matching/manager2E/sub_0805D2F4.inc @@ -0,0 +1,29 @@ + .syntax unified + push {r4, lr} + adds r4, r0, #0 + ldr r0, _0805D310 @ =gUnk_03003DC0 + ldrh r0, [r0, #8] + cmp r0, #0 + bne _0805D328 + movs r1, #0x38 + ldrsh r0, [r4, r1] + cmp r0, #0 + beq _0805D314 + bl SoundReq + b _0805D31A + .align 2, 0 +_0805D310: .4byte gUnk_03003DC0 +_0805D314: + movs r0, #0x72 + bl SoundReq +_0805D31A: + ldrh r0, [r4, #0x3c] + cmp r0, #0 + beq _0805D324 + bl SetFlag +_0805D324: + bl DeleteThisEntity +_0805D328: + pop {r4, pc} + .align 2, 0 + .syntax divided diff --git a/asm/non_matching/manager2E/sub_0805D32C.inc b/asm/non_matching/manager2E/sub_0805D32C.inc new file mode 100644 index 00000000..bfbb75de --- /dev/null +++ b/asm/non_matching/manager2E/sub_0805D32C.inc @@ -0,0 +1,12 @@ + .syntax unified + push {lr} + ldr r2, _0805D340 @ =gUnk_08108D50 + ldrb r1, [r0, #0xc] + lsls r1, r1, #2 + adds r1, r1, r2 + ldr r1, [r1] + bl _call_via_r1 + pop {pc} + .align 2, 0 +_0805D340: .4byte gUnk_08108D50 + .syntax divided diff --git a/asm/non_matching/manager2E/sub_0805D344.inc b/asm/non_matching/manager2E/sub_0805D344.inc new file mode 100644 index 00000000..8a333ead --- /dev/null +++ b/asm/non_matching/manager2E/sub_0805D344.inc @@ -0,0 +1,21 @@ + .syntax unified + push {r4, lr} + adds r4, r0, #0 + ldrh r0, [r4, #0x3e] + bl CheckFlags + movs r0, #1 + strb r0, [r4, #0xc] + ldrb r0, [r4, #0xe] + cmp r0, #0 + bne _0805D35C + movs r0, #0x1e + strb r0, [r4, #0xe] +_0805D35C: + ldrb r0, [r4, #0xe] + strb r0, [r4, #0xf] + adds r0, r4, #0 + movs r1, #6 + bl sub_0805E3A0 + pop {r4, pc} + .align 2, 0 + .syntax divided diff --git a/asm/non_matching/manager2E/sub_0805D36C.inc b/asm/non_matching/manager2E/sub_0805D36C.inc new file mode 100644 index 00000000..6398179b --- /dev/null +++ b/asm/non_matching/manager2E/sub_0805D36C.inc @@ -0,0 +1,14 @@ + .syntax unified + push {r4, lr} + adds r4, r0, #0 + ldrh r0, [r4, #0x3e] + bl CheckFlags + cmp r0, #0 + beq _0805D382 + movs r0, #2 + strb r0, [r4, #0xc] + ldrb r0, [r4, #0xf] + strb r0, [r4, #0xe] +_0805D382: + pop {r4, pc} + .syntax divided diff --git a/asm/non_matching/manager2E/sub_0805D384.inc b/asm/non_matching/manager2E/sub_0805D384.inc new file mode 100644 index 00000000..ee124568 --- /dev/null +++ b/asm/non_matching/manager2E/sub_0805D384.inc @@ -0,0 +1,35 @@ + .syntax unified + push {r4, lr} + adds r4, r0, #0 + ldrb r0, [r4, #0xe] + cmp r0, #0 + beq _0805D3B2 + subs r0, #1 + strb r0, [r4, #0xe] + lsls r0, r0, #0x18 + cmp r0, #0 + bne _0805D3C6 + movs r1, #0x38 + ldrsh r0, [r4, r1] + movs r1, #0x72 + cmp r0, #0 + beq _0805D3A4 + adds r1, r0, #0 +_0805D3A4: + adds r0, r1, #0 + bl SoundReq + ldrh r0, [r4, #0x3c] + bl SetFlag + b _0805D3C6 +_0805D3B2: + ldrh r0, [r4, #0x3e] + bl CheckFlags + cmp r0, #0 + bne _0805D3C6 + movs r0, #1 + strb r0, [r4, #0xc] + ldrh r0, [r4, #0x3c] + bl ClearFlag +_0805D3C6: + pop {r4, pc} + .syntax divided diff --git a/asm/manager2F.s b/asm/non_matching/manager2F/Manager2F_Main.inc similarity index 67% rename from asm/manager2F.s rename to asm/non_matching/manager2F/Manager2F_Main.inc index 4c4b0c51..01d9f8d9 100644 --- a/asm/manager2F.s +++ b/asm/non_matching/manager2F/Manager2F_Main.inc @@ -1,13 +1,4 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - .syntax unified - - .text - - thumb_func_start Manager2F_Main -Manager2F_Main: @ 0x0805D3C8 push {r4, lr} adds r4, r0, #0 cmp r4, #0 @@ -83,32 +74,4 @@ _0805D460: .4byte gRoomControls _0805D464: .4byte 0xFFFFC000 _0805D468: .4byte 0xFFFFE000 _0805D46C: .4byte gScreen - - thumb_func_start sub_0805D470 -sub_0805D470: @ 0x0805D470 - push {lr} - movs r0, #0x4c - bl LoadGfxGroup - ldr r2, _0805D4A0 @ =gScreen - ldr r0, _0805D4A4 @ =0x00001E07 - strh r0, [r2, #0x2c] - ldrh r1, [r2] - movs r3, #0x80 - lsls r3, r3, #4 - adds r0, r3, #0 - orrs r0, r1 - strh r0, [r2] - ldr r1, _0805D4A8 @ =gRoomControls - ldrh r0, [r1, #0x2a] - ldrh r3, [r1, #0xa] - adds r0, r0, r3 - strh r0, [r2, #0x2e] - ldrh r0, [r1, #0x2e] - ldrh r1, [r1, #0xc] - adds r0, r0, r1 - strh r0, [r2, #0x30] - pop {pc} - .align 2, 0 -_0805D4A0: .4byte gScreen -_0805D4A4: .4byte 0x00001E07 -_0805D4A8: .4byte gRoomControls + .syntax divided diff --git a/asm/non_matching/manager2F/sub_0805D470.inc b/asm/non_matching/manager2F/sub_0805D470.inc new file mode 100644 index 00000000..9417a56e --- /dev/null +++ b/asm/non_matching/manager2F/sub_0805D470.inc @@ -0,0 +1,28 @@ + .syntax unified + push {lr} + movs r0, #0x4c + bl LoadGfxGroup + ldr r2, _0805D4A0 @ =gScreen + ldr r0, _0805D4A4 @ =0x00001E07 + strh r0, [r2, #0x2c] + ldrh r1, [r2] + movs r3, #0x80 + lsls r3, r3, #4 + adds r0, r3, #0 + orrs r0, r1 + strh r0, [r2] + ldr r1, _0805D4A8 @ =gRoomControls + ldrh r0, [r1, #0x2a] + ldrh r3, [r1, #0xa] + adds r0, r0, r3 + strh r0, [r2, #0x2e] + ldrh r0, [r1, #0x2e] + ldrh r1, [r1, #0xc] + adds r0, r0, r1 + strh r0, [r2, #0x30] + pop {pc} + .align 2, 0 +_0805D4A0: .4byte gScreen +_0805D4A4: .4byte 0x00001E07 +_0805D4A8: .4byte gRoomControls + .syntax divided diff --git a/asm/manager31.s b/asm/non_matching/manager31/Manager31_Main.inc similarity index 95% rename from asm/manager31.s rename to asm/non_matching/manager31/Manager31_Main.inc index 50642d48..07a9d156 100644 --- a/asm/manager31.s +++ b/asm/non_matching/manager31/Manager31_Main.inc @@ -1,13 +1,4 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - .syntax unified - - .text - - thumb_func_start Manager31_Main -Manager31_Main: @ 0x0805D630 push {r4, r5, r6, r7, lr} mov r7, sb mov r6, r8 @@ -180,3 +171,4 @@ _0805D78E: .align 2, 0 _0805D79C: .4byte gUnk_08108D5C _0805D7A0: .4byte gRoomControls + .syntax divided diff --git a/asm/non_matching/manager32/Manager32_Main.inc b/asm/non_matching/manager32/Manager32_Main.inc new file mode 100644 index 00000000..7b7b447b --- /dev/null +++ b/asm/non_matching/manager32/Manager32_Main.inc @@ -0,0 +1,25 @@ + .syntax unified + push {r4, lr} + adds r4, r0, #0 + ldr r1, _0805D7D4 @ =gUnk_08108D7C + 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, _0805D7D8 @ =gScreenTransition + ldr r0, [r0] + lsls r0, r0, #4 + str r0, [r4, #0x24] + adds r0, r4, #0 + bl sub_0805D9D8 + ldr r0, [r4, #0x20] + ldr r1, [r4, #0x28] + ldr r2, [r4, #0x24] + bl sub_0805DA08 + pop {r4, pc} + .align 2, 0 +_0805D7D4: .4byte gUnk_08108D7C +_0805D7D8: .4byte gScreenTransition + .syntax divided diff --git a/asm/non_matching/manager32/sub_0805D7DC.inc b/asm/non_matching/manager32/sub_0805D7DC.inc new file mode 100644 index 00000000..51d63c09 --- /dev/null +++ b/asm/non_matching/manager32/sub_0805D7DC.inc @@ -0,0 +1,77 @@ + .syntax unified + push {lr} + adds r1, r0, #0 + ldrb r0, [r1, #0xa] + movs r2, #2 + cmp r0, #0 + bne _0805D7EA + movs r2, #1 +_0805D7EA: + movs r0, #0 + strb r2, [r1, #0xc] + str r0, [r1, #0x20] + str r0, [r1, #0x24] + ldr r0, _0805D80C @ =gRoomControls + ldrb r0, [r0, #4] + cmp r0, #0x78 + beq _0805D83C + cmp r0, #0x78 + bgt _0805D816 + cmp r0, #7 + beq _0805D828 + cmp r0, #7 + bgt _0805D810 + cmp r0, #3 + beq _0805D82C + b _0805D828 + .align 2, 0 +_0805D80C: .4byte gRoomControls +_0805D810: + cmp r0, #0x38 + beq _0805D840 + b _0805D828 +_0805D816: + cmp r0, #0x81 + beq _0805D830 + cmp r0, #0x81 + bgt _0805D824 + cmp r0, #0x80 + beq _0805D834 + b _0805D828 +_0805D824: + cmp r0, #0x88 + beq _0805D838 +_0805D828: + movs r1, #0 + b _0805D842 +_0805D82C: + movs r1, #1 + b _0805D842 +_0805D830: + movs r1, #2 + b _0805D842 +_0805D834: + movs r1, #3 + b _0805D842 +_0805D838: + movs r1, #4 + b _0805D842 +_0805D83C: + movs r1, #5 + b _0805D842 +_0805D840: + movs r1, #6 +_0805D842: + ldr r0, _0805D854 @ =gUnk_08108D74 + adds r0, r1, r0 + ldrb r0, [r0] + bl LoadGfxGroup + ldr r1, _0805D858 @ =gScreen + ldr r0, _0805D85C @ =0x00001E04 + strh r0, [r1, #0x2c] + pop {pc} + .align 2, 0 +_0805D854: .4byte gUnk_08108D74 +_0805D858: .4byte gScreen +_0805D85C: .4byte 0x00001E04 + .syntax divided diff --git a/asm/non_matching/manager32/sub_0805D860.inc b/asm/non_matching/manager32/sub_0805D860.inc new file mode 100644 index 00000000..7e46065a --- /dev/null +++ b/asm/non_matching/manager32/sub_0805D860.inc @@ -0,0 +1,84 @@ + .syntax unified + push {lr} + adds r1, r0, #0 + ldrb r0, [r1, #0xd] + cmp r0, #1 + beq _0805D89C + cmp r0, #1 + bgt _0805D874 + cmp r0, #0 + beq _0805D87E + b _0805D8D6 +_0805D874: + cmp r0, #2 + beq _0805D8B0 + cmp r0, #3 + beq _0805D8C2 + b _0805D8D6 +_0805D87E: + movs r0, #1 + strb r0, [r1, #0xd] + movs r0, #0x80 + str r0, [r1, #0x20] + ldr r2, _0805D898 @ =gScreen + ldrh r1, [r2] + movs r3, #0x80 + lsls r3, r3, #4 + adds r0, r3, #0 + orrs r0, r1 + strh r0, [r2] + b _0805D8F4 + .align 2, 0 +_0805D898: .4byte gScreen +_0805D89C: + ldr r0, [r1, #0x20] + subs r0, #1 + str r0, [r1, #0x20] + cmp r0, #0x10 + bne _0805D8F4 + movs r0, #2 + strb r0, [r1, #0xd] + movs r0, #0x2d + strb r0, [r1, #0xe] + b _0805D8F4 +_0805D8B0: + ldrb r0, [r1, #0xe] + subs r0, #1 + strb r0, [r1, #0xe] + lsls r0, r0, #0x18 + cmp r0, #0 + bne _0805D8F4 + movs r0, #3 + strb r0, [r1, #0xd] + b _0805D8F4 +_0805D8C2: + ldr r0, [r1, #0x20] + subs r0, #1 + str r0, [r1, #0x20] + cmp r0, #0 + bne _0805D8F4 + movs r0, #4 + strb r0, [r1, #0xd] + movs r0, #0x3c + strb r0, [r1, #0xe] + b _0805D8F4 +_0805D8D6: + ldrb r0, [r1, #0xe] + subs r0, #1 + strb r0, [r1, #0xe] + lsls r0, r0, #0x18 + cmp r0, #0 + bne _0805D8F4 + bl sub_0801E104 + ldr r2, _0805D8F8 @ =gScreen + ldrh r1, [r2] + ldr r0, _0805D8FC @ =0x0000F7FF + ands r0, r1 + strh r0, [r2] + bl DeleteThisEntity +_0805D8F4: + pop {pc} + .align 2, 0 +_0805D8F8: .4byte gScreen +_0805D8FC: .4byte 0x0000F7FF + .syntax divided diff --git a/asm/non_matching/manager32/sub_0805D900.inc b/asm/non_matching/manager32/sub_0805D900.inc new file mode 100644 index 00000000..957bfdfe --- /dev/null +++ b/asm/non_matching/manager32/sub_0805D900.inc @@ -0,0 +1,75 @@ + .syntax unified + push {lr} + adds r2, r0, #0 + ldrb r0, [r2, #0xd] + cmp r0, #1 + beq _0805D938 + cmp r0, #1 + bgt _0805D914 + cmp r0, #0 + beq _0805D91A + b _0805D966 +_0805D914: + cmp r0, #2 + beq _0805D94E + b _0805D966 +_0805D91A: + movs r1, #1 + strb r1, [r2, #0xd] + movs r0, #0x2d + strb r0, [r2, #0xe] + str r1, [r2, #0x20] + ldr r2, _0805D934 @ =gScreen + ldrh r1, [r2] + movs r3, #0x80 + lsls r3, r3, #4 + adds r0, r3, #0 + orrs r0, r1 + strh r0, [r2] + b _0805D982 + .align 2, 0 +_0805D934: .4byte gScreen +_0805D938: + ldrb r0, [r2, #0xe] + subs r0, #1 + strb r0, [r2, #0xe] + lsls r0, r0, #0x18 + cmp r0, #0 + bne _0805D982 + movs r0, #2 + strb r0, [r2, #0xd] + movs r0, #0x14 + strb r0, [r2, #0xe] + b _0805D982 +_0805D94E: + ldr r0, [r2, #0x20] + adds r0, #1 + str r0, [r2, #0x20] + ldrb r0, [r2, #0xe] + subs r0, #1 + strb r0, [r2, #0xe] + lsls r0, r0, #0x18 + cmp r0, #0 + bne _0805D982 + movs r0, #3 + strb r0, [r2, #0xd] + b _0805D982 +_0805D966: + ldr r0, [r2, #0x20] + adds r0, #4 + str r0, [r2, #0x20] + cmp r0, #0x80 + bls _0805D982 + bl sub_0801E104 + ldr r2, _0805D984 @ =gScreen + ldrh r1, [r2] + ldr r0, _0805D988 @ =0x0000F7FF + ands r0, r1 + strh r0, [r2] + bl DeleteThisEntity +_0805D982: + pop {pc} + .align 2, 0 +_0805D984: .4byte gScreen +_0805D988: .4byte 0x0000F7FF + .syntax divided diff --git a/asm/non_matching/manager32/sub_0805D98C.inc b/asm/non_matching/manager32/sub_0805D98C.inc new file mode 100644 index 00000000..85c4b0b3 --- /dev/null +++ b/asm/non_matching/manager32/sub_0805D98C.inc @@ -0,0 +1,43 @@ + .syntax unified + push {lr} + adds r2, r0, #0 + ldr r3, _0805D9D4 @ =gInput + ldrh r1, [r3] + movs r0, #0x40 + ands r0, r1 + cmp r0, #0 + beq _0805D9A2 + ldr r0, [r2, #0x20] + subs r0, #1 + str r0, [r2, #0x20] +_0805D9A2: + ldrh r1, [r3] + movs r0, #0x80 + ands r0, r1 + adds r3, r1, #0 + cmp r0, #0 + beq _0805D9B4 + ldr r0, [r2, #0x20] + adds r0, #1 + str r0, [r2, #0x20] +_0805D9B4: + movs r0, #0x20 + ands r0, r3 + cmp r0, #0 + beq _0805D9C2 + ldr r0, [r2, #0x28] + subs r0, #1 + str r0, [r2, #0x28] +_0805D9C2: + movs r0, #0x10 + ands r0, r1 + cmp r0, #0 + beq _0805D9D0 + ldr r0, [r2, #0x28] + adds r0, #1 + str r0, [r2, #0x28] +_0805D9D0: + pop {pc} + .align 2, 0 +_0805D9D4: .4byte gInput + .syntax divided diff --git a/asm/non_matching/manager32/sub_0805D9D8.inc b/asm/non_matching/manager32/sub_0805D9D8.inc new file mode 100644 index 00000000..5ca9e63a --- /dev/null +++ b/asm/non_matching/manager32/sub_0805D9D8.inc @@ -0,0 +1,25 @@ + .syntax unified + push {r4, lr} + ldr r4, [r0, #0x14] + cmp r4, #0 + beq _0805D9FC + ldr r3, _0805DA00 @ =gScreen + ldr r2, _0805DA04 @ =gRoomControls + ldrh r1, [r4, #0x2e] + ldrh r0, [r2, #0xa] + subs r1, r1, r0 + movs r0, #0x80 + subs r0, r0, r1 + strh r0, [r3, #0x2e] + ldrh r1, [r4, #0x32] + ldrh r0, [r2, #0xc] + subs r1, r1, r0 + movs r0, #0x8c + subs r0, r0, r1 + strh r0, [r3, #0x30] +_0805D9FC: + pop {r4, pc} + .align 2, 0 +_0805DA00: .4byte gScreen +_0805DA04: .4byte gRoomControls + .syntax divided diff --git a/asm/non_matching/manager32/sub_0805DA08.inc b/asm/non_matching/manager32/sub_0805DA08.inc new file mode 100644 index 00000000..dda42029 --- /dev/null +++ b/asm/non_matching/manager32/sub_0805DA08.inc @@ -0,0 +1,65 @@ + .syntax unified + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + mov sl, r0 + adds r5, r1, #0 + adds r6, r2, #0 + ldr r2, _0805DA78 @ =gUnk_03003DE4 + ldrb r1, [r2] + lsls r0, r1, #2 + adds r0, r0, r1 + lsls r0, r0, #9 + ldr r1, _0805DA7C @ =gUnk_02017AA0 + adds r4, r0, r1 + movs r3, #0 + mov r8, r2 + mov sb, r1 + ldr r0, _0805DA80 @ =gSineTable + mov ip, r0 + movs r2, #0xff + ldr r1, _0805DA84 @ =gScreen +_0805DA34: + adds r0, r6, r3 + adds r0, r0, r5 + ands r0, r2 + lsls r0, r0, #1 + add r0, ip + movs r7, #0 + ldrsh r0, [r0, r7] + mov r7, sl + muls r7, r0, r7 + adds r0, r7, #0 + lsrs r0, r0, #8 + ldrh r7, [r1, #0x2e] + adds r0, r0, r7 + strh r0, [r4] + adds r4, #2 + adds r3, #1 + adds r5, #0x17 + cmp r3, #0x9f + bls _0805DA34 + mov r0, r8 + ldrb r1, [r0] + lsls r0, r1, #2 + adds r0, r0, r1 + lsls r0, r0, #9 + add r0, sb + ldr r1, _0805DA88 @ =0x0400001C + ldr r2, _0805DA8C @ =0xA2600001 + bl sub_0805622C + pop {r3, r4, r5} + mov r8, r3 + mov sb, r4 + mov sl, r5 + pop {r4, r5, r6, r7, pc} + .align 2, 0 +_0805DA78: .4byte gUnk_03003DE4 +_0805DA7C: .4byte gUnk_02017AA0 +_0805DA80: .4byte gSineTable +_0805DA84: .4byte gScreen +_0805DA88: .4byte 0x0400001C +_0805DA8C: .4byte 0xA2600001 + .syntax divided diff --git a/asm/non_matching/manager32/sub_0805DA90.inc b/asm/non_matching/manager32/sub_0805DA90.inc new file mode 100644 index 00000000..2bb58d66 --- /dev/null +++ b/asm/non_matching/manager32/sub_0805DA90.inc @@ -0,0 +1,40 @@ + .syntax unified + push {r4, r5, lr} + adds r5, r0, #0 + adds r4, r1, #0 + bl GetEmptyManager + adds r1, r0, #0 + cmp r1, #0 + beq _0805DAB4 + movs r0, #9 + strb r0, [r1, #8] + movs r0, #0x32 + strb r0, [r1, #9] + strb r4, [r1, #0xa] + str r5, [r1, #0x14] + adds r0, r1, #0 + movs r1, #8 + bl AppendEntityToList +_0805DAB4: + ldr r0, _0805DAD8 @ =gArea + ldr r1, _0805DADC @ =0x0000088C + adds r4, r0, r1 + ldr r0, [r4] + cmp r0, #0 + beq _0805DAD4 + ldr r2, _0805DAE0 @ =gScreen + ldrh r1, [r2] + ldr r0, _0805DAE4 @ =0x0000F7FF + ands r0, r1 + strh r0, [r2] + bl sub_080528F0 + ldr r0, [r4] + bl DeleteManager +_0805DAD4: + pop {r4, r5, pc} + .align 2, 0 +_0805DAD8: .4byte gArea +_0805DADC: .4byte 0x0000088C +_0805DAE0: .4byte gScreen +_0805DAE4: .4byte 0x0000F7FF + .syntax divided diff --git a/asm/manager33.s b/asm/non_matching/manager33/Manager33_Main.inc similarity index 91% rename from asm/manager33.s rename to asm/non_matching/manager33/Manager33_Main.inc index 4eb95053..21b47bcd 100644 --- a/asm/manager33.s +++ b/asm/non_matching/manager33/Manager33_Main.inc @@ -1,13 +1,4 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - .syntax unified - - .text - - thumb_func_start Manager33_Main -Manager33_Main: @ 0x0805DAE8 push {r4, r5, r6, r7, lr} mov r7, r8 push {r7} @@ -91,3 +82,4 @@ _0805DB88: pop {r4, r5, r6, r7, pc} .align 2, 0 _0805DB90: .4byte 0x0000FFE8 + .syntax divided diff --git a/asm/non_matching/manager34/Manager34_Main.inc b/asm/non_matching/manager34/Manager34_Main.inc new file mode 100644 index 00000000..c5a64403 --- /dev/null +++ b/asm/non_matching/manager34/Manager34_Main.inc @@ -0,0 +1,16 @@ + .syntax unified + push {r4, lr} + adds r4, r0, #0 + ldr r1, _0805DBB0 @ =gUnk_08108D8C + 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_0805DBF0 + pop {r4, pc} + .align 2, 0 +_0805DBB0: .4byte gUnk_08108D8C + .syntax divided diff --git a/asm/non_matching/manager34/nullsub_498.inc b/asm/non_matching/manager34/nullsub_498.inc new file mode 100644 index 00000000..807ea5e0 --- /dev/null +++ b/asm/non_matching/manager34/nullsub_498.inc @@ -0,0 +1,4 @@ + .syntax unified + bx lr + .align 2, 0 + .syntax divided diff --git a/asm/non_matching/manager34/sub_0805DBB4.inc b/asm/non_matching/manager34/sub_0805DBB4.inc new file mode 100644 index 00000000..65c91e5c --- /dev/null +++ b/asm/non_matching/manager34/sub_0805DBB4.inc @@ -0,0 +1,14 @@ + .syntax unified + movs r1, #1 + strb r1, [r0, #0xc] + ldr r1, _0805DBC8 @ =gScreenTransition + adds r1, #0x3d + ldrb r2, [r1] + lsls r1, r2, #4 + subs r1, r1, r2 + lsls r1, r1, #2 + strh r1, [r0, #0x20] + bx lr + .align 2, 0 +_0805DBC8: .4byte gScreenTransition + .syntax divided diff --git a/asm/non_matching/manager34/sub_0805DBCC.inc b/asm/non_matching/manager34/sub_0805DBCC.inc new file mode 100644 index 00000000..b9fdf79f --- /dev/null +++ b/asm/non_matching/manager34/sub_0805DBCC.inc @@ -0,0 +1,19 @@ + .syntax unified + push {lr} + adds r1, r0, #0 + ldr r0, [r1, #0x14] + ldr r0, [r0, #4] + cmp r0, #0 + bne _0805DBE6 + movs r0, #2 + strb r0, [r1, #0xc] + ldrh r0, [r1, #0x20] + ldr r2, _0805DBE8 @ =0x0000012D + cmp r0, r2 + bls _0805DBE6 + strh r2, [r1, #0x20] +_0805DBE6: + pop {pc} + .align 2, 0 +_0805DBE8: .4byte 0x0000012D + .syntax divided diff --git a/asm/non_matching/manager34/sub_0805DBF0.inc b/asm/non_matching/manager34/sub_0805DBF0.inc new file mode 100644 index 00000000..81092f35 --- /dev/null +++ b/asm/non_matching/manager34/sub_0805DBF0.inc @@ -0,0 +1,68 @@ + .syntax unified + push {r4, lr} + adds r4, r0, #0 + ldrh r0, [r4, #0x20] + subs r1, r0, #1 + strh r1, [r4, #0x20] + lsls r0, r1, #0x10 + cmp r0, #0 + bne _0805DC06 + bl sub_0805DC70 + b _0805DC6C +_0805DC06: + lsls r0, r1, #0x10 + lsrs r1, r0, #0x10 + cmp r1, #0x78 + bne _0805DC18 + movs r0, #0x78 + movs r1, #2 + bl sub_08080964 + b _0805DC36 +_0805DC18: + cmp r1, #0xd2 + bne _0805DC26 + movs r0, #0x5a + movs r1, #1 + bl sub_08080964 + b _0805DC36 +_0805DC26: + movs r0, #0x96 + lsls r0, r0, #1 + cmp r1, r0 + bne _0805DC36 + movs r0, #0x5a + movs r1, #0 + bl sub_08080964 +_0805DC36: + ldrh r1, [r4, #0x20] + adds r0, r1, #0 + cmp r0, #0x77 + bhi _0805DC42 + movs r0, #0xf + b _0805DC48 +_0805DC42: + cmp r0, #0xd1 + bhi _0805DC58 + movs r0, #0x1f +_0805DC48: + ands r0, r1 + cmp r0, #0 + bne _0805DC6C + movs r0, #0x93 + lsls r0, r0, #1 + bl SoundReq + b _0805DC6C +_0805DC58: + cmp r0, #0xc7 + bhi _0805DC6C + movs r0, #0x3f + ands r0, r1 + cmp r0, #0 + bne _0805DC6C + movs r0, #0x93 + lsls r0, r0, #1 + bl SoundReq +_0805DC6C: + pop {r4, pc} + .align 2, 0 + .syntax divided diff --git a/asm/non_matching/manager34/sub_0805DC70.inc b/asm/non_matching/manager34/sub_0805DC70.inc new file mode 100644 index 00000000..062503cd --- /dev/null +++ b/asm/non_matching/manager34/sub_0805DC70.inc @@ -0,0 +1,9 @@ + .syntax unified + push {lr} + bl sub_0805E5A8 + ldr r0, _0805DC80 @ =gUnk_0813AC48 + bl DoExitTransition + pop {pc} + .align 2, 0 +_0805DC80: .4byte gUnk_0813AC48 + .syntax divided diff --git a/asm/non_matching/manager35/Manager35_Main.inc b/asm/non_matching/manager35/Manager35_Main.inc new file mode 100644 index 00000000..5e14ae76 --- /dev/null +++ b/asm/non_matching/manager35/Manager35_Main.inc @@ -0,0 +1,12 @@ + .syntax unified + push {lr} + ldr r2, _0805DC98 @ =gUnk_08108D98 + ldrb r1, [r0, #0xc] + lsls r1, r1, #2 + adds r1, r1, r2 + ldr r1, [r1] + bl _call_via_r1 + pop {pc} + .align 2, 0 +_0805DC98: .4byte gUnk_08108D98 + .syntax divided diff --git a/asm/non_matching/manager35/sub_0805DC9C.inc b/asm/non_matching/manager35/sub_0805DC9C.inc new file mode 100644 index 00000000..9b0f22ac --- /dev/null +++ b/asm/non_matching/manager35/sub_0805DC9C.inc @@ -0,0 +1,21 @@ + .syntax unified + push {r4, lr} + adds r4, r0, #0 + ldrh r0, [r4, #0x3c] + bl CheckFlags + cmp r0, #0 + beq _0805DCAE + bl DeleteThisEntity +_0805DCAE: + ldrh r0, [r4, #0x3e] + bl CheckFlags + cmp r0, #0 + beq _0805DCC2 + ldrh r0, [r4, #0x3c] + bl SetFlag + bl DeleteThisEntity +_0805DCC2: + movs r0, #1 + strb r0, [r4, #0xc] + pop {r4, pc} + .syntax divided diff --git a/asm/non_matching/manager35/sub_0805DCC8.inc b/asm/non_matching/manager35/sub_0805DCC8.inc new file mode 100644 index 00000000..a6463901 --- /dev/null +++ b/asm/non_matching/manager35/sub_0805DCC8.inc @@ -0,0 +1,47 @@ + .syntax unified + push {r4, r5, lr} + adds r4, r0, #0 + ldrh r0, [r4, #0x3e] + bl CheckFlags + cmp r0, #0 + beq _0805DD1E + movs r0, #2 + strb r0, [r4, #0xc] + adds r0, r4, #0 + adds r0, #0x35 + ldrb r0, [r0] + strb r0, [r4, #0xe] + lsls r0, r0, #0x18 + cmp r0, #0 + bne _0805DCEC + movs r0, #0x1e + strb r0, [r4, #0xe] +_0805DCEC: + ldr r5, _0805DD20 @ =gRoomControls + ldr r0, [r5, #0x30] + str r0, [r4, #0x14] + movs r0, #0x69 + movs r1, #0 + movs r2, #0 + bl CreateObject + adds r1, r0, #0 + cmp r1, #0 + beq _0805DD1E + ldrh r0, [r5, #6] + ldrh r2, [r4, #0x38] + adds r0, r0, r2 + strh r0, [r1, #0x2e] + ldrh r0, [r5, #8] + ldrh r2, [r4, #0x3a] + adds r0, r0, r2 + strh r0, [r1, #0x32] + str r1, [r4, #0x18] + str r1, [r5, #0x30] + adds r0, r1, #0 + movs r1, #0x1e + bl sub_0805E4E0 +_0805DD1E: + pop {r4, r5, pc} + .align 2, 0 +_0805DD20: .4byte gRoomControls + .syntax divided diff --git a/asm/non_matching/manager35/sub_0805DD24.inc b/asm/non_matching/manager35/sub_0805DD24.inc new file mode 100644 index 00000000..ddac4697 --- /dev/null +++ b/asm/non_matching/manager35/sub_0805DD24.inc @@ -0,0 +1,34 @@ + .syntax unified + push {r4, lr} + adds r4, r0, #0 + movs r0, #0 + movs r1, #8 + bl sub_0805E4E0 + ldr r0, _0805DD64 @ =gRoomControls + ldrb r1, [r0, #0xf] + movs r0, #4 + ands r0, r1 + cmp r0, #0 + bne _0805DD60 + ldrb r0, [r4, #0xe] + subs r0, #1 + strb r0, [r4, #0xe] + lsls r0, r0, #0x18 + cmp r0, #0 + bne _0805DD60 + movs r0, #3 + strb r0, [r4, #0xc] + ldrh r0, [r4, #0x3c] + bl SetFlag + adds r1, r4, #0 + adds r1, #0x36 + ldrb r0, [r1] + cmp r0, #0 + bne _0805DD60 + movs r0, #1 + strb r0, [r1] +_0805DD60: + pop {r4, pc} + .align 2, 0 +_0805DD64: .4byte gRoomControls + .syntax divided diff --git a/asm/non_matching/manager35/sub_0805DD68.inc b/asm/non_matching/manager35/sub_0805DD68.inc new file mode 100644 index 00000000..c9e2894d --- /dev/null +++ b/asm/non_matching/manager35/sub_0805DD68.inc @@ -0,0 +1,40 @@ + .syntax unified + push {r4, lr} + adds r4, r0, #0 + movs r0, #0 + movs r1, #8 + bl sub_0805E4E0 + adds r1, r4, #0 + adds r1, #0x36 + ldrb r0, [r1] + cmp r0, #0 + beq _0805DD94 + subs r0, #1 + strb r0, [r1] + lsls r0, r0, #0x18 + cmp r0, #0 + bne _0805DDAE + ldr r1, _0805DD90 @ =gRoomControls + ldr r0, [r4, #0x14] + str r0, [r1, #0x30] + b _0805DDAE + .align 2, 0 +_0805DD90: .4byte gRoomControls +_0805DD94: + ldr r0, _0805DDB0 @ =gRoomControls + ldrb r1, [r0, #0xf] + movs r0, #4 + ands r0, r1 + cmp r0, #0 + bne _0805DDAE + ldr r0, [r4, #0x18] + cmp r0, #0 + beq _0805DDAA + bl DeleteEntity +_0805DDAA: + bl DeleteThisEntity +_0805DDAE: + pop {r4, pc} + .align 2, 0 +_0805DDB0: .4byte gRoomControls + .syntax divided diff --git a/asm/non_matching/manager37/Manager37_Main.inc b/asm/non_matching/manager37/Manager37_Main.inc new file mode 100644 index 00000000..6624db37 --- /dev/null +++ b/asm/non_matching/manager37/Manager37_Main.inc @@ -0,0 +1,12 @@ + .syntax unified + push {lr} + ldr r2, _0805DE4C @ =gUnk_08108DBC + ldrb r1, [r0, #0xa] + lsls r1, r1, #2 + adds r1, r1, r2 + ldr r1, [r1] + bl _call_via_r1 + pop {pc} + .align 2, 0 +_0805DE4C: .4byte gUnk_08108DBC + .syntax divided diff --git a/asm/non_matching/manager37/sub_0805DE50.inc b/asm/non_matching/manager37/sub_0805DE50.inc new file mode 100644 index 00000000..662f5977 --- /dev/null +++ b/asm/non_matching/manager37/sub_0805DE50.inc @@ -0,0 +1,12 @@ + .syntax unified + push {lr} + ldr r2, _0805DE64 @ =gUnk_08108DC4 + ldrb r1, [r0, #0xc] + lsls r1, r1, #2 + adds r1, r1, r2 + ldr r1, [r1] + bl _call_via_r1 + pop {pc} + .align 2, 0 +_0805DE64: .4byte gUnk_08108DC4 + .syntax divided diff --git a/asm/non_matching/manager37/sub_0805DE68.inc b/asm/non_matching/manager37/sub_0805DE68.inc new file mode 100644 index 00000000..027c6cb4 --- /dev/null +++ b/asm/non_matching/manager37/sub_0805DE68.inc @@ -0,0 +1,100 @@ + .syntax unified +.ifdef JP + push {r4, lr} + adds r4, r0, #0 + movs r0, #0x7b + bl CheckLocalFlag + cmp r0, #0 + bne _0805DCCE + bl DeleteThisEntity +_0805DCCE: + movs r1, #0 + movs r0, #1 + strb r0, [r4, #0xc] + ldr r2, _0805DCF4 @ =0x030010A0 + adds r0, r2, #0 + adds r0, #0x38 + strb r1, [r0] + adds r1, r2, #0 + adds r1, #0x39 + movs r0, #0xf + strb r0, [r1] + adds r0, r2, #0 + adds r0, #0x3a + movs r1, #0x20 + strb r1, [r0] + adds r0, #1 + strb r1, [r0] + pop {r4, pc} + .align 2, 0 +_0805DCF4: .4byte gScreenTransition +.else +.ifdef EU + push {r4, lr} + adds r4, r0, #0 + movs r0, #0x7b + bl CheckLocalFlag + cmp r0, #0 + bne _0805D916 + bl DeleteThisEntity +_0805D916: + movs r1, #0 + movs r0, #1 + strb r0, [r4, #0xc] + ldr r2, _0805D93C @ =gScreenTransition + adds r0, r2, #0 + adds r0, #0x38 + strb r1, [r0] + adds r1, r2, #0 + adds r1, #0x39 + movs r0, #0xf + strb r0, [r1] + adds r0, r2, #0 + adds r0, #0x3a + movs r1, #0x20 + strb r1, [r0] + adds r0, #1 + strb r1, [r0] + pop {r4, pc} + .align 2, 0 +_0805D93C: .4byte gScreenTransition +.else + push {r4, lr} + adds r4, r0, #0 + movs r0, #0x7b + bl CheckLocalFlag + cmp r0, #0 + bne _0805DE7A + bl DeleteThisEntity +_0805DE7A: + movs r1, #0 + movs r0, #1 + strb r0, [r4, #0xc] + ldr r2, _0805DEAC @ =gScreenTransition + adds r0, r2, #0 + adds r0, #0x38 + strb r1, [r0] + adds r1, r2, #0 + adds r1, #0x39 + movs r0, #0xf + strb r0, [r1] + adds r0, r2, #0 + adds r0, #0x3a + movs r1, #0x20 + strb r1, [r0] + adds r0, #1 + strb r1, [r0] + ldr r0, _0805DEB0 @ =gSave + movs r1, #0x93 + lsls r1, r1, #3 + adds r0, r0, r1 + ldr r1, _0805DEB4 @ =0x00001194 + str r1, [r0] + pop {r4, pc} + .align 2, 0 +_0805DEAC: .4byte gScreenTransition +_0805DEB0: .4byte gSave +_0805DEB4: .4byte 0x00001194 +.endif +.endif + .syntax divided diff --git a/asm/non_matching/manager37/sub_0805DEB8.inc b/asm/non_matching/manager37/sub_0805DEB8.inc new file mode 100644 index 00000000..fdc72555 --- /dev/null +++ b/asm/non_matching/manager37/sub_0805DEB8.inc @@ -0,0 +1,73 @@ + .syntax unified + push {r4, r5, lr} + adds r3, r0, #0 + ldr r5, _0805DF44 @ =gPlayerEntity + movs r0, #0x2e + ldrsh r2, [r5, r0] + subs r2, #0x88 + ldr r4, _0805DF48 @ =gRoomControls + ldrh r0, [r4, #6] + subs r2, r2, r0 + movs r1, #0x32 + ldrsh r0, [r5, r1] + subs r0, #0x40 + ldrh r1, [r4, #8] + subs r0, r0, r1 + adds r1, r2, #0 + muls r1, r2, r1 + adds r2, r0, #0 + muls r2, r0, r2 + adds r0, r2, #0 + adds r1, r1, r0 + movs r0, #0x90 + lsls r0, r0, #4 + cmp r1, r0 + bgt _0805DF42 + movs r0, #0 + movs r1, #2 + strb r1, [r3, #0xc] + strb r0, [r3, #0xd] + movs r0, #0x78 + strb r0, [r3, #0xe] + movs r0, #2 + bl sub_08078A90 + bl sub_08078B48 + movs r0, #0x64 + movs r1, #0 + movs r2, #0 + bl CreateObject + adds r2, r0, #0 + cmp r2, #0 + beq _0805DF1A + ldrh r0, [r4, #6] + adds r0, #0x88 + strh r0, [r2, #0x2e] + ldrh r0, [r4, #8] + adds r0, #0x48 + strh r0, [r2, #0x32] +_0805DF1A: + movs r2, #0x10 + rsbs r2, r2, #0 + adds r0, r5, #0 + movs r1, #8 + bl CreateSpeechBubbleExclamationMark + adds r2, r0, #0 + cmp r2, #0 + beq _0805DF3C + 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] +_0805DF3C: + movs r0, #0x32 + bl SoundReq +_0805DF42: + pop {r4, r5, pc} + .align 2, 0 +_0805DF44: .4byte gPlayerEntity +_0805DF48: .4byte gRoomControls + .syntax divided diff --git a/asm/non_matching/manager37/sub_0805DF4C.inc b/asm/non_matching/manager37/sub_0805DF4C.inc new file mode 100644 index 00000000..12c63c6c --- /dev/null +++ b/asm/non_matching/manager37/sub_0805DF4C.inc @@ -0,0 +1,40 @@ + .syntax unified + push {lr} + adds r1, r0, #0 + ldr r2, _0805DF70 @ =gPlayerEntity + movs r0, #0 + strb r0, [r2, #0x14] + movs r3, #0x36 + ldrsh r0, [r2, r3] + cmp r0, #0 + beq _0805DF78 + movs r1, #0x32 + ldrsh r0, [r2, r1] + ldr r1, _0805DF74 @ =gRoomControls + ldrh r1, [r1, #8] + adds r1, #0x48 + cmp r0, r1 + bge _0805DF92 + strh r1, [r2, #0x32] + b _0805DF92 + .align 2, 0 +_0805DF70: .4byte gPlayerEntity +_0805DF74: .4byte gRoomControls +_0805DF78: + ldrb r0, [r1, #0xe] + subs r0, #1 + strb r0, [r1, #0xe] + lsls r0, r0, #0x18 + cmp r0, #0 + bne _0805DF92 + movs r0, #3 + strb r0, [r1, #0xc] + movs r0, #0x1e + strb r0, [r1, #0xe] + ldr r0, _0805DF94 @ =0x0000164F + bl TextboxNoOverlapFollow +_0805DF92: + pop {pc} + .align 2, 0 +_0805DF94: .4byte 0x0000164F + .syntax divided diff --git a/asm/non_matching/manager37/sub_0805DF98.inc b/asm/non_matching/manager37/sub_0805DF98.inc new file mode 100644 index 00000000..ca1d09b7 --- /dev/null +++ b/asm/non_matching/manager37/sub_0805DF98.inc @@ -0,0 +1,28 @@ + .syntax unified + push {lr} + adds r2, r0, #0 + ldr r0, _0805DFB4 @ =gTextBox + ldrb r1, [r0] + movs r0, #0x7f + ands r0, r1 + cmp r0, #0 + bne _0805DFCA + ldrb r0, [r2, #0xe] + cmp r0, #0 + beq _0805DFB8 + subs r0, #1 + strb r0, [r2, #0xe] + b _0805DFCA + .align 2, 0 +_0805DFB4: .4byte gTextBox +_0805DFB8: + movs r0, #4 + strb r0, [r2, #0xc] + movs r0, #7 + movs r1, #4 + bl DoFade + movs r0, #0xf6 + bl SoundReq +_0805DFCA: + pop {pc} + .syntax divided diff --git a/asm/non_matching/manager37/sub_0805DFCC.inc b/asm/non_matching/manager37/sub_0805DFCC.inc new file mode 100644 index 00000000..15c615ad --- /dev/null +++ b/asm/non_matching/manager37/sub_0805DFCC.inc @@ -0,0 +1,14 @@ + .syntax unified + push {lr} + ldr r0, _0805DFE4 @ =gFadeControl + ldrb r0, [r0] + cmp r0, #0 + bne _0805DFE0 + movs r0, #0x1c + bl ClearGlobalFlag + bl sub_0805E094 +_0805DFE0: + pop {pc} + .align 2, 0 +_0805DFE4: .4byte gFadeControl + .syntax divided diff --git a/asm/non_matching/manager37/sub_0805DFE8.inc b/asm/non_matching/manager37/sub_0805DFE8.inc new file mode 100644 index 00000000..4742d51b --- /dev/null +++ b/asm/non_matching/manager37/sub_0805DFE8.inc @@ -0,0 +1,12 @@ + .syntax unified + push {lr} + ldr r2, _0805DFFC @ =gUnk_08108DD8 + ldrb r1, [r0, #0xc] + lsls r1, r1, #2 + adds r1, r1, r2 + ldr r1, [r1] + bl _call_via_r1 + pop {pc} + .align 2, 0 +_0805DFFC: .4byte gUnk_08108DD8 + .syntax divided diff --git a/asm/non_matching/manager37/sub_0805E000.inc b/asm/non_matching/manager37/sub_0805E000.inc new file mode 100644 index 00000000..4f44fe8c --- /dev/null +++ b/asm/non_matching/manager37/sub_0805E000.inc @@ -0,0 +1,54 @@ + .syntax unified + push {r4, r5, r6, lr} + adds r6, r0, #0 + movs r0, #0x51 + movs r1, #0 + bl CreateEnemy + adds r4, r0, #0 + cmp r4, #0 + beq _0805E062 + ldr r1, _0805E064 @ =gRoomControls + ldrh r0, [r1, #6] + adds r0, #0xb0 + strh r0, [r4, #0x2e] + ldrh r0, [r1, #8] + adds r0, #0x48 + strh r0, [r4, #0x32] + adds r0, r4, #0 + adds r0, #0x38 + movs r5, #1 + strb r5, [r0] + adds r0, r4, #0 + bl UpdateSpriteForCollisionLayer + ldr r0, _0805E068 @ =gScreenTransition + adds r0, #0x38 + ldrb r1, [r0] + adds r0, r5, #0 + ands r0, r1 + cmp r0, #0 + beq _0805E040 + bl DeleteThisEntity +_0805E040: + str r4, [r6, #0x18] + strb r5, [r6, #0xc] + movs r0, #3 + bl sub_08078A90 + ldr r0, _0805E06C @ =gArea + ldr r1, _0805E070 @ =0x00000864 + adds r0, r0, r1 + ldr r1, _0805E074 @ =0x80010000 + str r1, [r0] + movs r0, #6 + movs r1, #4 + bl DoFade + movs r0, #0xf7 + bl SoundReq +_0805E062: + pop {r4, r5, r6, pc} + .align 2, 0 +_0805E064: .4byte gRoomControls +_0805E068: .4byte gScreenTransition +_0805E06C: .4byte gArea +_0805E070: .4byte 0x00000864 +_0805E074: .4byte 0x80010000 + .syntax divided diff --git a/asm/non_matching/manager37/sub_0805E078.inc b/asm/non_matching/manager37/sub_0805E078.inc new file mode 100644 index 00000000..a41aa954 --- /dev/null +++ b/asm/non_matching/manager37/sub_0805E078.inc @@ -0,0 +1,16 @@ + .syntax unified + push {lr} + adds r1, r0, #0 + ldr r0, _0805E090 @ =gFadeControl + ldrb r0, [r0] + cmp r0, #0 + bne _0805E08E + ldr r1, [r1, #0x18] + movs r0, #1 + strb r0, [r1, #0xd] + bl DeleteThisEntity +_0805E08E: + pop {pc} + .align 2, 0 +_0805E090: .4byte gFadeControl + .syntax divided diff --git a/asm/non_matching/manager37/sub_0805E094.inc b/asm/non_matching/manager37/sub_0805E094.inc new file mode 100644 index 00000000..bacb0723 --- /dev/null +++ b/asm/non_matching/manager37/sub_0805E094.inc @@ -0,0 +1,10 @@ + .syntax unified + push {lr} + bl sub_0805E5A8 + ldr r0, _0805E0A4 @ =gUnk_0813AC34 + movs r1, #7 + bl sub_0808091C + pop {pc} + .align 2, 0 +_0805E0A4: .4byte gUnk_0813AC34 + .syntax divided diff --git a/asm/non_matching/managerF/ManagerF_Main.inc b/asm/non_matching/managerF/ManagerF_Main.inc new file mode 100644 index 00000000..6cb92606 --- /dev/null +++ b/asm/non_matching/managerF/ManagerF_Main.inc @@ -0,0 +1,12 @@ + .syntax unified + push {lr} + ldr r2, _08058EE0 @ =gUnk_08108314 + ldrb r1, [r0, #0xa] + lsls r1, r1, #2 + adds r1, r1, r2 + ldr r1, [r1] + bl _call_via_r1 + pop {pc} + .align 2, 0 +_08058EE0: .4byte gUnk_08108314 + .syntax divided diff --git a/asm/non_matching/managerF/SetDirtTile.inc b/asm/non_matching/managerF/SetDirtTile.inc new file mode 100644 index 00000000..c60b7e19 --- /dev/null +++ b/asm/non_matching/managerF/SetDirtTile.inc @@ -0,0 +1,19 @@ + .syntax unified + push {r4, lr} + adds r4, r0, #0 + movs r0, #0x1d + adds r1, r4, #0 + movs r2, #1 + bl SetTileType + movs r0, #0 + adds r1, r4, #0 + movs r2, #2 + bl SetTileType + subs r4, #0x40 + movs r0, #0 + adds r1, r4, #0 + movs r2, #2 + bl SetTileType + pop {r4, pc} + .align 2, 0 + .syntax divided diff --git a/asm/non_matching/managerF/sub_08058EE4.inc b/asm/non_matching/managerF/sub_08058EE4.inc new file mode 100644 index 00000000..0cea43d5 --- /dev/null +++ b/asm/non_matching/managerF/sub_08058EE4.inc @@ -0,0 +1,45 @@ + .syntax unified + push {r4, r5, r6, lr} + adds r6, r0, #0 + ldrb r0, [r6, #0xc] + cmp r0, #0 + bne _08058EF2 + movs r0, #1 + strb r0, [r6, #0xc] +_08058EF2: + ldrb r0, [r6, #0xb] + bl CheckRoomFlag + cmp r0, #0 + beq _08058F40 + movs r5, #0x94 + lsls r5, r5, #1 + ldrb r2, [r6, #0xb] + adds r2, #1 + adds r0, r5, #0 + movs r1, #0x68 + bl sub_08058F44 + movs r4, #0xac + lsls r4, r4, #1 + ldrb r2, [r6, #0xb] + adds r2, #2 + adds r0, r4, #0 + movs r1, #0x68 + bl sub_08058F44 + ldrb r2, [r6, #0xb] + adds r2, #3 + adds r0, r5, #0 + movs r1, #0x98 + bl sub_08058F44 + ldrb r2, [r6, #0xb] + adds r2, #4 + adds r0, r4, #0 + movs r1, #0x98 + bl sub_08058F44 + movs r0, #0x92 + lsls r0, r0, #1 + bl SoundReq + bl DeleteThisEntity +_08058F40: + pop {r4, r5, r6, pc} + .align 2, 0 + .syntax divided diff --git a/asm/non_matching/managerF/sub_08058F44.inc b/asm/non_matching/managerF/sub_08058F44.inc new file mode 100644 index 00000000..c6c1b113 --- /dev/null +++ b/asm/non_matching/managerF/sub_08058F44.inc @@ -0,0 +1,31 @@ + .syntax unified + push {r4, r5, lr} + adds r4, r0, #0 + adds r5, r1, #0 + adds r0, r2, #0 + bl CheckRoomFlag + cmp r0, #0 + bne _08058F80 + adds r0, r4, #0 + adds r1, r5, #0 + movs r2, #1 + bl sub_080002A8 + cmp r0, #0x61 + bne _08058F80 + lsrs r1, r4, #4 + movs r2, #0x3f + ands r1, r2 + lsrs r0, r5, #4 + ands r0, r2 + lsls r0, r0, #6 + orrs r1, r0 + movs r0, #0x26 + movs r2, #1 + bl SetTileType + adds r0, r4, #0 + adds r1, r5, #0 + bl sub_08058F84 +_08058F80: + pop {r4, r5, pc} + .align 2, 0 + .syntax divided diff --git a/asm/non_matching/managerF/sub_08058F84.inc b/asm/non_matching/managerF/sub_08058F84.inc new file mode 100644 index 00000000..9be2adab --- /dev/null +++ b/asm/non_matching/managerF/sub_08058F84.inc @@ -0,0 +1,23 @@ + .syntax unified + push {r4, r5, lr} + adds r4, r0, #0 + adds r5, r1, #0 + movs r0, #0x21 + movs r1, #0 + movs r2, #0 + bl CreateObject + adds r2, r0, #0 + cmp r2, #0 + beq _08058FA8 + ldr r0, _08058FAC @ =gRoomControls + ldrh r1, [r0, #6] + adds r1, r1, r4 + strh r1, [r2, #0x2e] + ldrh r0, [r0, #8] + adds r0, r0, r5 + strh r0, [r2, #0x32] +_08058FA8: + pop {r4, r5, pc} + .align 2, 0 +_08058FAC: .4byte gRoomControls + .syntax divided diff --git a/asm/non_matching/managerF/sub_08058FB0.inc b/asm/non_matching/managerF/sub_08058FB0.inc new file mode 100644 index 00000000..5e748b8b --- /dev/null +++ b/asm/non_matching/managerF/sub_08058FB0.inc @@ -0,0 +1,91 @@ + .syntax unified + push {r4, lr} + adds r4, r0, #0 + ldrb r0, [r4, #0xc] + cmp r0, #1 + beq _08058FF6 + cmp r0, #1 + bgt _08058FC4 + cmp r0, #0 + beq _08058FCA + b _08059050 +_08058FC4: + cmp r0, #2 + beq _08059018 + b _08059050 +_08058FCA: + movs r0, #1 + strb r0, [r4, #0xc] + ldrb r0, [r4, #0xa] + cmp r0, #1 + bne _08058FDC + movs r0, #7 + strb r0, [r4, #0xd] + movs r0, #6 + b _08058FE2 +_08058FDC: + movs r0, #8 + strb r0, [r4, #0xd] + movs r0, #2 +_08058FE2: + strb r0, [r4, #0xf] + ldrh r0, [r4, #0x3e] + bl CheckFlags + cmp r0, #0 + beq _08059060 + adds r0, r4, #0 + bl DeleteManager + b _08059060 +_08058FF6: + ldrh r0, [r4, #0x3e] + bl CheckFlags + cmp r0, #0 + beq _08059060 + movs r0, #2 + strb r0, [r4, #0xc] + movs r0, #0x78 + strb r0, [r4, #0xe] + adds r0, r4, #0 + movs r1, #0xf0 + bl sub_0805E4E0 + adds r0, r4, #0 + bl sub_08059064 + b _08059060 +_08059018: + ldrb r0, [r4, #0xe] + cmp r0, #0x5a + bne _08059028 + movs r0, #2 + bl sub_08078A90 + bl sub_08077B20 +_08059028: + ldrb r2, [r4, #0xe] + cmp r2, #0x3c + bne _08059034 + ldr r1, _0805904C @ =gPlayerEntity + ldrb r0, [r4, #0xf] + strb r0, [r1, #0x14] +_08059034: + subs r0, r2, #1 + strb r0, [r4, #0xe] + lsls r0, r0, #0x18 + cmp r0, #0 + bne _08059060 + movs r0, #3 + strb r0, [r4, #0xc] + ldrb r1, [r4, #0xd] + movs r0, #5 + bl MenuFadeIn + b _08059060 + .align 2, 0 +_0805904C: .4byte gPlayerEntity +_08059050: + ldrh r0, [r4, #0x3e] + bl SetFlag + movs r0, #1 + bl sub_08078A90 + bl DeleteThisEntity +_08059060: + pop {r4, pc} + .align 2, 0 + .syntax divided diff --git a/asm/non_matching/managerF/sub_08059064.inc b/asm/non_matching/managerF/sub_08059064.inc new file mode 100644 index 00000000..e0b4e12d --- /dev/null +++ b/asm/non_matching/managerF/sub_08059064.inc @@ -0,0 +1,26 @@ + .syntax unified + push {r4, lr} + adds r4, r0, #0 + movs r0, #0 + movs r1, #0x53 + movs r2, #0 + bl CreateObject + adds r2, r0, #0 + cmp r2, #0 + beq _0805908E + movs r0, #2 + strb r0, [r2, #0xe] + ldr r1, _08059090 @ =gRoomControls + ldrh r0, [r1, #6] + ldrh r3, [r4, #0x38] + adds r0, r0, r3 + strh r0, [r2, #0x2e] + ldrh r0, [r1, #8] + ldrh r4, [r4, #0x3a] + adds r0, r0, r4 + strh r0, [r2, #0x32] +_0805908E: + pop {r4, pc} + .align 2, 0 +_08059090: .4byte gRoomControls + .syntax divided diff --git a/asm/non_matching/managerF/sub_08059094.inc b/asm/non_matching/managerF/sub_08059094.inc new file mode 100644 index 00000000..b4956529 --- /dev/null +++ b/asm/non_matching/managerF/sub_08059094.inc @@ -0,0 +1,37 @@ + .syntax unified + push {r4, r5, lr} + adds r4, r0, #0 + movs r5, #0 + ldrb r0, [r4, #0xc] + cmp r0, #0 + bne _080590B6 + movs r0, #1 + strb r0, [r4, #0xc] + movs r0, #0x60 + bl CheckLocalFlag + cmp r0, #0 + bne _080590CC + movs r0, #0x5f + bl SetLocalFlag + b _080590C8 +_080590B6: + movs r0, #0x60 + bl CheckLocalFlag + cmp r0, #0 + beq _080590C8 + movs r0, #0x5f + bl ClearLocalFlag + movs r5, #1 +_080590C8: + cmp r5, #0 + beq _080590D8 +_080590CC: + ldr r0, _080590DC @ =gUnk_080F4B88 + bl LoadRoomEntityList + adds r0, r4, #0 + bl DeleteManager +_080590D8: + pop {r4, r5, pc} + .align 2, 0 +_080590DC: .4byte gUnk_080F4B88 + .syntax divided diff --git a/asm/non_matching/managerF/sub_080590E0.inc b/asm/non_matching/managerF/sub_080590E0.inc new file mode 100644 index 00000000..f48e5002 --- /dev/null +++ b/asm/non_matching/managerF/sub_080590E0.inc @@ -0,0 +1,34 @@ + .syntax unified + push {lr} + adds r1, r0, #0 + ldrb r0, [r1, #0xc] + cmp r0, #0 + bne _080590F6 + movs r0, #1 + strb r0, [r1, #0xc] + adds r0, r1, #0 + movs r1, #6 + bl sub_0805E3A0 +_080590F6: + movs r0, #0x6c + bl CheckLocalFlag + cmp r0, #0 + beq _0805911A + movs r0, #0x4b + bl CheckLocalFlag + cmp r0, #0 + beq _08059112 + movs r0, #0x4a + bl SetLocalFlag + b _08059120 +_08059112: + movs r0, #0x4a + bl ClearLocalFlag + b _08059120 +_0805911A: + movs r0, #0x4a + bl ClearLocalFlag +_08059120: + pop {pc} + .align 2, 0 + .syntax divided diff --git a/asm/non_matching/managerF/sub_08059124.inc b/asm/non_matching/managerF/sub_08059124.inc new file mode 100644 index 00000000..afd30258 --- /dev/null +++ b/asm/non_matching/managerF/sub_08059124.inc @@ -0,0 +1,80 @@ + .syntax unified + push {r4, lr} + adds r4, r0, #0 + ldrb r0, [r4, #0xc] + cmp r0, #0 + beq _08059174 + cmp r0, #1 + beq _080591AC + ldrb r0, [r4, #0xe] + subs r0, #1 + strb r0, [r4, #0xe] + lsls r0, r0, #0x18 + cmp r0, #0 + bne _080591C8 + movs r1, #0x38 + ldrsh r0, [r4, r1] + movs r2, #0x3a + ldrsh r1, [r4, r2] + ldrb r2, [r4, #0xb] + bl CreateDustAt + ldrh r0, [r4, #0x38] + lsls r0, r0, #0x10 + asrs r0, r0, #0x14 + movs r2, #0x3f + ands r0, r2 + ldrh r1, [r4, #0x3a] + lsls r1, r1, #0x10 + asrs r1, r1, #0x14 + ands r1, r2 + lsls r1, r1, #6 + orrs r0, r1 + ldrb r1, [r4, #0xb] + bl sub_0807BA8C + movs r0, #0xcd + bl SoundReq + bl DeleteThisEntity + b _080591C8 +_08059174: + ldrh r0, [r4, #0x3e] + bl CheckFlags + cmp r0, #0 + beq _08059182 + bl DeleteThisEntity +_08059182: + movs r0, #1 + strb r0, [r4, #0xc] + ldr r0, _080591A8 @ =0x00000365 + ldrh r1, [r4, #0x38] + lsls r1, r1, #0x10 + asrs r1, r1, #0x14 + movs r3, #0x3f + ands r1, r3 + ldrh r2, [r4, #0x3a] + lsls r2, r2, #0x10 + asrs r2, r2, #0x14 + ands r2, r3 + lsls r2, r2, #6 + orrs r1, r2 + ldrb r2, [r4, #0xb] + bl SetTileType + b _080591C8 + .align 2, 0 +_080591A8: .4byte 0x00000365 +_080591AC: + ldrh r0, [r4, #0x3e] + bl CheckFlags + cmp r0, #0 + beq _080591C8 + adds r0, r4, #0 + movs r1, #0x4b + bl sub_0805E4E0 + movs r0, #0x2d + strb r0, [r4, #0xe] + ldrb r0, [r4, #0xc] + adds r0, #1 + strb r0, [r4, #0xc] +_080591C8: + pop {r4, pc} + .align 2, 0 + .syntax divided diff --git a/asm/non_matching/managerF/sub_080591CC.inc b/asm/non_matching/managerF/sub_080591CC.inc new file mode 100644 index 00000000..37753968 --- /dev/null +++ b/asm/non_matching/managerF/sub_080591CC.inc @@ -0,0 +1,44 @@ + .syntax unified + push {r4, lr} + adds r4, r0, #0 + ldrb r0, [r4, #0xc] + cmp r0, #0 + bne _080591F4 + movs r0, #1 + strb r0, [r4, #0xc] + ldrh r0, [r4, #0x3e] + bl CheckFlags + strb r0, [r4, #0xb] + lsls r0, r0, #0x18 + cmp r0, #0 + beq _08059214 + ldr r1, _080591F0 @ =gRoomVars + ldrh r0, [r4, #0x3a] + b _08059218 + .align 2, 0 +_080591F0: .4byte gRoomVars +_080591F4: + ldrh r0, [r4, #0x3e] + bl CheckFlags + adds r1, r0, #0 + ldrb r0, [r4, #0xb] + cmp r0, r1 + beq _0805921A + strb r1, [r4, #0xb] + cmp r1, #0 + beq _08059214 + ldr r1, _08059210 @ =gRoomVars + ldrh r0, [r4, #0x3a] + b _08059218 + .align 2, 0 +_08059210: .4byte gRoomVars +_08059214: + ldr r1, _0805921C @ =gRoomVars + ldrh r0, [r4, #0x38] +_08059218: + strh r0, [r1, #0xc] +_0805921A: + pop {r4, pc} + .align 2, 0 +_0805921C: .4byte gRoomVars + .syntax divided diff --git a/asm/non_matching/managerF/sub_08059220.inc b/asm/non_matching/managerF/sub_08059220.inc new file mode 100644 index 00000000..2538d3a3 --- /dev/null +++ b/asm/non_matching/managerF/sub_08059220.inc @@ -0,0 +1,46 @@ + .syntax unified + push {r4, r5, r6, r7, lr} + adds r5, r0, #0 + ldr r2, _08059268 @ =gRoomVars + movs r0, #0 + strh r0, [r2, #0xc] + ldr r4, _0805926C @ =gUnk_08108354 + ldrh r0, [r4] + ldr r1, _08059270 @ =0x0000FFFF + cmp r0, r1 + beq _08059254 + adds r7, r2, #0 + adds r6, r1, #0 +_08059238: + ldrh r0, [r4] + ldrh r1, [r4, #2] + ldrh r2, [r4, #4] + ldrh r3, [r4, #6] + bl CheckPlayerInRegion + cmp r0, #0 + beq _0805924C + ldrh r0, [r4, #8] + strh r0, [r7, #0xc] +_0805924C: + adds r4, #0xa + ldrh r0, [r4] + cmp r0, r6 + bne _08059238 +_08059254: + ldrb r0, [r5, #0xc] + cmp r0, #0 + bne _08059266 + movs r0, #1 + strb r0, [r5, #0xc] + ldr r1, _08059274 @ =gArea + ldr r0, _08059268 @ =gRoomVars + ldrh r0, [r0, #0xc] + strh r0, [r1, #0xa] +_08059266: + pop {r4, r5, r6, r7, pc} + .align 2, 0 +_08059268: .4byte gRoomVars +_0805926C: .4byte gUnk_08108354 +_08059270: .4byte 0x0000FFFF +_08059274: .4byte gArea + .syntax divided diff --git a/asm/non_matching/managerF/sub_08059278.inc b/asm/non_matching/managerF/sub_08059278.inc new file mode 100644 index 00000000..25ce854e --- /dev/null +++ b/asm/non_matching/managerF/sub_08059278.inc @@ -0,0 +1,13 @@ + .syntax unified + push {lr} + movs r0, #9 + movs r1, #0xf + movs r2, #6 + bl FindEntityByID + cmp r0, #0 + beq _0805928C + bl ManagerF_Main +_0805928C: + pop {pc} + .align 2, 0 + .syntax divided diff --git a/asm/non_matching/managerF/sub_08059290.inc b/asm/non_matching/managerF/sub_08059290.inc new file mode 100644 index 00000000..22500012 --- /dev/null +++ b/asm/non_matching/managerF/sub_08059290.inc @@ -0,0 +1,11 @@ + .syntax unified + movs r1, #1 + strb r1, [r0, #0xc] + ldr r1, _0805929C @ =gRoomControls + ldr r0, _080592A0 @ =gPlayerEntity + str r0, [r1, #0x30] + bx lr + .align 2, 0 +_0805929C: .4byte gRoomControls +_080592A0: .4byte gPlayerEntity + .syntax divided diff --git a/asm/non_matching/managerF/sub_080592A4.inc b/asm/non_matching/managerF/sub_080592A4.inc new file mode 100644 index 00000000..aecf7389 --- /dev/null +++ b/asm/non_matching/managerF/sub_080592A4.inc @@ -0,0 +1,34 @@ + .syntax unified + push {r4, lr} + adds r4, r0, #0 + ldrb r0, [r4, #0xc] + cmp r0, #0 + bne _080592C8 + movs r0, #1 + strb r0, [r4, #0xc] + ldrh r0, [r4, #0x3e] + bl CheckFlags + cmp r0, #0 + beq _080592EA + adds r0, r4, #0 + bl sub_080592EC + bl DeleteThisEntity + b _080592EA +_080592C8: + ldrh r0, [r4, #0x3e] + bl CheckFlags + cmp r0, #0 + beq _080592EA + adds r0, r4, #0 + bl sub_080592EC + adds r0, r4, #0 + bl sub_0805930C +.ifndef EU + movs r0, #0xb7 + lsls r0, r0, #1 + bl SoundReq +.endif + bl DeleteThisEntity +_080592EA: + pop {r4, pc} + .syntax divided diff --git a/asm/non_matching/managerF/sub_080592EC.inc b/asm/non_matching/managerF/sub_080592EC.inc new file mode 100644 index 00000000..dcec9327 --- /dev/null +++ b/asm/non_matching/managerF/sub_080592EC.inc @@ -0,0 +1,17 @@ + .syntax unified + push {lr} + adds r1, r0, #0 + ldrh r0, [r1, #0x38] + lsls r0, r0, #0x10 + asrs r0, r0, #0x14 + movs r2, #0x3f + ands r0, r2 + ldrh r1, [r1, #0x3a] + lsls r1, r1, #0x10 + asrs r1, r1, #0x14 + ands r1, r2 + lsls r1, r1, #6 + orrs r0, r1 + bl SetDirtTile + pop {pc} + .syntax divided diff --git a/asm/non_matching/managerF/sub_0805930C.inc b/asm/non_matching/managerF/sub_0805930C.inc new file mode 100644 index 00000000..dc5ec24c --- /dev/null +++ b/asm/non_matching/managerF/sub_0805930C.inc @@ -0,0 +1,32 @@ + .syntax unified + push {r4, lr} + adds r4, r0, #0 + movs r0, #0xf + movs r1, #0x43 +.ifdef EU + movs r2, #0x0 +.else + movs r2, #0x40 +.endif + bl CreateObject + adds r2, r0, #0 + cmp r2, #0 + beq _0805933A + ldr r1, _0805933C @ =gRoomControls + ldrh r0, [r1, #6] + ldrh r3, [r4, #0x38] + adds r0, r0, r3 + strh r0, [r2, #0x2e] + ldrh r0, [r1, #8] + ldrh r4, [r4, #0x3a] + adds r0, r0, r4 + strh r0, [r2, #0x32] + adds r1, r2, #0 + adds r1, #0x38 + movs r0, #1 + strb r0, [r1] +_0805933A: + pop {r4, pc} + .align 2, 0 +_0805933C: .4byte gRoomControls + .syntax divided diff --git a/asm/non_matching/managerF/sub_08059368.inc b/asm/non_matching/managerF/sub_08059368.inc new file mode 100644 index 00000000..4c48609e --- /dev/null +++ b/asm/non_matching/managerF/sub_08059368.inc @@ -0,0 +1,18 @@ + .syntax unified + push {lr} + adds r2, r0, #0 + movs r0, #1 + strb r0, [r2, #0xc] + ldr r1, _08059388 @ =gCurrentTextBox + ldrh r0, [r2, #0x3c] + ldrh r1, [r1, #0x28] + cmp r0, r1 + bne _08059384 + ldrh r0, [r2, #0x3e] + bl SetFlag + bl DeleteThisEntity +_08059384: + pop {pc} + .align 2, 0 +_08059388: .4byte gCurrentTextBox + .syntax divided diff --git a/asm/non_matching/managerF/sub_0805938C.inc b/asm/non_matching/managerF/sub_0805938C.inc new file mode 100644 index 00000000..628a8773 --- /dev/null +++ b/asm/non_matching/managerF/sub_0805938C.inc @@ -0,0 +1,33 @@ + .syntax unified + push {r4, lr} + adds r4, r0, #0 + bl sub_080593CC + cmp r0, #0 + beq _080593C8 + ldrb r0, [r4, #0xe] + adds r0, #1 + strb r0, [r4, #0xe] + lsls r0, r0, #0x18 + lsrs r0, r0, #0x18 + cmp r0, #7 + bls _080593CA + movs r1, #0x38 + ldrsh r0, [r4, r1] + ldr r2, _080593C4 @ =gRoomControls + ldrh r1, [r2, #6] + subs r0, r0, r1 + movs r3, #0x3a + ldrsh r1, [r4, r3] + ldrh r2, [r2, #8] + subs r1, r1, r2 + movs r2, #0xff + movs r3, #0xa + bl sub_080806BC + b _080593CA + .align 2, 0 +_080593C4: .4byte gRoomControls +_080593C8: + strb r0, [r4, #0xe] +_080593CA: + pop {r4, pc} + .syntax divided diff --git a/asm/non_matching/managerF/sub_080593CC.inc b/asm/non_matching/managerF/sub_080593CC.inc new file mode 100644 index 00000000..f8da8864 --- /dev/null +++ b/asm/non_matching/managerF/sub_080593CC.inc @@ -0,0 +1,45 @@ + .syntax unified + push {r4, lr} + adds r3, r0, #0 + ldr r2, _08059418 @ =gPlayerState + ldr r0, [r2, #0x30] + movs r1, #0x80 + ands r0, r1 + cmp r0, #0 + bne _08059420 + adds r0, r2, #0 + adds r0, #0x26 + ldrb r0, [r0] + cmp r0, #0 + beq _08059420 + ldr r4, _0805941C @ =gPlayerEntity + ldrb r0, [r4, #0x14] + cmp r0, #0 + bne _08059420 + adds r0, r2, #0 + adds r0, #0x90 + ldrh r1, [r0] + movs r0, #0xf0 + lsls r0, r0, #4 + ands r0, r1 + movs r1, #0x80 + lsls r1, r1, #3 + cmp r0, r1 + bne _08059420 + movs r0, #0x38 + ldrsh r1, [r3, r0] + movs r0, #0x3a + ldrsh r2, [r3, r0] + adds r2, #0xc + adds r0, r4, #0 + movs r3, #6 + bl sub_0806FCB8 + b _08059422 + .align 2, 0 +_08059418: .4byte gPlayerState +_0805941C: .4byte gPlayerEntity +_08059420: + movs r0, #0 +_08059422: + pop {r4, pc} + .syntax divided diff --git a/asm/non_matching/managerF/sub_08059424.inc b/asm/non_matching/managerF/sub_08059424.inc new file mode 100644 index 00000000..265f6ecb --- /dev/null +++ b/asm/non_matching/managerF/sub_08059424.inc @@ -0,0 +1,42 @@ + .syntax unified + push {r4, lr} + adds r4, r0, #0 + ldrh r0, [r4, #0x3e] + bl CheckFlags + cmp r0, #0 + beq _08059436 + bl DeleteThisEntity +_08059436: + ldrh r0, [r4, #0x3c] + bl CheckFlags + cmp r0, #0 + beq _08059476 + movs r0, #0xf + movs r1, #0x35 + movs r2, #0 + bl CreateObject + adds r2, r0, #0 + cmp r2, #0 + beq _08059476 + adds r1, r2, #0 + adds r1, #0x38 + movs r0, #2 + strb r0, [r1] + ldr r1, _08059478 @ =gRoomControls + ldrh r0, [r1, #6] + ldrh r3, [r4, #0x38] + adds r0, r0, r3 + strh r0, [r2, #0x2e] + ldrh r0, [r1, #8] + ldrh r4, [r4, #0x3a] + adds r0, r0, r4 + strh r0, [r2, #0x32] + movs r0, #0xd8 + lsls r0, r0, #1 + bl EnqueueSFX + bl DeleteThisEntity +_08059476: + pop {r4, pc} + .align 2, 0 +_08059478: .4byte gRoomControls + .syntax divided diff --git a/asm/non_matching/managerF/sub_0805947C.inc b/asm/non_matching/managerF/sub_0805947C.inc new file mode 100644 index 00000000..9c858c5d --- /dev/null +++ b/asm/non_matching/managerF/sub_0805947C.inc @@ -0,0 +1,45 @@ + .syntax unified + push {lr} + ldrh r0, [r0, #0x3e] + bl CheckFlags + cmp r0, #0 + bne _080594CE + movs r0, #3 + bl sub_08078A90 + ldr r1, _080594B0 @ =gRoomControls + ldrh r0, [r1] + cmp r0, #0 + bne _080594D2 + ldr r0, _080594B4 @ =gRoomVars + ldrb r0, [r0] + cmp r0, #0 + beq _080594BC + ldr r0, _080594B8 @ =gUnk_08108380 + ldrb r1, [r1, #0x10] + lsls r1, r1, #2 + adds r1, r1, r0 + ldr r0, [r1] + bl StartPlayerScript + b _080594CE + .align 2, 0 +_080594B0: .4byte gRoomControls +_080594B4: .4byte gRoomVars +_080594B8: .4byte gUnk_08108380 +_080594BC: + ldr r1, _080594D4 @ =gUnk_08108380 + ldr r0, _080594D8 @ =gPlayerEntity + ldrb r0, [r0, #0x14] + lsrs r0, r0, #1 + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r0, [r0] + bl StartPlayerScript +_080594CE: + bl DeleteThisEntity +_080594D2: + pop {pc} + .align 2, 0 +_080594D4: .4byte gUnk_08108380 +_080594D8: .4byte gPlayerEntity +.ifndef EU + .syntax divided diff --git a/asm/non_matching/managerF/sub_080594DC.inc b/asm/non_matching/managerF/sub_080594DC.inc new file mode 100644 index 00000000..da9cffeb --- /dev/null +++ b/asm/non_matching/managerF/sub_080594DC.inc @@ -0,0 +1,52 @@ + .syntax unified + push {r4, lr} + adds r4, r0, #0 + ldrb r0, [r4, #0xc] + cmp r0, #1 + beq _080594F2 + cmp r0, #1 + bgt _0805951C + cmp r0, #0 + bne _0805951C + movs r0, #1 + strb r0, [r4, #0xc] +_080594F2: + movs r0, #6 + bl GetInventoryValue + cmp r0, #0 + beq _08059540 + movs r0, #0x8c + lsls r0, r0, #4 + movs r1, #0x85 + bl CheckLocalFlagByOffset + cmp r0, #0 + bne _08059540 + movs r0, #2 + strb r0, [r4, #0xc] + ldr r0, _08059518 @ =0x00000B0F + bl sub_080186C0 + b _08059540 + .align 2, 0 +_08059518: .4byte 0x00000B0F +_0805951C: + ldr r0, _08059544 @ =gArea + adds r0, #0x28 + ldrb r0, [r0] + cmp r0, #0xff + beq _0805952A + bl DeleteThisEntity +_0805952A: + movs r0, #0x8c + lsls r0, r0, #4 + movs r1, #0x85 + bl CheckLocalFlagByOffset + cmp r0, #0 + beq _08059540 + bl sub_0801855C + bl DeleteThisEntity +_08059540: + pop {r4, pc} + .align 2, 0 +_08059544: .4byte gArea +.endif + .syntax divided diff --git a/asm/non_matching/managerF/sub_08059548.inc b/asm/non_matching/managerF/sub_08059548.inc new file mode 100644 index 00000000..a324756b --- /dev/null +++ b/asm/non_matching/managerF/sub_08059548.inc @@ -0,0 +1,43 @@ + .syntax unified +.ifdef USA + push {lr} + movs r1, #6 + bl sub_0805E3A0 + ldr r0, _08059568 @ =gPlayerEntity + ldrb r0, [r0, #0xc] + cmp r0, #0x16 + bne _0805955C + bl DeleteThisEntity +_0805955C: + ldr r2, _0805956C @ =gInput + ldrh r1, [r2] + movs r0, #4 + orrs r0, r1 + strh r0, [r2] + pop {pc} + .align 2, 0 +_08059568: .4byte gPlayerEntity +_0805956C: .4byte gInput +.else +.ifdef DEMO @ TODO deduplicate + push {lr} + movs r1, #6 + bl sub_0805E3A0 + ldr r0, _08059568 @ =gPlayerEntity + ldrb r0, [r0, #0xc] + cmp r0, #0x16 + bne _0805955C + bl DeleteThisEntity +_0805955C: + ldr r2, _0805956C @ =gInput + ldrh r1, [r2] + movs r0, #4 + orrs r0, r1 + strh r0, [r2] + pop {pc} + .align 2, 0 +_08059568: .4byte gPlayerEntity +_0805956C: .4byte gInput +.endif +.endif + .syntax divided diff --git a/include/manager.h b/include/manager.h index 4c60431c..ecb6bcb4 100644 --- a/include/manager.h +++ b/include/manager.h @@ -154,47 +154,47 @@ extern void ManagerB_Main(); extern void ManagerC_Main(); extern void ManagerD_Main(); extern void ManagerE_Main(); -extern void ManagerF_Main(Entity*); -extern void Manager10_Main(Entity*); +extern void ManagerF_Main(); +extern void Manager10_Main(); extern void Manager11_Main(Manager11*); -extern void Manager12_Main(Entity*); -extern void Manager13_Main(Entity*); -extern void Manager14_Main(Entity*); +extern void Manager12_Main(); +extern void Manager13_Main(); +extern void Manager14_Main(); extern void Manager15_Main(); -extern void Manager16_Main(Entity*); +extern void Manager16_Main(); extern void Manager17_Main(); extern void Manager18_Main(); -extern void Manager19_Main(Entity*); +extern void Manager19_Main(); extern void Manager1A_Main(); -extern void Manager1B_Main(Entity*); +extern void Manager1B_Main(); extern void Manager1C_Main(Manager*); -extern void Manager1D_Main(Entity*); +extern void Manager1D_Main(); extern void Manager1E_Main(); -extern void Manager1F_Main(Entity*); +extern void Manager1F_Main(); extern void Manager20_Main(); -extern void Manager21_Main(Entity*); -extern void Manager22_Main(Entity*); -extern void Manager23_Main(Entity*); +extern void Manager21_Main(); +extern void Manager22_Main(); +extern void Manager23_Main(); extern void Manager24_Main(); extern void Manager25_Main(); extern void Manager26_Main(); extern void Manager27_Main(); extern void Manager28_Main(); -extern void Manager29_Main(Entity*); +extern void Manager29_Main(); extern void Manager2A_Main(Manager*); -extern void Manager2B_Main(Entity*); +extern void Manager2B_Main(); extern void Manager2C_Main(); extern void Manager2D_Main(Entity*); extern void Manager2E_Main(); extern void Manager2F_Main(); extern void Manager30_Main(); -extern void Manager31_Main(Entity*); -extern void Manager32_Main(Entity*); -extern void Manager33_Main(Entity*); -extern void Manager34_Main(Entity*); -extern void Manager35_Main(Entity*); +extern void Manager31_Main(); +extern void Manager32_Main(); +extern void Manager33_Main(); +extern void Manager34_Main(); +extern void Manager35_Main(); extern void Manager36_Main(Manager*); -extern void Manager37_Main(Entity*); +extern void Manager37_Main(); extern void Manager38_Main(Entity*); extern void Manager39_Main(); diff --git a/linker.ld b/linker.ld index 281032f7..13d8713f 100644 --- a/linker.ld +++ b/linker.ld @@ -500,9 +500,7 @@ SECTIONS { 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); @@ -515,48 +513,47 @@ SECTIONS { src/manager/managerC.o(.text); src/manager/managerD.o(.text); src/manager/managerE.o(.text); - asm/managerF.o(.text); - asm/manager10.o(.text); + src/manager/managerF.o(.text); + src/manager/manager10.o(.text); src/manager/manager11.o(.text); - asm/manager12.o(.text); - asm/manager13.o(.text); - asm/manager14.o(.text); + src/manager/manager12.o(.text); + src/manager/manager13.o(.text); + src/manager/manager14.o(.text); src/manager/manager15.o(.text); - asm/manager16.o(.text); + src/manager/manager16.o(.text); src/manager/manager17.o(.text); - asm/manager18.o(.text); - asm/manager19.o(.text); + src/manager/manager18.o(.text); + src/manager/manager19.o(.text); src/manager/manager1A.o(.text); - asm/manager1B.o(.text); + src/manager/manager1B.o(.text); src/manager/manager1C.o(.text); - asm/manager1D.o(.text); + src/manager/manager1D.o(.text); src/manager/manager1E.o(.text); - asm/manager1F.o(.text); + src/manager/manager1F.o(.text); src/manager/manager20.o(.text); - asm/manager21.o(.text); - asm/manager22.o(.text); - asm/manager23.o(.text); + src/manager/manager21.o(.text); + src/manager/manager22.o(.text); + src/manager/manager23.o(.text); src/manager/manager24.o(.text); src/manager/manager25.o(.text); src/manager/manager26.o(.text); src/manager/manager27.o(.text); src/manager/manager28.o(.text); - asm/manager29.o(.text); + src/manager/manager29.o(.text); src/manager/manager2A.o(.text); - asm/manager2B.o(.text); + src/manager/manager2B.o(.text); src/manager/manager2C.o(.text); src/manager/manager2D.o(.text); src/manager/manager2E.o(.text); - asm/manager2E.o(.text); - asm/manager2F.o(.text); + src/manager/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); + src/manager/manager31.o(.text); + src/manager/manager32.o(.text); + src/manager/manager33.o(.text); + src/manager/manager34.o(.text); + src/manager/manager35.o(.text); src/manager/manager36.o(.text); - asm/manager37.o(.text); + src/manager/manager37.o(.text); src/manager/manager38.o(.text); src/manager/manager39.o(.text); asm/sub_0805E248.o(.text); diff --git a/src/manager/manager1.c b/src/manager/manager1.c index 1b7212d6..c0390149 100644 --- a/src/manager/manager1.c +++ b/src/manager/manager1.c @@ -56,3 +56,17 @@ void sub_08057118(Entity* this) { gScreen.controls.alphaBlend = 0x1000; sub_08052D74(this, sub_080570B8, sub_080570F8); } + +ASM_FUNC("asm/non_matching/manager1/sub_08057174.inc", void sub_08057174()) + +ASM_FUNC("asm/non_matching/manager1/sub_0805728C.inc", void sub_0805728C()) + +ASM_FUNC("asm/non_matching/manager1/sub_080572D4.inc", void sub_080572D4()) + +ASM_FUNC("asm/non_matching/manager1/sub_0805732C.inc", void sub_0805732C()) + +ASM_FUNC("asm/non_matching/manager1/nullsub_494.inc", void nullsub_494()) + +ASM_FUNC("asm/non_matching/manager1/sub_080573AC.inc", void sub_080573AC()) + +ASM_FUNC("asm/non_matching/manager1/sub_08057450.inc", void sub_08057450()) \ No newline at end of file diff --git a/src/manager/manager10.c b/src/manager/manager10.c new file mode 100644 index 00000000..e7c0b944 --- /dev/null +++ b/src/manager/manager10.c @@ -0,0 +1,23 @@ +#include "manager.h" + +ASM_FUNC("asm/non_matching/manager10/Manager10_Main.inc", void Manager10_Main()) + +ASM_FUNC("asm/non_matching/manager10/sub_080595E4.inc", void sub_080595E4()) + +ASM_FUNC("asm/non_matching/manager10/sub_08059608.inc", void sub_08059608()) + +ASM_FUNC("asm/non_matching/manager10/sub_08059690.inc", void sub_08059690()) + +ASM_FUNC("asm/non_matching/manager10/sub_080596E0.inc", void sub_080596E0()) + +ASM_FUNC("asm/non_matching/manager10/sub_08059844.inc", void sub_08059844()) + +ASM_FUNC("asm/non_matching/manager10/sub_0805986C.inc", void sub_0805986C()) + +ASM_FUNC("asm/non_matching/manager10/sub_08059894.inc", void sub_08059894()) + +ASM_FUNC("asm/non_matching/manager10/sub_080598F8.inc", void sub_080598F8()) + +ASM_FUNC("asm/non_matching/manager10/sub_08059960.inc", void sub_08059960()) + +ASM_FUNC("asm/non_matching/manager10/sub_08059994.inc", void sub_08059994()) \ No newline at end of file diff --git a/src/manager/manager12.c b/src/manager/manager12.c new file mode 100644 index 00000000..d69c5d19 --- /dev/null +++ b/src/manager/manager12.c @@ -0,0 +1,15 @@ +#include "manager.h" + +ASM_FUNC("asm/non_matching/manager12/Manager12_Main.inc", void Manager12_Main()) + +ASM_FUNC("asm/non_matching/manager12/sub_08059A2C.inc", void sub_08059A2C()) + +ASM_FUNC("asm/non_matching/manager12/sub_08059A58.inc", void sub_08059A58()) + +ASM_FUNC("asm/non_matching/manager12/sub_08059B18.inc", void sub_08059B18()) + +ASM_FUNC("asm/non_matching/manager12/sub_08059C8C.inc", void sub_08059C8C()) + +ASM_FUNC("asm/non_matching/manager12/sub_08059CC0.inc", void sub_08059CC0()) + +ASM_FUNC("asm/non_matching/manager12/TryLoadPrologueHyruleTown.inc", void TryLoadPrologueHyruleTown()) \ No newline at end of file diff --git a/src/manager/manager13.c b/src/manager/manager13.c new file mode 100644 index 00000000..cd151e5a --- /dev/null +++ b/src/manager/manager13.c @@ -0,0 +1,3 @@ +#include "manager.h" + +ASM_FUNC("asm/non_matching/manager13/Manager13_Main.inc", void Manager13_Main()) \ No newline at end of file diff --git a/src/manager/manager14.c b/src/manager/manager14.c new file mode 100644 index 00000000..eb3d820c --- /dev/null +++ b/src/manager/manager14.c @@ -0,0 +1,25 @@ +#include "manager.h" + +ASM_FUNC("asm/non_matching/manager14/Manager14_Main.inc", void Manager14_Main()) + +ASM_FUNC("asm/non_matching/manager14/sub_08059E80.inc", void sub_08059E80()) + +ASM_FUNC("asm/non_matching/manager14/sub_08059EF8.inc", void sub_08059EF8()) + +ASM_FUNC("asm/non_matching/manager14/sub_08059F9C.inc", void sub_08059F9C()) + +ASM_FUNC("asm/non_matching/manager14/sub_0805A040.inc", void sub_0805A040()) + +ASM_FUNC("asm/non_matching/manager14/sub_0805A048.inc", void sub_0805A048()) + +ASM_FUNC("asm/non_matching/manager14/sub_0805A098.inc", void sub_0805A098()) + +ASM_FUNC("asm/non_matching/manager14/sub_0805A0C0.inc", void sub_0805A0C0()) + +ASM_FUNC("asm/non_matching/manager14/sub_0805A114.inc", void sub_0805A114()) + +ASM_FUNC("asm/non_matching/manager14/sub_0805A1D8.inc", void sub_0805A1D8()) + +ASM_FUNC("asm/non_matching/manager14/nullsub_495.inc", void nullsub_495()) + +ASM_FUNC("asm/non_matching/manager14/sub_0805A25C.inc", void sub_0805A25C()) \ No newline at end of file diff --git a/src/manager/manager16.c b/src/manager/manager16.c new file mode 100644 index 00000000..1436b67b --- /dev/null +++ b/src/manager/manager16.c @@ -0,0 +1,6 @@ + +#include "manager.h" + +ASM_FUNC("asm/non_matching/manager16/Manager16_Main.inc", void Manager16_Main()) + +ASM_FUNC("asm/non_matching/manager16/sub_0805ACC0.inc", void sub_0805ACC0()) \ No newline at end of file diff --git a/src/manager/manager18.c b/src/manager/manager18.c new file mode 100644 index 00000000..4dd08c6d --- /dev/null +++ b/src/manager/manager18.c @@ -0,0 +1,7 @@ +#include "manager.h" + +ASM_FUNC("asm/non_matching/manager18/Manager18_Main.inc", void Manager18_Main()) + +ASM_FUNC("asm/non_matching/manager18/sub_0805AEDC.inc", void sub_0805AEDC()) + +ASM_FUNC("asm/non_matching/manager18/sub_0805AF3C.inc", void sub_0805AF3C()) \ No newline at end of file diff --git a/src/manager/manager19.c b/src/manager/manager19.c new file mode 100644 index 00000000..900f8c02 --- /dev/null +++ b/src/manager/manager19.c @@ -0,0 +1,5 @@ +#include "manager.h" + +ASM_FUNC("asm/non_matching/manager19/Manager19_Main.inc", void Manager19_Main()) + +ASM_FUNC("asm/non_matching/manager19/sub_0805AFFC.inc", void sub_0805AFFC()) \ No newline at end of file diff --git a/src/manager/manager1B.c b/src/manager/manager1B.c new file mode 100644 index 00000000..79cb5f45 --- /dev/null +++ b/src/manager/manager1B.c @@ -0,0 +1,12 @@ + +#include "manager.h" + +ASM_FUNC("asm/non_matching/manager1B/Manager1B_Main.inc", void Manager1B_Main()) + +ASM_FUNC("asm/non_matching/manager1B/sub_0805B448.inc", void sub_0805B448()) + +ASM_FUNC("asm/non_matching/manager1B/sub_0805B474.inc", void sub_0805B474()) + +ASM_FUNC("asm/non_matching/manager1B/sub_0805B4B4.inc", void sub_0805B4B4()) + +ASM_FUNC("asm/non_matching/manager1B/sub_0805B4D0.inc", void sub_0805B4D0()) \ No newline at end of file diff --git a/src/manager/manager1D.c b/src/manager/manager1D.c new file mode 100644 index 00000000..4c192909 --- /dev/null +++ b/src/manager/manager1D.c @@ -0,0 +1,7 @@ +#include "manager.h" + +ASM_FUNC("asm/non_matching/manager1D/Manager1D_Main.inc", void Manager1D_Main()) + +ASM_FUNC("asm/non_matching/manager1D/sub_0805B5E0.inc", void sub_0805B5E0()) + +ASM_FUNC("asm/non_matching/manager1D/sub_0805B638.inc", void sub_0805B638()) \ No newline at end of file diff --git a/src/manager/manager1F.c b/src/manager/manager1F.c new file mode 100644 index 00000000..0d993055 --- /dev/null +++ b/src/manager/manager1F.c @@ -0,0 +1,9 @@ +#include "manager.h" + +ASM_FUNC("asm/non_matching/manager1F/Manager1F_Main.inc", void Manager1F_Main()) + +ASM_FUNC("asm/non_matching/manager1F/sub_0805B70C.inc", void sub_0805B70C()) + +ASM_FUNC("asm/non_matching/manager1F/sub_0805B744.inc", void sub_0805B744()) + +ASM_FUNC("asm/non_matching/manager1F/sub_0805B778.inc", void sub_0805B778()) \ No newline at end of file diff --git a/src/manager/manager2.c b/src/manager/manager2.c index ad1b4bc5..f634c42d 100644 --- a/src/manager/manager2.c +++ b/src/manager/manager2.c @@ -15,3 +15,11 @@ void Manager2_Main(Entity* this) { } sub_0805754C(this); } + +ASM_FUNC("asm/non_matching/manager2/sub_0805754C.inc", void sub_0805754C(Entity* this)) + +ASM_FUNC("asm/non_matching/manager2/sub_080575C8.inc", void sub_080575C8(u32 param)) + +ASM_FUNC("asm/non_matching/manager2/sub_08057688.inc", void sub_08057688()) + +ASM_FUNC("asm/non_matching/manager2/sub_080576A0.inc", void sub_080576A0()) \ No newline at end of file diff --git a/src/manager/manager21.c b/src/manager/manager21.c new file mode 100644 index 00000000..32c217d4 --- /dev/null +++ b/src/manager/manager21.c @@ -0,0 +1,6 @@ + +#include "manager.h" + +ASM_FUNC("asm/non_matching/manager21/Manager21_Main.inc", void Manager21_Main()) + +ASM_FUNC("asm/non_matching/manager21/sub_0805B8CC.inc", void sub_0805B8CC()) diff --git a/src/manager/manager22.c b/src/manager/manager22.c new file mode 100644 index 00000000..b5524f42 --- /dev/null +++ b/src/manager/manager22.c @@ -0,0 +1,18 @@ + +#include "manager.h" + +ASM_FUNC("asm/non_matching/manager22/Manager22_Main.inc", void Manager22_Main()) + +ASM_FUNC("asm/non_matching/manager22/sub_0805BA78.inc", void sub_0805BA78()) + +ASM_FUNC("asm/non_matching/manager22/sub_0805BAD4.inc", void sub_0805BAD4()) + +ASM_FUNC("asm/non_matching/manager22/sub_0805BB00.inc", void sub_0805BB00()) + +ASM_FUNC("asm/non_matching/manager22/sub_0805BB74.inc", void sub_0805BB74()) + +ASM_FUNC("asm/non_matching/manager22/sub_0805BBBC.inc", void sub_0805BBBC()) + +ASM_FUNC("asm/non_matching/manager22/sub_0805BC04.inc", void sub_0805BC04()) + +ASM_FUNC("asm/non_matching/manager22/sub_0805BC4C.inc", void sub_0805BC4C()) \ No newline at end of file diff --git a/src/manager/manager23.c b/src/manager/manager23.c new file mode 100644 index 00000000..8fcba071 --- /dev/null +++ b/src/manager/manager23.c @@ -0,0 +1,18 @@ + +#include "manager.h" + +ASM_FUNC("asm/non_matching/manager23/Manager23_Main.inc", void Manager23_Main()) + +ASM_FUNC("asm/non_matching/manager23/sub_0805BC8C.inc", void sub_0805BC8C()) + +ASM_FUNC("asm/non_matching/manager23/sub_0805BCD4.inc", void sub_0805BCD4()) + +ASM_FUNC("asm/non_matching/manager23/sub_0805BD5C.inc", void sub_0805BD5C()) + +ASM_FUNC("asm/non_matching/manager23/sub_0805BDB4.inc", void sub_0805BDB4()) + +ASM_FUNC("asm/non_matching/manager23/sub_0805BE70.inc", void sub_0805BE70()) + +ASM_FUNC("asm/non_matching/manager23/sub_0805BE94.inc", void sub_0805BE94()) + +ASM_FUNC("asm/non_matching/manager23/sub_0805BEC4.inc", void sub_0805BEC4()) diff --git a/src/manager/manager29.c b/src/manager/manager29.c new file mode 100644 index 00000000..148619e0 --- /dev/null +++ b/src/manager/manager29.c @@ -0,0 +1,10 @@ + +#include "manager.h" + +ASM_FUNC("asm/non_matching/manager29/Manager29_Main.inc", void Manager29_Main()) + +ASM_FUNC("asm/non_matching/manager29/sub_0805CBD0.inc", void sub_0805CBD0()) + +ASM_FUNC("asm/non_matching/manager29/sub_0805CC3C.inc", void sub_0805CC3C()) + +ASM_FUNC("asm/non_matching/manager29/sub_0805CF80.inc", void sub_0805CF80()) diff --git a/src/manager/manager2B.c b/src/manager/manager2B.c new file mode 100644 index 00000000..c0b849cc --- /dev/null +++ b/src/manager/manager2B.c @@ -0,0 +1,11 @@ +#include "manager.h" + +ASM_FUNC("asm/non_matching/manager2B/Manager2B_Main.inc", void Manager2B_Main()) + +ASM_FUNC("asm/non_matching/manager2B/sub_0805D02C.inc", void sub_0805D02C()) + +ASM_FUNC("asm/non_matching/manager2B/sub_0805D0C4.inc", void sub_0805D0C4()) + +ASM_FUNC("asm/non_matching/manager2B/sub_0805D0FC.inc", void sub_0805D0FC()) + +ASM_FUNC("asm/non_matching/manager2B/sub_0805D11C.inc", void sub_0805D11C()) diff --git a/src/manager/manager2E.c b/src/manager/manager2E.c index e6ad1606..52311a04 100644 --- a/src/manager/manager2E.c +++ b/src/manager/manager2E.c @@ -11,3 +11,17 @@ void Manager2E_Main(Entity* this) { void sub_0805D268(Entity* this) { gUnk_08108D44[this->action](this); } + +ASM_FUNC("asm/non_matching/manager2E/sub_0805D280.inc", void sub_0805D280()) + +ASM_FUNC("asm/non_matching/manager2E/sub_0805D2C0.inc", void sub_0805D2C0()) + +ASM_FUNC("asm/non_matching/manager2E/sub_0805D2F4.inc", void sub_0805D2F4()) + +ASM_FUNC("asm/non_matching/manager2E/sub_0805D32C.inc", void sub_0805D32C()) + +ASM_FUNC("asm/non_matching/manager2E/sub_0805D344.inc", void sub_0805D344()) + +ASM_FUNC("asm/non_matching/manager2E/sub_0805D36C.inc", void sub_0805D36C()) + +ASM_FUNC("asm/non_matching/manager2E/sub_0805D384.inc", void sub_0805D384()) \ No newline at end of file diff --git a/src/manager/manager2F.c b/src/manager/manager2F.c new file mode 100644 index 00000000..4d61dc37 --- /dev/null +++ b/src/manager/manager2F.c @@ -0,0 +1,6 @@ + +#include "manager.h" + +ASM_FUNC("asm/non_matching/manager2F/Manager2F_Main.inc", void Manager2F_Main()) + +ASM_FUNC("asm/non_matching/manager2F/sub_0805D470.inc", void sub_0805D470()) \ No newline at end of file diff --git a/src/manager/manager31.c b/src/manager/manager31.c new file mode 100644 index 00000000..2186974b --- /dev/null +++ b/src/manager/manager31.c @@ -0,0 +1,4 @@ + +#include "manager.h" + +ASM_FUNC("asm/non_matching/manager31/Manager31_Main.inc", void Manager31_Main()) \ No newline at end of file diff --git a/src/manager/manager32.c b/src/manager/manager32.c new file mode 100644 index 00000000..ef35a608 --- /dev/null +++ b/src/manager/manager32.c @@ -0,0 +1,17 @@ +#include "manager.h" + +ASM_FUNC("asm/non_matching/manager32/Manager32_Main.inc", void Manager32_Main()) + +ASM_FUNC("asm/non_matching/manager32/sub_0805D7DC.inc", void sub_0805D7DC()) + +ASM_FUNC("asm/non_matching/manager32/sub_0805D860.inc", void sub_0805D860()) + +ASM_FUNC("asm/non_matching/manager32/sub_0805D900.inc", void sub_0805D900()) + +ASM_FUNC("asm/non_matching/manager32/sub_0805D98C.inc", void sub_0805D98C()) + +ASM_FUNC("asm/non_matching/manager32/sub_0805D9D8.inc", void sub_0805D9D8()) + +ASM_FUNC("asm/non_matching/manager32/sub_0805DA08.inc", void sub_0805DA08()) + +ASM_FUNC("asm/non_matching/manager32/sub_0805DA90.inc", void sub_0805DA90()) \ No newline at end of file diff --git a/src/manager/manager33.c b/src/manager/manager33.c new file mode 100644 index 00000000..eb88a953 --- /dev/null +++ b/src/manager/manager33.c @@ -0,0 +1,3 @@ +#include "manager.h" + +ASM_FUNC("asm/non_matching/manager33/Manager33_Main.inc", void Manager33_Main()) \ No newline at end of file diff --git a/src/manager/manager34.c b/src/manager/manager34.c new file mode 100644 index 00000000..d3b4c51c --- /dev/null +++ b/src/manager/manager34.c @@ -0,0 +1,13 @@ +#include "manager.h" + +ASM_FUNC("asm/non_matching/manager34/Manager34_Main.inc", void Manager34_Main()) + +ASM_FUNC("asm/non_matching/manager34/sub_0805DBB4.inc", void sub_0805DBB4()) + +ASM_FUNC("asm/non_matching/manager34/sub_0805DBCC.inc", void sub_0805DBCC()) + +ASM_FUNC("asm/non_matching/manager34/nullsub_498.inc", void nullsub_498()) + +ASM_FUNC("asm/non_matching/manager34/sub_0805DBF0.inc", void sub_0805DBF0()) + +ASM_FUNC("asm/non_matching/manager34/sub_0805DC70.inc", void sub_0805DC70()) \ No newline at end of file diff --git a/src/manager/manager35.c b/src/manager/manager35.c new file mode 100644 index 00000000..498af777 --- /dev/null +++ b/src/manager/manager35.c @@ -0,0 +1,11 @@ +#include "manager.h" + +ASM_FUNC("asm/non_matching/manager35/Manager35_Main.inc", void Manager35_Main()) + +ASM_FUNC("asm/non_matching/manager35/sub_0805DC9C.inc", void sub_0805DC9C()) + +ASM_FUNC("asm/non_matching/manager35/sub_0805DCC8.inc", void sub_0805DCC8()) + +ASM_FUNC("asm/non_matching/manager35/sub_0805DD24.inc", void sub_0805DD24()) + +ASM_FUNC("asm/non_matching/manager35/sub_0805DD68.inc", void sub_0805DD68()) \ No newline at end of file diff --git a/src/manager/manager37.c b/src/manager/manager37.c new file mode 100644 index 00000000..635bd5a5 --- /dev/null +++ b/src/manager/manager37.c @@ -0,0 +1,23 @@ +#include "manager.h" + +ASM_FUNC("asm/non_matching/manager37/Manager37_Main.inc", void Manager37_Main()) + +ASM_FUNC("asm/non_matching/manager37/sub_0805DE50.inc", void sub_0805DE50()) + +ASM_FUNC("asm/non_matching/manager37/sub_0805DE68.inc", void sub_0805DE68()) + +ASM_FUNC("asm/non_matching/manager37/sub_0805DEB8.inc", void sub_0805DEB8()) + +ASM_FUNC("asm/non_matching/manager37/sub_0805DF4C.inc", void sub_0805DF4C()) + +ASM_FUNC("asm/non_matching/manager37/sub_0805DF98.inc", void sub_0805DF98()) + +ASM_FUNC("asm/non_matching/manager37/sub_0805DFCC.inc", void sub_0805DFCC()) + +ASM_FUNC("asm/non_matching/manager37/sub_0805DFE8.inc", void sub_0805DFE8()) + +ASM_FUNC("asm/non_matching/manager37/sub_0805E000.inc", void sub_0805E000()) + +ASM_FUNC("asm/non_matching/manager37/sub_0805E078.inc", void sub_0805E078()) + +ASM_FUNC("asm/non_matching/manager37/sub_0805E094.inc", void sub_0805E094()) \ No newline at end of file diff --git a/src/manager/managerF.c b/src/manager/managerF.c new file mode 100644 index 00000000..65fa7757 --- /dev/null +++ b/src/manager/managerF.c @@ -0,0 +1,49 @@ +#include "manager.h" + +ASM_FUNC("asm/non_matching/managerF/ManagerF_Main.inc", void ManagerF_Main()) + +ASM_FUNC("asm/non_matching/managerF/sub_08058EE4.inc", void sub_08058EE4()) + +ASM_FUNC("asm/non_matching/managerF/sub_08058F44.inc", void sub_08058F44()) + +ASM_FUNC("asm/non_matching/managerF/sub_08058F84.inc", void sub_08058F84()) + +ASM_FUNC("asm/non_matching/managerF/sub_08058FB0.inc", void sub_08058FB0()) + +ASM_FUNC("asm/non_matching/managerF/sub_08059064.inc", void sub_08059064()) + +ASM_FUNC("asm/non_matching/managerF/sub_08059094.inc", void sub_08059094()) + +ASM_FUNC("asm/non_matching/managerF/sub_080590E0.inc", void sub_080590E0()) + +ASM_FUNC("asm/non_matching/managerF/sub_08059124.inc", void sub_08059124()) + +ASM_FUNC("asm/non_matching/managerF/sub_080591CC.inc", void sub_080591CC()) + +ASM_FUNC("asm/non_matching/managerF/sub_08059220.inc", void sub_08059220()) + +ASM_FUNC("asm/non_matching/managerF/sub_08059278.inc", void sub_08059278()) + +ASM_FUNC("asm/non_matching/managerF/sub_08059290.inc", void sub_08059290()) + +ASM_FUNC("asm/non_matching/managerF/sub_080592A4.inc", void sub_080592A4()) + +ASM_FUNC("asm/non_matching/managerF/sub_080592EC.inc", void sub_080592EC()) + +ASM_FUNC("asm/non_matching/managerF/sub_0805930C.inc", void sub_0805930C()) + +ASM_FUNC("asm/non_matching/managerF/SetDirtTile.inc", void SetDirtTile()) + +ASM_FUNC("asm/non_matching/managerF/sub_08059368.inc", void sub_08059368()) + +ASM_FUNC("asm/non_matching/managerF/sub_0805938C.inc", void sub_0805938C()) + +ASM_FUNC("asm/non_matching/managerF/sub_080593CC.inc", void sub_080593CC()) + +ASM_FUNC("asm/non_matching/managerF/sub_08059424.inc", void sub_08059424()) + +ASM_FUNC("asm/non_matching/managerF/sub_0805947C.inc", void sub_0805947C()) + +ASM_FUNC("asm/non_matching/managerF/sub_080594DC.inc", void sub_080594DC()) + +ASM_FUNC("asm/non_matching/managerF/sub_08059548.inc", void sub_08059548()) \ No newline at end of file